Also covers #2575 and #11514
}
/* Decode all data */
- if( p_sys->i_buffer )
+ if( p_sys->i_buffer > 1)
{
void *samples;
faacDecFrameInfo frame;
/* Flush the buffer */
p_sys->i_buffer -= frame.bytesconsumed;
- if( p_sys->i_buffer > 0 )
+ if( p_sys->i_buffer > 1 )
{
memmove( p_sys->p_buffer,&p_sys->p_buffer[frame.bytesconsumed],
p_sys->i_buffer );
}
+ else
+ {
+ /* Drop byte of padding */
+ p_sys->i_buffer = 0;
+ }
block_Release( p_block );
return NULL;
}
return p_out;
}
+ else
+ {
+ /* Drop byte of padding */
+ p_sys->i_buffer = 0;
+ }
block_Release( p_block );
return NULL;