#ifndef _MIXER_SAMPLEDATA_HPP_ #define _MIXER_SAMPLEDATA_HPP_ #ifndef _COMMON_ARRAY_HPP_ #include #endif class SampleData : protected Array { public: friend class SampleDataByte; friend class SampleDataWord; typedef enum BitsPerSample{Bit16=16,Bit8=8}; BitsPerSample getBitsPerSample(void)const; void setNumSamples(int numSamples); int getNumSamples(void)const; virtual ~SampleData(); private: SampleData(BitsPerSample bitsPerSample=Bit16); BitsPerSample mBitsPerSample; }; inline SampleData::SampleData(BitsPerSample bitsPerSample) : mBitsPerSample(bitsPerSample) { } inline SampleData::~SampleData() { } inline SampleData::BitsPerSample SampleData::getBitsPerSample(void)const { return mBitsPerSample; } inline void SampleData::setNumSamples(int numSamples) { size(numSamples*(mBitsPerSample>>3)); } inline int SampleData::getNumSamples(void)const { return size()/(mBitsPerSample>>3); } #endif