jaruba / PowderPlayer

Hybrid between a Torrent Client and a Player (torrent streaming) -
https://powder.media/
GNU Lesser General Public License v2.1
584 stars 94 forks source link

Error in DLNA Mode: Cannot read property 'mrl' of undefined #66

Closed beseth4223 closed 8 years ago

beseth4223 commented 8 years ago

I am running Powder Player in dlna mode from a Mac OS 10.10.5 and I get the following error when scanning for the dlna device.

Any idea?

[25742:1125/211102:ERROR:nw_shell.cc(336)] TypeError: Cannot read property 'mrl' of undefined at prepareDlnaServer (app://powder/src/lib/dlna.js:208:49) at app://powder/src/lib/dlna.js:376:4 at GetAddrInfoReqWrap.asyncCallback as callback at GetAddrInfoReqWrap.onlookup as oncomplete [25742:1125/211102:INFO:CONSOLE(208)] "Uncaught TypeError: Cannot read property 'mrl' of undefined", source: app://powder/src/lib/dlna.js (208

beseth4223 commented 8 years ago

.. and btw, thanks for this great peace of open source software!

jaruba commented 8 years ago

uhm, what are you trying to stream through dlna? a torrent or something else?

beseth4223 commented 8 years ago

well, the error comes when I hit "Stream to TV" and the app is "Searching for Device". Also after hitting "Rescan"

I tried torrent and local avi, but it does not seem to be related to that

jaruba commented 8 years ago

Uhm, what brand of TV do you have?

beseth4223 commented 8 years ago

Sony kdl-37ex500

I confirmed that DLNA is working on the TV with Serviio

Ivshti commented 8 years ago

@jaruba do you think we can somehow re-use what serviio has - by doing an integration with them or by using a source code if they're open source?

luigiplr commented 8 years ago

Why do i get the feeling there not open source.

jaruba commented 8 years ago

@Ivshti their not open source.. as their selling the Pro version.

luigiplr commented 8 years ago

Called it now where be my :melon:

Ivshti commented 8 years ago

You guys are apparently online now.

Too bad, stuff like casting should be open-source for humanitarian reasons - reduce suffering.

@luigiplr what's that melon? :boar:

jaruba commented 8 years ago

I think @MarcWH is experiencing an issue i already fixed at one point but isn't in the last release. There's a lot of work to be done on DLNA and frankly i'd throw my current DLNA code out the window as this needs a more serious approach..

jaruba commented 8 years ago

Too bad, stuff like casting should be open-source for humanitarian reasons - reduce suffering.

@Ivshti make the repo!

fulfill-your-destiny

Ivshti commented 8 years ago

@jaruba I thought about it.

I thought about using mafintosh/multicast-dns and node-ssdp for discovery in the same module.

From then, using node-upnp-mediarenderer-client + butter's custom meta building for DLNA, node-castv2 for Chromecast for chromecast, and rip the core from node-airplay but rework it over multicast-dns discovery to do Airplay

What are the issues with this approach? Well:

  1. multicast-dns doesn't have service discovery, I'll have to implement that
  2. people are unhappy with node-ssdp for some reason ; nodecast-js's ssdp seems a bit spaghetti though :(
  3. re-implementing the same that mafintosh/chromecasts does. I don't want to do something that mafintosh does, since he probably did it very well

And that's the best thing I figured out. Any ideas/feedback?

jaruba commented 8 years ago

node-ssdp is shit..

@vankasteelj recommended nodecast-js for discovery :melon:

jaruba commented 8 years ago

even posted proof: https://github.com/jaruba/PowderPlayer/issues/51#issuecomment-158266350

Ivshti commented 8 years ago

Then it's probably a good idea to rip the ssdp code from nodecast-js and create a module like ssdp-js. node-ssdp is also pure js, excluding the tracing, but in order to avoid name collision we can use ssdp-js

The issue is I don't understand a bit about ssdp, so if I probably look at nodecast-js / node-ssdp sources I won't be able to tell why the one is labeled as shit and the other works

jaruba commented 8 years ago

It may be that node-ssdp works good enough and i just didn't search for all the necessary schemas, but even on the TVs i tested DLNA on, node-ssdp never finds them 100% of the times. It fails a lot, can't be sure if this is a TV issue or module issue though, I just know that inserting the URL directly works when node-ssdp doesn't find anything.

luigiplr commented 8 years ago

@Ivshti you also need relevant headers in your stream server

Ivshti commented 8 years ago

I know, I have those for the video - but do I need some headers for the srt?

jaruba commented 8 years ago

I think this specific error has been fixed in the latest version, if you still have this error, please reopen the ticket.

luigiplr commented 8 years ago

I think this specific error has been fixed