volume

Playback volume, from silence at 0 through unity at 1 to amplification at 2.

The pipeline's own bound is the ring's, because that is where the gain is applied and where a boost is folded through the saturator. The POLICY bound is the player's AudioConfig.volumeCeiling, which is 1 unless a consumer raised it: this class is reached through the engine, and the engine refuses a boost the configuration did not allow.

Real, and applied by the pipeline's gain stage as one multiply per sample with a short ramp, so a change never clicks. It takes effect on the next buffer the feeder converts, which is why setting it is safe from any thread: this stores a value and the feeder reads it, rather than writing into a stage that has one owner.

With no audio path open the value is stored and applied when one opens.