Membrane.Pad.Data (Membrane Core v0.7.0) View Source

Struct describing current pad state.

The public fields are:

  • :accepted_caps - specification of possible caps that are accepted on the pad. See Membrane.Caps.Matcher for more information. This field only applies to elements' pads.
  • :availability - see Membrane.Pad.availability_t
  • :caps - the most recent Membrane.Caps that have been sent (output) or received (input) on the pad. May be nil if not yet set. This field only applies to elements' pads.
  • :demand - current demand requested on the pad working in pull mode. This field only applies to elements' pads.
  • :direction - see Membrane.Pad.direction_t
  • :end_of_stream? - flag determining whether the stream processing via the pad has been finished
  • :mode - see Membrane.Pad.mode_t. This field only applies to elements' pads.
  • :name - see Membrane.Pad.name_t. Do not mistake with :ref
  • :options - options passed in Membrane.ParentSpec when linking pad
  • :ref - see Membrane.Pad.ref_t
  • :start_of_stream? - flag determining whether the stream processing via the pad has been started

Other fields in the struct ARE NOT PART OF THE PUBLIC API and should not be accessed or relied on.

Link to this section Summary

Link to this section Types

Specs

t() :: %Membrane.Pad.Data{
  accepted_caps: Membrane.Caps.Matcher.caps_specs_t(),
  availability: Membrane.Pad.availability_t(),
  caps: Membrane.Caps.t() | nil,
  demand: integer() | nil,
  demand_unit: Membrane.Buffer.Metric.unit_t() | nil,
  direction: Membrane.Pad.direction_t(),
  end_of_stream?: boolean(),
  input_buf: Membrane.Core.InputBuffer.t() | nil,
  mode: Membrane.Pad.mode_t(),
  name: Membrane.Pad.name_t(),
  options: %{optional(atom()) => any()},
  other_demand_unit: Membrane.Buffer.Metric.unit_t() | nil,
  other_ref: Membrane.Pad.ref_t(),
  pid: pid(),
  ref: Membrane.Pad.ref_t(),
  start_of_stream?: boolean(),
  sticky_messages: [Membrane.Event.t()]
}