[mythtv-commits] mythtv/master commit: 8bf5157fd by Greg Estabrooks (GreyFoxx)

MythTV noreply at mythtv.org
Mon May 16 12:52:48 UTC 2011


      Author:  Greg Estabrooks <gestabrooks at mythtv.org>
 Change Date:  2011-05-16T05:40:36-07:00
   Push Date:  2011/05/16 05:52:40 -0700
  Repository:  mythtv
      Branch:  master
New Revision:  8bf5157fdb844dc72e65bfc419e343b6764b58ba
   Changeset:  https://github.com/MythTV/mythtv/commit/8bf5157fd

Log:

This patch adds IPv6 support to mythbackend and mythfrontend. I've been running
this patch since XMas with no problems at all.

To use IPv6 you just have to run mythtv-setup and configure your backend IPv6 addresses.
This assumes  you have IPv6 configured internally on your lan of course.

The changes are overall fairly small.  One of the biggest things needed
was to encapsulate IPv6 addresses in the URL with [] (otherwise parsing
out a port could be ugly:) )

So for example instead of

   myth://group@fd14:6bf7:21fb::24/file.mpg

 It would be
   myth://group@[fd14:6bf7:21fb::24]/file.mpg

   or if specifying the port

   myth://group@[fd14:6bf7:21fb::24]:6543/file.mpg

To remove all of the duplicated code where we build
the URL I've added a GenMythURL() function to gContext and it will generate
the path and do the right thing when it comes to[]'s , ports  and storage
groups in the URL.

So for example gContext->GenMythURL("fd14:6bf7:21fb::24","6543","file.mpg","Videos")
Happily generates myth://Videos@[fd14:6bf7:21fb::24]:6543/file.mpg

Only the PHP bindings have been updated (for use with mythweb) so far and I have no had
a chance to test this under Windows or OSX as I do not have access to either of those.

This patch does however change MythSocket to no longer assume that a socket will be IPv4.
It will attempt to detect which it should use however based on the IP it is trying to connect to

Bug reports are welcome.

Modified:

   mythtv/bindings/php/MythBackend.php
   mythtv/libs/libmyth/programinfo.cpp
   mythtv/libs/libmythbase/msocketdevice.cpp
   mythtv/libs/libmythbase/msocketdevice.h
   mythtv/libs/libmythbase/msocketdevice_unix.cpp
   mythtv/libs/libmythbase/msocketdevice_win.cpp
   mythtv/libs/libmythbase/mythcorecontext.cpp
   mythtv/libs/libmythbase/mythcorecontext.h
   mythtv/libs/libmythbase/storagegroup.cpp
   mythtv/libs/libmythmetadata/metadataimagedownload.cpp
   mythtv/libs/libmythmetadata/videoutils.h
   mythtv/libs/libmythtv/tv_rec.cpp
   mythtv/libs/libmythui/mythudplistener.cpp
   mythtv/libs/libmythui/mythuifilebrowser.cpp
   mythtv/libs/libmythupnp/broadcast.h
   mythtv/libs/libmythupnp/multicast.cpp
   mythtv/libs/libmythupnp/ssdp.cpp
   mythtv/libs/libmythupnp/upnpdevice.cpp
   mythtv/libs/libmythupnp/upnptasknotify.cpp
   mythtv/libs/libmythupnp/upnptasksearch.cpp
   mythtv/programs/mythbackend/httpconfig.cpp
   mythtv/programs/mythbackend/mainserver.cpp
   mythtv/programs/mythbackend/mediaserver.cpp
   mythtv/programs/mythfrontend/main.cpp
   mythtv/programs/mythfrontend/mediarenderer.cpp
   mythtv/programs/mythfrontend/networkcontrol.h
   mythtv/programs/mythfrontend/playbackboxhelper.cpp
   mythtv/programs/mythfrontend/themechooser.cpp
   mythtv/programs/mythlcdserver/lcdserver.cpp
   mythtv/programs/mythtranscode/main.cpp



More information about the mythtv-commits mailing list