OPAL Version 3.10.2
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 bool SetPaused (bool pause, bool fromPatch=false)
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 bool EnableJitterBuffer (bool enab=true) 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:
connConnection that owns the stream
mediaFormatMedia format for stream
isSourceIs a source stream
rtpSessionRTP session to stream to/from
minAudioJitterDelayMinimum jitter buffer size (if applicable)
maxAudioJitterDelayMaximum 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 bool OpalRTPMediaStream::EnableJitterBuffer ( bool  enab = true) const [virtual]

Enable jitter buffer for the media stream. Returns true if a jitter buffer is enabled/disabled. Returns false if no jitter buffer exists for the media stream.

The default behaviour sets the RTP_Session jitter buffer size according to the connection parameters, then returns true.

Reimplemented from OpalMediaStream.

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

Return current RTP session

References rtpSession.

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:
dataSizeNew data size (in total)
frameTimeIndividual frame time (if applicable)

Reimplemented from OpalMediaStream.

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

Set the patch thread that is using this stream.

Parameters:
patchMedia patch thread

Reimplemented from OpalMediaStream.

virtual bool OpalRTPMediaStream::SetPaused ( bool  pause,
bool  fromPatch = false 
) [virtual]

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

Parameters:
pauseIndicate that the stream should be paused
fromPatchIs being called from OpalMediaPatch

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


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