10#pragma GCC diagnostic push
11#pragma GCC diagnostic ignored "-Wunused-function"
12#pragma GCC diagnostic ignored "-Wunused-variable"
18#pragma GCC diagnostic pop
33#define __DCL_TRACE1_N __DCL_TRACE1
34#define __DCL_TRACE2_N __DCL_TRACE2
35#define __DCL_TRACE3_N __DCL_TRACE3
36#define __DCL_TRACE4_N __DCL_TRACE4
38#define __DCL_TRACE1_N(fmt, arg)
39#define __DCL_TRACE2_N(fmt, arg1, arg2)
40#define __DCL_TRACE3_N(fmt, arg1, arg2, arg3)
41#define __DCL_TRACE4_N(fmt, arg1, arg2, arg3, arg4)
46#if __DCL_HAVE_THIS_FILE__
54 if (!MediaInfo_Module) {
57 if (!MediaInfo_Module) {
69 if (MediaInfo_Module) {
70 MediaInfoDLL_UnLoad();
77 if (!MediaInfo_Module) {
81 __handle = MediaInfo_New();
82 size_t r = MediaInfo_Open(__handle, _filename);
84 throw new IOException(_filename, L
"MediaInfo Open Failed");
90 MediaInfo_Close(__handle);
91 MediaInfo_Delete(__handle);
96 String
r = MediaInfo_Inform(__handle, 0);
102 return inform().replace_r(L
"[ \t]{2,}", L
" ",
true)
103 .replace_r(L
" :", L
":",
true)
104 .replace_r(L
"\r\n", L
"\n",
true)
105 .replace_r(L
"Complete name[^\n]+\n", L
"",
true)
112 String
r = MediaInfo_Option(__handle, _option, _value ? _value : L
"");
296static const wchar_t* __formatToType__[] = {
297 L
"ShockWave", L
"x-shockwave-flash"
298 , L
"Flash Video", L
"x-flv"
300 , L
"MPEG Audio", L
"mpeg"
301 , L
"MPEG Video", L
"mpeg"
302 , L
"CDXA/MPEG-PS", L
"mp2p"
303 , L
"MPEG-PS", L
"mp2p"
312 return L
"image/" +
format().toLowerCase();
316 const wchar_t* type =
NULL;
317 for (
size_t i = 0; i <
__countof(__formatToType__,
wchar_t*);
319 if (
format.compareNoCase(__formatToType__[i]) == 0) {
320 type = __formatToType__[i + 1];
339 r = L
"application/octet-stream";
DCLCAPI int __dlerror(String &r)
#define __countof(array, type)
#define __DCL_THROWS2(e1, e2)
#define __DCL_VERIFY(expr)
#define __DCL_ASSERT(expr)
static uint32_t parse(const wchar_t *_number, unsigned _base=10) __DCL_THROWS1(NumericConvertException *)
static uint64_t parse(const wchar_t *_number, unsigned _base=10) __DCL_THROWS1(NumericConvertException *)