Membrane.MPEGAudio (Membrane MPEG Audio format v0.3.2)

Copy Markdown View Source

This module implements struct for caps representing MPEG audio stream.

See MPEG Frame header documentation

Summary

Functions

Returns the size of a frame in bytes. The result does not include the size of a header.

Returns the size of MPEG audio frame header (4 bytes).

Returns amount of raw audio samples that are in the frame for given version/layer combination.

Returns one 'silent' frame along with its caps.

Types

bitrate_t()

@type bitrate_t() :: pos_integer() | :free

channel_mode_t()

@type channel_mode_t() :: :stereo | :joint_stereo | :dual_channel | :single_channel

copyright_t()

@type copyright_t() :: boolean()

crc_enabled_t()

@type crc_enabled_t() :: boolean()

emphasis_mode_t()

@type emphasis_mode_t() :: :none | :emphasis_50_15 | :reserved | :ccit_j_17

layer_t()

@type layer_t() :: :layer1 | :layer2 | :layer3

mode_extension_t()

@type mode_extension_t() :: :mode0 | :mode1 | :mode2 | :mode3 | nil

original_t()

@type original_t() :: boolean()

padding_enabled_t()

@type padding_enabled_t() :: boolean()

private_t()

@type private_t() :: boolean()

sample_rate_t()

@type sample_rate_t() :: pos_integer()

t()

@type t() :: %Membrane.MPEGAudio{
  bitrate: bitrate_t(),
  channel_mode: channel_mode_t(),
  channels: term(),
  copyright: copyright_t(),
  crc_enabled: crc_enabled_t(),
  emphasis_mode: emphasis_mode_t(),
  layer: layer_t(),
  mode_extension: mode_extension_t(),
  original: original_t(),
  padding_enabled: padding_enabled_t(),
  private: private_t(),
  sample_rate: sample_rate_t(),
  version: version_t()
}

version_t()

@type version_t() :: :v1 | :v2 | :v2_5

Functions

frame_size(mpeg_audio)

@spec frame_size(caps :: t()) :: pos_integer()

Returns the size of a frame in bytes. The result does not include the size of a header.

header_size()

@spec header_size() :: 4

Returns the size of MPEG audio frame header (4 bytes).

samples_per_frame(atom1, atom2)

@spec samples_per_frame(version_t(), layer_t()) :: pos_integer()

Returns amount of raw audio samples that are in the frame for given version/layer combination.

Inlined by the compiler.

sound_of_silence()

@spec sound_of_silence() :: {binary(), t()}

Returns one 'silent' frame along with its caps.

Inlined by the compiler.