28 if (memcmp(p->
buf,
"MUSX", 4))
63 }
else if (version == 10) {
68 case MKTAG(
'P',
'S',
'3',
'_'):
73 if (coding ==
MKTAG(
'D',
'A',
'T',
'4') ||
74 coding ==
MKTAG(
'D',
'A',
'T',
'8')) {
85 case MKTAG(
'W',
'I',
'I',
'_'):
88 if (coding !=
MKTAG(
'D',
'A',
'T',
'4') &&
89 coding !=
MKTAG(
'D',
'A',
'T',
'8')) {
102 case MKTAG(
'X',
'E',
'_',
'_'):
108 case MKTAG(
'P',
'S',
'P',
'_'):
114 case MKTAG(
'P',
'S',
'2',
'_'):
124 }
else if (version == 6 || version == 5 || version == 4) {
130 case MKTAG(
'G',
'C',
'_',
'_'):
136 case MKTAG(
'P',
'S',
'2',
'_'):
142 case MKTAG(
'X',
'B',
'_',
'_'):
176 .extensions =
"musx",
#define AVERROR_INVALIDDATA
Invalid data found when processing input.
AVInputFormat ff_musx_demuxer
enum AVCodecID codec_id
Specific type of the encoded data (the codec used).
int64_t avio_seek(AVIOContext *s, int64_t offset, int whence)
fseek() equivalent for AVIOContext.
int64_t avio_skip(AVIOContext *s, int64_t offset)
Skip given number of bytes forward.
This struct describes the properties of an encoded stream.
#define av_assert0(cond)
assert() equivalent, that is always enabled.
void void avpriv_request_sample(void *avc, const char *msg,...) av_printf_format(2
Log a generic warning message about a missing feature.
unsigned int avio_rb32(AVIOContext *s)
AVStream * avformat_new_stream(AVFormatContext *s, const AVCodec *c)
Add a new stream to a media file.
AVStream ** streams
A list of all streams in the file.
static int musx_probe(AVProbeData *p)
unsigned int avio_rl32(AVIOContext *s)
#define NULL_IF_CONFIG_SMALL(x)
Return NULL if CONFIG_SMALL is true, otherwise the argument without modification. ...
enum AVMediaType codec_type
General type of the encoded data.
simple assert() macros that are a bit more flexible than ISO C assert().
static const uint8_t offset[127][2]
unsigned char * buf
Buffer must have AVPROBE_PADDING_SIZE of extra allocated bytes filled with zero.
int block_align
Audio only.
static int musx_read_header(AVFormatContext *s)
#define AVERROR_PATCHWELCOME
Not yet implemented in FFmpeg, patches welcome.
AVIOContext * pb
I/O context.
This structure contains the data a format has to probe a file.
int sample_rate
Audio only.
static int musx_read_packet(AVFormatContext *s, AVPacket *pkt)
AVCodecParameters * codecpar
#define MKTAG(a, b, c, d)
This structure stores compressed data.