wouterdebie / locast2tuner

Locast to Emby/Plex/Channels server
https://wouterdebie.github.io/locast2tuner/
MIT License
52 stars 8 forks source link

Playback errors when binding to 0.0.0.0 #16

Closed eiddor closed 3 years ago

eiddor commented 3 years ago

So, this is similar to the issue I had with locast2dvr - If I bind to 0.0.0.0, I can get through the setup, get the XMLTV guide, etc.

But in PMS when I attempt to play a channel, I get this with no output on the console:

image

Emby using M3U mode results in a spinning circle when I try to play. Same problem, I assume.

image

Both of these work if I bind directly to my IP.

This is going to pose some challenges in a Docker container since the container IP is (usually) abstracted. The workaround in Docker would be to run in host networking mode and bind to the host IP, but that's not a great practice generally.

wouterdebie commented 3 years ago

Yeah, I see what you mean. What happens is that not only locast2tuner binds to 0.0.0.0, but also communicates this to PMS/Emby in the /tuner.m3u or /lineup.json, which is obviously not going to work. I might be able to reworks this by setting the IP address to the address the request was received on.

eiddor commented 3 years ago

Oh heck, that makes perfect sense - I'm sure it was the same problem in locast2dvr, then.

Once that's fixed and I can test, I should be able to get things tested and work on the Dockerfile. I just need to find where I left my locast2dvr stuff haha

eiddor commented 3 years ago

Though, this may still be an issue in Docker since the container is behind a NAT. Hmmm...I'll have to test it out when you get it going.

wouterdebie commented 3 years ago

@eiddor yeah, it's the same issue with locast2dvr. I used the bind_address all over the place, but that was wrong. I just fixed it for the normal use case. I use the "Host:" http header, so that should work. It basically replies whatever the client sends, so that should work behind NAT as well.. I have one more fix to make and I'll let you know when that's done.

wouterdebie commented 3 years ago

@eiddor this should work now.. I explicitly split by :, but that would break anything that runs on :80 or :443 and ipv6.

(so, bonus is that --bind_address ::1 works as well)

eiddor commented 3 years ago

Nice! I'll give it a test tonight. Thanks for jumping on this so quickly.

eiddor commented 3 years ago

Works like a charm in both PMS and Emby, @wouterdebie - Thank you!

wouterdebie commented 3 years ago

Great! Thanks for testing!

On Mon, Apr 5, 2021, 19:58 Roddie Hasan @.***> wrote:

Works like a charm in both PMS and Emby, @wouterdebie https://github.com/wouterdebie - Thank you!

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/wouterdebie/locast2tuner/issues/16#issuecomment-813748538, or unsubscribe https://github.com/notifications/unsubscribe-auth/AABKABU5RHR2SOMI6D2ADV3THJMEPANCNFSM42NQL7AQ .