|
ccAudio
|
#include <audio2.h>
Public Member Functions | |
| virtual | ~AudioDevice () |
| virtual unsigned | putSamples (Linear buffer, unsigned count)=0 |
| Copy linear samples to an audio device through its virtual. More... | |
| virtual unsigned | getSamples (Linear buffer, unsigned count)=0 |
| Copy linear samples from an audio device through its virtual. More... | |
| virtual ssize_t | putBuffer (Encoded data, size_t count) |
| Copy audio encoded in the currently selected encoding for the audio device. More... | |
| virtual ssize_t | getBuffer (Encoded data, size_t count) |
| Record audio encoded in the currently selected encoding for the audio device. More... | |
| virtual bool | setEncoded (Info &info) |
| Use encoding source descriptor to select the audio encoding format the audio device should be using. More... | |
| virtual bool | setAudio (Rate rate=rate8khz, bool stereo=false, timeout_t framing=20)=0 |
| Set properties for audio device. More... | |
| virtual void | sync (void) |
| Synchronize timing for audio device to next audio frame. More... | |
| virtual void | flush (void)=0 |
| Flush any pending buffered samples in audio device. More... | |
| unsigned | bufMono (Linear buffer, unsigned count) |
| Process linear mono audio and automatically convert to the encoding format the audio device is currently using. More... | |
| unsigned | bufStereo (Linear buffer, unsigned count) |
| Process linear stereo audio and automatically convert to the encoding format the audio device is currently using. More... | |
| Info * | getInfo (void) |
| Get audio device source descriptor in effect for the device. More... | |
| bool | isEnabled (void) |
| Whether device is currently enabled. More... | |
Public Member Functions inherited from ost::AudioBase | |
| AudioBase () | |
| Create audio base object with no info. More... | |
| AudioBase (Info *info) | |
| Create audio base object with audio source description. More... | |
| virtual | ~AudioBase () |
| Destroy an audio base object. More... | |
| Encoding | getEncoding (void) |
| Generic get encoding. More... | |
| unsigned | getSampleRate (void) |
| Generic sample rate. More... | |
| ssize_t | putNative (Encoded data, size_t size) |
| Puts raw data and does native to refined endian swapping if needed based on encoding type and local machine endian. More... | |
| ssize_t | getPacket (Encoded data) |
| Get's a packet of audio data. More... | |
| ssize_t | getNative (Encoded data, size_t size) |
| Get raw data and assure is in native machine endian. More... | |
Protected Attributes | |
| bool | enabled |
Protected Attributes inherited from ost::AudioBase | |
| Info | info |
Additional Inherited Members | |
Public Types inherited from ost::Audio | |
| enum | Rate { rateUnknown, rate6khz = 6000, rate8khz = 8000, rate16khz = 16000, rate32khz = 32000, rate44khz = 44100 } |
| Audio encoding rate, samples per second. More... | |
| enum | Mode { modeRead, modeReadAny, modeReadOne, modeWrite, modeCache, modeInfo, modeFeed, modeAppend, modeCreate } |
| File processing mode, whether to skip missing files, etc. More... | |
| 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. More... | |
| enum | Format { raw, snd, riff, mpeg, wave } |
| Audio container file format. More... | |
| enum | DeviceMode { PLAY, RECORD, PLAYREC } |
| Audio device access mode. More... | |
| 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. More... | |
| 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 Public Member Functions inherited from ost::Audio | |
| static Level | tolevel (float dbm) |
| Convert dbm power level to integer value (0-32768). More... | |
| static float | todbm (Level power) |
| Convert integer power levels to dbm. More... | |
| static bool | hasDevice (unsigned device=0) |
| Test for the presense of a specified (indexed) audio device. More... | |
| static AudioDevice * | getDevice (unsigned device=0, DeviceMode mode=PLAY) |
| Get a audio device object that can be used to play or record audio. More... | |
| static const char * | getCodecPath (void) |
| Get pathname to where loadable codec modules are stored. More... | |
| 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. More... | |
| static const char * | getName (Encoding encoding) |
| Get the short ascii description used for the given audio encoding type. More... | |
| static const char * | getExtension (Encoding encoding) |
| Get the preferred file extension name to use for a given audio encoding type. More... | |
| static Encoding | getEncoding (const char *name) |
| Get the audio encoding format that is specified by a short ascii name. More... | |
| static Encoding | getStereo (Encoding encoding) |
| Get the stereo encoding format associated with the given format. More... | |
| static Encoding | getMono (Encoding encoding) |
| Get the mono encoding format associated with the given format. More... | |
| static bool | isLinear (Encoding encoding) |
| Test if the audio encoding format is a linear one. More... | |
| 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. More... | |
| static bool | isMono (Encoding encoding) |
| Test if the audio encoding format is a mono format. More... | |
| static bool | isStereo (Encoding encoding) |
| Test if the audio encoding format is a stereo format. More... | |
| static Rate | getRate (Encoding encoding) |
| Return default sample rate associated with the specified audio encoding format. More... | |
| static Rate | getRate (Encoding e, Rate request) |
| Return optional rate setting effect. More... | |
| static timeout_t | getFraming (Encoding encoding, timeout_t timeout=0) |
| Return frame timing for an audio encoding format. More... | |
| static timeout_t | getFraming (Info &info, timeout_t timeout=0) |
| Return frame time for an audio source description. More... | |
| static bool | isEndian (Encoding encoding) |
| Test if the endian byte order of the encoding format is different from the machine's native byte order. More... | |
| 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. More... | |
| 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. More... | |
| 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. More... | |
| 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. More... | |
| static Level | getImpulse (Encoding encoding, void *buffer, unsigned number) |
| Get the energey impulse level of a frame of audio data. More... | |
| static Level | getImpulse (Info &info, void *buffer, unsigned number=0) |
| Get the energey impulse level of a frame of audio data. More... | |
| static Level | getPeak (Encoding encoding, void *buffer, unsigned number) |
| Get the peak (highest energy) level found in a frame of audio data. More... | |
| static Level | getPeak (Info &info, void *buffer, unsigned number=0) |
| Get the peak (highest energy) level found in a frame of audio data. More... | |
| static void | toTimestamp (timeout_t duration, char *address, size_t size) |
| Provide ascii timestamp representation of a timeout value. More... | |
| static timeout_t | toTimeout (const char *timestamp) |
| Convert ascii timestamp representation to a timeout number. More... | |
| 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. More... | |
| static int | getCount (Encoding encoding) |
| Returns the number of samples in all channels for a frame in the given encoding. More... | |
| 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. More... | |
| 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. More... | |
| 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. More... | |
| 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. More... | |
| 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. More... | |
| static bool | loadPlugin (const char *path) |
| Load a dso plugin (codec plugin), used internally... More... | |
| static size_t | maxFramesize (Info &info) |
| Maximum framesize for a given coding that may be needed to store a result. More... | |
Static Public Attributes inherited from ost::Audio | |
| static const unsigned | ndata |
|
inlinevirtual |
| unsigned ost::AudioDevice::bufMono | ( | Linear | buffer, |
| unsigned | count | ||
| ) |
Process linear mono audio and automatically convert to the encoding format the audio device is currently using.
If needed, automatically convert from mono to stereo.
| buffer | to linear mono audio data to play. |
| count | of linear mono audio samples to play. |
| unsigned ost::AudioDevice::bufStereo | ( | Linear | buffer, |
| unsigned | count | ||
| ) |
Process linear stereo audio and automatically convert to the encoding format the audio device is currently using.
If needed, automatically convert from stereo to mono.
| buffer | to linear stereo audio data to play. |
| count | of linear stereo audio samples to play. |
|
pure virtual |
Flush any pending buffered samples in audio device.
|
virtual |
Record audio encoded in the currently selected encoding for the audio device.
| data | buffer for recording encoded audio. |
| count | of encoded bytes to record. |
Implements ost::AudioBase.
|
inline |
Get audio device source descriptor in effect for the device.
|
pure virtual |
Copy linear samples from an audio device through its virtual.
| buffer | for recording. |
| count | of audio samples to record. |
|
inline |
Whether device is currently enabled.
If invalid audio settings are selected, it will be disabled until supported values are supplied.
|
virtual |
Copy audio encoded in the currently selected encoding for the audio device.
| data | pointer to encoded data to play. |
| count | of encoded bytes to play. |
Implements ost::AudioBase.
|
pure virtual |
Copy linear samples to an audio device through its virtual.
| buffer | to linear audio data to play. |
| count | of audio samples to play. |
|
pure virtual |
Set properties for audio device.
| rate | of audio samples device should operate at. |
| stereo | flag. |
| framing | timer for default i/o framing for device. |
|
inlinevirtual |
Use encoding source descriptor to select the audio encoding format the audio device should be using.
| info | source description for device settings. |
|
inlinevirtual |
Synchronize timing for audio device to next audio frame.
this is needed for audio devices which do not block i/o to assure one does not push too much data before the device can handle it.
|
protected |
1.8.8