"level" Plugin Producing `level` value outside of Stated Range

I’m hoping I’ve done something stupid, but, I’ve created a “silent” .wav file by ingesting a source .wav file, zeroing out the inbuf in a custom plugin, and outputting to a .wav file sink, using a pipeline like the following:

gst-launch-1.0 filesrc location= ./some_sounds.wav ! wavparse ! \
      identity silent=0 ! customplugin customlib-name="./libcustom_audioimpl.so" \
      ! wavenc ! filesink location=muted.wav

If I then use the following pipeline:

gst-launch-1.0 filesrc location= ./muted.wav ! wavparse ! \
      identity silent=0 ! level post-messages=FALSE interval=500 audio-level-meta=TRUE ! leveloutput \
      ! wavenc ! filesink location= still_muted.wav

…the “leveloutput” plugin prints out the level at each interval with a constant dBov value, which I expect; however, the value is 187 instead of the max 127 the documentation states here: https://gstreamer.freedesktop.org/documentation/audio/gstaudiometa.html?gi-language=c#GstAudioLevelMeta

The “leveloutput” plugin just does a simple cout statement using something like unsigned(level_meta->level).

Why the 187 instead of 127? Again, I’ve likely done something wrong/stupid and it’s staring me right in the face, but at present I can’t tell what it is.

Thanks in advance!

That seems like a bug. Can you create an issue in gitlab about that with a way to reproduce it?

I’ve done so here: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/4068

Hopefully that’s sufficient, but if additional info is needed, I’ll do my best to reply.

Thank you.