blob: 1651a29ee240e68c3c7bc9857dc198fc7ddff075 [file] [log] [blame]
#ifndef _VOCODERFRAME_H
#define _VOCODERFRAME_H
#include "BitVector.h"
//#include "GSMCommon.h"
class VocoderFrame : public BitVector {
public:
VocoderFrame()
:BitVector(264)
{ fillField(0,0x0d,4); }
/** Construct by unpacking a char[33]. */
VocoderFrame(const unsigned char *src)
:BitVector(264)
{ unpack(src); }
BitVector payload() { return tail(4); }
// const BitVector payload() const { return tail(4); }
};
class VocoderAMRFrame : public BitVector {
public:
VocoderAMRFrame()
:BitVector(244+8)
{ fillField(0,0x3c,8); /* AMR-NB 12.2 */ }
/** Construct by unpacking a char[32]. */
VocoderAMRFrame(const unsigned char *src)
:BitVector(244+8)
{ unpack(src); }
BitVector payload() { return tail(8); }
// const BitVector payload() const { return tail(8); }
};
class VocoderAMR_5_9_Frame : public BitVector {
public:
VocoderAMR_5_9_Frame()
:BitVector(118+8)
{ fillField(0,0x14,8); /* AMR-NB 12.2 */ }
/** Construct by unpacking a char[32]. */
VocoderAMR_5_9_Frame(const unsigned char *src)
:BitVector(118+8)
{ unpack(src); }
BitVector payload() { return tail(8); }
// const BitVector payload() const { return tail(8); }
};
#endif