This file is indexed.

/usr/include/sipxtapi/mp/StreamQueueingFormatDecoder.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
//  
// Copyright (C) 2006 SIPez LLC. 
// Licensed to SIPfoundry under a Contributor Agreement. 
//
// Copyright (C) 2004-2006 SIPfoundry Inc.
// Licensed by SIPfoundry under the LGPL license.
//
// Copyright (C) 2004-2006 Pingtel Corp.  All rights reserved.
// Licensed to SIPfoundry under a Contributor Agreement.
//
// $$
///////////////////////////////////////////////////////////////////////////////


#ifndef _StreamQueueingFormatDecoder_h_
#define _StreamQueueingFormatDecoder_h_

// SYSTEM INCLUDES
#include "time.h"

// APPLICATION INCLUDES
#include "mp/StreamFormatDecoder.h"
#include "os/OsDefs.h"
#include "os/OsMsgPool.h"
#include "os/OsMsgQ.h"
#include "os/OsStatus.h"
#include "os/OsMutex.h"

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

//:The Stream Queueing Format Decoder builds upon the abstract 
//:StreamFormatDecoder by adding a mechanism to queue a max number
//:of rendered frames.
class StreamQueueingFormatDecoder : public StreamFormatDecoder
{
/* //////////////////////////// PUBLIC //////////////////////////////////// */
public:

/* ============================ CREATORS ================================== */
///@name Creators
//@{
   StreamQueueingFormatDecoder(StreamDataSource* pDataSource, 
                               int               iQueueLength);
     //:Constructs a queueing format decoder given a data source and queue
     //:length

   virtual
   ~StreamQueueingFormatDecoder();
     //:Destructor

//@}

/* ============================ MANIPULATORS ============================== */
///@name Manipulators
//@{
   virtual OsStatus getFrame(unsigned short* samples);
     //: Gets the next available frame
     //! returns OS_SUCCESS if a frame is available

   virtual OsStatus queueFrame(const unsigned short* pSamples);
     //: Queues a frame of data

   virtual OsStatus queueEndOfFrames();
     //: Queues an end of frame marker.  This informs MprFromStream that the
     //: Stream has ended.

   virtual OsStatus drain();
     //: Drains any queued frames

//@}

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

   int getMaxQueueLength() ;
     //: Gets the maximum number of frames that can be queued before the
     //: queueing routines will block.

   int getNumQueuedFrames() ;
     //: Gets the current number of queued frames.

//@}

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

//@}

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

   StreamQueueingFormatDecoder(const StreamQueueingFormatDecoder& rStreamQueueingFormatDecoder);
     //:Copy constructor (not supported)

   StreamQueueingFormatDecoder& operator=(const StreamQueueingFormatDecoder& rhs);
     //:Assignment operator (not supported)
      
/* //////////////////////////// PRIVATE /////////////////////////////////// */
private:
   OsMsgQ    mMsgqFrames ;        // Queue of frames
   OsMsgPool mMsgPool;            // Pool for msg containers
   int       miMaxQueueLength ;   // Max size of the queue length
   UtlBoolean mbReportThrottle ;   // Should this report throttles?
   UtlBoolean mbDraining ;

   static OsMutex mMutReport ;// Thread safety for performance monitoring
   
   static time_t       sLastReported ;  // When we last reported status

   static unsigned int sDeltaFrames ;	// Frames since last report
   static unsigned int sDeltaStreams ;	// Streams since last report
   static unsigned int sDeltaUnderruns ;// Underruns since last report
   static unsigned int sDeltaThrottles ;// Throttles since last report

   static unsigned int sTotalFrames ;	// Cumulative number of frames
   static unsigned int sTotalStreams ;	// Cumulative number of streams
   static unsigned int sTotalUnderruns ;// Cumulative number of underruns
   static unsigned int sTotalThrottles ;// Cumulative number of throttles

   static void reportFrame(UtlBoolean bUnderrun) ;
     //:Reports that a frame has been processed by media processing.

   static void reportThrottle() ;
    //: Reports that the decoder has been throttled (decoding faster 
    //: then data is being requested).

   static void reportStream() ;
     //:Reports that a stream has been created
};

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

#endif  // _StreamQueueingFormatDecoder_h_