Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 2287a249 authored by Mikhail Naganov's avatar Mikhail Naganov
Browse files

Make audio*-base.h files autogenerated again

Major change: audio-base.h is generated from "core" types.hal,
new file audio_common-base.h is generated from "common" types.hal.

In order to be able to add system-only constants to generated
enums, the latter are made anonymous, values got "HAL_" prefix.
Then in system/audio.h a full enum is constructed.

Removed audio_drain_type_t from exported, as it belongs to
libhardware only.

Added missing enums that were introduced at the system side
only in Android R.

Bug: 122858783
Test: m
Change-Id: I8c017912395a03beacea077fd562fae2329ad975
Merged-In: I8c017912395a03beacea077fd562fae2329ad975
parent 8523de75
Loading
Loading
Loading
Loading
+1 −2
Original line number Diff line number Diff line
@@ -30,7 +30,6 @@ enum Result : int32_t {
    NOT_SUPPORTED
};

@export(name="audio_drain_type_t", value_prefix="AUDIO_DRAIN_")
enum AudioDrain : int32_t {
    /** drain() returns when all data has been played. */
    ALL,
@@ -315,7 +314,7 @@ enum TimestretchMode : int32_t {
 * Behavior when the values for speed and / or pitch are out
 * of applicable range.
 */
@export(name="audio_timestretch_fallback_mode_t", value_prefix="AUDIO_TIMESTRETCH_FALLBACK_")
@export(name="", value_prefix="HAL_AUDIO_TIMESTRETCH_FALLBACK_")
enum TimestretchFallbackMode : int32_t {
    // Need to be in sync with AUDIO_FALLBACK_MODE_* constants in
    // frameworks/base/media/java/android/media/PlaybackParams.java
+23 −1
Original line number Diff line number Diff line
@@ -78,6 +78,7 @@ typedef string AudioSource;
 */
typedef int32_t AudioSession;

@export(name="", value_prefix="HAL_AUDIO_SESSION_")
enum AudioSessionConsts : int32_t {
    /**
     * Session for effects attached to a particular sink or source audio device
@@ -137,7 +138,7 @@ struct AudioProfile {
 * Major modes for a mobile device. The current mode setting affects audio
 * routing.
 */
@export(name="audio_mode_t", value_prefix="AUDIO_MODE_")
@export(name="", value_prefix="HAL_AUDIO_MODE_")
enum AudioMode : int32_t {
    NORMAL           = 0,
    RINGTONE         = 1,
@@ -221,6 +222,27 @@ enum AudioEncapsulationMode : int32_t {
    HANDLE            = 2,
};

/**
 * Enumeration of metadata types permitted for use by
 * encapsulation mode audio streams.
 */
@export(name="audio_encapsulation_metadata_type_t", value_prefix="AUDIO_ENCAPSULATION_METADATA_TYPE_")
enum AudioEncapsulationMetadataType : int32_t {
    /**
     * No metadata.
     */
    NONE              = 0,
    /**
     * Encapsulation metadata type for framework tuner information.
     */
    FRAMEWORK_TUNER   = 1,
    /**
     * Encapsulation metadata type for DVB AD descriptor.
     * This metadata is formatted per ETSI TS 101 154 Table E.1: AD_descriptor.
     */
    DVB_AD_DESCRIPTOR = 2,
};

/**
 * Additional information about the stream passed to hardware decoders.
 */
+4 −4
Original line number Diff line number Diff line
@@ -496,10 +496,10 @@ Return<bool> StreamOut::supportsDrain() {
}

Return<Result> StreamOut::drain(AudioDrain type) {
    audio_drain_type_t halDrainType =
            type == AudioDrain::EARLY_NOTIFY ? AUDIO_DRAIN_EARLY_NOTIFY : AUDIO_DRAIN_ALL;
    return mStream->drain != NULL
                   ? Stream::analyzeStatus(
                             "drain",
                             mStream->drain(mStream, static_cast<audio_drain_type_t>(type)),
                   ? Stream::analyzeStatus("drain", mStream->drain(mStream, halDrainType),
                                           {ENOSYS} /*ignore*/)
                   : Result::NOT_SUPPORTED;
}
+5 −2
Original line number Diff line number Diff line
@@ -41,9 +41,12 @@ hidl-gen $options \
         android.hardware.graphics.common@1.2

# system/media
hidl-gen $options \
         -o $ANDROID_BUILD_TOP/system/media/audio/include/system/audio_common-base.h \
         android.hardware.audio.common@7.0
hidl-gen $options \
         -o $ANDROID_BUILD_TOP/system/media/audio/include/system/audio-base.h \
         android.hardware.audio.common@2.0
         android.hardware.audio@7.0
hidl-gen $options \
         -o $ANDROID_BUILD_TOP/system/media/audio/include/system/audio_effect-base.h \
         android.hardware.audio.effect@2.0
         android.hardware.audio.effect@7.0