#include <audio2.h>
Inherited by ost::AudioBase, ost::AudioCodec, ost::AudioResample, ost::AudioTone, and ost::DTMFDetect.
struct dtmf_detect_state_t
struct goertzel_state_t
class Info
Audio source description.
struct mpeg_audio
struct mpeg_tagv1
struct tone_detection_descriptor_t
enum Rate { rateUnknown, rate6khz = 6000, rate8khz = 8000, rate16khz = 16000, rate32khz = 32000, rate44khz = 44100 }
Audio encoding rate, samples per second.
enum Mode { modeRead, modeReadAny, modeReadOne, modeWrite, modeCache, modeInfo, modeFeed, modeAppend, modeCreate }
File processing mode, whether to skip missing files, etc.
enum Encoding { unknownEncoding = 0, g721ADPCM, g722Audio, g722_7bit, g722_6bit, g723_2bit, g723_3bit, g723_5bit, gsmVoice, msgsmVoice, mulawAudio, alawAudio, mp1Audio, mp2Audio, mp3Audio, okiADPCM, voxADPCM, sx73Voice, sx96Voice, cdaStereo, cdaMono, pcm8Stereo, pcm8Mono, pcm16Stereo, pcm16Mono, pcm32Stereo, pcm32Mono, speexVoice, speexAudio, g729Audio, ilbcAudio, speexUltra, speexNarrow = speexVoice, speexWide = speexAudio, g723_4bit = g721ADPCM }
Audio encoding formats.
enum Format { raw, snd, riff, mpeg, wave }
Audio container file format.
enum DeviceMode { PLAY, RECORD, PLAYREC }
Audio device access mode.
enum Error { errSuccess = 0, errReadLast, errNotOpened, errEndOfFile, errStartOfFile, errRateInvalid, errEncodingInvalid, errReadInterrupt, errWriteInterrupt, errReadFailure, errWriteFailure, errReadIncomplete, errWriteIncomplete, errRequestInvalid, errTOCFailed, errStatFailed, errInvalidTrack, errPlaybackFailed, errNotPlaying, errNoCodec }
Audio error conditions.
typedef int16_t snd16_t
typedef int32_t snd32_t
typedef int16_t Level
typedef int16_t Sample
typedef int16_t * Linear
typedef unsigned long timeout_t
typedef unsigned char * Encoded
typedef enum Rate Rate
typedef enum Mode Mode
typedef enum Encoding Encoding
typedef enum Format Format
typedef enum DeviceMode DeviceMode
typedef enum Error Error
static Level tolevel (float dbm)
Convert dbm power level to integer value (0-32768).
static float todbm (Level power)
Convert integer power levels to dbm.
static bool hasDevice (unsigned device=0)
Test for the presense of a specified (indexed) audio device.
static AudioDevice * getDevice (unsigned device=0, DeviceMode mode=PLAY)
Get a audio device object that can be used to play or record audio.
static const char * getCodecPath (void)
Get pathname to where loadable codec modules are stored.
static const char * getMIME (Info &info)
Get the mime descriptive type for a given Audio encoding description, usually retrieved from a newly opened audio file.
static const char * getName (Encoding encoding)
Get the short ascii description used for the given audio encoding type.
static const char * getExtension (Encoding encoding)
Get the preferred file extension name to use for a given audio encoding type.
static Encoding getEncoding (const char *name)
Get the audio encoding format that is specified by a short ascii name.
static Encoding getStereo (Encoding encoding)
Get the stereo encoding format associated with the given format.
static Encoding getMono (Encoding encoding)
Get the mono encoding format associated with the given format.
static bool isLinear (Encoding encoding)
Test if the audio encoding format is a linear one.
static bool isBuffered (Encoding encoding)
Test if the audio encoding format must be packetized (that is, has irregular sized frames) and must be processed only through buffered codecs.
static bool isMono (Encoding encoding)
Test if the audio encoding format is a mono format.
static bool isStereo (Encoding encoding)
Test if the audio encoding format is a stereo format.
static Rate getRate (Encoding encoding)
Return default sample rate associated with the specified audio encoding format.
static Rate getRate (Encoding e, Rate request)
Return optional rate setting effect.
static timeout_t getFraming (Encoding encoding, timeout_t timeout=0)
Return frame timing for an audio encoding format.
static timeout_t getFraming (Info &info, timeout_t timeout=0)
Return frame time for an audio source description.
static bool isEndian (Encoding encoding)
Test if the endian byte order of the encoding format is different from the machine's native byte order.
static bool isEndian (Info &info)
Test if the endian byte order of the audio source description is different from the machine's native byte order.
static bool swapEndian (Encoding encoding, void *buffer, unsigned number)
Optionally swap endian of audio data if the encoding format endian byte order is different from the machine's native endian.
static void swapEncoded (Info &info, Encoded data, size_t bytes)
Optionally swap endian of encoded audio data based on the audio encoding type, and relationship to native byte order.
static bool swapEndian (Info &info, void *buffer, unsigned number)
Optionally swap endian of audio data if the audio source description byte order is different from the machine's native endian byte order.
static Level getImpulse (Encoding encoding, void *buffer, unsigned number)
Get the energey impulse level of a frame of audio data.
static Level getImpulse (Info &info, void *buffer, unsigned number=0)
Get the energey impulse level of a frame of audio data.
static Level getPeak (Encoding encoding, void *buffer, unsigned number)
Get the peak (highest energy) level found in a frame of audio data.
static Level getPeak (Info &info, void *buffer, unsigned number=0)
Get the peak (highest energy) level found in a frame of audio data.
static void toTimestamp (timeout_t duration, char *address, size_t size)
Provide ascii timestamp representation of a timeout value.
static timeout_t toTimeout (const char *timestamp)
Convert ascii timestamp representation to a timeout number.
static int getFrame (Encoding encoding, int samples=0)
Returns the number of bytes in a sample frame for the given encoding type, rounded up to the nearest integer.
static int getCount (Encoding encoding)
Returns the number of samples in all channels for a frame in the given encoding.
static unsigned long toSamples (Encoding encoding, size_t bytes)
Compute byte counts of audio data into number of samples based on the audio encoding format used.
static unsigned long toSamples (Info &info, size_t bytes)
Compute byte counts of audio data into number of samples based on the audio source description used.
static size_t toBytes (Info &info, unsigned long number)
Compute the number of bytes a given number of samples in a given audio encoding will occupy.
static size_t toBytes (Encoding encoding, unsigned long number)
Compute the number of bytes a given number of samples in a given audio encoding will occupy.
static void fill (unsigned char *address, int number, Encoding encoding)
Fill an audio buffer with 'empty' (silent) audio data, based on the audio encoding format.
static bool loadPlugin (const char *path)
Load a dso plugin (codec plugin), used internally.
static size_t maxFramesize (Info &info)
Maximum framesize for a given coding that may be needed to store a result.
Generic audio class to hold master data types and various useful class encapsulated friend functions as per GNU Common C++ 2 coding standard.
Author:
Audio device access mode.
Enumerator:
Audio encoding formats.
Enumerator:
Audio error conditions.
Enumerator:
Audio container file format.
Enumerator:
File processing mode, whether to skip missing files, etc.
Enumerator:
Audio encoding rate, samples per second.
Enumerator:
Fill an audio buffer with 'empty' (silent) audio data, based on the audio encoding format.
Parameters:
Get pathname to where loadable codec modules are stored.
Returns:
Returns the number of samples in all channels for a frame in the given encoding.
For example, pcm32Stereo has a frame size of 8 bytes: Note that different codecs have different definitions of a frame - for example, compressed encodings have a rather large frame size relative to the sample size due to the way bytes are fed to the decompression engine.
Parameters:
Returns:
Get a audio device object that can be used to play or record audio.
This is normally a local soundcard, though an abstract base class is returned, so the underlying device may be different.
Parameters:
Returns:
Get the audio encoding format that is specified by a short ascii name.
This will either accept names like those returned from getName(), or .xxx file extensions, and return the audio encoding type associated with the name or extension.
Parameters:
Returns:
See also:
Get the preferred file extension name to use for a given audio encoding type.
Parameters:
Returns:
Returns the number of bytes in a sample frame for the given encoding type, rounded up to the nearest integer.
A frame is defined as the minimum number of bytes necessary to create a point or points in the output waveform for all output channels. For example, 16-bit mono PCM has a frame size of two (because those two bytes constitute a point in the output waveform). GSM has it's own definition of a frame which involves decompressing a sequence of bytes to determine the final points on the output waveform. The minimum number of bytes you can feed to the decompression engine is 32.5 (260 bits), so this function will return 33 (because we round up) given an encoding type of GSM. Other compressed encodings will return similar results. Be prepared to deal with nonintuitive return values for rare encodings.
Parameters:
Returns:
Return frame time for an audio source description.
Returns:
Parameters:
Return frame timing for an audio encoding format.
Returns:
Parameters:
Get the energey impulse level of a frame of audio data.
Returns:
Parameters:
Get the energey impulse level of a frame of audio data.
Returns:
Parameters:
Get the mime descriptive type for a given Audio encoding description, usually retrieved from a newly opened audio file.
Parameters:
Returns:
Get the mono encoding format associated with the given format.
Parameters:
Returns:
Get the short ascii description used for the given audio encoding type.
Parameters:
Returns:
Get the peak (highest energy) level found in a frame of audio data.
Returns:
Parameters:
Get the peak (highest energy) level found in a frame of audio data.
Returns:
Parameters:
Return optional rate setting effect.
Many codecs are fixed rate.
Returns:
Parameters:
Return default sample rate associated with the specified audio encoding format.
Returns:
Parameters:
Get the stereo encoding format associated with the given format.
Parameters:
Returns:
Test for the presense of a specified (indexed) audio device.
This is normally used to test for local soundcard access.
Parameters:
Returns:
Test if the audio encoding format must be packetized (that is, has irregular sized frames) and must be processed only through buffered codecs.
Returns:
Parameters:
Test if the endian byte order of the audio source description is different from the machine's native byte order.
Returns:
Parameters:
Test if the endian byte order of the encoding format is different from the machine's native byte order.
Returns:
Parameters:
Test if the audio encoding format is a linear one.
Returns:
Parameters:
Test if the audio encoding format is a mono format.
Returns:
Parameters:
Test if the audio encoding format is a stereo format.
Returns:
Parameters:
Load a dso plugin (codec plugin), used internally.
Returns:
Parameters:
Maximum framesize for a given coding that may be needed to store a result.
Parameters:
Returns:
Optionally swap endian of encoded audio data based on the audio encoding type, and relationship to native byte order.
Parameters:
Optionally swap endian of audio data if the audio source description byte order is different from the machine's native endian byte order.
Returns:
Parameters:
Optionally swap endian of audio data if the encoding format endian byte order is different from the machine's native endian.
Returns:
Parameters:
Compute the number of bytes a given number of samples in a given audio encoding will occupy.
Returns:
Parameters:
Compute the number of bytes a given number of samples in a given audio encoding will occupy.
Returns:
Parameters:
Convert integer power levels to dbm.
Parameters:
Returns:
Convert dbm power level to integer value (0-32768).
Parameters:
Returns:
Compute byte counts of audio data into number of samples based on the audio source description used.
Returns:
Parameters:
Compute byte counts of audio data into number of samples based on the audio encoding format used.
Returns:
Parameters:
Convert ascii timestamp representation to a timeout number.
Parameters:
Returns:
Provide ascii timestamp representation of a timeout value.
Parameters:
Generated automatically by Doxygen for ccAudio from the source code.