#include <mediastrm.h>
Inheritance diagram for OpalRTPMediaStream:
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_Session & | GetRtpSession () const |
virtual void | GetStatistics (OpalMediaStatistics &statistics, bool fromPatch=false) const |
Protected Attributes | |
RTP_Session & | rtpSession |
unsigned | minAudioJitterDelay |
unsigned | maxAudioJitterDelay |
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.
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.
virtual PBoolean OpalRTPMediaStream::Close | ( | ) | [virtual] |
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.
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.
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.
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.
unsigned OpalRTPMediaStream::maxAudioJitterDelay [protected] |
unsigned OpalRTPMediaStream::minAudioJitterDelay [protected] |
RTP_Session& OpalRTPMediaStream::rtpSession [protected] |