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_
13 #include "audio_def.hpp"
14 #include "audio_producer.hpp"
21 _AUDIO_NAMESPACE_START_
34 unsigned int bytes_played_;
47 audio_producer ( ) : bytes_played_( 0 ), play_finished ( 0 )
62 virtual ~audio_producer( void )
73 //reads N bytes from the buffer
74 virtual unsigned int read( BYTE *, unsigned int ) = 0;
76 virtual bool finished ( void ) = 0;
81 unsigned int bytes_played( void ) const
87 void set_position( unsigned int pos )
92 void set_position_start( void )
99 void forward( unsigned int bytes )
101 bytes_played_ += bytes ;
105 void backward( unsigned int bytes )
107 bytes_played_ += bytes ;
110 void ( * play_finished )( void );
120 _AUDIO_NAMESPACE_END_
127 #endif //ifdef _AUDIOAUDBUF__H_