[FFmpeg-cvslog] fftools/ffmpeg: stop using av_stream_get_end_pts()
Anton Khirnov
git at videolan.org
Sat Jul 23 13:08:01 EEST 2022
ffmpeg | branch: master | Anton Khirnov <anton at khirnov.net> | Fri Apr 1 12:04:35 2022 +0200| [8e854cdd2e954be42d907671a7bf2826a3141f59] | committer: Anton Khirnov
fftools/ffmpeg: stop using av_stream_get_end_pts()
It retrieves the muxer's internal timestamp with under-defined
semantics. Continuing to use this value would also require
synchronization once the muxer is moved to a separate thread.
Replace the value with last_mux_dts.
> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=8e854cdd2e954be42d907671a7bf2826a3141f59
---
fftools/ffmpeg.c | 5 ++---
1 file changed, 2 insertions(+), 3 deletions(-)
diff --git a/fftools/ffmpeg.c b/fftools/ffmpeg.c
index 90e14aba25..0fdaa6f4d9 100644
--- a/fftools/ffmpeg.c
+++ b/fftools/ffmpeg.c
@@ -1669,9 +1669,8 @@ static void print_report(int is_last_report, int64_t timer_start, int64_t cur_ti
vid = 1;
}
/* compute min output value */
- if (av_stream_get_end_pts(ost->st) != AV_NOPTS_VALUE) {
- pts = FFMAX(pts, av_rescale_q(av_stream_get_end_pts(ost->st),
- ost->st->time_base, AV_TIME_BASE_Q));
+ if (ost->last_mux_dts != AV_NOPTS_VALUE) {
+ pts = FFMAX(pts, ost->last_mux_dts);
if (copy_ts) {
if (copy_ts_first_pts == AV_NOPTS_VALUE && pts > 1)
copy_ts_first_pts = pts;
More information about the ffmpeg-cvslog
mailing list