|
sipxmedialib
Version 3.3
|
Connection container for the inbound and outbound network paths to a single remote party. More...
#include <MpRtpInputConnection.h>


Public Member Functions | |
Creators | |
| MpRtpInputConnection (const UtlString &resourceName, MpConnectionID myID, IRTCPSession *piRTCPSession=NULL, int maxRtpStreams=1, MprRtpDispatcher::RtpStreamAffinity rtpStreamAffinity=MprRtpDispatcher::ADDRESS_AND_PORT) | |
| Constructor. More... | |
| virtual | ~MpRtpInputConnection () |
| Destructor. More... | |
Public Member Functions inherited from MpResource | |
| MpResource (const UtlString &rName, int minInputs, int maxInputs, int minOutputs, int maxOutputs) | |
| Constructor. More... | |
| virtual | ~MpResource () |
| Destructor. More... | |
| virtual UtlBoolean | disable () |
| Disable this resource. More... | |
| virtual UtlBoolean | enable () |
| Enable this resource. More... | |
| virtual void | reset () |
| This method is invoked for resources that care about stream discontinuities. More... | |
| UtlBoolean | handleMessages (OsMsgQ &msgQ) |
| Handles a queue full of incoming messages for this media processing object. More... | |
| void | setVisitState (int newState) |
| Sets the visit state for this resource. More... | |
| OsStatus | sendNotification (MpResNotificationMsg::RNMsgType msgType) |
| Send a notification with the given message type if notifications are enabled. More... | |
| OsStatus | sendNotification (MpResNotificationMsg &msg) |
| Send the given notification message if notifications are enabled. More... | |
| virtual void | setStreamId (int streamId) |
| Set the ID of a stream inside of the connection this resource belongs to. More... | |
| virtual int | getStreamId (void) |
| Get the ID of a stream within the connection this resource belongs to. More... | |
| virtual OsStatus | pushBuffer (int inputPort, MpBufPtr &inputBuffer) |
| Receive buffer asynchronously from resource at given input port. More... | |
| virtual void | reassignSSRC (void) |
| Broadcast announcement that we are changing our SSRC. More... | |
| MpFlowGraphBase * | getFlowGraph () const |
| Returns parent flowgraph. More... | |
| void | getInputInfo (int inPortIdx, MpResource *&rpUpstreamResource, int &rUpstreamPortIdx) |
| Returns information about the upstream end of a connection. More... | |
| const UtlString & | getName () const |
| Returns the name associated with this resource. More... | |
| void | getOutputInfo (int outPortIdx, MpResource *&rpDownstreamResource, int &rDownstreamPortIdx) |
| Returns information about the downstream end of a connection. More... | |
| int | getVisitState () |
| Returns the current visit state for this resource. More... | |
| int | maxInputs () const |
| Returns the maximum number of inputs supported by this resource. More... | |
| int | maxOutputs () const |
| Returns the maximum number of outputs supported by this resource. More... | |
| int | minInputs () const |
| Returns the minimum number of inputs required by this resource. More... | |
| int | minOutputs () const |
| Returns the minimum number of outputs required by this resource. More... | |
| int | numInputs () const |
| Returns the number of resource inputs that are currently connected. More... | |
| int | numOutputs () const |
| Returns the number of resource outputs that are currently connected. More... | |
| virtual MpConnectionID | getConnectionId (void) const |
| Get the ID of a connection this resource belongs to. More... | |
| int | reserveFirstUnconnectedInput () |
| Find the first unconnected input port and reserve it. More... | |
| int | reserveFirstUnconnectedOutput () |
| Find the first unconnected output port and reserve it. More... | |
| UtlContainableType | getContainableType () const |
| Get the ContainableType for a UtlContainable derived class. More... | |
| virtual OsStatus | getCurrentLatency (int &latency, int input=0, int output=0) const |
| Get current input to output latency (in samples) More... | |
| UtlBoolean | isEnabled () const |
| Returns TRUE is this resource is currently enabled, FALSE otherwise. More... | |
| UtlBoolean | isInputConnected (int portIdx) |
| Returns TRUE if portIdx is valid and the indicated input is connected, FALSE otherwise. More... | |
| UtlBoolean | isInputUnconnected (int portIdx) |
| Returns TRUE if portIdx is valid and the indicated input is not connected, FALSE otherwise. More... | |
| UtlBoolean | isOutputConnected (int portIdx) |
| Returns TRUE if portIdx is valid and the indicated output is connected, FALSE otherwise. More... | |
| UtlBoolean | isOutputUnconnected (int portIdx) |
| Returns TRUE if portIdx is valid and the indicated output is not connected, FALSE otherwise. More... | |
| UtlBoolean | areNotificationsEnabled () const |
| Returns TRUE if notification sending is enabled on this resource. More... | |
| virtual UtlBoolean | isAsynchInput (int inputIndex) |
| Takes asynchronous input (pushBuffer). More... | |
Protected Types | |
| enum | { MPRM_SET_INACTIVITY_TIMEOUT = MpResourceMsg::MPRM_EXTERNAL_MESSAGE_START, MPRM_ENABLE_SSRC_DISCARD, MPRM_DISABLE_SSRC_DISCARD } |
Protected Member Functions | |
| UtlBoolean | connectOutput (MpResource &rTo, int toPortIdx, int fromPortIdx) |
Connects the fromPortIdx output port on this resource to the toPortIdx input port of the rTo resource. More... | |
| UtlBoolean | disconnectOutput (int outPortIdx) |
Removes the connection to the outPortIdx output port of this resource. More... | |
| OsStatus | setFlowGraph (MpFlowGraphBase *pFlowGraph) |
| Associates this resource with the indicated flow graph. More... | |
| virtual UtlBoolean | handleMessage (MpResourceMsg &rMsg) |
| Handle resource messages for this resource. More... | |
| void | handleSetInactivityTimeout (const OsTime &timeout) |
| Handle message to set MpRtpDispatcher inactivity timeout. More... | |
| void | handleEnableSsrcDiscard (UtlBoolean enable, RtpSRC ssrc) |
| Handle message to enable/disable stream discard. More... | |
Protected Member Functions inherited from MpResource | |
| virtual UtlBoolean | handleMessage (MpFlowGraphMsg &fgMsg) |
| Handles an incoming flowgraph message for this media processing object. More... | |
| virtual UtlBoolean | handleEnable () |
| perform the enable operation on the resource More... | |
| virtual UtlBoolean | handleDisable () |
| perform the disable operation on the resource More... | |
| void | setInputBuffer (int inPortIdx, const MpBufPtr &pBuf) |
If there already is a buffer stored for this input port, delete it. Then store pBuf for the indicated input port. More... | |
| OsStatus | postMessage (MpFlowGraphMsg &rMsg) |
| Post a message from this resource. More... | |
| OsStatus | postMessage (MpResourceMsg &rMsg) |
| Post a message for this resource. More... | |
| UtlBoolean | pushBufferDownsream (int outPortIdx, const MpBufPtr &pBuf) |
Makes pBuf available to resource connected to the outPortIdx output port of this resource. More... | |
| virtual OsStatus | setNotificationsEnabled (UtlBoolean enable) |
| Sets whether or not this resource should send notifications. More... | |
| virtual UtlBoolean | connectInput (MpResource &rFrom, int fromPortIdx, int toPortIdx) |
Connects the toPortIdx input port on this resource to the fromPortIdx output port of the rFrom resource. More... | |
| virtual UtlBoolean | disconnectInput (int inPortIdx) |
Removes the connection to the inPortIdx input port of this resource. More... | |
| void | setName (const UtlString &rName) |
| Sets the name that is associated with this resource. More... | |
Protected Attributes | |
| MprFromNet * | mpFromNet |
| UDP to RTP converter. More... | |
| MprRtpDispatcher * | mpRtpDispatcher |
| RTP stream dispatcher. More... | |
| int | mMaxRtpStreams |
| Maximum number of RTP streams. More... | |
| MprRtpDispatcher::RtpStreamAffinity | mRtpStreamAffinity |
| Algorithm used to dispatch incoming RTP packets. More... | |
| UtlBoolean | mIsRtpStarted |
| Are we currently receiving RTP stream? More... | |
Protected Attributes inherited from MpResource | |
| MpFlowGraphBase * | mpFlowGraph |
| flow graph this resource belongs to More... | |
| MpConnectionID | mConnectionId |
| The ID of connection this resource belongs to. More... | |
| int | mStreamId |
| UtlBoolean | mIsEnabled |
| TRUE if resource is enabled, FALSE otherwise. More... | |
| OsRWMutex | mRWMutex |
| reader/writer lock for synchronization More... | |
| MpBufPtr * | mpInBufs |
| input buffers for this resource More... | |
| MpBufPtr * | mpOutBufs |
| output buffers for this resource More... | |
| Conn * | mpInConns |
| input connections for this resource More... | |
| Conn * | mpOutConns |
| output connections for this resource More... | |
| int | mMaxInputs |
| maximum number of inputs More... | |
| int | mMaxOutputs |
| maximum number of outputs More... | |
| int | mMinInputs |
| number of required inputs More... | |
| int | mMinOutputs |
| number of required outputs More... | |
| int | mNumActualInputs |
| actual number of connected inputs More... | |
| int | mNumActualOutputs |
| actual number of connected outputs More... | |
| int | mVisitState |
| (used by flow graph topological sort alg.) More... | |
| UtlBoolean | mNotificationsEnabled |
| Whether we should send notifications or not. More... | |
| OsBSem | mLock |
| used mainly to make safe changes to ports More... | |
Private Member Functions | |
| MpRtpInputConnection (const MpRtpInputConnection &rMpRtpInputConnection) | |
| Copy constructor (not implemented for this type) More... | |
| MpRtpInputConnection & | operator= (const MpRtpInputConnection &rhs) |
| Assignment operator (not implemented for this type) More... | |
Manipulators | |
| UtlBoolean | processFrame () |
| Process one frame of audio. More... | |
| void | setSockets (OsSocket &rRtpSocket, OsSocket &rRtcpSocket) |
| Starts receiving RTP and RTCP packets. More... | |
| void | releaseSockets () |
| Stops receiving RTP and RTCP packets. More... | |
| void | setConnectionId (MpConnectionID connectionId) |
| Set the ID of a connection this resource belongs to. More... | |
| static OsStatus | setRtpInactivityTimeout (const UtlString &namedResource, OsMsgQ &fgQ, int timeoutMs) |
| static OsStatus | enableSsrcDiscard (const UtlString &namedResource, OsMsgQ &fgQ, UtlBoolean enable, RtpSRC ssrc) |
Additional Inherited Members | |
Public Types inherited from MpResource | |
| enum | VisitState { NOT_VISITED, IN_PROGRESS, FINISHED } |
| Graph traversal states that are used when running a topological sort to order resources within a flow graph. More... | |
| enum | { ASSOCIATED_LATENCY =-1, INF_LATENCY =-1 } |
Static Public Member Functions inherited from MpResource | |
| static OsStatus | disable (const UtlString &namedResource, OsMsgQ &fgQ) |
| Post a message to disable the resource named. More... | |
| static OsStatus | enable (const UtlString &namedResource, OsMsgQ &fgQ) |
| Post a message to enable the resource named. More... | |
| static OsStatus | setNotificationsEnabled (UtlBoolean enable, const UtlString &namedResource, OsMsgQ &fgQ) |
| Post a message to enable or disable resource notifications on the named resource. More... | |
| static void | resourceInfo (MpResource *pResource, int index) |
| Displays information on the console about the specified resource. More... | |
Static Public Attributes inherited from MpResource | |
| static const UtlContainableType | TYPE = "MpResource" |
| Class name, used for run-time checks. More... | |
Static Protected Attributes inherited from MpResource | |
| static const OsTime | sOperationQueueTimeout = OsTime::OS_INFINITY |
| The timeout for message operations for all resources when posting to the flowgraph queue. More... | |
Connection container for the inbound and outbound network paths to a single remote party.
|
protected |
| MpRtpInputConnection | ( | const UtlString & | resourceName, |
| MpConnectionID | myID, | ||
| IRTCPSession * | piRTCPSession = NULL, |
||
| int | maxRtpStreams = 1, |
||
| MprRtpDispatcher::RtpStreamAffinity | rtpStreamAffinity = MprRtpDispatcher::ADDRESS_AND_PORT |
||
| ) |
Constructor.
|
virtual |
Destructor.
|
private |
Copy constructor (not implemented for this type)
|
virtual |
Process one frame of audio.
Implements MpResource.
| void setSockets | ( | OsSocket & | rRtpSocket, |
| OsSocket & | rRtcpSocket | ||
| ) |
Starts receiving RTP and RTCP packets.
| void releaseSockets | ( | ) |
Stops receiving RTP and RTCP packets.
|
virtual |
Set the ID of a connection this resource belongs to.
Reimplemented from MpResource.
|
static |
|
static |
|
protectedvirtual |
Connects the fromPortIdx output port on this resource to the toPortIdx input port of the rTo resource.
Reimplemented from MpResource.
|
protectedvirtual |
Removes the connection to the outPortIdx output port of this resource.
Reimplemented from MpResource.
|
protectedvirtual |
Associates this resource with the indicated flow graph.
| [in] | pFlowGraph | - pointer to a flowgraph owning this resource. |
| OS_SUCCESS | - for now, this method always returns success |
Reimplemented from MpResource.
|
protectedvirtual |
Handle resource messages for this resource.
Reimplemented from MpResource.
|
protected |
Handle message to set MpRtpDispatcher inactivity timeout.
|
protected |
Handle message to enable/disable stream discard.
|
private |
Assignment operator (not implemented for this type)
|
protected |
UDP to RTP converter.
|
protected |
RTP stream dispatcher.
|
protected |
Maximum number of RTP streams.
|
protected |
Algorithm used to dispatch incoming RTP packets.
|
protected |
Are we currently receiving RTP stream?
1.8.11