diff options
-rw-r--r-- | audio_out.c | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/audio_out.c b/audio_out.c index 573fbdc..4bfd9b3 100644 --- a/audio_out.c +++ b/audio_out.c @@ -20,6 +20,7 @@ #define LOG_TAG "TinyALSA-Audio Output" +#include <stdlib.h> #include <errno.h> #include <pthread.h> #include <stdint.h> @@ -91,10 +92,27 @@ void audio_out_pcm_close(struct tinyalsa_audio_stream_out *stream_out) int audio_out_set_route(struct tinyalsa_audio_stream_out *stream_out, audio_devices_t device) { + int rc; + if(stream_out == NULL) return -1; stream_out->device_current = device; + + if(device == 0) { + tinyalsa_mixer_set_route(stream_out->device->mixer, + AUDIO_DEVICE_OUT_DEFAULT, stream_out->device->mode); + + rc = yamaha_mc1n2_audio_output_stop(stream_out->device->mc1n2_pdata); + if(rc < 0) { + LOGE("Failed to set Yamaha-MC1N2-Audio route"); + } + + stream_out->standby = 1; + + return 0; + } + tinyalsa_mixer_set_route(stream_out->device->mixer, stream_out->device_current, stream_out->device->mode); |