Hello.
I suggest a small patch for FLV demuxer that prevent building index_entries
list if AVIOContext is not seekable. Whithout this check indext_entries
list behave as memory leak on continous stream (for example rtmp live
stream)
From 5ee9ec176f8019e117fcfdd17bcddea8911c7945 Mon Sep 17 00:00:00 2001
From: Igor Derzhavin <igor.derzha...@gmail.com>
Date: Wed, 10 Jun 2015 14:56:02 +0300
Subject: [PATCH] libavformat/flvdec.c: don't build index_entries for input
 stream if AVIOContext is not seekable

Signed-off-by: Igor Derzhavin <igor.derzha...@gmail.com>
---
 libavformat/flvdec.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/libavformat/flvdec.c b/libavformat/flvdec.c
index 940d4dd..aea26c7 100644
--- a/libavformat/flvdec.c
+++ b/libavformat/flvdec.c
@@ -896,8 +896,9 @@ skip:
         }
         av_log(s, AV_LOG_TRACE, "%d %X %d \n", stream_type, flags, st->discard);
 
-        if ((flags & FLV_VIDEO_FRAMETYPE_MASK) == FLV_FRAME_KEY ||
-            stream_type == FLV_STREAM_TYPE_AUDIO)
+        if (s->pb->seekable &&
+            ((flags & FLV_VIDEO_FRAMETYPE_MASK) == FLV_FRAME_KEY ||
+              stream_type == FLV_STREAM_TYPE_AUDIO))
             av_add_index_entry(st, pos, dts, size, 0, AVINDEX_KEYFRAME);
 
         if (  (st->discard >= AVDISCARD_NONKEY && !((flags & FLV_VIDEO_FRAMETYPE_MASK) == FLV_FRAME_KEY || (stream_type == FLV_STREAM_TYPE_AUDIO)))
-- 
1.9.1

_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel

Reply via email to