Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Sonos Driver
#1
Hi Dean. I know we've talked about this before and I just read your post on the new Sonos Amp API. 

One of the problems with the current driver is that it doesn't get metadata for the songs that stream from SiriusXM. Perhaps other streaming options as well. 

I pulled out my wireshark this morning and looked through the stream between my the sonos app (on my PC) and my sonos connect. Here is the pertinent data:
Quote:NOTIFY /notify HTTP/1.1
HOST: 10.0.1.102:3400
CONNECTION: close
CONTENT-TYPE: text/xml
CONTENT-LENGTH: 3010
NT: upnp:event
NTS: upnp:propchange
SID: uuid:RINCON_B8E937977DE401400_sub0000003808
SEQ: 35

<e:propertyset xmlns:e="urnConfusedchemas-upnp-org:event-1-0"><e:property><LastChange>&lt;Event xmlns=&quot;urnConfusedchemas-upnp-org:metadata-1-0/AVT/&quot; xmlns:r=&quot;urnConfusedchemas-rinconnetworks-com:metadata-1-0/&quot;&gt;&lt;InstanceID val=&quot;0&quot;&gt;&lt;TransportState val=&quot;PLAYING&quot;/&gt;&lt;CurrentPlayMode val=&quot;NORMAL&quot;/&gt;&lt;CurrentCrossfadeMode val=&quot;0&quot;/&gt;&lt;NumberOfTracks val=&quot;1&quot;/&gt;&lt;CurrentTrack val=&quot;1&quot;/&gt;&lt;CurrentSection val=&quot;0&quot;/&gt;&lt;CurrentTrackURI val=&quot;x-sonosapi-hls:live%3a9420?sid=37&amp;amp;flags=8480&amp;amp;sn=1&quot;/&gt;&lt;CurrentTrackDuration val=&quot;0:00:00&quot;/&gt;&lt;CurrentTrackMetaData val=&quot;&amp;lt;DIDL-Lite xmlns:dc=&amp;quot;http://purl.org/dc/elements/1.1/&amp;quot; xmlns:upnp=&amp;quot;urnConfusedchemas-upnp-org:metadata-1-0/upnp/&amp;quot; xmlns:r=&amp;quot;urnConfusedchemas-rinconnetworks-com:metadata-1-0/&amp;quot; xmlns=&amp;quot;urnConfusedchemas-upnp-org:metadata-1-0/DIDL-Lite/&amp;quot;&amp;gt;&amp;lt;item id=&amp;quot;-1&amp;quot; parentID=&amp;quot;-1&amp;quot; restricted=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;res protocolInfo=&amp;quot;sonos.com-http:*:application/x-mpegURL:*&amp;quot;&amp;gt;x-sonosapi-hls:live%3a9420?sid=37&amp;amp;amp;flags=8480&amp;amp;amp;sn=1&amp;lt;/res&amp;gt;&amp;lt;rConfusedtreamContent&amp;gt;BR P|TYPE=SNG|TITLE Every Kinda People|ARTIST Robert Palmer|ALBUM &amp;lt;/rConfusedtreamContent&amp;gt;&amp;lt;r:radioShowMd&amp;gt;&amp;lt;/r:radioShowMd&amp;gt;&amp;lt;upnp:albumArtURI&amp;gt;http://albumart.siriusxm.com/albumart/2000/NDCA-000031560-001_m.jpg&amp;lt;/upnp:albumArtURI&amp;gt;&amp;lt;dc:title&amp;gt;x-sonosapi-hls:live:9420?sid=37&amp;amp;amp;flags=8480&amp;amp;amp;sn=1&amp;lt;/dc:title&amp;gt;&amp;lt;upnp:class&amp;gt;object.item.audioItem.musicTrack&amp;lt;/upnp:class&amp;gt;&amp;lt;/item&amp;gt;&amp;lt;/DIDL-Lite&amp;gt;&quot;/&gt;&lt;r:NextTrackURI val=&quot;&quot;/&gt;&lt;r:NextTrackMetaData val=&quot;&quot;/&gt;&lt;r:EnqueuedTransportURI val=&quot;x-sonosapi-hls:live%3a9420?sid=37&amp;amp;flags=8480&amp;amp;sn=1&quot;/&gt;&lt;r:EnqueuedTransportURIMetaData val=&quot;&amp;lt;DIDL-Lite xmlns:dc=&amp;quot;http://purl.org/dc/elements/1.1/&amp;quot; xmlns:upnp=&amp;quot;urnConfusedchemas-upnp-org:metadata-1-0/upnp/&amp;quot; xmlns:r=&amp;quot;urnConfusedchemas-rinconnetworks-com:metadata-1-0/&amp;quot; xmlns=&amp;quot;urnConfusedchemas-upnp-org:metadata-1-0/DIDL-Lite/&amp;quot;&amp;gt;&amp;lt;item id=&amp;quot;-1&amp;quot; parentID=&amp;quot;-1&amp;quot; restricted=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;dc:title&amp;gt;311 - Yacht Rock Radio&amp;lt;/dc:title&amp;gt;&amp;lt;upnp:class&amp;gt;object.item.audioItem.audioBroadcast&amp;lt;/upnp:class&amp;gt;&amp;lt;desc id=&amp;quot;cdudn&amp;quot; nameSpace=&amp;quot;urnConfusedchemas-rinconnetworks-com:metadata-1-0/&amp;quot;&amp;gt;SA_RINCON9479_Zra1974&amp;lt;/desc&amp;gt;&amp;lt;/item&amp;gt;&amp;lt;/DIDL-Lite&amp;gt;&quot;/&gt;&lt;/InstanceID&gt;&lt;/Event&gt;</LastChange></e:property></e:propertyset>HTTP/1.1 200 OK
Server: Linux UPnP/1.0 Sonos/44.2-55120 (WDCR:Microsoft Windows NT 6.1.7601 Service Pack 1)
Connection: close

BR P|TYPE=SNG|TITLE Every Kinda People|ARTIST Robert Palmer|ALBUM 

Here you can see the metadata for the current playing track. 

Is this something you'd be willing to take a hack at with the current driver? It would be a big improvement. 
Reply
#2
I'll put it on the list for things to look at in this release cycle after the big ticket items have begun to solidify. I guess one problem is that there' snot standard scheme for the metadata for these streaming services. So it becomes a bit of an ad hoc operation. I don't know you are listening to a particular channel or service per se, so I don't know to look for this or that format of data. I might have to just try to find various things to see if I can figure out what's there. And of course it could change at any time I imagine.

I sort of wonder how much extra effort the current Sonos boxes are worth, given that there's a new crop of them coming that have an open, well defined control protocol. If they have well defined meta-data provided in a consistent format, which I would hope they would address, that would be a big improvement.
Dean Roddey
Software Geek Extraordinaire
Reply
#3
Gotcha. I would think SiriusXM is pretty popular. I'd mess with the driver myself, but it's C++ app, isn't it?
Reply
#4
Yeh, it's actually not even Sonos specific per se. It's built on top of a generic C++ UPnP media renderer driver, with some added stuff for UPnP bits that the Sonos implements above and beyond a standard UPnP media renderer.
Dean Roddey
Software Geek Extraordinaire
Reply


Possibly Related Threads...
Thread Author Replies Views Last Post
  Sonos PlayFavorites kblagron 8 317 10-22-2018, 08:46 PM
Last Post: Dean Roddey
  Sonos Update Error (Again) karenlee 37 1,126 10-20-2018, 12:23 AM
Last Post: karenlee
  "Client Side Driver Directory Could Not be Cleaned Out" TurboSam 15 702 09-27-2018, 01:43 PM
Last Post: TurboSam
  CML Driver IDE docs - where? rbroders 1 209 09-18-2018, 05:41 PM
Last Post: Dean Roddey
  Timer Driver Question kblagron 5 313 09-14-2018, 02:43 AM
Last Post: znelbok
  reset driver statistics? rbroders 9 661 09-11-2018, 07:50 PM
Last Post: Dean Roddey
  Driver Configuration w/8 prompts rbroders 1 396 09-03-2018, 09:28 PM
Last Post: Dean Roddey
  Driver info/stats rbroders 6 595 09-02-2018, 08:34 PM
Last Post: Dean Roddey
  HTTP Get driver not working znelbok 10 836 08-28-2018, 10:10 AM
Last Post: Dean Roddey
  Can't add fields to ElkDev driver rbroders 4 482 08-07-2018, 06:24 PM
Last Post: Dean Roddey

Forum Jump:


Users browsing this thread: 1 Guest(s)