[FFmpeg-devel] TrueHD track in EVO not playable/testable with ffplay

Justin Ruggles justin.ruggles
Tue Jul 21 00:30:36 CEST 2009


Baptiste Coudurier wrote:
> Hi Ramiro,
> 
> On 7/18/2009 3:15 PM, Ramiro Polla wrote:
>> On Tue, Jul 14, 2009 at 5:26 PM, Michael Niedermayer<michaelni at gmx.at> wrote:
>>> On Tue, Jul 14, 2009 at 02:59:13PM -0300, Ramiro Polla wrote:
>>>> On Mon, Jul 13, 2009 at 6:02 PM, Justin Ruggles<justin.ruggles at gmail.com> wrote:
>>>>> If you decide on using channels + request_channels + output_channels,
>>>>> here is what I think should happen.
>>>>>
>>>>> demuxer/parser : set channels to the number of source channels,
>>>>> completely ignoring request_channels.
>>>>>
>>>>> decoder : during init(), set channels to the number of source channels,
>>>>> set output_channels to what it will output, trying if it can to honor
>>>>> request_channels.
>>>>>
>>>>> The user can see if output_channels matches request_channels after
>>>>> decoder init.
>>>> And what shall the user do if output_channels has no value after decoder init?
>>> he should call av_find_stream_info() either way and that should fill it in,
>>> in theory ...
>> I have a few more ideas:
>> - av_find_stream_info() tests for output_channels if request_channels
>> is set. this would require request_channels to be set before even
>> opening the codec;
>> - av_find_stream_info() fills possible channel combinations in
>> coded_channels[] and the user chooses from that to set
>> request_channels. In this case it would set coded_channels[0] = 2;
>> coded_channels[1] = 6; coded_channels[2] = 0; or something like that.
> 
> I really don't think av_find_stream_info you touch output_channels at
> all, this is a decoding problem not a stream info problem.

+1





More information about the ffmpeg-devel mailing list