00001 /* MediaInfoDLL - All info about media files, for DLL 00002 // Copyright (C) 2002-2003 Jérôme Martinez, Zen@MediaArea.net 00003 // 00004 // This library is free software; you can redistribute it and/or 00005 // modify it under the terms of the GNU Lesser General Public 00006 // License as published by the Free Software Foundation; either 00007 // version 2.1 of the License, or (at your option) any later version. 00008 // 00009 // This library is distributed in the hope that it will be useful, 00010 // but WITHOUT ANY WARRANTY; without even the implied warranty of 00011 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00012 // Lesser General Public License for more details. 00013 // 00014 // You should have received a copy of the GNU Lesser General Public 00015 // License along with this library; if not, write to the Free Software 00016 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 00017 // 00018 //+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 00019 //+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 00020 // MediaInfo 00021 //+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 00022 // 00023 // Version 0.1.0 00024 // -------------- 00025 // C Wrapper for MediaInfo 00026 // Please see MediaInfo.h for help 00027 // 00028 //+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 00029 // 00030 // 0.1.0 (Zen@MediaArea.net) 00031 // Init 00032 // 00033 //+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 00034 //+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/ 00035 00036 #ifndef MediaInfoDLLH 00037 #define MediaInfoDLLH 00038 00039 #ifdef MEDIAINFO_DLL_EXPORT 00040 #define MEDIAINFO_DLL extern _declspec(dllexport) 00041 #else 00042 #define MEDIAINFO_DLL extern _declspec(dllimport) 00043 #endif 00044 00045 /** @brief Kinds of Stream */ 00046 typedef enum _stream_t 00047 { 00048 Stream_General, 00049 Stream_Video, 00050 Stream_Audio, 00051 Stream_Text, 00052 Stream_Chapters, 00053 Stream_Image, 00054 Stream_Max 00055 } stream_t_C; 00056 00057 /** @brief Kinds of Info */ 00058 typedef enum _info_t 00059 { 00060 Info_Name, 00061 Info_Text, 00062 Info_Measure, 00063 Info_Options, 00064 Info_Name_Text, 00065 Info_Measure_Text, 00066 Info_Info, 00067 Info_HowTo, 00068 Info_Max 00069 } info_t_C; 00070 00071 //#ifdef __cplusplus 00072 extern "C" 00073 { 00074 //#endif /* __cplusplus */ 00075 00076 /***************************************************************************/ 00077 /*! \file MediaInfoDll.h 00078 \brief C wrapper for MediaInfo.h. 00079 00080 C wrapper for MediaInfo.h \n 00081 Handle replaces class definition 00082 */ 00083 /***************************************************************************/ 00084 00085 /** @brief Wrapper for MediaInfoLib::MediaInfo::Open */ 00086 MEDIAINFO_DLL void* __stdcall MediaInfo_Open (char* File); /*return Handle*/ 00087 /** @brief Wrapper for MediaInfoLib::MediaInfo::Close */ 00088 MEDIAINFO_DLL void __stdcall MediaInfo_Close (void* Handle); 00089 /** @brief Wrapper for MediaInfoLib::MediaInfo::Inform */ 00090 MEDIAINFO_DLL char* __stdcall MediaInfo_Inform (void* Handle); 00091 /** @brief Wrapper for MediaInfoLib::MediaInfo::Get */ 00092 MEDIAINFO_DLL char* __stdcall MediaInfo_GetI (void* Handle, stream_t_C StreamKind, int StreamNumber, int Parameter, info_t_C KindOfInfo); /*Default : KindOfInfo=Info_Text*/ 00093 /** @brief Wrapper for MediaInfoLib::MediaInfo::Get */ 00094 MEDIAINFO_DLL char* __stdcall MediaInfo_Get (void* Handle, stream_t_C StreamKind, int StreamNumber, char* Parameter, info_t_C KindOfInfo, info_t_C KindOfSearch); /*Default : KindOfInfo=Info_Text, KindOfSearch=Info_Name*/ 00095 /** @brief Wrapper for MediaInfoLib::MediaInfo::Info_Parameters */ 00096 MEDIAINFO_DLL char* __stdcall MediaInfo_Info_Parameters (bool CSV); /*Default : CSV=false*/ 00097 /** @brief Wrapper for MediaInfoLib::MediaInfo::Count_Get */ 00098 MEDIAINFO_DLL int __stdcall MediaInfo_Count_Get (void* Handle, stream_t_C StreamKind, int StreamNumber); /*Default : StreamNumber=-1*/ 00099 /** @brief Wrapper for MediaInfoLib::MediaInfo::Complete_Get */ 00100 MEDIAINFO_DLL int __stdcall MediaInfo_Complete_Get (); 00101 /** @brief Wrapper for MediaInfoLib::MediaInfo::Complete_Set */ 00102 MEDIAINFO_DLL int __stdcall MediaInfo_Complete_Set (int Complete); 00103 /** @brief Wrapper for MediaInfoLib::MediaInfo::Inform_Set */ 00104 MEDIAINFO_DLL int __stdcall MediaInfo_Inform_Set (void* Handle, char* Text); 00105 /** @brief Wrapper for MediaInfoLib::MediaInfo::Info_Capacities */ 00106 MEDIAINFO_DLL char* __stdcall MediaInfo_Info_Capacities (); 00107 /** @brief Wrapper for MediaInfoLib::MediaInfo::Info_Codecs */ 00108 MEDIAINFO_DLL char* __stdcall MediaInfo_Info_Codecs (); 00109 /** @brief Wrapper for MediaInfoLib::MediaInfo::Info_Version */ 00110 MEDIAINFO_DLL char* __stdcall MediaInfo_Info_Version (); 00111 00112 //#ifdef __cplusplus 00113 } 00114 //#endif /*__cplusplus*/ 00115 00116 #endif