OpalRawMediaStream Class Reference

#include <mediastrm.h>

Inheritance diagram for OpalRawMediaStream:
OpalMediaStream OpalAudioMediaStream OpalFileMediaStream OpalIVRMediaStream

Public Member Functions

Overrides of OpalMediaStream class



virtual PBoolean ReadData (BYTE *data, PINDEX size, PINDEX &length)
virtual PBoolean WriteData (const BYTE *data, PINDEX length, PINDEX &written)
PChannel * GetChannel ()
bool SetChannel (PChannel *channel, bool autoDelete=true)
virtual unsigned GetAverageSignalLevel ()

Protected Member Functions

virtual void InternalClose ()
void CollectAverage (const BYTE *buffer, PINDEX size)
Construction



 OpalRawMediaStream (OpalConnection &conn, const OpalMediaFormat &mediaFormat, unsigned sessionID, bool isSource, PChannel *channel, bool autoDelete)
 ~OpalRawMediaStream ()

Protected Attributes

PChannel * m_channel
bool m_autoDelete
PMutex m_channelMutex
PBYTEArray m_silence
PUInt64 m_averageSignalSum
unsigned m_averageSignalSamples
PMutex m_averagingMutex

Detailed Description

This class describes a media stream that transfers PCM-16 data to/from a PChannel.


Constructor & Destructor Documentation

OpalRawMediaStream::OpalRawMediaStream ( OpalConnection conn,
const OpalMediaFormat mediaFormat,
unsigned  sessionID,
bool  isSource,
PChannel *  channel,
bool  autoDelete 
) [protected]

Construct a new media stream for channel.

Parameters:
conn Connection that owns the stream
mediaFormat Media format for stream
sessionID Session number for stream
isSource Is a source stream
channel I/O channel to stream to/from
autoDelete Automatically delete channel
OpalRawMediaStream::~OpalRawMediaStream (  )  [protected]

Delete attached channel if autoDelete enabled.


Member Function Documentation

void OpalRawMediaStream::CollectAverage ( const BYTE *  buffer,
PINDEX  size 
) [protected]
virtual unsigned OpalRawMediaStream::GetAverageSignalLevel (  )  [virtual]

Get average signal level in last frame.

PChannel* OpalRawMediaStream::GetChannel (  )  [inline]

Return the associated PChannel

References m_channel.

virtual void OpalRawMediaStream::InternalClose (  )  [protected, virtual]

Close any internal components of the stream. This should be used in preference to overriding the Close() function as it is guaranteed to be called exactly once and avoids race conditions in the shut down sequence of a media stream.

Implements OpalMediaStream.

Reimplemented in OpalIVRMediaStream.

virtual PBoolean OpalRawMediaStream::ReadData ( BYTE *  data,
PINDEX  size,
PINDEX &  length 
) [virtual]

Read raw media data from the source media stream. The default behaviour reads from the PChannel object.

Parameters:
data Data buffer to read to
size Size of buffer
length Length of data actually read

Reimplemented from OpalMediaStream.

Reimplemented in OpalFileMediaStream.

bool OpalRawMediaStream::SetChannel ( PChannel *  channel,
bool  autoDelete = true 
)

Set a new channel for raw PCM stream.

Parameters:
channel New channel
autoDelete Auto delete channel on exit or replacement
virtual PBoolean OpalRawMediaStream::WriteData ( const BYTE *  data,
PINDEX  length,
PINDEX &  written 
) [virtual]

Write raw media data to the sink media stream. The default behaviour writes to the PChannel object.

Parameters:
data Data to write
length Length of data to read.
written Length of data actually written

Reimplemented from OpalMediaStream.

Reimplemented in OpalFileMediaStream.


Field Documentation

PChannel* OpalRawMediaStream::m_channel [protected]

Referenced by GetChannel().

PBYTEArray OpalRawMediaStream::m_silence [protected]

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

Generated on 5 Jun 2012 for OPAL by  doxygen 1.6.1