[FFmpeg-devel] [PATCH] avformat: set start_time_realtime when demuxing

Gyan Doshi ffmpeg at gyani.pro
Wed Jun 15 07:08:48 EEST 2022



On 2022-06-15 03:18 am, Andreas Rheinhardt wrote:
> Gyan Doshi:
>> Add new flag AVFMT_START_REALTIME for the couple of demuxers that set it
>> internally.
>> ---
>>   doc/APIchanges         | 3 +++
>>   libavformat/avformat.h | 1 +
>>   libavformat/demux.c    | 3 +++
>>   libavformat/rtsp.c     | 3 ++-
>>   libavformat/version.h  | 2 +-
>>   5 files changed, 10 insertions(+), 2 deletions(-)
>>
>> diff --git a/doc/APIchanges b/doc/APIchanges
>> index 5857e67ae6..4aa9e36777 100644
>> --- a/doc/APIchanges
>> +++ b/doc/APIchanges
>> @@ -14,6 +14,9 @@ libavutil:     2021-04-27
>>   
>>   API changes, most recent first:
>>   
>> +2022-06-xx - xxxxxxxxxx - lavf 59.26.100 - avformat.h
>> +  Add AVFMT_START_REALTIME flag.
>> +
>>   2022-06-12 - xxxxxxxxxx - lavf 59.25.100 - avio.h
>>     Add avio_vprintf(), similar to avio_printf() but allow to use it
>>     from within a function taking a variable argument list as input.
>> diff --git a/libavformat/avformat.h b/libavformat/avformat.h
>> index f12fa7d904..4e247d68fc 100644
>> --- a/libavformat/avformat.h
>> +++ b/libavformat/avformat.h
>> @@ -499,6 +499,7 @@ typedef struct AVProbeData {
>>                                           The user or muxer can override this through
>>                                           AVFormatContext.avoid_negative_ts
>>                                           */
>> +#define AVFMT_START_REALTIME 0x80000 /**< Demuxer sets start_time_realtime */
> This is incorrect: If this were merged, start_time_realtime would always
> be set by libavformat; whether it is done by the generic code or by
> demuxer specific code is an implementation detail and irrelevant for the
> user. Given that it is also set for demuxers without this flag actually
> means that libavformat lies when using a demuxer without this flag.

This is moot since I'm switching to a new field but would either of 
these satisfy you?

s/Demuxer/Format/

or

/**< start_time_realtime is populated with conveyed origin wallclock timestamp */

Regards,
Gyan


More information about the ffmpeg-devel mailing list