1 #include "driver.h"
2 #include "minimal.h"
3 #include "libretro.h"
4 
5 int samples_per_frame = 0;
6 short *samples_buffer;
7 short *conversion_buffer;
8 int usestereo = 1;
9 
10 void hook_audio_done(void);
11 
osd_start_audio_stream(int stereo)12 int osd_start_audio_stream(int stereo)
13 {
14 	usestereo = stereo ? 1 : 0;
15 
16 	/* determine the number of samples per frame */
17 	samples_per_frame = Machine->sample_rate / Machine->drv->frames_per_second;
18 
19 	if (Machine->sample_rate == 0) return 0;
20 
21 	samples_buffer = (short *) calloc(samples_per_frame, 2 + usestereo * 2);
22 	if (!usestereo) conversion_buffer = (short *) calloc(samples_per_frame, 4);
23 
24 	return samples_per_frame;
25 }
26 
osd_stop_audio_stream(void)27 void osd_stop_audio_stream(void)
28 {
29 	samples_per_frame = 0;
30 }
31 
osd_update_audio_stream(INT16 * buffer)32 int osd_update_audio_stream(INT16 *buffer)
33 {
34 	memcpy(samples_buffer, buffer, samples_per_frame * (usestereo ? 4 : 2));
35    hook_audio_done();
36 
37 	return samples_per_frame;
38 }
39 
40 /* attenuation in dB */
osd_set_mastervolume(int _attenuation)41 void osd_set_mastervolume(int _attenuation)
42 {
43 	(void)_attenuation;
44 }
45 
osd_get_mastervolume(void)46 int osd_get_mastervolume(void)
47 {
48 	return 100;
49 }
50 
osd_sound_enable(int enable_it)51 void osd_sound_enable(int enable_it)
52 {
53 	(void)enable_it;
54 }
55 
osd_opl_control(int chip,int reg)56 void osd_opl_control(int chip,int reg)
57 {
58 	(void)chip;
59 	(void)reg;
60 }
61 
osd_opl_write(int chip,int data)62 void osd_opl_write(int chip,int data)
63 {
64 	(void)chip;
65 	(void)data;
66 }
67