diff options
author | Andrei Emeltchenko <andrei.emeltchenko@intel.com> | 2014-11-04 16:37:36 +0200 |
---|---|---|
committer | Szymon Janc <szymon.janc@tieto.com> | 2014-11-04 15:53:27 +0100 |
commit | 95fb9b8764780f57ca1b244304e3b5f205dd77b1 (patch) | |
tree | 2d3c67a61a35e1161135086cfae5deb9844ac9f7 /android/hal-audio.c | |
parent | 3d69d55d4f28a2d6633b48f89096117498b33202 (diff) | |
download | bluez-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.c | 64 |
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) { |