Rfi: pvr api 5.10.4


#1

Hello! I apologize in advance if this isn’t the proper forum to post my inquiry, but I have a question regarding the CoreELEC Kodi PVR API v5.10.4 modifications/patches.

I develop a third-party Kodi PVR addon for the HDHomeRun, and some of my users have had difficulty using it with CoreELEC due to the bump in the PVR API version. When they started reporting problems I went looking for this API change to support it, but learned that it’s a CoreELEC exclusive changeset.

My concern is that I am unable to support CoreELEC at this time since the formal Kodi PVR API is still at version 5.10.3. If Kodi is to bump their API to 5.10.4, chances are good it won’t be the same set of changes and there will be a version conflict in the future, leaving me in a bit of a pickle.

I would love to be able to support all my users, and they seem to really like CoreELEC. Is there any chance that CoreELEC could use a different mechanism to detect/access the enhanced PVR functionality for addons that support it without changing the formal Kodi API? I can think of a couple different tricks you might be able to use, but I’m mainly a Windows person so I’m not going to pretend to know something you don’t :slight_smile:

Thanks for your time, and Happy Holidays! Looks like a great product you have here!


#2

The API was bumped to add support for the PVR archive feature.
After some internal discussions, bumping the API was the only sure way to prevent any compatibility issues with the PVR addons we build with our releases.

How are you building your addon for ARM/CoreELEC? Or does it not have a binary?


#3

It’s a regular old Kodi binary addon, packaged and deployed as a .zip file to the end users. I have my own build methodology I put together using msbuild – for all the *nix distros I use GCC. I have the XBMC repo as a submodule/dependency and it will pull the necessary headers from there for the PVR and addon APIs.

I completely understand the need to increment the API, was just reaching out to see if there was any plans or possibilities for PVR addons that hit API 5.10.3 (perhaps as a minimum version?) to still work with CoreELEC so I can provide the proper guidance to my users.

Not being an IPTV household, I admit to not really looking at what the new features were, but have you guys considered contributing them back to Kodi? If the CoreELEC API changes are in the pipeline, the worry about Kodi stepping on them with changes of their own could be alleviated.

But hey - I’m not preaching or asking you to change anything here (seriously) :slight_smile: Not my style. At least one user was enterprising enough to adapt the code to CoreELEC themselves, and if enough really start getting into CoreELEC, there is no reason I couldn’t have a special CoreELEC build myself!

Thanks again!


#4

The changes where submitted to Kodi upstream, unfortunately due to Leia being at the Beta stage they are not accepting any bumps to the API now until after Leia is final.

We would be able to add your addon to our buildroot and build it when doing our releases and add it to our repositories so it would be compatible for our users.


#5

Cool, thank you - I was able to find the PR and the associated discussion points on GitHub and the forum.

You guys are welcome to grab the PVR and include it if you want - I use a permissive license (MIT), I didn’t want to make this inquiry any type of self-promotion on my part. Given that the code build and layout is customized (no CMake, uses its own version of a couple FOSS libraries, etc) it’s probably not worth your time/effort just to support a few users :slight_smile: LMK if you feel otherwise, you are honestly welcome to use/include it if you wanted to go that route.

Seeing that it’s being worked for Kodi 19 relieves my trepidation about doing some one-off build(s) for my users, that is likely the best route to go at this point, easiest for everyone!

Thank you for the information, I truly appreciate it!


#6

I was looking over the patchset itself finally, and have a question. It looks like the only truly breaking change made to the API was the addition of the bHasArchive field to PVR_CHANNEL. I agree that changing that structure does require you to bump the API version and require addons to be compiled against it.

Did you guys consider adding a method to get this flag instead of changing the structure? Yes, that would require more calls into the PVR addon, but you could use the presence or absence of this new method to detect non-compliant addons and default the flag to false as necessary. Unless I’m missing something critical here, you could keep the minimum PVR version at 5.10.0 and not have any need to recompile/build all of the non-IPTV addons.

Given that Kodi has moved to a repository-based binary addon distribution I think coming up with a way to not break the PVR API would be of benefit to both CoreELEC and your user base. There is little chance that any non-CE built PVR addons are going to be compatible with CE for the lifetime of Leia.

I do hope you are willing to take another look at this, but will try not to bother you anymore :slight_smile: I let my gang know that I decided against supporting the API change after reviewing it, but they are free to ‘roll their own’ and I will help them if they want :slight_smile:

Thanks for listening!