From: Andreas Cadhalpun <[email protected]>

In this case the mov demuxer can return a large number of empty packets.

Signed-off-by: Andreas Cadhalpun <[email protected]>
---
 libavformat/mov.c | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/libavformat/mov.c b/libavformat/mov.c
index 99f57ec..99a6452 100644
--- a/libavformat/mov.c
+++ b/libavformat/mov.c
@@ -2268,6 +2268,13 @@ static void mov_build_index(MOVContext *mov, AVStream 
*st)
                 AVIndexEntry *e;
                 unsigned size, samples;
 
+                if (sc->samples_per_frame > 1 && !sc->bytes_per_frame) {
+                    avpriv_request_sample(mov->fc,
+                           "Zero bytes per frame, but %d samples per frame",
+                           sc->samples_per_frame);
+                    return;
+                }
+
                 if (sc->samples_per_frame >= 160) { // gsm
                     samples = sc->samples_per_frame;
                     size = sc->bytes_per_frame;
-- 
1.9.5 (Apple Git-50.3)

_______________________________________________
libav-devel mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-devel

Reply via email to