[ANNOUNCE] vdr-rotor support patches for VDR-1.5.14

Message ID eddfa47b0801280234s1ca9e426u554cc025b2ab42f7@mail.gmail.com
State New
Headers

Commit Message

Morfsta Jan. 28, 2008, 10:34 a.m. UTC
  I got the following error when compiling 1.5.14 with h264 patch
applied and your VDR diff from the tgz: -

g++ -g -O2 -Wall -Woverloaded-virtual -Wno-parentheses -c -DREMOTE_KBD
-DLIRC_DEVICE=\"/dev/lircd\" -DRCU_DEVICE=\"/dev/ttyS1\" -D_GNU_SOURCE
-DVIDEODIR=\"/video\" -DCONFDIR=\"/video\"
-DPLUGINDIR=\"./PLUGINS/lib\" -DLOCDIR=\"./locale\"
-I/usr/include/freetype2 -I/root/multiproto/linux/include device.c
device.c:793: error: prototype for âeSetChannelResult
cDevice::SetChannel(const cChannel*, bool)â does not match any in
class âcDeviceâ
device.h:255: error: candidate is: eSetChannelResult
cDevice::SetChannel(const cChannel*, bool, cDevice*)
device.c: In member function âeSetChannelResult
cDevice::SetChannel(const cChannel*, bool)â:
device.c:813: error: call of overloaded âSetChannel(const cChannel*&,
bool)â is ambiguous
device.h:255: note: candidates are: eSetChannelResult
cDevice::SetChannel(const cChannel*, bool, cDevice*)
device.c:793: note:                 eSetChannelResult
cDevice::SetChannel(const cChannel*, bool)
make: *** [device.o] Error 1

The following patch fixes it: -

      StopReplay();

I'll test the functionality of the new rotor + patches shortly. I had
a brief look through the output, should it now be able to scan DVB-S2
transponders?

Thanks



On Jan 27, 2008 11:05 PM, Reinhard Nissl <rnissl@gmx.de> wrote:
> Hi,
>
> the attached patch is based on these files:
>
>        vdr-rotor-0.1.4-vdr1.5.tgz
>        rotor-0.1.4-vdr-15.12.diff
>
> For simplicity a patched version is attached too.
>
> NOTES:
> - I couldn't test with a real rotor device
> - I couldn't test with a FF card
>
> Have fun!
>
> Bye.
> --
> Dipl.-Inform. (FH) Reinhard Nissl
> mailto:rnissl@gmx.de
>
> _______________________________________________
> vdr mailing list
> vdr@linuxtv.org
> http://www.linuxtv.org/cgi-bin/mailman/listinfo/vdr
>
>
  

Comments

Morfsta Jan. 28, 2008, 11:01 a.m. UTC | #1
Seems that I spoke too soon - I get a problem running rotor on my
system after compilation: -

vdr: ./PLUGINS/lib/libvdr-rotor.so.1.5.14: undefined symbol:
_ZN7cDevice13SwitchChannelEPK8cChannelPS_

Whatever I try I can't seem to fix it. Reverting back to my old
version of rotor works fine.



On Jan 28, 2008 10:34 AM, Morfsta <morfsta@gmail.com> wrote:
> I got the following error when compiling 1.5.14 with h264 patch
> applied and your VDR diff from the tgz: -
>
> g++ -g -O2 -Wall -Woverloaded-virtual -Wno-parentheses -c -DREMOTE_KBD
> -DLIRC_DEVICE=\"/dev/lircd\" -DRCU_DEVICE=\"/dev/ttyS1\" -D_GNU_SOURCE
> -DVIDEODIR=\"/video\" -DCONFDIR=\"/video\"
> -DPLUGINDIR=\"./PLUGINS/lib\" -DLOCDIR=\"./locale\"
> -I/usr/include/freetype2 -I/root/multiproto/linux/include device.c
> device.c:793: error: prototype for âeSetChannelResult
> cDevice::SetChannel(const cChannel*, bool)â does not match any in
> class âcDeviceâ
> device.h:255: error: candidate is: eSetChannelResult
> cDevice::SetChannel(const cChannel*, bool, cDevice*)
> device.c: In member function âeSetChannelResult
> cDevice::SetChannel(const cChannel*, bool)â:
> device.c:813: error: call of overloaded âSetChannel(const cChannel*&,
> bool)â is ambiguous
> device.h:255: note: candidates are: eSetChannelResult
> cDevice::SetChannel(const cChannel*, bool, cDevice*)
> device.c:793: note:                 eSetChannelResult
> cDevice::SetChannel(const cChannel*, bool)
> make: *** [device.o] Error 1
>
> The following patch fixes it: -
>
> --- device.c    2008-01-28 10:33:00.000000000 +0000
> +++ device.c.new        2008-01-28 10:32:47.000000000 +0000
> @@ -790,7 +790,7 @@ bool cDevice::SwitchChannel(int Directio
>   return result;
>  }
>
> -eSetChannelResult cDevice::SetChannel(const cChannel *Channel, bool LiveView)
> +eSetChannelResult cDevice::SetChannel(const cChannel *Channel, bool
> LiveView, cDevice *SpecificSourceDevice)
>  {
>   if (LiveView) {
>      StopReplay();
>
> I'll test the functionality of the new rotor + patches shortly. I had
> a brief look through the output, should it now be able to scan DVB-S2
> transponders?
>
> Thanks
>
>
>
>
> On Jan 27, 2008 11:05 PM, Reinhard Nissl <rnissl@gmx.de> wrote:
> > Hi,
> >
> > the attached patch is based on these files:
> >
> >        vdr-rotor-0.1.4-vdr1.5.tgz
> >        rotor-0.1.4-vdr-15.12.diff
> >
> > For simplicity a patched version is attached too.
> >
> > NOTES:
> > - I couldn't test with a real rotor device
> > - I couldn't test with a FF card
> >
> > Have fun!
> >
> > Bye.
> > --
> > Dipl.-Inform. (FH) Reinhard Nissl
> > mailto:rnissl@gmx.de
> >
> > _______________________________________________
> > vdr mailing list
> > vdr@linuxtv.org
> > http://www.linuxtv.org/cgi-bin/mailman/listinfo/vdr
> >
> >
>
  
Darren Salt Jan. 28, 2008, 5:15 p.m. UTC | #2
I demand that Morfsta may or may not have top-posted...

> Seems that I spoke too soon - I get a problem running rotor on my
> system after compilation: -

> vdr: ./PLUGINS/lib/libvdr-rotor.so.1.5.14: undefined symbol:
> _ZN7cDevice13SwitchChannelEPK8cChannelPS_

> Whatever I try I can't seem to fix it. Reverting back to my old
> version of rotor works fine.

c++filt says "cDevice::SwitchChannel(cChannel const*, cDevice*)". Maybe you
need to recompile something...?

[snip; don't top-post]
  
Morfsta Jan. 28, 2008, 6:21 p.m. UTC | #3
On Jan 28, 2008 5:15 PM, Darren Salt
<linux@youmustbejoking.demon.co.uk> pedantically wrote:

> c++filt says "cDevice::SwitchChannel(cChannel const*, cDevice*)". Maybe you
> need to recompile something...?
>
> [snip ; don't top post]

Nope, it's all compiled - just doublechecked with fresh source: -

vdr-1.5.14
vdr-rotor-0.1.4-vdr-1.5.14.tgz
vdr-1.5.14-h264-other-rotor.diff
vdr-1.5.14-h264-syncearly-framespersec-audioindexer-fielddetection-speedup.diff

./vdr -Protor
vdr: ./PLUGINS/lib/libvdr-rotor.so.1.5.14: undefined symbol:
_ZN7cDevice13SwitchChannelEPK8cChannelPS_

Could be the mismatch between device.c and device.h  in
eSetChannelResult SetChannel. I don't know.
  
Arthur Konovalov Feb. 8, 2008, 10:44 a.m. UTC | #4
Morfsta wrote:
> Nope, it's all compiled - just doublechecked with fresh source: -
> 
> vdr-1.5.14
> vdr-rotor-0.1.4-vdr-1.5.14.tgz
> vdr-1.5.14-h264-other-rotor.diff
> vdr-1.5.14-h264-syncearly-framespersec-audioindexer-fielddetection-speedup.diff
> 
> ./vdr -Protor
> vdr: ./PLUGINS/lib/libvdr-rotor.so.1.5.14: undefined symbol:
> _ZN7cDevice13SwitchChannelEPK8cChannelPS_
> 
> Could be the mismatch between device.c and device.h  in
> eSetChannelResult SetChannel. I don't know.

Hi!
Do You solved this problem?
I have same situation.


AK
  
Morfsta Feb. 8, 2008, 12:21 p.m. UTC | #5
On Feb 8, 2008 10:44 AM, Arthur Konovalov <kasjas@hot.ee> wrote:

>
> Hi!
> Do You solved this problem?
> I have same situation.
>

Nope, I had to roll back to an earlier version of rotor that I patched myself.
  
Arthur Konovalov Feb. 8, 2008, 1:03 p.m. UTC | #6
Morfsta wrote:
> Nope, I had to roll back to an earlier version of rotor that I patched myself.

Cool. Can You share it? I can't live without rotor.

AK
  
Morfsta Feb. 8, 2008, 1:35 p.m. UTC | #7
On Feb 8, 2008 1:03 PM, Arthur Konovalov <kasjas@hot.ee> wrote:
> Cool. Can You share it? I can't live without rotor.
>

Here you go. This works for me with the
vdr-1.5.14-h264-other-rotor.diff patch (with the suggested fix).
  

Patch

--- device.c    2008-01-28 10:33:00.000000000 +0000
+++ device.c.new        2008-01-28 10:32:47.000000000 +0000
@@ -790,7 +790,7 @@  bool cDevice::SwitchChannel(int Directio
   return result;
 }

-eSetChannelResult cDevice::SetChannel(const cChannel *Channel, bool LiveView)
+eSetChannelResult cDevice::SetChannel(const cChannel *Channel, bool
LiveView, cDevice *SpecificSourceDevice)
 {
   if (LiveView) {