| xine.h | | xine.h | |
| | | | |
| skipping to change at line 112 | | skipping to change at line 112 | |
| const char *xine_get_version_string (void) XINE_PROTECTED; | | const char *xine_get_version_string (void) XINE_PROTECTED; | |
| void xine_get_version (int *major, int *minor, int *sub) XINE_PROTECTED; | | void xine_get_version (int *major, int *minor, int *sub) XINE_PROTECTED; | |
| | | | |
| /* compare given version to libxine version, | | /* compare given version to libxine version, | |
| return 1 if compatible, 0 otherwise */ | | return 1 if compatible, 0 otherwise */ | |
| int xine_check_version (int major, int minor, int sub) XINE_PROTECTED; | | int xine_check_version (int major, int minor, int sub) XINE_PROTECTED; | |
| | | | |
| /* static info - which libxine release this header came from */ | | /* static info - which libxine release this header came from */ | |
| #define XINE_MAJOR_VERSION 1 | | #define XINE_MAJOR_VERSION 1 | |
| #define XINE_MINOR_VERSION 1 | | #define XINE_MINOR_VERSION 1 | |
|
| #define XINE_SUB_VERSION 11 | | #define XINE_SUB_VERSION 12 | |
| #define XINE_VERSION "1.1.11" | | #define XINE_VERSION "1.1.12" | |
| | | | |
| /* | | /* | |
| * pre-init the xine engine | | * pre-init the xine engine | |
| * | | * | |
| * will first malloc and init a xine_t, create an empty config | | * will first malloc and init a xine_t, create an empty config | |
| * system, then scan through all installed plugins and add them | | * system, then scan through all installed plugins and add them | |
| * to an internal list for later use. | | * to an internal list for later use. | |
| * | | * | |
| * to fully init the xine engine, you have to load config values | | * to fully init the xine engine, you have to load config values | |
| * (either using your own storage method and calling | | * (either using your own storage method and calling | |
| | | | |
| skipping to change at line 174 | | skipping to change at line 174 | |
| #define XINE_VISUAL_TYPE_X11_2 10 | | #define XINE_VISUAL_TYPE_X11_2 10 | |
| #define XINE_VISUAL_TYPE_AA 2 | | #define XINE_VISUAL_TYPE_AA 2 | |
| #define XINE_VISUAL_TYPE_FB 3 | | #define XINE_VISUAL_TYPE_FB 3 | |
| #define XINE_VISUAL_TYPE_GTK 4 | | #define XINE_VISUAL_TYPE_GTK 4 | |
| #define XINE_VISUAL_TYPE_DFB 5 | | #define XINE_VISUAL_TYPE_DFB 5 | |
| #define XINE_VISUAL_TYPE_PM 6 /* used by the OS/2 port */ | | #define XINE_VISUAL_TYPE_PM 6 /* used by the OS/2 port */ | |
| #define XINE_VISUAL_TYPE_DIRECTX 7 /* used by the win32/msvc port
*/ | | #define XINE_VISUAL_TYPE_DIRECTX 7 /* used by the win32/msvc port
*/ | |
| #define XINE_VISUAL_TYPE_CACA 8 | | #define XINE_VISUAL_TYPE_CACA 8 | |
| #define XINE_VISUAL_TYPE_MACOSX 9 | | #define XINE_VISUAL_TYPE_MACOSX 9 | |
| #define XINE_VISUAL_TYPE_XCB 11 | | #define XINE_VISUAL_TYPE_XCB 11 | |
|
| | | #define XINE_VISUAL_TYPE_RAW 12 | |
| | | | |
| /* | | /* | |
| * free all resources, close all plugins, close engine. | | * free all resources, close all plugins, close engine. | |
| * self pointer is no longer valid after this call. | | * self pointer is no longer valid after this call. | |
| */ | | */ | |
| void xine_exit (xine_t *self) XINE_PROTECTED; | | void xine_exit (xine_t *self) XINE_PROTECTED; | |
| | | | |
| /********************************************************************* | | /********************************************************************* | |
| * stream handling * | | * stream handling * | |
| *********************************************************************/ | | *********************************************************************/ | |
| | | | |
| skipping to change at line 1060 | | skipping to change at line 1061 | |
| const char *xine_get_audio_driver_plugin_description (xine_t *self, | | const char *xine_get_audio_driver_plugin_description (xine_t *self, | |
| const char *plugin_id) XINE_P
ROTECTED; | | const char *plugin_id) XINE_P
ROTECTED; | |
| const char *xine_get_video_driver_plugin_description (xine_t *self, | | const char *xine_get_video_driver_plugin_description (xine_t *self, | |
| const char *plugin_id) XINE_P
ROTECTED; | | const char *plugin_id) XINE_P
ROTECTED; | |
| const char *xine_get_post_plugin_description (xine_t *self, | | const char *xine_get_post_plugin_description (xine_t *self, | |
| const char *plugin_id) XINE_P
ROTECTED; | | const char *plugin_id) XINE_P
ROTECTED; | |
| | | | |
| /* get lists of available audio and video output plugins */ | | /* get lists of available audio and video output plugins */ | |
| const char *const *xine_list_audio_output_plugins (xine_t *self) XINE_PROTE
CTED; | | const char *const *xine_list_audio_output_plugins (xine_t *self) XINE_PROTE
CTED; | |
| const char *const *xine_list_video_output_plugins (xine_t *self) XINE_PROTE
CTED; | | const char *const *xine_list_video_output_plugins (xine_t *self) XINE_PROTE
CTED; | |
|
| | | /* typemask is (1ULL << XINE_VISUAL_TYPE_FOO) | ... */ | |
| | | const char *const *xine_list_video_output_plugins_typed (xine_t *self, uint | |
| | | 64_t typemask) XINE_PROTECTED; | |
| | | | |
| /* get list of available demultiplexor plugins */ | | /* get list of available demultiplexor plugins */ | |
| const char *const *xine_list_demuxer_plugins(xine_t *self) XINE_PROTECTED; | | const char *const *xine_list_demuxer_plugins(xine_t *self) XINE_PROTECTED; | |
| | | | |
| /* get list of available input plugins */ | | /* get list of available input plugins */ | |
| const char *const *xine_list_input_plugins(xine_t *self) XINE_PROTECTED; | | const char *const *xine_list_input_plugins(xine_t *self) XINE_PROTECTED; | |
| | | | |
| /* get list of available subpicture plugins */ | | /* get list of available subpicture plugins */ | |
| const char *const *xine_list_spu_plugins(xine_t *self) XINE_PROTECTED; | | const char *const *xine_list_spu_plugins(xine_t *self) XINE_PROTECTED; | |
| | | | |
| | | | |
| skipping to change at line 1274 | | skipping to change at line 1277 | |
| void (*frame_output_cb) (void *user_data, | | void (*frame_output_cb) (void *user_data, | |
| int video_width, int video_height, | | int video_width, int video_height, | |
| double video_pixel_aspect, | | double video_pixel_aspect, | |
| int *dest_x, int *dest_y, | | int *dest_x, int *dest_y, | |
| int *dest_width, int *dest_height, | | int *dest_width, int *dest_height, | |
| double *dest_pixel_aspect, | | double *dest_pixel_aspect, | |
| int *win_x, int *win_y); | | int *win_x, int *win_y); | |
| | | | |
| } xcb_visual_t; | | } xcb_visual_t; | |
| | | | |
|
| | | /************************************************** | |
| | | * XINE_VO_RAW struct definitions | |
| | | *************************************************/ | |
| | | /* frame_format definitions */ | |
| | | #define XINE_VORAW_YV12 1 | |
| | | #define XINE_VORAW_YUY2 2 | |
| | | #define XINE_VORAW_RGB 4 | |
| | | | |
| | | /* maximum number of overlays the raw driver can handle */ | |
| | | #define XINE_VORAW_MAX_OVL 16 | |
| | | | |
| | | /* raw_overlay_t struct used in raw_overlay_cb callback */ | |
| | | typedef struct { | |
| | | uint8_t *ovl_rgba; | |
| | | int ovl_w, ovl_h; /* overlay's width and height */ | |
| | | int ovl_x, ovl_y; /* overlay's top-left display position */ | |
| | | } raw_overlay_t; | |
| | | | |
| | | /* this is the visual data struct any raw gui | |
| | | * must supply to the xine_open_video_driver call | |
| | | * ("data" parameter) | |
| | | */ | |
| | | typedef struct { | |
| | | void *user_data; | |
| | | | |
| | | /* OR'ed frame_format | |
| | | * a frontend must at least support rgb | |
| | | * a frontend supporting yuv must support both yv12 and yuy2 | |
| | | * then possible combinations are: | |
| | | * XINE_VORAW_RGB ( rgb ) | |
| | | * XINE_VORAW_YV12|XINE_VORAW_YUY2|XINE_VORAW_RGB ( yv12, yuy2 and rg | |
| | | b ) | |
| | | * | |
| | | * Be aware that rgb requires more cpu than yuv, | |
| | | * so avoid its usage for video playback. | |
| | | * However, it's usefull for single frame capture (e.g. thumbs) | |
| | | */ | |
| | | int supported_formats; | |
| | | | |
| | | /* raw output callback | |
| | | * this will be called by the video driver for every frame | |
| | | * | |
| | | * If frame_format==XINE_VORAW_YV12, data0 points to frame_width*frame_he | |
| | | ight Y values | |
| | | * data1 points to (frame_width/2)*(fra | |
| | | me_height/2) U values | |
| | | * data2 points to (frame_width/2)*(fra | |
| | | me_height/2) V values | |
| | | * | |
| | | * If frame_format==XINE_VORAW_YUY2, data0 points to frame_width*frame_he | |
| | | ight*2 YU/Y²V values | |
| | | * data1 is NULL | |
| | | * data2 is NULL | |
| | | * | |
| | | * If frame_format==XINE_VORAW_RGB, data0 points to frame_width*frame_hei | |
| | | ght*3 RGB values | |
| | | * data1 is NULL | |
| | | * data2 is NULL | |
| | | */ | |
| | | void (*raw_output_cb) (void *user_data, int frame_format, | |
| | | int frame_width, int frame_height, | |
| | | double frame_aspect, | |
| | | void *data0, void *data1, void *data2); | |
| | | | |
| | | /* raw overlay callback | |
| | | * this will be called by the video driver for every new overlay state | |
| | | * overlays_array points to an array of num_ovl raw_overlay_t | |
| | | * Note that num_ovl can be 0, meaning "end of overlay display" | |
| | | * num_ovl is at most XINE_VORAW_MAX_OVL */ | |
| | | void (*raw_overlay_cb) (void *user_data, int num_ovl, | |
| | | raw_overlay_t *overlays_array); | |
| | | } raw_visual_t; | |
| | | /********************************************** | |
| | | * end of vo_raw defs | |
| | | *********************************************/ | |
| | | | |
| /* | | /* | |
| * this is the visual data struct any fb gui | | * this is the visual data struct any fb gui | |
| * may supply to the xine_open_video_driver call | | * may supply to the xine_open_video_driver call | |
| * ("data" parameter) to get frame_output_cd calls | | * ("data" parameter) to get frame_output_cd calls | |
| */ | | */ | |
| | | | |
| typedef struct { | | typedef struct { | |
| | | | |
| void (*frame_output_cb) (void *user_data, | | void (*frame_output_cb) (void *user_data, | |
| int video_width, int video_height, | | int video_width, int video_height, | |
| | | | |
End of changes. 4 change blocks. |
| 2 lines changed or deleted | | 82 lines changed or added | |
|