23 #include "libavutil/intreadwrite.h"
37 MKTAG(
'O',
'G',
'G',
' '),
38 MKTAG(
'V',
'A',
'G',
' '),
39 MKTAG(
'W',
'A',
'D',
'P'),
40 MKTAG(
'X',
'A',
'D',
'P'),
41 MKTAG(
'X',
'M',
'A',
' '),
46 if (!memcmp(p->
buf,
"RSD", 3) &&
47 p->
buf[3] -
'0' >= 2 && p->
buf[3] -
'0' <= 6)
112 for (i = 0; i < 16; i++)
#define AVERROR_PATCHWELCOME
void av_free_packet(AVPacket *pkt)
Free a packet.
void av_shrink_packet(AVPacket *pkt, int size)
Reduce packet size, correctly zeroing padding.
AVCodecContext * codec
Codec context associated with this stream.
void av_log(void *avcl, int level, const char *fmt,...) av_printf_format(3
Send the specified message to the log if the level is less than or equal to the current av_log_level...
size_t av_get_codec_tag_string(char *buf, size_t buf_size, unsigned int codec_tag)
Put a string representing the codec tag codec_tag in buf.
int block_align
number of bytes per packet if constant and known or 0 Used by some WAV based audio codecs...
uint8_t * extradata
some codecs need / can use extradata like Huffman tables.
static int rsd_read_packet(AVFormatContext *s, AVPacket *pkt)
void void avpriv_request_sample(void *avc, const char *msg,...) av_printf_format(2
Log a generic warning message about a missing feature.
unsigned char * buf
Buffer must have AVPROBE_PADDING_SIZE of extra allocated bytes filled with zero.
static int rsd_probe(AVProbeData *p)
AVStream * avformat_new_stream(AVFormatContext *s, const AVCodec *c)
Add a new stream to a media file.
static const AVCodecTag rsd_tags[]
#define AV_LOG_ERROR
Something went wrong and cannot losslessly be recovered.
#define NULL_IF_CONFIG_SMALL(x)
Return NULL if CONFIG_SMALL is true, otherwise the argument without modification. ...
#define FF_ARRAY_ELEMS(a)
static const uint32_t rsd_unsupported_tags[]
int seekable
A combination of AVIO_SEEKABLE_ flags or 0 when the stream is not seekable.
static int rsd_read_header(AVFormatContext *s)
enum AVMediaType codec_type
int sample_rate
samples per second
main external API structure.
unsigned int codec_tag
fourcc (LSB first, so "ABCD" -> ('D'<<24) + ('C'<<16) + ('B'<<8) + 'A').
AVIOContext * pb
I/O context.
#define MKTAG(a, b, c, d)
This structure contains the data a format has to probe a file.
int av_get_audio_frame_duration(AVCodecContext *avctx, int frame_bytes)
Return audio frame duration.
int64_t duration
Decoding: duration of the stream, in stream time base.
#define AVERROR_INVALIDDATA
int channels
number of audio channels
AVInputFormat ff_rsd_demuxer
This structure stores compressed data.