[FFmpeg-cvslog] rtmpproto: Track last received timestamp

Uwe L. Korn git at videolan.org
Sat Oct 18 03:11:45 CEST 2014


ffmpeg | branch: master | Uwe L. Korn <uwelk at xhochy.com> | Fri Oct 17 16:30:46 2014 +0200| [f4cd8b80b9cb2a9a4112d8abb1d3b93cd3b4e467] | committer: Martin Storsjö

rtmpproto: Track last received timestamp

Some RTMP commands need the most recent timestamp as their parameter, so
keep track of it. This must be the most recent one and not e.g. the max
received timestamp as it can decrease again through seeking.

Signed-off-by: Martin Storsjö <martin at martin.st>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=f4cd8b80b9cb2a9a4112d8abb1d3b93cd3b4e467
---

 libavformat/rtmpproto.c |    5 +++++
 1 file changed, 5 insertions(+)

diff --git a/libavformat/rtmpproto.c b/libavformat/rtmpproto.c
index 87d79bf..830e4b7 100644
--- a/libavformat/rtmpproto.c
+++ b/libavformat/rtmpproto.c
@@ -96,6 +96,7 @@ typedef struct RTMPContext {
     uint32_t      client_report_size;         ///< number of bytes after which client should report to server
     uint32_t      bytes_read;                 ///< number of bytes read from server
     uint32_t      last_bytes_read;            ///< number of bytes read last reported to server
+    uint32_t      last_timestamp;             ///< last timestamp received in a packet
     int           skip_bytes;                 ///< number of bytes to skip from the input FLV stream in the next write call
     int           has_audio;                  ///< presence of audio data
     int           has_video;                  ///< presence of video data
@@ -2396,6 +2397,10 @@ static int get_packet(URLContext *s, int for_header)
                 return AVERROR(EIO);
             }
         }
+
+        // Track timestamp for later use
+        rt->last_timestamp = rpkt.timestamp;
+
         rt->bytes_read += ret;
         if (rt->bytes_read > rt->last_bytes_read + rt->client_report_size) {
             av_log(s, AV_LOG_DEBUG, "Sending bytes read report\n");



More information about the ffmpeg-cvslog mailing list