Better renderer and server support and higher level functions. Seek solutions.

This commit is contained in:
2026-08-08 14:27:29 +02:00
parent 91c6755bb1
commit 3fbcdb09d5
10 changed files with 324 additions and 5 deletions
+40
View File
@@ -71,6 +71,27 @@ included in the UPnP device description.
@section{Playback}
@defproc[(media-renderer-play-resource!
[renderer media-renderer?]
[uri string?]
[#:protocol-info protocol-info (or/c #f string?) #f]
[#:mime-type mime-type (or/c #f string?) #f]
[#:title title string? "Media"]
[#:artist artist (or/c #f string?) #f]
[#:album album (or/c #f string?) #f]
[#:genre genre (or/c #f string?) #f]
[#:year year (or/c #f exact-nonnegative-integer?) #f]
[#:track track (or/c #f exact-nonnegative-integer?) #f]
[#:duration duration (or/c #f number?) #f]
[#:size size (or/c #f exact-nonnegative-integer?) #f])
any]{
Resolves missing DLNA HTTP capabilities, generates DIDL-Lite for the resource,
and starts playback. A wildcard fourth field in @racket[protocol-info] is
replaced with the server's @tt{contentFeatures.dlna.org} response when
available. Successful capability responses are cached by URI.
}
@defproc[(media-renderer-play-uri!
[renderer media-renderer?]
[uri string?]
@@ -117,6 +138,25 @@ that resource, call this function again to preload the following track. Use
metadata that describes @racket[uri], not the current resource.
}
@defproc[(media-renderer-set-next-resource!
[renderer media-renderer?]
[uri string?]
[#:protocol-info protocol-info (or/c #f string?) #f]
[#:mime-type mime-type (or/c #f string?) #f]
[#:title title string? "Media"]
[#:artist artist (or/c #f string?) #f]
[#:album album (or/c #f string?) #f]
[#:genre genre (or/c #f string?) #f]
[#:year year (or/c #f exact-nonnegative-integer?) #f]
[#:track track (or/c #f exact-nonnegative-integer?) #f]
[#:duration duration (or/c #f number?) #f]
[#:size size (or/c #f exact-nonnegative-integer?) #f])
any]{
Resolves and describes an external resource like
@racket[media-renderer-play-resource!], then installs it as the next URI.
}
@defproc[(media-renderer-pause! [renderer media-renderer?]) any]
@defproc[(media-renderer-stop! [renderer media-renderer?]) any]
@defproc[(media-renderer-seek!
+2
View File
@@ -91,6 +91,8 @@ Equivalent to browsing the supplied container.
@defproc[(media-item-album [item media-item?]) (or/c #f string?)]
@defproc[(media-item-genres [item media-item?]) (listof string?)]
@defproc[(media-item-date [item media-item?]) (or/c #f string?)]
@defproc[(media-item-original-track-number [item media-item?])
(or/c #f exact-integer?)]
@defproc[(media-item-album-art-uri [item media-item?])
(or/c #f string?)]
@defproc[(media-item-resources [item media-item?])