Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Class List | File List | Namespace Members | Class Members | File Members | Related Pages

SH::ConcatinizerSH Class Reference
[StreamHandlers]

#include <MNConcatinizerSH.h>

Inheritance diagram for SH::ConcatinizerSH:

Inheritance graph
[legend]
Collaboration diagram for SH::ConcatinizerSH:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 ConcatinizerSH (SHGraphManager *mgr, u_int32_t runtimeId, MNSelector &sel)
virtual SH_RC initSH ()
virtual SH_RC uninitSH ()
virtual SH_RC startStreaming ()
virtual SH_RC stopStreaming ()
virtual void run ()
void patchComplete ()
void mainComplete ()
void createFileEndpoint ()
virtual SinkEndpoint ** getSinkSpecs ()
virtual SourceEndpoint ** getSourceSpecs ()
virtual bool isConnected () const

Protected Member Functions

virtual void pushReport (ReportPtr report, Direction d)

Protected Attributes

SinkEndpoint_in_ep_a [2]
SourceEndpoint_out_ep_a [2]
ConcatinizerSinkEndpoint _inEPpatch
ConcatinizerSinkEndpoint _inEPmain
ConcatinizerSourceEndpoint _outEPnet
ConcatinizerSourceEndpoint_outEPfile

Constructor & Destructor Documentation

SH::ConcatinizerSH::ConcatinizerSH SHGraphManager mgr,
u_int32_t  runtimeId,
MNSelector sel
 


Member Function Documentation

void SH::ConcatinizerSH::createFileEndpoint  ) 
 

Called by the graphmanager to instantiate the SourceEndpoint for the FileSink if caching is enabled!

virtual SinkEndpoint** SH::ConcatinizerSH::getSinkSpecs  )  [virtual]
 

Provide a list of valid sink endpoint specifications to the graph manager.
getSinkPorts() is called by the graph manager and returns an array of pointers to EndpointSpec structures, or NULL if no endpoints in this direction are supported. It is typical that the length of such an array is 1, because several alternatives are specified by one EndpointSpec object, and the maximum number of identical Endpoints is a parameter of the EndpointSpec as well. The maximum number of endpoints may be dynamic, e.g. in an RTP source SH, new SSRCs or PTs will result in the provision of a new Endpoint. The array of endpoint specs is not NULL terminated, it is expected that the application knows the number of endpoints from numSinkSpecs().

Returns:
An array of endpoint specification.

Implements SH::Status.

virtual SourceEndpoint** SH::ConcatinizerSH::getSourceSpecs  )  [virtual]
 

Provide a list of valid source endpoint specifications to the graph manager.
getSourceSpecs() works like getSinkSpecs() but on the source endpoint specifications.

Returns:
An array of endpoint specification.

Implements SH::Status.

virtual SH_RC SH::ConcatinizerSH::initSH  )  [virtual]
 

See also:
Base

Reimplemented from SH::Base.

virtual bool SH::ConcatinizerSH::isConnected  )  const [virtual]
 

Indicate whether a sufficient number of endpoints are connected for the stream handler to be active.
True if a sufficient number of endpoints is connected for the stream handler to operate in a graph. This should always be true when the stream handler is part of an active graph. This can be called on all stream handlers of a graph to determine whether it will activate successfully.

Note that this weird stream handler operates as soon as one side is connected. That allow asynchronous operations, slow handovers any other tricks.

Implements SH::Status.

void SH::ConcatinizerSH::mainComplete  ) 
 

Called by the graphmanager if the transmission of the MC stream is complete.

void SH::ConcatinizerSH::patchComplete  ) 
 

Called by the graphmanager if the transmission of the patch stream is complete.

virtual void SH::ConcatinizerSH::pushReport ReportPtr  report,
Direction  d
[protected, virtual]
 

pushReport(r) can be called on source and sink endpoints, which will in turn call their owning stream handler for forwarding the report into the same general direction. The specific stream handler must overload this call if it wants to evaluate the reports, or if it has downstream or well as upstream endpoints. If the SH does not care about reports and has endpoints on only one side, it needs not overload this function. The reports are ignored and deleted in that case.

Reimplemented from SH::Base.

virtual void SH::ConcatinizerSH::run  )  [virtual]
 

MNThread callback-method

Implements MNThread.

virtual SH_RC SH::ConcatinizerSH::startStreaming  )  [virtual]
 

See also:
Base

Reimplemented from SH::Base.

virtual SH_RC SH::ConcatinizerSH::stopStreaming  )  [virtual]
 

See also:
Base

Reimplemented from SH::Base.

virtual SH_RC SH::ConcatinizerSH::uninitSH  )  [virtual]
 

See also:
Base

Reimplemented from SH::Base.


Member Data Documentation

SinkEndpoint* SH::ConcatinizerSH::_in_ep_a[2] [protected]
 

ConcatinizerSinkEndpoint SH::ConcatinizerSH::_inEPmain [protected]
 

ConcatinizerSinkEndpoint SH::ConcatinizerSH::_inEPpatch [protected]
 

SourceEndpoint* SH::ConcatinizerSH::_out_ep_a[2] [protected]
 

ConcatinizerSourceEndpoint* SH::ConcatinizerSH::_outEPfile [protected]
 

ConcatinizerSourceEndpoint SH::ConcatinizerSH::_outEPnet [protected]
 


The documentation for this class was generated from the following file:
Generated on Sun Mar 6 13:36:28 2005 for Komssys by doxygen 1.3.8