diff options
author | Hendrik Leppkes <h.leppkes@gmail.com> | 2016-10-14 14:48:22 +0300 |
---|---|---|
committer | Hendrik Leppkes <h.leppkes@gmail.com> | 2016-10-17 13:49:36 +0300 |
commit | 656feb641de3cd5b9cb4e33ffd3f0ad4664c36d2 (patch) | |
tree | 6272b0883e5c6b5c50d1b2bf8b78f05d9928c05a /libavformat | |
parent | 1a9513bfbc6026cf578865c014961492ae3fb60b (diff) |
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
Diffstat (limited to 'libavformat')
-rw-r--r-- | libavformat/mov.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/libavformat/mov.c b/libavformat/mov.c index add1812945..cd3e46ad3c 100644 --- a/libavformat/mov.c +++ b/libavformat/mov.c @@ -2289,7 +2289,7 @@ int ff_mov_read_stsd_entries(MOVContext *c, AVIOContext *pb, int entries) if (pb->eof_reached) 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) @@ -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]); } - return 0; + return mov_finalize_stsd_codec(c, pb, st, sc); fail: av_freep(&sc->extradata); av_freep(&sc->extradata_size); |