/usr/include/sipxtapi/mp/MpAudioFileDecompress.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 | //
// 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 MP_AUDIO_FILE_DECOMPRESS_H
#define MP_AUDIO_FILE_DECOMPRESS_H
// SYSTEM INCLUDES
#include <os/iostream>
// APPLICATION INCLUDES
#include "mp/MpAudioAbstract.h"
/* =========================CLASS AbstractDecompressor=========================== */
class AbstractDecompressor {
protected:
MpAudioAbstract &_dataSource; // The object to get raw bytes from
size_t readBytes(AudioByte *buff, size_t length);
public:
AbstractDecompressor(MpAudioAbstract &a);
virtual ~AbstractDecompressor();
virtual size_t getSamples(AudioSample *, size_t) = 0;
virtual void minMaxSamplingRate(long *, long *, long *);
virtual void minMaxChannels(int *, int *, int *);
};
/* ==========================CLASS DecompressPcm8Signed========================= */
class DecompressPcm8Signed: public AbstractDecompressor {
public:
DecompressPcm8Signed(MpAudioAbstract &a);
//:Constructor
size_t getSamples(AudioSample * buffer, size_t length);
//:getSamples
};
/* ==========================CLASS DecompressPcm8Unsigned======================= */
class DecompressPcm8Unsigned: public AbstractDecompressor
{
public:
DecompressPcm8Unsigned(MpAudioAbstract &a);
//:constructor
size_t getSamples(AudioSample * buffer, size_t length);
//: getSamples
};
/* ==================== CLASS DecompressPcm16MsbSigned=========================== */
class DecompressPcm16MsbSigned: public AbstractDecompressor {
public:
DecompressPcm16MsbSigned(MpAudioAbstract &a);
// constructor
size_t getSamples(AudioSample *buffer, size_t length);
// getSamples
};
/* ==========================CLASS DecompressPcm16LsbSigned======================= */
class DecompressPcm16LsbSigned: public AbstractDecompressor {
public:
DecompressPcm16LsbSigned(MpAudioAbstract &a);
//: Constructor
size_t getSamples(AudioSample *buffer, size_t length);
};
/* ==========================CLASS DecompressG711MuLaw======================= */
class DecompressG711MuLaw: public AbstractDecompressor {
public:
DecompressG711MuLaw(MpAudioAbstract &a);
size_t getSamples(AudioSample *buffer, size_t length);
};
AudioSample MuLawDecode(AudioByte);
AudioByte MuLawEncode(AudioSample);
/* ==========================CLASS DecompressG711ALaw======================= */
class DecompressG711ALaw: public AbstractDecompressor {
private:
static AudioSample *_decodeTable;
public:
DecompressG711ALaw(MpAudioAbstract &a);
size_t getSamples(AudioSample *buffer, size_t length);
};
AudioSample ALawDecode(AudioByte);
AudioByte ALawEncode(AudioSample);
#endif
|