audio: update to new audio HAL device API.
Change-Id: I8d6aa563eb59af1cd59b092a85563689620173b0
diff --git a/audio/audio_hw.c b/audio/audio_hw.c
index e5babe1..10574d7 100644
--- a/audio/audio_hw.c
+++ b/audio/audio_hw.c
@@ -2500,8 +2500,10 @@
static int adev_open_output_stream(struct audio_hw_device *dev,
- uint32_t devices, int *format,
- uint32_t *channels, uint32_t *sample_rate,
+ audio_io_handle_t handle,
+ audio_devices_t devices,
+ audio_output_flags_t flags,
+ struct audio_config *config,
struct audio_stream_out **stream_out)
{
struct omap4_audio_device *ladev = (struct omap4_audio_device *)dev;
@@ -2557,9 +2559,9 @@
* This is because out_set_parameters() with a route is not
* guaranteed to be called after an output stream is opened. */
- *format = out_get_format(&out->stream.common);
- *channels = out_get_channels(&out->stream.common);
- *sample_rate = out_get_sample_rate(&out->stream.common);
+ config->format = out_get_format(&out->stream.common);
+ config->channel_mask = out_get_channels(&out->stream.common);
+ config->sample_rate = out_get_sample_rate(&out->stream.common);
*stream_out = &out->stream;
return 0;
@@ -2711,37 +2713,36 @@
}
static size_t adev_get_input_buffer_size(const struct audio_hw_device *dev,
- uint32_t sample_rate, int format,
- int channel_count)
+ const struct audio_config *config)
{
size_t size;
-
+ int channel_count = popcount(config->channel_mask);
LOGFUNC("%s(%p, %d, %d, %d)", __FUNCTION__, dev, sample_rate,
format, channel_count);
- if (check_input_parameters(sample_rate, format, channel_count) != 0) {
+ if (check_input_parameters(config->sample_rate, config->format, channel_count) != 0) {
return 0;
}
- return get_input_buffer_size(sample_rate, format, channel_count);
+ return get_input_buffer_size(config->sample_rate, config->format, channel_count);
}
-static int adev_open_input_stream(struct audio_hw_device *dev, uint32_t devices,
- int *format, uint32_t *channel_mask,
- uint32_t *sample_rate,
- audio_in_acoustics_t acoustics,
+static int adev_open_input_stream(struct audio_hw_device *dev,
+ audio_io_handle_t handle,
+ audio_devices_t devices,
+ struct audio_config *config,
struct audio_stream_in **stream_in)
{
struct omap4_audio_device *ladev = (struct omap4_audio_device *)dev;
struct omap4_stream_in *in;
int ret;
- int channel_count = popcount(*channel_mask);
+ int channel_count = popcount(config->channel_mask);
/*audioflinger expects return variable to be NULL incase of failure */
*stream_in = NULL;
LOGFUNC("%s(%p, 0x%04x, %d, 0x%04x, %d, 0x%04x, %p)", __FUNCTION__, dev,
devices, *format, *channel_mask, *sample_rate, acoustics, stream_in);
- if (check_input_parameters(*sample_rate, *format, channel_count) != 0)
+ if (check_input_parameters(config->sample_rate, config->format, channel_count) != 0)
return -EINVAL;
in = (struct omap4_stream_in *)calloc(1, sizeof(struct omap4_stream_in));
@@ -2765,7 +2766,7 @@
in->stream.get_input_frames_lost = in_get_input_frames_lost;
in->remix_at_driver = NULL;
- in->requested_rate = *sample_rate;
+ in->requested_rate = config->sample_rate;
memcpy(&in->config, &pcm_config_mm_ul, sizeof(pcm_config_mm_ul));
in->config.channels = channel_count;
@@ -2888,7 +2889,7 @@
return -ENOMEM;
adev->hw_device.common.tag = HARDWARE_DEVICE_TAG;
- adev->hw_device.common.version = 0;
+ adev->hw_device.common.version = AUDIO_DEVICE_API_VERSION_1_0;
adev->hw_device.common.module = (struct hw_module_t *) module;
adev->hw_device.common.close = adev_close;
@@ -3006,8 +3007,8 @@
struct audio_module HAL_MODULE_INFO_SYM = {
.common = {
.tag = HARDWARE_MODULE_TAG,
- .version_major = 1,
- .version_minor = 0,
+ .module_api_version = AUDIO_MODULE_API_VERSION_0_1,
+ .hal_api_version = HARDWARE_HAL_API_VERSION,
.id = AUDIO_HARDWARE_MODULE_ID,
.name = "OMAP4 audio HW HAL",
.author = "Texas Instruments",