diff --git a/core/api/current.txt b/core/api/current.txt index 058443e534ff6..d7d1c516d0b6e 100644 --- a/core/api/current.txt +++ b/core/api/current.txt @@ -20912,6 +20912,7 @@ package android.media { method public void writeToParcel(@NonNull android.os.Parcel, int); field public static final int AUDIO_ENCAPSULATION_TYPE_IEC61937 = 1; // 0x1 field public static final int AUDIO_ENCAPSULATION_TYPE_NONE = 0; // 0x0 + field public static final int AUDIO_ENCAPSULATION_TYPE_PCM = 2; // 0x2 field @NonNull public static final android.os.Parcelable.Creator CREATOR; } diff --git a/core/jni/android_media_AudioProfile.h b/core/jni/android_media_AudioProfile.h index 446bd6494f959..5096250e6bd3c 100644 --- a/core/jni/android_media_AudioProfile.h +++ b/core/jni/android_media_AudioProfile.h @@ -25,6 +25,7 @@ namespace android { // keep these values in sync with AudioProfile.java #define ENCAPSULATION_TYPE_NONE 0 #define ENCAPSULATION_TYPE_IEC61937 1 +#define ENCAPSULATION_TYPE_PCM 2 static inline status_t audioEncapsulationTypeFromNative( audio_encapsulation_type_t nEncapsulationType, int* encapsulationType) { @@ -36,6 +37,9 @@ static inline status_t audioEncapsulationTypeFromNative( case AUDIO_ENCAPSULATION_TYPE_IEC61937: *encapsulationType = ENCAPSULATION_TYPE_IEC61937; break; + case AUDIO_ENCAPSULATION_TYPE_PCM: + *encapsulationType = ENCAPSULATION_TYPE_PCM; + break; default: result = BAD_VALUE; } diff --git a/media/java/android/media/AudioProfile.java b/media/java/android/media/AudioProfile.java index 5c5f837dd07a2..356b765f91c0b 100644 --- a/media/java/android/media/AudioProfile.java +++ b/media/java/android/media/AudioProfile.java @@ -46,11 +46,17 @@ public class AudioProfile implements Parcelable { * Encapsulation format is defined in standard IEC 61937. */ public static final int AUDIO_ENCAPSULATION_TYPE_IEC61937 = 1; + /** + * Encapsulation format is PCM, which can be used by other formats that can be wrapped in + * a PCM frame, such as DSD(Direct Stream Digital). + */ + public static final int AUDIO_ENCAPSULATION_TYPE_PCM = 2; /** @hide */ @IntDef({ AUDIO_ENCAPSULATION_TYPE_NONE, AUDIO_ENCAPSULATION_TYPE_IEC61937, + AUDIO_ENCAPSULATION_TYPE_PCM, }) @Retention(RetentionPolicy.SOURCE) public @interface EncapsulationType {} @@ -122,6 +128,7 @@ public class AudioProfile implements Parcelable { * * @see #AUDIO_ENCAPSULATION_TYPE_NONE * @see #AUDIO_ENCAPSULATION_TYPE_IEC61937 + * @see #AUDIO_ENCAPSULATION_TYPE_PCM */ public @EncapsulationType int getEncapsulationType() { return mEncapsulationType; diff --git a/media/java/android/media/audio/common/AidlConversion.java b/media/java/android/media/audio/common/AidlConversion.java index 4cf3b3e95bf0a..490809c63e960 100644 --- a/media/java/android/media/audio/common/AidlConversion.java +++ b/media/java/android/media/audio/common/AidlConversion.java @@ -614,6 +614,8 @@ public class AidlConversion { switch (type) { case android.media.AudioProfile.AUDIO_ENCAPSULATION_TYPE_IEC61937: return AudioEncapsulationType.IEC61937; + case android.media.AudioProfile.AUDIO_ENCAPSULATION_TYPE_PCM: + return AudioEncapsulationType.PCM; case android.media.AudioProfile.AUDIO_ENCAPSULATION_TYPE_NONE: default: return AudioEncapsulationType.NONE; @@ -629,6 +631,8 @@ public class AidlConversion { switch (type) { case AudioEncapsulationType.IEC61937: return android.media.AudioProfile.AUDIO_ENCAPSULATION_TYPE_IEC61937; + case AudioEncapsulationType.PCM: + return android.media.AudioProfile.AUDIO_ENCAPSULATION_TYPE_PCM; case AudioEncapsulationType.NONE: default: return android.media.AudioProfile.AUDIO_ENCAPSULATION_TYPE_NONE;