View Source Membrane.Element.PadData (Membrane Core v0.10.2)

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.
  • :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.
  • :demand - current demand requested on the pad working in pull mode.
  • :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.
  • :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

@type private_field() :: term()
@type t() :: %Membrane.Element.PadData{
  accepted_caps: Membrane.Caps.Matcher.caps_specs_t(),
  associated_pads: private_field(),
  auto_demand_size: private_field(),
  availability: Membrane.Pad.availability_t(),
  caps: Membrane.Caps.t() | nil,
  demand: integer() | nil,
  demand_mode: private_field(),
  demand_unit: private_field(),
  direction: Membrane.Pad.direction_t(),
  end_of_stream?: boolean(),
  input_queue: private_field(),
  mode: Membrane.Pad.mode_t(),
  name: Membrane.Pad.name_t(),
  options: %{optional(atom()) => any()},
  other_demand_unit: private_field(),
  other_ref: private_field(),
  pid: private_field(),
  ref: Membrane.Pad.ref_t(),
  start_of_stream?: boolean(),
  sticky_messages: private_field(),
  toilet: private_field()
}