diff mbox series

[FFmpeg-devel,1/2] avformat/mux: add ff_get_muxer_ts_offset()

Message ID 20210208222129.4695-1-jamrial@gmail.com
State Accepted
Commit 93e2fa933f1625f488a2d88f9d50254ef13401d2
Headers show
Series [FFmpeg-devel,1/2] avformat/mux: add ff_get_muxer_ts_offset() | expand

Checks

Context Check Description
andriy/x86_make success Make finished
andriy/x86_make_fate success Make fate finished
andriy/PPC64_make success Make finished
andriy/PPC64_make_fate success Make fate finished

Commit Message

James Almer Feb. 8, 2021, 10:21 p.m. UTC
Will be useful in the next patch

Signed-off-by: James Almer <jamrial@gmail.com>
---
 libavformat/internal.h |  1 +
 libavformat/mux.c      | 16 ++++++++++++++++
 2 files changed, 17 insertions(+)
diff mbox series

Patch

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)
 {