diff --git a/libavformat/rtmpproto.c b/libavformat/rtmpproto.c index e404d60ca4..a0ef268428 100644 --- a/libavformat/rtmpproto.c +++ b/libavformat/rtmpproto.c @@ -2095,9 +2095,11 @@ static int handle_notify(URLContext *s, RTMPPacket *pkt) { // generate packet header and put data into buffer for FLV demuxer if (rt->flv_off < rt->flv_size) { + // There is old unread data in the buffer, thus append at the end old_flv_size = rt->flv_size; rt->flv_size += datatowritelength + 15; } else { + // All data has been read, write the new data at the start of the buffer old_flv_size = 0; rt->flv_size = datatowritelength + 15; rt->flv_off = 0;