From: "Simon Horne" s.horne@packetizer.com Date: Thursday 28 October 2010 08:12
Yes Jan is right. You should be able to compile the h323plus CVS against the latest PTLIB release.
I am working towards a release in the not too distant future.
I finally managed to compile and run ptlib + h323plus + simpleplus from the latest source.
I do not know what the established procedure to fix bugs is, so I'll just report the issues here for the moment:
----------------------- 1. DirectShow2 needs qedit.h and ptbuildopts.h.in assumes that qedit.h is in the same location as dshow.h. But qedit.h is no longer part of the DirectShow SDK (included in the Windows SDK). Adding the directory where qedit.h can be found to the project settings does not work because of
#pragma include_alias(<Qedit.h>, <@DIRECTSHOW_DIR@/include/Qedit.h>)
which only works if one puts a copy of qedit.h in the <WinSDK>/include/ folder itself.
Since the WinCE branch in vidinput_directx2.cxx declares the needed interfaces and GUIDs, why not do the same for Win32/Win64 instead of relying on a no-longer supported qedit.h and forcing it to reside in the WinSDK where it should not be?
For the time being, I simply commented out the #pragma and added the directory containing qedit.h to the project's include path.
----------------------- 2. simpleplus/main.cxx has
#ifdef P_DIRECTSHOW2 PString inputDriverName = "DirectShow"; #else
but that should be "DirectShow2", otherwise the service is not found, since DirectShow2 registers itself as "DirectShow2" and not "DirectShow" (which makes sense but is not backward-compatible with looking for "DirectShow").
----------------------- 3. ptlib/common/sound.cxx
PBoolean PSoundChannel::Write(const void * buf, PINDEX len, const void * mark) { return Write(buf, len, mark); }
It is an infinite recursion ending in a stack overflow. I do not know what the call should have been so I have no fix for it.