Closed wouterdebie closed 3 years ago
I did a little bit of research and the ssdp-rs
library could be used, but the issue is that it requires rust nightly to build, since it requires feature(ip)
. Skipping this for a while. Keeping https://github.com/rust-lang/rust/issues/27709 here to track progress.
Closing this ticket for now, as discovery is somewhat broken in Emby/Jellyfin/Plex imho. In locast2plex it seems SSDP is implemented to generally discover it as a media player and SSDP is not used to discover HDHomerun devices (see https://emby.media/community/index.php?/topic/92566-could-use-some-ssdp-help/&tab=comments#comment-1010964), but instead UDP datagrams are broadcast on port 65001. I toyed around with implementing the Silicondust HDHR packet protocol and stumbled upon Jellyfin's implementation. What they do here is only checking if the 2nd byte of the UDP datagram is a '3' and then connect to the sending host over HTTP on port 80/tcp, disregarding the BaseURL and LineupURL fields that the actual protocol specifies. Actual HDHR devices run on 80/tcp, but locast2tuner hardly ever runs there. Next to that, adding a tuner to the media servers is very easy and straight forward, so at this point, there is no need to implement this.
--ssdp
currently doesn't do anything. It'd be nice to get SSDP working for auto discovery in Plex and Emby.