summaryrefslogtreecommitdiff
path: root/android/hal-audio.c
diff options
context:
space:
mode:
authorAndrei Emeltchenko <andrei.emeltchenko@intel.com>2014-11-04 16:37:36 +0200
committerSzymon Janc <szymon.janc@tieto.com>2014-11-04 15:53:27 +0100
commit95fb9b8764780f57ca1b244304e3b5f205dd77b1 (patch)
tree2d3c67a61a35e1161135086cfae5deb9844ac9f7 /android/hal-audio.c
parent3d69d55d4f28a2d6633b48f89096117498b33202 (diff)
downloadbluez-95fb9b8764780f57ca1b244304e3b5f205dd77b1.tar.gz
android/hal-audio: Add support for new Android API
For new Android API add parameter address to audio_open_output_stream() and audio_open_input_stream().
Diffstat (limited to 'android/hal-audio.c')
-rw-r--r--android/hal-audio.c64
1 files changed, 59 insertions, 5 deletions
diff --git a/android/hal-audio.c b/android/hal-audio.c
index e70351ea8..0e9891da5 100644
--- a/android/hal-audio.c
+++ b/android/hal-audio.c
@@ -1108,13 +1108,13 @@ static int in_remove_audio_effect(const struct audio_stream *stream,
return -ENOSYS;
}
-static int audio_open_output_stream(struct audio_hw_device *dev,
+static int audio_open_output_stream_real(struct audio_hw_device *dev,
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 audio_stream_out **stream_out,
+ const char *address)
{
struct a2dp_audio_dev *a2dp_dev = (struct a2dp_audio_dev *) dev;
struct a2dp_stream_out *out;
@@ -1171,6 +1171,31 @@ fail:
return -EIO;
}
+#if ANDROID_VERSION >= PLATFORM_VER(5, 0, 0)
+static int audio_open_output_stream(struct audio_hw_device *dev,
+ audio_io_handle_t handle,
+ audio_devices_t devices,
+ audio_output_flags_t flags,
+ struct audio_config *config,
+ struct audio_stream_out **stream_out,
+ const char *address)
+{
+ return audio_open_output_stream_real(dev, handle, devices, flags,
+ config, stream_out, address);
+}
+#else
+static int audio_open_output_stream(struct audio_hw_device *dev,
+ audio_io_handle_t handle,
+ audio_devices_t devices,
+ audio_output_flags_t flags,
+ struct audio_config *config,
+ struct audio_stream_out **stream_out)
+{
+ return audio_open_output_stream_real(dev, handle, devices, flags,
+ config, stream_out, NULL);
+}
+#endif
+
static void audio_close_output_stream(struct audio_hw_device *dev,
struct audio_stream_out *stream)
{
@@ -1252,11 +1277,14 @@ static size_t audio_get_input_buffer_size(const struct audio_hw_device *dev,
return -ENOSYS;
}
-static int audio_open_input_stream(struct audio_hw_device *dev,
+static int audio_open_input_stream_real(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 audio_stream_in **stream_in,
+ audio_input_flags_t flags,
+ const char *address,
+ audio_source_t source)
{
struct audio_stream_in *in;
@@ -1287,6 +1315,32 @@ static int audio_open_input_stream(struct audio_hw_device *dev,
return 0;
}
+#if ANDROID_VERSION >= PLATFORM_VER(5, 0, 0)
+static int audio_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,
+ audio_input_flags_t flags,
+ const char *address,
+ audio_source_t source)
+{
+ return audio_open_input_stream_real(dev, handle, devices, config,
+ stream_in, flags, address,
+ source);
+}
+#else
+static int audio_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)
+{
+ return audio_open_input_stream_real(dev, handle, devices, config,
+ stream_in, 0, NULL, 0);
+}
+#endif
+
static void audio_close_input_stream(struct audio_hw_device *dev,
struct audio_stream_in *stream_in)
{