diff options
author | Justin Klaassen <justinklaassen@google.com> | 2017-09-15 17:58:39 -0400 |
---|---|---|
committer | Justin Klaassen <justinklaassen@google.com> | 2017-09-15 17:58:39 -0400 |
commit | 10d07c88d69cc64f73a069163e7ea5ba2519a099 (patch) | |
tree | 8dbd149eb350320a29c3d10e7ad3201de1c5cbee /android/media/AudioPatch.java | |
parent | 677516fb6b6f207d373984757d3d9450474b6b00 (diff) | |
download | android-28-10d07c88d69cc64f73a069163e7ea5ba2519a099.tar.gz |
Import Android SDK Platform PI [4335822]
/google/data/ro/projects/android/fetch_artifact \
--bid 4335822 \
--target sdk_phone_armv7-win_sdk \
sdk-repo-linux-sources-4335822.zip
AndroidVersion.ApiLevel has been modified to appear as 28
Change-Id: Ic8f04be005a71c2b9abeaac754d8da8d6f9a2c32
Diffstat (limited to 'android/media/AudioPatch.java')
-rw-r--r-- | android/media/AudioPatch.java | 83 |
1 files changed, 83 insertions, 0 deletions
diff --git a/android/media/AudioPatch.java b/android/media/AudioPatch.java new file mode 100644 index 00000000..6c70213a --- /dev/null +++ b/android/media/AudioPatch.java @@ -0,0 +1,83 @@ +/* + * Copyright (C) 2014 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package android.media; + + +/** + * An AudioPatch describes a connection between audio sources and audio sinks. + * An audio source can be an output mix (playback AudioBus) or an input device (microphone). + * An audio sink can be an output device (speaker) or an input mix (capture AudioBus). + * An AudioPatch is created by AudioManager.createAudioPatch() and released by + * AudioManager.releaseAudioPatch() + * It contains the list of source and sink AudioPortConfig showing audio port configurations + * being connected. + * @hide + */ +public class AudioPatch { + + private final AudioHandle mHandle; + private final AudioPortConfig[] mSources; + private final AudioPortConfig[] mSinks; + + AudioPatch(AudioHandle patchHandle, AudioPortConfig[] sources, AudioPortConfig[] sinks) { + mHandle = patchHandle; + mSources = sources; + mSinks = sinks; + } + + /** + * Retrieve the list of sources of this audio patch. + */ + public AudioPortConfig[] sources() { + return mSources; + } + + /** + * Retreive the list of sinks of this audio patch. + */ + public AudioPortConfig[] sinks() { + return mSinks; + } + + /** + * Get the system unique patch ID. + */ + public int id() { + return mHandle.id(); + } + + @Override + public String toString() { + StringBuilder s = new StringBuilder(); + s.append("mHandle: "); + s.append(mHandle.toString()); + + s.append(" mSources: {"); + for (AudioPortConfig source : mSources) { + s.append(source.toString()); + s.append(", "); + } + s.append("} mSinks: {"); + for (AudioPortConfig sink : mSinks) { + s.append(sink.toString()); + s.append(", "); + } + s.append("}"); + + return s.toString(); + } +} |