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

portaudio::Stream Class Reference

#include <Stream.hxx>

Inheritance diagram for portaudio::Stream:

Inheritance graph
[legend]
List of all members.

Detailed Description

A Stream represents an active or inactive input and/or output data stream in the System.

Concrete Stream classes should ensure themselves being in a closed state at destruction (i.e. by calling their own close() method in their deconstructor). Following good C++ programming practices, care must be taken to ensure no exceptions are thrown by the deconstructor of these classes. As a consequence, clients need to explicitly call close() to ensure the stream closed successfully.

The Stream object can be used to manipulate the Stream's state. Also, time-constant and time-varying information about the Stream can be retreived.


Public Member Functions

virtual ~Stream ()
virtual void close ()
bool isOpen () const
void setStreamFinishedCallback (PaStreamFinishedCallback *callback)
void start ()
void stop ()
void abort ()
bool isStopped () const
bool isActive () const
PaTime inputLatency () const
PaTime outputLatency () const
double sampleRate () const
PaTime time () const
const PaStream * paStream () const
PaStream * paStream ()

Protected Member Functions

 Stream ()

Protected Attributes

PaStream * stream_

Private Member Functions

 Stream (const Stream &)
Streamoperator= (const Stream &)


Constructor & Destructor Documentation

portaudio::Stream::~Stream  )  [virtual]
 

portaudio::Stream::Stream  )  [protected]
 

portaudio::Stream::Stream const Stream  )  [private]
 


Member Function Documentation

void portaudio::Stream::close  )  [virtual]
 

Closes the Stream if it's open, else does nothing.

bool portaudio::Stream::isOpen  )  const
 

Returns true if the Stream is open.

void portaudio::Stream::setStreamFinishedCallback PaStreamFinishedCallback *  callback  ) 
 

void portaudio::Stream::start  ) 
 

void portaudio::Stream::stop  ) 
 

void portaudio::Stream::abort  ) 
 

bool portaudio::Stream::isStopped  )  const
 

bool portaudio::Stream::isActive  )  const
 

PaTime portaudio::Stream::inputLatency  )  const
 

Returns the best known input latency for the Stream. This value may differ from the suggested input latency set in the StreamParameters. Includes all sources of latency known to PortAudio such as internal buffering, and Host API reported latency. Doesn't include any estimates of unknown latency.

PaTime portaudio::Stream::outputLatency  )  const
 

Returns the best known output latency for the Stream. This value may differ from the suggested output latency set in the StreamParameters. Includes all sources of latency known to PortAudio such as internal buffering, and Host API reported latency. Doesn't include any estimates of unknown latency.

double portaudio::Stream::sampleRate  )  const
 

Returns the sample rate of the Stream. Usually this will be the best known estimate of the used sample rate. For instance when opening a Stream setting 44100.0 Hz in the StreamParameters, the actual sample rate might be something like 44103.2 Hz (due to imperfections in the sound card hardware).

PaTime portaudio::Stream::time  )  const
 

const PaStream * portaudio::Stream::paStream  )  const
 

Accessor (const) for PortAudio PaStream pointer, useful for interfacing with PortAudio add-ons such as PortMixer for instance. Normally accessing this pointer should not be needed as PortAudioCpp aims to provide all of PortAudio's functionality.

PaStream * portaudio::Stream::paStream  ) 
 

Accessor (non-const) for PortAudio PaStream pointer, useful for interfacing with PortAudio add-ons such as PortMixer for instance. Normally accessing this pointer should not be needed as PortAudioCpp aims to provide all of PortAudio's functionality.

Stream& portaudio::Stream::operator= const Stream  )  [private]
 


Member Data Documentation

PaStream* portaudio::Stream::stream_ [protected]
 


The documentation for this class was generated from the following files:
Generated on Fri Apr 2 20:22:52 2004 for PortAudioCpp by doxygen 1.3.6