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

Ramiro Polla ramiro.polla
Sun Jul 19 00:15:45 CEST 2009


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.

Ramiro Polla



More information about the ffmpeg-devel mailing list