Packages
membrane_core
0.7.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/core/playback.ex
defmodule Membrane.Core.Playback do
@moduledoc false
# This module defines available playback states and struct that is held
# internally by every module having playback state.
alias Membrane.PlaybackState
defstruct state: :stopped,
pending_state: nil,
target_state: :stopped,
async_state_change: false
@type t :: %__MODULE__{
state: PlaybackState.t(),
pending_state: PlaybackState.t() | nil,
target_state: PlaybackState.t(),
async_state_change: boolean
}
@spec stable?(t()) :: boolean
def stable?(%__MODULE__{state: state, pending_state: nil, target_state: state}), do: true
def stable?(%__MODULE__{}), do: false
end