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

Commit 033cc9a3 authored by Treehugger Robot's avatar Treehugger Robot Committed by Automerger Merge Worker
Browse files

Merge "audio: Update common types to better match legacy structs" am:...

Merge "audio: Update common types to better match legacy structs" am: 39059ed1 am: 418ad80f am: d5200fcd

Original change: https://android-review.googlesource.com/c/platform/hardware/interfaces/+/1562143

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I1fc86a2ceb20d3723c395e3940fc1cc57920388d
parents e7ff8c5d d5200fcd
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -73,14 +73,14 @@ interface IStream {

    /**
     * Sets stream parameters. Only sets parameters that are specified.
     * See the description of AudioConfigBase for the details.
     *
     * Optional method. If implemented, only called on a stopped stream.
     *
     * @param config basic stream configuration.
     * @return retval operation completion status.
     */
    setAudioProperties(AudioConfigBase config) generates (Result retval);
    setAudioProperties(AudioConfigBaseOptional config)
            generates (Result retval);

    /**
     * Applies audio effect to the stream.
+1 −0
Original line number Diff line number Diff line
@@ -198,6 +198,7 @@ package android.audio.policy.configuration.V7_0 {
    enum_constant public static final android.audio.policy.configuration.V7_0.AudioFormat AUDIO_FORMAT_APTX_HD;
    enum_constant public static final android.audio.policy.configuration.V7_0.AudioFormat AUDIO_FORMAT_APTX_TWSP;
    enum_constant public static final android.audio.policy.configuration.V7_0.AudioFormat AUDIO_FORMAT_CELT;
    enum_constant public static final android.audio.policy.configuration.V7_0.AudioFormat AUDIO_FORMAT_DEFAULT;
    enum_constant public static final android.audio.policy.configuration.V7_0.AudioFormat AUDIO_FORMAT_DOLBY_TRUEHD;
    enum_constant public static final android.audio.policy.configuration.V7_0.AudioFormat AUDIO_FORMAT_DSD;
    enum_constant public static final android.audio.policy.configuration.V7_0.AudioFormat AUDIO_FORMAT_DTS;
+1 −0
Original line number Diff line number Diff line
@@ -330,6 +330,7 @@
    </xs:simpleType>
    <xs:simpleType name="audioFormat">
        <xs:restriction base="xs:string">
            <xs:enumeration value="AUDIO_FORMAT_DEFAULT" />
            <xs:enumeration value="AUDIO_FORMAT_PCM_16_BIT" />
            <xs:enumeration value="AUDIO_FORMAT_PCM_8_BIT"/>
            <xs:enumeration value="AUDIO_FORMAT_PCM_32_BIT"/>
+7 −8
Original line number Diff line number Diff line
@@ -107,14 +107,13 @@ Return<Result> Effect::setInputDevice(const DeviceAddress& device) {
}

Return<void> Effect::getConfig(getConfig_cb _hidl_cb) {
    const EffectConfig config = {
            {} /* inputCfg */,
            // outputCfg
            {{} /* buffer */,
             {toString(xsd::AudioFormat::AUDIO_FORMAT_PCM_16_BIT), 48000 /* samplingRateHz */,
              toString(xsd::AudioChannelMask::AUDIO_CHANNEL_OUT_STEREO)}, /* base */
             EffectBufferAccess::ACCESS_ACCUMULATE,
             0 /* mask */}};
    EffectConfig config;
    // inputCfg left unspecified.
    config.outputCfg.base.format.value(toString(xsd::AudioFormat::AUDIO_FORMAT_PCM_16_BIT));
    config.outputCfg.base.sampleRateHz.value(48000);
    config.outputCfg.base.channelMask.value(
            toString(xsd::AudioChannelMask::AUDIO_CHANNEL_OUT_STEREO));
    config.outputCfg.accessMode.value(EffectBufferAccess::ACCESS_ACCUMULATE);
    _hidl_cb(Result::OK, config);
    return Void();
}
+24 −7
Original line number Diff line number Diff line
@@ -118,9 +118,28 @@ typedef string AudioChannelMask;
 * Base configuration attributes applicable to any stream of audio.
 */
struct AudioConfigBase {
    AudioFormat format;                 // empty means 'unspecified'
    uint32_t sampleRateHz;              // 0 means 'unspecified'
    AudioChannelMask channelMask;       // empty means 'unspecified'
    AudioFormat format;
    uint32_t sampleRateHz;
    AudioChannelMask channelMask;
};

/**
 * Base configuration attributes applicable to any stream of audio.
 * Any attribute may be left unspecified.
 */
struct AudioConfigBaseOptional {
    safe_union Format {
        Monostate unspecified;
        AudioFormat value;
    } format;
    safe_union SampleRate {
        Monostate unspecified;
        uint32_t value;
    } sampleRateHz;
    safe_union ChannelMask {
        Monostate unspecified;
        AudioChannelMask value;
    } channelMask;
};

/**
@@ -439,11 +458,9 @@ struct AudioPortConfig {
     */
    AudioPortHandle id;
    /**
     * Basic parameters: sampling rate, format, channel mask. Only some of the
     * parameters (or none) may be set. See the documentation of the
     * AudioConfigBase struct.
     * Basic parameters: sampling rate, format, channel mask.
     */
    AudioConfigBase base;
    AudioConfigBaseOptional base;
    /** Associated gain control. */
    safe_union OptionalGain {
        Monostate unspecified;
Loading