X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=include%2Fvlc_common.h;h=37a3fc4b392023ce1207c33626168ce7d02d0552;hb=3a903d5fc45aaccbe084de600c2b3b47ee9b7df9;hp=506a3341f47cdc941a1706a1662373adc4ed864b;hpb=7d0c93158d1afb34538de30802f9542b04db0b55;p=vlc diff --git a/include/vlc_common.h b/include/vlc_common.h index 506a3341f4..37a3fc4b39 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.80 2003/09/21 10:23:59 gbazin Exp $ + * $Id: vlc_common.h,v 1.96 2003/12/06 22:45:53 jpsaman Exp $ * * Authors: Samuel Hocevar * Vincent Seguin @@ -25,7 +25,7 @@ *****************************************************************************/ /** - * \file + * \file * This file is a collection of common definitions and types */ @@ -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,39 +138,23 @@ typedef uint16_t audio_volume_t; typedef int socklen_t; #endif -/***************************************************************************** - * Old types definitions - ***************************************************************************** - * We still provide these types because most of the VLC code uses them - * instead of the C9x types. They should be removed when the transition is - * complete (probably in 10 years). - *****************************************************************************/ -typedef uint8_t u8; -typedef int8_t s8; -typedef uint16_t u16; -typedef int16_t s16; -typedef uint32_t u32; -typedef int32_t s32; -typedef uint64_t u64; -typedef int64_t s64; - -/***************************************************************************** - * 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 @@ -200,6 +189,7 @@ typedef struct msg_subscription_t msg_subscription_t; /* Playlist */ typedef struct playlist_t playlist_t; typedef struct playlist_item_t playlist_item_t; +typedef struct playlist_group_t playlist_group_t; /* Modules */ typedef struct module_bank_t module_bank_t; @@ -217,7 +207,6 @@ typedef struct intf_channel_t intf_channel_t; /* Input */ typedef struct input_thread_t input_thread_t; typedef struct input_thread_sys_t input_thread_sys_t; -typedef struct input_channel_t input_channel_t; typedef struct input_area_t input_area_t; typedef struct input_buffers_t input_buffers_t; typedef struct input_socket_t input_socket_t; @@ -232,12 +221,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; @@ -245,14 +240,15 @@ 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_sample_format_t audio_sample_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; /* Video */ typedef struct vout_thread_t vout_thread_t; -typedef struct vout_font_t vout_font_t; typedef struct vout_sys_t vout_sys_t; typedef struct chroma_sys_t chroma_sys_t; +typedef video_format_t video_frame_format_t; typedef struct picture_t picture_t; typedef struct picture_sys_t picture_sys_t; typedef struct picture_heap_t picture_heap_t; @@ -272,22 +268,23 @@ 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; +/* Encoders */ +typedef struct encoder_t encoder_t; +typedef struct encoder_sys_t encoder_sys_t; + /* Misc */ typedef struct data_packet_t data_packet_t; 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; @@ -453,13 +450,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 ) \ @@ -468,7 +466,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; \ @@ -764,6 +762,10 @@ typedef __int64 off_t; # define vlc_lseek NULL #endif +/* vlc_wraptext (defined in src/extras/libc.c) */ +#define wraptext vlc_wraptext +VLC_EXPORT( char *, vlc_wraptext, ( const char *, int, vlc_bool_t ) ); + /***************************************************************************** * CPU capabilities *****************************************************************************/ @@ -785,7 +787,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 )