From 89564be444d24f75ea5add8b6987e414cf7aa7d5 Mon Sep 17 00:00:00 2001 From: Martin Storsjö Date: Fri, 17 Jan 2014 14:30:57 +0200 Subject: rtmpproto: Send a full, absolute timestamp if it isn't monotonically growing MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The normal differential timestamps can't handle negative differences, thus send a full packet header with an absolute timestamp in these cases. Signed-off-by: Martin Storsjö --- libavformat/rtmppkt.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'libavformat/rtmppkt.c') diff --git a/libavformat/rtmppkt.c b/libavformat/rtmppkt.c index f58f668b53..81621b1a99 100644 --- a/libavformat/rtmppkt.c +++ b/libavformat/rtmppkt.c @@ -313,7 +313,8 @@ int ff_rtmp_packet_write(URLContext *h, RTMPPacket *pkt, //if channel_id = 0, this is first presentation of prev_pkt, send full hdr. if (prev_pkt[pkt->channel_id].channel_id && - pkt->extra == prev_pkt[pkt->channel_id].extra) { + pkt->extra == prev_pkt[pkt->channel_id].extra && + pkt->timestamp >= prev_pkt[pkt->channel_id].timestamp) { if (pkt->type == prev_pkt[pkt->channel_id].type && pkt->size == prev_pkt[pkt->channel_id].size) { mode = RTMP_PS_FOURBYTES; -- cgit v1.2.3