[vlc-commits] codec: lpcm: fix multi groups reading

Francois Cartegnie git at videolan.org
Thu Mar 12 14:10:57 CET 2015


vlc | branch: master | Francois Cartegnie <fcvlcdev at free.fr> | Thu Mar 12 14:07:49 2015 +0100| [4414a1a3ddf8634d36dd2362d33bc9c6786b759c] | committer: Francois Cartegnie

codec: lpcm: fix multi groups reading

p_out need to increment after all groups.
refs DVD-A_6ChannelID_16bit48000Hz2group6ch.AOB

> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=4414a1a3ddf8634d36dd2362d33bc9c6786b759c
---

 modules/codec/lpcm.c |    6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/modules/codec/lpcm.c b/modules/codec/lpcm.c
index 5f56818..7019538 100644
--- a/modules/codec/lpcm.c
+++ b/modules/codec/lpcm.c
@@ -1137,6 +1137,8 @@ static void AobExtract( block_t *p_aout_buffer,
 
     while( p_block->i_buffer > 0 )
     {
+        unsigned int i_aout_written = 0;
+
         for( int i = 0; i < 2; i++ )
         {
             const aob_group_t *g = &p_group[1-i];
@@ -1151,7 +1153,6 @@ static void AobExtract( block_t *p_aout_buffer,
             if( !g->i_bits )
                 continue;
 
-            unsigned int i_aout_written = 0;
             for( unsigned n = 0; n < 2; n++ )
             {
                 for( unsigned j = 0; j < g->i_channels; j++ )
@@ -1210,11 +1211,10 @@ static void AobExtract( block_t *p_aout_buffer,
             }
 
             /* */
-            p_out += i_aout_written;
             p_block->i_buffer -= i_group_size;
             p_block->p_buffer += i_group_size;
         }
-
+        p_out += i_aout_written;
     }
 }
 static void BdExtract( block_t *p_aout_buffer, block_t *p_block,



More information about the vlc-commits mailing list