Main Page   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   File Members  

audiere::AudioDevice Class Reference

#include <audiere.h>

Inheritance diagram for audiere::AudioDevice:

Inheritance graph
[legend]
Collaboration diagram for audiere::AudioDevice:

Collaboration graph
[legend]
List of all members.

Public Methods

virtual void ADR_CALL update ()=0
virtual OutputStream *ADR_CALL openStream (SampleSource *source)=0
virtual OutputStream *ADR_CALL openBuffer (void *samples, int frame_count, int channel_count, int sample_rate, SampleFormat sample_format)=0

Protected Methods

 ~AudioDevice ()

Detailed Description

AudioDevice represents a device on the system which is capable of opening and mixing multiple output streams. In Windows, DirectSound is such a device.

This interface is synchronized. update() and openStream() may be called on different threads.

Definition at line 418 of file audiere.h.


Constructor & Destructor Documentation

audiere::AudioDevice::~AudioDevice   [inline, protected]
 

Definition at line 420 of file audiere.h.


Member Function Documentation

virtual OutputStream* ADR_CALL audiere::AudioDevice::openBuffer void *    samples,
int    frame_count,
int    channel_count,
int    sample_rate,
SampleFormat    sample_format
[pure virtual]
 

Open a single buffer with the specified PCM data. This is sometimes more efficient than streaming and works on a larger variety of audio devices. In some implementations, this may download the audio data to the sound card's memory itself.

Parameters:
samples  Buffer containing sample data. openBuffer() does not take ownership of the memory. The application is responsible for freeing it. There must be at least |frame_count * channel_count * GetSampleSize(sample_format)| bytes in the buffer.
frame_count  Number of frames in the buffer.
channel_count  Number of audio channels. 1 = mono, 2 = stereo.
sample_rate  Number of samples per second.
sample_format  Format of samples in buffer.
Returns :
new output stream if successful, 0 if failure

Implemented in audiere::ThreadedDevice, audiere::DSAudioDevice, audiere::MixerDevice, audiere::NullAudioDevice, and audiere::OALAudioDevice.

virtual OutputStream* ADR_CALL audiere::AudioDevice::openStream SampleSource   source [pure virtual]
 

Open an output stream with a given sample source. If the sample source ever runs out of data, the output stream automatically stops itself.

The output stream takes ownership of the sample source, even if opening the output stream fails (in which case the source is immediately deleted).

Parameters:
source  the source used to feed the output stream with samples
Returns :
new output stream if successful, 0 if failure

Implemented in audiere::ThreadedDevice, audiere::DSAudioDevice, audiere::MixerDevice, audiere::NullAudioDevice, and audiere::OALAudioDevice.

virtual void ADR_CALL audiere::AudioDevice::update   [pure virtual]
 

Tell the device to do any internal state updates. Some devices update on an internal thread. If that is the case, this method does nothing.

Implemented in audiere::ThreadedDevice, audiere::ALAudioDevice, audiere::DSAudioDevice, audiere::MMAudioDevice, audiere::NullAudioDevice, audiere::OALAudioDevice, and audiere::OSSAudioDevice.


The documentation for this class was generated from the following file:
Generated on Sat Oct 12 01:43:52 2002 for audiere by doxygen1.2.17