AudioStream accesses AudioFile base class content as fixed frames of streaming linear samples.
More...
#include <audio2.h>
Inheritance diagram for ost::AudioStream:
Collaboration diagram for ost::AudioStream:
Public Types
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
}
enum
Error {
errSuccess = 0,
errReadLast,
errNotOpened,
errEndOfFile,
errStartOfFile,
errRateInvalid,
errEncodingInvalid,
errReadInterrupt,
errWriteInterrupt,
errReadFailure,
errWriteFailure,
errReadIncomplete,
errWriteIncomplete,
errRequestInvalid,
errTOCFailed,
errStatFailed,
errInvalidTrack,
errPlaybackFailed,
errNotPlaying,
errNoCodec
}
Public Member Functions
Create a new audiostream object.
More...
Create an audio stream object and open an existing audio file.
More...
Create an audio stream object and a new audio file.
More...
Virtual for packet i/o intercept.
More...
Open existing audio file for streaming.
More...
Create a new audio file for streaming.
More...
Close the currently open audio file for streaming.
More...
flush any unsaved buffered data to disk.
More...
Check if the audio file may be streamed.
More...
Get the number of samples expected in a frame.
More...
Stream audio data from the file and convert into an alternate encoding based on the codec supplied.
More...
Stream audio data in an alternate codec into the currently opened file.
More...
Get data from the streamed file in it's native encoding.
More...
Put data encoded in the native format of the stream file.
More...
Get a packet of data from the file.
More...
Get and automatically convert audio file data into mono linear audio samples.
More...
Get and automatically convert audio file data into stereo (two channel) linear audio samples.
More...
Automatically convert and put mono linear audio data into the audio file.
More...
Automatically convert and put stereo linear audio data into the audio file.
More...
Automatically convert and put arbitrary linear mono data into the audio file.
More...
Automatically convert and put arbitrary linear stereo data into the audio file.
More...
Return the codec being used if there is one.
More...
Open an audio file and associate it with this object.
More...
Returns age since last prior access.
More...
Get maximum size of frame buffer for data use.
More...
Retrieve and convert content to linear encoded audio data from it's original form.
More...
Insert bytes into the file from a memory buffer.
More...
Convert and store content from linear encoded audio data to the format of the audio file.
More...
Retrieve samples from the file into a memory buffer.
More...
Insert samples into the file from a memory buffer.
More...
Change the file position by skipping a specified number of audio samples of audio data.
More...
Seek a file position by sample count.
More...
Seek a file position by timestamp.
More...
Return the timestamp of the current absolute file position.
More...
Get the current file pointer in samples relative to the start of the sample buffer.
More...
Set the maximum file position for reading and writing of audio data by samples.
More...
Copy the source description of the audio file into the specified object.
More...
Set minimum file size for a created file.
More...
Get the current file pointer in bytes relative to the start of the file.
More...
Test if the file is opened.
More...
Return true if underlying derived class supports direct access to file positioning.
More...
Return audio encoding format for this audio file.
More...
Return base file format of containing audio file.
More...
Get audio encoding sample rate, in samples per second, for this audio file.
More...
Get annotation extracted from header of containing file.
More...
Return if the current content is signed or unsigned samples.
More...
Puts raw data and does native to refined endian swapping if needed based on encoding type and local machine endian.
More...
Get raw data and assure is in native machine endian.
More...
Static Public Member Functions
Get the audio encoding format that is specified by a short ascii name.
More...
Convert dbm power level to integer value (0-32768).
More...
Convert integer power levels to dbm.
More...
Test for the presense of a specified (indexed) audio device.
More...
Get a audio device object that can be used to play or record audio.
More...
Get pathname to where loadable codec modules are stored.
More...
Get the mime descriptive type for a given
Audio encoding description, usually retrieved from a newly opened audio file.
More...
Get the short ascii description used for the given audio encoding type.
More...
Get the preferred file extension name to use for a given audio encoding type.
More...
Get the stereo encoding format associated with the given format.
More...
Get the mono encoding format associated with the given format.
More...
Test if the audio encoding format is a linear one.
More...
Test if the audio encoding format must be packetized (that is, has irregular sized frames) and must be processed only through buffered codecs.
More...
Test if the audio encoding format is a mono format.
More...
Test if the audio encoding format is a stereo format.
More...
Return default sample rate associated with the specified audio encoding format.
More...
Return optional rate setting effect.
More...
Return frame timing for an audio encoding format.
More...
Return frame time for an audio source description.
More...
Test if the endian byte order of the encoding format is different from the machine's native byte order.
More...
Test if the endian byte order of the audio source description is different from the machine's native byte order.
More...
Optionally swap endian of audio data if the encoding format endian byte order is different from the machine's native endian.
More...
Optionally swap endian of audio data if the audio source description byte order is different from the machine's native endian byte order.
More...
Optionally swap endian of encoded audio data based on the audio encoding type, and relationship to native byte order.
More...
Get the energey impulse level of a frame of audio data.
More...
Get the energey impulse level of a frame of audio data.
More...
Get the peak (highest energy) level found in a frame of audio data.
More...
Get the peak (highest energy) level found in a frame of audio data.
More...
Provide ascii timestamp representation of a timeout value.
More...
Convert ascii timestamp representation to a timeout number.
More...
Returns the number of bytes in a sample frame for the given encoding type, rounded up to the nearest integer.
More...
Returns the number of samples in all channels for a frame in the given encoding.
More...
Compute byte counts of audio data into number of samples based on the audio encoding format used.
More...
Compute byte counts of audio data into number of samples based on the audio source description used.
More...
Compute the number of bytes a given number of samples in a given audio encoding will occupy.
More...
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...
Load a dso plugin (codec plugin), used internally...
More...
Maximum framesize for a given coding that may be needed to store a result.
More...
Static Public Attributes
static const unsigned
ndata
Protected Member Functions
virtual bool
afCreate (const char *path, bool exclusive=false)
virtual bool
afPeek (unsigned char *data, unsigned size)
virtual int
afRead (unsigned char *data, unsigned size)
Read a given number of bytes from the file, starting from the current file pointer.
More...
virtual int
afWrite (unsigned char *data, unsigned size)
Write a number of bytes into the file at the current file pointer.
More...
virtual bool
afSeek (unsigned long pos)
Seek to the given position relative to the start of the file and set the file pointer.
More...
Close the derived file handling system's file handle.
More...
This function is used to splice multiple audio files together into a single stream of continues audio data.
More...
Get number of bytes in the file header.
More...
unsigned short
getShort (unsigned char *data)
Convert binary 2 byte data stored in the order specified in the source description into a short variable.
More...
void
setShort (unsigned char *data, unsigned short value)
Save a short as two byte binary data stored in the endian order specified in the source description.
More...
unsigned long
getLong (unsigned char *data)
Convert binary 4 byte data stored in the order specified in the source description into a long variable.
More...
void
setLong (unsigned char *data, unsigned long value)
Save a long as four byte binary data stored in the endian order specified in the source description.
More...
Protected Attributes
union {
Detailed Description
Member Typedef Documentation
Member Enumeration Documentation
Audio device access mode.
Enumerator |
---|
PLAY |
RECORD |
PLAYREC |
Definition at line 242 of file audio2.h.
Audio encoding formats.
Enumerator |
---|
unknownEncoding |
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 |
speexWide |
g723_4bit |
Definition at line 180 of file audio2.h.
Audio error conditions.
Enumerator |
---|
errSuccess |
errReadLast |
errNotOpened |
errEndOfFile |
errStartOfFile |
errRateInvalid |
errEncodingInvalid |
errReadInterrupt |
errWriteInterrupt |
errReadFailure |
errWriteFailure |
errReadIncomplete |
errWriteIncomplete |
errRequestInvalid |
errTOCFailed |
errStatFailed |
errInvalidTrack |
errPlaybackFailed |
errNotPlaying |
errNoCodec |
Definition at line 252 of file audio2.h.
Audio container file format.
Enumerator |
---|
raw |
snd |
riff |
mpeg |
wave |
Definition at line 230 of file audio2.h.
File processing mode, whether to skip missing files, etc.
Enumerator |
---|
modeRead |
modeReadAny |
modeReadOne |
modeWrite |
modeCache |
modeInfo |
modeFeed |
modeAppend |
modeCreate |
Definition at line 162 of file audio2.h.
Audio encoding rate, samples per second.
Enumerator |
---|
rateUnknown |
rate6khz |
rate8khz |
rate16khz |
rate32khz |
rate44khz |
Definition at line 148 of file audio2.h.
Constructor & Destructor Documentation
ost::AudioStream::AudioStream
(
)
Create a new audiostream object.
ost::AudioStream::AudioStream
(
const char *
name,
)
Create an audio stream object and open an existing audio file.
- Parameters
-
name of file to open.
mode of file access.
framing time in milliseconds.
ost::AudioStream::AudioStream
(
const char *
name,
bool
exclusive = false
,
)
Create an audio stream object and a new audio file.
- Parameters
-
name of file to open.
info source description for properties of new file.
exclusive access if true.
framing time in milliseconds.
virtual ost::AudioStream::~AudioStream
(
)
virtual |
Member Function Documentation
virtual void ost::AudioFile::afClose
(
void
)
protectedvirtualinherited |
Close the derived file handling system's file handle.
virtual bool ost::AudioFile::afCreate
(
const char *
path,
bool
exclusive = false
)
protectedvirtualinherited |
virtual bool ost::AudioFile::afOpen
(
const char *
path,
)
protectedvirtualinherited |
virtual bool ost::AudioFile::afPeek
(
unsigned char *
data,
unsigned
size
)
protectedvirtualinherited |
virtual int ost::AudioFile::afRead
(
unsigned char *
data,
unsigned
size
)
protectedvirtualinherited |
Read a given number of bytes from the file, starting from the current file pointer.
May be overridden by derived classes.
- Parameters
-
data A pointer to the buffer to copy the bytes to.
size The number of bytes to read.
- Returns
- The number of bytes read, or -1 if an error occurs. On UNIX platforms, use strerror(errno) to get the human-readable error string or FormatMessage(GetLastError()) on Windows platforms.
virtual bool ost::AudioFile::afSeek
(
unsigned long
pos )
protectedvirtualinherited |
Seek to the given position relative to the start of the file and set the file pointer.
This does not use 64-bit clean seek functions, so seeking to positions greater than (2^32)-1 will result in undefined behavior.
- Parameters
-
pos The position to seek to.
- Returns
- true if successful, false otherwise.
virtual int ost::AudioFile::afWrite
(
unsigned char *
data,
unsigned
size
)
protectedvirtualinherited |
Write a number of bytes into the file at the current file pointer.
May be overridden by derived classes.
- Parameters
-
data A pointer to the buffer with the bytes to write.
size The number of bytes to write from the buffer.
- Returns
- The number of bytes written, or -1 if an error occurs. On UNIX platforms, use strerror(errno) to get the human-readable error string or FormatMessage(GetLastError()) on Windows platforms.
unsigned ost::AudioStream::bufAudio
(
Linear
samples,
unsigned
count,
unsigned
size
)
protected |
unsigned ost::AudioStream::bufMono
(
Linear
buffer,
unsigned
count
)
Automatically convert and put arbitrary linear mono data into the audio file.
Convert to stereo and buffer incomplete frames as needed by the streaming file.
- Parameters
-
buffer to save linear audio from.
count of linear audio to write.
- Returns
- number of linear audio samples written to file.
unsigned ost::AudioStream::bufStereo
(
Linear
buffer,
unsigned
count
)
Automatically convert and put arbitrary linear stereo data into the audio file.
Convert to mono and buffer incomplete frames as needed by the streaming file.
- Parameters
-
buffer to save linear audio from.
count of linear audio to write.
- Returns
- number of linear audio samples written to file.
void ost::AudioFile::clear
(
void
)
inherited |
void ost::AudioStream::close
(
void
)
Close the currently open audio file for streaming.
void ost::AudioStream::create
(
const char *
name,
bool
exclusive = false
,
)
Create a new audio file for streaming.
- Parameters
-
name of file to create.
info source description for file properties.
exclusive true for exclusive access.
framing timing in milliseconds.
static void ost::Audio::fill
(
unsigned char *
address,
int
number,
)
staticinherited |
Fill an audio buffer with "empty" (silent) audio data, based on the audio encoding format.
- Parameters
-
address of data to fill.
number of samples to fill.
encoding format of data.
void ost::AudioStream::flush
(
void
)
flush any unsaved buffered data to disk.
unsigned long ost::AudioFile::getAbsolutePosition
(
void
)
inherited |
Get the current file pointer in bytes relative to the start of the file.
See getPosition() to determine the position relative to the start of the sample buffer.
- Returns
- The current file pointer in bytes relative to the start of the file. Returns 0 if the file is not open, is empty, or an error has occured.
time_t ost::AudioFile::getAge
(
void
)
inherited |
Returns age since last prior access.
Used for cache computations.
- Returns
- age in seconds.
char* ost::AudioFile::getAnnotation
(
void
)
inlineinherited |
Get annotation extracted from header of containing file.
- Returns
- annotation text if any, else NULL.
Definition at line 1476 of file audio2.h.
ssize_t ost::AudioStream::getBuffer
(
Encoded
data,
size_t
count
)
virtual |
Virtual for packet i/o intercept.
- Returns
- bytes read.
- Parameters
-
data encoding buffer.
count requested.
Reimplemented from ost::AudioFile.
Return the codec being used if there is one.
- Returns
- codec used.
Definition at line 1717 of file audio2.h.
static const char* ost::Audio::getCodecPath
(
void
)
staticinherited |
Get pathname to where loadable codec modules are stored.
- Returns
- file path to loadable codecs.
virtual char* ost::AudioFile::getContinuation
(
void
)
inlineprotectedvirtualinherited |
This function is used to splice multiple audio files together into a single stream of continues audio data.
The continuation method returns the next audio file to open.
- Returns
- next file to open or NULL when done.
Reimplemented in ost::BayonneAudio.
Definition at line 1119 of file audio2.h.
static int ost::Audio::getCount
(
Encoding
encoding )
staticinherited |
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
-
encoding The encoding to calculate the frame sample count for.
- Returns
- samples The number of samples in a frame of the given encoding.
unsigned ost::AudioStream::getCount
(
void
)
Get the number of samples expected in a frame.
static
AudioDevice* ost::Audio::getDevice
(
unsigned
device =
0
,
)
staticinherited |
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
-
device index or 0 for default audio device.
mode of device; play, record, or full duplex.
- Returns
- pointer to abstract audio device object interface class.
unsigned ost::AudioStream::getEncoded
(
AudioCodec *
codec,
unsigned
frames = 1
)
Stream audio data from the file and convert into an alternate encoding based on the codec supplied.
- Parameters
-
codec to apply before saving.
address of data to save.
frames to stream by the codec.
- Returns
- number of frames processed.
unsigned ost::AudioStream::getEncoded
(
Encoded
address,
unsigned
frames = 1
)
Get data from the streamed file in it's native encoding.
- Parameters
-
address to save encoded audio.
frames of audio to load.
- Returns
- number of frames read.
static
Encoding ost::Audio::getEncoding
(
const char *
name )
staticinherited |
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
-
name of encoding or file extension.
- Returns
- audio encoding format.
- See Also
- getName
Encoding ost::AudioFile::getEncoding
(
void
)
inlineinherited |
Return audio encoding format for this audio file.
- Returns
- audio encoding format.
Definition at line 1451 of file audio2.h.
Error ost::AudioFile::getError
(
void
)
inlineinherited |
Get last error code.
- Returns
- alst error code.
Definition at line 1484 of file audio2.h.
const char* ost::AudioFile::getErrorStr
(
Error
err )
protectedinherited |
Return a human-readable error message given a numeric error code of type Audio::Error.
- Parameters
-
err The numeric error code to translate.
- Returns
- A pointer to a character string containing the human-readable error message.
static const char* ost::Audio::getExtension
(
Encoding
encoding )
staticinherited |
Get the preferred file extension name to use for a given audio encoding type.
- Parameters
-
encoding format.
- Returns
- ascii file extension to use.
Format ost::AudioFile::getFormat
(
void
)
inlineinherited |
Return base file format of containing audio file.
- Returns
- audio file container format.
Definition at line 1459 of file audio2.h.
static int ost::Audio::getFrame
(
Encoding
encoding,
int
samples = 0
)
staticinherited |
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
-
encoding The encoding type to get the frame size for.
samples Reserved. Use zero.
- Returns
- The number of bytes in a frame for the given encoding.
Return frame timing for an audio encoding format.
- Returns
- frame time to use in milliseconds.
- Parameters
-
encoding of frame to get timing segment for.
timeout of frame time segment to request.
Return frame time for an audio source description.
- Returns
- frame time to use in milliseconds.
- Parameters
-
info descriptor of frame encoding to get timing segment for.
timeout of frame time segment to request.
unsigned long ost::AudioFile::getHeader
(
void
)
inlineprotectedinherited |
Get number of bytes in the file header.
Data packets will begin after this header.
- Returns
- number of bytes in file header.
Definition at line 1140 of file audio2.h.
void *
buffer,
unsigned
number
)
staticinherited |
Get the energey impulse level of a frame of audio data.
- Returns
- impulse energy level of audio data.
- Parameters
-
encoding format of data to examine.
buffer of audio data to examine.
number of audio samples to examine.
static
Level ost::Audio::getImpulse
(
Info &
info,
void *
buffer,
unsigned
number = 0
)
staticinherited |
Get the energey impulse level of a frame of audio data.
- Returns
- impulse energy level of audio data.
- Parameters
-
info encoding source description object.
buffer of audio data to examine.
number of audio samples to examine.
Error ost::AudioFile::getInfo
(
Info *
info )
inherited |
Copy the source description of the audio file into the specified object.
- Parameters
-
info pointer to object to copy source description into.
- Returns
- errSucess.
unsigned ost::AudioFile::getLinear
(
Linear
buffer,
unsigned
request = 0
)
inherited |
Retrieve and convert content to linear encoded audio data from it's original form.
- Parameters
-
buffer to copy linear data into.
request number of linear samples to extract or 0 for frame.
- Returns
- number of samples retrieved, 0 if no codec or eof.
unsigned long ost::AudioFile::getLong
(
unsigned char *
data )
protectedinherited |
Convert binary 4 byte data stored in the order specified in the source description into a long variable.
This is often used to manipulate header data.
- Returns
- long value.
- Parameters
-
data binary 4 byte data pointer.
static const char* ost::Audio::getMIME
(
Info &
info )
staticinherited |
Get the mime descriptive type for a given Audio encoding description, usually retrieved from a newly opened audio file.
- Parameters
-
info source description object
- Returns
- text of mime type to use for this audio source.
Get the mono encoding format associated with the given format.
- Parameters
-
encoding format.
- Returns
- associated mono audio encoding format.
unsigned ost::AudioStream::getMono
(
Linear
buffer,
unsigned
frames = 1
)
Get and automatically convert audio file data into mono linear audio samples.
- Parameters
-
buffer to save linear audio into.
frames of audio to read.
- Returns
- number of frames read from file.
static const char* ost::Audio::getName
(
Encoding
encoding )
staticinherited |
Get the short ascii description used for the given audio encoding type.
- Parameters
-
encoding format.
- Returns
- ascii name of encoding format.
ssize_t ost::AudioBase::getNative
(
Encoded
data,
size_t
size
)
inherited |
Get raw data and assure is in native machine endian.
- Returns
- data received in buffer.
- Parameters
-
data to get.
size of data to get.
ssize_t ost::AudioStream::getPacket
(
Encoded
data )
Get a packet of data from the file.
This uses the codec to determine what a true packet boundry is.
- Parameters
-
buffer to save encoded data.
- Returns
- number of bytes read as packet.
void *
buffer,
unsigned
number
)
staticinherited |
Get the peak (highest energy) level found in a frame of audio data.
- Returns
- peak energy level found in data.
- Parameters
-
encoding format of data.
buffer of audio data.
number of samples to examine.
static
Level ost::Audio::getPeak
(
Info &
info,
void *
buffer,
unsigned
number = 0
)
staticinherited |
Get the peak (highest energy) level found in a frame of audio data.
- Returns
- peak energy level found in data.
- Parameters
-
info description object of audio data.
buffer of audio data.
number of samples to examine.
void ost::AudioFile::getPosition
(
char *
timestamp,
size_t
size
)
inherited |
Return the timestamp of the current absolute file position.
- Parameters
-
timestamp to save ascii position into.
size of timestamp buffer.
unsigned long ost::AudioFile::getPosition
(
void
)
inherited |
Get the current file pointer in samples relative to the start of the sample buffer.
Note that you must multiply this result by the result of a call to toBytes(info.encoding, 1) in order to determine the offset in bytes.
- Returns
- the current file pointer in samples relative to the start of the sample buffer. Returns 0 if the file is not open, is empty, or an error has occured.
Return default sample rate associated with the specified audio encoding format.
- Returns
- sample rate for audio data.
- Parameters
-
encoding format.
Return optional rate setting effect.
Many codecs are fixed rate.
- Returns
- result rate for audio date.
- Parameters
-
encoding format.
requested rate.
unsigned ost::AudioFile::getSampleRate
(
void
)
inlineinherited |
Get audio encoding sample rate, in samples per second, for this audio file.
- Returns
- sample rate.
Definition at line 1468 of file audio2.h.
Error ost::AudioFile::getSamples
(
void *
buffer,
unsigned
samples = 0
)
inherited |
Retrieve samples from the file into a memory buffer.
This increments the file pointer so subsequent calls read further samples. If a limit has been set using setLimit(), the number of samples read will be truncated to the limit position. If you want to read a certain number of bytes rather than a certain number of samples, use getBuffer().
- Parameters
-
buffer pointer to copy the samples to.
samples The number of samples to read or 0 for frame.
- Returns
- errSuccess if successful, !errSuccess if error. Use getErrorStr() to retrieve the human-readable error string.
unsigned short ost::AudioFile::getShort
(
unsigned char *
data )
protectedinherited |
Convert binary 2 byte data stored in the order specified in the source description into a short variable.
This is often used to manipulate header data.
- Returns
- short value.
- Parameters
-
data binary 2 byte data pointer.
size_t ost::AudioFile::getSize
(
void
)
inlineinherited |
Get maximum size of frame buffer for data use.
- Returns
- max frame size in bytes.
Definition at line 1246 of file audio2.h.
Get the stereo encoding format associated with the given format.
- Parameters
-
encoding format being tested for stereo.
- Returns
- associated stereo audio encoding format.
unsigned ost::AudioStream::getStereo
(
Linear
buffer,
unsigned
frames = 1
)
Get and automatically convert audio file data into stereo (two channel) linear audio samples.
- Parameters
-
buffer to save linear audio into.
frames of audio to read.
- Returns
- number of frames read from file.
void ost::AudioFile::getWaveFormat
(
int
size )
protectedinherited |
static bool ost::Audio::hasDevice
(
unsigned
device = 0
)
staticinherited |
Test for the presense of a specified (indexed) audio device.
This is normally used to test for local soundcard access.
- Parameters
-
device index or 0 for default audio device.
- Returns
- true if device exists.
virtual bool ost::AudioFile::hasPositioning
(
void
)
inlinevirtualinherited |
Return true if underlying derived class supports direct access to file positioning.
Derived classes based on URL's or fifo devices may not have this ability.
- Returns
- true if file positioning is supported.
Definition at line 1443 of file audio2.h.
void ost::AudioFile::initialize
(
void
)
protectedinherited |
static bool ost::Audio::isBuffered
(
Encoding
encoding )
staticinherited |
Test if the audio encoding format must be packetized (that is, has irregular sized frames) and must be processed only through buffered codecs.
- Returns
- true if packetized audio.
- Parameters
-
encoding format.
static bool ost::Audio::isEndian
(
Encoding
encoding )
staticinherited |
Test if the endian byte order of the encoding format is different from the machine's native byte order.
- Returns
- true if endian format is different.
- Parameters
-
encoding format.
static bool ost::Audio::isEndian
(
Info &
info )
staticinherited |
Test if the endian byte order of the audio source description is different from the machine's native byte order.
- Returns
- true if endian format is different.
- Parameters
-
info source description object.
static bool ost::Audio::isLinear
(
Encoding
encoding )
staticinherited |
Test if the audio encoding format is a linear one.
- Returns
- true if encoding format is linear audio data.
- Parameters
-
encoding format.
static bool ost::Audio::isMono
(
Encoding
encoding )
staticinherited |
Test if the audio encoding format is a mono format.
- Returns
- true if encoding format is mono audio data.
- Parameters
-
encoding format.
virtual bool ost::AudioFile::isOpen
(
void
)
virtualinherited |
Test if the file is opened.
- Returns
- true if a file is open.
bool ost::AudioFile::isSigned
(
void
)
inherited |
Return if the current content is signed or unsigned samples.
- Returns
- true if signed.
static bool ost::Audio::isStereo
(
Encoding
encoding )
staticinherited |
Test if the audio encoding format is a stereo format.
- Returns
- true if encoding format is stereo audio data.
- Parameters
-
encoding format.
bool ost::AudioStream::isStreamable
(
void
)
Check if the audio file may be streamed.
Files can be streamed if a codec is available or if they are linear.
- Returns
- true if streamable.
static bool ost::Audio::loadPlugin
(
const char *
path )
staticinherited |
Load a dso plugin (codec plugin), used internally...
- Returns
- true if loaded.
- Parameters
-
path to codec.
static size_t ost::Audio::maxFramesize
(
Info &
info )
staticinherited |
Maximum framesize for a given coding that may be needed to store a result.
- Parameters
-
info source description object.
- Returns
- maximum possible frame size to allocate for encoded data.
void ost::AudioFile::open
(
const char *
name,
)
inherited |
Open an audio file and associate it with this object.
Called implicitly by the two-argument version of the constructor.
- Parameters
-
name of the file to open. Don't forget to double your backslashes for DOS-style pathnames.
mode to open file under.
framing time in milliseconds.
void ost::AudioStream::open
(
const char *
name,
)
Open existing audio file for streaming.
- Parameters
-
name of file to open.
mode to use file.
framing timer in milliseconds.
bool ost::AudioFile::operator!
(
void
)
inlineinherited |
Error ost::AudioFile::position
(
const char *
timestamp )
inherited |
Seek a file position by timestamp.
The actual position will be rounded by framing.
- Returns
- errSuccess if successful.
- Parameters
-
timestamp position to seek.
ssize_t ost::AudioFile::putBuffer
(
Encoded
buffer,
size_t
len = 0
)
virtualinherited |
Insert bytes into the file from a memory buffer.
This increments the file pointer so subsequent calls append further samples. If you want to write a number of samples rather than bytes, use putSamples().
- Parameters
-
buffer area to append the samples from.
len The number of bytes (not samples) to append.
- Returns
- The number of bytes (not samples) read. Returns -1 if an error occurs and no bytes are written.
Implements ost::AudioBase.
unsigned ost::AudioStream::putEncoded
(
AudioCodec *
codec,
unsigned
frames = 1
)
Stream audio data in an alternate codec into the currently opened file.
- Parameters
-
codec to convert incoming data from.
address of data to convert and stream.
frames of audio to stream.
- Returns
- number of frames processed.
unsigned ost::AudioStream::putEncoded
(
Encoded
address,
unsigned
frames = 1
)
Put data encoded in the native format of the stream file.
- Parameters
-
address to load encoded audio.
frames of audio to save.
- Returns
- number of frames written.
unsigned ost::AudioFile::putLinear
(
Linear
buffer,
unsigned
request = 0
)
inherited |
Convert and store content from linear encoded audio data to the format of the audio file.
- Parameters
-
buffer to copy linear data from.
request
Number of linear samples to save or 0 for frame.
- Returns
- number of samples saved, 0 if no codec or eof.
unsigned ost::AudioStream::putMono
(
Linear
buffer,
unsigned
frames = 1
)
Automatically convert and put mono linear audio data into the audio file.
Convert to stereo as needed by file format.
- Parameters
-
buffer to save linear audio from.
frames of audio to write.
- Returns
- number of frames written to file.
ssize_t ost::AudioBase::putNative
(
Encoded
data,
size_t
size
)
inherited |
Puts raw data and does native to refined endian swapping if needed based on encoding type and local machine endian.
- Parameters
-
data to put.
size of data to put.
- Returns
- number of bytes actually put.
Error ost::AudioFile::putSamples
(
void *
buffer,
unsigned
samples = 0
)
inherited |
Insert samples into the file from a memory buffer.
This increments the file pointer so subsequent calls append further samples. If you want to write a certain number of bytes rather than a certain number of samples, use putBuffer().
- Parameters
-
buffer pointer to append the samples from.
samples The number of samples (not bytes) to append.
- Returns
- errSuccess if successful, !errSuccess if error. Use getErrorStr() to retrieve the human-readable error string.
unsigned ost::AudioStream::putStereo
(
Linear
buffer,
unsigned
frames = 1
)
Automatically convert and put stereo linear audio data into the audio file.
Convert to mono as needed by file format.
- Parameters
-
buffer to save linear audio from.
frames of audio to write.
- Returns
- number of frames written to file.
Error ost::AudioFile::setLimit
(
unsigned long
maximum =
0l
)
inherited |
Set the maximum file position for reading and writing of audio data by samples.
If 0, then no limit is set.
- Parameters
-
maximum file i/o access size sample position.
- Returns
- errSuccess if successful.
void ost::AudioFile::setLong
(
unsigned char *
data,
unsigned long
value
)
protectedinherited |
Save a long as four byte binary data stored in the endian order specified in the source description.
This is often used to manipulate header data.
- Parameters
-
data binary 4 byte data pointer.
value to convert.
Error ost::AudioFile::setMinimum
(
unsigned long
minimum )
inherited |
Set minimum file size for a created file.
If the file is closed with fewer samples than this, it will also be deleted.
- Parameters
-
minimum number of samples for new file.
- Returns
- errSuccess if successful.
Error ost::AudioFile::setPosition
(
unsigned long
samples =
~0l
)
inherited |
Seek a file position by sample count.
If no position specified, then seeks to end of file.
- Returns
- errSuccess or error condition on failure.
- Parameters
-
samples position to seek in file.
void ost::AudioFile::setShort
(
unsigned char *
data,
unsigned short
value
)
protectedinherited |
Save a short as two byte binary data stored in the endian order specified in the source description.
This is often used to manipulate header data.
- Parameters
-
data binary 2 byte data pointer.
value to convert.
Error ost::AudioFile::skip
(
long
number )
inherited |
Change the file position by skipping a specified number of audio samples of audio data.
- Returns
- errSuccess or error condition on failure.
- Parameters
-
number of samples to skip.
static void ost::Audio::swapEncoded
(
Info &
info,
size_t
bytes
)
staticinherited |
Optionally swap endian of encoded audio data based on the audio encoding type, and relationship to native byte order.
- Parameters
-
info source description of object.
buffer of audio data.
number of bytes of audio data.
static bool ost::Audio::swapEndian
(
Encoding
encoding,
void *
buffer,
unsigned
number
)
staticinherited |
Optionally swap endian of audio data if the encoding format endian byte order is different from the machine's native endian.
- Returns
- true if endian format was different.
- Parameters
-
encoding format of data.
buffer of audio data.
number of audio samples.
static bool ost::Audio::swapEndian
(
Info &
info,
void *
buffer,
unsigned
number
)
staticinherited |
Optionally swap endian of audio data if the audio source description byte order is different from the machine's native endian byte order.
- Returns
- true if endian format was different.
- Parameters
-
info source description object of data.
buffer of audio data.
number of audio samples.
static size_t ost::Audio::toBytes
(
Info &
info,
unsigned long
number
)
staticinherited |
Compute the number of bytes a given number of samples in a given audio encoding will occupy.
- Returns
- number of bytes samples will occupy.
- Parameters
-
info encoding source description.
number of samples.
static size_t ost::Audio::toBytes
(
Encoding
encoding,
unsigned long
number
)
staticinherited |
Compute the number of bytes a given number of samples in a given audio encoding will occupy.
- Returns
- number of bytes samples will occupy.
- Parameters
-
encoding format.
number of samples.
static float ost::Audio::todbm
(
Level
power )
staticinherited |
Convert integer power levels to dbm.
- Parameters
-
power level.
- Returns
- dbm power level.
static
Level ost::Audio::tolevel
(
float
dbm )
staticinherited |
Convert dbm power level to integer value (0-32768).
- Parameters
-
dbm power level
- Returns
- integer value.
static unsigned long ost::Audio::toSamples
(
Encoding
encoding,
size_t
bytes
)
staticinherited |
Compute byte counts of audio data into number of samples based on the audio encoding format used.
- Returns
- number of audio samples in specified data.
- Parameters
-
encoding format.
bytes of data.
static unsigned long ost::Audio::toSamples
(
Info &
info,
size_t
bytes
)
staticinherited |
Compute byte counts of audio data into number of samples based on the audio source description used.
- Returns
- number of audio samples in specified data.
- Parameters
-
info encoding source description.
bytes of data.
static
timeout_t ost::Audio::toTimeout
(
const char *
timestamp )
staticinherited |
Convert ascii timestamp representation to a timeout number.
- Parameters
-
timestamp ascii data.
- Returns
- timeout_t duration from data.
static void ost::Audio::toTimestamp
(
timeout_t
duration,
char *
address,
size_t
size
)
staticinherited |
Provide ascii timestamp representation of a timeout value.
- Parameters
-
duration timeout value
address for ascii data.
size of ascii data.
Field Documentation
unsigned ost::AudioStream::bufferChannels
protected |
Linear ost::AudioStream::bufferFrame
protected |
unsigned ost::AudioStream::bufferPosition
protected |
Linear ost::AudioStream::decBuffer
protected |
unsigned ost::AudioStream::decSize
protected |
Linear ost::AudioStream::encBuffer
protected |
unsigned ost::AudioStream::encSize
protected |
Error ost::AudioFile::error
protectedinherited |
int ost::AudioFile::fd
inherited |
union { ... } ost::AudioFile::file
void* ost::AudioFile::handle
inherited |
unsigned long ost::AudioFile::header
protectedinherited |
Info ost::AudioBase::info
protectedinherited |
unsigned long ost::AudioFile::iolimit
protectedinherited |
unsigned long ost::AudioFile::length
protectedinherited |
unsigned long ost::AudioFile::minimum
protectedinherited |
Mode ost::AudioFile::mode
protectedinherited |
const unsigned ost::Audio::ndata
staticinherited |
char* ost::AudioFile::pathname
protectedinherited |
bool ost::AudioStream::streamable
protected |
The documentation for this class was generated from the following file:
Generated on Dec 21, 2017 for
commoncpp2-1.8.1,
ccrtp-1.7.2,
libzrtpcpp-2.3.4,
ccscript3-1.1.7,
ccaudio2-1.0.0 and
bayonne2-2.3.2
(after installation in /usr/local/)
by
doxygen 1.8.6