[ekiga/gnome-2-26] Add back plugin devices
- From: Eugen Dedu <ededu src gnome org>
- To: svn-commits-list gnome org
- Subject: [ekiga/gnome-2-26] Add back plugin devices
- Date: Tue, 19 May 2009 08:03:54 -0400 (EDT)
commit 9177b5891920a2deb0f831162717668d86382226
Author: Michael Rickmann <mrickma gwdg de>
Date: Tue May 19 14:01:43 2009 +0200
Add back plugin devices
My contribution seems to fit in here: Good news devices are back in
Ekiga. Please correct me if I am wrong. Win32 Ekiga uses ptlib plugins
statically linked. However, current Ekiga code relies on dynamic
plugins or every static plugin being automatically linked
in. E.g. Ekiga knows about PVideoInputDevice but not about
VideoForWindows. After replacement of the PWLibStupidLinkerHacks in
ptlib the linker has no hint that Ekiga wants VideoForWindows and
alike.
So I would suggest a Win32 specific file which picks up the global
consts offered by ptlib as needed - see attached patch.
---
src/Makefile.am | 3 ++-
win32/plugin-gconst.cpp | 19 +++++++++++++++++++
2 files changed, 21 insertions(+), 1 deletions(-)
diff --git a/src/Makefile.am b/src/Makefile.am
index 6614ffe..5e658a2 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -87,7 +87,8 @@ ekiga_SOURCES += \
# resources
if WIN32
-ekiga_SOURCES += \
+ekiga_SOURCES += \
+ $(top_srcdir)/win32/plugin-gconst.cpp \
$(top_srcdir)/win32/ekiga-rc.rc
endif
diff --git a/win32/plugin-gconst.cpp b/win32/plugin-gconst.cpp
new file mode 100644
index 0000000..3f1f3c5
--- /dev/null
+++ b/win32/plugin-gconst.cpp
@@ -0,0 +1,19 @@
+#define PPLUGIN_STATIC_LOAD(serviceName, serviceType) \
+ class PPlugin_##serviceType##_##serviceName##_Registration; \
+ extern PPlugin_##serviceType##_##serviceName##_Registration PPlugin_##serviceType##_##serviceName##_Registration_Instance; \
+ PPlugin_##serviceType##_##serviceName##_Registration const *PPlugin_##serviceType##_##serviceName##_Registration_Static_Library_Loader = &PPlugin_##serviceType##_##serviceName##_Registration_Instance;
+
+#include "ptbuildopts.h"
+
+#if P_AUDIO
+ PPLUGIN_STATIC_LOAD(WindowsMultimedia, PSoundChannel);
+#endif
+
+#if P_DIRECTSHOW
+ PPLUGIN_STATIC_LOAD(DirectShow, PVideoInputDevice);
+#endif
+
+#if P_VFW_CAPTURE
+ PPLUGIN_STATIC_LOAD(VideoForWindows, PVideoInputDevice);
+#endif
+
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]