This file is indexed.

/usr/include/sipxtapi/mp/MpSpeakerSelectBase.h is in libsipxtapi-dev 3.3.0~test17-2.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
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
//
// Copyright (C) 2008 SIPez LLC.
// Licensed to SIPfoundry under a Contributor Agreement.
//
// Copyright (C) 2008 SIPfoundry Inc.
// Licensed by SIPfoundry under the LGPL license.
//
// $$
///////////////////////////////////////////////////////////////////////////////

// Author: Sergey Kostanbaev <Sergey DOT Kostanbaev AT sipez DOT com>

#ifndef _MpSpeakerSelectBase_h_
#define _MpSpeakerSelectBase_h_

// SYSTEM INCLUDES
// APPLICATION INCLUDES
#include <utl/UtlDefs.h>
#include <os/OsStatus.h>
#include <utl/UtlString.h>
#include "mp/MpTypes.h"

// DEFINES
// MACROS
// EXTERNAL FUNCTIONS
// EXTERNAL VARIABLES
// CONSTANTS
// STRUCTS
// TYPEDEFS
// FORWARD DECLARATIONS

/**
*  Base class for all Speaker Selection (SS) algorithms.
*
*  To create concrete class you could directly instantiate it or use
*  MpSpeakerSelectBase::createInstance() static method for greater flexibility.
*
*  @nosubgrouping
*/

class MpSpeakerSelectBase
{
/* //////////////////////////// PUBLIC //////////////////////////////////// */
public:

/* ============================ CREATORS ================================== */
///@name Creators
//@{

     /// Initialize SS to initial state.
   virtual OsStatus init(int maxParticipants, int maxActive) = 0;
     /**<
     *  @param[in] maxParticipants - maximum number of participants in a conference.
     *  @param[in] maxActive - maximum number of participants to be detected 
     *             as active speech, -1 lead to no constrains. Correct setting
     *             of \p maxActive helps SS algorithm to minimize number of
     *             flips between least ranked speaker inside \p maxActive
     *             speakers and most ranked speaker outside of this number.
     *
     *  Should be called before any other class methods. All participants
     *  after initialization are disabled, to enable it call
     *  enableParticipant().
     */

     /// Factory method for SS algorithms creation.
   static MpSpeakerSelectBase *createInstance(const UtlString &name = "");
     /**<
     *  @param[in] name - name of SS algorithm to use. Use empty string
     *             to get default algorithm.
     *
     *  @note To date we have no available SS algorithms in open-source,
     *        so NULL is always returned.
     *
     *  @returns If appropriate SS algorithm is not found, default one is
     *           returned.
     */

     /// Destructor
   virtual ~MpSpeakerSelectBase() {};

//@}

/* ============================ MANIPULATORS ============================== */
///@name Manipulators
//@{

     /// Reset algorithm state to initial and prepare for processing of new data.
   virtual void reset() = 0;
     /**<
     *  It's supposed that init() will not be called after reset(). So reset()
     *  must turn algorithm to the state as right after calling init().
     *  Maximum number of participants intentionally is not changed, to prevent
     *  memory reallocation.
     */

     /// Enable/disable processing of a selected participant.
   virtual OsStatus enableParticipant(int num, UtlBoolean newState) = 0;
     /**<
     *  Initially all participants are disabled. Use this method to enable
     *  processing for newly added participants and disable processing for
     *  removed participants. Data from disabled participants are just ignored.
     *
     *  @param[in] num - number of participant, starting from zero
     *  @param[in] newState - pass TRUE to enable processing of this participant,
     *             FALSE to disable.
     *
     *  @retval OS_SUCCESS if participant is successfully enabled
     *          or disabled.
     *  @retval OS_INVALID_ARGUMENT if participant number refers to non existing
     *          participant.
     */

     /// Compute speaker ranks.
   virtual OsStatus processFrame(MpSpeechParams* speechParams[],
                                 int frameSize) = 0;
     /**<
     *  @param[in] speechParams - parameters of bridges
     *  @param[in] frameSize - number of milliseconds in frame
     *
     *  @retval OS_SUCCESS if processing is ok.
     */

     /// Set algorithm parameter
   virtual OsStatus setParam(const char* paramName, void* value) = 0;
     /**<
     *  @param[in] paramName - name of parameter.
     *  @param[in] value - pointer to a value.
     *
     *  @retval OS_SUCCESS if parameter has been set.
     */

     /// Set algorithm to be used by default.
   static void setDefaultAlgorithm(const UtlString& name);
     /**<
     *  Initially default algorithm is defined at compile time. Using this
     *  function you can change default algorithm at run-time or switch back to
     *  compile-time default.
     *
     *  @param[in] name - name of algorithm to use by default. Reverts to
     *             compile-time default if empty.
     */

//@}

/* ============================ ACCESSORS ================================= */
///@name Accessors
//@{

//@}

/* ============================ INQUIRY =================================== */
///@name Inquiry
//@{

     /// Is processing enabled for a given participant?
   virtual OsStatus isParticipantEnabled(int num, UtlBoolean &enabled) = 0;
     /**<
     *  @param[in]  num - number of a participant, starting from zero.
     *  @param[out] enabled - variable is set to TRUE processing of this
     *              participant is enabled, FALSE otherwise.
     *
     *  @retval OS_SUCCESS if value is returned.
     *  @retval OS_INVALID_ARGUMENT if participant number refers to non existing
     *          participant.
     */

//@}

/* //////////////////////////// PROTECTED ///////////////////////////////// */
protected:

   static UtlString smDefaultAlgorithm; ///< Name of algorithm to be used by default.

/* //////////////////////////// PRIVATE /////////////////////////////////// */
private:

};

#endif // _MpSpeakerSelectBase_h_