Mailing List archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[vdr] Re: ANNOUNCE: vdr-mhp-0.2



Am Sonntag, 19. September 2004 14:22 schrieb Andreas Brachold:
> Hi,
>
> Am So, den 19.09.2004 schrieb Marcel Wiesweg um 0:04:
> > This plugin aims at creating an MHP implementation for VDR.
>
> there are several pitfalls. i'm have try to compile the plugin
> with gcc-3.3.4 under vdr-1.3.10
>
> 1. On README the dependency on DFB++ are untouched.
> 2. ./libdvbsi/sirequests.c see attachment
> 3. same problem with gettext and missing buffersize at
>   ./libdvbsi/objects.c  likewise ./libait/ait.c posted here also.
> 4. at ./libdvbsi/objects.c i got follow compilermessages.

Problem 2,3,4 occur because my libsi I am developing against does not contain 
the last changes from Klaus (problem 3), but do contain the patch I wrote 
last week (which in turn in not yet incorporated in VDR). So problem two is 
because on my system I need the new API, the same with number 4: I fixed 
that, then I remembered that it broke compatibility, then I forgot that I had 
changed this...
The patch for objects.c is attached, could not yet test it with a compiler 
though.

Marcel

>
>
> g++ -O0 -g -Wall -Woverloaded-virtual -c  -I../../../../include -I..
> objects.c
> objects.c: In member function `EightBit*
>    DvbSi::EIT::Event::getContentNibbleLevel1(int&)':
> objects.c:133: error: no matching function for call to `
>    SI::StructureLoop<SI::ContentDescriptor::Nibble>::getNext(
>    SI::ContentDescriptor::Nibble&, SI::Loop::Iterator&)'
> ../../../../include/libsi/si.h:285: error: candidates are: T
>    SI::StructureLoop<T>::getNext(SI::Loop::Iterator&) [with T =
>    SI::ContentDescriptor::Nibble]
> make[1]: Entering directory
> `/usr/src/vdr/vdr-1.3.10/PLUGINS/src/mhp-0.2a/libdvbsi' g++ -O0 -g -Wall
> -Woverloaded-virtual -c  -I../../../../include -I.. objects.c objects.c: In
> member function `EightBit*
>    DvbSi::EIT::Event::getContentNibbleLevel1(int&)':
> objects.c:133: error: no matching function for call to `
>    SI::StructureLoop<SI::ContentDescriptor::Nibble>::getNext(
>    SI::ContentDescriptor::Nibble&, SI::Loop::Iterator&)'
> ../../../../include/libsi/si.h:285: error: candidates are: T
>    SI::StructureLoop<T>::getNext(SI::Loop::Iterator&) [with T =
>    SI::ContentDescriptor::Nibble]
> objects.c:139: error: no matching function for call to `
>    SI::StructureLoop<SI::ContentDescriptor::Nibble>::getNext(
>    SI::ContentDescriptor::Nibble&, SI::Loop::Iterator&)'
> ../../../../include/libsi/si.h:285: error: candidates are: T
>    SI::StructureLoop<T>::getNext(SI::Loop::Iterator&) [with T =
>    SI::ContentDescriptor::Nibble]
> objects.c: In member function `EightBit*
>    DvbSi::EIT::Event::getContentNibbles(int&)':
> objects.c:154: error: no matching function for call to `
>    SI::StructureLoop<SI::ContentDescriptor::Nibble>::getNext(
>    SI::ContentDescriptor::Nibble&, SI::Loop::Iterator&)'
> ../../../../include/libsi/si.h:285: error: candidates are: T
>    SI::StructureLoop<T>::getNext(SI::Loop::Iterator&) [with T =
>    SI::ContentDescriptor::Nibble]
> objects.c:160: error: no matching function for call to `
>    SI::StructureLoop<SI::ContentDescriptor::Nibble>::getNext(
>    SI::ContentDescriptor::Nibble&, SI::Loop::Iterator&)'
> ../../../../include/libsi/si.h:285: error: candidates are: T
>    SI::StructureLoop<T>::getNext(SI::Loop::Iterator&) [with T =
>    SI::ContentDescriptor::Nibble]
> make[1]: *** [objects.o] Fehler 1
>
>
>
> Any fixes are welcome ;-)
> Andreas
--- objects.c.alt	Sun Sep 19 23:04:00 2004
+++ objects.c	Sun Sep 19 23:12:06 2004
@@ -131,5 +131,9 @@
       int c=0;
       SI::ContentDescriptor::Nibble nibble;
+      #if VDRVERSNUM > 10312
       while (cd->nibbleLoop.getNext(nibble, it2))
+      #else
+      while (cd->nibbleLoop.hasNext(it2))
+      #endif
          c++;
       SI::EightBit *array=new SI::EightBit[c];
@@ -137,6 +141,11 @@
       it2.reset();
       c=0;
+      #if VDRVERSNUM > 10312
       while (cd->nibbleLoop.getNext(nibble, it2))
          array[c++]=(nibble.getContentNibbleLevel1() & 0xFF);
+      #else
+      while (cd->nibbleLoop.hasNext(it2))
+         array[c++]=(cd->nibbleLoop.getNext(it2).getContentNibbleLevel1() & 0xFF);
+      #endif
       return array;
    }
@@ -152,5 +161,9 @@
       int c=0;
       SI::ContentDescriptor::Nibble nibble;
+      #if VDRVERSNUM > 10312
       while (cd->nibbleLoop.getNext(nibble, it2))
+      #else
+      while (cd->nibbleLoop.hasNext(it2))
+      #endif
          c++;
       SI::EightBit *array=new SI::EightBit[c];
@@ -158,7 +171,13 @@
       it2.reset();
       c=0;
-      while (cd->nibbleLoop.getNext(nibble, it2)) {
+      #if VDRVERSNUM > 10312
+      while (cd->nibbleLoop.getNext(nibble, it2))
+         array[c++]=(nibble.getContentNibbleLevel1() << 16) & (nibble.getContentNibbleLevel2());
+      #else
+      while (cd->nibbleLoop.hasNext(it2)) {
+         nibble=cd->nibbleLoop.getNext(it2);
          array[c++]=(nibble.getContentNibbleLevel1() << 16) & (nibble.getContentNibbleLevel2());
       }
+      #endif
       return array;
    }

Home | Main Index | Thread Index