|
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 |
Public Member Functions inherited from OpalMediaStream | |
| 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 |
Protected Attributes inherited from OpalMediaStream | |
| 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 | |
Protected Member Functions inherited from OpalMediaStream | |
| 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().