]> git.sesse.net Git - vlc/commitdiff
Copy complete es format descriptor when extra data is added.
authorLaurent Aimar <fenrir@videolan.org>
Sun, 25 Feb 2007 12:34:41 +0000 (12:34 +0000)
committerLaurent Aimar <fenrir@videolan.org>
Sun, 25 Feb 2007 12:34:41 +0000 (12:34 +0000)
src/input/decoder.c

index 21478fff6f9a94d4d1dfca46f9a94df36556ad2f..bc12d852394e9305619d4e224767978693c1146f 100644 (file)
@@ -618,11 +618,8 @@ static int DecoderDecode( decoder_t *p_dec, block_t *p_block )
             {
                 if( p_packetizer->fmt_out.i_extra && !p_dec->fmt_in.i_extra )
                 {
-                    p_dec->fmt_in.i_extra = p_packetizer->fmt_out.i_extra;
-                    p_dec->fmt_in.p_extra = malloc( p_dec->fmt_in.i_extra );
-                    memcpy( p_dec->fmt_in.p_extra,
-                            p_packetizer->fmt_out.p_extra,
-                            p_dec->fmt_in.i_extra );
+                    es_format_Clean( &p_dec->fmt_in );
+                    es_format_Copy( &p_dec->fmt_in, &p_packetizer->fmt_out );
                 }
 
                 while( p_packetized_block )
@@ -699,11 +696,8 @@ static int DecoderDecode( decoder_t *p_dec, block_t *p_block )
             {
                 if( p_packetizer->fmt_out.i_extra && !p_dec->fmt_in.i_extra )
                 {
-                    p_dec->fmt_in.i_extra = p_packetizer->fmt_out.i_extra;
-                    p_dec->fmt_in.p_extra = malloc( p_dec->fmt_in.i_extra );
-                    memcpy( p_dec->fmt_in.p_extra,
-                            p_packetizer->fmt_out.p_extra,
-                            p_dec->fmt_in.i_extra );
+                    es_format_Clean( &p_dec->fmt_in );
+                    es_format_Copy( &p_dec->fmt_in, &p_packetizer->fmt_out );
                 }
 
                 while( p_packetized_block )