ITAStreamingBackend.h 1.24 KB
Newer Older
Jonas Stienen's avatar
Jonas Stienen committed
1
/*
2
3
4
5
 * ----------------------------------------------------------------
 *
 *		ITA core libs
 *		(c) Copyright Institute of Technical Acoustics (ITA)
Philipp Schäfer's avatar
Philipp Schäfer committed
6
 *		RWTH Aachen University, Germany, 2015-2021
7
8
9
10
11
12
13
14
15
16
17
 *
 * ----------------------------------------------------------------
 *				    ____  __________  _______
 *				   //  / //__   ___/ //  _   |
 *				  //  /    //  /    //  /_|  |
 *				 //  /    //  /    //  ___   |
 *				//__/    //__/    //__/   |__|
 *
 * ----------------------------------------------------------------
 *
 */
Jonas Stienen's avatar
Jonas Stienen committed
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44

#ifndef INCLUDE_WATCHER_ITA_STREAM_BACKEND
#define INCLUDE_WATCHER_ITA_STREAM_BACKEND

// ITAStreaming
#include <ITAStreamingDefinitions.h>
#include <ITAStreamingDevice.h>

// STL
#include <vector>

//! Audio backend interface
class ITA_STREAMING_API ITAStreamingBackend {
public:
	static ITAStreamingBackend* GetDefaultBackend();

	virtual ~ITAStreamingBackend() {};

	//! Enumerates the available ASIO audio devices
	// Note: Only the field sName will be set in each entry
	virtual std::vector<ITAStreamingDeviceProperties> EnumerateDevices()=0;

	//! Initializes an ASIO audio device for streaming
	virtual ITAStreamDevice* InitializeDevice( const ITAStreamingDeviceProperties& oProps )=0;
};

#endif // INCLUDE_WATCHER_ITA_STREAM_BACKEND