/usr/include/sipxtapi/mp/MpAudioAbstract.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 150 151 152 153 154 155 156 | //
// Copyright (C) 2006-2010 SIPez LLC. All rights reserved.
// 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 MP_AUDIO_ABSTRACT_H
#define MP_AUDIO_ABSTRACT_H
#include <mp/MpTypes.h>
#include <os/iostream>
#include <stdio.h>
typedef short AudioSample;
typedef unsigned char AudioByte;
//formats we support
#define AUDIO_FORMAT_UNKNOWN 0
#define AUDIO_FORMAT_WAV 1
#define AUDIO_FORMAT_AU 2
class MpAudioAbstract {
public:
/* ============================ CREATORS ================================== */
///@name Creators
//@{
/// Default Constructor.
MpAudioAbstract(void);
/// Copy Constructor
MpAudioAbstract(MpAudioAbstract *audio);
/// Destructor
virtual ~MpAudioAbstract();
//@}
public:
///@name Non classfied
//@{
/// Returns number of samples actually read, 0 on error.
virtual size_t getSamples(AudioSample *, size_t) = 0;
/// read length of bytes
virtual size_t readBytes(AudioByte * buff, size_t length);
/// get bytes size of the audio file
virtual size_t getBytesSize();
/// get decompression type of the audio file
virtual int getDecompressionType();
//@}
public:
///@name MpAudioAbstract related operations
//@{
/// get previous audio
MpAudioAbstract *getPreviousAudio(void);
/// set previous audio to a
void setPreviousAudio(MpAudioAbstract *a);
/// get next audio
MpAudioAbstract *getNextAudio(void);
/// set next audio to a
void setNextAudio(MpAudioAbstract *a);
//@}
public:
///@name Sample related functions
//@{
/// Set the sampling rate to s
virtual void setSamplingRate(long s);
/// Set sampling rate recursively
virtual void setSamplingRateRecursive(long s);
/// TODO: the meaning of this function, get the prefered Sampling rate
virtual void minMaxSamplingRate(long *min, long *max, long *prefer);
/// negotiate the sampling rate
virtual void negotiateSamplingRate(void);
/// Return the sampling rate
virtual long getSamplingRate(void);
//@}
public:
///@name Channel related functions
//@{
///Set channel to ch
virtual void setChannels(int ch);
///Set channel recusively
virtual void setChannelsRecursive(int s);
///Get prefered channel
virtual void minMaxChannels(int *min, int *max, int *preferred) ;
/// negotiate channel
virtual void negotiateChannels(void);
/// Return the channels
virtual int getChannels(void);
/// Set audio object format
virtual void setAudioFormat(int type) { mDetectedFormat = type;}
/// Get audio object format
virtual int getAudioFormat() { return mDetectedFormat;}
/// Return true if file loaded ok.
bool isOk() {return mbIsOk;}
//@}
/* ============================ PRIVATE ================================== */
private:
// pointers to MpAudioAbstract itself then
MpAudioAbstract *mPrevious; ///< object to get data from
MpAudioAbstract *mNext; ///< object pulling data from us
private: // sampling Rate related stuff
long mSamplingRate;
bool mSamplingRateFrozen;
private: // channel related stuff
long mChannels;
bool mChannelsFrozen;
int mDetectedFormat;
protected:
bool mbIsOk; ///< If file loaded ok.
};
#endif
|