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",
|
OfficialName: "Internet Gateway Device v2",
|
||||||
DocURL: "http://upnp.org/specs/gw/UPnP-gw-InternetGatewayDevice-v2-Device.pdf",
|
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 {
|
type dcpCollection struct {
|
||||||
@ -325,6 +330,7 @@ var typeConvs = map[string]conv{
|
|||||||
"boolean": conv{"Boolean", "bool"},
|
"boolean": conv{"Boolean", "bool"},
|
||||||
"bin.base64": conv{"BinBase64", "[]byte"},
|
"bin.base64": conv{"BinBase64", "[]byte"},
|
||||||
"bin.hex": conv{"BinHex", "[]byte"},
|
"bin.hex": conv{"BinHex", "[]byte"},
|
||||||
|
"uri": conv{"URI", "*url.URL"},
|
||||||
}
|
}
|
||||||
|
|
||||||
type closeableZipReader struct {
|
type closeableZipReader struct {
|
||||||
|
@ -5,6 +5,7 @@ import (
|
|||||||
"encoding/hex"
|
"encoding/hex"
|
||||||
"errors"
|
"errors"
|
||||||
"fmt"
|
"fmt"
|
||||||
|
"net/url"
|
||||||
"regexp"
|
"regexp"
|
||||||
"strconv"
|
"strconv"
|
||||||
"strings"
|
"strings"
|
||||||
@ -506,3 +507,13 @@ func MarshalBinHex(v []byte) (string, error) {
|
|||||||
func UnmarshalBinHex(s string) ([]byte, error) {
|
func UnmarshalBinHex(s string) ([]byte, error) {
|
||||||
return hex.DecodeString(s)
|
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