X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=include%2Fvlc_common.h;h=24b7783ead66f83878681928e211992d17270719;hb=5dc722b5545a43b46db156ab1031da89c512e4ab;hp=1aed2663484923ca131990c3d254fab009ff26a8;hpb=1e9f16e284a4bb84ac446bf18e6b5581754fc6d3;p=vlc diff --git a/include/vlc_common.h b/include/vlc_common.h index 1aed266348..24b7783ead 100644 --- a/include/vlc_common.h +++ b/include/vlc_common.h @@ -3,7 +3,7 @@ * Collection of useful common types and macros definitions ***************************************************************************** * Copyright (C) 1998, 1999, 2000 VideoLAN - * $Id: vlc_common.h,v 1.86 2003/11/16 21:07:30 gbazin Exp $ + * $Id: vlc_common.h,v 1.102 2004/01/11 00:45:06 zorglub Exp $ * * Authors: Samuel Hocevar * Vincent Seguin @@ -51,6 +51,7 @@ /***************************************************************************** * Required system headers *****************************************************************************/ +#include #include #ifdef HAVE_STRING_H @@ -92,6 +93,8 @@ typedef unsigned long long uint64_t; typedef signed long long int64_t; # endif + typedef uint32_t uintptr_t; + typedef int32_t intptr_t; #endif typedef uint8_t byte_t; @@ -110,7 +113,9 @@ typedef int ptrdiff_t; #if defined( WIN32 ) # include -#define PATH_MAX MAX_PATH +# ifndef PATH_MAX +# define PATH_MAX MAX_PATH +# endif #endif #if (defined( WIN32 ) || defined( UNDER_CE )) && !defined( _SSIZE_T_ ) @@ -133,23 +138,23 @@ typedef uint16_t audio_volume_t; typedef int socklen_t; #endif -/***************************************************************************** - * mtime_t: high precision date or time interval - ***************************************************************************** +/** + * High precision date or time interval + * * Store a high precision date or time interval. The maximum precision is the * microsecond, and a 64 bits integer is used to avoid overflows (maximum * time interval is then 292271 years, which should be long enough for any * video). Dates are stored as microseconds since a common date (usually the * epoch). Note that date and time intervals can be manipulated using regular * arithmetic operators, and that no special functions are required. - *****************************************************************************/ + */ typedef int64_t mtime_t; -/***************************************************************************** +/** * The vlc_fourcc_t type. - ***************************************************************************** + * * See http://www.webartz.com/fourcc/ for a very detailed list. - *****************************************************************************/ + */ typedef uint32_t vlc_fourcc_t; #ifdef WORDS_BIGENDIAN @@ -185,6 +190,9 @@ typedef struct msg_subscription_t msg_subscription_t; typedef struct playlist_t playlist_t; typedef struct playlist_item_t playlist_item_t; typedef struct playlist_group_t playlist_group_t; +typedef struct item_info_t item_info_t; +typedef struct item_info_category_t item_info_category_t; +typedef struct playlist_export_t playlist_export_t; /* Modules */ typedef struct module_bank_t module_bank_t; @@ -216,12 +224,18 @@ typedef struct pgrm_sys_t pgrm_sys_t; typedef struct stream_descriptor_t stream_descriptor_t; typedef struct stream_sys_t stream_sys_t; +/* Format */ +typedef struct audio_format_t audio_format_t; +typedef struct video_format_t video_format_t; +typedef struct subs_format_t subs_format_t; +typedef struct es_format_t es_format_t; + /* NInput */ typedef struct stream_t stream_t; typedef struct es_out_t es_out_t; typedef struct es_out_id_t es_out_id_t; typedef struct es_out_sys_t es_out_sys_t; - +typedef struct demux_t demux_t; /* Audio */ typedef struct aout_instance_t aout_instance_t; @@ -229,7 +243,6 @@ typedef struct aout_sys_t aout_sys_t; typedef struct aout_fifo_t aout_fifo_t; typedef struct aout_input_t aout_input_t; typedef struct aout_buffer_t aout_buffer_t; -typedef struct audio_format_t audio_format_t; typedef audio_format_t audio_sample_format_t; typedef struct audio_date_t audio_date_t; typedef struct aout_filter_t aout_filter_t; @@ -238,7 +251,6 @@ typedef struct aout_filter_t aout_filter_t; typedef struct vout_thread_t vout_thread_t; typedef struct vout_sys_t vout_sys_t; typedef struct chroma_sys_t chroma_sys_t; -typedef struct video_format_t video_format_t; typedef video_format_t video_frame_format_t; typedef struct picture_t picture_t; typedef struct picture_sys_t picture_sys_t; @@ -259,12 +271,10 @@ typedef struct sout_access_out_t sout_access_out_t; typedef struct sout_mux_t sout_mux_t; typedef struct sout_stream_t sout_stream_t; typedef struct sout_cfg_t sout_cfg_t; -typedef struct sout_format_t sout_format_t; /*typedef struct sap_session_t sap_session_t; typedef struct slp_session_t slp_session_t;*/ /* Decoders */ -typedef struct decoder_fifo_t decoder_fifo_t; typedef struct decoder_t decoder_t; typedef struct decoder_sys_t decoder_sys_t; @@ -278,7 +288,6 @@ typedef struct data_buffer_t data_buffer_t; typedef struct stream_position_t stream_position_t; typedef struct stream_ctrl_t stream_ctrl_t; typedef struct pes_packet_t pes_packet_t; -typedef struct bit_stream_t bit_stream_t; typedef struct network_socket_t network_socket_t; typedef struct iso639_lang_t iso639_lang_t; @@ -444,13 +453,14 @@ typedef int ( * vlc_callback_t ) ( vlc_object_t *, /* variable's object */ #define TAB_APPEND( count, tab, p ) \ if( (count) > 0 ) \ { \ - (tab) = realloc( (tab), sizeof( void ** ) * ( (count) + 1 ) ); \ + (*(void **)(&tab)) = \ + realloc( tab, sizeof( void ** ) * ( (count) + 1 ) ); \ } \ else \ { \ - (tab) = malloc( sizeof( void ** ) ); \ + (*(void **)(&tab)) = malloc( sizeof( void ** ) ); \ } \ - (void**)(tab)[(count)] = (void*)(p); \ + ((void**)(tab))[count] = (void*)(p); \ (count)++ #define TAB_FIND( count, tab, p, index ) \ @@ -459,7 +469,7 @@ typedef int ( * vlc_callback_t ) ( vlc_object_t *, /* variable's object */ (index) = -1; \ for( _i_ = 0; _i_ < (count); _i_++ ) \ { \ - if((void**)(tab)[_i_]==(void*)(p)) \ + if( ((void**)(tab))[_i_] == (void*)(p) ) \ { \ (index) = _i_; \ break; \ @@ -603,6 +613,20 @@ static inline uint64_t GetQWLE( void * _p ) # define vlc_strdup NULL #endif +#if !defined(HAVE_VASPRINTF) || defined(SYS_DARWIN) || defined(SYS_BEOS) +# define vasprintf vlc_vasprintf + VLC_EXPORT( int, vlc_vasprintf, (char **, const char *, va_list ) ); +#elif !defined(__PLUGIN__) +# define vlc_vasprintf NULL +#endif + +#if !defined(HAVE_ASPRINTF) || defined(SYS_DARWIN) || defined(SYS_BEOS) +# define asprintf vlc_asprintf + VLC_EXPORT( int, vlc_asprintf, (char **, const char *, ... ) ); +#elif !defined(__PLUGIN__) +# define vlc_asprintf NULL +#endif + #ifndef HAVE_STRNDUP # if defined(STRNDUP_IN_GNOME_H) && \ (defined(MODULE_NAME_IS_gnome)||defined(MODULE_NAME_IS_gnome_main)||\ @@ -780,7 +804,8 @@ VLC_EXPORT( char *, vlc_dgettext, ( const char *package, const char *msgid ) ); #if defined( ENABLE_NLS ) && \ (defined(MODULE_NAME_IS_gnome)||defined(MODULE_NAME_IS_gnome_main)||\ - defined(MODULE_NAME_IS_gnome2)||defined(MODULE_NAME_IS_gnome2_main)) + defined(MODULE_NAME_IS_gnome2)||defined(MODULE_NAME_IS_gnome2_main)||\ + defined(MODULE_NAME_IS_pda)) /* Declare nothing: gnome.h will do it for us */ #elif defined( ENABLE_NLS ) #if defined( HAVE_INCLUDED_GETTEXT )