jellyflood/Shared/Objects/MediaComponents/AudoCodec.swift

115 lines
2.5 KiB
Swift

//
// Swiftfin is subject to the terms of the Mozilla Public
// License, v2.0. If a copy of the MPL was not distributed with this
// file, you can obtain one at https://mozilla.org/MPL/2.0/.
//
// Copyright (c) 2025 Jellyfin & Jellyfin Contributors
//
import Defaults
enum AudioCodec: String, CaseIterable, Codable, Displayable, Defaults.Serializable {
case aac
case ac3
case amr_nb
case amr_wb
case dts
case dts_hd
case eac3
case flac
case alac
case mlp
case mp1
case mp2
case mp3
case nellymoser
case opus
case pcm_alaw
case pcm_bluray
case pcm_dvd
case pcm_mulaw
case pcm_s16be
case pcm_s16le
case pcm_s24be
case pcm_s24le
case pcm_u8
case speex
case truehd
case vorbis
case wavpack
case wmalossless
case wmapro
case wmav1
case wmav2
var displayTitle: String {
switch self {
case .aac:
return "AAC"
case .ac3:
return "AC-3"
case .amr_nb:
return "AMR-NB"
case .amr_wb:
return "AMR-WB"
case .dts:
return "DTS"
case .dts_hd:
return "DTS-HD"
case .eac3:
return "E-AC-3"
case .flac:
return "FLAC"
case .alac:
return "ALAC"
case .mlp:
return "MLP"
case .mp1:
return "MP1"
case .mp2:
return "MP2"
case .mp3:
return "MP3"
case .nellymoser:
return "Nellymoser"
case .opus:
return "Opus"
case .pcm_alaw:
return "PCM ALAW"
case .pcm_bluray:
return "PCM Bluray"
case .pcm_dvd:
return "PCM DVD"
case .pcm_mulaw:
return "PCM MULAW"
case .pcm_s16be:
return "PCM S16BE"
case .pcm_s16le:
return "PCM S16LE"
case .pcm_s24be:
return "PCM S24BE"
case .pcm_s24le:
return "PCM S24LE"
case .pcm_u8:
return "PCM U8"
case .speex:
return "Speex"
case .truehd:
return "TrueHD"
case .vorbis:
return "Vorbis"
case .wavpack:
return "WavPack"
case .wmalossless:
return "WMA Lossless"
case .wmapro:
return "WMA Pro"
case .wmav1:
return "WMA V1"
case .wmav2:
return "WMA V2"
}
}
}