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, audio/flac). You can register your own custom detection logic to cover additional file types.
More...
#include <MimeDetector.h>
|
| MimeDetector (bool setupDefault=true) |
|
bool | begin () |
| Sets is_first to true.
|
|
void | clear () |
| Clears all mime rules and resets the actual selection.
|
|
void | end () |
| Clears the actual mime and resets the state.
|
|
const char * | mime () |
|
void | setCheck (const char *mime, bool(*check)(uint8_t *start, size_t len), bool isActvie=true) |
| 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.
|
|
int | setMimeActive (const char *mimePrefix, bool active) |
| sets the mime rules active or inactive
|
|
void | setMimeCallback (void(*callback)(const char *)) |
|
size_t | write (uint8_t *data, size_t len) |
| write the header to determine the mime
|
|
|
static bool | checkAAC (uint8_t *start, size_t len) |
|
static bool | checkAACExt (uint8_t *start, size_t len) |
|
static bool | checkFLAC (uint8_t *start, size_t len) |
|
static bool | checkM4A (uint8_t *header, 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 | checkOggFLAC (uint8_t *start, size_t len) |
|
static bool | checkOggOpus (uint8_t *start, size_t len) |
| Checks for OGG Opus format.
|
|
static bool | checkOggVorbis (uint8_t *start, size_t len) |
| Checks for OGG Vorbis format.
|
|
static bool | checkSID (uint8_t *start, size_t len) |
| Commodore 64 SID File.
|
|
static bool | checkWAV (uint8_t *start, size_t len) |
|
|
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.
|
|
|
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, audio/flac). You can register your own custom detection logic to cover additional file types.
Please note that the distinction between mp3 and aac is difficult and might fail in some cases. FLAC detection supports both native FLAC and OGG FLAC formats.
- Author
- Phil Schatzmann
- Copyright
- GPLv3
◆ checkOggOpus()
static bool checkOggOpus |
( |
uint8_t * |
start, |
|
|
size_t |
len |
|
) |
| |
|
inlinestatic |
Checks for OGG Opus format.
Detects OGG containers that contain Opus-encoded audio data. Opus in OGG streams typically have "OpusHead" as the codec identifier in the first page of the stream.
- Parameters
-
start | Pointer to the data buffer |
len | Length of the data buffer |
- Returns
- true if OGG Opus format is detected, false otherwise
◆ checkOggVorbis()
static bool checkOggVorbis |
( |
uint8_t * |
start, |
|
|
size_t |
len |
|
) |
| |
|
inlinestatic |
Checks for OGG Vorbis format.
Detects OGG containers that contain Vorbis-encoded audio data. Vorbis in OGG streams have "\x01vorbis" as the codec identifier in the first page of the stream.
- Parameters
-
start | Pointer to the data buffer |
len | Length of the data buffer |
- Returns
- true if OGG Vorbis format is detected, false otherwise
◆ mime()
Provides the actual mime type, that was determined from the first available data
Implements MimeSource.
The documentation for this class was generated from the following file: