Will be useful in the next patch Signed-off-by: James Almer <jamr...@gmail.com> --- libavformat/internal.h | 1 + libavformat/mux.c | 16 ++++++++++++++++ 2 files changed, 17 insertions(+)
diff --git a/libavformat/internal.h b/libavformat/internal.h index d0db331b96..33ece6b172 100644 --- a/libavformat/internal.h +++ b/libavformat/internal.h @@ -874,6 +874,7 @@ int ff_bprint_to_codecpar_extradata(AVCodecParameters *par, struct AVBPrint *buf int ff_interleaved_peek(AVFormatContext *s, int stream, AVPacket *pkt, int add_offset); +int ff_get_muxer_ts_offset(AVFormatContext *s, int stream_index, int64_t *offset); int ff_lock_avformat(void); int ff_unlock_avformat(void); diff --git a/libavformat/mux.c b/libavformat/mux.c index 84c56ac6ba..ae46844c66 100644 --- a/libavformat/mux.c +++ b/libavformat/mux.c @@ -1046,6 +1046,22 @@ int ff_interleave_packet_per_dts(AVFormatContext *s, AVPacket *out, } } +int ff_get_muxer_ts_offset(AVFormatContext *s, int stream_index, int64_t *offset) +{ + AVStream *st; + + if (stream_index < 0 || stream_index >= s->nb_streams) + return AVERROR(EINVAL); + + st = s->streams[stream_index]; + *offset = st->internal->mux_ts_offset; + + if (s->output_ts_offset) + *offset += av_rescale_q(s->output_ts_offset, AV_TIME_BASE_Q, st->time_base); + + return 0; +} + int ff_interleaved_peek(AVFormatContext *s, int stream, AVPacket *pkt, int add_offset) { -- 2.30.0 _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".