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.
This commit is contained in:
Anton Khirnov 2022-04-01 12:04:35 +02:00
parent 33f5cacb1d
commit 8e854cdd2e
1 changed files with 2 additions and 3 deletions

View File

@ -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;