Main Page   Namespace List   Compound List   File List   Namespace Members   Compound Members   File Members  

MediaInfoDLL.h

Go to the documentation of this file.
00001 /* MediaInfoDLL - All info about media files, for DLL
00002 // Copyright (C) 2002-2005 Jerome 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 //
00021 // Public DLL interface implementation
00022 // Wrapper for MediaInfo Library
00023 // Please see MediaInfo.h for help
00024 //
00025 //+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
00026 //
00027 // 2005-06-22, Zen@MediaArea.net
00028 // StreamNumber is signed (no change in the interface)
00029 //
00030 // 2005-05-18, Zen@MediaArea.net
00031 // Added Optons in Inform function
00032 //
00033 // 2004-12-15, Zen@MediaArea.net
00034 // Adaptation to new interface
00035 // MediaInfoList Interface
00036 //
00037 // 2003-05-04, Zen@MediaArea.net
00038 // Init
00039 //
00040 //+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
00041 //+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
00042 
00043 #ifndef MediaInfoDLLH
00044 #define MediaInfoDLLH
00045 
00046 #ifdef MEDIAINFO_DLL_EXPORT
00047 #define MEDIAINFO_DLL extern _declspec(dllexport)
00048 #else
00049 #define MEDIAINFO_DLL extern _declspec(dllimport)
00050 #endif
00051 
00052 /** @brief Kinds of Stream */
00053 typedef enum _stream_t
00054 {
00055     Stream_General,
00056     Stream_Video,
00057     Stream_Audio,
00058     Stream_Text,
00059     Stream_Chapters,
00060     Stream_Image,
00061     Stream_Max
00062 } stream_t_C;
00063 
00064 /** @brief Kinds of Info */
00065 typedef enum _info_t
00066 {
00067     Info_Name,
00068     Info_Text,
00069     Info_Measure,
00070     Info_Options,
00071     Info_Name_Text,
00072     Info_Measure_Text,
00073     Info_Info,
00074     Info_HowTo,
00075     Info_Max
00076 } info_t_C;
00077 
00078 /** @brief Option if InfoKind = Info_Options */
00079 typedef enum infooptions_t
00080 {
00081     InfoOption_ShowInInform,
00082     InfoOption_Support,
00083     InfoOption_ShowInSupported,
00084     InfoOption_TypeOfValue,
00085     InfoOption_Max
00086 } infooptions_t_C;
00087 
00088 /** @brief Option for Inform */
00089 typedef enum informoptions_t
00090 {
00091     InformOption_Nothing,
00092     InformOption_Custom,
00093     InformOption_HTML,
00094     InformOption_Max
00095 } informoptions_t_C;
00096 
00097 #ifdef __cplusplus
00098 extern "C"
00099 {
00100 #endif /* __cplusplus */
00101 
00102 /***************************************************************************/
00103 /*! \file MediaInfoDll.h
00104 \brief DLL wrapper for MediaInfo.h.
00105 
00106 DLL wrapper for MediaInfo.h \n
00107         Written in C \n
00108     "Handle" replaces class definition
00109 */
00110 /***************************************************************************/
00111 
00112 /** @brief Wrapper for MediaInfoLib::MediaInfo::Open (with a filename) */
00113 MEDIAINFO_DLL void*                 __stdcall MediaInfoA_Open (const char* File); /*return Handle*/
00114 /** @brief Wrapper for MediaInfoLib::MediaInfo::Open (with a buffer) */
00115 MEDIAINFO_DLL void*          __stdcall MediaInfoA_Open_Buffer (const unsigned char* Begin, unsigned int Begin_Size, const unsigned char* End, unsigned int End_Size); /*return Handle*/
00116 /** @brief Wrapper for MediaInfoLib::MediaInfo::Save */
00117 MEDIAINFO_DLL int            __stdcall MediaInfoA_Save (void* Handle);
00118 /** @brief Wrapper for MediaInfoLib::MediaInfo::Close */
00119 MEDIAINFO_DLL void           __stdcall MediaInfoA_Close (void* Handle);
00120 /** @brief Wrapper for MediaInfoLib::MediaInfo::Inform */
00121 MEDIAINFO_DLL const char*    __stdcall MediaInfoA_Inform (void* Handle, informoptions_t Options); /*Default : Options=0*/
00122 /** @brief Wrapper for MediaInfoLib::MediaInfo::Get */
00123 MEDIAINFO_DLL const char*    __stdcall MediaInfoA_GetI (void* Handle, stream_t_C StreamKind, int StreamNumber, unsigned int Parameter, info_t_C InfoKind); /*Default : InfoKind=Info_Text*/
00124 /** @brief Wrapper for MediaInfoLib::MediaInfo::Get */
00125 MEDIAINFO_DLL const char*    __stdcall MediaInfoA_Get (void* Handle, stream_t_C StreamKind, int StreamNumber, const char* Parameter, info_t_C InfoKind, info_t_C SearchKind); /*Default : InfoKind=Info_Text, SearchKind=Info_Name*/
00126 /** @brief Wrapper for MediaInfoLib::MediaInfo::Set */
00127 MEDIAINFO_DLL int            __stdcall MediaInfoA_SetI (void* Handle, const char* ToSet, stream_t_C StreamKind, int StreamNumber, unsigned int Parameter, const char* OldParameter);
00128 /** @brief Wrapper for MediaInfoLib::MediaInfo::Set */
00129 MEDIAINFO_DLL int            __stdcall MediaInfoA_Set (void* Handle, const char* ToSet, stream_t_C StreamKind, int StreamNumber, const char* Parameter, const char* OldParameter);
00130 /** @brief Wrapper for MediaInfoLib::MediaInfo::Option */
00131 MEDIAINFO_DLL const char*    __stdcall MediaInfoA_Option (void* Handle, const char* Option, const char* Value);
00132 /** @brief Wrapper for MediaInfoLib::MediaInfo::State_Get */
00133 MEDIAINFO_DLL int                __stdcall MediaInfoA_State_Get (void* Handle);
00134 /** @brief Wrapper for MediaInfoLib::MediaInfo::Count_Get */
00135 MEDIAINFO_DLL int            __stdcall MediaInfoA_Count_Get (void* Handle, stream_t_C StreamKind, int StreamNumber); /*Default : StreamNumber=-1*/
00136 
00137 /** @brief Wrapper for MediaInfoLib::MediaInfo::Open (with a filename)*/
00138 MEDIAINFO_DLL void*          __stdcall MediaInfo_Open (const wchar_t* File); /*return Handle*/
00139 /** @brief Wrapper for MediaInfoLib::MediaInfo::Open (with a buffer) */
00140 MEDIAINFO_DLL void*          __stdcall MediaInfo_Open_Buffer (const unsigned char* Begin, unsigned int Begin_Size, const unsigned char* End, unsigned int End_Size); /*return Handle*/
00141 /** @brief Wrapper for MediaInfoLib::MediaInfo::Save */
00142 MEDIAINFO_DLL int            __stdcall MediaInfo_Save (void* Handle);
00143 /** @brief Wrapper for MediaInfoLib::MediaInfo::Close */
00144 MEDIAINFO_DLL void           __stdcall MediaInfo_Close (void* Handle);
00145 /** @brief Wrapper for MediaInfoLib::MediaInfo::Inform */
00146 MEDIAINFO_DLL const wchar_t* __stdcall MediaInfo_Inform (void* Handle, informoptions_t Options); /*Default : Options=0*/
00147 /** @brief Wrapper for MediaInfoLib::MediaInfo::Get */
00148 MEDIAINFO_DLL const wchar_t* __stdcall MediaInfo_GetI (void* Handle, stream_t_C StreamKind, int StreamNumber, unsigned int Parameter, info_t_C InfoKind); /*Default : InfoKind=Info_Text*/
00149 /** @brief Wrapper for MediaInfoLib::MediaInfo::Get */
00150 MEDIAINFO_DLL const wchar_t* __stdcall MediaInfo_Get (void* Handle, stream_t_C StreamKind, int StreamNumber, const wchar_t* Parameter, info_t_C InfoKind, info_t_C SearchKind); /*Default : InfoKind=Info_Text, SearchKind=Info_Name*/
00151 /** @brief Wrapper for MediaInfoLib::MediaInfo::Set */
00152 MEDIAINFO_DLL int            __stdcall MediaInfo_SetI (void* Handle, const wchar_t* ToSet, stream_t_C StreamKind, int StreamNumber, unsigned int Parameter, const wchar_t* OldParameter);
00153 /** @brief Wrapper for MediaInfoLib::MediaInfo::Set */
00154 MEDIAINFO_DLL int            __stdcall MediaInfo_Set (void* Handle, const wchar_t* ToSet, stream_t_C StreamKind, int StreamNumber, const wchar_t* Parameter, const wchar_t* OldParameter);
00155 /** @brief Wrapper for MediaInfoLib::MediaInfo::Options */
00156 MEDIAINFO_DLL const wchar_t* __stdcall MediaInfo_Option (void* Handle, const wchar_t* Option, const wchar_t* Value);
00157 /** @brief Wrapper for MediaInfoLib::MediaInfo::State_Get */
00158 MEDIAINFO_DLL int                __stdcall MediaInfo_State_Get (void* Handle);
00159 /** @brief Wrapper for MediaInfoLib::MediaInfo::Count_Get */
00160 MEDIAINFO_DLL int            __stdcall MediaInfo_Count_Get (void* Handle, stream_t_C StreamKind, int StreamNumber); /*Default : StreamNumber=-1*/
00161 /** @brief Warning : Deprecated, use MediaInfo_Option("Info_Version", "") instead */
00162 MEDIAINFO_DLL const char*    __stdcall MediaInfo_Info_Version ();
00163 
00164 #ifdef __cplusplus
00165 }
00166 #endif /*__cplusplus*/
00167 
00168 #endif

Generated on Sun Jun 26 23:45:42 2005 for MediaInfoLib by doxygen1.3-rc3