diff options
author | Richard Fitzgerald <rf@opensource.wolfsonmicro.com> | 2013-03-25 16:18:26 +0000 |
---|---|---|
committer | Eric Laurent <elaurent@google.com> | 2013-06-27 17:16:25 -0700 |
commit | b4d07b97d23cfaffe22c7859ad7c45e168a7df0e (patch) | |
tree | 1f36a97d335c3d7b597a43f89434e8e4691267ad /audio/audio_policy_hal.cpp | |
parent | 324157de1a8dd109bcc2fb2e8163939dfbf1e860 (diff) | |
download | hardware_libhardware_legacy-b4d07b97d23cfaffe22c7859ad7c45e168a7df0e.zip hardware_libhardware_legacy-b4d07b97d23cfaffe22c7859ad7c45e168a7df0e.tar.gz hardware_libhardware_legacy-b4d07b97d23cfaffe22c7859ad7c45e168a7df0e.tar.bz2 |
Add audio policy API changes for audio offload
Changes to the API of audio policy for audio offload support:
- Add isOffloadSupported() function
- Add OUTPUT_FLAG_OFFLOAD
- Extend AudioOutputDescriptor to include a sharing count for direct outputs
- Pass audio_offload_info_t when opening output streams
Change-Id: I5ad26418fdb286eb7ae299d586dd1fd525d48ab9
Signed-off-by: Richard Fitzgerald <rf@opensource.wolfsonmicro.com>
Signed-off-by: Eric Laurent <elaurent@google.com>
Diffstat (limited to 'audio/audio_policy_hal.cpp')
-rw-r--r-- | audio/audio_policy_hal.cpp | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/audio/audio_policy_hal.cpp b/audio/audio_policy_hal.cpp index 1604809..0e03358 100644 --- a/audio/audio_policy_hal.cpp +++ b/audio/audio_policy_hal.cpp @@ -138,14 +138,16 @@ static audio_io_handle_t ap_get_output(struct audio_policy *pol, uint32_t sampling_rate, audio_format_t format, audio_channel_mask_t channelMask, - audio_output_flags_t flags) + audio_output_flags_t flags, + const audio_offload_info_t *offloadInfo) { struct legacy_audio_policy *lap = to_lap(pol); ALOGV("%s: tid %d", __func__, gettid()); return lap->apm->getOutput((AudioSystem::stream_type)stream, sampling_rate, (int) format, channelMask, - (AudioSystem::output_flags)flags); + (AudioSystem::output_flags)flags, + offloadInfo); } static int ap_start_output(struct audio_policy *pol, audio_io_handle_t output, @@ -321,6 +323,13 @@ static int ap_dump(const struct audio_policy *pol, int fd) return lap->apm->dump(fd); } +static bool ap_is_offload_supported(const struct audio_policy *pol, + const audio_offload_info_t *info) +{ + const struct legacy_audio_policy *lap = to_clap(pol); + return lap->apm->isOffloadSupported(*info); +} + static int create_legacy_ap(const struct audio_policy_device *device, struct audio_policy_service_ops *aps_ops, void *service, @@ -368,6 +377,7 @@ static int create_legacy_ap(const struct audio_policy_device *device, lap->policy.is_stream_active_remotely = ap_is_stream_active_remotely; lap->policy.is_source_active = ap_is_source_active; lap->policy.dump = ap_dump; + lap->policy.is_offload_supported = ap_is_offload_supported; lap->service = service; lap->aps_ops = aps_ops; |