View Source Membrane.Element.PadData (Membrane Core v1.1.0)

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.
  • :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
  • auto_demand_paused? - flag determining if auto-demanding on the pad is paused or no

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

Summary

Types

t()

Struct describing current pad state.

Types

@type private_field() :: term()
@type t() :: %Membrane.Element.PadData{
  atomic_demand: private_field(),
  auto_demand_paused?: boolean(),
  auto_demand_size: private_field(),
  auto_flow_queue: 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(),
  incoming_demand: integer() | nil,
  input_queue: private_field(),
  manual_demand_size: private_field(),
  name: Membrane.Pad.name(),
  options: %{optional(atom()) => any()},
  other_demand_unit: private_field(),
  other_effective_flow_control: private_field(),
  other_ref: private_field(),
  pid: private_field(),
  ref: Membrane.Pad.ref(),
  stalker_metrics: private_field(),
  start_of_stream?: boolean(),
  sticky_events: private_field(),
  sticky_messages: private_field(),
  stream_format: Membrane.StreamFormat.t() | nil,
  stream_format_validation_params: private_field()
}

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.
  • :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
  • auto_demand_paused? - flag determining if auto-demanding on the pad is paused or no

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