Packages
membrane_core
1.3.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/buffer/metric.ex
defmodule Membrane.Buffer.Metric do
@moduledoc """
Specifies the type for demand units.
> #### Deprecated behaviour {: .warning}
> The callbacks defined here are deprecated. The metric functionality has been moved
> to the internal API of the Membrane Framework.
"""
alias Membrane.Buffer
alias __MODULE__
@type unit :: :buffers | :bytes
@callback buffer_size_approximation() :: pos_integer
@callback buffers_size([Buffer.t()]) :: non_neg_integer
@callback split_buffers([Buffer.t()], non_neg_integer) ::
{[Buffer.t()], [Buffer.t()]}
@spec from_unit(unit()) :: module()
def from_unit(:buffers), do: Metric.Count
def from_unit(:bytes), do: Metric.ByteSize
end