Go to the documentation of this file.
20 #ifndef SOUND_LIVESOUND_H
21 #define SOUND_LIVESOUND_H
62 assert(pos < _decodedData.
size());
63 return reinterpret_cast<const std::int16_t*
>(
64 _decodedData.
data() + pos);
76 virtual bool eof()
const = 0;
80 _playbackPosition = _inPoint;
88 return _samplesFetched;
92 return _playbackPosition;
108 const unsigned int dds = _decodedData.
size();
109 if (dds <= _playbackPosition)
return 0;
111 size_t bytesAhead = dds - _playbackPosition;
112 bytesAhead = checkEarlierEnd(bytesAhead, _playbackPosition);
114 assert(!(bytesAhead % 2));
116 const unsigned int samplesAhead = bytesAhead / 2;
126 virtual size_t checkEarlierEnd(
size_t left,
size_t)
const {
131 unsigned int fetchSamples(std::int16_t* to,
unsigned int nSamples);
136 virtual bool decodingCompleted()
const = 0;
138 const size_t _inPoint;
141 size_t _playbackPosition;
144 unsigned long _samplesFetched;
146 std::unique_ptr<media::AudioDecoder> _decoder;
157 #endif // SOUND_EMBEDSOUNDINST_H
const std::int16_t * getDecodedData(unsigned long int pos) const
Definition: LiveSound.h:61
virtual bool eof() const =0
True if there is no more data ever.
Anonymous namespace for callbacks, local functions, event handlers etc.
Definition: dbus_ext.cpp:41
Instance of a defined sound (LiveSoundData)
Definition: LiveSound.h:47
LiveSound(media::MediaHandler &mh, const media::SoundInfo &info, size_t inPoint)
Create an embedded sound instance.
Definition: LiveSound.cpp:33
unsigned int samplesFetched() const
How many samples have been fetched since the beginning.
Definition: LiveSound.h:87
void appendDecodedData(std::uint8_t *data, unsigned int size)
Definition: LiveSound.h:99
size_t playbackPosition() const
Definition: LiveSound.h:91
size_t size() const
Return size of the buffer.
Definition: SimpleBuffer.h:75
std::uint8_t * data()
Get a pointer to start of data. May be NULL if size==0.
Definition: SimpleBuffer.h:81
unsigned int decodedSamplesAhead() const
Definition: LiveSound.h:106
virtual bool moreData()=0
Called when more decoded sound data is required.
media::AudioDecoder & decoder() const
Definition: LiveSound.h:95
void restart()
Start from the beginning again.
Definition: LiveSound.h:79
void append(const void *inData, size_t size)
Append data to the buffer.
Definition: SimpleBuffer.h:123
SimpleBuffer data
Definition: LocalConnection_as.cpp:151
A simple buffer of bytes.
Definition: SimpleBuffer.h:38