20 #ifndef SOUND_STREAMING_SOUND_DATA_H
21 #define SOUND_STREAMING_SOUND_DATA_H
26 #include <boost/thread/mutex.hpp>
27 #include <boost/scoped_ptr.hpp>
28 #include <boost/ptr_container/ptr_vector.hpp>
71 size_t append(std::auto_ptr<SimpleBuffer>
data,
size_t sampleCount,
76 return _buffers.empty();
80 return _buffers[index];
84 return _blockData[index].sampleCount;
88 return _blockData[index].seekSamples;
92 return _buffers.size();
129 unsigned long blockOffset);
167 BlockData(
size_t count,
int seek)
184 mutable boost::mutex _soundInstancesMutex;
186 boost::ptr_vector<SimpleBuffer> _buffers;
188 std::vector<BlockData> _blockData;
194 #endif // SOUND_EMBEDSOUND_H
size_t numPlayingInstances() const
Return number of playing instances of this sound.
Definition: StreamingSoundData.cpp:122
~StreamingSoundData()
Definition: StreamingSoundData.cpp:90
Instances::iterator eraseActiveSound(Instances::iterator i)
Drop an active sound (by iterator)
Definition: StreamingSoundData.cpp:71
size_t playingBlock() const
Definition: StreamingSoundData.cpp:57
int volume
Definition: StreamingSoundData.h:161
bool empty() const
Do we have any data?
Definition: StreamingSoundData.h:75
void getPlayingInstances(std::vector< InputStream * > &to) const
Append to the given vector all playing instances of this sound def.
Definition: StreamingSoundData.cpp:136
SimpleBuffer data
Definition: LocalConnection_as.cpp:153
std::list< InputStream * > Instances
Container for the active instances of this sounds being played.
Definition: StreamingSoundData.h:55
Definition of an embedded sound.
Definition: StreamingSoundData.h:48
size_t blockCount() const
Definition: StreamingSoundData.h:91
void clearInstances()
Drop all active sounds.
Definition: StreamingSoundData.cpp:64
size_t getSampleCount(size_t index) const
Definition: StreamingSoundData.h:83
bool isPlaying() const
Are there known playing instances of this sound ?
Definition: StreamingSoundData.cpp:115
StreamingSoundData(const media::SoundInfo &info, int nVolume)
Construct a sound with given data, info and volume.
Definition: StreamingSoundData.cpp:48
media::SoundInfo soundinfo
Object holding information about the sound.
Definition: StreamingSoundData.h:157
size_t getSeekSamples(size_t index) const
Definition: StreamingSoundData.h:87
InputStream * firstPlayingInstance() const
Return the first created instance of this sound.
Definition: StreamingSoundData.cpp:129
Definition: GnashKey.h:155
std::auto_ptr< StreamingSound > createInstance(media::MediaHandler &mh, unsigned long blockOffset)
Create an instance of this sound.
Definition: StreamingSoundData.cpp:78
A simple buffer of bytes.
Definition: SimpleBuffer.h:38
const SimpleBuffer & getBlock(size_t index) const
Definition: StreamingSoundData.h:79
size_t append(std::auto_ptr< SimpleBuffer > data, size_t sampleCount, int seekSamples)
Append a sound data block.
Definition: StreamingSoundData.cpp:38