arduino-audio-tools
|
Logic to detemine the mime type from the content. By default the following mime types are supported (audio/aac, audio/mpeg, audio/vnd.wave, audio/ogg). You can register your own custom detection logic to cover additional file types. More...
#include <MimeDetector.h>
Classes | |
struct | Check |
Public Member Functions | |
bool | begin () |
const char * | mime () |
void | setCheck (const char *mime, bool(*check)(uint8_t *start, size_t len)) |
adds/updates the checking logic for the indicated mime | |
void | setDefaultMime (const char *mime) |
Provides the default mime type if no mime could be determined. | |
void | setMimeCallback (void(*callback)(const char *)) |
size_t | write (uint8_t *data, size_t len) |
write the header to determine the mime | |
Static Public Member Functions | |
static bool | checkAAC (uint8_t *start, size_t len) |
static bool | checkAACExt (uint8_t *start, size_t len) |
static bool | checkMP2T (uint8_t *start, size_t len) |
MPEG-2 TS Byte Stream Format. | |
static bool | checkMP3 (uint8_t *start, size_t len) |
static bool | checkMP3Ext (uint8_t *start, size_t len) |
static bool | checkOGG (uint8_t *start, size_t len) |
static bool | checkSID (uint8_t *start, size_t len) |
Commodore 64 SID File. | |
static bool | checkWAV (uint8_t *start, size_t len) |
Protected Member Functions | |
void | determineMime (void *data, size_t len) |
Update the mime type. | |
const char * | lookupMime (uint8_t *data, size_t len) |
Default logic which supports aac, mp3, wav and ogg. | |
Protected Attributes | |
const char * | actual_mime = nullptr |
Vector< Check > | checks {0} |
const char * | default_mime = nullptr |
bool | is_first = false |
void(* | notifyMimeCallback )(const char *mime) = nullptr |
Logic to detemine the mime type from the content. By default the following mime types are supported (audio/aac, audio/mpeg, audio/vnd.wave, audio/ogg). You can register your own custom detection logic to cover additional file types.
Please not that the distinction between mp3 and aac is difficult and might fail is some cases
Provides the actual mime type, that was determined from the first available data