gstreamer/gst/cutter
Thomas Vander Stichele 15c52996c2 port cutter
Original commit message from CVS:

* configure.ac:
* gst/cutter/Makefile.am:
* gst/cutter/gstcutter.c: (gst_cutter_class_init),
(gst_cutter_init), (gst_cutter_message_new), (gst_cutter_chain),
(gst_cutter_set_property), (gst_cutter_get_property),
(plugin_init), (gst_cutter_get_caps):
port cutter
* gst/level/gstlevel.c:
fix up plugin details
2005-11-21 19:50:25 +00:00
..
cutter.vcproj more working plugins 2004-07-27 21:41:30 +00:00
filter.func Initial revision 2001-12-22 23:27:31 +00:00
gstcutter.c port cutter 2005-11-21 19:50:25 +00:00
gstcutter.h *.h: Revert indenting 2004-03-15 16:32:54 +00:00
Makefile.am port cutter 2005-11-21 19:50:25 +00:00
README Initial revision 2001-12-22 23:27:31 +00:00

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