Packages
membrane_core
0.2.2
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/element/pad_data.ex
defmodule Membrane.Element.Pad.Data do
@moduledoc """
Struct describing current pad state.
The public fields are:
- `caps` - `Membrane.Caps` on the pad (may be `nil` if not yet set)
- `start_of_stream?` - flag determining whether `Membrane.Event.StartOfStream`
has been received on the pad
- `end_of_stream?` - flag determining whether `Membrane.Event.EndOfStream`
has been received 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.Element.Pad
alias Membrane.{Buffer, Caps, Core, Event}
alias Buffer.Metric
alias Core.PullBuffer
use Bunch.Access
@type t :: %__MODULE__{
accepted_caps: any,
availability: Pad.availability_t(),
direction: Pad.direction_t(),
mode: Pad.mode_t(),
demand_unit: Metric.unit_t(),
other_demand_unit: Metric.unit_t(),
current_id: non_neg_integer,
pid: pid,
other_ref: Pad.ref_t(),
caps: Caps.t() | nil,
start_of_stream?: boolean(),
end_of_stream?: boolean(),
sticky_messages: [Event.t()],
buffer: PullBuffer.t(),
demand: integer()
}
defstruct [
:accepted_caps,
:availability,
:direction,
:mode,
:demand_unit,
:other_demand_unit,
:current_id,
:pid,
:other_ref,
:caps,
:start_of_stream?,
:end_of_stream?,
:sticky_messages,
:buffer,
:demand
]
end