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