Halyri - Mobiili  0.9
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Events
Halyri.AudioVideoManagers.AudioVideoPlaybackManager Class Reference

Handles playback of incoming audio and picture data. Currently only performs the playback of speex encoded audio using XNA sound effect instances. More...

Public Member Functions

 AudioVideoPlaybackManager ()
 Initializes a new AudioVideoPlaybackManager instance. More...
 
void Enable ()
 Enables the media playback using this instance. Currently only the playback of speex compressed audio fragments is available. More...
 
void Disable ()
 Disables the media playback at this instance. More...
 
void HandleIncomingMedia (MediaPacket mediaPacket)
 Handles audio and video data received from the remote client. Corrently handles only speex encoded audio. More...
 

Private Member Functions

void PcmPlaybackLoop ()
 Handles playback of pcm audio segments available from the incomingPcmFragmentQueue. Currently uses XNA SoundEffect instances. Implementing a MediaStreamSource and using a MediaElement would offer improved performance. More...
 

Private Attributes

BlockingQueue< byte[]> incomingPcmFragmentQueue
 
int incomingPlaybackBufferLength = 8
 
SpeexDecoder decoder
 
BandMode defaultBandMode = BandMode.Wide
 
Thread samplePlaybackThread
 
SoundEffectInstance currentSound
 
bool enabled
 

Detailed Description

Handles playback of incoming audio and picture data. Currently only performs the playback of speex encoded audio using XNA sound effect instances.

<author>Veli-Mikko Puupponen</author> Note: this class should be converted to work with a MediaStreamSource rather than playing the samples using XNA audio effect instances.

Constructor & Destructor Documentation

Halyri.AudioVideoManagers.AudioVideoPlaybackManager.AudioVideoPlaybackManager ( )

Initializes a new AudioVideoPlaybackManager instance.

Member Function Documentation

void Halyri.AudioVideoManagers.AudioVideoPlaybackManager.Disable ( )

Disables the media playback at this instance.

void Halyri.AudioVideoManagers.AudioVideoPlaybackManager.Enable ( )

Enables the media playback using this instance. Currently only the playback of speex compressed audio fragments is available.

void Halyri.AudioVideoManagers.AudioVideoPlaybackManager.HandleIncomingMedia ( MediaPacket  mediaPacket)

Handles audio and video data received from the remote client. Corrently handles only speex encoded audio.

Parameters
mediaPacketMedia packet containing audio or video data
void Halyri.AudioVideoManagers.AudioVideoPlaybackManager.PcmPlaybackLoop ( )
private

Handles playback of pcm audio segments available from the incomingPcmFragmentQueue. Currently uses XNA SoundEffect instances. Implementing a MediaStreamSource and using a MediaElement would offer improved performance.

Member Data Documentation

SoundEffectInstance Halyri.AudioVideoManagers.AudioVideoPlaybackManager.currentSound
private
SpeexDecoder Halyri.AudioVideoManagers.AudioVideoPlaybackManager.decoder
private
BandMode Halyri.AudioVideoManagers.AudioVideoPlaybackManager.defaultBandMode = BandMode.Wide
private
bool Halyri.AudioVideoManagers.AudioVideoPlaybackManager.enabled
private
BlockingQueue<byte[]> Halyri.AudioVideoManagers.AudioVideoPlaybackManager.incomingPcmFragmentQueue
private
int Halyri.AudioVideoManagers.AudioVideoPlaybackManager.incomingPlaybackBufferLength = 8
private
Thread Halyri.AudioVideoManagers.AudioVideoPlaybackManager.samplePlaybackThread
private

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