Commit f4cd8b80 authored by Uwe L. Korn's avatar Uwe L. Korn Committed by 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: 's avatarMartin Storsjö <martin@martin.st>
parent bae557ed
......@@ -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");
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment