player: fix --end for backwards playback

We need to transform the timestamp returned by get_play_end_pts().

I considered making it return the transformed timestamp directly. There
are 4 callers; 2 need a transformed timestamps, 2 don't. So I guess it
doesn't matter.
This commit is contained in:
wm4 2019-05-25 23:04:26 +02:00
parent aebccb8801
commit f68d9e75f8
2 changed files with 4 additions and 0 deletions

View File

@ -736,6 +736,8 @@ static int filter_audio(struct MPContext *mpctx, struct mp_audio_buffer *outbuf,
struct ao_chain *ao_c = mpctx->ao_chain;
double endpts = get_play_end_pts(mpctx);
if (endpts != MP_NOPTS_VALUE)
endpts *= mpctx->play_dir;
bool eof = false;
if (!copy_output(mpctx, ao_c, minsamples, endpts, &eof))

View File

@ -483,6 +483,8 @@ static int video_output_image(struct MPContext *mpctx)
}
if (img) {
double endpts = get_play_end_pts(mpctx);
if (endpts != MP_NOPTS_VALUE)
endpts *= mpctx->play_dir;
if ((endpts != MP_NOPTS_VALUE && img->pts >= endpts) ||
mpctx->max_frames == 0)
{