On 12/21/2011 05:33 AM, Tomas Härdin wrote:

> On Tue, 2011-12-20 at 20:42 -0600, Phillip Blucas wrote:
>> This newer format is used by Harris NEXIO playout servers.
>> ---
>>  Changelog            |    1 +
>>  libavformat/lxfdec.c |   55 
>> ++++++++++++++++++++++++++++++++++---------------
>>  2 files changed, 39 insertions(+), 17 deletions(-)
> 
> Audio doesn't seem to work for some v1 files, such as:
> 
> http://titan.codemill.se/~tomhar/samples/lxf/BARS01.lxf
> http://titan.codemill.se/~tomhar/samples/lxf/F0015132.lxf
> 
> I'm not sure if they actually have audio though. Video works fine for
> all samples I have though, and all v0 samples with just as well as
> before.
> 
>> @@ -185,8 +197,14 @@ static int get_packet_header(AVFormatContext *s, 
>> uint8_t *header, uint32_t *form
>>              avpriv_set_pts_info(s->streams[0], 64, 1, 25);
>>          }
>>  
>> -        //TODO: warning if track mask != (1 << channels) - 1?
>> -        ret = av_popcount(AV_RL32(&header[44])) * track_size;
>> +        channels = av_popcount(AV_RL32(&header[44]));
>> +        if (channels != lxf->channels) {
>> +            av_log(s, AV_LOG_DEBUG,
>> +                   "Disk segment indicates %d channels, but audio packet 
>> contains %d.\n",
>> +                   lxf->channels, channels);
>> +            st->codec->channels = channels = lxf->channels;
>> +        }
>> +        ret = channels * track_size;
> 
> I don't think it's OK for a demuxer to change codec->channels after it's
> done parsing the header. Not sure though.
> 
> The rest of the patch looks fine.


Once Martin's parameter change side_data patch gets in, that could be
used to send a channels change to the decoder.

-Justin
_______________________________________________
libav-devel mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-devel

Reply via email to