diff options
author | Guenter Bartsch <guenter@users.sourceforge.net> | 2002-02-16 22:43:24 +0000 |
---|---|---|
committer | Guenter Bartsch <guenter@users.sourceforge.net> | 2002-02-16 22:43:24 +0000 |
commit | f030f9e939d8949d43a6a4c11fc1e7c16617ca8d (patch) | |
tree | 75216b2ea75f8ca2a12c6960571ea8a03e216d93 /src/video_out/video_out_x11.h | |
parent | 0068b2d4877b794ed7112e4c49ee0deb214193d2 (diff) | |
download | xine-lib-f030f9e939d8949d43a6a4c11fc1e7c16617ca8d.tar.gz xine-lib-f030f9e939d8949d43a6a4c11fc1e7c16617ca8d.tar.bz2 |
beginning of video_out_driver changes
- driver will ask gui for output size on every frame
- shm driver has a seperate yuv2rgb converter instance for every frame
- all drivers disabled except xshm, until they're fixed
I'm planning to introduce a queue of video_out_events in video_out.c,
so events are delivered by video_out_loop which means that all driver
functions are called from the same thread (no locking necessary, should
help the opengl driver)
CVS patchset: 1499
CVS date: 2002/02/16 22:43:24
Diffstat (limited to 'src/video_out/video_out_x11.h')
-rw-r--r-- | src/video_out/video_out_x11.h | 36 |
1 files changed, 17 insertions, 19 deletions
diff --git a/src/video_out/video_out_x11.h b/src/video_out/video_out_x11.h index 8bb8c7f49..34479867a 100644 --- a/src/video_out/video_out_x11.h +++ b/src/video_out/video_out_x11.h @@ -1,7 +1,7 @@ /* - * Copyright (C) 2000-2001 the xine project + * Copyright (C) 2000-2002 the xine project * - * This file is part of xine, a unix video player. + * This file is part of xine, a free video player. * * xine is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -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_x11.h,v 1.13 2002/01/24 23:09:54 guenter Exp $ + * $Id: video_out_x11.h,v 1.14 2002/02/16 22:43:24 guenter Exp $ * * structs and defines specific to all x11 related output plugins * (any x11 base xine ui should include this) @@ -56,23 +56,25 @@ typedef struct { void *user_data; /* - * calc dest size + * dest size callback * * this will be called by the video driver to find out * how big the video output area size will be for a * given video size. The ui should _not_ adjust it's * video out area, just do some calculations and return - * the size + * the size. This will be called for every frame, ui + * implementation should be fast. */ - void (*calc_dest_size) (void *user_data, - int video_width, int video_height, - int *dest_width, int *dest_height); + void (*dest_size_cb) (void *user_data, + int video_width, int video_height, + int *dest_width, int *dest_height); /* - * request dest size + * frame output callback * - * this will be called by the video driver to request - * the video output area to be resized to fit the video. + * this will be called by the video driver for every frame + * it's about to draw. ui can adapt it's size if necessary + * here. * note: the ui doesn't have to adjust itself to this * size, this is just to be taken as a hint. * ui must return the actual size of the video output @@ -81,10 +83,10 @@ typedef struct { * preserving aspect ration and stuff). */ - void (*request_dest_size) (void *user_data, - int video_width, int video_height, - int *dest_x, int *dest_y, - int *dest_width, int *dest_height); + void (*frame_output_cb) (void *user_data, + int video_width, int video_height, + int *dest_x, int *dest_y, + int *dest_width, int *dest_height); } x11_visual_t; @@ -92,8 +94,6 @@ typedef struct { * constants for gui_data_exchange's data_type parameter */ -/* x11_rectangle_t *data */ -#define GUI_DATA_EX_DEST_POS_SIZE_CHANGED 0 /* xevent *data */ #define GUI_DATA_EX_COMPLETION_EVENT 1 /* Drawable has changed */ @@ -104,8 +104,6 @@ typedef struct { #define GUI_DATA_EX_TRANSLATE_GUI_TO_VIDEO 4 /* int *data */ #define GUI_DATA_EX_VIDEOWIN_VISIBLE 5 -/* int *data */ -#define GUI_DATA_EX_FULLSCREEN 7 /* *data contains chosen visual, select a new one or change it to NULL * to indicate the visual to use or that no visual will work */ |