From b83a00b8b6fc489566b888995ffc8cc44a71b2d8 Mon Sep 17 00:00:00 2001
From: Baptiste Coudurier <baptiste.coudurier@gmail.com>
Date: Sat, 30 Aug 2008 03:07:31 +0000
Subject: [PATCH] timestamps in flv are 32bits _signed_ according to flash
 player, specs are wrong

Originally committed as revision 15045 to svn://svn.ffmpeg.org/ffmpeg/trunk
---
 libavformat/flvenc.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/libavformat/flvenc.c b/libavformat/flvenc.c
index 7fecd57ecac..81c43bf4c97 100644
--- a/libavformat/flvenc.c
+++ b/libavformat/flvenc.c
@@ -351,7 +351,7 @@ static int flv_write_packet(AVFormatContext *s, AVPacket *pkt)
     ts = pkt->dts + flv->delay; // add delay to force positive dts
     put_be24(pb,size + flags_size);
     put_be24(pb,ts);
-    put_byte(pb,ts >> 24);
+    put_byte(pb,(ts >> 24) & 0x7F); // timestamps are 32bits _signed_
     put_be24(pb,flv->reserved);
     put_byte(pb,flags);
     if (enc->codec_id == CODEC_ID_VP6)
-- 
GitLab