summaryrefslogtreecommitdiffstatshomepage
path: root/src/osd/modules/sound/sound_module.h
blob: d9f597ad0d9a3dfc4d6e3ae5fac5126e8b470fc7 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
// license:BSD-3-Clause
// copyright-holders:Couriersud
/*
 * sound_module.h
 *
 */

#ifndef SOUND_MODULE_H_
#define SOUND_MODULE_H_

#include "osdepend.h"
#include "modules/osdmodule.h"

//============================================================
//  CONSTANTS
//============================================================

#define OSD_SOUND_PROVIDER   "sound"

class sound_module
{
public:
	sound_module() : m_sample_rate(0), m_audio_latency(1) { }

	virtual ~sound_module() { }

	virtual void update_audio_stream(bool is_throttled, const int16_t *buffer, int samples_this_frame) = 0;
	virtual void set_mastervolume(int attenuation) = 0;

	int sample_rate() const { return m_sample_rate; }

	int m_sample_rate;
	int m_audio_latency;
};

#endif /* FONT_MODULE_H_ */