On Mon, 10 Mar 2014 08:45:05 -0700 VDR User user.vdr@gmail.com wrote:
I think concensus is that the patch's code is cleaner than the plugin's. I looked at the plugin code to see if I could work out how to make the Huffman decoding work on standard PIDs for Freeview as well as on Freesat's non-standard ones, and found it too difficult to follow. The original author might not have so much difficulty, but there's also quite a big memory leak which somehow defied my efforts to trace it with valgrind.
I mentioned this thread to him yesterday. He gave a quick look but needs someone with access to Freeview HD to provide debug logs & test since he doesn't have that provider. Also, I've been using the latest git of EEPG for some time and haven't noticed any big memory leaks. When is the last time you've tried this plugin?
Is he aware that the only difference is that Freeview uses the standard EIT PIDs? If he changes the plugin so it can detect and decode Huffman (there is a marker byte or pair of bytes at the start of every string) no matter which PID the data is from, hopefully he should be able to at least confirm for himself that this doesn't interfere with non-Huffman data. And I'm willing to test betas/git with Freeview HD.
I used to have to patch the VDR core to get eit working here too. I must say, it's quite a pleasure to not have to maintain/fix it anymore now that I can just use EEPG. Even if you don't care about support for Freeview HD in EEPG, I don't see why you wouldn't just put your patch into a plugin and never have to hassle with fixing it again. I think most people prefer not to patch the VDR core at all when it can be avoided.
I think gaining enough understanding of VDR's architecture would be harder for me. I don't often even have to re-apply the patch let alone update it for an API change. Whenever there is an API change affecting the patch it would probably affect an equvalent plugin too. In the old days, when I used to compile developer versions instead of using Debian packages, ISTM that the plugins needed changing at nearly every one of Klaus' weekly updates, but no doubt the API is more stable now.