The volume element has a maximum gain of 10 which is overly restrictive
In gstvolume.c
we have the following.
#define VOLUME_MAX_DOUBLE 10.0
g_object_class_install_property (gobject_class, PROP_VOLUME,
g_param_spec_double ("volume", "Volume", "volume factor, 1.0=100%",
0.0, VOLUME_MAX_DOUBLE, DEFAULT_PROP_VOLUME,
G_PARAM_READWRITE | GST_PARAM_CONTROLLABLE | G_PARAM_STATIC_STRINGS));
So we can only scale an audio waveform by a factor of 10
, no more. This is overly restrictive, especially considering the fact that the audio signals can have some large bit depths (even floating point) which implies a huge amount of dynamic range (for plenty of headroom).
Do we need to have a maximum value? Perhaps we should just set it to positive infinity (1.0/0.0
) and let the user decide what a reasonable value is.