/usr/include/sipxtapi/mp/StreamWAVFormatDecoder.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 | //
// 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 DISABLE_STREAM_PLAYER // [
#ifndef _StreamWAVFormatDecoder_h_
#define _StreamWAVFormatDecoder_h_
// SYSTEM INCLUDES
// APPLICATION INCLUDES
#include "mp/StreamQueueingFormatDecoder.h"
#include "os/OsDefs.h"
#include "os/OsStatus.h"
#include "os/OsTask.h"
#include "os/OsBSem.h"
// DEFINES
// MACROS
// EXTERNAL FUNCTIONS
// EXTERNAL VARIABLES
// CONSTANTS
// STRUCTS
struct WAVChunkID
{
char ckID[4]; // chunk id 'RIFF'
unsigned long ckSize; // chunk size
};
struct FORMATChunkInfo
{
unsigned short formatTag; // format tag currently pcm
unsigned short nChannels; // number of channels
unsigned long nSamplesPerSec; // sample rate in hz
unsigned long nAvgBytesPerSec; // average bytes per second
unsigned short nBlockAlign; // number of bytes per sample
unsigned short nBitsPerSample; // number of bits in a sample
};
// TYPEDEFS
// FORWARD DECLARATIONS
//:A WAV format Decoder
class StreamWAVFormatDecoder : public StreamQueueingFormatDecoder, public OsTask
{
/* //////////////////////////// PUBLIC //////////////////////////////////// */
public:
/* ============================ CREATORS ================================== */
///@name Creators
//@{
StreamWAVFormatDecoder(StreamDataSource* pDataSource);
//:Default constructor
virtual
~StreamWAVFormatDecoder();
//:Destructor
//@}
/* ============================ MANIPULATORS ============================== */
///@name Manipulators
//@{
virtual OsStatus init();
//:Initializes the decoder
virtual OsStatus free();
//:Frees all resources consumed by the decoder
virtual OsStatus begin();
//:Begins decoding
virtual OsStatus end();
//:Ends decoding
//@}
/* ============================ ACCESSORS ================================= */
///@name Accessors
//@{
virtual OsStatus toString(UtlString& string);
//:Renders a string describing this decoder.
// This is often used for debugging purposes.
//@}
/* ============================ INQUIRY =================================== */
///@name Inquiry
//@{
virtual UtlBoolean isDecoding();
//:Gets the decoding status. TRUE indicates decoding activity, false
//:indicates the decoder has completed.
virtual UtlBoolean validDecoder();
//:Determines if this is a valid decoder given the associated data
//:source.
// The data source is "peeked" for data, so that the stream's
// data is not disturbed.
//@}
/* //////////////////////////// PROTECTED ///////////////////////////////// */
protected:
StreamWAVFormatDecoder(const StreamWAVFormatDecoder& rStreamWAVFormatDecoder);
//:Copy constructor (not supported)
StreamWAVFormatDecoder& operator=(const StreamWAVFormatDecoder& rhs);
//:Assignment operator (not supported)
int run(void* pArgs);
//:Thread entry point
UtlBoolean nextDataChunk(int& iLength);
//:Advances the mCurrentChunk to the next data chunk within the stream
/* //////////////////////////// PRIVATE /////////////////////////////////// */
private:
UtlBoolean mbEnd ; // Has the decoder completed?
OsBSem mSemExited ; // Have we successfully exited?
struct FORMATChunkInfo mFormatChunk ;
};
/* ============================ INLINE METHODS ============================ */
#endif // _StreamWAVFormatDecoder_h_
#endif // DISABLE_STREAM_PLAYER ]
|