-/* $Id$
-
-This file is part of libmspal
-Copyright © 2008 Mikko Rasa, Mikkosoft Productions
-Distributed under the LGPL
-*/
-
#ifndef MSP_AL_STREAMER_H_
#define MSP_AL_STREAMER_H_
namespace Msp {
namespace AL {
-class Sound;
+class SoundDecoder;
class Buffer;
+/**
+A streamer transfers data from a SoundDecoder to a Source. It is permanently
+attached to the same Source, but can read from multiple decoders during its
+lifetime.
+*/
class Streamer
{
private:
Source &src;
- Sound *snd;
+ SoundDecoder *decoder;
std::list<Buffer *> buffers;
public:
Streamer(Source &);
~Streamer();
- void play(Sound &);
+ void play(SoundDecoder &);
void stop();
void tick();
};