From e282cc572ef848b1cb8d622c2c4939aac37c3b27 Mon Sep 17 00:00:00 2001 From: Jean-Michel Trivi Date: Thu, 19 Jan 2023 16:22:02 +0000 Subject: [PATCH] AudioPlaybackConfiguration docs and channel format annotation Better javdoc (referencing the Spatializer class) for isSpatialized. IntDef for result format of getChannelMask Bug: 265304425 Test: atest AudioPlaybackConfigurationTest Change-Id: Ic57790a3b1af4232a6dcaa5b724d5dcf4d560d50 --- media/java/android/media/AudioFormat.java | 34 +++++++++++++++++++ .../media/AudioPlaybackConfiguration.java | 5 +-- 2 files changed, 37 insertions(+), 2 deletions(-) diff --git a/media/java/android/media/AudioFormat.java b/media/java/android/media/AudioFormat.java index 4d3f05be367df..ceb3858eb0b3e 100644 --- a/media/java/android/media/AudioFormat.java +++ b/media/java/android/media/AudioFormat.java @@ -608,6 +608,40 @@ public final class AudioFormat implements Parcelable { CHANNEL_OUT_LOW_FREQUENCY_2); // CHANNEL_OUT_ALL is not yet defined; if added then it should match AUDIO_CHANNEL_OUT_ALL + /** @hide */ + @IntDef(flag = true, prefix = "CHANNEL_OUT", value = { + CHANNEL_OUT_FRONT_LEFT, + CHANNEL_OUT_FRONT_RIGHT, + CHANNEL_OUT_FRONT_CENTER, + CHANNEL_OUT_LOW_FREQUENCY, + CHANNEL_OUT_BACK_LEFT, + CHANNEL_OUT_BACK_RIGHT, + CHANNEL_OUT_FRONT_LEFT_OF_CENTER, + CHANNEL_OUT_FRONT_RIGHT_OF_CENTER, + CHANNEL_OUT_BACK_CENTER, + CHANNEL_OUT_SIDE_LEFT, + CHANNEL_OUT_SIDE_RIGHT, + CHANNEL_OUT_TOP_CENTER, + CHANNEL_OUT_TOP_FRONT_LEFT, + CHANNEL_OUT_TOP_FRONT_CENTER, + CHANNEL_OUT_TOP_FRONT_RIGHT, + CHANNEL_OUT_TOP_BACK_LEFT, + CHANNEL_OUT_TOP_BACK_CENTER, + CHANNEL_OUT_TOP_BACK_RIGHT, + CHANNEL_OUT_TOP_SIDE_LEFT, + CHANNEL_OUT_TOP_SIDE_RIGHT, + CHANNEL_OUT_BOTTOM_FRONT_LEFT, + CHANNEL_OUT_BOTTOM_FRONT_CENTER, + CHANNEL_OUT_BOTTOM_FRONT_RIGHT, + CHANNEL_OUT_LOW_FREQUENCY_2, + CHANNEL_OUT_FRONT_WIDE_LEFT, + CHANNEL_OUT_FRONT_WIDE_RIGHT, + CHANNEL_OUT_HAPTIC_B, + CHANNEL_OUT_HAPTIC_A + }) + @Retention(RetentionPolicy.SOURCE) + public @interface ChannelOut {} + /** Minimum value for sample rate, * assuming AudioTrack and AudioRecord share the same limitations. * @hide diff --git a/media/java/android/media/AudioPlaybackConfiguration.java b/media/java/android/media/AudioPlaybackConfiguration.java index f64e5cc1c5f15..4d6ddfdaef2e2 100644 --- a/media/java/android/media/AudioPlaybackConfiguration.java +++ b/media/java/android/media/AudioPlaybackConfiguration.java @@ -559,7 +559,8 @@ public final class AudioPlaybackConfiguration implements Parcelable { /** * @hide - * Return whether this player's output is spatialized + * Return whether this player's output is being processed by the spatializer effect backing + * the {@link android.media.Spatializer} implementation. * @return true if spatialized, false if not or playback hasn't started */ @SystemApi @@ -588,7 +589,7 @@ public final class AudioPlaybackConfiguration implements Parcelable { * the definitions for the CHANNEL_OUT_* values used for the mask's bitfield */ @SystemApi - public int getChannelMask() { + public @AudioFormat.ChannelOut int getChannelMask() { synchronized (mUpdateablePropLock) { return (AudioFormat.convertNativeChannelMaskToOutMask(mFormatInfo.mNativeChannelMask)); }