[mythtv] MHEG BBC iPlayer

Lawrence Rust lvr at softsystem.co.uk
Wed Oct 12 18:42:52 UTC 2011

On Wed, 2011-10-12 at 14:54 +0100, David Knight wrote:
> On Fri, September 30, 2011 9:40 am, Lawrence Rust wrote:
> > On Thu, 2011-09-29 at 22:13 +0100, David Knight wrote:
> [snip]
> >>
> >> Hi Lawrence, had another go and the commit works but getting a compile
> >> error now in RingBuffer.o :( - I'm using Fedora 13 on the MythTV box
> >> x86_64.
> >>
> >> Qmake version: 1.07a (Qt 3.3.8b)
> >> GNU Make 3.81
> >>
> >> RingBuffer.cpp: In member function 'void RingBuffer::OpenFile(const
> >> QString&, uint)':
> >> RingBuffer.cpp:314: warning: possible problem detected in invocation of
> >> delete operator:
> >> RingBuffer.cpp:314: warning: invalid use of incomplete type 'struct
> >> NetStream'
> >> RingBuffer.h:25: warning: forward declaration of 'struct NetStream'
> >
> > I believe this is a difference/problem with the C preprocessor handling
> > of USING_MHEG.  To workaround this I have amended the patch to
> > RingBuffer.cpp/h to change "#if USING_MHEG" to "#ifdef USING_MHEG".
> > Perhaps you could try this:
> > http://www.softsystem.co.uk/download/mythtv/iplayer.diff
> >
> > NB you will need to discard the commit made by the old patch:
> > git reset --hard HEAD^
> > patch -p1 < iplayer.diff
> > git commit -am"Add mheg iplayer"
> >
> > --
> > Lawrence
> >
> >
> Still no ball I'm afraid :( it bombs out of compilation with the same
> errors regarding the RingBuffer module.
> Any more ideas?

This must be something to do with the way rpm's are built with the
packaging script.  If the patch applies cleanly then it should compile.
The errors that you are seeing indicate that the new netstream.h header
is not being included into RingBuffer.cpp.  But that change is part of
the patch ???  Furthermore NetStream is declared as a class, not a
struct, as reported in the error message.  Could this be a name clash

The only real difference that I can see is that you're building on
Fedora 13, which has an older gcc and cpp.  Maybe some library that
you've installed is causing a name clash?  It would be revealing if you
could build Myth with this patch from git sources using just ./configure
and make.  If that succeeds then it's a packaging problem, if not it's
an environment problem.

To be honest, I'm stumped.  If I get an hour or so this weekend I'll
build a Fedora 13 VM and see if I can build a Myth RPM with this patch.
If I find a problem I'll let you know.  But in the meantime if you come
up with a fix I would be very interested to see.


More information about the mythtv-dev mailing list