gstreamer/subprojects/gst-plugins-base/tests
Roman Lebedev 8b1500d7ff volume: support arbitrarily-large positive gains
The current limit is `x10`, which allows just `+20 dB` of gain.

While it may seem sufficient, this came up as a problem
in a real-world, non-specially-engineered situation,
in strawberry's EBU R 128 loudness normalization.
(https://github.com/strawberrymusicplayer/strawberry/pull/1216)

There is an audio track (that was not intentionally engineered that way),
that has integrated loudness of `-38 LUFS`,
and if we want to normalize it's loudness to e.g. `-16 LUFS`,
which is a very reasonable thing to do,
we need to apply gain of `+22 dB`,
which is larger than `+20 dB`, and we fail...

I think it should allow at least `+96 dB` of gain,
and therefore should be at `10^(96/20) ~= 63096`.

But, i don't see why we need to put any specific restriction
on that parameter in the first place, other than the fact
that the fixed-point multiplication scheme does not support volume
larger than 15x-ish.

So let's just implement a floating-point fall-back path
that does not involve fixed-point multiplication
and lift the restriction altogether?

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5063>
2023-08-07 13:17:45 +00:00
..
check volume: support arbitrarily-large positive gains 2023-08-07 13:17:45 +00:00
examples gst-plugins-base: re-indent with GNU indent 2.2.12 2023-03-17 03:18:53 +00:00
files theoradec: make sure the selected pool accepts the new config 2023-05-12 14:37:06 +02:00
interactive test: Update all video related tests because of adding DMA_DRM format 2023-07-19 09:57:50 +00:00
validate validate tests: include debugutilsbad to be able to use testsrcbin 2023-06-27 10:13:19 +00:00
meson.build gstreamer-full: add full static support 2023-05-31 15:17:11 +00:00