# `Membrane.Connector`
[🔗](https://github.com/membraneframework/membrane-core/blob/v1.3.0/lib/membrane/connector.ex#L1)

Membrane Filter with input and output dynamic pads, that forwards incoming data to the opposite
side than the one from which it came.

If pad from one side is not linked yet, the data will be buffered until both pads are linked.

## Element options

Passed via struct `t:Membrane.Connector.t/0`

- `notify_on_stream_format?`  

  ```
  boolean()
  ```
  
  Default value: `false`  
  If `true`, Membrane.Connector will send `{:stream_format, pad_ref, stream_format}` notification to parent on every stream format arrival.
  
  Defaults to `false`.

- `notify_on_event?`  

  ```
  boolean()
  ```
  
  Default value: `false`  
  If `true`, Membrane.Connector will send `{:event, pad_ref, event}` notification to parent on every event arrival.
  
  Defaults to `false`.

## Pads

### `:input`

Accepted formats:
```
_any
```

Direction: | `:input`
Availability: | `:on_request`
Flow control: | `:auto`

### `:output`

Accepted formats:
```
_any
```

Direction: | `:output`
Availability: | `:on_request`
Flow control: | `:auto`

# `t`

```elixir
@type t() :: %Membrane.Connector{
  notify_on_event?: boolean(),
  notify_on_stream_format?: boolean()
}
```

Struct containing options for `Membrane.Connector`

# `options`

```elixir
@spec options() :: keyword()
```

Returns description of options available for this module

---

*Consult [api-reference.md](api-reference.md) for complete listing*
