|
static int | oma_read_close (AVFormatContext *s) |
|
static void | hex_log (AVFormatContext *s, int level, const char *name, const uint8_t *value, int len) |
|
static int | kset (AVFormatContext *s, const uint8_t *r_val, const uint8_t *n_val, int len) |
|
static int | rprobe (AVFormatContext *s, uint8_t *enc_header, unsigned size, const uint8_t *r_val) |
|
static int | nprobe (AVFormatContext *s, uint8_t *enc_header, unsigned size, const uint8_t *n_val) |
|
static int | decrypt_init (AVFormatContext *s, ID3v2ExtraMeta *em, uint8_t *header) |
|
static int | read_packet (AVFormatContext *s, AVPacket *pkt) |
|
static int | aal_read_packet (AVFormatContext *s, AVPacket *pkt) |
|
static int | oma_read_header (AVFormatContext *s) |
|
static int | oma_read_packet (AVFormatContext *s, AVPacket *pkt) |
|
static int | oma_read_probe (const AVProbeData *p) |
|
static int | oma_read_seek (struct AVFormatContext *s, int stream_index, int64_t timestamp, int flags) |
|
This is a demuxer for Sony OpenMG Music files
Known file extensions: ".oma", "aa3" The format of such files consists of three parts:
- "ea3" header carrying overall info and metadata. Except for starting with "ea" instead of "ID", it's an ID3v2 header.
- "EA3" header is a Sony-specific header containing information about the OpenMG file: codec type (usually ATRAC, can also be MP3 or WMA), codec specific info (packet size, sample rate, channels and so on) and DRM related info (file encryption, content id).
- Sound data organized in packets follow the EA3 header (can be encrypted using the Sony DRM!).
Supported decoders: ATRAC3, ATRAC3+, MP3, LPCM
Definition in file omadec.c.