diff options
author | wm4 <wm4@nowhere> | 2015-08-12 10:46:29 +0200 |
---|---|---|
committer | wm4 <wm4@nowhere> | 2015-08-12 10:46:29 +0200 |
commit | c7329e5118d4e26d02f74fed66747392916ceae7 (patch) | |
tree | b6b394fe76bb588924649e9f35789fc139f4dfb2 /video | |
parent | b103a8e11335e8381f07959b4a627729cfd08e74 (diff) | |
download | mpv-c7329e5118d4e26d02f74fed66747392916ceae7.tar.bz2 mpv-c7329e5118d4e26d02f74fed66747392916ceae7.tar.xz |
vo: fix video EOF with display-sync
We must not use the frame PTS in any case. In this case, it fails
because nothing sets it up to wake up. This typically caused the player
to apparently "pause", until something else waked it up, like moving the
mouse and other events.
Diffstat (limited to 'video')
-rw-r--r-- | video/out/vo.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/video/out/vo.c b/video/out/vo.c index de79fb018e..880a2e56a4 100644 --- a/video/out/vo.c +++ b/video/out/vo.c @@ -930,8 +930,8 @@ bool vo_still_displaying(struct vo *vo) int64_t frame_end = 0; if (in->current_frame) { frame_end = in->current_frame->pts + MPMAX(in->current_frame->duration, 0); - if (in->current_frame->num_vsyncs > 0) - frame_end = INT64_MAX; + if (in->current_frame->display_synced) + frame_end = in->current_frame->num_vsyncs > 0 ? INT64_MAX : 0; } bool working = now < frame_end || in->rendering || in->frame_queued; pthread_mutex_unlock(&vo->in->lock); |