4 Media Servers
| (require (file "../media-server.rkt")) | package: base |
This module provides a higher-level browser for UPnP and DLNA media servers. It converts ContentDirectory DIDL-Lite XML into containers, items, and media resources.
procedure
(query-media-servers [ #:interface interface #:dns? dns?]) → (listof media-server?) interface : (or/c #f string?) = #f dns? : boolean? = #f
procedure
filter-name : string?
procedure
(media-server? value) → boolean?
value : any/c
procedure
(media-server-name server) → string?
server : media-server?
procedure
(media-server-address server) → string?
server : media-server?
procedure
(media-server-manufacturer server) → (or/c #f string?)
server : media-server?
procedure
(media-server-model server) → (or/c #f string?)
server : media-server?
4.1 Browsing
procedure
(media-server-root server [ #:start start #:count count]) → (listof media-entry?) server : media-server? start : exact-nonnegative-integer? = 0 count : exact-nonnegative-integer? = 0
procedure
(media-server-browse server [ container #:start start #:count count]) → (listof media-entry?) server : media-server? container : (or/c string? media-container?) = "0" start : exact-nonnegative-integer? = 0 count : exact-nonnegative-integer? = 0
In ContentDirectory, count equal to zero asks the server to return all remaining entries. Use a positive count for large containers.
procedure
(media-container-children server container [ #:start start #:count count]) → (listof media-entry?) server : media-server? container : media-container? start : exact-nonnegative-integer? = 0 count : exact-nonnegative-integer? = 0
4.2 Entries
procedure
(media-entry? value) → boolean?
value : any/c
procedure
(media-entry-id entry) → (or/c #f string?)
entry : media-entry?
procedure
(media-entry-parent-id entry) → (or/c #f string?)
entry : media-entry?
procedure
(media-entry-title entry) → string?
entry : media-entry?
procedure
(media-entry-class entry) → (or/c #f string?)
entry : media-entry?
procedure
(media-entry-restricted? entry) → boolean?
entry : media-entry?
procedure
(media-container? value) → boolean?
value : any/c
procedure
→ (or/c #f exact-nonnegative-integer?) container : media-container?
procedure
(media-container-searchable? container) → boolean?
container : media-container?
procedure
(media-item? value) → boolean?
value : any/c
procedure
(media-item-creator item) → (or/c #f string?)
item : media-item?
procedure
(media-item-artists item) → (listof string?)
item : media-item?
procedure
(media-item-album item) → (or/c #f string?)
item : media-item?
procedure
(media-item-genres item) → (listof string?)
item : media-item?
procedure
(media-item-date item) → (or/c #f string?)
item : media-item?
procedure
(media-item-album-art-uri item) → (or/c #f string?)
item : media-item?
4.3 Resources
procedure
(media-resource? value) → boolean?
value : any/c
procedure
(media-resource-uri resource) → string?
resource : media-resource?
procedure
(media-resource-protocol-info resource) → (or/c #f string?)
resource : media-resource?
procedure
(media-resource-content-type resource) → (or/c #f string?)
resource : media-resource?
procedure
→ (or/c #f exact-nonnegative-integer?) resource : media-resource?
procedure
(media-resource-duration resource) → (or/c #f number?)
resource : media-resource?
procedure
→ (or/c #f exact-nonnegative-integer?) resource : media-resource?
procedure
→ (or/c #f exact-nonnegative-integer?) resource : media-resource?
procedure
→ (or/c #f exact-nonnegative-integer?) resource : media-resource?
procedure
→ (or/c #f exact-nonnegative-integer?) resource : media-resource?
procedure
(media-resource-resolution resource) → (or/c #f string?)
resource : media-resource?