cutter plugin by thomas 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