CodeMonkey, he is using my PCIe card to do the testing.
Thanks. Though thinking about it more, it really shouldn't matter which one as long as the Ceton drivers allow access from DirectShow.CodeMonkey, he is using my PCIe card to do the testing.
Though thinking about it more, it really shouldn't matter which one as long as the Ceton drivers allow access from DirectShow.
Yeah I saw this in the code yesterday. I like too that you put the word "cablecard" in comments around your code changes so a simple search found most of the code changesThough thinking about it more, it really shouldn't matter which one as long as the Ceton drivers allow access from DirectShow.
Well... not exactly.
The Ceton drivers don't allow access from DirectShow. DirectShow interop is done differently depending on the implementation.
For PBDA, we rely on MS PBDA proxy filters. These are the same filters that I assume WMC uses, so any OCUR CableCARD tuner that works in WMC would work with them. They present a BDA source filter to the OS, which can be connected up in an almost-standard BDA filter graph (network provider->source filter-> etc. etc. etc.). There is a bit of special handling, but not too much. The problem with the proxy interface/filter is that it isn't available in a WOW64 environment, and that is the reason why we had issues with 64 bit support.
For native DRI/UPnP support, I'm using a generic RTSP source filter from -->here<--. I pass it the UPnP AVTransport stream URL and hey presto - lights, camera, ACTION! To get the URL you have to discover the device and interact with it a little. That is done with the help of the MP2 UPnP library.
Actually, in both cases figuring out that the device is an OCUR tuner that we support currently boils down to a hard-coded list. This is because there doesn't seem to be any way to determine that the BDA source filter is an OCUR tuner, and the UPnP library will discover any UPnP device on the network (laptops, routers, AV receivers... you name it).
The hard-coded lists are here:
https://github.com/MediaPortal/Medi...ibrary/Implementations/DeviceDetector.cs#L463
https://github.com/MediaPortal/Medi...ibrary/Implementations/DeviceDetector.cs#L685
As you can see, we currently only support the Prime and the InfiniTV. I'm not sure if the USB InfiniTV would match, but I know the PCIe one definitely does. Anyhow, getting the USB InfiniTV and/or the Hauppauge DCR-2560 to be detected is as simple as adding the correct name prefix for the BDA source filter and/or the UPnP root device friendly name to those lists.
In other words... buy any tuner that you want, and I should hopefully be able to make it work.