View Source ExMP4.Helper (MP4 Reader and Writer v0.9.0)

Helper functions.

Summary

Functions

Format a millisecond duration as H:MM:ss.mmm

Convert duration between different timescales.

Types

@type timescale() ::
  :nanosecond | :microsecond | :millisecond | :second | integer() | Ratio.t()

Functions

Link to this function

format_duration(duration_ms)

View Source
@spec format_duration(non_neg_integer()) :: String.t()

Format a millisecond duration as H:MM:ss.mmm

iex> ExMP4.Helper.format_duration(100)
"0:00:00.100"

iex> ExMP4.Helper.format_duration(165_469_850)
"45:57:49.850"
Link to this function

timescalify(time, timescale, timescale)

View Source
@spec timescalify(Ratio.t() | integer(), timescale(), timescale()) :: integer()

Convert duration between different timescales.

iex> ExMP4.Helper.timescalify(1900, 90000, :millisecond)
21

iex> ExMP4.Helper.timescalify(21, :millisecond, 90_000)
1890

iex> ExMP4.Helper.timescalify(10, Ratio.new(30_000, 1001), Ratio.new(40, 2))
7

iex> ExMP4.Helper.timescalify(1600, :millisecond, :second)
2

iex> ExMP4.Helper.timescalify(15, :nanosecond, :nanosecond)
15