|
|
|
@ -143,7 +143,7 @@ static int rtcp_parse_packet(RTPDemuxContext *s, const unsigned char *buf, |
|
|
|
|
return AVERROR_INVALIDDATA; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
s->last_rtcp_reception_time = av_gettime(); |
|
|
|
|
s->last_rtcp_reception_time = av_gettime_relative(); |
|
|
|
|
s->last_rtcp_ntp_time = AV_RB64(buf + 8); |
|
|
|
|
s->last_rtcp_timestamp = AV_RB32(buf + 16); |
|
|
|
|
if (s->first_rtcp_ntp_time == AV_NOPTS_VALUE) { |
|
|
|
@ -323,7 +323,7 @@ int ff_rtp_check_and_send_back_rr(RTPDemuxContext *s, URLContext *fd, |
|
|
|
|
avio_wb32(pb, 0); /* delay since last SR */ |
|
|
|
|
} else { |
|
|
|
|
uint32_t middle_32_bits = s->last_rtcp_ntp_time >> 16; // this is valid, right? do we need to handle 64 bit values special?
|
|
|
|
|
uint32_t delay_since_last = av_rescale(av_gettime() - s->last_rtcp_reception_time, |
|
|
|
|
uint32_t delay_since_last = av_rescale(av_gettime_relative() - s->last_rtcp_reception_time, |
|
|
|
|
65536, AV_TIME_BASE); |
|
|
|
|
|
|
|
|
|
avio_wb32(pb, middle_32_bits); /* last SR timestamp */ |
|
|
|
@ -448,7 +448,7 @@ int ff_rtp_send_rtcp_feedback(RTPDemuxContext *s, URLContext *fd, |
|
|
|
|
/* Send new feedback if enough time has elapsed since the last
|
|
|
|
|
* feedback packet. */ |
|
|
|
|
|
|
|
|
|
now = av_gettime(); |
|
|
|
|
now = av_gettime_relative(); |
|
|
|
|
if (s->last_feedback_time && |
|
|
|
|
(now - s->last_feedback_time) < MIN_FEEDBACK_INTERVAL) |
|
|
|
|
return 0; |
|
|
|
@ -691,7 +691,7 @@ static void enqueue_packet(RTPDemuxContext *s, uint8_t *buf, int len) |
|
|
|
|
packet = av_mallocz(sizeof(*packet)); |
|
|
|
|
if (!packet) |
|
|
|
|
return; |
|
|
|
|
packet->recvtime = av_gettime(); |
|
|
|
|
packet->recvtime = av_gettime_relative(); |
|
|
|
|
packet->seq = seq; |
|
|
|
|
packet->len = len; |
|
|
|
|
packet->buf = buf; |
|
|
|
@ -769,7 +769,7 @@ static int rtp_parse_one_packet(RTPDemuxContext *s, AVPacket *pkt, |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
if (s->st) { |
|
|
|
|
int64_t received = av_gettime(); |
|
|
|
|
int64_t received = av_gettime_relative(); |
|
|
|
|
uint32_t arrival_ts = av_rescale_q(received, AV_TIME_BASE_Q, |
|
|
|
|
s->st->time_base); |
|
|
|
|
timestamp = AV_RB32(buf + 4); |
|
|
|
|