OPAL
Version 3.18.8
|
#include <patch.h>
Public Member Functions | |
OpalPassiveMediaPatch (OpalMediaStream &source) | |
virtual void | Start () |
virtual void | Close () |
![]() | |
OpalMediaPatch (OpalMediaStream &source) | |
~OpalMediaPatch () | |
void | PrintOn (ostream &strm) const |
virtual bool | OnStartMediaPatch () |
PBoolean | AddSink (const OpalMediaStreamPtr &stream) |
void | RemoveSink (const OpalMediaStream &stream) |
OpalMediaStream & | GetSource () const |
OpalMediaStreamPtr | GetSink (PINDEX i=0) const |
OpalMediaFormat | GetSinkFormat (PINDEX i=0) const |
void | AddFilter (const PNotifier &filter, const OpalMediaFormat &stage=OpalMediaFormat()) |
bool | RemoveFilter (const PNotifier &filter, const OpalMediaFormat &stage=OpalMediaFormat()) |
virtual void | FilterFrame (RTP_DataFrame &frame, const OpalMediaFormat &mediaFormat) |
virtual bool | UpdateMediaFormat (const OpalMediaFormat &mediaFormat) |
virtual bool | ExecuteCommand (const OpalMediaCommand &command) |
virtual bool | InternalSetPaused (bool pause, bool fromUser) |
virtual PBoolean | PushFrame (RTP_DataFrame &frame) |
bool | SetBypassPatch (const OpalMediaPatchPtr &patch) |
bool | IsBypassed () const |
virtual OpalTranscoder * | GetAndLockSinkTranscoder (PINDEX i=0) const |
virtual void | UnLockSinkTranscoder () const |
virtual bool | ResetTranscoders () |
bool | EnableJitterBuffer (bool enab=true) |
virtual void | GetStatistics (OpalMediaStatistics &statistics, bool fromSink) const |
Protected Attributes | |
bool | m_started |
![]() | |
OpalMediaStream & | m_source |
PList< Sink > | m_sinks |
PList< Filter > | m_filters |
OpalMediaPatchPtr | m_bypassToPatch |
OpalMediaPatchPtr | m_bypassFromPatch |
PSyncPoint | m_bypassEnded |
PThread * | m_patchThread |
PThreadIdentifier | m_patchThreadId |
bool | m_transcoderChanged |
Additional Inherited Members | |
![]() | |
PDECLARE_NOTIFIER (OpalMediaCommand, OpalMediaPatch, InternalOnMediaCommand1) | |
void | InternalOnMediaCommand2 (OpalMediaCommand *command) |
bool | CanStart () const |
virtual void | Main () |
void | StopThread () |
bool | DispatchFrame (RTP_DataFrame &frame) |
bool | DispatchFrameLocked (RTP_DataFrame &frame, bool bypassing) |
PDECLARE_MUTEX (m_patchThreadMutex) | |
Passive Media Patch In contrast to the 'default' media patch does this instance not run it's own thread. Instead, the source stream may push data to the sinks whenever needed. Useful for implementations where the source is not a continuous data stream (e.g. H.224/H.281 FECC, where data is sent on user input) or the source stream is driven by an external thread loop.
OpalPassiveMediaPatch::OpalPassiveMediaPatch | ( | OpalMediaStream & | source | ) |
source | Source media stream |
|
virtual |
Close the patch. This is an internal function that closes all of the sink streams and waits for the the thread to terminate. It is called when the source stream is called.
Reimplemented from OpalMediaPatch.
|
virtual |
Start the patch. The default implementation simply starts the patch thread, which in turn calls Main()
Reimplemented from OpalMediaPatch.
|
protected |