2 * Copyright (C) 2011 The Android Open Source Project
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
8 * http://www.apache.org/licenses/LICENSE-2.0
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
17 #define LOG_TAG "AudioPolicyCompatClient"
18 //#define LOG_NDEBUG 0
22 #include <hardware/hardware.h>
23 #include <system/audio.h>
24 #include <system/audio_policy.h>
25 #include <hardware/audio_policy.h>
27 #include <hardware_legacy/AudioSystemLegacy.h>
29 #include "AudioPolicyCompatClient.h"
31 namespace android_audio_legacy {
33 audio_module_handle_t AudioPolicyCompatClient::loadHwModule(const char *moduleName)
35 return mServiceOps->load_hw_module(mService, moduleName);
38 audio_io_handle_t AudioPolicyCompatClient::openOutput(audio_module_handle_t module,
39 audio_devices_t *pDevices,
40 uint32_t *pSamplingRate,
41 audio_format_t *pFormat,
42 audio_channel_mask_t *pChannelMask,
44 audio_output_flags_t flags,
45 const audio_offload_info_t *offloadInfo)
47 return mServiceOps->open_output_on_module(mService, module, pDevices, pSamplingRate,
48 pFormat, pChannelMask, pLatencyMs,
52 audio_io_handle_t AudioPolicyCompatClient::openDuplicateOutput(audio_io_handle_t output1,
53 audio_io_handle_t output2)
55 return mServiceOps->open_duplicate_output(mService, output1, output2);
58 status_t AudioPolicyCompatClient::closeOutput(audio_io_handle_t output)
60 return mServiceOps->close_output(mService, output);
63 status_t AudioPolicyCompatClient::suspendOutput(audio_io_handle_t output)
65 return mServiceOps->suspend_output(mService, output);
68 status_t AudioPolicyCompatClient::restoreOutput(audio_io_handle_t output)
70 return mServiceOps->restore_output(mService, output);
73 audio_io_handle_t AudioPolicyCompatClient::openInput(audio_module_handle_t module,
74 audio_devices_t *pDevices,
75 uint32_t *pSamplingRate,
76 audio_format_t *pFormat,
77 audio_channel_mask_t *pChannelMask)
79 return mServiceOps->open_input_on_module(mService, module, pDevices,
80 pSamplingRate, pFormat, pChannelMask);
83 status_t AudioPolicyCompatClient::closeInput(audio_io_handle_t input)
85 return mServiceOps->close_input(mService, input);
88 status_t AudioPolicyCompatClient::setStreamOutput(AudioSystem::stream_type stream,
89 audio_io_handle_t output)
91 return mServiceOps->set_stream_output(mService, (audio_stream_type_t)stream,
95 status_t AudioPolicyCompatClient::moveEffects(int session, audio_io_handle_t srcOutput,
96 audio_io_handle_t dstOutput)
98 return mServiceOps->move_effects(mService, session, srcOutput, dstOutput);
101 String8 AudioPolicyCompatClient::getParameters(audio_io_handle_t ioHandle, const String8& keys)
106 str = mServiceOps->get_parameters(mService, ioHandle, keys.string());
107 out_str8 = String8(str);
113 void AudioPolicyCompatClient::setParameters(audio_io_handle_t ioHandle,
114 const String8& keyValuePairs,
117 mServiceOps->set_parameters(mService, ioHandle, keyValuePairs.string(),
121 status_t AudioPolicyCompatClient::setStreamVolume(
122 AudioSystem::stream_type stream,
124 audio_io_handle_t output,
127 return mServiceOps->set_stream_volume(mService, (audio_stream_type_t)stream,
128 volume, output, delayMs);
131 status_t AudioPolicyCompatClient::startTone(ToneGenerator::tone_type tone,
132 AudioSystem::stream_type stream)
134 return mServiceOps->start_tone(mService,
135 AUDIO_POLICY_TONE_IN_CALL_NOTIFICATION,
136 (audio_stream_type_t)stream);
139 status_t AudioPolicyCompatClient::stopTone()
141 return mServiceOps->stop_tone(mService);
144 status_t AudioPolicyCompatClient::setVoiceVolume(float volume, int delayMs)
146 return mServiceOps->set_voice_volume(mService, volume, delayMs);
149 }; // namespace android_audio_legacy