View Source Membrane.Element.PadData (Membrane Core v1.0.0-rc0)

Struct describing current pad state.

The public fields are:

  • :availability - see Membrane.Pad.availability/0
  • :stream_format - the most recent Membrane.StreamFormat.t/0 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 :auto or :manual flow control mode.
  • :direction - see Membrane.Pad.direction/0
  • :end_of_stream? - flag determining whether the stream processing via the pad has been finished
  • :flow_control - see Membrane.Pad.flow_control/0.
  • :name - see Membrane.Pad.name/0. Do not mistake with :ref
  • :options - options passed in Membrane.ParentSpec when linking pad
  • :ref - see Membrane.Pad.ref/0
  • :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{
  associated_pads: private_field(),
  auto_demand_size: private_field(),
  availability: Membrane.Pad.availability(),
  demand: integer() | nil,
  demand_unit: private_field(),
  direction: Membrane.Pad.direction(),
  end_of_stream?: boolean(),
  flow_control: Membrane.Pad.flow_control(),
  input_queue: private_field(),
  name: Membrane.Pad.name(),
  options: %{optional(atom()) => any()},
  other_demand_unit: private_field(),
  other_ref: private_field(),
  pid: private_field(),
  ref: Membrane.Pad.ref(),
  start_of_stream?: boolean(),
  sticky_events: private_field(),
  sticky_messages: private_field(),
  stream_format: Membrane.StreamFormat.t() | nil,
  stream_format_validation_params: private_field(),
  toilet: private_field()
}