defmodule Membrane.ChildEntry do @moduledoc """ Struct describing child entry of a parent. The public fields are: - `name` - child name - `module` - child module - `group` - child group name - `options` - options passed to the child - `component_type` - either `:element` or `:bin` - `playback` - either `:stopped` or `:playing` Other fields in the struct ARE NOT PART OF THE PUBLIC API and should not be accessed or relied on. """ use Bunch.Access @typedoc @moduledoc @type t :: %__MODULE__{ name: Membrane.Child.name(), module: module, options: struct | nil, component_type: :element | :bin, pid: pid, clock: Membrane.Clock.t(), sync: Membrane.Sync.t(), terminating?: boolean(), group: Membrane.Child.group() } defstruct [ :name, :module, :options, :component_type, :pid, :clock, :sync, :spec_ref, :group, initialized?: false, ready?: false, terminating?: false ] end