EPG Collector - BDA Compatibility Mode

Help and support with third-party TV software.
Windows Media Center, J River Media Center, Next PVR, MythTV, InstaTV, etc.
Post Reply
Online
tonywagner
Posts: 131
Joined: Wed Sep 19, 2018 8:25 am

EPG Collector - BDA Compatibility Mode

Post by tonywagner » Tue Jan 28, 2020 11:45 am

I just started using EPG Collector to get program information from OTA broadcast metadata, but I was only getting ~3 hours of data for each channel when using my HDHR3-US tuner. Using TSReader Lite, I could see the channels were actually including much more data than that (up to 7 days).

I had to change the "BDA Compatibility Mode" in the HDHomeRun Setup program to "J River Media Center", as per the instructions in this thread, to get more than 3 hours data in the EPG Collector scan:
https://sourceforge.net/p/epgcollector/ ... 8215/#9637

Do you know why that is the case? I use Windows Media Center, so I had that selected as the BDA Compatibility Mode. Changing it to J River doesn't seem to have affected WMC operation, but it does seem confusing. It might be nice if we could figure out a way for the HDHR and EPG Collector to play nicely, without that step.

jasonl
Expert
Posts: 15177
Joined: Sun Oct 28, 2007 9:23 pm

Re: EPG Collector - BDA Compatibility Mode

Post by jasonl » Tue Jan 28, 2020 12:32 pm

The Windows Media Center mode enables hardware PID filtering on the HDHomeRun driver/device. Basically, it starts out at nothing being sent, and the application has to explicitly request each portion of the stream that it wants. The J River mode disables the filter and just sends the full stream unfiltered. The advantage of hardware filtering is that it significantly decreases network bandwidth usage, especially when using higher data rate sources like US cable and DVB-T/C. The downside is that the application has to be specifically written to support it, and many aren't. My guess as to why you're only getting partial data with the filter on is that the application is adding the first EIT and ETT PIDs, but never adds the additional ones, but will process the data from those PIDs if they are present in the stream. If the developers of that applications are interested in their application getting full data with the PID filter enabled, they would need to use the MapPID method of the IMPEG2PIDMap interface on the KSNODE_BDA_PID_FILTER node of the HDHomeRun tuner to add the PIDs once they've parsed the MGT (I promise, this sentence does actually mean something to developers, even if it's incomprehensible to the rest of the planet).

Online
tonywagner
Posts: 131
Joined: Wed Sep 19, 2018 8:25 am

Re: EPG Collector - BDA Compatibility Mode

Post by tonywagner » Tue Jan 28, 2020 3:42 pm

Thanks, Jason! I will look into that.

Online
tonywagner
Posts: 131
Joined: Wed Sep 19, 2018 8:25 am

Re: EPG Collector - BDA Compatibility Mode

Post by tonywagner » Wed Jan 29, 2020 2:49 pm

Update: EPG Collector doesn't want to add any HDHR-specific code, which is fair.

But I figured out I can do a simple registry import to toggle the setting. If anyone is curious, this registry file will set it to J River (replace xxxxxxxx with your HDHR ID number):

Code: Select all

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Silicondust\HDHomeRun]
"Application"="J River Media Center"

[HKEY_LOCAL_MACHINE\SOFTWARE\Silicondust\HDHomeRun\Tuners\xxxxxxxx-0]
"Application"="J River Media Center"
"BDAPIDFilter"="Disabled"

[HKEY_LOCAL_MACHINE\SOFTWARE\Silicondust\HDHomeRun\Tuners\xxxxxxxx-1]
"Application"="J River Media Center"
"BDAPIDFilter"="Disabled"
And this one will set it back to WMC:

Code: Select all

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Silicondust\HDHomeRun]
"Application"="Windows Media Center"

[HKEY_LOCAL_MACHINE\SOFTWARE\Silicondust\HDHomeRun\Tuners\xxxxxxxx-0]
"Application"="Windows Media Center"
"BDAPIDFilter"="Enabled"

[HKEY_LOCAL_MACHINE\SOFTWARE\Silicondust\HDHomeRun\Tuners\xxxxxxxx-1]
"Application"="Windows Media Center"
"BDAPIDFilter"="Enabled"
You can save those as separate .reg files, and import them before and after running EPG Collector in your update task batch file, something like the following:

Code: Select all

reg import "C:\epg\hdhr-jriver.reg"
"C:\Program Files\Geekzone\EPG Collector\EPGCollector.exe" /ini="C:\Users\UserName\AppData\Local\Geekzone\EPG Collector\EPG Collector.ini"
reg import "C:\epg\hdhr-wmc.reg"

nickk
Silicondust
Posts: 15765
Joined: Tue Jan 13, 2004 9:39 am

Re: EPG Collector - BDA Compatibility Mode

Post by nickk » Sun Feb 02, 2020 12:17 pm

That suggests EPG Collector isn't using the DirectShow APIs for PID filtering. This isn't HDHomeRun specific as such, but most PCI and USB tuners don't support PID filtering so they work even if the app doesn't request PIDs correctly.

Nick

Post Reply