/usr/include/sipxtapi/mp/MprRtpDispatcherIpAffinity.h is in libsipxtapi-dev 3.3.0~test17-1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 | //
// Copyright (C) 2007-2011 SIPez LLC. All rights reserved.
// Licensed to SIPfoundry under a Contributor Agreement.
//
// Copyright (C) 2007-2008 SIPfoundry Inc.
// Licensed by SIPfoundry under the LGPL license.
//
// $$
///////////////////////////////////////////////////////////////////////////////
// Author: Alexander Chemeris <Alexander DOT Chemeris AT SIPez DOT com>
#ifndef _MprRtpDispatcherIpAffinity_h_
#define _MprRtpDispatcherIpAffinity_h_
// SYSTEM INCLUDES
// APPLICATION INCLUDES
#include <mp/MprRtpDispatcher.h>
// DEFINES
// MACROS
// EXTERNAL FUNCTIONS
// EXTERNAL VARIABLES
// CONSTANTS
// STRUCTS
// TYPEDEFS
// FORWARD DECLARATIONS
class MpRtpStream;
class MprDejitter;
/**
* @brief Class for RTP stream dispatcher abstraction.
*/
class MprRtpDispatcherIpAffinity : public MprRtpDispatcher
{
/* //////////////////////////// PUBLIC //////////////////////////////////// */
public:
/* ============================ CREATORS ================================== */
///@name Creators
//@{
/// Constructor
MprRtpDispatcherIpAffinity(const UtlString& rName, int connectionId);
/**<
* @param name - name of this RTP dispatcher.
* @param connectionId - connection ID to be used in notifications.
* @param pMsgQ - notification dispatcher to send notifications to.
*/
/// Destructor
virtual
~MprRtpDispatcherIpAffinity();
//@}
/* ============================ MANIPULATORS ============================== */
///@name Manipulators
//@{
/// @copydoc MprRtpDispatcher::pushPacket()
OsStatus pushPacket(MpRtpBufPtr &pRtp);
/// @copydoc MprRtpDispatcher::checkRtpStreams()
void checkRtpStreamsActivity();
/// @copydoc MprRtpDispatcher::connectOutput()
UtlBoolean connectOutput(int outputIdx, MpResource* pushRtpToResource);
/// @copydoc MprRtpDispatcher::disconnectOutput()
UtlBoolean disconnectOutput(int outputIdx);
/// Inform this object of its sibling ToNet's destination.
void setPreferredIp(unsigned long address, int port);
//@}
/* ============================ ACCESSORS ================================= */
///@name Accessors
//@{
//@}
/* ============================ INQUIRY =================================== */
///@name Inquiry
//@{
//@}
/* //////////////////////////// PROTECTED ///////////////////////////////// */
protected:
MpRtpStream mRtpStream; ///< Our RTP stream instance (single for this
///< dispatcher)
MprDejitter *mpDejitter; ///< Dejitter for our single decoder.
UtlBoolean mPrefSsrcValid; ///< Is mPrefSsrc valid?
unsigned long mRtpDestIp; ///< Where this connection is sending TO
int mRtpDestPort; ///< Port " "
int mNumPushed; ///< Total RTP pkts received
int mNumDropped; ///< RTP pkts dropped due to SSRC mismatch
int mTotalWarnings; ///< Total RTP pkts from non-pref'd
int mNumWarnings; ///< Current consecutive " "
int mNumNonPrefPackets; ///< Consecutive pkts from non-pref'd
int mRtpDestMatchIpOnlySsrc; ///< Last SSRC from same IP as pref'd
UtlBoolean mRtpDestMatchIpOnlySsrcValid;
int mRtpOtherSsrc; ///< Last SSRC from diff IP as pref'd
UtlBoolean mRtpOtherSsrcValid;
static const int SSRC_SWITCH_MISMATCH_COUNT;
/// Set SSRC we want to receive.
int setPrefSsrc(unsigned int newSsrc);
/// Get SSRC we want to receive.
RtpSRC getPrefSsrc(void);
/* //////////////////////////// PRIVATE /////////////////////////////////// */
private:
/// Copy constructor (not implemented for this class)
MprRtpDispatcherIpAffinity(const MprRtpDispatcherIpAffinity& rMprRtpDispatcherIpAffinity);
/// Assignment operator (not implemented for this class)
MprRtpDispatcherIpAffinity& operator=(const MprRtpDispatcherIpAffinity& rhs);
};
/* ============================ INLINE METHODS ============================ */
#endif // _MprRtpDispatcherIpAffinity_h_
|