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

SH::RTPSinkSH Class Reference
[StreamHandlers]

#include <MNRTPSinkSH.h>

Inheritance diagram for SH::RTPSinkSH:

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

Collaboration graph
[legend]
List of all members.

Public Member Functions

 RTPSinkSH (SHGraphManager *mgr, u_int32_t runtimeId, MNSelector &sel, RTSP::TransportTypes req_transport=RTSP::RTP_AVP_UDP)
virtual ~RTPSinkSH ()
virtual SH_RC initSH ()
virtual SH_RC uninitSH ()
virtual SH_RC startStreaming ()
virtual SH_RC stopStreaming ()
SH_RC push_to_net (DataPtr item)
virtual void pushReport (ReportPtr report, Direction d)
virtual u_int16 get_rtp_seq ()
virtual u_int32 get_rtp_time ()
virtual u_int32 get_ssrc ()
void set_payload_types (const SDP::PayloadTypeTable *ptt_ptr)
virtual SinkEndpoint ** getSinkSpecs ()
virtual SourceEndpoint ** getSourceSpecs ()
virtual bool isConnected () const

Public Attributes

SA_RTPSNK_RTP_SOCK_PORT _rtp_socket
SA_RTPSNK_RTCP_SOCK_PORT _rtcp_socket
SA_RTPSNK_CLIENT_NAME _client
SA_RTPSNK_CLIENT_PORT _port
SA_RTP_BANDWIDTH _bandwidth
SA_RTP_RTP_PAYLOAD_TYPE _rtp_pt
const SDP::PayloadTypeTable_payload_types

Protected Attributes

SinkEndpoint_in_ep_a [1]
RTPSinkEndpoint _inEP

Constructor & Destructor Documentation

SH::RTPSinkSH::RTPSinkSH SHGraphManager mgr,
u_int32_t  runtimeId,
MNSelector sel,
RTSP::TransportTypes  req_transport = RTSP::RTP_AVP_UDP
 

virtual SH::RTPSinkSH::~RTPSinkSH  )  [virtual]
 


Member Function Documentation

virtual u_int16 SH::RTPSinkSH::get_rtp_seq  )  [virtual]
 

Reimplemented from SH::Base.

virtual u_int32 SH::RTPSinkSH::get_rtp_time  )  [virtual]
 

Reimplemented from SH::Base.

virtual u_int32 SH::RTPSinkSH::get_ssrc  )  [virtual]
 

virtual SinkEndpoint** SH::RTPSinkSH::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::RTPSinkSH::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::RTPSinkSH::initSH  )  [virtual]
 

See also:
Base

Reimplemented from SH::Base.

virtual bool SH::RTPSinkSH::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.

Implements SH::Status.

SH_RC SH::RTPSinkSH::push_to_net DataPtr  item  ) 
 

virtual void SH::RTPSinkSH::pushReport ReportPtr  report,
Direction  d
[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.

void SH::RTPSinkSH::set_payload_types const SDP::PayloadTypeTable ptt_ptr  ) 
 

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

See also:
Base

Reimplemented from SH::Base.

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

See also:
Base

Reimplemented from SH::Base.

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

See also:
Base

Reimplemented from SH::Base.


Member Data Documentation

SA_RTP_BANDWIDTH SH::RTPSinkSH::_bandwidth
 

SA_RTPSNK_CLIENT_NAME SH::RTPSinkSH::_client
 

SinkEndpoint* SH::RTPSinkSH::_in_ep_a[1] [protected]
 

RTPSinkEndpoint SH::RTPSinkSH::_inEP [protected]
 

const SDP::PayloadTypeTable* SH::RTPSinkSH::_payload_types
 

SA_RTPSNK_CLIENT_PORT SH::RTPSinkSH::_port
 

SA_RTPSNK_RTCP_SOCK_PORT SH::RTPSinkSH::_rtcp_socket
 

See _rtp_port. In case that a pair of UDP sockets is given, the RTCP socket is held by _rtcp_socket.

SA_RTP_RTP_PAYLOAD_TYPE SH::RTPSinkSH::_rtp_pt
 

SA_RTPSNK_RTP_SOCK_PORT SH::RTPSinkSH::_rtp_socket
 

The sending RTP socket must now be given as an open UDP socket.


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