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

Commit ecc01b9c authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Android (Google) Code Review
Browse files

Merge "Additonal usage note updates for Audio properties" into oc-mr1-dev

parents 05143cf8 66339cfc
Loading
Loading
Loading
Loading
+36 −36
Original line number Original line Diff line number Diff line
@@ -785,7 +785,8 @@ enum VehicleProperty: int32_t {
     * requested by Android side. The focus has both per stream characteristics
     * requested by Android side. The focus has both per stream characteristics
     * and global characteristics.
     * and global characteristics.
     *
     *
     * Focus request (get of this property) must take the following form:
     * Focus request (get of this property) must take the following form with indices defined
     * by VehicleAudioFocusIndex:
     *   int32Values[0]: VehicleAudioFocusRequest type
     *   int32Values[0]: VehicleAudioFocusRequest type
     *   int32Values[1]: bit flags of streams requested by this focus request.
     *   int32Values[1]: bit flags of streams requested by this focus request.
     *                   There can be up to 32 streams.
     *                   There can be up to 32 streams.
@@ -803,7 +804,7 @@ enum VehicleProperty: int32_t {
     *                   REQUEST_RELEASE). In that case, audio module must
     *                   REQUEST_RELEASE). In that case, audio module must
     *                   maintain mute state until user's explicit action to
     *                   maintain mute state until user's explicit action to
     *                   play some media.
     *                   play some media.
     *   int32Values[3]: Currently active audio contexts. Use combination of
     *   int32Values[3]: Audio contexts wishing to be active. Use combination of
     *                   flags from VehicleAudioContextFlag.
     *                   flags from VehicleAudioContextFlag.
     *                   This can be used as a hint to adjust audio policy or
     *                   This can be used as a hint to adjust audio policy or
     *                   other policy decision.
     *                   other policy decision.
@@ -818,7 +819,7 @@ enum VehicleProperty: int32_t {
     * request.
     * request.
     *
     *
     * Focus response (set and subscription callback for this property) must
     * Focus response (set and subscription callback for this property) must
     * take the following form:
     * take the following form with indices defined by VehicleAudioFocusIndex:
     *   int32Values[0]: VehicleAudioFocusState type
     *   int32Values[0]: VehicleAudioFocusState type
     *   int32Values[1]: bit flags of streams allowed.
     *   int32Values[1]: bit flags of streams allowed.
     *   int32Values[2]: External focus state: bit flags of currently active
     *   int32Values[2]: External focus state: bit flags of currently active
@@ -847,9 +848,10 @@ enum VehicleProperty: int32_t {
     *                       side is playing something permanent.
     *                       side is playing something permanent.
     *                   LOSS_TRANSIENT: must always be
     *                   LOSS_TRANSIENT: must always be
     *                       VehicleAudioExtFocusFlag#PERMANENT_FLAG
     *                       VehicleAudioExtFocusFlag#PERMANENT_FLAG
     *   int32Values[3]: context requested by android side when responding to
     *   int32Values[3]: Audio context(s) allowed to be active. When responding positively to a
     *                   focus request. When car side is taking focus away,
     *                   focus request from Android, the request's original context must be
     *                   this must be zero.
     *                   repeated here. When taking focus away, or denying a request, the
     *                   rejected or stopped context would have its corresponding bit cleared.
     *
     *
     * A focus response must be sent per each focus request even if there is
     * A focus response must be sent per each focus request even if there is
     * no change in focus state. This can happen in case like focus request
     * no change in focus state. This can happen in case like focus request
@@ -890,8 +892,8 @@ enum VehicleProperty: int32_t {
     *
     *
     * VehiclePropConfig
     * VehiclePropConfig
     *   configArray[0] : bit flags of all supported audio contexts from
     *   configArray[0] : bit flags of all supported audio contexts from
     *                    VehicleAudioContextFlag. If this is 0, audio volume is
     *                    VehicleAudioContextFlag. If this is 0, audio volume
     *                    controlled per physical stream.
     *                    is controlled per physical stream.
     *   configArray[1] : flags defined in VehicleAudioVolumeCapabilityFlag to
     *   configArray[1] : flags defined in VehicleAudioVolumeCapabilityFlag to
     *                    represent audio module's capability.
     *                    represent audio module's capability.
     *   configArray[2..3] : reserved
     *   configArray[2..3] : reserved
@@ -901,7 +903,7 @@ enum VehicleProperty: int32_t {
     *                         indicates mute state.
     *                         indicates mute state.
     *
     *
     * Data type looks like:
     * Data type looks like:
     *   int32Values[0] : stream context as defined in VehicleAudioContextFlag.
     *   int32Values[0] : audio context as defined in VehicleAudioContextFlag.
     *                    If only physical stream is supported
     *                    If only physical stream is supported
     *                    (configArray[0] == 0), this must represent physical
     *                    (configArray[0] == 0), this must represent physical
     *                    stream number.
     *                    stream number.
@@ -909,8 +911,8 @@ enum VehicleProperty: int32_t {
     *                    defined in the config.
     *                    defined in the config.
     *   int32Values[2] : One of VehicleAudioVolumeState.
     *   int32Values[2] : One of VehicleAudioVolumeState.
     *
     *
     * This property requires per stream based get. HAL implementation must
     * HAL implementations must check the incoming value of audio context
     * check stream number in get call to return the right volume.
     * field in get call to return the right volume.
     *
     *
     * @change_mode VehiclePropertyChangeMode:ON_CHANGE
     * @change_mode VehiclePropertyChangeMode:ON_CHANGE
     * @access VehiclePropertyAccess:READ_WRITE
     * @access VehiclePropertyAccess:READ_WRITE
@@ -949,18 +951,18 @@ enum VehicleProperty: int32_t {
     *                    to represent audio module's capability.
     *                    to represent audio module's capability.
     *
     *
     * Data type looks like:
     * Data type looks like:
     *   int32Values[0] : stream context as defined in VehicleAudioContextFlag.
     *   int32Values[0] : audio context as defined in VehicleAudioContextFlag.
     *                    If only physical stream is supported
     *                    If only physical stream is supported
     *                    (configArray[0] == 0), this must represent physical
     *                    (configArray[0] == 0), this must represent physical
     *                    stream number.
     *                    stream number.
     *   int32Values[1] : maximum volume set to the stream. If there is no
     *   int32Values[1] : maximum volume set to the stream. If there is no
     *                    restriction, this value must be bigger than
     *                    restriction, this value must be equal to
     *                    AUDIO_VOLUME's max value.
     *                    AUDIO_VOLUME's max value.
     *
     *
     * If car does not support this feature, this property must not be
     * If car does not support this feature, this property must not be
     * populated by HAL.
     * populated by HAL.
     * This property requires per stream based get. HAL implementation must
     * HAL implementations must check the incoming value of audio context
     * check stream number in get call to return the right volume.
     * field in get call to return the right volume.
     *
     *
     * @change_mode VehiclePropertyChangeMode:ON_CHANGE
     * @change_mode VehiclePropertyChangeMode:ON_CHANGE
     * @access VehiclePropertyAccess:READ_WRITE
     * @access VehiclePropertyAccess:READ_WRITE
@@ -974,10 +976,8 @@ enum VehicleProperty: int32_t {


    /**
    /**
     * Property to share audio routing policy of android side. This property is
     * Property to share audio routing policy of android side. This property is
     * set at the beginning to pass audio policy in android side down to
     * set at startup to pass audio policy in android side down to
     * vehicle HAL and car audio module.
     * vehicle HAL and car audio module.
     * This can be used as a hint to adjust audio policy or other policy
     * decision.
     *
     *
     *   int32Values[0] : audio stream where the audio for the application
     *   int32Values[0] : audio stream where the audio for the application
     *                    context must be routed by default. Note that this is
     *                    context must be routed by default. Note that this is
@@ -1001,11 +1001,11 @@ enum VehicleProperty: int32_t {
        | VehicleArea:GLOBAL),
        | VehicleArea:GLOBAL),


    /**
    /**
     * Property to return audio H/W variant type used in this car. This allows
     * Property to return audio H/W variant type used in this car. This is a
     * android side to support different audio policy based on H/W variant used.
     * zero based index into the set of audio routing policies defined in
     * Note that other components like CarService may need overlay update to
     * R.array.audioRoutingPolicy on CarService, which  may be overlaid to
     * support additional variants. If this property does not
     * support multiple variants. If this property does not exist, the default
     * exist, default audio policy must be used.
     * audio policy must be used.
     *
     *
     * @change_mode VehiclePropertyChangeMode:STATIC
     * @change_mode VehiclePropertyChangeMode:STATIC
     * @access VehiclePropertyAccess:READ
     * @access VehiclePropertyAccess:READ
@@ -2235,23 +2235,23 @@ enum VehicleAudioContextFlag : int32_t {
 */
 */
enum VehicleAudioVolumeCapabilityFlag : int32_t {
enum VehicleAudioVolumeCapabilityFlag : int32_t {
    /**
    /**
     * External audio module or vehicle hal has persistent storage
     * External audio module or vehicle hal has persistent storage to keep the
     * to keep the volume level. This must be set only when per context
     * volume level. When this is set, the audio volume level for each context
     * volume level is supported. When this is set, audio volume level per
     * will be retrieved from the property when the system starts up.
     * each context will be retrieved from the property when system starts up.
     * And external audio module is also expected to adjust volume automatically
     * And external audio module is also expected to adjust volume automatically
     * whenever there is an audio context change.
     * whenever there is an audio context change.
     * When this flag is not set, android side will assume that there is no
     * When this flag is not set, android side will assume that there is no
     * persistent storage and stored value in android side will be used to
     * persistent storage and the value stored in the android side will be used to
     * initialize the volume level. And android side will set volume level
     * initialize the volume level, and android side will set volume level
     * of each physical streams whenever there is an audio context change.
     * of each physical stream whenever there is an audio context change.
     */
     */
    PERSISTENT_STORAGE = 0x1,
    PERSISTENT_STORAGE = 0x1,


    /**
    /**
     * [DEPRECATED]
     * When this flag is set, the H/W can support only single master volume for
     * When this flag is set, the H/W can support only single master volume for
     * all streams.
     * all streams. There is no way to set volume level differently for each stream
     * There is no way to set volume level differently per each stream or context.
     * or context.
     */
     */
    MASTER_VOLUME_ONLY = 0x2,
    MASTER_VOLUME_ONLY = 0x2,
};
};
@@ -2267,16 +2267,16 @@ enum VehicleAudioVolumeState : int32_t {
     * VehicleProperty#AUDIO_VOLUME_LIMIT and user's request to increase volume
     * VehicleProperty#AUDIO_VOLUME_LIMIT and user's request to increase volume
     * further is not allowed.
     * further is not allowed.
     */
     */
    LIMIT_REACHED = 1,
    STATE_LIMIT_REACHED = 1,
};
};


/**
/**
 * Index in int32Values for VehicleProperty#AUDIO_VOLUME property.
 * Index in int32Values for VehicleProperty#AUDIO_VOLUME property.
 */
 */
enum VehicleAudioVolumeIndex : int32_t {
enum VehicleAudioVolumeIndex : int32_t {
    INDEX_STREAM = 0,
    STREAM = 0,
    INDEX_VOLUME = 1,
    VOLUME = 1,
    INDEX_STATE = 2,
    STATE = 2,
};
};


/**
/**
+1 −1
Original line number Original line Diff line number Diff line
@@ -189,7 +189,7 @@ fe3c3c2f572b72f15f8594c538b0577bd5c28722c31879cfe6231330cddb6747 android.hardwar


# ABI preserving changes to HALs during Android O MR1 (Initial Set)
# ABI preserving changes to HALs during Android O MR1 (Initial Set)


d4f2b9c1ec923de301c344d2fc52e54a7db0b0a01bb40f49d844b95394f09cc0 android.hardware.automotive.vehicle@2.0::types
26a4dd19a71f3a28249100af29be470f80e08355165fe6a7173aaa1ef264640d android.hardware.automotive.vehicle@2.0::types
150a338ce11fcec70757c9675d83cf6a5d7b40d0c812741b91671fecce59eac9 android.hardware.broadcastradio@1.0::types
150a338ce11fcec70757c9675d83cf6a5d7b40d0c812741b91671fecce59eac9 android.hardware.broadcastradio@1.0::types
dc7e6d4f537b9943e27edc4f86c5a03bb643b18f18f866f8c3c71c0ac4ea8cbc android.hardware.broadcastradio@1.0::types
dc7e6d4f537b9943e27edc4f86c5a03bb643b18f18f866f8c3c71c0ac4ea8cbc android.hardware.broadcastradio@1.0::types
760485232f6cce07f8bb05e3475509956996b702f77415ee5bff05e2ec5a5bcc android.hardware.dumpstate@1.0::IDumpstateDevice
760485232f6cce07f8bb05e3475509956996b702f77415ee5bff05e2ec5a5bcc android.hardware.dumpstate@1.0::IDumpstateDevice