class

Emerald::VLC::Media

Inherits Reference < Object

Represents a media resource (local file or network stream) with parsing and metadata inspection.

Constructors

new(source : String, instance : Instance | Nil = nil, decoder_config : Core::VideoDecoderConfig | Nil = nil)
Source

Instance methods

add_option(option : String) : self

Adds a LibVLC per-media option string (e.g. ":avcodec-hw=d3d11va")

Source
add_options(opts : Enumerable(String)) : self

Adds multiple LibVLC per-media option strings

Source
add_slave(slave_type : LibVLC::MediaSlaveType, uri : String, priority : UInt32 = 1_u32) : Bool

Adds an external slave track (e.g. an external .srt subtitle or audio dub)

Source
apply_decoder_config(config : Core::VideoDecoderConfig) : self

Applies a Core::VideoDecoderConfig to this media resource

Source
audio_tracks

Queries all audio tracks embedded in the media

Source
duration_ms

Media duration in milliseconds (-1 if unknown or live stream)

Source
finalize
Source
get_meta(meta : LibVLC::Meta) : String | Nil

Helper to read a specific LibVLC metadata string

Source
handle
Source
hardware_acceleration=(backend : Core::HardwareAcceleration) : Core::HardwareAcceleration

Sets the hardware video acceleration backend for this media resource

Source
instance
Source
metadata

Extracts comprehensive metadata from media tags

Source
options
Source
parse(timeout_ms : Int32 = 3000) : Bool

Parses metadata and stream tracks with optional timeout

Source
state

Current media parsing/loading state

Source
subtitle_tracks

Queries all subtitle / closed-caption tracks embedded in the media

Source
video_tracks

Queries all video tracks embedded in the media

Source