20 #ifndef SOUND_EMBEDSOUNDINST_H
21 #define SOUND_EMBEDSOUNDINST_H
25 #include <boost/cstdint.hpp>
68 unsigned int inPoint,
unsigned int outPoint,
72 virtual bool eof()
const;
81 virtual size_t checkEarlierEnd(
size_t bytesAhead,
size_t pos)
const {
82 if (_outPoint < std::numeric_limits<unsigned long>::max()) {
83 const size_t toCustomEnd = _outPoint - pos;
84 return std::min(toCustomEnd, bytesAhead);
89 virtual bool moreData();
109 void applyEnvelopes(boost::int16_t* samples,
unsigned int nSamples,
112 bool reachedCustomEnd()
const;
115 virtual bool decodingCompleted()
const {
116 return (decodingPosition >= _soundDef.
size());
122 virtual void decodeNextBlock();
125 unsigned long decodingPosition;
133 const unsigned long _outPoint;
140 boost::uint32_t current_env;
155 #endif // SOUND_EMBEDSOUNDINST_H