This file is indexed.

/usr/include/sipxtapi/mp/MprVoiceActivityNotifier.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
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
//  
// Copyright (C) 2008 SIPfoundry Inc. 
// Licensed by SIPfoundry under the LGPL license. 
//  
// Copyright (C) 2008 SIPez LLC. 
// Licensed to SIPfoundry under a Contributor Agreement. 
//  
// $$ 
////////////////////////////////////////////////////////////////////////////// 

// Author: Alexander Chemeris <Alexander DOT Chemeris AT SIPez DOT com>

#ifndef _MprVoiceActivityNotifier_h_
#define _MprVoiceActivityNotifier_h_

// SYSTEM INCLUDES
// APPLICATION INCLUDES
#include "mp/MpAudioResource.h"
#include "mp/MpResourceMsg.h"

// DEFINES
// MACROS
// EXTERNAL FUNCTIONS
// EXTERNAL VARIABLES
// STRUCTS
// TYPEDEFS
// FORWARD DECLARATIONS
class MpVadBase;

/**
*  @brief Voice Activity notifier resource.
*
*  @nosubgrouping
*/
class MprVoiceActivityNotifier : public MpAudioResource
{
/* //////////////////////////////// PUBLIC //////////////////////////////// */
public:

     /// Default period (in ms) to send energy level notifications.
   static const int smDefaultLevelPeriodMs;
     /// Default duration of silence (in ms) before STOPPED notification is sent.
   static const int smDefaultInactivityTimeoutMs;

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

     /// Constructor
   MprVoiceActivityNotifier(const UtlString& rName,
                            int notificationPeriodMs = smDefaultLevelPeriodMs,
                            int inactivityTimeoutMs = smDefaultInactivityTimeoutMs);
     /**<
     *  @param[in] notificationPeriodMs - see chageVadAlgorithm() for description.
     /// Default 
     static const int smDefaultLevelPeriodMs;
     /// Default length of silence (in ms) before STOPPED notification is sent.
     */

     /// Destructor
   ~MprVoiceActivityNotifier();

//@}

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

     /// Change period between energy level notifications.
   static
   OsStatus chageNotificationPeriod(const UtlString& namedResource, 
                                    OsMsgQ& fgQ,
                                    int notificationPeriodMs);

     /// Change duration of silence (in ms) before STOPPED notification is sent.
   static
   OsStatus changeInactivityTimeout(const UtlString& namedResource, 
                                    OsMsgQ& fgQ,
                                    int inactivityTimeoutMs);

//@}

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


//@}

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

//@}

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

   enum
   {
      MPRM_CHANGE_NOTIFICATION_PERIOD = MpResourceMsg::MPRM_EXTERNAL_MESSAGE_START,
      MPRM_CHANGE_INACTIVITY_TIMEOUT
   };

   enum StreamState
   {
      STREAM_ACTIVE,
      STREAM_SILENT
   };

   int mLevelPeriodMs;          ///< Number of milliseconds between level notifications.
   int mLevelPeriodSmp;         ///< Number of samples between level notifications.
   int mLevelSamplesPassed;     ///< Number of samples since last level notification.
   int mInactivityTimeoutMs;    ///< Number of milliseconds of silence before STOP notification.
   int mInactivityTimeoutSmp;   ///< Number of samples of silence before STOP notification.
   int mInactivitySamples;      ///< Number of samples since last active packet.
   int mEnergyLevelMax;         ///< Maximum of the energy level since the last notification.
   StreamState mStreamState;    ///< Stream activity state.

     /// @copydoc MpAudioResource::doProcessFrame
   UtlBoolean doProcessFrame(MpBufPtr inBufs[],
                             MpBufPtr outBufs[],
                             int inBufsSize,
                             int outBufsSize,
                             UtlBoolean isEnabled,
                             int samplesPerFrame,
                             int samplesPerSecond);

     /// @copydoc MpResource::handleMessage
   UtlBoolean handleMessage(MpResourceMsg& rMsg);

     /// Handle MPRM_CHANGE_NOTIFICATION_PERIOD message.
   UtlBoolean handleChageNotificationPeriod(int periodMs);

     /// Handle MPRM_CHANGE_INACTIVITY_TIMEOUT message.
   UtlBoolean handleChangeInactivityTimeout(int timeout);

     /// @copydoc MpResource::setFlowGraph()
   OsStatus setFlowGraph(MpFlowGraphBase* pFlowGraph);

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

};

/* ============================ INLINE METHODS ============================ */

#endif  // _MprVoiceActivityNotifier_h_