Problem using audiofx in a live/webrtc context
gdenispro at gmail.com
Tue May 25 16:06:39 UTC 2021
I've successfully used audiofx elements to process files, for instance
gst-launch-1.0 filesrc location=in.wav ! decodebin ! audioconvert !
audio/x-raw, channels=1 ! audioecho delay=500000000 intensity=0.6
feedback=0.4 ! wavenc ! filesink location=out.wav
But within a webrtc initiated stream, the processed sound is polluted
with small noises or silences. If I use a tee to record the result:
appsrc format=time is-live=true do-timestamp=true name=src !
audioecho delay=500000000 intensity=0.6 feedback=0.4 !
tee name=teeout !
queue max-size-buffers=0 max-size-bytes=0 max-size-time=5000000000 !
oggmux ! filesink location=logs/audio-out.ogg
queue max-size-buffers=0 max-size-bytes=0 !
appsink name=sink qos=true
-> Interestingly the recorded file is free from defects, while the live
heard output is polluted (same result without the tee and queues).
I have tried several audiofx elements with the same result, but when I
use the pitch plugin, the problem does not occur.
Is there anything to consider in this pipeline to have audiofx work?
Ultimately, my goal is to reuse a simple working GstAudioFilter source
code and modify it to create a different effect.
More information about the gstreamer-devel