PrismCore / API reference / Probing and input

Structure

AudioTrackInfo

struct AudioTrackInfo

Declared in Sources/PrismCore/Probe/SourceProbe.swift · PrismCore 3.5.4

No documentation comment in the source.

Initializers

init(streamIndex: Int, codecName: String, profileName: String?, channelCount: Int, channelLayoutDescription: String?, sampleRate: Int, bitRate: Int64? = nil, language: String?, title: String?, isObjectAudio: Bool, copyability: StreamCopyability)

Explicit, with new-field defaults — same rule as VideoTrackInfo.

Instance properties

let streamIndex: Int

No documentation comment in the source.

let codecName: String

No documentation comment in the source.

let profileName: String?

No documentation comment in the source.

let channelCount: Int

No documentation comment in the source.

let channelLayoutDescription: String?

No documentation comment in the source.

let sampleRate: Int

No documentation comment in the source.

let bitRate: Int64?

Declared bits/second (codecpar->bit_rate); audio containers usually carry it. nil when absent.

let language: String?

No documentation comment in the source.

let title: String?

No documentation comment in the source.

let isObjectAudio: Bool

Whether this track carries object audio — Dolby Atmos.

Only meaningful for EAC3, where the objects ride as JOC inside a stream PrismCore copies untouched, and where HLS has a way to say so (CHANNELS="16/JOC"). It is reported for TrueHD and DTS-HD MA X too, but there it is informational only: those need the audio bridge, and the bridge decodes to PCM and re-encodes to EAC3, which destroys the objects. A bridged track is surround, never Atmos — so nothing must ever declare JOC on the bridge's output.

Read from AVCodecParameters.profile, which libavformat only fills in once the parser has seen real packets — hence after avformat_find_stream_info, which probe always runs.

let copyability: StreamCopyability

No documentation comment in the source.

Generated from the public symbols of PrismCore 3.5.4. All types