diff options
author | Paul Kocialkowski <contact@paulk.fr> | 2012-10-13 20:28:51 +0200 |
---|---|---|
committer | Paul Kocialkowski <contact@paulk.fr> | 2012-10-13 20:28:51 +0200 |
commit | 82a44c108aab5c764b4010995eab861851f1ab02 (patch) | |
tree | 7ef21057fcdc56376ec1a13cd28686573d840083 | |
parent | 3ecdaa72534cae7afd0191902c57f9ac15b299d9 (diff) | |
download | hardware_tinyalsa-audio-82a44c108aab5c764b4010995eab861851f1ab02.zip hardware_tinyalsa-audio-82a44c108aab5c764b4010995eab861851f1ab02.tar.gz hardware_tinyalsa-audio-82a44c108aab5c764b4010995eab861851f1ab02.tar.bz2 |
Set output route when mode changed
Signed-off-by: Paul Kocialkowski <contact@paulk.fr>
-rw-r--r-- | audio_hw.c | 12 | ||||
-rw-r--r-- | audio_hw.h | 3 |
2 files changed, 13 insertions, 2 deletions
@@ -125,9 +125,17 @@ static int audio_hw_set_mode(struct audio_hw_device *dev, int mode) device = (struct tinyalsa_audio_device *) dev; - device->mode = mode; + if(mode != device->mode) { + device->mode = mode; - // TODO: If mode changed, change routing + if(device->stream_out != NULL) { + audio_out_set_route(device->stream_out, + device->stream_out->device_current); + // TODO: audio_input_set_route + } + } + + device->mode = mode; return 0; } @@ -79,6 +79,9 @@ int audio_hw_open_output_stream(struct audio_hw_device *dev, void audio_hw_close_output_stream(struct audio_hw_device *dev, struct audio_stream_out *stream); +int audio_out_set_route(struct tinyalsa_audio_stream_out *stream_out, + audio_devices_t device); + int audio_hw_open_input_stream(struct audio_hw_device *dev, uint32_t devices, int *format, uint32_t *channels, uint32_t *sample_rate, audio_in_acoustics_t acoustics, struct audio_stream_in **stream_in); |