alphablend.h | alphablend.h | |||
---|---|---|---|---|
skipping to change at line 42 | skipping to change at line 42 | |||
int buffer_size; | int buffer_size; | |||
int disable_exact_blending; | int disable_exact_blending; | |||
int offset_x, offset_y; | int offset_x, offset_y; | |||
} alphablend_t; | } alphablend_t; | |||
void _x_alphablend_init(alphablend_t *extra_data, xine_t *xine) XINE_PROTEC TED; | void _x_alphablend_init(alphablend_t *extra_data, xine_t *xine) XINE_PROTEC TED; | |||
void _x_alphablend_free(alphablend_t *extra_data) XINE_PROTECTED; | void _x_alphablend_free(alphablend_t *extra_data) XINE_PROTECTED; | |||
/* _MSC_VER port changes */ | #if !SUPPORT_ATTRIBUTE_PACKED | |||
#undef ATTRIBUTE_PACKED | ||||
#undef PRAGMA_PACK_BEGIN | ||||
#undef PRAGMA_PACK_END | ||||
#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 95) || defined(__IC | ||||
C) | ||||
#define ATTRIBUTE_PACKED __attribute__ ((packed)) | ||||
#define PRAGMA_PACK 0 | ||||
#endif | ||||
#if !defined(ATTRIBUTE_PACKED) | ||||
#define ATTRIBUTE_PACKED | ||||
#define PRAGMA_PACK 1 | ||||
#endif | ||||
#if PRAGMA_PACK | ||||
#pragma pack(8) | #pragma pack(8) | |||
#endif | #endif | |||
typedef struct { /* CLUT == Color LookUp Table */ | typedef struct { /* CLUT == Color LookUp Table */ | |||
uint8_t cb; | uint8_t cb; | |||
uint8_t cr; | uint8_t cr; | |||
uint8_t y; | uint8_t y; | |||
uint8_t foo; | uint8_t foo; | |||
} ATTRIBUTE_PACKED clut_t; | } XINE_PACKED clut_t; | |||
#if PRAGMA_PACK | #if !SUPPORT_ATTRIBUTE_PACKED | |||
#pragma pack() | #pragma pack() | |||
#endif | #endif | |||
#define XX44_PALETTE_SIZE 32 | #define XX44_PALETTE_SIZE 32 | |||
typedef struct { | typedef struct { | |||
unsigned size; | unsigned size; | |||
unsigned max_used; | unsigned max_used; | |||
uint32_t cluts[XX44_PALETTE_SIZE]; | uint32_t cluts[XX44_PALETTE_SIZE]; | |||
/* cache palette entries for both colors and hili_colors */ | /* cache palette entries for both colors and hili_colors */ | |||
End of changes. 3 change blocks. | ||||
19 lines changed or deleted | 3 lines changed or added | |||
array.h | array.h | |||
---|---|---|---|---|
skipping to change at line 30 | skipping to change at line 30 | |||
* Array that can grow automatically when you add elements. | * Array that can grow automatically when you add elements. | |||
* Inserting an element in the middle of the array implies memory moves. | * Inserting an element in the middle of the array implies memory moves. | |||
*/ | */ | |||
#ifndef XINE_ARRAY_H | #ifndef XINE_ARRAY_H | |||
#define XINE_ARRAY_H | #define XINE_ARRAY_H | |||
/* Array type */ | /* Array type */ | |||
typedef struct xine_array_s xine_array_t; | typedef struct xine_array_s xine_array_t; | |||
/* Constructor */ | /* Constructor */ | |||
xine_array_t *xine_array_new(size_t initial_size) XINE_PROTECTED; | xine_array_t *xine_array_new(size_t initial_size) XINE_MALLOC XINE_PROTECTE D; | |||
/* Destructor */ | /* Destructor */ | |||
void xine_array_delete(xine_array_t *array) XINE_PROTECTED; | void xine_array_delete(xine_array_t *array) XINE_PROTECTED; | |||
/* Returns the number of element stored in the array */ | /* Returns the number of element stored in the array */ | |||
size_t xine_array_size(const xine_array_t *array) XINE_PROTECTED; | size_t xine_array_size(const xine_array_t *array) XINE_PROTECTED; | |||
/* Removes all elements from an array */ | /* Removes all elements from an array */ | |||
void xine_array_clear(xine_array_t *array) XINE_PROTECTED; | void xine_array_clear(xine_array_t *array) XINE_PROTECTED; | |||
End of changes. 1 change blocks. | ||||
1 lines changed or deleted | 1 lines changed or added | |||
attributes.h | attributes.h | |||
---|---|---|---|---|
skipping to change at line 35 | skipping to change at line 35 | |||
#ifndef ATTRIBUTE_H_ | #ifndef ATTRIBUTE_H_ | |||
#define ATTRIBUTE_H_ | #define ATTRIBUTE_H_ | |||
#ifdef ATTRIBUTE_ALIGNED_MAX | #ifdef ATTRIBUTE_ALIGNED_MAX | |||
#define ATTR_ALIGN(align) __attribute__ ((__aligned__ ((ATTRIBUTE_ALIGNED_M AX < align) ? ATTRIBUTE_ALIGNED_MAX : align))) | #define ATTR_ALIGN(align) __attribute__ ((__aligned__ ((ATTRIBUTE_ALIGNED_M AX < align) ? ATTRIBUTE_ALIGNED_MAX : align))) | |||
#else | #else | |||
#define ATTR_ALIGN(align) | #define ATTR_ALIGN(align) | |||
#endif | #endif | |||
/* disable GNU __attribute__ extension, when not compiling with GNU C */ | ||||
#if defined(__GNUC__) || defined (__ICC) | ||||
#ifndef ATTRIBUTE_PACKED | ||||
#define ATTRIBUTE_PACKED 1 | ||||
#endif | ||||
#else | ||||
#undef ATTRIBUTE_PACKED | ||||
#ifndef __attribute__ | ||||
#define __attribute__(x) /**/ | ||||
#endif /* __attribute __*/ | ||||
#endif | ||||
#ifdef XINE_COMPILE | #ifdef XINE_COMPILE | |||
# include "configure.h" | # include "configure.h" | |||
#else | ||||
# if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 95 ) | ||||
# define SUPPORT_ATTRIBUTE_PACKED 1 | ||||
# endif | ||||
# if __GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 3 ) | ||||
# define SUPPORT_ATTRIBUTE_DEPRECATED 1 | ||||
# define SUPPORT_ATTRIBUTE_FORMAT 1 | ||||
# define SUPPORT_ATTRIBUTE_FORMAT_ARG 1 | ||||
# define SUPPORT_ATTRIBUTE_MALLOC 1 | ||||
# define SUPPORT_ATTRIBUTE_UNUSED 1 | ||||
# define SUPPORT_ATTRIBUTE_CONST 1 | ||||
# endif | ||||
# if __GNUC__ >= 4 | ||||
# define SUPPORT_ATTRIBUTE_VISIBILITY_DEFAULT 1 | ||||
# if __ELF__ | ||||
# define SUPPORT_ATTRIBUTE_VISIBILITY_PROTECTED 1 | ||||
# endif | ||||
# define SUPPORT_ATTRIBUTE_SENTINEL 1 | ||||
# endif | ||||
#endif | #endif | |||
/* Export protected only for libxine functions */ | /* Export protected only for libxine functions */ | |||
#if defined(XINE_LIBRARY_COMPILE) && defined(SUPPORT_ATTRIBUTE_VISIBILITY_P ROTECTED) | #if defined(XINE_LIBRARY_COMPILE) && defined(SUPPORT_ATTRIBUTE_VISIBILITY_P ROTECTED) | |||
# define XINE_PROTECTED __attribute__((__visibility__("protected"))) | # define XINE_PROTECTED __attribute__((__visibility__("protected"))) | |||
#elif defined(XINE_LIBRARY_COMPILE) && defined(SUPPORT_ATTRIBUTE_VISIBILITY _DEFAULT) | #elif defined(XINE_LIBRARY_COMPILE) && defined(SUPPORT_ATTRIBUTE_VISIBILITY _DEFAULT) | |||
# define XINE_PROTECTED __attribute__((__visibility__("default"))) | # define XINE_PROTECTED __attribute__((__visibility__("default"))) | |||
#else | #else | |||
# define XINE_PROTECTED | # define XINE_PROTECTED | |||
#endif | #endif | |||
#ifdef SUPPORT_ATTRIBUTE_SENTINEL | #ifdef SUPPORT_ATTRIBUTE_SENTINEL | |||
# define XINE_SENTINEL __attribute__((__sentinel__)) | # define XINE_SENTINEL __attribute__((__sentinel__)) | |||
#else | #else | |||
# define XINE_SENTINEL | # define XINE_SENTINEL | |||
#endif | #endif | |||
#ifdef SUPPORT_ATTRIBUTE_DEPRECATED | ||||
# define XINE_DEPRECATED __attribute__((__deprecated__)) | ||||
#else | ||||
# define XINE_DEPRECATED | ||||
#endif | ||||
#ifndef __attr_unused | #ifndef __attr_unused | |||
# ifdef SUPPORT_ATTRIBUTE_UNUSED | # ifdef SUPPORT_ATTRIBUTE_UNUSED | |||
# define __attr_unused __attribute__((__unused__)) | # define __attr_unused __attribute__((__unused__)) | |||
# else | # else | |||
# define __attr_unused | # define __attr_unused | |||
# endif | # endif | |||
#endif | #endif | |||
/* Format attributes */ | /* Format attributes */ | |||
#ifdef SUPPORT_ATTRIBUTE_FORMAT | #ifdef SUPPORT_ATTRIBUTE_FORMAT | |||
# define XINE_FORMAT_PRINTF(fmt,var) __attribute__((__format__(__printf__, fmt, var))) | # define XINE_FORMAT_PRINTF(fmt,var) __attribute__((__format__(__printf__, fmt, var))) | |||
#else | #else | |||
# define XINE_FORMAT_PRINTF(fmt,var) | # define XINE_FORMAT_PRINTF(fmt,var) | |||
#endif | #endif | |||
#ifdef SUPPORT_ATTRIBUTE_FORMAT_ARG | #ifdef SUPPORT_ATTRIBUTE_FORMAT_ARG | |||
# define XINE_FORMAT_PRINTF_ARG(fmt) __attribute__((__format_arg__(fmt))) | # define XINE_FORMAT_PRINTF_ARG(fmt) __attribute__((__format_arg__(fmt))) | |||
#else | #else | |||
# define XINE_FORMAT_PRINTF_ARG(fmt) | # define XINE_FORMAT_PRINTF_ARG(fmt) | |||
#endif | #endif | |||
#ifdef SUPPORT_ATTRIBUTE_MALLOC | ||||
# define XINE_MALLOC __attribute__((__malloc__)) | ||||
#else | ||||
# define XINE_MALLOC | ||||
#endif | ||||
#ifdef SUPPORT_ATTRIBUTE_PACKED | ||||
# define XINE_PACKED __attribute__((__packed__)) | ||||
#else | ||||
# define XINE_PACKED | ||||
#endif | ||||
#ifdef SUPPORT_ATTRIBUTE_CONST | ||||
# define XINE_CONST __attribute__((__const__)) | ||||
#else | ||||
# define XINE_CONST | ||||
#endif | ||||
#endif /* ATTRIBUTE_H_ */ | #endif /* ATTRIBUTE_H_ */ | |||
End of changes. 4 change blocks. | ||||
12 lines changed or deleted | 45 lines changed or added | |||
audio_out.h | audio_out.h | |||
---|---|---|---|---|
skipping to change at line 260 | skipping to change at line 260 | |||
* free all class-related resources | * free all class-related resources | |||
*/ | */ | |||
void (*dispose) (audio_driver_class_t *); | void (*dispose) (audio_driver_class_t *); | |||
}; | }; | |||
/* | /* | |||
* this initiates the audio_out sync routines | * this initiates the audio_out sync routines | |||
* found in ./src/xine-engine/audio_out.c | * found in ./src/xine-engine/audio_out.c | |||
*/ | */ | |||
xine_audio_port_t *_x_ao_new_port (xine_t *xine, ao_driver_t *driver, int g rab_only) XINE_PROTECTED; | xine_audio_port_t *_x_ao_new_port (xine_t *xine, ao_driver_t *driver, int g rab_only) XINE_MALLOC XINE_PROTECTED; | |||
/* | /* | |||
* audio output modes + capabilities | * audio output modes + capabilities | |||
*/ | */ | |||
#define AO_CAP_NOCAP 0x00000000 /* driver has no capabilities */ | #define AO_CAP_NOCAP 0x00000000 /* driver has no capabilities */ | |||
#define AO_CAP_MODE_A52 0x00000001 /* driver supports A/52 output */ | #define AO_CAP_MODE_A52 0x00000001 /* driver supports A/52 output */ | |||
#define AO_CAP_MODE_AC5 0x00000002 /* driver supports AC5 output */ | #define AO_CAP_MODE_AC5 0x00000002 /* driver supports AC5 output */ | |||
/* 1 sample == 2 bytes (C) */ | /* 1 sample == 2 bytes (C) */ | |||
#define AO_CAP_MODE_MONO 0x00000004 /* driver supports mono output */ | #define AO_CAP_MODE_MONO 0x00000004 /* driver supports mono output */ | |||
End of changes. 1 change blocks. | ||||
1 lines changed or deleted | 1 lines changed or added | |||
broadcaster.h | broadcaster.h | |||
---|---|---|---|---|
skipping to change at line 36 | skipping to change at line 36 | |||
#ifdef __cplusplus | #ifdef __cplusplus | |||
extern "C" { | extern "C" { | |||
#endif | #endif | |||
#ifdef HAVE_CONFIG_H | #ifdef HAVE_CONFIG_H | |||
#include "config.h" | #include "config.h" | |||
#endif | #endif | |||
typedef struct broadcaster_s broadcaster_t; | typedef struct broadcaster_s broadcaster_t; | |||
broadcaster_t *_x_init_broadcaster(xine_stream_t *stream, int port) XINE_PR OTECTED; | broadcaster_t *_x_init_broadcaster(xine_stream_t *stream, int port) XINE_MA LLOC XINE_PROTECTED; | |||
void _x_close_broadcaster(broadcaster_t *c_this) XINE_PROTECTED; | void _x_close_broadcaster(broadcaster_t *c_this) XINE_PROTECTED; | |||
int _x_get_broadcaster_port(broadcaster_t *c_this) XINE_PROTECTED; | int _x_get_broadcaster_port(broadcaster_t *c_this) XINE_PROTECTED; | |||
#ifdef __cplusplus | #ifdef __cplusplus | |||
} | } | |||
#endif | #endif | |||
#endif | #endif | |||
End of changes. 1 change blocks. | ||||
1 lines changed or deleted | 1 lines changed or added | |||
buffer.h | buffer.h | |||
---|---|---|---|---|
skipping to change at line 603 | skipping to change at line 603 | |||
void *put_cb_data[BUF_MAX_CALLBACKS]; | void *put_cb_data[BUF_MAX_CALLBACKS]; | |||
void *get_cb_data[BUF_MAX_CALLBACKS]; | void *get_cb_data[BUF_MAX_CALLBACKS]; | |||
} ; | } ; | |||
/* | /* | |||
* allocate and initialize new (empty) fifo buffer, | * allocate and initialize new (empty) fifo buffer, | |||
* init buffer pool for it: | * init buffer pool for it: | |||
* allocate num_buffers of buf_size bytes each | * allocate num_buffers of buf_size bytes each | |||
*/ | */ | |||
fifo_buffer_t *_x_fifo_buffer_new (int num_buffers, uint32_t buf_size) XINE | fifo_buffer_t *_x_fifo_buffer_new (int num_buffers, uint32_t buf_size) XINE | |||
_PROTECTED; | _MALLOC XINE_PROTECTED; | |||
fifo_buffer_t *_x_dummy_fifo_buffer_new (int num_buffers, uint32_t buf_size | fifo_buffer_t *_x_dummy_fifo_buffer_new (int num_buffers, uint32_t buf_size | |||
) XINE_PROTECTED; | ) XINE_MALLOC XINE_PROTECTED; | |||
/* return BUF_VIDEO_xxx given the fourcc | /* return BUF_VIDEO_xxx given the fourcc | |||
* fourcc_int must be read in machine endianness | * fourcc_int must be read in machine endianness | |||
* example: fourcc_int = *(uint32_t *)fourcc_char; | * example: fourcc_int = *(uint32_t *)fourcc_char; | |||
*/ | */ | |||
uint32_t _x_fourcc_to_buf_video( uint32_t fourcc_int ) XINE_PROTECTED; | uint32_t _x_fourcc_to_buf_video( uint32_t fourcc_int ) XINE_PROTECTED; | |||
/* return codec name given BUF_VIDEO_xxx */ | /* return codec name given BUF_VIDEO_xxx */ | |||
char * _x_buf_video_name( uint32_t buf_type ) XINE_PROTECTED; | char * _x_buf_video_name( uint32_t buf_type ) XINE_PROTECTED; | |||
/* return BUF_AUDIO_xxx given the formattag */ | /* return BUF_AUDIO_xxx given the formattag */ | |||
uint32_t _x_formattag_to_buf_audio( uint32_t formattag ) XINE_PROTECTED; | uint32_t _x_formattag_to_buf_audio( uint32_t formattag ) XINE_PROTECTED; | |||
/* return codec name given BUF_AUDIO_xxx */ | /* return codec name given BUF_AUDIO_xxx */ | |||
char * _x_buf_audio_name( uint32_t buf_type ) XINE_PROTECTED; | char * _x_buf_audio_name( uint32_t buf_type ) XINE_PROTECTED; | |||
#ifndef ATTRIBUTE_PACKED | #ifndef SUPPORT_ATTRIBUTE_PACKED | |||
/* no attribute packed? let's try with pragma pack as a last resort */ | /* no attribute packed? let's try with pragma pack as a last resort */ | |||
#pragma pack(2) | #pragma pack(2) | |||
#endif | #endif | |||
/* this is xine version of BITMAPINFOHEADER | /* this is xine version of BITMAPINFOHEADER | |||
* - should be safe to compile on 64bits machines | * - should be safe to compile on 64bits machines | |||
* - will always use machine endian format, so demuxers reading | * - will always use machine endian format, so demuxers reading | |||
* stuff from win32 formats must use the function below. | * stuff from win32 formats must use the function below. | |||
*/ | */ | |||
typedef struct __attribute__((__packed__)) { | typedef struct XINE_PACKED { | |||
int32_t biSize; | int32_t biSize; | |||
int32_t biWidth; | int32_t biWidth; | |||
int32_t biHeight; | int32_t biHeight; | |||
int16_t biPlanes; | int16_t biPlanes; | |||
int16_t biBitCount; | int16_t biBitCount; | |||
uint32_t biCompression; | uint32_t biCompression; | |||
int32_t biSizeImage; | int32_t biSizeImage; | |||
int32_t biXPelsPerMeter; | int32_t biXPelsPerMeter; | |||
int32_t biYPelsPerMeter; | int32_t biYPelsPerMeter; | |||
int32_t biClrUsed; | int32_t biClrUsed; | |||
int32_t biClrImportant; | int32_t biClrImportant; | |||
} xine_bmiheader; | } xine_bmiheader; | |||
/* this is xine version of WAVEFORMATEX | /* this is xine version of WAVEFORMATEX | |||
* (the same comments from xine_bmiheader) | * (the same comments from xine_bmiheader) | |||
*/ | */ | |||
typedef struct __attribute__((__packed__)) { | typedef struct XINE_PACKED { | |||
int16_t wFormatTag; | int16_t wFormatTag; | |||
int16_t nChannels; | int16_t nChannels; | |||
int32_t nSamplesPerSec; | int32_t nSamplesPerSec; | |||
int32_t nAvgBytesPerSec; | int32_t nAvgBytesPerSec; | |||
int16_t nBlockAlign; | int16_t nBlockAlign; | |||
int16_t wBitsPerSample; | int16_t wBitsPerSample; | |||
int16_t cbSize; | int16_t cbSize; | |||
} xine_waveformatex; | } xine_waveformatex; | |||
#ifndef ATTRIBUTE_PACKED | #ifndef SUPPORT_ATTRIBUTE_PACKED | |||
#pragma pack() | #pragma pack() | |||
#endif | #endif | |||
/* convert xine_bmiheader struct from little endian */ | /* convert xine_bmiheader struct from little endian */ | |||
void _x_bmiheader_le2me( xine_bmiheader *bih ) XINE_PROTECTED; | void _x_bmiheader_le2me( xine_bmiheader *bih ) XINE_PROTECTED; | |||
/* convert xine_waveformatex struct from little endian */ | /* convert xine_waveformatex struct from little endian */ | |||
void _x_waveformatex_le2me( xine_waveformatex *wavex ) XINE_PROTECTED; | void _x_waveformatex_le2me( xine_waveformatex *wavex ) XINE_PROTECTED; | |||
#ifdef __cplusplus | #ifdef __cplusplus | |||
End of changes. 5 change blocks. | ||||
8 lines changed or deleted | 8 lines changed or added | |||
configfile.h | configfile.h | |||
---|---|---|---|---|
skipping to change at line 202 | skipping to change at line 202 | |||
/* | /* | |||
* current config file's version number | * current config file's version number | |||
*/ | */ | |||
int current_version; | int current_version; | |||
}; | }; | |||
/* | /* | |||
* allocate and init a new xine config object | * allocate and init a new xine config object | |||
*/ | */ | |||
config_values_t *_x_config_init (void) XINE_PROTECTED; | config_values_t *_x_config_init (void) XINE_MALLOC XINE_PROTECTED; | |||
/* | /* | |||
* interpret stream_setup part of mrls for config value changes | * interpret stream_setup part of mrls for config value changes | |||
*/ | */ | |||
int _x_config_change_opt(config_values_t *config, const char *opt) XINE_PRO TECTED; | int _x_config_change_opt(config_values_t *config, const char *opt) XINE_PRO TECTED; | |||
#ifdef __cplusplus | #ifdef __cplusplus | |||
} | } | |||
#endif | #endif | |||
End of changes. 1 change blocks. | ||||
1 lines changed or deleted | 1 lines changed or added | |||
input_plugin.h | input_plugin.h | |||
---|---|---|---|---|
skipping to change at line 325 | skipping to change at line 325 | |||
#define mrl_file_normal (1 << 11) | #define mrl_file_normal (1 << 11) | |||
#define mrl_file_symlink (1 << 12) | #define mrl_file_symlink (1 << 12) | |||
#define mrl_file_sock (1 << 13) | #define mrl_file_sock (1 << 13) | |||
#define mrl_file_exec (1 << 14) | #define mrl_file_exec (1 << 14) | |||
#define mrl_file_backup (1 << 15) | #define mrl_file_backup (1 << 15) | |||
#define mrl_file_hidden (1 << 16) | #define mrl_file_hidden (1 << 16) | |||
/* | /* | |||
* Freeing/zeroing all of entries of given mrl. | * Freeing/zeroing all of entries of given mrl. | |||
*/ | */ | |||
#define MRL_ZERO(m) { | #define MRL_ZERO(m) { \ | |||
\ | if((m)) { \ | |||
if((m)) { | free((m)->origin); \ | |||
\ | free((m)->mrl); \ | |||
if((m)->origin) | free((m)->link); \ | |||
\ | (m)->origin = NULL; | |||
free((m)->origin); | \ | |||
\ | (m)->mrl = NULL; | |||
if((m)->mrl) | \ | |||
\ | (m)->link = NULL; | |||
free((m)->mrl); | \ | |||
\ | (m)->type = 0; \ | |||
if((m)->link) | (m)->size = (off_t) 0; \ | |||
\ | } \ | |||
free((m)->link); | } | |||
\ | ||||
(m)->origin = NULL; | ||||
\ | ||||
(m)->mrl = NULL; | ||||
\ | ||||
(m)->link = NULL; | ||||
\ | ||||
(m)->type = 0; | ||||
\ | ||||
(m)->size = (off_t) 0; | ||||
\ | ||||
} | ||||
\ | ||||
} | ||||
/* | /* | |||
* Duplicate two mrls entries (s = source, d = destination). | * Duplicate two mrls entries (s = source, d = destination). | |||
*/ | */ | |||
#define MRL_DUPLICATE(s, d) { | #define MRL_DUPLICATE(s, d) { \ | |||
\ | _x_assert((s) != NULL); \ | |||
_x_assert((s) != NULL); | _x_assert((d) != NULL); \ | |||
\ | \ | |||
_x_assert((d) != NULL); | free((d)->origin); \ | |||
\ | (d)->origin = (s)->origin ? strdup((s)->origin) : NULL; \ | |||
\ | ||||
\ | free((d)->mrl); \ | |||
if((s)->origin) { | (d)->mrl = (s)->mrl ? strdup((s)->mrl) : NULL; \ | |||
\ | \ | |||
if((d)->origin) { | free((d)->link); \ | |||
\ | (d)->link = (s)->link ? strdup((s)->link) : NULL; \ | |||
(d)->origin = (char *) realloc((d)->origin, strlen((s)->origin) + 1); | \ | |||
\ | (d)->type = (s)->type; \ | |||
sprintf((d)->origin, "%s", (s)->origin); | (d)->size = (s)->size; \ | |||
\ | } | |||
} | ||||
\ | ||||
else | ||||
\ | ||||
(d)->origin = strdup((s)->origin); | ||||
\ | ||||
} | ||||
\ | ||||
else | ||||
\ | ||||
(d)->origin = NULL; | ||||
\ | ||||
\ | ||||
if((s)->mrl) { | ||||
\ | ||||
if((d)->mrl) { | ||||
\ | ||||
(d)->mrl = (char *) realloc((d)->mrl, strlen((s)->mrl) + 1); | ||||
\ | ||||
sprintf((d)->mrl, "%s", (s)->mrl); | ||||
\ | ||||
} | ||||
\ | ||||
else | ||||
\ | ||||
(d)->mrl = strdup((s)->mrl); | ||||
\ | ||||
} | ||||
\ | ||||
else | ||||
\ | ||||
(d)->mrl = NULL; | ||||
\ | ||||
\ | ||||
if((s)->link) { | ||||
\ | ||||
if((d)->link) { | ||||
\ | ||||
(d)->link = (char *) realloc((d)->link, strlen((s)->link) + 1); | ||||
\ | ||||
sprintf((d)->link, "%s", (s)->link); | ||||
\ | ||||
} | ||||
\ | ||||
else | ||||
\ | ||||
(d)->link = strdup((s)->link); | ||||
\ | ||||
} | ||||
\ | ||||
else | ||||
\ | ||||
(d)->link = NULL; | ||||
\ | ||||
\ | ||||
(d)->type = (s)->type; | ||||
\ | ||||
(d)->size = (s)->size; | ||||
\ | ||||
} | ||||
/* | /* | |||
* Duplicate two arrays of mrls (s = source, d = destination). | * Duplicate two arrays of mrls (s = source, d = destination). | |||
*/ | */ | |||
#define MRLS_DUPLICATE(s, d) { \ | #define MRLS_DUPLICATE(s, d) { \ | |||
int i = 0; \ | int i = 0; \ | |||
\ | \ | |||
_x_assert((s) != NULL); \ | _x_assert((s) != NULL); \ | |||
_x_assert((d) != NULL); \ | _x_assert((d) != NULL); \ | |||
\ | \ | |||
End of changes. 2 change blocks. | ||||
108 lines changed or deleted | 31 lines changed or added | |||
list.h | list.h | |||
---|---|---|---|---|
skipping to change at line 51 | skipping to change at line 51 | |||
#ifndef XINE_LIST_H | #ifndef XINE_LIST_H | |||
#define XINE_LIST_H | #define XINE_LIST_H | |||
/* Doubly-linked list type */ | /* Doubly-linked list type */ | |||
typedef struct xine_list_s xine_list_t; | typedef struct xine_list_s xine_list_t; | |||
/* List iterator */ | /* List iterator */ | |||
typedef void* xine_list_iterator_t; | typedef void* xine_list_iterator_t; | |||
/* Constructor */ | /* Constructor */ | |||
xine_list_t *xine_list_new(void) XINE_PROTECTED; | xine_list_t *xine_list_new(void) XINE_MALLOC XINE_PROTECTED; | |||
/* Destructor */ | /* Destructor */ | |||
void xine_list_delete(xine_list_t *list) XINE_PROTECTED; | void xine_list_delete(xine_list_t *list) XINE_PROTECTED; | |||
/* Returns the number of element stored in the list */ | /* Returns the number of element stored in the list */ | |||
unsigned int xine_list_size(xine_list_t *list) XINE_PROTECTED; | unsigned int xine_list_size(xine_list_t *list) XINE_PROTECTED; | |||
/* Returns true if the number of elements is zero, false otherwise */ | /* Returns true if the number of elements is zero, false otherwise */ | |||
unsigned int xine_list_empty(xine_list_t *list) XINE_PROTECTED; | unsigned int xine_list_empty(xine_list_t *list) XINE_PROTECTED; | |||
End of changes. 1 change blocks. | ||||
1 lines changed or deleted | 1 lines changed or added | |||
metronom.h | metronom.h | |||
---|---|---|---|---|
skipping to change at line 226 | skipping to change at line 226 | |||
* metronom options | * metronom options | |||
*/ | */ | |||
#define METRONOM_AV_OFFSET 2 | #define METRONOM_AV_OFFSET 2 | |||
#define METRONOM_ADJ_VPTS_OFFSET 3 | #define METRONOM_ADJ_VPTS_OFFSET 3 | |||
#define METRONOM_FRAME_DURATION 4 | #define METRONOM_FRAME_DURATION 4 | |||
#define METRONOM_SPU_OFFSET 5 | #define METRONOM_SPU_OFFSET 5 | |||
#define METRONOM_VPTS_OFFSET 6 | #define METRONOM_VPTS_OFFSET 6 | |||
#define METRONOM_PREBUFFER 7 | #define METRONOM_PREBUFFER 7 | |||
metronom_t *_x_metronom_init (int have_video, int have_audio, xine_t *xine) XINE_PROTECTED; | metronom_t *_x_metronom_init (int have_video, int have_audio, xine_t *xine) XINE_MALLOC XINE_PROTECTED; | |||
/* FIXME: reorder this structure on the next cleanup to remove the dummies */ | /* FIXME: reorder this structure on the next cleanup to remove the dummies */ | |||
struct metronom_clock_s { | struct metronom_clock_s { | |||
/* | /* | |||
* set/get options for clock, constants see below | * set/get options for clock, constants see below | |||
*/ | */ | |||
void (*set_option) (metronom_clock_t *self, int option, int64_t value); | void (*set_option) (metronom_clock_t *self, int option, int64_t value); | |||
int64_t (*get_option) (metronom_clock_t *self, int option); | int64_t (*get_option) (metronom_clock_t *self, int option); | |||
skipping to change at line 318 | skipping to change at line 318 | |||
#endif | #endif | |||
int speed; | int speed; | |||
#ifdef METRONOM_CLOCK_INTERNAL | #ifdef METRONOM_CLOCK_INTERNAL | |||
pthread_mutex_t lock; | pthread_mutex_t lock; | |||
pthread_cond_t cancel; | pthread_cond_t cancel; | |||
#endif | #endif | |||
}; | }; | |||
metronom_clock_t *_x_metronom_clock_init(xine_t *xine) XINE_PROTECTED; | metronom_clock_t *_x_metronom_clock_init(xine_t *xine) XINE_MALLOC XINE_PRO TECTED; | |||
/* | /* | |||
* clock options | * clock options | |||
*/ | */ | |||
#define CLOCK_SCR_ADJUSTABLE 1 | #define CLOCK_SCR_ADJUSTABLE 1 | |||
/* | /* | |||
* SCR (system clock reference) plugins | * SCR (system clock reference) plugins | |||
*/ | */ | |||
End of changes. 2 change blocks. | ||||
2 lines changed or deleted | 2 lines changed or added | |||
osd.h | osd.h | |||
---|---|---|---|---|
skipping to change at line 228 | skipping to change at line 228 | |||
osd_font_t *fonts; /* loaded fonts */ | osd_font_t *fonts; /* loaded fonts */ | |||
int textpalette; /* default textpalette */ | int textpalette; /* default textpalette */ | |||
xine_stream_t *stream; | xine_stream_t *stream; | |||
}; | }; | |||
/* | /* | |||
* initialize the osd rendering engine | * initialize the osd rendering engine | |||
*/ | */ | |||
osd_renderer_t *_x_osd_renderer_init( xine_stream_t *stream ); | osd_renderer_t *_x_osd_renderer_init( xine_stream_t *stream ) XINE_MALLOC; | |||
/* | /* | |||
* The size of a text palette | * The size of a text palette | |||
*/ | */ | |||
#define TEXT_PALETTE_SIZE 11 | #define TEXT_PALETTE_SIZE 11 | |||
/* | /* | |||
* Preassigned color indices for rendering text | * Preassigned color indices for rendering text | |||
* (more can be added, not exceeding OVL_PALETTE_SIZE) | * (more can be added, not exceeding OVL_PALETTE_SIZE) | |||
End of changes. 1 change blocks. | ||||
1 lines changed or deleted | 1 lines changed or added | |||
pool.h | pool.h | |||
---|---|---|---|---|
skipping to change at line 39 | skipping to change at line 39 | |||
* object_size: sizeof(your struct) | * object_size: sizeof(your struct) | |||
* create_object: function called to create an object (can be NULL) | * create_object: function called to create an object (can be NULL) | |||
* prepare_object: function called to prepare an object to returned to th e client (can be NULL) | * prepare_object: function called to prepare an object to returned to th e client (can be NULL) | |||
* return_object: function called to prepare an object to returned to th e pool (can be NULL) | * return_object: function called to prepare an object to returned to th e pool (can be NULL) | |||
* delete_object: function called to delete an object (can be NULL) | * delete_object: function called to delete an object (can be NULL) | |||
*/ | */ | |||
xine_pool_t *xine_pool_new(size_t object_size, | xine_pool_t *xine_pool_new(size_t object_size, | |||
void (create_object)(void *object), | void (create_object)(void *object), | |||
void (prepare_object)(void *object), | void (prepare_object)(void *object), | |||
void (return_object)(void *object), | void (return_object)(void *object), | |||
void (delete_object)(void *object)) XINE_PROTECT ED; | void (delete_object)(void *object)) XINE_MALLOC XINE_PROTECTED; | |||
/* Deletes a pool */ | /* Deletes a pool */ | |||
void xine_pool_delete(xine_pool_t *pool) XINE_PROTECTED; | void xine_pool_delete(xine_pool_t *pool) XINE_PROTECTED; | |||
/* Get an object from the pool */ | /* Get an object from the pool */ | |||
void *xine_pool_get(xine_pool_t *pool) XINE_PROTECTED; | void *xine_pool_get(xine_pool_t *pool) XINE_PROTECTED; | |||
/* Returns an object to the pool */ | /* Returns an object to the pool */ | |||
void xine_pool_put(xine_pool_t *pool, void *object) XINE_PROTECTED; | void xine_pool_put(xine_pool_t *pool, void *object) XINE_PROTECTED; | |||
End of changes. 1 change blocks. | ||||
1 lines changed or deleted | 1 lines changed or added | |||
refcounter.h | refcounter.h | |||
---|---|---|---|---|
skipping to change at line 38 | skipping to change at line 38 | |||
typedef struct { | typedef struct { | |||
pthread_mutex_t lock; | pthread_mutex_t lock; | |||
int count; | int count; | |||
void* object; /* referenced object */ | void* object; /* referenced object */ | |||
void (*destructor)(void *); /* object destructor */ | void (*destructor)(void *); /* object destructor */ | |||
} refcounter_t; | } refcounter_t; | |||
typedef void (*refcounter_destructor)(void*); | typedef void (*refcounter_destructor)(void*); | |||
refcounter_t* _x_new_refcounter(void *object, refcounter_destructor destruc tor) XINE_PROTECTED; | refcounter_t* _x_new_refcounter(void *object, refcounter_destructor destruc tor) XINE_MALLOC XINE_PROTECTED; | |||
int _x_refcounter_inc(refcounter_t *refcounter) XINE_PROTECTED; | int _x_refcounter_inc(refcounter_t *refcounter) XINE_PROTECTED; | |||
int _x_refcounter_dec(refcounter_t *refcounter) XINE_PROTECTED; | int _x_refcounter_dec(refcounter_t *refcounter) XINE_PROTECTED; | |||
void _x_refcounter_dispose(refcounter_t *refcounter) XINE_PROTECTED; | void _x_refcounter_dispose(refcounter_t *refcounter) XINE_PROTECTED; | |||
#endif /* HAVE_REFCOUNTER_H */ | #endif /* HAVE_REFCOUNTER_H */ | |||
End of changes. 1 change blocks. | ||||
1 lines changed or deleted | 1 lines changed or added | |||
ring_buffer.h | ring_buffer.h | |||
---|---|---|---|---|
skipping to change at line 25 | skipping to change at line 25 | |||
* | * | |||
* You should have received a copy of the GNU General Public License | * You should have received a copy of the GNU General Public License | |||
* along with this program; if not, write to the Free Software | * along with this program; if not, write to the Free Software | |||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA | |||
* | * | |||
* Fifo + Ring Buffer | * Fifo + Ring Buffer | |||
*/ | */ | |||
typedef struct xine_ring_buffer_s xine_ring_buffer_t; | typedef struct xine_ring_buffer_s xine_ring_buffer_t; | |||
/* Creates a new ring buffer */ | /* Creates a new ring buffer */ | |||
xine_ring_buffer_t *xine_ring_buffer_new(size_t size) XINE_PROTECTED; | xine_ring_buffer_t *xine_ring_buffer_new(size_t size) XINE_MALLOC XINE_PROT ECTED; | |||
/* Deletes a ring buffer */ | /* Deletes a ring buffer */ | |||
void xine_ring_buffer_delete(xine_ring_buffer_t *ring_buffer) XINE_PROTECTE D; | void xine_ring_buffer_delete(xine_ring_buffer_t *ring_buffer) XINE_PROTECTE D; | |||
/* Returns a new chunk of the specified size */ | /* Returns a new chunk of the specified size */ | |||
/* Might block if the ring buffer is full */ | /* Might block if the ring buffer is full */ | |||
void *xine_ring_buffer_alloc(xine_ring_buffer_t *ring_buffer, size_t size) XINE_PROTECTED; | void *xine_ring_buffer_alloc(xine_ring_buffer_t *ring_buffer, size_t size) XINE_PROTECTED; | |||
/* Put a chunk into the ring */ | /* Put a chunk into the ring */ | |||
void xine_ring_buffer_put(xine_ring_buffer_t *ring_buffer, void *chunk) XIN E_PROTECTED; | void xine_ring_buffer_put(xine_ring_buffer_t *ring_buffer, void *chunk) XIN E_PROTECTED; | |||
End of changes. 1 change blocks. | ||||
1 lines changed or deleted | 1 lines changed or added | |||
scratch.h | scratch.h | |||
---|---|---|---|---|
skipping to change at line 54 | skipping to change at line 54 | |||
char **lines; | char **lines; | |||
char **ordered; | char **ordered; | |||
int num_lines; | int num_lines; | |||
int cur; | int cur; | |||
pthread_mutex_t lock; | pthread_mutex_t lock; | |||
}; | }; | |||
scratch_buffer_t *_x_new_scratch_buffer (int num_lines) XINE_PROTECTED; | scratch_buffer_t *_x_new_scratch_buffer (int num_lines) XINE_MALLOC XINE_PR OTECTED; | |||
#endif | #endif | |||
End of changes. 1 change blocks. | ||||
1 lines changed or deleted | 1 lines changed or added | |||
sorted_array.h | sorted_array.h | |||
---|---|---|---|---|
skipping to change at line 66 | skipping to change at line 66 | |||
#include "array.h" | #include "array.h" | |||
/* Array type */ | /* Array type */ | |||
typedef struct xine_sarray_s xine_sarray_t; | typedef struct xine_sarray_s xine_sarray_t; | |||
/* Array element comparator */ | /* Array element comparator */ | |||
typedef int (*xine_sarray_comparator_t)(void*, void*); | typedef int (*xine_sarray_comparator_t)(void*, void*); | |||
/* Constructor */ | /* Constructor */ | |||
xine_sarray_t *xine_sarray_new(size_t initial_size, xine_sarray_comparator_ t comparator) XINE_PROTECTED; | xine_sarray_t *xine_sarray_new(size_t initial_size, xine_sarray_comparator_ t comparator) XINE_MALLOC XINE_PROTECTED; | |||
/* Destructor */ | /* Destructor */ | |||
void xine_sarray_delete(xine_sarray_t *sarray) XINE_PROTECTED; | void xine_sarray_delete(xine_sarray_t *sarray) XINE_PROTECTED; | |||
/* Returns the number of element stored in the array */ | /* Returns the number of element stored in the array */ | |||
size_t xine_sarray_size(const xine_sarray_t *sarray) XINE_PROTECTED; | size_t xine_sarray_size(const xine_sarray_t *sarray) XINE_PROTECTED; | |||
/* Removes all elements from an array */ | /* Removes all elements from an array */ | |||
void xine_sarray_clear(xine_sarray_t *sarray) XINE_PROTECTED; | void xine_sarray_clear(xine_sarray_t *sarray) XINE_PROTECTED; | |||
End of changes. 1 change blocks. | ||||
1 lines changed or deleted | 1 lines changed or added | |||
video_out.h | video_out.h | |||
---|---|---|---|---|
skipping to change at line 446 | skipping to change at line 446 | |||
int (*redraw_needed) (video_overlay_manager_t *this_gen, int64_t vpts ); | int (*redraw_needed) (video_overlay_manager_t *this_gen, int64_t vpts ); | |||
void (*multiple_overlay_blend) (video_overlay_manager_t *this_gen, int64_ t vpts, | void (*multiple_overlay_blend) (video_overlay_manager_t *this_gen, int64_ t vpts, | |||
vo_driver_t *output, vo_frame_t *vo_img, int enabled); | vo_driver_t *output, vo_frame_t *vo_img, int enabled); | |||
}; | }; | |||
/* | /* | |||
* build a video_out_port from | * build a video_out_port from | |||
* a given video driver | * a given video driver | |||
*/ | */ | |||
xine_video_port_t *_x_vo_new_port (xine_t *xine, vo_driver_t *driver, int g rabonly) XINE_PROTECTED; | xine_video_port_t *_x_vo_new_port (xine_t *xine, vo_driver_t *driver, int g rabonly) XINE_MALLOC XINE_PROTECTED; | |||
#ifdef __cplusplus | #ifdef __cplusplus | |||
} | } | |||
#endif | #endif | |||
#endif | #endif | |||
End of changes. 1 change blocks. | ||||
1 lines changed or deleted | 1 lines changed or added | |||
video_overlay.h | video_overlay.h | |||
---|---|---|---|---|
skipping to change at line 101 | skipping to change at line 101 | |||
typedef struct video_overlay_event_s { | typedef struct video_overlay_event_s { | |||
uint32_t event_type; /* Show SPU, Show OSD, Hide etc. */ | uint32_t event_type; /* Show SPU, Show OSD, Hide etc. */ | |||
int64_t vpts; /* Time when event will action. 0 means action now */ | int64_t vpts; /* Time when event will action. 0 means action now */ | |||
/* Once video_out blend_yuv etc. can take rle_elem_t with Colour, blend and length information. | /* Once video_out blend_yuv etc. can take rle_elem_t with Colour, blend and length information. | |||
* we can remove clut and blend from this structure. | * we can remove clut and blend from this structure. | |||
* This will allow for many more colours for OSD. | * This will allow for many more colours for OSD. | |||
*/ | */ | |||
video_overlay_object_t object; /* The image data. */ | video_overlay_object_t object; /* The image data. */ | |||
} video_overlay_event_t; | } video_overlay_event_t; | |||
video_overlay_manager_t *_x_video_overlay_new_manager(xine_t *) XINE_PROTEC TED; | video_overlay_manager_t *_x_video_overlay_new_manager(xine_t *) XINE_MALLOC XINE_PROTECTED; | |||
#endif | #endif | |||
End of changes. 1 change blocks. | ||||
1 lines changed or deleted | 1 lines changed or added | |||
xine.h | xine.h | |||
---|---|---|---|---|
skipping to change at line 89 | skipping to change at line 89 | |||
* xine opaque data types * | * xine opaque data types * | |||
*********************************************************************/ | *********************************************************************/ | |||
typedef struct xine_s xine_t; | typedef struct xine_s xine_t; | |||
typedef struct xine_stream_s xine_stream_t; | typedef struct xine_stream_s xine_stream_t; | |||
typedef struct xine_audio_port_s xine_audio_port_t; | typedef struct xine_audio_port_s xine_audio_port_t; | |||
typedef struct xine_video_port_s xine_video_port_t; | typedef struct xine_video_port_s xine_video_port_t; | |||
#ifndef XINE_DISABLE_DEPRECATED_FEATURES | #ifndef XINE_DISABLE_DEPRECATED_FEATURES | |||
/* convenience types: simple player UIs might want to call ports drivers */ | /* convenience types: simple player UIs might want to call ports drivers */ | |||
typedef xine_audio_port_t xine_ao_driver_t; | typedef xine_audio_port_t xine_ao_driver_t XINE_DEPRECATED; | |||
typedef xine_video_port_t xine_vo_driver_t; | typedef xine_video_port_t xine_vo_driver_t XINE_DEPRECATED; | |||
#endif | #endif | |||
/********************************************************************* | /********************************************************************* | |||
* global engine handling * | * global engine handling * | |||
*********************************************************************/ | *********************************************************************/ | |||
/* | /* | |||
* version information | * version information | |||
*/ | */ | |||
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 12 | #define XINE_SUB_VERSION 13 | |||
#define XINE_VERSION "1.1.12" | #define XINE_VERSION "1.1.13" | |||
/* | /* | |||
* 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 258 | skipping to change at line 258 | |||
*/ | */ | |||
int xine_play (xine_stream_t *stream, int start_pos, int start_time) XINE_ PROTECTED; | int xine_play (xine_stream_t *stream, int start_pos, int start_time) XINE_ PROTECTED; | |||
/* | /* | |||
* set xine to a trick mode for fast forward, backwards playback, | * set xine to a trick mode for fast forward, backwards playback, | |||
* low latency seeking. Please note that this works only with some | * low latency seeking. Please note that this works only with some | |||
* input plugins. mode constants see below. | * input plugins. mode constants see below. | |||
* | * | |||
* returns 1 if OK, 0 on error (use xine_get_error for details) | * returns 1 if OK, 0 on error (use xine_get_error for details) | |||
*/ | */ | |||
int xine_trick_mode (xine_stream_t *stream, int mode, int value) XINE_PROT ECTED; | int xine_trick_mode (xine_stream_t *stream, int mode, int value) XINE_PROT ECTED XINE_DEPRECATED; | |||
/* trick modes */ | /* trick modes */ | |||
#define XINE_TRICK_MODE_OFF 0 | #define XINE_TRICK_MODE_OFF 0 | |||
#define XINE_TRICK_MODE_SEEK_TO_POSITION 1 | #define XINE_TRICK_MODE_SEEK_TO_POSITION 1 | |||
#define XINE_TRICK_MODE_SEEK_TO_TIME 2 | #define XINE_TRICK_MODE_SEEK_TO_TIME 2 | |||
#define XINE_TRICK_MODE_FAST_FORWARD 3 | #define XINE_TRICK_MODE_FAST_FORWARD 3 | |||
#define XINE_TRICK_MODE_FAST_REWIND 4 | #define XINE_TRICK_MODE_FAST_REWIND 4 | |||
/* | /* | |||
* stop stream playback | * stop stream playback | |||
skipping to change at line 428 | skipping to change at line 428 | |||
* to hold the image data. Use a NULL pointer to retrieve the | * to hold the image data. Use a NULL pointer to retrieve the | |||
* necessary parameters for calculating the buffer size. Be | * necessary parameters for calculating the buffer size. Be | |||
* aware that the image can change between two successive calls | * aware that the image can change between two successive calls | |||
* so you better pause the stream. | * so you better pause the stream. | |||
* | * | |||
* xine_get_current_frame_s() requires to specify the buffer | * xine_get_current_frame_s() requires to specify the buffer | |||
* size and it returns the needed / used size. It won't copy | * size and it returns the needed / used size. It won't copy | |||
* image data into a too small buffer. | * image data into a too small buffer. | |||
* | * | |||
* xine_get_current_frame_alloc() takes care of allocating | * xine_get_current_frame_alloc() takes care of allocating | |||
* a buffer on it's own, so image data can be retrieved by | * a buffer on its own, so image data can be retrieved by | |||
* a single call without the need to pause the stream. | * a single call without the need to pause the stream. | |||
* | * | |||
* xine_get_current_frame_data() passes the parameters of the | ||||
* previously mentioned functions plus further information in | ||||
* a structure and can work like the _s or _alloc function | ||||
* respectively depending on the passed flags. | ||||
* | ||||
* all functions return 1 on success, 0 failure. | * all functions return 1 on success, 0 failure. | |||
*/ | */ | |||
int xine_get_current_frame (xine_stream_t *stream, | int xine_get_current_frame (xine_stream_t *stream, | |||
int *width, int *height, | int *width, int *height, | |||
int *ratio_code, int *format, | int *ratio_code, int *format, | |||
uint8_t *img) XINE_PROTECTED; | uint8_t *img) XINE_PROTECTED; | |||
int xine_get_current_frame_s (xine_stream_t *stream, | int xine_get_current_frame_s (xine_stream_t *stream, | |||
int *width, int *height, | int *width, int *height, | |||
int *ratio_code, int *format, | int *ratio_code, int *format, | |||
uint8_t *img, int *size) XINE_PROTECTED; | uint8_t *img, int *img_size) XINE_PROTECTED; | |||
int xine_get_current_frame_alloc (xine_stream_t *stream, | int xine_get_current_frame_alloc (xine_stream_t *stream, | |||
int *width, int *height, | int *width, int *height, | |||
int *ratio_code, int *format, | int *ratio_code, int *format, | |||
uint8_t **img, int *size) XINE_PROTECTED; | uint8_t **img, int *img_size) XINE_PROTECTED; | |||
typedef struct { | ||||
int width; | ||||
int height; | ||||
int crop_left; | ||||
int crop_right; | ||||
int crop_top; | ||||
int crop_bottom; | ||||
int ratio_code; | ||||
int interlaced; | ||||
int format; | ||||
int img_size; | ||||
uint8_t *img; | ||||
} xine_current_frame_data_t; | ||||
#define XINE_FRAME_DATA_ALLOCATE_IMG (1<<0) | ||||
int xine_get_current_frame_data (xine_stream_t *stream, | ||||
xine_current_frame_data_t *data, | ||||
int flags) XINE_PROTECTED; | ||||
/* xine image formats */ | /* xine image formats */ | |||
#define XINE_IMGFMT_YV12 (('2'<<24)|('1'<<16)|('V'<<8)|'Y') | #define XINE_IMGFMT_YV12 (('2'<<24)|('1'<<16)|('V'<<8)|'Y') | |||
#define XINE_IMGFMT_YUY2 (('2'<<24)|('Y'<<16)|('U'<<8)|'Y') | #define XINE_IMGFMT_YUY2 (('2'<<24)|('Y'<<16)|('U'<<8)|'Y') | |||
#define XINE_IMGFMT_XVMC (('C'<<24)|('M'<<16)|('v'<<8)|'X') | #define XINE_IMGFMT_XVMC (('C'<<24)|('M'<<16)|('v'<<8)|'X') | |||
#define XINE_IMGFMT_XXMC (('C'<<24)|('M'<<16)|('x'<<8)|'X') | #define XINE_IMGFMT_XXMC (('C'<<24)|('M'<<16)|('x'<<8)|'X') | |||
/* get current xine's virtual presentation timestamp (1/90000 sec) | /* get current xine's virtual presentation timestamp (1/90000 sec) | |||
* note: this is mostly internal data. | * note: this is mostly internal data. | |||
* one can use vpts with xine_osd_show() and xine_osd_hide(). | * one can use vpts with xine_osd_show() and xine_osd_hide(). | |||
skipping to change at line 535 | skipping to change at line 561 | |||
/* | /* | |||
* maybe future aproach: | * maybe future aproach: | |||
*/ | */ | |||
int xine_get_video_frame (xine_stream_t *stream, | int xine_get_video_frame (xine_stream_t *stream, | |||
int timestamp, /* msec */ | int timestamp, /* msec */ | |||
int *width, int *height, | int *width, int *height, | |||
int *ratio_code, | int *ratio_code, | |||
int *duration, /* msec */ | int *duration, /* msec */ | |||
int *format, | int *format, | |||
uint8_t *img) XINE_PROTECTED; | uint8_t *img) XINE_PROTECTED XINE_DEPRECATED; | |||
/* TODO: xine_get_audio_frame */ | /* TODO: xine_get_audio_frame */ | |||
#endif | #endif | |||
/********************************************************************* | /********************************************************************* | |||
* post plugin handling * | * post plugin handling * | |||
*********************************************************************/ | *********************************************************************/ | |||
/* | /* | |||
skipping to change at line 1087 | skipping to change at line 1113 | |||
/* unload unused plugins */ | /* unload unused plugins */ | |||
void xine_plugins_garbage_collector(xine_t *self) XINE_PROTECTED; | void xine_plugins_garbage_collector(xine_t *self) XINE_PROTECTED; | |||
/********************************************************************* | /********************************************************************* | |||
* visual specific gui <-> xine engine communication * | * visual specific gui <-> xine engine communication * | |||
*********************************************************************/ | *********************************************************************/ | |||
#ifndef XINE_DISABLE_DEPRECATED_FEATURES | #ifndef XINE_DISABLE_DEPRECATED_FEATURES | |||
/* talk to video output driver - old method */ | /* talk to video output driver - old method */ | |||
int xine_gui_send_vo_data (xine_stream_t *self, | int xine_gui_send_vo_data (xine_stream_t *self, | |||
int type, void *data) XINE_PROTECTED; | int type, void *data) XINE_PROTECTED XINE_DEPR ECATED; | |||
#endif | #endif | |||
/* new (preferred) method to talk to video driver. */ | /* new (preferred) method to talk to video driver. */ | |||
int xine_port_send_gui_data (xine_video_port_t *vo, | int xine_port_send_gui_data (xine_video_port_t *vo, | |||
int type, void *data) XINE_PROTECTED; | int type, void *data) XINE_PROTECTED; | |||
typedef struct { | typedef struct { | |||
/* area of that drawable to be used by video */ | /* area of that drawable to be used by video */ | |||
int x,y,w,h; | int x,y,w,h; | |||
skipping to change at line 1122 | skipping to change at line 1148 | |||
/* drawable to display the video in/on */ | /* drawable to display the video in/on */ | |||
unsigned long d; /* Drawable */ | unsigned long d; /* Drawable */ | |||
void *user_data; | void *user_data; | |||
/* | /* | |||
* dest size callback | * dest size callback | |||
* | * | |||
* this will be called by the video driver to find out | * this will be called by the video driver to find out | |||
* how big the video output area size will be for a | * how big the video output area size will be for a | |||
* given video size. The ui should _not_ adjust it's | * given video size. The ui should _not_ adjust its | |||
* video out area, just do some calculations and return | * video out area, just do some calculations and return | |||
* the size. This will be called for every frame, ui | * the size. This will be called for every frame, ui | |||
* implementation should be fast. | * implementation should be fast. | |||
* dest_pixel_aspect should be set to the used display pixel aspect. | * dest_pixel_aspect should be set to the used display pixel aspect. | |||
* NOTE: Semantics has changed: video_width and video_height | * NOTE: Semantics has changed: video_width and video_height | |||
* are no longer pixel aspect corrected. Get the old semantics | * are no longer pixel aspect corrected. Get the old semantics | |||
* in the UI with | * in the UI with | |||
* *dest_pixel_aspect = display_pixel_aspect; | * *dest_pixel_aspect = display_pixel_aspect; | |||
* if (video_pixel_aspect >= display_pixel_aspect) | * if (video_pixel_aspect >= display_pixel_aspect) | |||
* video_width = video_width * video_pixel_aspect / display_pixel_as pect + .5; | * video_width = video_width * video_pixel_aspect / display_pixel_as pect + .5; | |||
skipping to change at line 1146 | skipping to change at line 1172 | |||
void (*dest_size_cb) (void *user_data, | void (*dest_size_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_width, int *dest_height, | int *dest_width, int *dest_height, | |||
double *dest_pixel_aspect); | double *dest_pixel_aspect); | |||
/* | /* | |||
* frame output callback | * frame output callback | |||
* | * | |||
* this will be called by the video driver for every frame | * this will be called by the video driver for every frame | |||
* it's about to draw. ui can adapt it's size if necessary | * it's about to draw. ui can adapt its size if necessary | |||
* here. | * here. | |||
* note: the ui doesn't have to adjust itself to this | * note: the ui doesn't have to adjust itself to this | |||
* size, this is just to be taken as a hint. | * size, this is just to be taken as a hint. | |||
* ui must return the actual size of the video output | * ui must return the actual size of the video output | |||
* area and the video output driver will do it's best | * area and the video output driver will do its best | |||
* to adjust the video frames to that size (while | * to adjust the video frames to that size (while | |||
* preserving aspect ratio and stuff). | * preserving aspect ratio and stuff). | |||
* dest_x, dest_y: offset inside window | * dest_x, dest_y: offset inside window | |||
* dest_width, dest_height: available drawing space | * dest_width, dest_height: available drawing space | |||
* dest_pixel_aspect: display pixel aspect | * dest_pixel_aspect: display pixel aspect | |||
* win_x, win_y: window absolute screen position | * win_x, win_y: window absolute screen position | |||
* NOTE: Semantics has changed: video_width and video_height | * NOTE: Semantics has changed: video_width and video_height | |||
* are no longer pixel aspect corrected. Get the old semantics | * are no longer pixel aspect corrected. Get the old semantics | |||
* in the UI with | * in the UI with | |||
* *dest_pixel_aspect = display_pixel_aspect; | * *dest_pixel_aspect = display_pixel_aspect; | |||
skipping to change at line 1222 | skipping to change at line 1248 | |||
/* window to display the video in / on */ | /* window to display the video in / on */ | |||
unsigned int window; /* xcb_window_t */ | unsigned int window; /* xcb_window_t */ | |||
void *user_data; | void *user_data; | |||
/* | /* | |||
* dest size callback | * dest size callback | |||
* | * | |||
* this will be called by the video driver to find out | * this will be called by the video driver to find out | |||
* how big the video output area size will be for a | * how big the video output area size will be for a | |||
* given video size. The ui should _not_ adjust it's | * given video size. The ui should _not_ adjust its | |||
* video out area, just do some calculations and return | * video out area, just do some calculations and return | |||
* the size. This will be called for every frame, ui | * the size. This will be called for every frame, ui | |||
* implementation should be fast. | * implementation should be fast. | |||
* dest_pixel_aspect should be set to the used display pixel aspect. | * dest_pixel_aspect should be set to the used display pixel aspect. | |||
* NOTE: Semantics has changed: video_width and video_height | * NOTE: Semantics has changed: video_width and video_height | |||
* are no longer pixel aspect corrected. Get the old semantics | * are no longer pixel aspect corrected. Get the old semantics | |||
* in the UI with | * in the UI with | |||
* *dest_pixel_aspect = display_pixel_aspect; | * *dest_pixel_aspect = display_pixel_aspect; | |||
* if (video_pixel_aspect >= display_pixel_aspect) | * if (video_pixel_aspect >= display_pixel_aspect) | |||
* video_width = video_width * video_pixel_aspect / display_pixel_as pect + .5; | * video_width = video_width * video_pixel_aspect / display_pixel_as pect + .5; | |||
skipping to change at line 1246 | skipping to change at line 1272 | |||
void (*dest_size_cb) (void *user_data, | void (*dest_size_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_width, int *dest_height, | int *dest_width, int *dest_height, | |||
double *dest_pixel_aspect); | double *dest_pixel_aspect); | |||
/* | /* | |||
* frame output callback | * frame output callback | |||
* | * | |||
* this will be called by the video driver for every frame | * this will be called by the video driver for every frame | |||
* it's about to draw. ui can adapt it's size if necessary | * it's about to draw. ui can adapt its size if necessary | |||
* here. | * here. | |||
* note: the ui doesn't have to adjust itself to this | * note: the ui doesn't have to adjust itself to this | |||
* size, this is just to be taken as a hint. | * size, this is just to be taken as a hint. | |||
* ui must return the actual size of the video output | * ui must return the actual size of the video output | |||
* area and the video output driver will do it's best | * area and the video output driver will do its best | |||
* to adjust the video frames to that size (while | * to adjust the video frames to that size (while | |||
* preserving aspect ratio and stuff). | * preserving aspect ratio and stuff). | |||
* dest_x, dest_y: offset inside window | * dest_x, dest_y: offset inside window | |||
* dest_width, dest_height: available drawing space | * dest_width, dest_height: available drawing space | |||
* dest_pixel_aspect: display pixel aspect | * dest_pixel_aspect: display pixel aspect | |||
* win_x, win_y: window absolute screen position | * win_x, win_y: window absolute screen position | |||
* NOTE: Semantics has changed: video_width and video_height | * NOTE: Semantics has changed: video_width and video_height | |||
* are no longer pixel aspect corrected. Get the old semantics | * are no longer pixel aspect corrected. Get the old semantics | |||
* in the UI with | * in the UI with | |||
* *dest_pixel_aspect = display_pixel_aspect; | * *dest_pixel_aspect = display_pixel_aspect; | |||
skipping to change at line 1303 | skipping to change at line 1329 | |||
} raw_overlay_t; | } raw_overlay_t; | |||
/* this is the visual data struct any raw gui | /* this is the visual data struct any raw gui | |||
* must supply to the xine_open_video_driver call | * must supply to the xine_open_video_driver call | |||
* ("data" parameter) | * ("data" parameter) | |||
*/ | */ | |||
typedef struct { | typedef struct { | |||
void *user_data; | void *user_data; | |||
/* OR'ed frame_format | /* OR'ed frame_format | |||
* a frontend must at least support rgb | * Unsupported frame formats are converted to rgb. | |||
* a frontend supporting yuv must support both yv12 and yuy2 | * XINE_VORAW_RGB is always assumed by the driver, even if not set. | |||
* then possible combinations are: | * So a frontend must at least support rgb. | |||
* 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, | * Be aware that rgb requires more cpu than yuv, | |||
* so avoid its usage for video playback. | * so avoid its usage for video playback. | |||
* However, it's usefull for single frame capture (e.g. thumbs) | * However, it's useful for single frame capture (e.g. thumbs) | |||
*/ | */ | |||
int supported_formats; | int supported_formats; | |||
/* raw output callback | /* raw output callback | |||
* this will be called by the video driver for every frame | * 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 | * 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 | * data1 points to (frame_width/2)*(fra me_height/2) U values | |||
* data2 points to (frame_width/2)*(fra me_height/2) V values | * data2 points to (frame_width/2)*(fra me_height/2) V values | |||
* | * | |||
skipping to change at line 1608 | skipping to change at line 1631 | |||
/* get next config item (iterate through the items) */ | /* get next config item (iterate through the items) */ | |||
int xine_config_get_next_entry (xine_t *self, xine_cfg_entry_t *entry) XIN E_PROTECTED; | int xine_config_get_next_entry (xine_t *self, xine_cfg_entry_t *entry) XIN E_PROTECTED; | |||
/* search for a config entry by key */ | /* search for a config entry by key */ | |||
int xine_config_lookup_entry (xine_t *self, const char *key, | int xine_config_lookup_entry (xine_t *self, const char *key, | |||
xine_cfg_entry_t *entry) XINE_PROTECTED; | xine_cfg_entry_t *entry) XINE_PROTECTED; | |||
/* | /* | |||
* update a config entry (which was returned from lookup_entry() ) | * update a config entry (which was returned from lookup_entry() ) | |||
* | * | |||
* xine will make a deep copy of the data in the entry into it's internal | * xine will make a deep copy of the data in the entry into its internal | |||
* config database. | * config database. | |||
*/ | */ | |||
void xine_config_update_entry (xine_t *self, | void xine_config_update_entry (xine_t *self, | |||
const xine_cfg_entry_t *entry) XINE_PROTECTED ; | const xine_cfg_entry_t *entry) XINE_PROTECTED ; | |||
/* | /* | |||
* translation of old configuration entry names | * translation of old configuration entry names | |||
*/ | */ | |||
typedef struct { | typedef struct { | |||
const char *old_name, *new_name; | const char *old_name, *new_name; | |||
skipping to change at line 1999 | skipping to change at line 2022 | |||
int skipped_threshold; | int skipped_threshold; | |||
int discarded_frames; | int discarded_frames; | |||
int discarded_threshold; | int discarded_threshold; | |||
} xine_dropped_frames_t; | } xine_dropped_frames_t; | |||
/* | /* | |||
* Defined message types for XINE_EVENT_UI_MESSAGE | * Defined message types for XINE_EVENT_UI_MESSAGE | |||
* This is the mechanism to report async errors from engine. | * This is the mechanism to report async errors from engine. | |||
* | * | |||
* If frontend knows about the XINE_MSG_xxx type it may safely | * If frontend knows about the XINE_MSG_xxx type it may safely | |||
* ignore the 'explanation' field and provide it's own custom | * ignore the 'explanation' field and provide its own custom | |||
* dialog to the 'parameters'. | * dialogue to the 'parameters'. | |||
* | * | |||
* right column specifies the usual parameters. | * right column specifies the usual parameters. | |||
*/ | */ | |||
#define XINE_MSG_NO_ERROR 0 /* (messages to UI) */ | #define XINE_MSG_NO_ERROR 0 /* (messages to UI) */ | |||
#define XINE_MSG_GENERAL_WARNING 1 /* (warning message) */ | #define XINE_MSG_GENERAL_WARNING 1 /* (warning message) */ | |||
#define XINE_MSG_UNKNOWN_HOST 2 /* (host name) */ | #define XINE_MSG_UNKNOWN_HOST 2 /* (host name) */ | |||
#define XINE_MSG_UNKNOWN_DEVICE 3 /* (device name) */ | #define XINE_MSG_UNKNOWN_DEVICE 3 /* (device name) */ | |||
#define XINE_MSG_NETWORK_UNREACHABLE 4 /* none */ | #define XINE_MSG_NETWORK_UNREACHABLE 4 /* none */ | |||
#define XINE_MSG_CONNECTION_REFUSED 5 /* (host name) */ | #define XINE_MSG_CONNECTION_REFUSED 5 /* (host name) */ | |||
skipping to change at line 2176 | skipping to change at line 2199 | |||
/********************************************************************* | /********************************************************************* | |||
* TV-mode API, to make it possible to use nvtvd to view movies * | * TV-mode API, to make it possible to use nvtvd to view movies * | |||
*********************************************************************/ | *********************************************************************/ | |||
/* These functions are just dummies to maintain API compatibility. | /* These functions are just dummies to maintain API compatibility. | |||
* You should use libnvtvsimple in your frontend instead. */ | * You should use libnvtvsimple in your frontend instead. */ | |||
typedef enum { | typedef enum { | |||
XINE_TVSYSTEM_PAL = 0, | XINE_TVSYSTEM_PAL = 0, | |||
XINE_TVSYSTEM_NTSC | XINE_TVSYSTEM_NTSC | |||
} xine_tvsystem; | } xine_tvsystem XINE_DEPRECATED; | |||
/* connect to nvtvd server and save current TV and X settings */ | /* connect to nvtvd server and save current TV and X settings */ | |||
int xine_tvmode_init (xine_t *self) XINE_PROTECTED; | int xine_tvmode_init (xine_t *self) XINE_PROTECTED XINE_DEPRECATED; | |||
/* Turn tvmode on/off (1/0)*/ | /* Turn tvmode on/off (1/0)*/ | |||
int xine_tvmode_use(xine_t *self, int use_tvmode) XINE_PROTECTED; | int xine_tvmode_use(xine_t *self, int use_tvmode) XINE_PROTECTED XINE_DEPRE CATED; | |||
/* Set which tv system to use: XINE_TVSYSTEM_PAL or XINE_TVSYSTEM_NTSC */ | /* Set which tv system to use: XINE_TVSYSTEM_PAL or XINE_TVSYSTEM_NTSC */ | |||
void xine_tvmode_set_tvsystem(xine_t *self, xine_tvsystem system) XINE_PROT ECTED; | void xine_tvmode_set_tvsystem(xine_t *self, xine_tvsystem system) XINE_PROT ECTED XINE_DEPRECATED; | |||
/* try to change TV state if enabled | /* try to change TV state if enabled | |||
* type select 'regular' (0) or 'TV' (1) state | * type select 'regular' (0) or 'TV' (1) state | |||
* width frame width the mode should match best or 0 if unknown | * width frame width the mode should match best or 0 if unknown | |||
* height frame height the mode should match best or 0 if unknown | * height frame height the mode should match best or 0 if unknown | |||
* fps frame rate the mode should match best or 0 if unknown | * fps frame rate the mode should match best or 0 if unknown | |||
* returns: finally selected state | * returns: finally selected state | |||
*/ | */ | |||
int xine_tvmode_switch (xine_t *self, int type, int width, int height, doub le fps) XINE_PROTECTED; | int xine_tvmode_switch (xine_t *self, int type, int width, int height, doub le fps) XINE_PROTECTED XINE_DEPRECATED; | |||
/* adapt (maximum) output size to visible area if necessary and return pixe l | /* adapt (maximum) output size to visible area if necessary and return pixe l | |||
* aspect and real frame rate if available | * aspect and real frame rate if available | |||
*/ | */ | |||
void xine_tvmode_size (xine_t *self, int *width, int *height, | void xine_tvmode_size (xine_t *self, int *width, int *height, | |||
double *pixelratio, double *fps) XINE_PROTECTED; | double *pixelratio, double *fps) XINE_PROTECTED XINE_ DEPRECATED; | |||
/* restore old TV and X settings and close nvtvd connection */ | /* restore old TV and X settings and close nvtvd connection */ | |||
void xine_tvmode_exit (xine_t *self) XINE_PROTECTED; | void xine_tvmode_exit (xine_t *self) XINE_PROTECTED XINE_DEPRECATED; | |||
#endif | #endif | |||
#ifdef __cplusplus | #ifdef __cplusplus | |||
} | } | |||
#endif | #endif | |||
#endif | #endif | |||
End of changes. 26 change blocks. | ||||
34 lines changed or deleted | 56 lines changed or added | |||
xine_internal.h | xine_internal.h | |||
---|---|---|---|---|
skipping to change at line 118 | skipping to change at line 118 | |||
int verbosity; | int verbosity; | |||
xine_list_t *streams; | xine_list_t *streams; | |||
pthread_mutex_t streams_lock; | pthread_mutex_t streams_lock; | |||
metronom_clock_t *clock; | metronom_clock_t *clock; | |||
#ifdef XINE_ENGINE_INTERNAL | #ifdef XINE_ENGINE_INTERNAL | |||
xine_ticket_t *port_ticket; | xine_ticket_t *port_ticket; | |||
pthread_mutex_t log_lock; | pthread_mutex_t log_lock; | |||
xine_log_cb_t log_cb; | ||||
void *log_cb_user_data; | ||||
#endif | #endif | |||
}; | }; | |||
/* | /* | |||
* xine thread tickets | * xine thread tickets | |||
*/ | */ | |||
struct xine_ticket_s { | struct xine_ticket_s { | |||
/* the ticket owner must assure to check for ticket revocation in | /* the ticket owner must assure to check for ticket revocation in | |||
skipping to change at line 388 | skipping to change at line 391 | |||
/* flush the message queues */ | /* flush the message queues */ | |||
void _x_flush_events_queues (xine_stream_t *stream) XINE_PROTECTED; | void _x_flush_events_queues (xine_stream_t *stream) XINE_PROTECTED; | |||
/* find and instantiate input and demux plugins */ | /* find and instantiate input and demux plugins */ | |||
input_plugin_t *_x_find_input_plugin (xine_stream_t *stream, const char *mr l) XINE_PROTECTED; | input_plugin_t *_x_find_input_plugin (xine_stream_t *stream, const char *mr l) XINE_PROTECTED; | |||
demux_plugin_t *_x_find_demux_plugin (xine_stream_t *stream, input_plugin_t *input) XINE_PROTECTED; | demux_plugin_t *_x_find_demux_plugin (xine_stream_t *stream, input_plugin_t *input) XINE_PROTECTED; | |||
demux_plugin_t *_x_find_demux_plugin_by_name (xine_stream_t *stream, const char *name, input_plugin_t *input) XINE_PROTECTED; | demux_plugin_t *_x_find_demux_plugin_by_name (xine_stream_t *stream, const char *name, input_plugin_t *input) XINE_PROTECTED; | |||
demux_plugin_t *_x_find_demux_plugin_last_probe(xine_stream_t *stream, cons t char *last_demux_name, input_plugin_t *input) XINE_PROTECTED; | demux_plugin_t *_x_find_demux_plugin_last_probe(xine_stream_t *stream, cons t char *last_demux_name, input_plugin_t *input) XINE_PROTECTED; | |||
input_plugin_t *_x_rip_plugin_get_instance (xine_stream_t *stream, const ch | input_plugin_t *_x_rip_plugin_get_instance (xine_stream_t *stream, const ch | |||
ar *filename) XINE_PROTECTED; | ar *filename) XINE_MALLOC XINE_PROTECTED; | |||
input_plugin_t *_x_cache_plugin_get_instance (xine_stream_t *stream, int re | input_plugin_t *_x_cache_plugin_get_instance (xine_stream_t *stream, int re | |||
adahead_size) XINE_PROTECTED; | adahead_size) XINE_MALLOC XINE_PROTECTED; | |||
void _x_free_input_plugin (xine_stream_t *stream, input_plugin_t *input) XI NE_PROTECTED; | void _x_free_input_plugin (xine_stream_t *stream, input_plugin_t *input) XI NE_PROTECTED; | |||
void _x_free_demux_plugin (xine_stream_t *stream, demux_plugin_t *demux) XI NE_PROTECTED; | void _x_free_demux_plugin (xine_stream_t *stream, demux_plugin_t *demux) XI NE_PROTECTED; | |||
/* create decoder fifos and threads */ | /* create decoder fifos and threads */ | |||
int _x_video_decoder_init (xine_stream_t *stream) XINE_PROTECTED; | int _x_video_decoder_init (xine_stream_t *stream) XINE_PROTECTED; | |||
void _x_video_decoder_shutdown (xine_stream_t *stream) XINE_PROTECTED; | void _x_video_decoder_shutdown (xine_stream_t *stream) XINE_PROTECTED; | |||
int _x_audio_decoder_init (xine_stream_t *stream) XINE_PROTECTED; | int _x_audio_decoder_init (xine_stream_t *stream) XINE_PROTECTED; | |||
void _x_audio_decoder_shutdown (xine_stream_t *stream) XINE_PROTECTED; | void _x_audio_decoder_shutdown (xine_stream_t *stream) XINE_PROTECTED; | |||
End of changes. 2 change blocks. | ||||
4 lines changed or deleted | 7 lines changed or added | |||
xineutils.h | xineutils.h | |||
---|---|---|---|---|
skipping to change at line 126 | skipping to change at line 126 | |||
#define MM_ACCEL_SPARC_VIS 0x01000000 | #define MM_ACCEL_SPARC_VIS 0x01000000 | |||
#define MM_ACCEL_SPARC_VIS2 0x00800000 | #define MM_ACCEL_SPARC_VIS2 0x00800000 | |||
/* x86 compat defines */ | /* x86 compat defines */ | |||
#define MM_MMX MM_ACCEL_X86_MMX | #define MM_MMX MM_ACCEL_X86_MMX | |||
#define MM_3DNOW MM_ACCEL_X86_3DNOW | #define MM_3DNOW MM_ACCEL_X86_3DNOW | |||
#define MM_MMXEXT MM_ACCEL_X86_MMXEXT | #define MM_MMXEXT MM_ACCEL_X86_MMXEXT | |||
#define MM_SSE MM_ACCEL_X86_SSE | #define MM_SSE MM_ACCEL_X86_SSE | |||
#define MM_SSE2 MM_ACCEL_X86_SSE2 | #define MM_SSE2 MM_ACCEL_X86_SSE2 | |||
uint32_t xine_mm_accel (void) XINE_PROTECTED; | uint32_t xine_mm_accel (void) XINE_CONST XINE_PROTECTED; | |||
#if defined(ARCH_X86) || defined(ARCH_X86_64) | #if defined(ARCH_X86) || defined(ARCH_X86_64) | |||
typedef union { | typedef union { | |||
int64_t q; /* Quadword (64-bit) value */ | int64_t q; /* Quadword (64-bit) value */ | |||
uint64_t uq; /* Unsigned Quadword */ | uint64_t uq; /* Unsigned Quadword */ | |||
int d[2]; /* 2 Doubleword (32-bit) values */ | int d[2]; /* 2 Doubleword (32-bit) values */ | |||
unsigned int ud[2]; /* 2 Unsigned Doubleword */ | unsigned int ud[2]; /* 2 Unsigned Doubleword */ | |||
short w[4]; /* 4 Word (16-bit) values */ | short w[4]; /* 4 Word (16-bit) values */ | |||
unsigned short uw[4]; /* 4 Unsigned Word */ | unsigned short uw[4]; /* 4 Unsigned Word */ | |||
skipping to change at line 611 | skipping to change at line 611 | |||
void xine_profiler_init (void) XINE_PROTECTED; | void xine_profiler_init (void) XINE_PROTECTED; | |||
int xine_profiler_allocate_slot (const char *label) XINE_PROTECTED; | int xine_profiler_allocate_slot (const char *label) XINE_PROTECTED; | |||
void xine_profiler_start_count (int id) XINE_PROTECTED; | void xine_profiler_start_count (int id) XINE_PROTECTED; | |||
void xine_profiler_stop_count (int id) XINE_PROTECTED; | void xine_profiler_stop_count (int id) XINE_PROTECTED; | |||
void xine_profiler_print_results (void) XINE_PROTECTED; | void xine_profiler_print_results (void) XINE_PROTECTED; | |||
/* | /* | |||
* Allocate and clean memory size_t 'size', then return the pointer | * Allocate and clean memory size_t 'size', then return the pointer | |||
* to the allocated memory. | * to the allocated memory. | |||
*/ | */ | |||
#if !defined(__GNUC__) || __GNUC__ < 3 | void *xine_xmalloc(size_t size) XINE_MALLOC XINE_DEPRECATED XINE_PROTECTED; | |||
void *xine_xmalloc(size_t size) XINE_PROTECTED; | ||||
#else | ||||
void *xine_xmalloc(size_t size) __attribute__ ((__malloc__)) XINE_PROTECTED | ||||
; | ||||
#endif | ||||
/* | /* | |||
* Same as above, but memory is aligned to 'alignement'. | * Same as above, but memory is aligned to 'alignement'. | |||
* **base is used to return pointer to un-aligned memory, use | * **base is used to return pointer to un-aligned memory, use | |||
* this to free the mem chunk | * this to free the mem chunk | |||
*/ | */ | |||
void *xine_xmalloc_aligned(size_t alignment, size_t size, void **base) XINE _PROTECTED; | void *xine_xmalloc_aligned(size_t alignment, size_t size, void **base) XINE _PROTECTED; | |||
/* | /* | |||
* Get user home directory. | * Get user home directory. | |||
*/ | */ | |||
const char *xine_get_homedir(void) XINE_PROTECTED; | const char *xine_get_homedir(void) XINE_PROTECTED; | |||
#if defined(WIN32) || defined(__CYGWIN__) | #if defined(WIN32) || defined(__CYGWIN__) | |||
/* | /* | |||
* Get other xine directories. | * Get other xine directories. | |||
*/ | */ | |||
const char *xine_get_pluginroot(void) XINE_PROTECTED; | ||||
const char *xine_get_plugindir(void) XINE_PROTECTED; | const char *xine_get_plugindir(void) XINE_PROTECTED; | |||
const char *xine_get_fontdir(void) XINE_PROTECTED; | const char *xine_get_fontdir(void) XINE_PROTECTED; | |||
const char *xine_get_localedir(void) XINE_PROTECTED; | const char *xine_get_localedir(void) XINE_PROTECTED; | |||
#endif | #endif | |||
/* | /* | |||
* Clean a string (remove spaces and '=' at the begin, | * Clean a string (remove spaces and '=' at the begin, | |||
* and '\n', '\r' and spaces at the end. | * and '\n', '\r' and spaces at the end. | |||
*/ | */ | |||
char *xine_chomp (char *str) XINE_PROTECTED; | char *xine_chomp (char *str) XINE_PROTECTED; | |||
/* | /* | |||
* A thread-safe usecond sleep | * A thread-safe usecond sleep | |||
*/ | */ | |||
void xine_usec_sleep(unsigned usec) XINE_PROTECTED; | void xine_usec_sleep(unsigned usec) XINE_PROTECTED; | |||
/* | /* | |||
* Some string functions | * Some string functions | |||
*/ | */ | |||
void xine_strdupa(char *dest, char *src) XINE_PROTECTED; | void xine_strdupa(char *dest, char *src) XINE_PROTECTED XINE_DEPRECATED; | |||
#define xine_strdupa(d, s) do { \ | #define xine_strdupa(d, s) do { \ | |||
(d) = NULL; \ | (d) = NULL; \ | |||
if((s) != NULL) { \ | if((s) != NULL) { \ | |||
(d) = (char *) alloca(strlen((s)) + 1); \ | (d) = (char *) alloca(strlen((s)) + 1); \ | |||
strcpy((d), (s)); \ | strcpy((d), (s)); \ | |||
} \ | } \ | |||
} while(0) | } while(0) | |||
/* compatibility macros */ | /* compatibility macros */ | |||
#define xine_strpbrk(S, ACCEPT) strpbrk((S), (ACCEPT)) | #define xine_strpbrk(S, ACCEPT) strpbrk((S), (ACCEPT)) | |||
skipping to change at line 946 | skipping to change at line 943 | |||
LOG_MODULE, __XINE_FUNCTION__, __LINE__, dtime); \ | LOG_MODULE, __XINE_FUNCTION__, __LINE__, dtime); \ | |||
} while(0) | } while(0) | |||
#else | #else | |||
# define XINE_PROFILE(function) function | # define XINE_PROFILE(function) function | |||
# define XINE_PROFILE_ACCUMULATE(function) function | # define XINE_PROFILE_ACCUMULATE(function) function | |||
#endif /* DEBUG */ | #endif /* DEBUG */ | |||
/** | /** | |||
* get encoding of current locale | * get encoding of current locale | |||
*/ | */ | |||
char *xine_get_system_encoding(void) XINE_PROTECTED; | char *xine_get_system_encoding(void) XINE_MALLOC XINE_PROTECTED; | |||
/* | /* | |||
* guess default encoding for the subtitles | * guess default encoding for the subtitles | |||
*/ | */ | |||
const char *xine_guess_spu_encoding(void) XINE_PROTECTED; | const char *xine_guess_spu_encoding(void) XINE_PROTECTED; | |||
/* | /* | |||
* use the best clock reference (API compatible with gettimeofday) | * use the best clock reference (API compatible with gettimeofday) | |||
* note: it will be a monotonic clock, if available. | * note: it will be a monotonic clock, if available. | |||
*/ | */ | |||
int xine_monotonic_clock(struct timeval *tv, struct timezone *tz) XINE_PROT ECTED; | int xine_monotonic_clock(struct timeval *tv, struct timezone *tz) XINE_PROT ECTED; | |||
/** | ||||
* append to a string, reallocating | ||||
* normally, updates & returns *dest | ||||
* on error, *dest is unchanged & NULL is returned. | ||||
*/ | ||||
char *xine_strcat_realloc (char **dest, char *append) XINE_PROTECTED; | ||||
/* don't harm following code */ | /* don't harm following code */ | |||
#ifdef extern | #ifdef extern | |||
# undef extern | # undef extern | |||
#endif | #endif | |||
#ifdef __cplusplus | #ifdef __cplusplus | |||
} | } | |||
#endif | #endif | |||
#endif | #endif | |||
End of changes. 6 change blocks. | ||||
9 lines changed or deleted | 12 lines changed or added | |||