View Source Membrane.Buffer.Metric behaviour (Membrane Core v0.11.0)

Specifies API for metrics that analyze data in terms of a given unit

Link to this section Summary

Link to this section Types

@type unit_t() :: :buffers | :bytes

Link to this section Callbacks

Link to this callback

buffer_size_approximation()

View Source
@callback buffer_size_approximation() :: pos_integer()
@callback buffers_size(
  [
    %Membrane.Buffer{
      dts: term(),
      metadata: term(),
      payload: term(),
      pts: term()
    }
  ]
  | []
) ::
  non_neg_integer()
Link to this callback

split_buffers(arg1, non_neg_integer)

View Source
@callback split_buffers(
  [
    %Membrane.Buffer{
      dts: term(),
      metadata: term(),
      payload: term(),
      pts: term()
    }
  ]
  | [],
  non_neg_integer()
) ::
  {[
     %Membrane.Buffer{
       dts: term(),
       metadata: term(),
       payload: term(),
       pts: term()
     }
   ]
   | [],
   [
     %Membrane.Buffer{
       dts: term(),
       metadata: term(),
       payload: term(),
       pts: term()
     }
   ]
   | []}

Link to this section Functions

@spec from_unit(unit_t()) :: module()