]> git.sesse.net Git - vlc/commitdiff
avcodec: ignore audio output buffer padding (fixes #8513)
authorRémi Denis-Courmont <remi@remlab.net>
Sat, 27 Apr 2013 16:39:29 +0000 (19:39 +0300)
committerRémi Denis-Courmont <remi@remlab.net>
Sat, 27 Apr 2013 16:41:48 +0000 (19:41 +0300)
libavcodec may request more buffer space than it really needs for
alignment.

modules/codec/avcodec/audio.c

index bf63157a9d88bd2d99ad074857ad564faaebc285..2dd3a7bb125985bfb1fc2f6aef9bdfc6535c7dad 100644 (file)
@@ -341,9 +341,9 @@ block_t * DecodeAudio ( decoder_t *p_dec, block_t **pp_block )
     block_t *p_buffer = decoder_NewAudioBuffer( p_dec, p_block->i_nb_samples );
     if (!p_buffer)
         return NULL;
-
     assert( p_block->i_nb_samples >= (unsigned)frame.nb_samples );
-    assert( p_buffer->i_buffer >= p_block->i_buffer );
+    assert( p_block->i_nb_samples == p_buffer->i_nb_samples );
+    p_block->i_buffer = p_buffer->i_buffer; /* drop buffer padding */
 
     /* Interleave audio if required */
     if( av_sample_fmt_is_planar( ctx->sample_fmt ) )