OPAL
Version 3.10.4
|
#include <mediastrm.h>
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_Session & | GetRtpSession () const |
virtual void | GetStatistics (OpalMediaStatistics &statistics, bool fromPatch=false) const |
![]() | |
void | PrintOn (ostream &strm) const |
virtual OpalMediaFormat | GetMediaFormat () const |
bool | UpdateMediaFormat (const OpalMediaFormat &mediaFormat) |
virtual bool | InternalUpdateMediaFormat (const OpalMediaFormat &mediaFormat) |
virtual PBoolean | ExecuteCommand (const OpalMediaCommand &command) |
virtual PBoolean | Start () |
virtual void | OnStartMediaPatch () |
virtual void | OnStopMediaPatch (OpalMediaPatch &patch) |
virtual PBoolean | WritePackets (RTP_DataFrameList &packets) |
virtual PBoolean | ReadData (BYTE *data, PINDEX size, PINDEX &length) |
virtual PBoolean | WriteData (const BYTE *data, PINDEX length, PINDEX &written) |
bool | PushPacket (RTP_DataFrame &packet) |
PINDEX | GetDataSize () const |
virtual PBoolean | RequiresPatchThread (OpalMediaStream *stream) const |
OpalConnection & | GetConnection () const |
bool | IsSource () const |
bool | IsSink () const |
unsigned | GetSessionID () const |
void | SetSessionID (unsigned id) |
PString | GetID () const |
unsigned | GetTimestamp () const |
void | SetTimestamp (unsigned ts) |
bool | GetMarker () const |
void | SetMarker (bool m) |
bool | IsPaused () const |
bool | IsOpen () const |
OpalMediaPatch * | GetPatch () const |
void | AddFilter (const PNotifier &filter, const OpalMediaFormat &stage=OpalMediaFormat()) const |
bool | RemoveFilter (const PNotifier &filter, const OpalMediaFormat &stage=OpalMediaFormat()) const |
~OpalMediaStream () |
Protected Attributes | |
RTP_Session & | rtpSession |
unsigned | minAudioJitterDelay |
unsigned | maxAudioJitterDelay |
![]() | |
OpalConnection & | connection |
unsigned | sessionID |
PString | identifier |
OpalMediaFormat | mediaFormat |
bool | m_paused |
bool | isSource |
bool | isOpen |
PINDEX | defaultDataSize |
unsigned | timestamp |
bool | marker |
unsigned | mismatchedPayloadTypes |
OpalMediaPatch * | mediaPatch |
RTP_DataFrame::PayloadTypes | m_payloadType |
unsigned | m_frameTime |
PINDEX | m_frameSize |
Additional Inherited Members | |
![]() | |
void | IncrementTimestamp (PINDEX size) |
bool | InternalWriteData (const BYTE *data, PINDEX length, PINDEX &written) |
OpalMediaStream (OpalConnection &conn, const OpalMediaFormat &mediaFormat, unsigned sessionID, bool isSource) |
This class describes a media stream that transfers data to/from a RTP session.
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.
conn | Connection that owns the stream |
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 |
|
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.
|
inlinevirtual |
Return current RTP session
References rtpSession.
|
virtual |
Reimplemented from OpalMediaStream.
|
virtual |
Indicate if the media stream is synchronous. Returns false for RTP streams.
Implements OpalMediaStream.
|
virtual |
Open the media stream using the media format.
The default behaviour simply sets the isOpen variable to true.
Reimplemented from OpalMediaStream.
|
virtual |
Read an RTP frame of data from the source media stream. The new behaviour simply calls RTP_Session::ReadData().
Reimplemented from OpalMediaStream.
|
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 |
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 |
Set the patch thread that is using this stream.
patch | Media patch thread |
Reimplemented from OpalMediaStream.
|
virtual |
Set the paused state for stream. This will stop reading/writing data from the stream.
pause | Indicate that the stream should be paused |
fromPatch | Is being called from OpalMediaPatch |
Reimplemented from OpalMediaStream.
|
virtual |
Write an RTP frame of data to the sink media stream. The new behaviour simply calls RTP_Session::WriteData().
Reimplemented from OpalMediaStream.
|
protected |
|
protected |
|
protected |
Referenced by GetRtpSession().