summaryrefslogtreecommitdiffstats
path: root/audio/AudioPolicyCompatClient.cpp
diff options
context:
space:
mode:
authorEric Laurent <elaurent@google.com>2012-03-28 11:27:13 -0700
committerEric Laurent <elaurent@google.com>2012-04-03 20:49:35 -0700
commit70c236c9290732782d5267935af1475b8d5ae602 (patch)
tree04c294d811d4da387b1f993a1a0f38f9587c8a7a /audio/AudioPolicyCompatClient.cpp
parent5ccdf14a85ed66ac54036fb393acc06ea7acfed6 (diff)
downloadhardware_libhardware_legacy-70c236c9290732782d5267935af1475b8d5ae602.tar.gz
hardware_libhardware_legacy-70c236c9290732782d5267935af1475b8d5ae602.tar.bz2
hardware_libhardware_legacy-70c236c9290732782d5267935af1475b8d5ae602.zip
audio policy: load audio hw modules
Audio hw modules are now loaded according to configuration data read from audio_policy.conf. They are not loaded anymore from a hardcoded list in AudiFlinger. Output and input streams are opened on the hw module by which they are exposed. Also removed obsolete "acoustics" flags for input streams. Change-Id: I8dc658cc83890d3ac7d5e36c372a03732aa5b0c4
Diffstat (limited to 'audio/AudioPolicyCompatClient.cpp')
-rw-r--r--audio/AudioPolicyCompatClient.cpp38
1 files changed, 22 insertions, 16 deletions
diff --git a/audio/AudioPolicyCompatClient.cpp b/audio/AudioPolicyCompatClient.cpp
index 5231b41..7b4f90e 100644
--- a/audio/AudioPolicyCompatClient.cpp
+++ b/audio/AudioPolicyCompatClient.cpp
@@ -30,16 +30,22 @@
namespace android_audio_legacy {
-audio_io_handle_t AudioPolicyCompatClient::openOutput(uint32_t *pDevices,
- uint32_t *pSamplingRate,
- uint32_t *pFormat,
- uint32_t *pChannels,
- uint32_t *pLatencyMs,
- AudioSystem::output_flags flags)
+audio_module_handle_t AudioPolicyCompatClient::loadHwModule(const char *moduleName)
{
- return mServiceOps->open_output(mService, pDevices, pSamplingRate, (audio_format_t *) pFormat,
- pChannels, pLatencyMs,
- (audio_policy_output_flags_t)flags);
+ return mServiceOps->load_hw_module(mService, moduleName);
+}
+
+audio_io_handle_t AudioPolicyCompatClient::openOutput(audio_module_handle_t module,
+ audio_devices_t *pDevices,
+ uint32_t *pSamplingRate,
+ audio_format_t *pFormat,
+ audio_channel_mask_t *pChannelMask,
+ uint32_t *pLatencyMs,
+ audio_policy_output_flags_t flags)
+{
+ return mServiceOps->open_output_on_module(mService, module, pDevices, pSamplingRate,
+ pFormat, pChannelMask, pLatencyMs,
+ flags);
}
audio_io_handle_t AudioPolicyCompatClient::openDuplicateOutput(audio_io_handle_t output1,
@@ -63,14 +69,14 @@ status_t AudioPolicyCompatClient::restoreOutput(audio_io_handle_t output)
return mServiceOps->restore_output(mService, output);
}
-audio_io_handle_t AudioPolicyCompatClient::openInput(uint32_t *pDevices,
- uint32_t *pSamplingRate,
- uint32_t *pFormat,
- uint32_t *pChannels,
- audio_in_acoustics_t acoustics)
+audio_io_handle_t AudioPolicyCompatClient::openInput(audio_module_handle_t module,
+ audio_devices_t *pDevices,
+ uint32_t *pSamplingRate,
+ audio_format_t *pFormat,
+ audio_channel_mask_t *pChannelMask)
{
- return mServiceOps->open_input(mService, pDevices, pSamplingRate, (audio_format_t *) pFormat,
- pChannels, acoustics);
+ return mServiceOps->open_input_on_module(mService, module, pDevices,
+ pSamplingRate, pFormat, pChannelMask);
}
status_t AudioPolicyCompatClient::closeInput(audio_io_handle_t input)