[mythtv] devel/rtp: multiple IPTV streams, same port-no

Niels Ole Kirkeby nok at kirkeby.nu
Sat Apr 28 21:09:22 UTC 2012


Hi

I was trying to figure out why devel/rtp didn't work for me and found a
major (if you're struck by it) flaw in the multicast handling in MythTV.
The problem is that my provider delivers streams like
udp://222.111.222.xx:2000. That is for all streams the port-no is the same.
In Linux, basically only the port-no differentiates the various
udp-streams. Thus I noticed a strange phenomena in MythTV: two iptv-tuners
recording two different streams but all data goes to the first stream !

I made a small test-program: Open two sockets, join two different multicast
streams (udp://222.111.222.123:2000 and udp://222.111.222.124:2000). I
noticed the bind() for the second socket failed. When I read from the
sockets, only the first socket has any data but the data was a merge from
both streams ! After some digging I found out that apparently you can only
have one common socket for all streams and should use sockopt IP_PKTINFO to
find the multicast group the data is for.

I'm not quite into the class-relations in MythTV yet but are trying to
figure out how to handle this. Could anybody responsible for the devel/rtp
branch please comment on this ? Whether this is "just" a patch or a major
rewrite ?

What's strikes me is that appearently I only had minor problems whether the
"old" IPTV code and that code didn't use IP_PKTINFO either.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.mythtv.org/pipermail/mythtv-dev/attachments/20120428/2f141897/attachment.html>


More information about the mythtv-dev mailing list