3 ==============================================================================
5 This file is part of the async
6 Copyright 2005-11 by Satoshi Fujiwara.
8 async can be redistributed and/or modified under the terms of the
9 GNU General Public License, as published by the Free Software Foundation;
10 either version 2 of the License, or (at your option) any later version.
12 async is distributed in the hope that it will be useful,
13 but WITHOUT ANY WARRANTY; without even the implied warranty of
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 GNU General Public License for more details.
17 You should have received a copy of the GNU General Public License
18 along with async; if not, visit www.gnu.org/licenses or write to the
19 Free Software Foundation, Inc., 59 Temple Place, Suite 330,
20 Boston, MA 02111-1307 USA
22 ==============================================================================
29 virtual ~audio_source() {};
30 virtual bool seekable() = 0;
31 virtual bool stream_status() = 0;
32 virtual WAVEFORMATEXTENSIBLE &get_wave_format() = 0;
33 virtual bool more_data_available() = 0;
34 virtual void read_data(BYTE *buffer, uint64_t numbytes) = 0;
35 virtual void reset_data_position() = 0;
36 virtual uint64_t total_data_bytes() = 0;
37 virtual void seek(uint64_t pos) = 0;
38 virtual uint64_t data_bytes_remaining() = 0;
39 virtual HANDLE raw_handle() = 0;
40 virtual void wait(int timer = -1) = 0;