OPAL
Version 3.12.9
|
#include <patch.h>
Public Member Functions | |
OpalPassiveMediaPatch (OpalMediaStream &source) | |
virtual void | Start () |
![]() | |
OpalMediaPatch (OpalMediaStream &source) | |
~OpalMediaPatch () | |
void | PrintOn (ostream &strm) const |
virtual bool | OnStartMediaPatch () |
virtual void | Close () |
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 PBoolean | ExecuteCommand (const OpalMediaCommand &command, PBoolean fromSink) |
virtual bool | SetPaused (bool pause) |
virtual PBoolean | PushFrame (RTP_DataFrame &frame) |
bool | SetBypassPatch (const OpalMediaPatchPtr &patch) |
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 & | source |
PList< Sink > | sinks |
PList< Filter > | filters |
OpalMediaPatchPtr | m_bypassToPatch |
OpalMediaPatchPtr | m_bypassFromPatch |
PSyncPoint | m_bypassEnded |
PThread * | patchThread |
PMutex | patchThreadMutex |
Additional Inherited Members | |
![]() | |
PDECLARE_NOTIFIER (OpalMediaCommand, OpalMediaPatch, InternalOnMediaCommand1) | |
void | InternalOnMediaCommand2 (OpalMediaCommand *command) |
virtual void | Main () |
void | StopThread () |
bool | DispatchFrame (RTP_DataFrame &frame) |
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 |
Start the patch. The default implementation simply starts the patch thread, which in turn calls Main()
Reimplemented from OpalMediaPatch.
|
protected |