00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026 #ifndef MediaInfoH
00027 #define MediaInfoH
00028
00029
00030
00031 #include "MediaInfo/MediaInfo_Internal.h"
00032 #include "MediaInfo/MediaInfo_Config_MediaInfo.h"
00033
00034
00035 namespace MediaInfoLib
00036 {
00037
00038 class File__Analyze;
00039 class Internet__Base;
00040
00041
00044
00045
00046 class MediaInfo
00047 {
00048 public :
00049
00050 MediaInfo ();
00051 ~MediaInfo ();
00052
00058 size_t Open (const String &File_Name);
00068 size_t Open (const ZenLib::int8u* Begin, size_t Begin_Size, const ZenLib::int8u* End=NULL, size_t End_Size=0, ZenLib::int64u File_Size=0);
00073 size_t Open_Buffer_Init (ZenLib::int64u File_Size=(ZenLib::int64u)-1, ZenLib::int64u File_Offset=0);
00078 size_t Open_Buffer_Continue (const ZenLib::int8u* Buffer, size_t Buffer_Size);
00083 ZenLib::int64u Open_Buffer_Continue_GoTo_Get ();
00086 size_t Open_Buffer_Finalize ();
00091 size_t Save ();
00095 void Close ();
00096
00097
00101 String Inform (size_t Reserved=0);
00102
00103
00112 String Get (stream_t StreamKind, size_t StreamNumber, size_t Parameter, info_t InfoKind=Info_Text);
00123 String Get (stream_t StreamKind, size_t StreamNumber, const String &Parameter, info_t InfoKind=Info_Text, info_t SearchKind=Info_Name);
00124
00125
00136 size_t Set (const String &ToSet, stream_t StreamKind, size_t StreamNumber, size_t Parameter, const String &OldValue=_T(""));
00147 size_t Set (const String &ToSet, stream_t StreamKind, size_t StreamNumber, const String &Parameter, const String &OldValue=_T(""));
00148
00149
00154 size_t Output_Buffer_Get (const String &Value);
00159 size_t Output_Buffer_Get (size_t Pos);
00160
00161
00201 String Option (const String &Option, const String &Value=_T(""));
00207 static String Option_Static (const String &Option, const String &Value=_T(""));
00215 size_t State_Get ();
00219 size_t Count_Get (stream_t StreamKind, size_t StreamNumber=(size_t)-1);
00220
00221 private :
00222 void* Internal;
00223 };
00224
00225 }
00226 #endif