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!