| Top |  |  |  |  | 
This echo probe is to be used with the webrtcdsp element. See gst-plugins-bad-plugins-webrtcdsp documentation for more details.
| plugin | webrtcdsp | 
| author | Nicolas Dufresne <nicolas.dufrsesne@collabora.com> | 
| class | Generic/Audio | 
| name | sink | 
| direction | sink | 
| presence | always | 
| details | audio/x-raw, format=(string)S16LE, layout=(string)interleaved, rate=(int){ 48000, 32000, 16000, 8000 }, channels=(int)[ 1, 2147483647 ] | 
| name | src | 
| direction | source | 
| presence | always | 
| details | audio/x-raw, format=(string)S16LE, layout=(string)interleaved, rate=(int){ 48000, 32000, 16000, 8000 }, channels=(int)[ 1, 2147483647 ] | 
struct GstWebrtcEchoProbe {
  GstAudioFilter parent;
  /* This lock is required as the DSP may need to lock itself using it's
   * object lock and also lock the probe. The natural order for the DSP is
   * to lock the DSP and then the echo probe. If we where using the probe
   * object lock, we'd be racing with GstBin which will lock sink to src,
   * and may accidently reverse the order. */
  GMutex lock;
  /* Protected by the lock */
  GstAudioInfo info;
  guint period_size;
  guint period_samples;
  GstClockTime latency;
  gint delay;
  gboolean interleaved;
  GstSegment segment;
  GstAdapter *adapter;
  GstPlanarAudioAdapter *padapter;
  /* Private */
  gboolean acquired;
};
The adder object structure.