From: Gildas Bazin Date: Wed, 1 Jun 2005 10:55:11 +0000 (+0000) Subject: * src/input/decoder.c: check for codec extra data changes when a packetizer is insert... X-Git-Tag: 0.8.4~1596 X-Git-Url: https://git.sesse.net/?a=commitdiff_plain;h=7475bd78c1e8bdc0e0b831697b1075943c7999dc;p=vlc * src/input/decoder.c: check for codec extra data changes when a packetizer is inserted before the decoder. --- diff --git a/src/input/decoder.c b/src/input/decoder.c index 0d944f7833..7effdb1ac1 100644 --- a/src/input/decoder.c +++ b/src/input/decoder.c @@ -668,6 +668,15 @@ static int DecoderDecode( decoder_t *p_dec, block_t *p_block ) while( (p_packetized_block = p_packetizer->pf_packetize( p_packetizer, &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 ); + } + while( p_packetized_block ) { block_t *p_next = p_packetized_block->p_next;