On Tue, Jun 7, 2011 at 6:56 PM, Justin Ruggles <[email protected]> wrote: > On 06/07/2011 06:04 PM, Alex Converse wrote: > >> The 'wfex' is just a Microsoft WaveFormatEx struct. >> --- >> libavformat/mov.c | 14 ++++++++++++++ >> 1 files changed, 14 insertions(+), 0 deletions(-) >> >> diff --git a/libavformat/mov.c b/libavformat/mov.c >> index 3aec86c..0630b6e 100644 >> --- a/libavformat/mov.c >> +++ b/libavformat/mov.c >> @@ -507,6 +507,19 @@ static int mov_read_dac3(MOVContext *c, AVIOContext >> *pb, MOVAtom atom) >> return 0; >> } >> >> +static int mov_read_wfex(MOVContext *c, AVIOContext *pb, MOVAtom atom) >> +{ >> + AVStream *st; >> + >> + if (c->fc->nb_streams < 1) >> + return 0; >> + st = c->fc->streams[c->fc->nb_streams-1]; >> + >> + ff_get_wav_header(pb, st->codec, atom.size); >> + >> + return 0; >> +} >> + >> static int mov_read_pasp(MOVContext *c, AVIOContext *pb, MOVAtom atom) >> { >> const int num = avio_rb32(pb); >> @@ -2249,6 +2262,7 @@ static const MOVParseTableEntry >> mov_default_parse_table[] = { >> { MKTAG('e','s','d','s'), mov_read_esds }, >> { MKTAG('d','a','c','3'), mov_read_dac3 }, /* AC-3 info */ >> { MKTAG('w','i','d','e'), mov_read_wide }, /* place holder */ >> +{ MKTAG('w','f','e','x'), mov_read_wfex }, >> { MKTAG('c','m','o','v'), mov_read_cmov }, >> { 0, NULL } >> }; > > > Interesting... > > What happens if extradata is already set? ff_get_wav_header() doesn't > seem to handle that cleanly. >
Good catch. Should that be handled by mov_read_wfex() or ff_get_wav_header()? _______________________________________________ libav-devel mailing list [email protected] https://lists.libav.org/mailman/listinfo/libav-devel
