Packages
membrane_core
0.9.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/bin/pad_data.ex
defmodule Membrane.Bin.PadData 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.
- `:availability` - see `Membrane.Pad.availability_t`
- `:direction` - see `Membrane.Pad.direction_t`
- `: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`
Other fields in the struct ARE NOT PART OF THE PUBLIC API and should not be
accessed or relied on.
"""
use Bunch.Access
@type private_field :: term()
@type t :: %__MODULE__{
ref: Membrane.Pad.ref_t(),
options: Membrane.ParentSpec.pad_options_t(),
accepted_caps: Membrane.Caps.Matcher.caps_specs_t(),
availability: Membrane.Pad.availability_t(),
direction: Membrane.Pad.direction_t(),
mode: Membrane.Pad.mode_t(),
name: Membrane.Pad.name_t(),
link_id: private_field,
endpoint: private_field,
linked?: private_field,
response_received?: private_field,
spec_ref: private_field,
demand_unit: private_field
}
@enforce_keys [
:ref,
:options,
:accepted_caps,
:availability,
:direction,
:mode,
:name,
:link_id,
:endpoint,
:linked?,
:response_received?,
:spec_ref
]
defstruct @enforce_keys ++ [demand_unit: nil]
end