OPAL  Version 3.18.8
OpalPassiveMediaPatch Class Reference

#include <patch.h>

Inheritance diagram for OpalPassiveMediaPatch:
Collaboration diagram for OpalPassiveMediaPatch:

Public Member Functions

 OpalPassiveMediaPatch (OpalMediaStream &source)
 
virtual void Start ()
 
virtual void Close ()
 
- Public Member Functions inherited from OpalMediaPatch
 OpalMediaPatch (OpalMediaStream &source)
 
 ~OpalMediaPatch ()
 
void PrintOn (ostream &strm) const
 
virtual bool OnStartMediaPatch ()
 
PBoolean AddSink (const OpalMediaStreamPtr &stream)
 
void RemoveSink (const OpalMediaStream &stream)
 
OpalMediaStreamGetSource () 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 OpalTranscoderGetAndLockSinkTranscoder (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
 
- Protected Attributes inherited from OpalMediaPatch
OpalMediaStreamm_source
 
PList< Sinkm_sinks
 
PList< Filterm_filters
 
OpalMediaPatchPtr m_bypassToPatch
 
OpalMediaPatchPtr m_bypassFromPatch
 
PSyncPoint m_bypassEnded
 
PThread * m_patchThread
 
PThreadIdentifier m_patchThreadId
 
bool m_transcoderChanged
 

Additional Inherited Members

- Protected Member Functions inherited from OpalMediaPatch
 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)
 

Detailed Description

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.

Constructor & Destructor Documentation

OpalPassiveMediaPatch::OpalPassiveMediaPatch ( OpalMediaStream source)
Parameters
sourceSource media stream

Member Function Documentation

virtual void OpalPassiveMediaPatch::Close ( )
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 void OpalPassiveMediaPatch::Start ( )
virtual

Start the patch. The default implementation simply starts the patch thread, which in turn calls Main()

Reimplemented from OpalMediaPatch.

Field Documentation

bool OpalPassiveMediaPatch::m_started
protected

The documentation for this class was generated from the following file: