| /* |
| * Copyright 2018 The WebRTC project authors. All Rights Reserved. |
| * |
| * Use of this source code is governed by a BSD-style license |
| * that can be found in the LICENSE file in the root of the source |
| * tree. An additional intellectual property rights grant can be found |
| * in the file PATENTS. All contributing project authors may |
| * be found in the AUTHORS file in the root of the source tree. |
| */ |
| |
| package org.webrtc.audio; |
| |
| import org.webrtc.voiceengine.WebRtcAudioRecord; |
| import org.webrtc.voiceengine.WebRtcAudioTrack; |
| |
| /** |
| * This class represents the legacy AudioDeviceModule that is currently hardcoded into C++ WebRTC. |
| * It will return a null native AudioDeviceModule pointer, leading to an internal object being |
| * created inside WebRTC that is controlled by static calls to the classes under the voiceengine |
| * package. Please use the new JavaAudioDeviceModule instead of this class. |
| */ |
| @Deprecated |
| public class LegacyAudioDeviceModule implements AudioDeviceModule { |
| @Override |
| public long getNativeAudioDeviceModulePointer() { |
| // Returning a null pointer will make WebRTC construct the built-in legacy AudioDeviceModule for |
| // Android internally. |
| return 0; |
| } |
| |
| @Override |
| public void release() { |
| // All control for this ADM goes through static global methods and the C++ object is owned |
| // internally by WebRTC. |
| } |
| |
| @Override |
| public void setSpeakerMute(boolean mute) { |
| WebRtcAudioTrack.setSpeakerMute(mute); |
| } |
| |
| @Override |
| public void setMicrophoneMute(boolean mute) { |
| WebRtcAudioRecord.setMicrophoneMute(mute); |
| } |
| } |