[h323plus] enabling DirectShow video input
packetizer.com at riseoftheants.com
Fri Oct 29 20:33:41 EDT 2010
From: "Simon Horne" <s.horne at 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:
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/
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.
PString inputDriverName = "DirectShow";
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
PBoolean PSoundChannel::Write(const void * buf, PINDEX len, const void *
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.
More information about the h323plus