Loading audio/7.0/IStream.hal +2 −2 Original line number Original line Diff line number Diff line Loading @@ -73,14 +73,14 @@ interface IStream { /** /** * Sets stream parameters. Only sets parameters that are specified. * 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. * Optional method. If implemented, only called on a stopped stream. * * * @param config basic stream configuration. * @param config basic stream configuration. * @return retval operation completion status. * @return retval operation completion status. */ */ setAudioProperties(AudioConfigBase config) generates (Result retval); setAudioProperties(AudioConfigBaseOptional config) generates (Result retval); /** /** * Applies audio effect to the stream. * Applies audio effect to the stream. Loading audio/7.0/config/api/current.txt +1 −0 Original line number Original line Diff line number Diff line Loading @@ -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_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_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_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_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_DSD; enum_constant public static final android.audio.policy.configuration.V7_0.AudioFormat AUDIO_FORMAT_DTS; enum_constant public static final android.audio.policy.configuration.V7_0.AudioFormat AUDIO_FORMAT_DTS; Loading audio/7.0/config/audio_policy_configuration.xsd +1 −0 Original line number Original line Diff line number Diff line Loading @@ -329,6 +329,7 @@ </xs:simpleType> </xs:simpleType> <xs:simpleType name="audioFormat"> <xs:simpleType name="audioFormat"> <xs:restriction base="xs:string"> <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_16_BIT" /> <xs:enumeration value="AUDIO_FORMAT_PCM_8_BIT"/> <xs:enumeration value="AUDIO_FORMAT_PCM_8_BIT"/> <xs:enumeration value="AUDIO_FORMAT_PCM_32_BIT"/> <xs:enumeration value="AUDIO_FORMAT_PCM_32_BIT"/> Loading audio/common/7.0/example/Effect.cpp +7 −8 Original line number Original line Diff line number Diff line Loading @@ -107,14 +107,13 @@ Return<Result> Effect::setInputDevice(const DeviceAddress& device) { } } Return<void> Effect::getConfig(getConfig_cb _hidl_cb) { Return<void> Effect::getConfig(getConfig_cb _hidl_cb) { const EffectConfig config = { EffectConfig config; {} /* inputCfg */, // inputCfg left unspecified. // outputCfg config.outputCfg.base.format.value(toString(xsd::AudioFormat::AUDIO_FORMAT_PCM_16_BIT)); {{} /* buffer */, config.outputCfg.base.sampleRateHz.value(48000); {toString(xsd::AudioFormat::AUDIO_FORMAT_PCM_16_BIT), 48000 /* samplingRateHz */, config.outputCfg.base.channelMask.value( toString(xsd::AudioChannelMask::AUDIO_CHANNEL_OUT_STEREO)}, /* base */ toString(xsd::AudioChannelMask::AUDIO_CHANNEL_OUT_STEREO)); EffectBufferAccess::ACCESS_ACCUMULATE, config.outputCfg.accessMode.value(EffectBufferAccess::ACCESS_ACCUMULATE); 0 /* mask */}}; _hidl_cb(Result::OK, config); _hidl_cb(Result::OK, config); return Void(); return Void(); } } Loading audio/common/7.0/types.hal +24 −7 Original line number Original line Diff line number Diff line Loading @@ -118,9 +118,28 @@ typedef string AudioChannelMask; * Base configuration attributes applicable to any stream of audio. * Base configuration attributes applicable to any stream of audio. */ */ struct AudioConfigBase { struct AudioConfigBase { AudioFormat format; // empty means 'unspecified' AudioFormat format; uint32_t sampleRateHz; // 0 means 'unspecified' uint32_t sampleRateHz; AudioChannelMask channelMask; // empty means 'unspecified' 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; }; }; /** /** Loading Loading @@ -439,11 +458,9 @@ struct AudioPortConfig { */ */ AudioPortHandle id; AudioPortHandle id; /** /** * Basic parameters: sampling rate, format, channel mask. Only some of the * Basic parameters: sampling rate, format, channel mask. * parameters (or none) may be set. See the documentation of the * AudioConfigBase struct. */ */ AudioConfigBase base; AudioConfigBaseOptional base; /** Associated gain control. */ /** Associated gain control. */ safe_union OptionalGain { safe_union OptionalGain { Monostate unspecified; Monostate unspecified; Loading Loading
audio/7.0/IStream.hal +2 −2 Original line number Original line Diff line number Diff line Loading @@ -73,14 +73,14 @@ interface IStream { /** /** * Sets stream parameters. Only sets parameters that are specified. * 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. * Optional method. If implemented, only called on a stopped stream. * * * @param config basic stream configuration. * @param config basic stream configuration. * @return retval operation completion status. * @return retval operation completion status. */ */ setAudioProperties(AudioConfigBase config) generates (Result retval); setAudioProperties(AudioConfigBaseOptional config) generates (Result retval); /** /** * Applies audio effect to the stream. * Applies audio effect to the stream. Loading
audio/7.0/config/api/current.txt +1 −0 Original line number Original line Diff line number Diff line Loading @@ -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_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_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_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_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_DSD; enum_constant public static final android.audio.policy.configuration.V7_0.AudioFormat AUDIO_FORMAT_DTS; enum_constant public static final android.audio.policy.configuration.V7_0.AudioFormat AUDIO_FORMAT_DTS; Loading
audio/7.0/config/audio_policy_configuration.xsd +1 −0 Original line number Original line Diff line number Diff line Loading @@ -329,6 +329,7 @@ </xs:simpleType> </xs:simpleType> <xs:simpleType name="audioFormat"> <xs:simpleType name="audioFormat"> <xs:restriction base="xs:string"> <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_16_BIT" /> <xs:enumeration value="AUDIO_FORMAT_PCM_8_BIT"/> <xs:enumeration value="AUDIO_FORMAT_PCM_8_BIT"/> <xs:enumeration value="AUDIO_FORMAT_PCM_32_BIT"/> <xs:enumeration value="AUDIO_FORMAT_PCM_32_BIT"/> Loading
audio/common/7.0/example/Effect.cpp +7 −8 Original line number Original line Diff line number Diff line Loading @@ -107,14 +107,13 @@ Return<Result> Effect::setInputDevice(const DeviceAddress& device) { } } Return<void> Effect::getConfig(getConfig_cb _hidl_cb) { Return<void> Effect::getConfig(getConfig_cb _hidl_cb) { const EffectConfig config = { EffectConfig config; {} /* inputCfg */, // inputCfg left unspecified. // outputCfg config.outputCfg.base.format.value(toString(xsd::AudioFormat::AUDIO_FORMAT_PCM_16_BIT)); {{} /* buffer */, config.outputCfg.base.sampleRateHz.value(48000); {toString(xsd::AudioFormat::AUDIO_FORMAT_PCM_16_BIT), 48000 /* samplingRateHz */, config.outputCfg.base.channelMask.value( toString(xsd::AudioChannelMask::AUDIO_CHANNEL_OUT_STEREO)}, /* base */ toString(xsd::AudioChannelMask::AUDIO_CHANNEL_OUT_STEREO)); EffectBufferAccess::ACCESS_ACCUMULATE, config.outputCfg.accessMode.value(EffectBufferAccess::ACCESS_ACCUMULATE); 0 /* mask */}}; _hidl_cb(Result::OK, config); _hidl_cb(Result::OK, config); return Void(); return Void(); } } Loading
audio/common/7.0/types.hal +24 −7 Original line number Original line Diff line number Diff line Loading @@ -118,9 +118,28 @@ typedef string AudioChannelMask; * Base configuration attributes applicable to any stream of audio. * Base configuration attributes applicable to any stream of audio. */ */ struct AudioConfigBase { struct AudioConfigBase { AudioFormat format; // empty means 'unspecified' AudioFormat format; uint32_t sampleRateHz; // 0 means 'unspecified' uint32_t sampleRateHz; AudioChannelMask channelMask; // empty means 'unspecified' 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; }; }; /** /** Loading Loading @@ -439,11 +458,9 @@ struct AudioPortConfig { */ */ AudioPortHandle id; AudioPortHandle id; /** /** * Basic parameters: sampling rate, format, channel mask. Only some of the * Basic parameters: sampling rate, format, channel mask. * parameters (or none) may be set. See the documentation of the * AudioConfigBase struct. */ */ AudioConfigBase base; AudioConfigBaseOptional base; /** Associated gain control. */ /** Associated gain control. */ safe_union OptionalGain { safe_union OptionalGain { Monostate unspecified; Monostate unspecified; Loading