OpalRTPMediaStream Class Reference

#include <mediastrm.h>

Inheritance diagram for OpalRTPMediaStream:

OpalMediaStream

Public Member Functions

Construction
 OpalRTPMediaStream (OpalRTPConnection &conn, const OpalMediaFormat &mediaFormat, bool isSource, RTP_Session &rtpSession, unsigned minAudioJitterDelay, unsigned maxAudioJitterDelay)
 ~OpalRTPMediaStream ()
Overrides of OpalMediaStream class
virtual PBoolean Open ()
virtual PBoolean Close ()
virtual void SetPaused (bool pause)
virtual PBoolean ReadPacket (RTP_DataFrame &packet)
virtual PBoolean WritePacket (RTP_DataFrame &packet)
virtual PBoolean SetDataSize (PINDEX dataSize, PINDEX frameTime)
virtual PBoolean IsSynchronous () const
virtual PBoolean RequiresPatchThread () const
virtual void EnableJitterBuffer () const
virtual PBoolean SetPatch (OpalMediaPatch *patch)
virtual RTP_SessionGetRtpSession () const
virtual void GetStatistics (OpalMediaStatistics &statistics, bool fromPatch=false) const

Protected Attributes

RTP_SessionrtpSession
unsigned minAudioJitterDelay
unsigned maxAudioJitterDelay

Detailed Description

This class describes a media stream that transfers data to/from a RTP session.


Constructor & Destructor Documentation

OpalRTPMediaStream::OpalRTPMediaStream ( OpalRTPConnection conn,
const OpalMediaFormat mediaFormat,
bool  isSource,
RTP_Session rtpSession,
unsigned  minAudioJitterDelay,
unsigned  maxAudioJitterDelay 
)

Construct a new media stream for RTP sessions. This will add a reference to the rtpSession passed in.

Parameters:
mediaFormat  Media format for stream
isSource  Is a source stream
rtpSession  RTP session to stream to/from
minAudioJitterDelay  Minimum jitter buffer size (if applicable)
maxAudioJitterDelay  Maximum jitter buffer size (if applicable)

OpalRTPMediaStream::~OpalRTPMediaStream (  ) 

Destroy the media stream for RTP sessions. This will release the reference to the rtpSession passed into the constructor.


Member Function Documentation

virtual PBoolean OpalRTPMediaStream::Close (  )  [virtual]

Close the media stream.

The default does nothing.

Reimplemented from OpalMediaStream.

virtual void OpalRTPMediaStream::EnableJitterBuffer (  )  const [virtual]

Enable jitter buffer for the media stream.

The default behaviour does nothing.

Reimplemented from OpalMediaStream.

virtual RTP_Session& OpalRTPMediaStream::GetRtpSession (  )  const [inline, virtual]

Return current RTP session

virtual void OpalRTPMediaStream::GetStatistics ( OpalMediaStatistics statistics,
bool  fromPatch = false 
) const [virtual]

Reimplemented from OpalMediaStream.

virtual PBoolean OpalRTPMediaStream::IsSynchronous (  )  const [virtual]

Indicate if the media stream is synchronous. Returns false for RTP streams.

Implements OpalMediaStream.

virtual PBoolean OpalRTPMediaStream::Open (  )  [virtual]

Open the media stream using the media format.

The default behaviour simply sets the isOpen variable to true.

Reimplemented from OpalMediaStream.

virtual PBoolean OpalRTPMediaStream::ReadPacket ( RTP_DataFrame packet  )  [virtual]

Read an RTP frame of data from the source media stream. The new behaviour simply calls RTP_Session::ReadData().

Reimplemented from OpalMediaStream.

virtual PBoolean OpalRTPMediaStream::RequiresPatchThread (  )  const [virtual]

Indicate if the media stream requires a OpalMediaPatch thread (active patch). The default behaviour dermines if the media will be flowing between two RTP sessions within the same process. If so the OpalRTPConnection::OnLocalRTP() is called, and if it returns true indicating local handling then this function returns faklse to disable the patch thread.

Reimplemented from OpalMediaStream.

virtual PBoolean OpalRTPMediaStream::SetDataSize ( PINDEX  dataSize,
PINDEX  frameTime 
) [virtual]

Set the data size in bytes that is expected to be used.

Parameters:
dataSize  New data size (in total)
frameTime  Individual frame time (if applicable)

Reimplemented from OpalMediaStream.

virtual PBoolean OpalRTPMediaStream::SetPatch ( OpalMediaPatch patch  )  [virtual]

Set the patch thread that is using this stream.

Parameters:
patch  Media patch thread

Reimplemented from OpalMediaStream.

virtual void OpalRTPMediaStream::SetPaused ( bool  pause  )  [virtual]

Set the paused state for stream. This will stop reading/writing data from the stream.

Parameters:
pause  Indicate that the stream should be paused

Reimplemented from OpalMediaStream.

virtual PBoolean OpalRTPMediaStream::WritePacket ( RTP_DataFrame packet  )  [virtual]

Write an RTP frame of data to the sink media stream. The new behaviour simply calls RTP_Session::WriteData().

Reimplemented from OpalMediaStream.


Field Documentation

unsigned OpalRTPMediaStream::maxAudioJitterDelay [protected]

unsigned OpalRTPMediaStream::minAudioJitterDelay [protected]

RTP_Session& OpalRTPMediaStream::rtpSession [protected]


The documentation for this class was generated from the following file:
Generated on Mon Feb 21 20:19:24 2011 for OPAL by  doxygen 1.4.7