## webrtcechoprobe webrtcechoprobe |

## Types and Values

struct | GstWebrtcEchoProbe

## Description

This echo probe is to be used with the webrtcdsp element. See gst-plugins-bad-plugins-webrtcdsp documentation for more details.

## Synopsis

### Element Information

plugin | webrtcdsp
author | Nicolas Dufresne <nicolas.dufrsesne@collabora.com>
class | Generic/Audio

### Element Pads

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 ]

## Functions

## Types and Values

### struct GstWebrtcEchoProbe

    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.