Packages
membrane_core
0.2.1
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/core/playback.ex
defmodule Membrane.Core.Playback do
@moduledoc """
This module defines available playback states and struct that is held
internally by every module having playback state.
There are three playback states: `:stopped`, `:prepared` and `:playing`.
"""
use Bunch.Access
defstruct state: :stopped,
pending_state: nil,
target_state: :stopped,
target_locked?: false,
async_state_change: false
@type t :: %__MODULE__{
state: state_t,
pending_state: state_t | nil,
target_state: state_t,
target_locked?: boolean,
async_state_change: boolean
}
@type state_t :: :stopped | :prepared | :playing
defguard is_playback_state(atom) when atom in [:stopped, :prepared, :playing]
end