Current section

Files

Jump to
xberg lib xberg audio_metadata.ex
Raw

lib/xberg/audio_metadata.ex

# This file is auto-generated by alef — DO NOT EDIT.
# alef:hash:ba94fe4cec719c31f8ac484fcc2aba1d30db0f87dea8b1b6d0257417a4a260e2
# To regenerate: alef generate
# To verify freshness: alef verify --exit-code
defmodule Xberg.AudioMetadata do
@moduledoc """
Audio/video file metadata.
Populated from container tags (ID3v2, MP4 atoms, Vorbis comments, etc.) and
PCM decode properties. Available when the `transcription-types` feature is enabled.
"""
@typedoc "Audio/video file metadata."
@type t :: %__MODULE__{
duration_ms: non_neg_integer() | nil,
codec: String.t() | nil,
container: String.t() | nil,
sample_rate_hz: non_neg_integer() | nil,
channels: non_neg_integer() | nil,
bitrate: non_neg_integer() | nil
}
defstruct duration_ms: nil,
codec: nil,
container: nil,
sample_rate_hz: nil,
channels: nil,
bitrate: nil
defimpl Jason.Encoder do
@doc false
def encode(value, opts) do
value
|> Map.from_struct()
|> Enum.reject(fn {_k, v} -> v == nil end)
|> Enum.into(%{})
|> Jason.Encoder.encode(opts)
end
end
end