Commit 656feb64 authored by Hendrik Leppkes's avatar Hendrik Leppkes

mov: move stsd finalization to an appropriate place

mov_finalize_stsd_codec parses stream information from the ALAC extradata,
so run it after the extradata processing is completed in mov_read_stsd.

Fixes playback of 96kHz ALAC streams muxed by qaac or the reference alac encoder.
Fixes trac ticket #5826
parent 1a9513bf
...@@ -2289,7 +2289,7 @@ int ff_mov_read_stsd_entries(MOVContext *c, AVIOContext *pb, int entries) ...@@ -2289,7 +2289,7 @@ int ff_mov_read_stsd_entries(MOVContext *c, AVIOContext *pb, int entries)
if (pb->eof_reached) if (pb->eof_reached)
return AVERROR_EOF; return AVERROR_EOF;
return mov_finalize_stsd_codec(c, pb, st, sc); return 0;
} }
static int mov_read_stsd(MOVContext *c, AVIOContext *pb, MOVAtom atom) static int mov_read_stsd(MOVContext *c, AVIOContext *pb, MOVAtom atom)
...@@ -2341,7 +2341,7 @@ static int mov_read_stsd(MOVContext *c, AVIOContext *pb, MOVAtom atom) ...@@ -2341,7 +2341,7 @@ static int mov_read_stsd(MOVContext *c, AVIOContext *pb, MOVAtom atom)
memcpy(st->codecpar->extradata, sc->extradata[0], sc->extradata_size[0]); memcpy(st->codecpar->extradata, sc->extradata[0], sc->extradata_size[0]);
} }
return 0; return mov_finalize_stsd_codec(c, pb, st, sc);
fail: fail:
av_freep(&sc->extradata); av_freep(&sc->extradata);
av_freep(&sc->extradata_size); av_freep(&sc->extradata_size);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment