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 | 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 | 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 | 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} |
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