mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-09-08 21:28:45 +00:00
Buffer is added to the internal cache, and pushed only when accumulated buffer duration crosses 200 ms. So when the chain ends, the buffer accumulated is not freed. Freeing the cache when the state changes from PAUSED to READY. https://bugzilla.gnome.org/show_bug.cgi?id=754212 |
||
---|---|---|
.. | ||
cutter.vcproj | ||
filter.func | ||
gstcutter.c | ||
gstcutter.h | ||
Makefile.am | ||
README |
cutter plugin by thomas <thomas@apestaart.org> SYNOPSIS This plugin emits signals when RMS level of audio signal crosses a threshold for a given amount of time. As soon as the buffer's RMS is greater than the threshold value, the plugin fires a CUT_START signal. When the buffer's RMS level drops below the threshold value for a consecutive run length longer than the given runlength, it sends a CUT_STOP signal. When a pre-recording buffer is used, the plugin will delay throughput of data when it's in "silent" mode for a maximum length equal to the pre-recording buffer length. As soon as the input level crosses the threshold level, this pre-recorded buffer is flushed to the src pad (so you can actually record the audio just before the threshold crossing) after sending the signal. ARGUMENTS GstCutter::threshold level (between 0 and 1) of threshold GstCutter::threshold_dB level of threshold in dB (between -inf and 0) GstCutter::runlength minimum length (in seconds) before plugin sends cut_stop signal GstCutter::prelength length of pre-recording buffer SIGNALS CUT_START gets sent when the level of the signal goes above threshold level CUT_STOP gets sent when the level of the signal has been below the threshold level for a number of consecutive iterations of which the cumulative length is more than the runlength LIMITATIONS * RMS value is calculated over the whole data buffer, so the time resolution is limited to the buffer length * RMS value is calculated over all of the channels combined