From e117e43bd06627f7fadb2c58adf07e058f100579 Mon Sep 17 00:00:00 2001 From: neonloop Date: Fri, 12 Mar 2021 16:11:08 +0000 Subject: Initial trimui s support --- shell/audio/portaudio/sound_output.c | 45 ++++++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 shell/audio/portaudio/sound_output.c (limited to 'shell/audio/portaudio/sound_output.c') diff --git a/shell/audio/portaudio/sound_output.c b/shell/audio/portaudio/sound_output.c new file mode 100644 index 0000000..0c03c93 --- /dev/null +++ b/shell/audio/portaudio/sound_output.c @@ -0,0 +1,45 @@ +#include +#include +#include + +#include "shared.h" + +static PaStream *apu_stream; + +uint32_t Audio_Init() +{ + Pa_Initialize(); + + PaStreamParameters outputParameters; + + outputParameters.device = Pa_GetDefaultOutputDevice(); + + if (outputParameters.device == paNoDevice) + { + printf("No sound output\n"); + return 1; + } + + outputParameters.channelCount = 2; + outputParameters.sampleFormat = paInt16; + outputParameters.hostApiSpecificStreamInfo = NULL; + + Pa_OpenStream( &apu_stream, NULL, &outputParameters, SOUND_OUTPUT_FREQUENCY, SOUND_SAMPLES_SIZE, paNoFlag, NULL, NULL); + Pa_StartStream( apu_stream ); + + return 0; +} + +void Audio_Write(int16_t* restrict buffer, uint32_t buffer_size) +{ + Pa_WriteStream( apu_stream, buffer, buffer_size); +} + +bool Audio_Underrun_Likely() { + return false; +} + +void Audio_Close() +{ + //Pa_Close(); +} -- cgit v1.2.3