Poster of Linux kernelThe best gift for a Linux geek
ost::AudioStream

ost::AudioStream

Section: C Library Functions (3) Updated: 1 May 2009
Local index Up
 

NAME

ost::AudioStream - AudioStream accesses AudioFile base class content as fixed frames of streaming linear samples.

 

SYNOPSIS


#include <audio2.h>

Inherits ost::AudioFile.

 

Public Member Functions


AudioStream ()
Create a new audiostream object.
AudioStream (const char *name, Mode mode=modeRead, timeout_t framing=0)
Create an audio stream object and open an existing audio file.
AudioStream (const char *name, Info *info, bool exclusive=false, timeout_t framing=0)
Create an audio stream object and a new audio file.
virtual ~AudioStream ()

ssize_t getBuffer (Encoded data, size_t count)
Virtual for packet i/o intercept.
void open (const char *name, Mode mode=modeRead, timeout_t framing=0)
Open existing audio file for streaming.
void create (const char *name, Info *info, bool exclusive=false, timeout_t framing=0)
Create a new audio file for streaming.
void close (void)
Close the currently open audio file for streaming.
void flush (void)
flush any unsaved buffered data to disk.
bool isStreamable (void)
Check if the audio file may be streamed.
unsigned getCount (void)
Get the number of samples expected in a frame.
unsigned getEncoded (AudioCodec *codec, Encoded address, unsigned frames=1)
Stream audio data from the file and convert into an alternate encoding based on the codec supplied.
unsigned putEncoded (AudioCodec *codec, Encoded address, unsigned frames=1)
Stream audio data in an alternate codec into the currently opened file.
unsigned getEncoded (Encoded address, unsigned frames=1)
Get data from the streamed file in it's native encoding.
unsigned putEncoded (Encoded address, unsigned frames=1)
Put data encoded in the native format of the stream file.
ssize_t getPacket (Encoded data)
Get a packet of data from the file.
unsigned getMono (Linear buffer, unsigned frames=1)
Get and automatically convert audio file data into mono linear audio samples.
unsigned getStereo (Linear buffer, unsigned frames=1)
Get and automatically convert audio file data into stereo (two channel) linear audio samples.
unsigned putMono (Linear buffer, unsigned frames=1)
Automatically convert and put mono linear audio data into the audio file.
unsigned putStereo (Linear buffer, unsigned frames=1)
Automatically convert and put stereo linear audio data into the audio file.
unsigned bufMono (Linear buffer, unsigned count)
Automatically convert and put arbitrary linear mono data into the audio file.
unsigned bufStereo (Linear buffer, unsigned count)
Automatically convert and put arbitrary linear stereo data into the audio file.
AudioCodec * getCodec (void)
Return the codec being used if there is one.  

Protected Member Functions


unsigned bufAudio (Linear samples, unsigned count, unsigned size)
 

Protected Attributes


AudioCodec * codec

Encoded framebuf

bool streamable

Linear bufferFrame

unsigned bufferPosition

unsigned bufferChannels

Linear encBuffer

Linear decBuffer

unsigned encSize

unsigned decSize
 

Detailed Description

AudioStream accesses AudioFile base class content as fixed frames of streaming linear samples.

If a codec must be assigned to perform conversion to/from linear data, AudioStream will handle conversion automatically. AudioStream will also convert between mono and stereo audio content. AudioStream uses linear samples in the native machine endian format and perform endian byte swapping as needed.

Author:

David Sugar <dyfet@ostel.com> Audio Streaming with Linear Conversion

 

Constructor & Destructor Documentation

 

ost::AudioStream::AudioStream ()

Create a new audiostream object.

 

ost::AudioStream::AudioStream (const char * name, Mode mode = modeRead, timeout_t framing = 0)

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, Info * info, bool exclusive = false, timeout_t framing = 0)

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

 

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::AudioStream::close (void)

Close the currently open audio file for streaming.

Reimplemented from ost::AudioFile.  

void ost::AudioStream::create (const char * name, Info * info, bool exclusive = false, timeout_t framing = 0)

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.

Reimplemented from ost::AudioFile.  

void ost::AudioStream::flush (void)

flush any unsaved buffered data to disk.

 

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.  

AudioCodec* ost::AudioStream::getCodec (void) [inline]

Return the codec being used if there is one.

Returns:

codec used.

Reimplemented from ost::AudioFile.  

unsigned ost::AudioStream::getCount (void)

Get the number of samples expected in a frame.

 

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.

 

unsigned ost::AudioStream::getEncoded (AudioCodec * codec, Encoded address, 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::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.

 

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.

Reimplemented from ost::AudioBase.  

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.

 

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.

 

void ost::AudioStream::open (const char * name, Mode mode = modeRead, timeout_t framing = 0)

Open existing audio file for streaming.

Parameters:

name of file to open.
mode to use file.
framing timer in milliseconds.

Reimplemented from ost::AudioFile.  

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::AudioStream::putEncoded (AudioCodec * codec, Encoded address, 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::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.

 

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.

 

Member Data Documentation

 

unsigned ost::AudioStream::bufferChannels [protected]

 

Linear ost::AudioStream::bufferFrame [protected]

 

unsigned ost::AudioStream::bufferPosition [protected]

 

AudioCodec* ost::AudioStream::codec [protected]

 

Linear ost::AudioStream::decBuffer [protected]

 

unsigned ost::AudioStream::decSize [protected]

 

Linear ost::AudioStream::encBuffer [protected]

 

unsigned ost::AudioStream::encSize [protected]

 

Encoded ost::AudioStream::framebuf [protected]

 

bool ost::AudioStream::streamable [protected]

 

Author

Generated automatically by Doxygen for ccAudio from the source code.


 

Index

NAME
SYNOPSIS
Public Member Functions
Protected Member Functions
Protected Attributes
Detailed Description
Constructor & Destructor Documentation
ost::AudioStream::AudioStream ()
ost::AudioStream::AudioStream (const char * name, Mode mode = modeRead, timeout_t framing = 0)
ost::AudioStream::AudioStream (const char * name, Info * info, bool exclusive = false, timeout_t framing = 0)
virtual ost::AudioStream::~AudioStream () [virtual]
Member Function Documentation
unsigned ost::AudioStream::bufAudio (Linear samples, unsigned count, unsigned size) [protected]
unsigned ost::AudioStream::bufMono (Linear buffer, unsigned count)
unsigned ost::AudioStream::bufStereo (Linear buffer, unsigned count)
void ost::AudioStream::close (void)
void ost::AudioStream::create (const char * name, Info * info, bool exclusive = false, timeout_t framing = 0)
void ost::AudioStream::flush (void)
ssize_t ost::AudioStream::getBuffer (Encoded data, size_t count) [virtual]
AudioCodec* ost::AudioStream::getCodec (void) [inline]
unsigned ost::AudioStream::getCount (void)
unsigned ost::AudioStream::getEncoded (Encoded address, unsigned frames = 1)
unsigned ost::AudioStream::getEncoded (AudioCodec * codec, Encoded address, unsigned frames = 1)
unsigned ost::AudioStream::getMono (Linear buffer, unsigned frames = 1)
ssize_t ost::AudioStream::getPacket (Encoded data)
unsigned ost::AudioStream::getStereo (Linear buffer, unsigned frames = 1)
bool ost::AudioStream::isStreamable (void)
void ost::AudioStream::open (const char * name, Mode mode = modeRead, timeout_t framing = 0)
unsigned ost::AudioStream::putEncoded (Encoded address, unsigned frames = 1)
unsigned ost::AudioStream::putEncoded (AudioCodec * codec, Encoded address, unsigned frames = 1)
unsigned ost::AudioStream::putMono (Linear buffer, unsigned frames = 1)
unsigned ost::AudioStream::putStereo (Linear buffer, unsigned frames = 1)
Member Data Documentation
unsigned ost::AudioStream::bufferChannels [protected]
Linear ost::AudioStream::bufferFrame [protected]
unsigned ost::AudioStream::bufferPosition [protected]
AudioCodec* ost::AudioStream::codec [protected]
Linear ost::AudioStream::decBuffer [protected]
unsigned ost::AudioStream::decSize [protected]
Linear ost::AudioStream::encBuffer [protected]
unsigned ost::AudioStream::encSize [protected]
Encoded ost::AudioStream::framebuf [protected]
bool ost::AudioStream::streamable [protected]
Author

This document was created by man2html, using the manual pages.
Time: 21:51:50 GMT, April 16, 2011