Merge "audio: close dlopen'ed library on error" into oc-mr1-dev am: b85966c0a3
am: 6314de48f4
Change-Id: I39bbeb26358371b77ed49662bea830373a8624fb
diff --git a/hal/audio_extn/audio_extn.h b/hal/audio_extn/audio_extn.h
index c7d6768..2ca76fa 100644
--- a/hal/audio_extn/audio_extn.h
+++ b/hal/audio_extn/audio_extn.h
@@ -81,7 +81,7 @@
#define audio_extn_usb_is_capture_supported() (false)
#define audio_extn_usb_get_max_channels(dir) (0)
#define audio_extn_usb_get_max_bit_width(dir) (0)
-#define audio_extn_usb_sup_sample_rates(t, s, l) (0)
+#define audio_extn_usb_sup_sample_rates(t, s, l) ((t), (s), (l), 0) /* fix unused warn */
#define audio_extn_usb_alive(adev) (false)
#else
void audio_extn_usb_init(void *adev);
diff --git a/hal/audio_hw.c b/hal/audio_hw.c
index ad5d1f1..6f2113e 100644
--- a/hal/audio_hw.c
+++ b/hal/audio_hw.c
@@ -996,9 +996,9 @@
return ret;
}
-static ssize_t read_usb_sup_sample_rates(bool is_playback __unused,
- uint32_t *supported_sample_rates __unused,
- uint32_t max_rates __unused)
+static ssize_t read_usb_sup_sample_rates(bool is_playback,
+ uint32_t *supported_sample_rates,
+ uint32_t max_rates)
{
ssize_t count = audio_extn_usb_sup_sample_rates(is_playback,
supported_sample_rates,
@@ -3969,6 +3969,7 @@
out->error_log = NULL;
pthread_cond_destroy(&out->cond);
+ pthread_mutex_destroy(&out->pre_lock);
pthread_mutex_destroy(&out->lock);
free(stream);
ALOGV("%s: exit", __func__);
@@ -4514,6 +4515,9 @@
error_log_destroy(in->error_log);
in->error_log = NULL;
+ pthread_mutex_destroy(&in->pre_lock);
+ pthread_mutex_destroy(&in->lock);
+
free(stream);
return;
@@ -4681,6 +4685,7 @@
}
if (adev->adm_deinit)
adev->adm_deinit(adev->adm_data);
+ pthread_mutex_destroy(&adev->lock);
free(device);
}