37 if (ret < (
int)
sizeof(*
g)) {
38 memset(*
g, 0,
sizeof(*
g));
72 if (!memcmp(subformat + 4,
74 !memcmp(subformat + 4,
76 !memcmp(subformat + 4,
134 if (
size >= 18 &&
id != 0x0165) {
142 if (cbSize >= 22 &&
id == 0xfffe) {
156 }
else if (
id == 0x0165 &&
size >= 32) {
230 int64_t start, end, cur;
246 if (chunk_code || chunk_size) {
252 if (chunk_size > end ||
253 end - chunk_size < cur ||
254 chunk_size == UINT_MAX) {
258 if (chunk_size > end || end - chunk_size < cur || chunk_size == UINT_MAX) {
264 chunk_size += (chunk_size & 1);
279 "out of memory, unable to read INFO tag\n");
290 "premature end of file while reading INFO tag\n");
#define av_assert0(cond)
assert() equivalent, that is always enabled.
Libavcodec external API header.
int64_t avio_seek(AVIOContext *s, int64_t offset, int whence)
fseek() equivalent for AVIOContext.
unsigned int avio_rb16(AVIOContext *s)
int avio_feof(AVIOContext *s)
Similar to feof() but also returns nonzero on read errors.
static av_always_inline int64_t avio_tell(AVIOContext *s)
ftell() equivalent for AVIOContext.
unsigned int avio_rl16(AVIOContext *s)
int64_t avio_skip(AVIOContext *s, int64_t offset)
Skip given number of bytes forward.
int avio_read(AVIOContext *s, unsigned char *buf, int size)
Read size bytes from AVIOContext into buf.
unsigned int avio_rl32(AVIOContext *s)
unsigned int avio_rb32(AVIOContext *s)
AVCodecID
Identify the syntax and semantics of the bitstream.
@ AV_CODEC_ID_ADPCM_IMA_WAV
#define AV_DICT_DONT_STRDUP_VAL
Take ownership of a value that's been allocated with av_malloc() or another memory allocation functio...
int av_dict_set(AVDictionary **pm, const char *key, const char *value, int flags)
Set the given entry in *pm, overwriting an existing entry.
#define AVERROR_PATCHWELCOME
Not yet implemented in FFmpeg, patches welcome.
#define AVERROR_INVALIDDATA
Invalid data found when processing input.
#define AVERROR_EOF
End of file.
#define AV_LOG_WARNING
Something somehow does not look correct.
#define AV_LOG_ERROR
Something went wrong and cannot losslessly be recovered.
void * av_mallocz(size_t size)
Allocate a memory block with alignment suitable for all memory accesses (including vectors if availab...
void avpriv_report_missing_feature(void *avc, const char *msg,...) av_printf_format(2
Log a generic warning message about a missing feature.
const AVCodecGuid ff_codec_wav_guids[]
const AVCodecTag ff_codec_wav_tags[]
internal header for RIFF based (de)muxers do NOT include this in end user applications
static av_always_inline int ff_guidcmp(const void *g1, const void *g2)
#define FF_BROKEN_BASE_GUID
#define FF_MEDIASUBTYPE_BASE_GUID
#define FF_AMBISONIC_BASE_GUID
int ff_get_guid(AVIOContext *s, ff_asf_guid *g)
int ff_get_bmp_header(AVIOContext *pb, AVStream *st, uint32_t *size)
Read BITMAPINFOHEADER structure and set AVStream codec width, height and bits_per_encoded_sample fiel...
int ff_get_wav_header(AVFormatContext *s, AVIOContext *pb, AVCodecParameters *par, int size, int big_endian)
enum AVCodecID ff_wav_codec_get_id(unsigned int tag, int bps)
int ff_read_riff_info(AVFormatContext *s, int64_t size)
enum AVCodecID ff_codec_guid_get_id(const AVCodecGuid *guids, ff_asf_guid guid)
static void parse_waveformatex(AVFormatContext *s, AVIOContext *pb, AVCodecParameters *par)
This struct describes the properties of an encoded stream.
uint64_t channel_layout
Audio only.
int bits_per_coded_sample
The number of bits per sample in the codedwords.
int64_t bit_rate
The average bitrate of the encoded data (in bits per second).
enum AVMediaType codec_type
General type of the encoded data.
int block_align
Audio only.
uint32_t codec_tag
Additional information about the codec (corresponds to the AVI FOURCC).
uint8_t * extradata
Extra binary data needed for initializing the decoder, codec-dependent.
enum AVCodecID codec_id
Specific type of the encoded data (the codec used).
int sample_rate
Audio only.
int eof_reached
true if was unable to read due to error or eof
AVCodecParameters * codecpar
Codec parameters associated with this stream.
#define avpriv_request_sample(...)