Skip to content
Snippets Groups Projects
Commit 43c260ba authored by Jean-Marc Valin's avatar Jean-Marc Valin
Browse files

Implementing bit-stream padding

parent 940931e4
No related branches found
No related tags found
No related merge requests found
...@@ -398,6 +398,22 @@ int opus_decode(OpusDecoder *st, const unsigned char *data, ...@@ -398,6 +398,22 @@ int opus_decode(OpusDecoder *st, const unsigned char *data,
if (st->frame_size*count*25 > 3*st->Fs) if (st->frame_size*count*25 > 3*st->Fs)
return OPUS_CORRUPTED_DATA; return OPUS_CORRUPTED_DATA;
len--; len--;
/* Padding bit */
if (ch&0x40)
{
int padding=0;
int p;
do {
if (len<=0)
return OPUS_CORRUPTED_DATA;
p = *data++;
len--;
padding += p==255 ? 254: p;
} while (p==255);
len -= padding;
}
if (len<0)
return OPUS_CORRUPTED_DATA;
/* Bit 7 is VBR flag (bit 6 is ignored) */ /* Bit 7 is VBR flag (bit 6 is ignored) */
if (ch&0x80) if (ch&0x80)
{ {
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment