Urho3D
Public Member Functions | Private Attributes | List of all members
Urho3D::BufferedSoundStream Class Reference

Sound stream that supports manual buffering of data from the main thread. More...

#include </home/runner/work/urho3d-doxygen.github.io/urho3d-doxygen.github.io/urho3d_repo/Source/Urho3D/Audio/BufferedSoundStream.h>

Inheritance diagram for Urho3D::BufferedSoundStream:
Urho3D::SoundStream Urho3D::RefCounted

Public Member Functions

 BufferedSoundStream ()
 Construct.
 
 ~BufferedSoundStream () override
 Destruct.
 
unsigned GetData (signed char *dest, unsigned numBytes) override
 Produce sound data into destination. Return number of bytes produced. Called by SoundSource from the mixing thread. More...
 
void AddData (void *data, unsigned numBytes)
 Buffer sound data. Makes a copy of it.
 
void AddData (const SharedArrayPtr< signed char > &data, unsigned numBytes)
 Buffer sound data by taking ownership of it.
 
void AddData (const SharedArrayPtr< signed short > &data, unsigned numBytes)
 Buffer sound data by taking ownership of it.
 
void Clear ()
 Remove all buffered audio data.
 
unsigned GetBufferNumBytes () const
 Return amount of buffered (unplayed) sound data in bytes.
 
float GetBufferLength () const
 Return length of buffered (unplayed) sound data in seconds.
 
- Public Member Functions inherited from Urho3D::SoundStream
 SoundStream ()
 Construct.
 
 ~SoundStream () override
 Destruct.
 
virtual bool Seek (unsigned sample_number)
 Seek to sample number. Return true on success. Need not be implemented by all streams. More...
 
virtual unsigned GetData (signed char *dest, unsigned numBytes)=0
 Produce sound data into destination. Return number of bytes produced. Called by SoundSource from the mixing thread. More...
 
void SetFormat (unsigned frequency, bool sixteenBit, bool stereo)
 Set sound data format.
 
void SetStopAtEnd (bool enable)
 Set whether playback should stop when no more data. Default false.
 
unsigned GetSampleSize () const
 Return sample size.
 
float GetFrequency () const
 Return default frequency as a float.
 
unsigned GetIntFrequency () const
 Return default frequency as an integer.
 
bool GetStopAtEnd () const
 Return whether playback should stop when no more data.
 
bool IsSixteenBit () const
 Return whether data is sixteen bit.
 
bool IsStereo () const
 Return whether data is stereo.
 
- Public Member Functions inherited from Urho3D::RefCounted
 RefCounted ()
 Construct. Allocate the reference count structure and set an initial self weak reference.
 
virtual ~RefCounted ()
 Destruct. Mark as expired and also delete the reference count structure if no outside weak references exist.
 
 RefCounted (const RefCounted &rhs)=delete
 Prevent copy construction.
 
RefCountedoperator= (const RefCounted &rhs)=delete
 Prevent assignment.
 
void AddRef ()
 Increment reference count. Can also be called outside of a SharedPtr for traditional reference counting.
 
void ReleaseRef ()
 Decrement reference count and delete self if no more references. Can also be called outside of a SharedPtr for traditional reference counting.
 
int Refs () const
 Return reference count.
 
int WeakRefs () const
 Return weak reference count.
 
RefCountRefCountPtr ()
 Return pointer to the reference count structure.
 

Private Attributes

List< Pair< SharedArrayPtr< signed char >, unsigned > > buffers_
 Buffers and their sizes.
 
unsigned position_
 Byte position in the front most buffer.
 
Mutex bufferMutex_
 Mutex for buffer data.
 

Additional Inherited Members

- Protected Attributes inherited from Urho3D::SoundStream
unsigned frequency_
 Default frequency.
 
bool stopAtEnd_
 Stop when no more data flag.
 
bool sixteenBit_
 Sixteen bit flag.
 
bool stereo_
 Stereo flag.
 

Detailed Description

Sound stream that supports manual buffering of data from the main thread.

Member Function Documentation

◆ GetData()

unsigned Urho3D::BufferedSoundStream::GetData ( signed char *  dest,
unsigned  numBytes 
)
overridevirtual

Produce sound data into destination. Return number of bytes produced. Called by SoundSource from the mixing thread.

Implements Urho3D::SoundStream.


The documentation for this class was generated from the following files: