Commit d597e1b7 authored by Luca Abeni's avatar Luca Abeni

Fix computation of the "NTP time" field in RTCP SR packets, and do not

export times with microsecond precision

Originally committed as revision 12158 to svn://svn.ffmpeg.org/ffmpeg/trunk
parent 91acf9a8
......@@ -33,6 +33,13 @@
//#define DEBUG
#define RTCP_SR_SIZE 28
#define NTP_OFFSET 2208988800ULL
#define NTP_OFFSET_US (NTP_OFFSET * 1000000ULL)
static uint64_t ntp_time(void)
{
return (av_gettime() / 1000) * 1000 + NTP_OFFSET_US;
}
static int rtp_write_header(AVFormatContext *s1)
{
......@@ -301,8 +308,8 @@ static int rtp_write_packet(AVFormatContext *s1, AVPacket *pkt)
rtcp_bytes = ((s->octet_count - s->last_octet_count) * RTCP_TX_RATIO_NUM) /
RTCP_TX_RATIO_DEN;
if (s->first_packet || ((rtcp_bytes >= RTCP_SR_SIZE) &&
(av_gettime() - s->last_rtcp_ntp_time > 5000000))) {
rtcp_send_sr(s1, av_gettime());
(ntp_time() - s->last_rtcp_ntp_time > 5000000))) {
rtcp_send_sr(s1, ntp_time());
s->last_octet_count = s->octet_count;
s->first_packet = 0;
}
......
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