6#include "AudioTools/CoreAudio/AudioBasic/Collections/Vector.h"
7#include "AudioTools/CoreAudio/AudioBasic/StrView.h"
20 {
"aiff",
"audio/aiff"},
21 {
"aif",
"audio/aiff"},
22 {
"aifc",
"audio/aiff"},
23 {
"alac",
"audio/alac"},
25 {
"au",
"audio/basic"},
26 {
"caf",
"audio/x-caf"},
27 {
"dts",
"audio/vnd.dts"},
28 {
"flac",
"audio/flac"},
29 {
"m3u",
"audio/x-mpegurl"},
30 {
"m3u8",
"application/vnd.apple.mpegurl"},
32 {
"mid",
"audio/midi"},
33 {
"midi",
"audio/midi"},
34 {
"mka",
"audio/x-matroska"},
35 {
"mkv",
"video/x-matroska"},
36 {
"mp2",
"audio/mpeg"},
37 {
"mp2t",
"video/MP2T"},
38 {
"mp3",
"audio/mpeg"},
40 {
"mpeg",
"audio/mpeg"},
44 {
"opus",
"audio/ogg; codecs=opus"},
45 {
"sid",
"audio/prs.sid"},
46 {
"spx",
"audio/ogg; codecs=spx"},
48 {
"vorbis",
"audio/ogg; codec=vorbis"},
49 {
"wave",
"audio/vnd.wave"},
50 {
"wav",
"audio/vnd.wave"},
51 {
"webm",
"video/webm"},
52 {
"wma",
"audio/x-ms-wma"},
83 if (!filename)
return nullptr;
84 const char* dot = strrchr(filename,
'.');
85 if (!dot || *(dot + 1) ==
'\0')
return nullptr;
92 if (!extension)
return nullptr;
94 if (extension[0] ==
'.') extension++;
98 for (
size_t i = 0; i < custom_mime_table.size(); i++) {
100 return custom_mime_table[i].mime;
104 for (
size_t i = 0;
mime_table[i].ext !=
nullptr; i++) {
116 custom_mime_table.push_back(entry);
extension to mime table (sorted alphabetically)
Definition MimeResolver.h:12