Older/MediaServer/libflv/include/riff-acm.h

44 lines
894 B
C
Raw Normal View History

2024-10-01 00:12:57 +08:00
#ifndef _riff_acm_h_
#define _riff_acm_h_
#include <stdint.h>
#include <stddef.h>
#ifndef WAVE_FORMAT_PCM
#define WAVE_FORMAT_PCM 1
#define WAVE_FORMAT_ADPCM 2
#define WAVE_FORMAT_ALAW 6
#define WAVE_FORMAT_MULAW 7
#endif
#if defined(__cplusplus)
extern "C" {
#endif
#pragma pack(push)
#pragma pack(1)
struct wave_format_t
{
uint16_t wFormatTag;
uint16_t nChannels;
uint32_t nSamplesPerSec;
uint32_t nAvgBytesPerSec;
uint16_t nBlockAlign;
uint16_t wBitsPerSample;
uint16_t cbSize;
// WAVEFORMATEXTENSIBLE(only cbSize > 0)
uint16_t Samples;
uint32_t dwChannelMask;
uint8_t SubFormat[16];
};
#pragma pack(pop)
int wave_format_load(const uint8_t* data, int bytes, struct wave_format_t* wav);
int wave_format_save(const struct wave_format_t* wav, uint8_t* data, int bytes);
#if defined(__cplusplus)
}
#endif
#endif /* !_riff_acm_h_ */