Fix audio not playing

This commit is contained in:
Bad Diode 2021-11-17 16:54:44 +01:00 committed by Nihilazo
parent ff847d5812
commit 3dbd536edd
1 changed files with 24 additions and 29 deletions

View File

@ -35,7 +35,7 @@ static Device *devctrl, *devsystem, *devconsole, *devscreen, *devaudio0;
unsigned int palette[3];
static Uint8 framebuffer[LCD_HEIGHT * LCD_WIDTH * 4];
static fb_data *lcd_fb = NULL;
int audio_buf[AUDIO_BUF_SIZE];
char audio_buf[AUDIO_BUF_SIZE];
static unsigned long starttick;
static long sleeptime;
@ -220,17 +220,11 @@ apu_finished_handler(Apu *c)
}
void audio_callback(const void** start, size_t *size) {
int high = 32000;
int low = 0;
for (size_t i = 0; i < AUDIO_BUF_SIZE; i++) {
if (i & 1) {
audio_buf[i] = high;
} else {
audio_buf[i] = low;
}
audio_buf[i] = i;
}
*start = &audio_buf;
*start = audio_buf;
*size = AUDIO_BUF_SIZE;
}
@ -373,6 +367,7 @@ enum plugin_status plugin_start(const void* parameter)
rb->audio_set_output_source(AUDIO_SRC_PLAYBACK);
#endif
rb->pcmbuf_fade(false, true);
rb->pcm_play_stop();
rb->mixer_set_frequency(44100);
rb->mixer_channel_play_data(PCM_MIXER_CHAN_PLAYBACK, audio_callback, NULL, 0);