summaryrefslogtreecommitdiffstats
path: root/audio_out.c
diff options
context:
space:
mode:
authorPaul Kocialkowski <contact@paulk.fr>2012-10-28 21:39:04 +0100
committerPaul Kocialkowski <contact@paulk.fr>2012-10-28 21:39:04 +0100
commit62bffb6008aad930652d21e9a14b3a790514c5d0 (patch)
tree20e6e2fb790fb3b6297cac2d9bf046958eb9c99d /audio_out.c
parentc949a1dc724a9727cecf28ed980f316094e9f828 (diff)
downloadhardware_tinyalsa-audio-62bffb6008aad930652d21e9a14b3a790514c5d0.zip
hardware_tinyalsa-audio-62bffb6008aad930652d21e9a14b3a790514c5d0.tar.gz
hardware_tinyalsa-audio-62bffb6008aad930652d21e9a14b3a790514c5d0.tar.bz2
Audio RIL Interface: Initial commit, implements RIL interface
Signed-off-by: Paul Kocialkowski <contact@paulk.fr>
Diffstat (limited to 'audio_out.c')
-rw-r--r--audio_out.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/audio_out.c b/audio_out.c
index 573dd4e..9b814a6 100644
--- a/audio_out.c
+++ b/audio_out.c
@@ -250,7 +250,7 @@ static int audio_out_set_parameters(struct audio_stream *stream, const char *kvp
stream_out = (struct tinyalsa_audio_stream_out *) stream;
- if(stream_out->device->mixer == NULL)
+ if(stream_out->device == NULL || stream_out->device->mixer == NULL)
return -1;
parms = str_parms_create_str(kvpairs);
@@ -265,6 +265,8 @@ static int audio_out_set_parameters(struct audio_stream *stream, const char *kvp
if(stream_out->device_current != (audio_devices_t) value)
audio_out_set_route(stream_out, (audio_devices_t) value);
+ if(stream_out->device->ril_interface != NULL && stream_out->device->ril_interface->device_current != (audio_devices_t) value)
+ audio_ril_interface_set_route(stream_out->device->ril_interface, (audio_devices_t) value);
str_parms_destroy(parms);
@@ -422,7 +424,7 @@ int audio_hw_open_output_stream(struct audio_hw_device *dev,
LOGD("%s(%p, %d, %p, %p, %p, %p)",
__func__, dev, devices, format, channels, sample_rate, stream_out);
- if(dev == NULL)
+ if(dev == NULL || stream_out == NULL)
return -EINVAL;
tinyalsa_audio_device = (struct tinyalsa_audio_device *) dev;
@@ -496,6 +498,8 @@ int audio_hw_open_output_stream(struct audio_hw_device *dev,
error_stream:
*stream_out = NULL;
+ free(tinyalsa_audio_stream_out);
+ tinyalsa_audio_device->stream_out = NULL;
return -1;
}