diff options
Diffstat (limited to 'src/xine-engine')
| -rw-r--r-- | src/xine-engine/video_out.c | 7 | ||||
| -rw-r--r-- | src/xine-engine/video_out.h | 3 |
2 files changed, 9 insertions, 1 deletions
diff --git a/src/xine-engine/video_out.c b/src/xine-engine/video_out.c index be062cc5d..6b0353bee 100644 --- a/src/xine-engine/video_out.c +++ b/src/xine-engine/video_out.c @@ -931,7 +931,7 @@ static vo_frame_t *get_next_frame (vos_t *this, int64_t cur_vpts, /* extra info of the backup is thrown away, because it is not up to date */ _x_extra_info_reset(img->extra_info); } - + img->future_frame = NULL; return img; } else { @@ -989,6 +989,11 @@ static vo_frame_t *get_next_frame (vos_t *this, int64_t cur_vpts, /* * remove frame from display queue and show it */ + + if ( img->next ) + img->future_frame = img->next; + else + img->future_frame = NULL; img = vo_remove_from_img_buf_queue_int (this->display_img_buf_queue, 1, 0, 0, 0, 0, 0); pthread_mutex_unlock(&this->display_img_buf_queue->mutex); diff --git a/src/xine-engine/video_out.h b/src/xine-engine/video_out.h index 7fa34ac8b..76b347a41 100644 --- a/src/xine-engine/video_out.h +++ b/src/xine-engine/video_out.h @@ -149,6 +149,9 @@ struct vo_frame_s { /* displacement for overlays */ int overlay_offset_x, overlay_offset_y; + + /* pointer to the next frame in display order, used by some vo deint */ + struct vo_frame_s *future_frame; /* * that part is used only by video_out.c for frame management |
