⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 tools.h

📁 一个用于智能手机的多媒体库适合S60 WinCE的跨平台开发库
💻 H
📖 第 1 页 / 共 2 页
字号:
/* *			GPAC - Multimedia Framework C SDK * *			Copyright (c) Jean Le Feuvre 2000-2005  *					All rights reserved * *  This file is part of GPAC / common tools sub-project * *  GPAC is free software; you can redistribute it and/or modify *  it under the terms of the GNU Lesser General Public License as published by *  the Free Software Foundation; either version 2, or (at your option) *  any later version. *    *  GPAC 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 Lesser General Public License for more details. *    *  You should have received a copy of the GNU Lesser General Public *  License along with this library; see the file COPYING.  If not, write to *  the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.  * */#ifndef _GF_TOOLS_H_#define _GF_TOOLS_H_#ifdef __cplusplusextern "C" {#endif#include <gpac/setup.h>/*! \file "gpac/tools.h" *	\brief Base definitions and functions of GPAC. * * This file contains basic functions and core definitions of the GPAC framework. This file is * usually included by all GPAC header files since it contains the error definitions.*//*! \defgroup utils_grp utils *	You will find in this module the documentation of all tools used in GPAC.*//*! \addtogroup tools_grp base utils *	\ingroup utils_grp *	\brief Base definitions and functions of GPAC. * *	This section documents some very basic functions and core definitions of the GPAC framework. *	@{ *//*! *	\brief GPAC Version *	\hideinitializer * *	Macro giving GPAC version expressed as a printable string*//*KEEP SPACE SEPARATORS FOR MAKE / GREP (SEE MAIN MAKEFILE)!!!, and NO SPACE in GPAC_VERSION for proper install*/#define GPAC_VERSION       "0.4.4"/*! *	\brief GPAC Version *	\hideinitializer * *	Macro giving GPAC version expressed as an integer, where version X.Y.Z is coded as 0x00XXYYZZ*/#define GPAC_VERSION_INT	0x00000404/*! *	\brief Memory allocation *	\hideinitializer * *	Macro allocating memory and zero-ing it*/#define GF_SAFEALLOC(__ptr, __struct) { __ptr = (__struct *) malloc(sizeof(__struct)); if (__ptr) memset((void *) __ptr, 0, sizeof(__struct)); }/*! *	\brief 4CC Formatting *	\hideinitializer * *	Macro formating a 4-character code (or 4CC) "abcd" as 0xAABBCCDD*/#define GF_4CC(a,b,c,d) (((a)<<24)|((b)<<16)|((c)<<8)|(d))/*! *	\brief 4CC Printing * *	returns a 4CC printable form*/const char *gf_4cc_to_str(u32 type);/*! *	\brief large file opening * *	Opens a large file (>4GB) *	\param file_name Same semantics as fopen *	\param mode Same semantics as fopen *	\return stream handle of the file object *	\note You only need to call this function if you're suspecting the file to be a large one (usually only media files), otherwise use regular stdio.*/FILE *gf_f64_open(const char *file_name, const char *mode);/*! *	\brief large file position query * *	Queries the current read/write position in a large file *	\param f Same semantics as ftell *	\return position in the file *	\note You only need to call this function if you're suspecting the file to be a large one (usually only media files), otherwise use regular stdio.*/u64 gf_f64_tell(FILE *f);/*! *	\brief large file seeking * *	Seeks the current read/write position in a large file *	\param f Same semantics as fseek *	\param pos Same semantics as fseek *	\param whence Same semantics as fseek *	\return new position in the file *	\note You only need to call this function if you're suspecting the file to be a large one (usually only media files), otherwise use regular stdio.*/u64 gf_f64_seek(FILE *f, s64 pos, s32 whence);/*! @} *//*! \addtogroup errors_grp error codes *	\ingroup utils_grp *	\brief Errors used in GPAC. * *	This section documents all error codes used in the GPAC framework. Most of the GPAC's functions will use these as  * return values, and some of these errors are also used for state communication with the different modules of the framework. *	@{ *//*! * GPAC Error *	\hideinitializer * *	positive values are warning and info, 0 means no error and negative values are errors */typedef enum{	/*!Message from any scripting engine used in the presentation (ECMAScript, MPEG-J, ...) (Info).*/	GF_SCRIPT_INFO						= 3,	/*!Indicates an data frame has several AU packed (not MPEG-4 compliant). This is used by decoders to force 	multiple decoding of the same data frame (Info).*/	GF_PACKED_FRAMES					= 2,	/*!Indicates the end of a stream or of a file (Info).*/	GF_EOS								= 1,	/*!	\n\n	*/	/*!Operation success (no error).*/	GF_OK								= 0,	/*!\n*/	/*!One of the input parameter is not correct or cannot be used in the current operating mode of the framework.*/	GF_BAD_PARAM							= -1,	/*! Memory allocation failure.*/	GF_OUT_OF_MEM							= -2,	/*! Input/Output failure (disk access, system call failures)*/	GF_IO_ERR								= -3,	/*! The desired feature or operation is not supported by the framework*/	GF_NOT_SUPPORTED						= -4,	/*! Input data has been corrupted*/	GF_CORRUPTED_DATA						= -5,	/*! A modification was attempted on a scene node which could not be found*/	GF_SG_UNKNOWN_NODE						= -6,	/*! The PROTO node interface does not match the nodes using it*/	GF_SG_INVALID_PROTO						= -7,	/*! An error occured in the scripting engine*/	GF_SCRIPT_ERROR							= -8,	/*! Buffer is too small to contain decoded data. Decoders shall use this error whenever they need to resize their output memory buffers*/	GF_BUFFER_TOO_SMALL						= -9,	/*! Bitstream is not compliant to the specfication it refers to*/	GF_NON_COMPLIANT_BITSTREAM				= -10,	/*! No decoders could be found to handle the desired media type*/	GF_CODEC_NOT_FOUND						= -11,	/*! The URL is not properly formatted or cannot be found*/	GF_URL_ERROR							= -12,	/*! An service error has occured at the local side*/	GF_SERVICE_ERROR						= -13,	/*! A service error has occured at the remote (server) side*/	GF_REMOTE_SERVICE_ERROR					= -14,	/*! The desired stream could not be found in the service*/	GF_STREAM_NOT_FOUND						= -15,	/*! The IsoMedia file is not a valid one*/	GF_ISOM_INVALID_FILE					= -20,	/*! The IsoMedia file is not complete. Either the file is being downloaded, or it has been truncated*/	GF_ISOM_INCOMPLETE_FILE					= -21,	/*! The media in this IsoMedia track is not valid (usually due to a broken stream description)*/	GF_ISOM_INVALID_MEDIA					= -22,	/*! The requested operation cannot happen in the current opening mode of the IsoMedia file*/	GF_ISOM_INVALID_MODE					= -23,	/*! This IsoMedia track refers to media outside the file in an unknown way*/	GF_ISOM_UNKNOWN_DATA_REF				= -24,	/*! An invalid MPEG-4 Object Descriptor was found*/	GF_ODF_INVALID_DESCRIPTOR				= -30,	/*! An MPEG-4 Object Descriptor was found or added to a forbidden descriptor*/	GF_ODF_FORBIDDEN_DESCRIPTOR				= -31,	/*! An invalid MPEG-4 BIFS command was detected*/	GF_ODF_INVALID_COMMAND					= -32,	/*! The scene has been encoded using an unknown BIFS version*/	GF_BIFS_UNKNOWN_VERSION					= -33,	/*! The remote IP address could not be solved*/	GF_IP_ADDRESS_NOT_FOUND					= -40,	/*! The connection to the remote peer has failed*/	GF_IP_CONNECTION_FAILURE				= -41,	/*! The network operation has failed*/	GF_IP_NETWORK_FAILURE					= -42,	/*! The network connection has been closed*/	GF_IP_CONNECTION_CLOSED					= -43,	/*! The network operation has failed because no data is available*/	GF_IP_NETWORK_EMPTY						= -44,	/*! The network operation has been discarded because it would be a blocking one*/	GF_IP_SOCK_WOULD_BLOCK					= -45,	/*! UDP connection did not receive any data at all. Signaled by client services to reconfigure network if possible*/	GF_IP_UDP_TIMEOUT						= -46,	/*! Authentication with the remote host has failed*/	GF_AUTHENTICATION_FAILURE				= -50,} GF_Err;/*! *	\brief Error Printing * *	Returns a printable version of a given error *	\param e Error code requested *	\return String representing the error*/const char *gf_error_to_string(GF_Err e);/*! @} *//*! \addtogroup log_grp logging tools *	\ingroup utils_grp *	@{ *//*! * GPAC Log Levels *	\hideinitializer *  * These levels describes messages priority used when filtering logs */enum{	/*! Log message describes an error*/	GF_LOG_ERROR = 1,	/*! Log message describes a warning*/	GF_LOG_WARNING,	/*! Log message is informational (state, etc..)*/	GF_LOG_INFO,	/*! Log message is a debug info*/	GF_LOG_DEBUG,};/*! *	\brief Log level assignment * * Sets the level used for log filtering. By default no log is performed *	\param level log level used. * */void gf_log_set_level(u32 level);/*! * GPAC Log tools *	\hideinitializer * * These flags describes which sub-part of GPAC generates the log and are used when filtering logs */enum{	/*! Log message from the core library (init, threads, network calls, etc)*/	GF_LOG_CORE = 1,	/*! Log message from a raw media parser (BIFS, LASeR, A/V formats)*/	GF_LOG_CODING= 1<<1,	/*! Log message from a bitstream parser (IsoMedia, MPEG-2 TS, OGG, ...)*/	GF_LOG_CONTAINER = 1<<2,	/*! Log message from the network stack (messages & co)*/	GF_LOG_NETWORK = 1<<3,	/*! Log message from the RTP/RTCP stack (TS info) and packet structure & hinting (debug)*/	GF_LOG_RTP = 1<<4,	/*! Log message from authoring subsystem (file manip, import/export)*/	GF_LOG_AUTHOR = 1<<5,	/*! Log message from the sync layer of the terminal*/	GF_LOG_SYNC = 1<<6,	/*! Log message from a codec*/	GF_LOG_CODEC = 1<<7,	/*! Log message from any XML parser (context loading, etc)*/	GF_LOG_PARSER = 1<<8,	/*! Log message from the terminal/renderer, indicating media object state*/	GF_LOG_MEDIA = 1<<9,	/*! Log message from the scene graph/scene manager (handling of nodes and attribute modif, DOM core)*/	GF_LOG_SCENE = 1<<10,	/*! Log message from the scripting engine*/	GF_LOG_SCRIPT = 1<<11,	/*! Log message from event handling, animations and scene timing*/	GF_LOG_COMPOSE = 1<<12,	/*! Log message from renderer*/	GF_LOG_RENDER = 1<<13,	/*! Log message from a media service*/	GF_LOG_SERVICE = 1<<14,	/*! Log message from multimedia I/O devices (audio/video input/output, ...)*/	GF_LOG_MMIO = 1<<15};/*! *	\brief Log modules assignment * * Sets the modules to be checked for log filtering. By default no modules are logged. *	\param tools log tools filtered. This is an OR'ed combinaison of log module flags * */void gf_log_set_tools(u32 tools);

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -