Module: libav
Branch: release/12
Commit: a3f6f83150544e780ff91a53d5f8e20bcfe619e4

Author:    Sean McGovern <gsean...@gmail.com>
Committer: Sean McGovern <gsean...@gmail.com>
Date:      Sat Jul 29 19:17:16 2017 -0400

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.

Adapted from an FFmpeg patch by Hendrik Leppkes <h.lepp...@gmail.com>

Bug-Id: 1072
(cherry picked from commit defe307fb22beca60a632e976ab97e5edd4aee25)

Signed-off-by: Sean McGovern <gsean...@gmail.com>

---

 libavformat/mov.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/libavformat/mov.c b/libavformat/mov.c
index 60278d1..bcadb94 100644
--- a/libavformat/mov.c
+++ b/libavformat/mov.c
@@ -1884,7 +1884,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)
@@ -1940,7 +1940,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);

_______________________________________________
libav-commits mailing list
libav-commits@libav.org
https://lists.libav.org/mailman/listinfo/libav-commits

Reply via email to