On Fri, 2011-12-23 at 11:26 -0600, Phillip Blucas wrote:
> On Wed, Dec 21, 2011 at 4:33 AM, Tomas Härdin <[email protected]> 
> 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.
> 
> avconv -i BARS01.lxf -acodec copy out.wav
> 
> Audition and Audacity see 12 channels of tone.  foobar and Winamp
> won't even try to play it.
>  
> I don't see any audio on F0014132.lxf

OK. That sounds fine then.

> Also, the samples I have that disagree on the channel count are
> pcm_lxf.  Yours are pcm_s24le.
> I'm not sure what that means (if anything).

Did you upload them somewhere? If not, then please do.

> >> @@ -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.
> 
> At least in the example command above, this patch produces the same
> output as limiting
> codec->channels to 12 during header parsing.
> 
> I can take another look at this now that side_data is in.

Any news on this?

/Tomas

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

Reply via email to