OSDN Git Service

キャプチャ部分のバグ修正。
[winaudioj/wasapi2.git] / wasapi2 / audio_source.h
1 #pragma once
2 /*
3   ==============================================================================
4
5    This file is part of the async
6    Copyright 2005-11 by Satoshi Fujiwara.
7
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.
11
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.
16
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
21
22   ==============================================================================
23 */
24 namespace sf{
25
26   class audio_source
27   {
28   public:
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;
41   };
42 }