Packages
membrane_core
0.5.0
1.3.4
1.3.3
1.3.2
1.3.1
1.3.0
1.2.7
1.2.6
1.2.5
retired
1.2.4
1.2.3
1.2.2
1.2.1
1.2.0
1.2.0-rc1
1.1.2
1.1.1
1.1.0
1.1.0-rc1
1.1.0-rc0
1.0.1
1.0.0
1.0.0-rc1
1.0.0-rc0
0.12.9
0.12.8
0.12.7
0.12.6
0.12.5
0.12.4
0.12.3
0.12.2
0.12.1
0.12.0
retired
0.11.5
0.11.4
0.11.3
0.11.2
0.11.1
0.11.0
0.10.2
0.10.1
0.10.0
0.9.0
0.8.2
0.8.1
0.8.0
0.7.0
0.6.1
0.6.0
0.5.3
0.5.2
0.5.1
0.5.0
0.4.3
0.4.2
0.4.1
0.4.0
0.3.2
0.3.1
0.3.0
0.2.2
0.2.1
0.2.0
0.1.1
0.1.0
Membrane Multimedia Framework (Core)
Current section
Files
Jump to
Current section
Files
lib/membrane/pad_data.ex
defmodule Membrane.Pad.Data do
@moduledoc """
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 `Membrane.Event.EndOfStream`
has been received (or sent) on the pad
- `: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 `Membrane.Event.StartOfStream`
has been received (or sent) on the pad
Other fields in the struct ARE NOT PART OF THE PUBLIC API and should not be
accessed or relied on.
"""
alias Membrane.Pad
alias Membrane.{Buffer, Caps, Core, Event}
alias Buffer.Metric
alias Core.InputBuffer
use Bunch.Access
@type t :: %__MODULE__{
accepted_caps: Caps.Matcher.caps_specs_t(),
availability: Pad.availability_t(),
direction: Pad.direction_t(),
mode: Pad.mode_t(),
name: Pad.name_t(),
ref: Pad.ref_t(),
demand_unit: Metric.unit_t() | nil,
other_demand_unit: Metric.unit_t() | nil,
pid: pid,
other_ref: Pad.ref_t(),
caps: Caps.t() | nil,
start_of_stream?: boolean(),
end_of_stream?: boolean(),
sticky_messages: [Event.t()],
input_buf: InputBuffer.t() | nil,
demand: integer() | nil,
options: %{optional(atom) => any},
bin?: boolean()
}
defstruct accepted_caps: nil,
availability: nil,
direction: nil,
mode: nil,
name: nil,
ref: nil,
demand_unit: nil,
other_demand_unit: nil,
pid: nil,
other_ref: nil,
caps: nil,
start_of_stream?: nil,
end_of_stream?: nil,
sticky_messages: nil,
input_buf: nil,
demand: nil,
options: %{},
bin?: false
end