This interface is implemented by elements that provide a stream volume.
Examples for such elements are volume and playbin.
Applications can use this interface to get or set the current stream volume. For this the "volume" Object
property can be used or the helper functions set_volume and
get_volume. This volume is always a linear factor, i.e. 0.0 is muted
1.0 is 100%. For showing the volume in a GUI it might make sense to convert it to a different format by using
convert_volume. Volume sliders should usually use a cubic
volume.
Separate from the volume the stream can also be muted by the "mute" Object property or
set_mute and
get_mute.
Elements that provide some kind of stream volume should implement the "volume" and "mute" Object properties
and handle setting and getting of them properly. The volume property is defined to be a linear volume factor.