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.
-Justin
_______________________________________________
libav-devel mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-devel