diff options
| author | Eric Laurent <elaurent@google.com> | 2012-03-28 11:27:13 -0700 |
|---|---|---|
| committer | Eric Laurent <elaurent@google.com> | 2012-04-03 20:49:35 -0700 |
| commit | 70c236c9290732782d5267935af1475b8d5ae602 (patch) | |
| tree | 04c294d811d4da387b1f993a1a0f38f9587c8a7a /audio/AudioPolicyCompatClient.cpp | |
| parent | 5ccdf14a85ed66ac54036fb393acc06ea7acfed6 (diff) | |
| download | hardware_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.cpp | 38 |
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) |
