From: "Simon Horne" s.horne@packetizer.com Date: Wednesday 27 October 2010 21:11
There are 2 directshow implementations. The original directshow (P_DIRECTSHOW) was dependent on DirectSound being present (which sometimes it is not) and the second directshow2 (P_DIRECTSHOW2) did not. DirectShow2 files should be in the distro but may or may not be loaded in the project (vidinput_directx2.h.cxx) Check to see in the ptbuildopts.h what has been enabled.
Thanks for your quick reply Simon.
In my case both DirectShow and DirectSound are present and correctly found in the Windows SDK 7.1 and they are both enabled and compiled without errors.
However, the static initialization code that registers the DirectShow service is never executed and, apparently, not even loaded in memory, which suggests that it was stripped by the linker, but I can not see why (since I can not spot any difference between DirectShow and FakeVideo and the latter is registered).
It appears directshow is not loading because the dependency is not present. Try DirectShow2.
The current PTLIB SVN and H323plus CVS now use DirectShow2 by default.
I will download a more recent snapshot of both libs and try them with DirectShow2.