[FFmpeg-devel] [PATCH] Stream parsing

Benjamin Larsson banan
Sun Oct 3 21:18:19 CEST 2010


On 10/03/2010 08:40 PM, Justin Ruggles wrote:
> Benjamin Larsson wrote:
> 
>> $topic, previously discussed in [RFC] Stream parsing
>>
>> MvH
>> Benjamin Larsson
>>
> 
>> +/**
>> + * Codec should fill in channel configuration and samplerate instead of container
>> + */
>> +#define CODEC_CAP_CHANNEL_CONF     0x0400
> [...]
>> @@ -2191,9 +2192,17 @@
>>              }
>>          }
>>          assert(!st->codec->codec);
>> +        codec = avcodec_find_decoder(st->codec->codec_id);
>> +
>> +        /* Force decoding of at least one frame of codec data
>> +         * this makes sure the codec initializes the channel configuration
>> +         * and does not trust the values from the container.
>> +         */
>> +        if (codec && codec->capabilities & CODEC_CAP_CHANNEL_CONF)
>> +            st->codec->channels = 0;
> 
> Your documentation says channel configuration and samplerate.  Why is
> sample_rate not also set to 0 here?
> 
> -Justin


As long as

        if (!has_codec_parameters(st->codec) ||
!has_decode_delay_been_guessed(st))
            try_decode_frame(st, pkt);

will happen the codec will override whatever is set in the codec
context. Just setting channels to 0 will make sure that happens.

MvH
Benjamin Larsson



More information about the ffmpeg-devel mailing list