Generate dcps for AV1 audio/video devices
Tested against Sonos PLAY:5. Added URI type to the SOAP library. The latest upnpresources.zip does not contain older versions of the specifications, so to be able to generate the bindings I had to create a fake one: wget http://upnp.org/specs/av/UPnP-av-TestFiles-20070927.zip install -d 'standardizeddcps/MediaServer_1 and MediaRenderer_1' mv UPnP-av-TestFiles-20070927.zip 'standardizeddcps/MediaServer_1 and MediaRenderer_1/' zip -r fake.zip 'standardizeddcps/MediaServer_1 and MediaRenderer_1' gotask specgen -s fake.zip -o ../dcps
This commit is contained in:
parent
7f2f552f9b
commit
77b86c3723
9781
dcps/av1/av1.go
Normal file
9781
dcps/av1/av1.go
Normal file
File diff suppressed because it is too large
Load Diff
@ -111,6 +111,11 @@ var dcpMetadataByDir = map[string]DCPMetadata{
|
||||
OfficialName: "Internet Gateway Device v2",
|
||||
DocURL: "http://upnp.org/specs/gw/UPnP-gw-InternetGatewayDevice-v2-Device.pdf",
|
||||
},
|
||||
"MediaServer_1 and MediaRenderer_1": {
|
||||
Name: "av1",
|
||||
OfficialName: "MediaServer v1 and MediaRenderer v1",
|
||||
DocURL: "http://upnp.org/specs/av/av1/",
|
||||
},
|
||||
}
|
||||
|
||||
type dcpCollection struct {
|
||||
@ -325,6 +330,7 @@ var typeConvs = map[string]conv{
|
||||
"boolean": conv{"Boolean", "bool"},
|
||||
"bin.base64": conv{"BinBase64", "[]byte"},
|
||||
"bin.hex": conv{"BinHex", "[]byte"},
|
||||
"uri": conv{"URI", "*url.URL"},
|
||||
}
|
||||
|
||||
type closeableZipReader struct {
|
||||
|
@ -5,6 +5,7 @@ import (
|
||||
"encoding/hex"
|
||||
"errors"
|
||||
"fmt"
|
||||
"net/url"
|
||||
"regexp"
|
||||
"strconv"
|
||||
"strings"
|
||||
@ -506,3 +507,13 @@ func MarshalBinHex(v []byte) (string, error) {
|
||||
func UnmarshalBinHex(s string) ([]byte, error) {
|
||||
return hex.DecodeString(s)
|
||||
}
|
||||
|
||||
// MarshalURI marshals *url.URL to SOAP "uri" type.
|
||||
func MarshalURI(v *url.URL) (string, error) {
|
||||
return v.String(), nil
|
||||
}
|
||||
|
||||
// UnmarshalURI unmarshals *url.URL from the SOAP "uri" type.
|
||||
func UnmarshalURI(s string) (*url.URL, error) {
|
||||
return url.Parse(s)
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user