I noticed a problem with some plugins when building against vdr-1.3.47. It appears that the following was added to vdr:
virtual cString Active(void);
This is conflicting with how "Active" is defined in the burn and streamdev plugins:
virtual bool Active(void);
Here are the error messages for both burn and streamdev:
ccache g++ -g -O2 -Wall -Woverloaded-virtual -c -DPLUGIN_NAME_I18N='"burn"' -D_GNU_SOURCE -DDVDDEV='"/dev/cdrom"' -DISODIR='"/home/video"' -I../../../include -o burn.o burn.c burn.c:37: error: conflicting return type specified for `virtual bool cPluginBurn::Active()' ../../../include/vdr/plugin.h:43: error: overriding `virtual cString cPlugin::Active()' make[1]: *** [burn.o] Error 1
In file included from streamdev-server.c:9: streamdev-server.h:22: error: conflicting return type specified for `virtual bool cPluginStreamdevServer::Active()' ../../../include/vdr/plugin.h:43: error: overriding `virtual cString cPlugin::Active()' make[1]: *** [streamdev-server.o] Error 1
Does anyone have patches for these two plugins?
On Monday 17 April 2006 21:03, C.Y.M wrote:
I noticed a problem with some plugins when building against vdr-1.3.47. It appears that the following was added to vdr:
virtual cString Active(void);
This is conflicting with how "Active" is defined in the burn and streamdev plugins:
virtual bool Active(void);
In file included from streamdev-server.c:9: streamdev-server.h:22: error: conflicting return type specified for `virtual bool cPluginStreamdevServer::Active()' ../../../include/vdr/plugin.h:43: error: overriding `virtual cString cPlugin::Active()' make[1]: *** [streamdev-server.o] Error 1
Does anyone have patches for these two plugins?
I came across this with streamdev earlier on. What I did as a quick bodge was rename the Active functions in streamdev-server to LActive in streamdev-server.h:24 and streamdev-server.c:58.
Not as clean as a proper renaming patch but worked for me!
;)
Cheers,
Laz
I came across this with streamdev earlier on. What I did as a quick bodge was rename the Active functions in streamdev-server to LActive in streamdev-server.h:24 and streamdev-server.c:58.
Not as clean as a proper renaming patch but worked for me!
Actually, that was my first instinct as well.. to rename Active to something else :)
Although, this seems to work to.. (see attachments)
BR.
vdr-bounces@linuxtv.org schrieb am 17.04.2006 22:26:03:
I came across this with streamdev earlier on. What I did as a
quick bodge was
rename the Active functions in streamdev-server to LActive in streamdev-server.h:24 and streamdev-server.c:58.
Not as clean as a proper renaming patch but worked for me!
Actually, that was my first instinct as well.. to rename Active to something else :)
Although, this seems to work to.. (see attachments)
BR.
--- burn/burn.c.orig 2005-11-12 10:17:11.000000000 -0800 +++ burn/burn.c 2006-04-17 13:10:40.000000000 -0700 @@ -34,7 +34,7 @@ virtual bool Start(void); virtual void Stop(void); virtual void Housekeeping(void);
- virtual bool Active(void);
- virtual cString Active(void); virtual const char *MainMenuEntry(void) { return tr(MAINMENUENTRY);
}
virtual cOsdObject *MainMenuAction(void); virtual cMenuSetupPage *SetupMenu(void);
@@ -193,9 +193,11 @@ cBurnMenuBurn::Housekeeping(); }
-bool cPluginBurn::Active(void) +cString cPluginBurn::Active(void) {
- return cBurnMenuBurn::JobActive();
- if(cBurnMenuBurn::JobActive())
return tr("Burn DVD job active");
return NULL;
}
Rename would be quite wrong as burn and streamdev are already using this new funktion. It was previously hidden in the patch section of both plugins. Klaus just opened up the idea somewhat more to allow for reporting the busy-reason by the plugin. The original idea of the burn/streamdev designer was to just report it's busy.
Active() had previously no real function when VDR was not patched. VDR was ignoring the busy plugin and just killed it :) Now VDR should politely ask wether to kill burn and streamdev while they are busy.
To make VDR master again you may have to remove some double checks in your shutdown scripts for burn and streamdev. VDR can still overrule a busy plugin by manually aknoledging a forced shutdown. Scripts do mostly not allow this. If again some script kiddy continously tries to hack into my VDRs ssh port, my shutdown script complain always about some still open ports. Would be nice to replace this with some mini-plugin still allowing a forced shutdown without having to kill sshd before VDR accepts shutting down ;-)) May be it's a good idea now to move all the shutdown scripts to some mini-plugin which still allowes a manual forced shutdown.
regards Peter
********************************************************************************* It still surprises me that the "patch" was so quitely taken over by Klaus ;-)