GstLevel
typedef struct {
GstBaseTransform element;
gboolean message; /* whether or not to post messages */
gdouble interval; /* how many seconds between emits */
gint rate; /* caps variables */
gint width;
gint channels;
gdouble decay_peak_ttl; /* time to live for peak in seconds */
gdouble decay_peak_falloff; /* falloff in dB/sec */
gint num_samples; /* one-channel sample count since last emit */
/* per-channel arrays for intermediate values */
gdouble *CS; /* normalized Cumulative Square */
gdouble *peak; /* normalized Peak value over buffer */
gdouble *last_peak; /* last normalized Peak value over interval */
gdouble *decay_peak; /* running decaying normalized Peak */
gdouble *MS; /* normalized Mean Square of buffer */
gdouble *RMS_dB; /* RMS in dB to emit */
gdouble *decay_peak_age; /* age of last peak in one-channel samples */
} GstLevel;