From 8921e32f730c191543b84e61338bc9d549aa05a3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martin=20Storsj=C3=B6?= Date: Thu, 3 Oct 2013 13:44:38 +0200 Subject: [PATCH] rtmpproto: Readjust the end of the flv buffer if handle_metadata exited early MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit If the embedded flv packets were incomplete and we aborted the copying loop early, make sure the flv buffer is trimmed to only contain full packets. Signed-off-by: Martin Storsjö --- libavformat/rtmpproto.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/libavformat/rtmpproto.c b/libavformat/rtmpproto.c index bc6cd3f56b..e7e37a3656 100644 --- a/libavformat/rtmpproto.c +++ b/libavformat/rtmpproto.c @@ -2229,6 +2229,11 @@ static int handle_metadata(RTMPContext *rt, RTMPPacket *pkt) next += size + 3 + 4; p += size + 3 + 4; } + if (p != rt->flv_data + rt->flv_size) { + av_log(NULL, AV_LOG_WARNING, "Incomplete flv packets in " + "RTMP_PT_METADATA packet\n"); + rt->flv_size = p - rt->flv_data; + } return 0; }