|
| | AudioFile (const char *name, unsigned long offset=0) |
| | Construct and open an existing audio file for read/write.
|
| | AudioFile (const char *name, Info *info, unsigned long minimum=0) |
| | Create and open a new audio file for writing.
|
| | AudioFile () |
| | Construct an audio file without attaching to the filesystem.
|
| virtual | ~AudioFile () |
| void | open (const char *name, Mode mode=modeWrite, timeout_t framing=0) |
| | Open an audio file and associate it with this object.
|
| void | create (const char *name, Info *info, bool exclusive=false, timeout_t framing=0) |
| | Create a new audio file and associate it with this object.
|
| time_t | getAge (void) |
| | Returns age since last prior access.
|
| size_t | getSize (void) |
| | Get maximum size of frame buffer for data use.
|
| void | close (void) |
| | Close an object associated with an open file.
|
| void | clear (void) |
| | Clear the AudioFile structure.
|
| ssize_t | getBuffer (Encoded buffer, size_t len=0) |
| | Retrieve bytes from the file into a memory buffer.
|
| unsigned | getLinear (Linear buffer, unsigned request=0) |
| | Retrieve and convert content to linear encoded audio data from it's original form.
|
| ssize_t | putBuffer (Encoded buffer, size_t len=0) |
| | Insert bytes into the file from a memory buffer.
|
| unsigned | putLinear (Linear buffer, unsigned request=0) |
| | Convert and store content from linear encoded audio data to the format of the audio file.
|
| Error | getSamples (void *buffer, unsigned samples=0) |
| | Retrieve samples from the file into a memory buffer.
|
| Error | putSamples (void *buffer, unsigned samples=0) |
| | Insert samples into the file from a memory buffer.
|
| Error | skip (long number) |
| | Change the file position by skipping a specified number of audio samples of audio data.
|
| Error | setPosition (unsigned long samples=~0l) |
| | Seek a file position by sample count.
|
| Error | position (const char *timestamp) |
| | Seek a file position by timestamp.
|
| void | getPosition (char *timestamp, size_t size) |
| | Return the timestamp of the current absolute file position.
|
| Error | setLimit (unsigned long maximum=0l) |
| | Set the maximum file position for reading and writing of audio data by samples.
|
| Error | getInfo (Info *info) |
| | Copy the source description of the audio file into the specified object.
|
| Error | setMinimum (unsigned long minimum) |
| | Set minimum file size for a created file.
|
| unsigned long | getAbsolutePosition (void) |
| | Get the current file pointer in bytes relative to the start of the file.
|
| unsigned long | getPosition (void) |
| | Get the current file pointer in samples relative to the start of the sample buffer.
|
| virtual bool | isOpen (void) |
| | Test if the file is opened.
|
| virtual bool | hasPositioning (void) |
| | Return true if underlying derived class supports direct access to file positioning.
|
| Encoding | getEncoding (void) |
| | Return audio encoding format for this audio file.
|
| Format | getFormat (void) |
| | Return base file format of containing audio file.
|
| unsigned | getSampleRate (void) |
| | Get audio encoding sample rate, in samples per second, for this audio file.
|
| char * | getAnnotation (void) |
| | Get annotation extracted from header of containing file.
|
| Error | getError (void) |
| | Get last error code.
|
| bool | operator! (void) |
| bool | isSigned (void) |
| | Return if the current content is signed or unsigned samples.
|
| | AudioBase () |
| | Create audio base object with no info.
|
| | AudioBase (Info *info) |
| | Create audio base object with audio source description.
|
| virtual | ~AudioBase () |
| | Destroy an audio base object.
|
| Encoding | getEncoding (void) |
| | Generic get encoding.
|
| unsigned | getSampleRate (void) |
| | Generic sample rate.
|
| 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.
|
| ssize_t | getPacket (Encoded data) |
| | Get's a packet of audio data.
|
| ssize_t | getNative (Encoded data, size_t size) |
| | Get raw data and assure is in native machine endian.
|
|
| void | initialize (void) |
| void | getWaveFormat (int size) |
| void | mp3info (mpeg_audio *mp3) |
| virtual bool | afCreate (const char *path, bool exclusive=false) |
| virtual bool | afOpen (const char *path, Mode m=modeWrite) |
| virtual bool | afPeek (unsigned char *data, unsigned size) |
| AudioCodec * | getCodec (void) |
| virtual int | afRead (unsigned char *data, unsigned size) |
| | Read a given number of bytes from the file, starting from the current file pointer.
|
| virtual int | afWrite (unsigned char *data, unsigned size) |
| | Write a number of bytes into the file at the current file pointer.
|
| virtual bool | afSeek (unsigned long pos) |
| | Seek to the given position relative to the start of the file and set the file pointer.
|
| virtual void | afClose (void) |
| | Close the derived file handling system's file handle.
|
| virtual char * | getContinuation (void) |
| | This function is used to splice multiple audio files together into a single stream of continues audio data.
|
| const char * | getErrorStr (Error err) |
| | Return a human-readable error message given a numeric error code of type Audio::Error.
|
| Error | setError (Error err) |
| unsigned long | getHeader (void) |
| | Get number of bytes in the file header.
|
| unsigned short | getShort (unsigned char *data) |
| | Convert binary 2 byte data stored in the order specified in the source description into a short variable.
|
| 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.
|
| unsigned long | getLong (unsigned char *data) |
| | Convert binary 4 byte data stored in the order specified in the source description into a long variable.
|
| 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.
|
|
| 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 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.
|
| static const unsigned | ndata |
A class used to manipulate audio data.
This class provides file level access to audio data stored in different formats. This class also provides the ability to write audio data into a disk file.
- Author
- David Sugar dyfet.nosp@m.@ost.nosp@m.el.co.nosp@m.m
audio file access.