Populate richer DIDL-Lite metadata for DLNA cast (#934)

Extend MediaItemMetadata with TrackNumber, Size, BitRate, SampleRate,
BitDepth, and ChannelCount (all already present on Track) and populate
them in Track.Metadata(). Thread them through dlnaplayer.go into the
avtransport.MediaItem so the renderer's DIDL-Lite includes upnp:artist,
upnp:album, upnp:originalTrackNumber, plus <res> attributes for
duration, size, bitrate, sampleFrequency, bitsPerSample, and
nrAudioChannels. The previously dropped Duration field is now
populated too.

For cover art, add a CoverArtPathFn callback on PlaybackManager wired
to ImageManager.GetCoverArtPath in app.go. The DLNA player invokes it
when a track is queued, registers the cached cover-thumbnail path
with the local proxy, and emits the resulting proxy URL as
upnp:albumArtURI so the renderer can display album art alongside the
audio.

Bumps go-upnpcast to pull in the MediaItem fields and DIDL-Lite
emission added in supersonic-app/go-upnpcast#4.
This commit is contained in:
Andrew G. Dunn
2026-06-01 16:39:48 -07:00
committed by GitHub
parent 3205bb33f2
commit 6b6701e973
6 changed files with 101 additions and 42 deletions
+1 -1
View File
@@ -23,7 +23,7 @@ require (
github.com/supersonic-app/fyne-lyrics v0.0.0-20250614151306-b1880a70a410
github.com/supersonic-app/go-mpv v0.1.1-0.20250822102843-7a8cde5f5449
github.com/supersonic-app/go-subsonic v0.0.0-20260416152144-7a5f505a273c
github.com/supersonic-app/go-upnpcast v0.1.0
github.com/supersonic-app/go-upnpcast v0.1.1-0.20260517163705-d76cd97c192f
github.com/zalando/go-keyring v0.2.8
golang.org/x/net v0.50.0
golang.org/x/sys v0.41.0