On this page:
query-media-servers
get-media-server
media-server?
media-server-name
media-server-address
media-server-manufacturer
media-server-model
4.1 Browsing
media-server-root
media-server-browse
media-container-children
4.2 Entries
media-entry?
media-entry-id
media-entry-parent-id
media-entry-title
media-entry-class
media-entry-restricted?
media-container?
media-container-child-count
media-container-searchable?
media-item?
media-item-creator
media-item-artists
media-item-album
media-item-genres
media-item-date
media-item-album-art-uri
media-item-resources
4.3 Resources
media-resource?
media-resource-uri
media-resource-protocol-info
media-resource-content-type
media-resource-size
media-resource-duration
media-resource-bitrate
media-resource-sample-frequency
media-resource-bits-per-sample
media-resource-channels
media-resource-resolution
9.2

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
Discovers media servers.

procedure

(get-media-server filter-name)  (or/c #f media-server?)

  filter-name : string?
Returns the first discovered media server whose name contains filter-name, ignoring case, or #f.

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
Browses object 0, the ContentDirectory root.

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
Browses one level below a container ID or a previously returned container.

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
Equivalent to browsing the supplied container.

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

(media-container-child-count container)

  (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?

procedure

(media-item-resources item)  (listof media-resource?)

  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

(media-resource-size resource)

  (or/c #f exact-nonnegative-integer?)
  resource : media-resource?

procedure

(media-resource-duration resource)  (or/c #f number?)

  resource : media-resource?

procedure

(media-resource-bitrate resource)

  (or/c #f exact-nonnegative-integer?)
  resource : media-resource?

procedure

(media-resource-sample-frequency resource)

  (or/c #f exact-nonnegative-integer?)
  resource : media-resource?

procedure

(media-resource-bits-per-sample resource)

  (or/c #f exact-nonnegative-integer?)
  resource : media-resource?

procedure

(media-resource-channels resource)

  (or/c #f exact-nonnegative-integer?)
  resource : media-resource?

procedure

(media-resource-resolution resource)  (or/c #f string?)

  resource : media-resource?