diff options
| author | Christophe Thommeret <hftom@free.fr> | 2008-12-29 01:38:20 +0000 |
|---|---|---|
| committer | Christophe Thommeret <hftom@free.fr> | 2008-12-29 01:38:20 +0000 |
| commit | 862354fcea8351ddf7b6745a1d5bf559e37d2d32 (patch) | |
| tree | 5e2bd064b7b3b455304d9725448a8174a2ec0c7d /src/xine-engine | |
| parent | 5c9bcbcefee17fdd254bcecd3865cd1a5202134b (diff) | |
| download | xine-lib-862354fcea8351ddf7b6745a1d5bf559e37d2d32.tar.gz xine-lib-862354fcea8351ddf7b6745a1d5bf559e37d2d32.tar.bz2 | |
Add future frame.
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 |
