PDA

View Full Version : Win10 "Cast media to device" - should it work to Squeezeboxes?



Simon300
2016-02-09, 08:23
I've just stumbled upon a feature in the Microsoft Edge browser of Windows 10 called "Cast media to device".
e.g. see http://www.tenforums.com/tutorials/28189-microsoft-edge-cast-media-device-windows-10-a.html

When I click it it offers connections to both my SB Radio and SB Touch, but when I try to connect nothing happens (once when I tried to connect to the radio it said "Generic connection error").

Presumably this using DLNA but does anyone know if this should work? (e.g. I don't know what the SB client would think it's doing). It might be quite handy though, e.g. if I wanted to just play something from a web page from my PC over my hifi.

karlek
2016-02-09, 09:13
I think you'll need Andy Grundmanns UPnP-plugin to let the SBes act as a DLNA renderer.
Maybe you already have that installed and therefore your SBes are shown. Try it several times then.

Simon300
2016-02-09, 10:53
I think you'll need Andy Grundmanns UPnP-plugin to let the SBes act as a DLNA renderer.
Maybe you already have that installed and therefore your SBes are shown. Try it several times then.
Thanks for that - it turns out I already have that plug-in installed (it says v1.0) on my LMS (Synology packaging - 7.9.0 - 1433513811 @ Mon Jun 8 04:20:15 UTC 2015). I'll tinker around a bit and report back if I have any luck...

Simon300
2016-02-12, 06:51
OK, I've found Andy's plug-in dir on my Syno at:
/volume1/@appstore/SqueezeCenter/Slim/Plugin/UPnP

There's a server.log in /volume1/@appstore/SqueezeCenter/Logs but nothing obviously related to UPnP in it. There are some, not too recent, UPnP messages such as:

server.log:[16-01-18 20:34:09.2401] Slim::Utils::Timers::__ANON__ (273) Error: Timer Slim::Plugin::UPnP::Events::expire failed: Can't call method "pluginData" on an undefined value at /volume1/@appstore/SqueezeCenter/Slim/Plugin/UPnP/MediaRenderer/RenderingControl.pm line 161.
Other than perfmon.log and scanner.log I can't find any other log files in this area.

I was hoping to find was some kind of error message when I chose to cast to one of my SB players from Windows that might give a clue. Is there any other kind of logging I can run? (unfortunately I know very little about DLNA or how plug-ins work)

Note: I'm running on a DS213+ which has the relatively unusual PowerPC qoriq processor. Could it be that the plug-in is incompatible? (the packaging, and probably compilation, comes from Synology but maybe not all the plug-ins have been tested)

TIA!

Simon300
2016-02-12, 07:14
I found the logging level and set it to info for the UPnP plug-in. When I select the "Cast to media device" option from MS Edge in Windows I get:


[16-02-12 14:07:22.4118] Slim::Plugin::UPnP::SOAPServer::processControl (136) Invoking Slim::Plugin::UPnP::MediaRenderer::ConnectionManag er->GetProtocolInfo( undef )
[16-02-12 14:07:22.5491] Slim::Plugin::UPnP::SOAPServer::processControl (136) Invoking Slim::Plugin::UPnP::MediaRenderer::ConnectionManag er->GetProtocolInfo( undef )
[16-02-12 14:07:22.6036] Slim::Plugin::UPnP::SOAPServer::processControl (136) Invoking Slim::Plugin::UPnP::MediaServer::MediaReceiverRegi strar->IsAuthorized( { DeviceID => "" } )

At this point it pops up a list of 2 SB players. If I then choose my SB Touch I get:


[16-02-12 14:10:27.2427] Slim::Plugin::UPnP::SOAPServer::processControl (136) Invoking Slim::Plugin::UPnP::MediaRenderer::ConnectionManag er->GetProtocolInfo( undef )
[16-02-12 14:10:27.2601] Slim::Plugin::UPnP::SOAPServer::processControl (136) Invoking Slim::Plugin::UPnP::MediaRenderer::ConnectionManag er->GetProtocolInfo( undef )
[16-02-12 14:10:27.2770] Slim::Plugin::UPnP::SOAPServer::processControl (136) Invoking Slim::Plugin::UPnP::MediaServer::MediaReceiverRegi strar->IsAuthorized( { DeviceID => "" } )
[16-02-12 14:10:29.4126] Slim::Plugin::UPnP::SOAPServer::processControl (136) Invoking Slim::Plugin::UPnP::MediaRenderer::RenderingContro l->GetMute( { Channel => "Master", InstanceID => 0 } )
[16-02-12 14:10:29.4317] Slim::Plugin::UPnP::SOAPServer::processControl (136) Invoking Slim::Plugin::UPnP::MediaRenderer::RenderingContro l->GetVolume( { Channel => "Master", InstanceID => 0 } )
[16-02-12 14:10:29.4937] Slim::Plugin::UPnP::SOAPServer::processControl (136) Invoking Slim::Plugin::UPnP::MediaRenderer::ConnectionManag er->GetProtocolInfo( undef )
[16-02-12 14:10:31.6579] Slim::Plugin::UPnP::SOAPServer::processControl (136) Invoking Slim::Plugin::UPnP::MediaRenderer::RenderingContro l->GetMute( { Channel => "Master", InstanceID => 0 } )
[16-02-12 14:10:31.6928] Slim::Plugin::UPnP::SOAPServer::processControl (136) Invoking Slim::Plugin::UPnP::MediaRenderer::RenderingContro l->GetVolume( { Channel => "Master", InstanceID => 0 } )
[16-02-12 14:10:31.7078] Slim::Plugin::UPnP::SOAPServer::processControl (136) Invoking Slim::Plugin::UPnP::MediaRenderer::ConnectionManag er->GetProtocolInfo( undef )


I don't much like the look of that "undef" protocol. Anyone know what it should say?

Of course this may be all sorts of issues - perhaps Windows10 has a newer version of DLNA (https://en.wikipedia.org/wiki/Digital_Living_Network_Alliance) - or just some sort of bug... somewhere...

Simon300
2016-02-12, 13:11
Here's another experiment: I already had BubbleUPnP on my Android phone so I tried to play something from that to LMS/SB Touch:


[16-02-12 19:56:28.6015] Slim::Plugin::UPnP::SOAPServer::processControl (136) Invoking Slim::Plugin::UPnP::MediaRenderer::AVTransport->GetPositionInfo( { InstanceID => 0 } )
[16-02-12 19:56:29.2714] Slim::Plugin::UPnP::SOAPServer::processControl (136) Invoking Slim::Plugin::UPnP::MediaRenderer::AVTransport->GetTransportInfo( { InstanceID => 0 } )
[16-02-12 19:56:29.4383] Slim::Plugin::UPnP::SOAPServer::processControl (136) Invoking Slim::Plugin::UPnP::MediaRenderer::AVTransport->Seek( { InstanceID => 0, Target => "0:01:00", Unit => "REL_TIME" } )
[16-02-12 19:56:29.4561] Slim::Plugin::UPnP::MediaRenderer::AVTransport::ch angeState (208) 00:04:20:23:a0:8c state change: { TransportState => "TRANSITIONING" }
[16-02-12 19:56:29.4644] Slim::Plugin::UPnP::Events::sendNotify (410) Notifying to 192.168.*.*:2012 for 00:04:20:23:a0:8c / Slim::Plugin::UPnP::MediaRenderer::AVTransport
[16-02-12 19:56:29.4705] Slim::Plugin::UPnP::MediaRenderer::AVTransport::ch angeState (208) 00:04:20:23:a0:8c state change: { TransportState => "PLAYING" }
[16-02-12 19:56:29.5467] Slim::Plugin::UPnP::SOAPServer::processControl (136) Invoking Slim::Plugin::UPnP::MediaRenderer::AVTransport->GetPositionInfo( { InstanceID => 0 } )
[16-02-12 19:56:29.6684] Slim::Plugin::UPnP::Events::sendNotify (410) Notifying to 192.168.*.*:2012 for 00:04:20:23:a0:8c / Slim::Plugin::UPnP::MediaRenderer::AVTransport
[16-02-12 19:56:30.5017] Slim::Plugin::UPnP::SOAPServer::processControl (136) Invoking Slim::Plugin::UPnP::MediaRenderer::AVTransport->GetPositionInfo( { InstanceID => 0 } )
[16-02-12 19:56:31.3063] Slim::Plugin::UPnP::SOAPServer::processControl (136) Invoking Slim::Plugin::UPnP::MediaRenderer::AVTransport->GetTransportInfo( { InstanceID => 0 } )

That seemed to work - those last 2 messages keep repeating over and over but are presumably the status on one end or the other getting updated.

Interestingly it also seemed to have "Invoking Slim::Plugin::UPnP::MediaRenderer::ConnectionManag er->GetProtocolInfo( undef )" messages so maybe undef isn't relevant.

So that makes it look like an issue between Win10 and LMS...

Simon300
2016-02-13, 12:53
Well, when I try to connect from within an iPlayer radio broadcast for example, the sound playback from the PC stops and it claims it's connected, but then it doesn't move off 0:00 on the LMS/SB and the iPlayer window is stuck at a fixed point. Pause/Play seems to send messages through, but nothing else is written to the log (unlike when playing from BubbleUPnP where there were the continuous update messages)



[16-02-13 19:48:26.5976] Slim::Plugin::UPnP::SOAPServer::processControl (136) Invoking Slim::Plugin::UPnP::MediaRenderer::AVTransport->Play( { InstanceID => 0, Speed => 1 } )
[16-02-13 19:48:26.6194] Slim::Plugin::UPnP::MediaRenderer::AVTransport::ch angeState (208) 00:04:20:23:a0:8c state change: { TransportState => "TRANSITIONING" }
[16-02-13 19:48:26.6873] Slim::Plugin::UPnP::MediaRenderer::AVTransport::ch angeState (208) 00:04:20:23:a0:8c state change: { TransportState => "PLAYING" }
[16-02-13 19:48:26.6922] Slim::Plugin::UPnP::Events::sendNotify (410) Notifying to 192.168.*PC*:2869 for 00:04:20:23:a0:8c / Slim::Plugin::UPnP::MediaRenderer::AVTransport
[16-02-13 19:48:26.6951] Slim::Plugin::UPnP::Events::sendNotify (410) Notifying to 192.168.*LMS*:2012 for 00:04:20:23:a0:8c / Slim::Plugin::UPnP::MediaRenderer::AVTransport
[16-02-13 19:48:26.7054] Slim::Plugin::UPnP::MediaRenderer::AVTransport::ch angeState (208) 00:04:20:23:a0:8c state change: { TransportState => "STOPPED" }
[16-02-13 19:48:26.7307] Slim::Plugin::UPnP::SOAPServer::processControl (136) Invoking Slim::Plugin::UPnP::MediaRenderer::AVTransport->GetPositionInfo( { InstanceID => 0 } )
[16-02-13 19:48:26.8992] Slim::Plugin::UPnP::Events::sendNotify (410) Notifying to 192.168.*PC*:2869 for 00:04:20:23:a0:8c / Slim::Plugin::UPnP::MediaRenderer::AVTransport
[16-02-13 19:48:26.9019] Slim::Plugin::UPnP::Events::sendNotify (410) Notifying to 192.168.*LMS*:2012 for 00:04:20:23:a0:8c / Slim::Plugin::UPnP::MediaRenderer::AVTransport
[16-02-13 19:48:26.9783] Slim::Plugin::UPnP::SOAPServer::processControl (136) Invoking Slim::Plugin::UPnP::MediaRenderer::AVTransport->GetPositionInfo( { InstanceID => 0 } )
[16-02-13 19:48:39.0515] Slim::Plugin::UPnP::SOAPServer::processControl (136) Invoking Slim::Plugin::UPnP::MediaRenderer::AVTransport->Play( { InstanceID => 0, Speed => 1 } )


It's as if it's not too far away from working. Hmmm.

bonze
2016-02-13, 13:21
Just tried the same myself with a couple of YouTube videos.

To a Touch I get the same result, no sound and it doesn't move from 0:00.

Interestingly, to SqueezePlay installed on the same desktop there is no sound but there is timer movement that matches the webpage.

I'm not sure if that helps :)

Simon300
2016-02-13, 13:32
Just tried the same myself with a couple of YouTube videos.

To a Touch I get the same result, no sound and it doesn't move from 0:00.

Interestingly, to SqueezePlay installed on the same desktop there is no sound but there is timer movement that matches the webpage.

I'm not sure if that helps :)

Interesting. I just tried to my SB Radio which, like the Touch, appears to be connected to Win10 but when I look on the radio display it has all the same info but isn't playing. When I pressed play it gave a HTTP 401 unauthorized error - info showed a URL like upnp://<PC>:<high-port>/<some-sort-of-windows-media-name>. I suppose it might be some kind of firewall issue on the PC.

I think it's approaching the "far too many moving parts to understand" stage for me...

minscof
2017-02-05, 00:19
I have the same problem. Is there a way to cast music to squeezebox from edge or windows media player ?

d6jg
2017-02-07, 15:39
No.
But you can kludge it by using software from streamwhatyouhear.com - takes output if PC sound card and broadcasts to your network as a stream. You then tune in you SB to the URL.

There is also a Linux alternative that you can run on a Pi which with a suitable USB sound card will convert any audio to a stream that SBs can tune in to. For example TV audio or (with a preamp) audio from a Turntable.