fuchsia.settings.policy

Added: 7

ENUMS

Error strict

Type: uint32

Defined in fuchsia.settings.policy/error.fidl

Common error code used across policies.

NameValueDescription
1

Generic internal failure.

2

The specified policy ID is not known.

This may happen if another client removed a policy between a Get call and a RemovePolicy call.

3

The specified policy contradicts an existing policy.

This may happen if another client added a policy between a Get call and an AddPolicy call.

Transform strict

Type: uint8

Defined in fuchsia.settings.policy/volume_policy.fidl

Possible transforms for a policy target.

A transform is an operation that is applied to a policy property when the fuchsia.settings.Audio API is used. Multiple transforms of the same time can be active for a single property.

NameValueDescription
1

Limits the maximum value of an audio stream to a certain level.

Max volume limits are transparent to clients of fuchsia.settings.Audio. Clients will always be able to set the volume to 1.0 (max) to prevent user confusion about not being able to set the volume to max. The internal volume, which is communicated to AudioCore to set the true volume level, will always be clamped to the specified maximum.

Externally, the volume percentage will always be a percentage of the max allowed by policy. For example, if the max limit is set to 0.8, a client setting the volume to 1.0 translates to 0.8 internally. An external volume of 0.5 would be scaled to 0.4 internally.

If a min volume limit is present, the minimum external volume will be the min volume limit divided by the max volume limit. For example, if the max volume limit is 0.8 and the min volume limit is 0.2, the lowest possible external volume is 0.25, since 0.2 is 25% of 0.8. The min range is not transparent to clients to prevent the confusion of volume being at 0% but still being able to hear audio.

2

Limits the minimum value of an audio stream to a certain level.

If the volume is below the specified minimum level when the policy is added, it will automatically be raised to the specified minimum. Calls to set the volume below the minimum level will not fail, but the actual volume will stay above the specified minimum level.

Note that the minimum volume limit is a limit on the internal "true" volume level. If a maximum volume policy is set, the minimum that clients of fuchsia.settings.Audio will see is higher. See the documentation of the MAX volume transform for more information.

TABLES

Policy

Defined in fuchsia.settings.policy/volume_policy.fidl

Definition for a policy that is applied to the fuchsia.settings.Audio API.

OrdinalFieldTypeDescription
policy_id PolicyId

Unique identifier for this policy.

Returned from AddPolicy and also used by RemovePolicy.

parameters PolicyParameters

Parameters for this policy.

Property

Defined in fuchsia.settings.policy/volume_policy.fidl

A controllable property of the fuchsia.settings.Audio API that can have transforms applied to it.

OrdinalFieldTypeDescription
target Target

Unique aspect of settings that this property controls.

Only one property may control any given target.

available_transforms vector<Transform>

List of available transform types for this property.

active_policies vector<Policy>

List of active policies for this property.

Volume

Defined in fuchsia.settings.policy/volume_policy.fidl

OrdinalFieldTypeDescription
volume float32

A volume between 0.0 and 1.0 inclusive.

UNIONS

PolicyParameters strict

Defined in fuchsia.settings.policy/volume_policy.fidl

Specifies the type of policy transform and its arguments.

The chosen union field implies the type of transform that the arguments apply to.

OrdinalVariantTypeDescription
min Volume

This parameter should be included for the MIN transform and specifies the volume level to clamp the audio stream to.

max Volume

This parameter should be included for the MAX transform and specifies the volume level to clamp the audio stream to.

Target strict

Defined in fuchsia.settings.policy/volume_policy.fidl

Specifies what aspect of the settings a property controls.

OrdinalVariantTypeDescription
stream fuchsia.media/AudioRenderUsage

An audio stream that can have policies applied to it.

ALIASES

NameValueDescription
PolicyId uint32