[FFmpeg-devel] Extracting NTP timestamp from RTCP

Fred Rothganger frothga at sandia.gov
Thu Dec 5 00:55:36 CET 2013

On 12/04/2013 08:09 AM, Michael Niedermayer wrote:
> diff --git a/libavformat/rtpenc.c b/libavformat/rtpenc.c
> index 6fdc908..5e73661 100644
> --- a/libavformat/rtpenc.c
> +++ b/libavformat/rtpenc.c
> @@ -119,7 +119,7 @@ static int rtp_write_header(AVFormatContext *s1)
>           s->ssrc = av_get_random_seed();
>       s->first_packet = 1;
>       s->first_rtcp_ntp_time = ff_ntp_time();
> -    if (s1->start_time_realtime)
> +    if (s1->start_time_realtime != AV_NOPTS_VALUE)
> this looks like it breaks ABI
> a application that means "no value" would have used 0 before but now
> 0 is interpreted as a litteral 0

I thought that was the whole point of the previous conversation. Reimar 
was concerned that we should have an explicit "not set" value that was 
different from 0. To be consistent in the use of the field, we should 
respect the "not set" value during encoding.

Please clarify the nature of your objection. Are you saying that:
1) ABI changes are simply not allowed.
2) A more significant version number should be bumped to indicate the 
ABI change.
3) Use 0 to mean not set.
4) Give the field different semantics (however slight) between encoding 
and decoding.

In practical terms, someone will only set this field if they know the 
precise time that the first frame was captured. Otherwise, they will not 
touch it at all, and the default ("not set") will remain.

More information about the ffmpeg-devel mailing list