avformat/flvenc: copyts in FLV muxer
authorIvan <grigoriev.ivan.a@gmail.com>
Mon, 25 Jan 2016 12:43:40 +0000 (14:43 +0200)
committerMichael Niedermayer <michael@niedermayer.cc>
Tue, 26 Jan 2016 19:56:55 +0000 (20:56 +0100)
The purpose of this patch is to preserve timestamps when using ffmpeg for publishing RTMP streams, e.g. ffmpeg -i rtmp://source/stream -f flv rtmp://target/stream.
There is a setting "copyts" for that purpose. Unfortunately it doesn't work with FLV muxer because it has its own timestamp correction which makes global setting "copyts" ineffective.

This patch removes timestamp correction in FLV muxer. This means FLV will rely on ffmpeg timestamp correction which makes it possible to use copyts.

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
libavformat/flvenc.c

index 3925768..8fd5d29 100644 (file)
@@ -562,7 +562,7 @@ static int flv_write_packet(AVFormatContext *s, AVPacket *pkt)
         return AVERROR(EINVAL);
     }
 
-    ts = pkt->dts + flv->delay; // add delay to force positive dts
+    ts = pkt->dts;
 
     if (s->event_flags & AVSTREAM_EVENT_FLAG_METADATA_UPDATED) {
         write_metadata(s, ts);