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.
This commit is contained in:
wm4 2015-08-12 10:46:29 +02:00
parent b103a8e113
commit c7329e5118
1 changed files with 2 additions and 2 deletions

View File

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