Skip to content

Audio with no cover art renders the VLC video surface instead of the placeholder #8

Description

@SolRaze

Sources/App/PlayerView.swift:66:

if player.current?.artwork == nil, player.duration > 0 {
    VideoSurface(view: player.videoView)

The comment says "VLC-only video (mkv/webm/…) draws here; audio shows the placeholder square" — but the condition never checks whether the item is video. duration > 0 is true for audio too, so any audio file with no embedded cover renders the (empty) VLC video surface.

The music.note placeholder in the else branch is only reachable while duration == 0, i.e. before load completes — so in practice it never shows for a loaded track.

Impact — audio files without embedded art show a blank box instead of the placeholder.

Fix sketchPlayer.Item has no isVideo flag; LibraryItem does. Thread it through and gate the branch on it rather than on duration.

Possibly related to #3, but distinct: that one is about playlist entries being routed audio-only by design.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions