1 /* PROJECT: ReactOS sndrec32
2 * LICENSE: GPL - See COPYING in the top level directory
3 * FILE: base/applications/sndrec32/audio_producer.hpp
4 * PURPOSE: Audio producer
5 * PROGRAMMERS: Marco Pagliaricci (irc: rendar)
8 #ifndef _AUDIOAUDBUF__H_
9 #define _AUDIOAUDBUF__H_
11 #include "audio_def.hpp"
13 _AUDIO_NAMESPACE_START_
18 unsigned int bytes_played_;
22 audio_producer() : bytes_played_(0), play_finished(0)
27 virtual ~audio_producer(void)
31 /* Public Functions */
33 /* reads N bytes from the buffer */
34 virtual unsigned int read(BYTE *, unsigned int) = 0;
36 virtual bool finished(void) = 0;
38 unsigned int bytes_played(void) const
43 void set_position(unsigned int pos)
48 void set_position_start(void)
53 void forward(unsigned int bytes)
55 bytes_played_ += bytes;
58 void backward(unsigned int bytes)
60 bytes_played_ += bytes;
63 void (* play_finished)(void);
68 #endif /* _AUDIOAUDBUF__H_ */