diff options
author | Miguel Freitas <miguelfreitas@users.sourceforge.net> | 2003-05-31 18:33:28 +0000 |
---|---|---|
committer | Miguel Freitas <miguelfreitas@users.sourceforge.net> | 2003-05-31 18:33:28 +0000 |
commit | af85be8db56a088a7689baf9f4d1d67c2ee0decf (patch) | |
tree | 9576e1b0c2b3872fe6b26562fcd1ce98eeba8b9b /src/xine-engine/video_out.h | |
parent | 0306990681bdf214741c6ab2798b47bf8e578c97 (diff) | |
download | xine-lib-af85be8db56a088a7689baf9f4d1d67c2ee0decf.tar.gz xine-lib-af85be8db56a088a7689baf9f4d1d67c2ee0decf.tar.bz2 |
update video out api to allow better frame management (explicit locking)
img->displayed is obsolete now, drivers should use img->free.
CVS patchset: 4994
CVS date: 2003/05/31 18:33:28
Diffstat (limited to 'src/xine-engine/video_out.h')
-rw-r--r-- | src/xine-engine/video_out.h | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/src/xine-engine/video_out.h b/src/xine-engine/video_out.h index c8f06212a..faef454ea 100644 --- a/src/xine-engine/video_out.h +++ b/src/xine-engine/video_out.h @@ -17,7 +17,7 @@ * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA * - * $Id: video_out.h,v 1.87 2003/05/20 13:50:57 mroi Exp $ + * $Id: video_out.h,v 1.88 2003/05/31 18:33:32 miguelfreitas Exp $ * * * xine version of video_out.h @@ -75,7 +75,7 @@ struct vo_frame_s { * member functions */ - /* this frame is no longer used by the decoder */ + /* this frame is no longer used by the decoder, video driver, etc */ void (*free) (vo_frame_t *vo_img); /* tell video driver to copy/convert a slice of this frame, may be NULL */ @@ -89,8 +89,11 @@ struct vo_frame_s { returns number of frames to skip if decoder is late */ int (*draw) (vo_frame_t *vo_img, xine_stream_t *stream); - /* this frame is no longer used by the video driver */ - void (*displayed) (vo_frame_t *vo_img); + /* lock frame as reference, must be paired with free. + * most decoders/drivers do not need to call this function since + * newly allocated frames are already locked once. + */ + void (*lock) (vo_frame_t *vo_img); /* free memory/resources for this frame */ void (*dispose) (vo_frame_t *vo_img); @@ -280,7 +283,7 @@ struct xine_video_port_s { * from generic vo functions. */ -#define VIDEO_OUT_DRIVER_IFACE_VERSION 14 +#define VIDEO_OUT_DRIVER_IFACE_VERSION 15 struct vo_driver_s { |