?? vlc_common.h
字號:
/***************************************************************************** * common.h: common definitions * Collection of useful common types and macros definitions ***************************************************************************** * Copyright (C) 1998-2005 the VideoLAN team * $Id: 7060cb5c4180fa7835f7250797c33954d6d26339 $ * * Authors: Samuel Hocevar <sam@via.ecp.fr> * Vincent Seguin <seguin@via.ecp.fr> * Gildas Bazin <gbazin@videolan.org> * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA. *****************************************************************************//** * \file * This file is a collection of common definitions and types */#ifndef VLC_COMMON_H# define VLC_COMMON_H 1/***************************************************************************** * Required vlc headers *****************************************************************************/#if defined( _MSC_VER )# pragma warning( disable : 4244 )#endif#include "vlc_config.h"/***************************************************************************** * Required system headers *****************************************************************************/#include <stdlib.h>#include <stdarg.h>#include <string.h>#include <stdio.h>#include <inttypes.h>#include <stddef.h>#ifndef __cplusplus# include <stdbool.h>#endif/* Format string sanity checks */#ifdef __GNUC__# define LIBVLC_FORMAT(x,y) __attribute__ ((format(printf,x,y)))# define LIBVLC_USED __attribute__ ((warn_unused_result))#else# define LIBVLC_FORMAT(x,y)# define LIBVLC_USED#endif/***************************************************************************** * Basic types definitions *****************************************************************************/#if defined( WIN32 ) || defined( UNDER_CE )# include <malloc.h># ifndef PATH_MAX# define PATH_MAX MAX_PATH# endif#endif/* Counter for statistics and profiling */typedef unsigned long count_t;/* Audio volume */typedef uint16_t audio_volume_t;/** * 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# define VLC_FOURCC( a, b, c, d ) \ ( ((uint32_t)d) | ( ((uint32_t)c) << 8 ) \ | ( ((uint32_t)b) << 16 ) | ( ((uint32_t)a) << 24 ) )# define VLC_TWOCC( a, b ) \ ( (uint16_t)(b) | ( (uint16_t)(a) << 8 ) )#else# define VLC_FOURCC( a, b, c, d ) \ ( ((uint32_t)a) | ( ((uint32_t)b) << 8 ) \ | ( ((uint32_t)c) << 16 ) | ( ((uint32_t)d) << 24 ) )# define VLC_TWOCC( a, b ) \ ( (uint16_t)(a) | ( (uint16_t)(b) << 8 ) )#endif/** * Translate a vlc_fourcc into its string representation. This function * assumes there is enough room in psz_fourcc to store 4 characters in. * * \param fcc a vlc_fourcc_t * \param psz_fourcc string to store string representation of vlc_fourcc in */static inline void __vlc_fourcc_to_char( vlc_fourcc_t fcc, char *psz_fourcc ){ memcpy( psz_fourcc, &fcc, 4 );}#define vlc_fourcc_to_char( a, b ) \ __vlc_fourcc_to_char( (vlc_fourcc_t)(a), (char *)(b) )/***************************************************************************** * Classes declaration *****************************************************************************//* Internal types */typedef struct vlc_list_t vlc_list_t;typedef struct vlc_object_t vlc_object_t;typedef struct libvlc_int_t libvlc_int_t;typedef struct date_t date_t;typedef struct dict_entry_t dict_entry_t;typedef struct dict_t dict_t;/* Playlist *//* FIXME *//** * Playlist commands */typedef enum { PLAYLIST_PLAY, /**< No arg. res=can fail*/ PLAYLIST_VIEWPLAY, /**< arg1= playlist_item_t*,*/ /** arg2 = playlist_item_t* , res=can fail */ PLAYLIST_PAUSE, /**< No arg res=can fail*/ PLAYLIST_STOP, /**< No arg res=can fail*/ PLAYLIST_SKIP, /**< arg1=int, res=can fail*/} playlist_command_t;typedef struct playlist_t playlist_t;typedef struct playlist_item_t playlist_item_t;typedef struct playlist_view_t playlist_view_t;typedef struct playlist_export_t playlist_export_t;typedef struct services_discovery_t services_discovery_t;typedef struct services_discovery_sys_t services_discovery_sys_t;typedef struct playlist_add_t playlist_add_t;/* Modules */typedef struct module_bank_t module_bank_t;typedef struct module_t module_t;typedef struct module_config_t module_config_t;typedef struct module_symbols_t module_symbols_t;typedef struct module_cache_t module_cache_t;typedef struct config_category_t config_category_t;/* Interface */typedef struct intf_thread_t intf_thread_t;typedef struct intf_sys_t intf_sys_t;typedef struct intf_console_t intf_console_t;typedef struct intf_msg_t intf_msg_t;typedef struct interaction_t interaction_t;typedef struct interaction_dialog_t interaction_dialog_t;typedef struct user_widget_t user_widget_t;/* Input */typedef struct input_thread_t input_thread_t;typedef struct input_thread_sys_t input_thread_sys_t;typedef struct input_item_t input_item_t;typedef struct access_t access_t;typedef struct access_sys_t access_sys_t;typedef struct stream_t stream_t;typedef struct stream_sys_t stream_sys_t;typedef struct demux_t demux_t;typedef struct demux_meta_t demux_meta_t;typedef struct demux_sys_t demux_sys_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 es_descriptor_t es_descriptor_t;typedef struct seekpoint_t seekpoint_t;typedef struct info_t info_t;typedef struct info_category_t info_category_t;typedef struct input_attachment_t input_attachment_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;typedef struct video_palette_t video_palette_t;/* Audio */typedef struct aout_instance_t aout_instance_t;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 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_sys_t vout_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;/* Subpictures */typedef struct spu_t spu_t;typedef struct subpicture_t subpicture_t;typedef struct subpicture_sys_t subpicture_sys_t;typedef struct subpicture_region_t subpicture_region_t;typedef struct text_style_t text_style_t;typedef struct image_handler_t image_handler_t;/* Stream output */typedef struct sout_instance_t sout_instance_t;typedef struct sout_instance_sys_t sout_instance_sys_t;typedef struct sout_input_t sout_input_t;typedef struct sout_packetizer_input_t sout_packetizer_input_t;typedef struct sout_access_out_t sout_access_out_t;typedef struct sout_access_out_sys_t sout_access_out_sys_t;typedef struct sout_mux_t sout_mux_t;typedef struct sout_mux_sys_t sout_mux_sys_t;typedef struct sout_stream_t sout_stream_t;typedef struct sout_stream_sys_t sout_stream_sys_t;typedef struct config_chain_t config_chain_t;typedef struct session_descriptor_t session_descriptor_t;typedef struct announce_method_t announce_method_t;typedef struct sout_param_t sout_param_t;typedef struct sout_pcat_t sout_pcat_t;typedef struct sout_std_t sout_std_t;typedef struct sout_display_t sout_display_t;typedef struct sout_duplicate_t sout_duplicate_t;typedef struct sout_transcode_t sout_transcode_t;typedef struct sout_chain_t sout_chain_t;typedef struct streaming_profile_t streaming_profile_t;typedef struct sout_module_t sout_module_t;typedef struct sout_gui_descr_t sout_gui_descr_t;typedef struct profile_parser_t profile_parser_t;/* Decoders */typedef struct decoder_t decoder_t;typedef struct decoder_sys_t decoder_sys_t;typedef struct decoder_synchro_t decoder_synchro_t;/* Encoders */typedef struct encoder_t encoder_t;typedef struct encoder_sys_t encoder_sys_t;/* Filters */typedef struct filter_t filter_t;typedef struct filter_sys_t filter_sys_t;/* Network */typedef struct network_socket_t network_socket_t;typedef struct virtual_socket_t v_socket_t;typedef struct sockaddr sockaddr;typedef struct addrinfo addrinfo;typedef struct vlc_acl_t vlc_acl_t;typedef struct vlc_url_t vlc_url_t;/* Misc */typedef struct iso639_lang_t iso639_lang_t;typedef struct device_t device_t;
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -