Kodi Community Forum
API - deprecated features v18 - Printable Version

+- Kodi Community Forum (https://forum.kodi.tv)
+-- Forum: Development (https://forum.kodi.tv/forumdisplay.php?fid=32)
+--- Forum: Add-ons (https://forum.kodi.tv/forumdisplay.php?fid=26)
+---- Forum: PVR (https://forum.kodi.tv/forumdisplay.php?fid=136)
+---- Thread: API - deprecated features v18 (/showthread.php?tid=259830)

Pages: 1 2 3 4 5


RE: API - deprecated features v18 - MatthewLundberg - 2017-06-04

Does this mean that the client function GetLiveStreamURL is also going away?

It sounds like the PVR is now required to handle the network IO for reading remote streams, as this could be previously specified by strStreamURL.

Assuming that this is correct, are there calls into Kodi that I can make to handle the networking? The HDHomeRun PVR is now using strStreamURl to specify the stream, which is opened by the *DVD* reader.


RE: API - deprecated features v18 - MatthewLundberg - 2017-06-06

Partially answering my own question, it looks like I can create an object of type CDVDInputStreamFFmpeg, as in the function CDVDFactoryInputStream::CreateInputStream. Once I figure out how to build the CFileItem that it needs...

Can I call these functions from within the PVR code?


API - deprecated features v18 - ksooo - 2017-06-06

(2017-06-06, 06:10)MatthewLundberg Wrote: Partially answering my own question, it looks like I can create an object of type CDVDInputStreamFFmpeg, as in the function CDVDFactoryInputStream::CreateInputStream. Once I figure out how to build the CFileItem that it needs...

Can I call these functions from within the PVR code?


Sorry, no. These classes/functions are not part of the official Kodi API, thus can change incompatible at any (!) random point in time, breaking your add-on.

You may want to take a look at kodi-platform, which provides stable basic functionality that can be used safely in kodi binary add-ons. => https://github.com/Pulse-Eight/platform


RE: API - deprecated features v18 - MatthewLundberg - 2017-06-06

Thanks, ksooo, I am looking there. It appears to have everything that I will need.

I did notice though, that the P8PLATFORM:TonguereventCopy class does not allow moves. Is this code being actively maintained?


API - deprecated features v18 - ksooo - 2017-06-06

As far as I know, yes.

@opdenkamp might have more insights.


RE: API - deprecated features v18 - MatthewLundberg - 2017-06-07

Confirmed, it is easy to support ReadLiveStream, and I have done so in yet-to-be-pushed code. No more strStreamURL or ThisIsAHack calling GetLiveStreamURL. And maybe it's my imagination, but channel changes seem to be faster and smoother.

I do have a question about this though. In this thread, picture-in-picture is mentioned. However, the function for ReadLiveStream does not indicate a channel or any other handle to allow the PVR to supply multiple streams. Is picture-in-picture only supported for two instances of the PVR, or for the PVR and another stream (say, from a file)?


API - deprecated features v18 - ksooo - 2017-06-07

(2017-06-07, 05:20)MatthewLundberg Wrote: Confirmed, it is easy to support ReadLiveStream, and I have done so in yet-to-be-pushed code. No more strStreamURL or ThisIsAHack calling GetLiveStreamURL. And maybe it's my imagination, but channel changes seem to be faster and smoother.

I do have a question about this though. In this thread, picture-in-picture is mentioned. However, the function for ReadLiveStream does not indicate a channel or any other handle to allow the PVR to supply multiple streams. Is picture-in-picture only supported for two instances of the PVR, or for the PVR and another stream (say, from a file)?


PIP is currently not supported at all. Larger changes in Kodi core and add-ons (including API) are required for this. We're working on this, but still a long way to go, no release date scheduled so far.


RE: API - deprecated features v18 - rbuehlma - 2017-06-07

(2017-06-07, 05:20)MatthewLundberg Wrote: Confirmed, it is easy to support ReadLiveStream, and I have done so in yet-to-be-pushed code. No more strStreamURL or ThisIsAHack calling GetLiveStreamURL. And maybe it's my imagination, but channel changes seem to be faster and smoother.

Do you know if that would also work for streams which should be handled by an inputstream addon (e.g. a DASH stream)?


RE: API - deprecated features v18 - MatthewLundberg - 2017-06-07

I don't know what a DASH stream is. It would probably work for the simple IPTV addon, on which the first version of the HDHomeRun PVR is based.

See here: https://github.com/MatthewLundberg/pvr.hdhomerun/commit/ddf6ce712c54065c8c5b27d8ab2a74e5bdb440c0


RE: API - deprecated features v18 - noggin - 2017-06-26

(2017-06-07, 14:19)MatthewLundberg Wrote: I don't know what a DASH stream is. It would probably work for the simple IPTV addon, on which the first version of the HDHomeRun PVR is based.

See here: https://github.com/MatthewLundberg/pvr.hdhomerun/commit/ddf6ce712c54065c8c5b27d8ab2a74e5bdb440c0

DASH = MPEG-DASH - a streaming standard that allows dynamic bitrate switching whilst streaming. It's increasingly used by Catch Up TV and OTT operators.


RE: API - deprecated features v18 - FernetMenta - 2017-07-22

post #1 updated. SwitchChannel is deprecated: https://github.com/xbmc/xbmc/blob/master/xbmc/addons/kodi-addon-dev-kit/include/kodi/xbmc_pvr_dll.h#L418


RE: API - deprecated features v18 - margro - 2017-07-23

Please reconsider this. Dropping this will break many PVR addons like the Mediaportal PVR addon and the ArgusTV addon and I cannot fix them since I don't know how...
Removing deprecated functions is ok, but I don't see a viable alternative.

I understand that changing the path is a hack. I came up with this since my other proposal to add a return value to the OpenLiveStream function which indicates that Kodi should open an URL instead was rejected.
The GetLiveStreamURL() url is used to let the Kodi player play MediaPortals rtsp stream or IPTV stream or web radio URLs. I do us the OpenLiveStream() and OpenRecordedStream() for normal DVB streams but I'm not planning in any way to re-invent the wheel by extending the addon with logic to play streams that the Kodi player already handles.

So my question is what the new way is of playing RTSP streams, mp3 streams, and other webstream from a PVR addon? I haven't seen a solution for this yet...

W.r.t to the removal of SwitchChannel:
What is the new calling sequence for this?
Is this just another OpenLiveStream() call without closing the existing stream or is this a CloseLiveStream() followed by a new OpenLiveStream(). The latter will break my fast channel switching logic for RTSP streams since closing followed by opening will add more that 3 seconds to a channel switch.

I hope to see some good suggestions for my questions and some time for me to implement them before you remove the deprecated functions. One week is waaay tooo short.


RE: API - deprecated features v18 - Martijn - 2017-07-23

What's too short? V18 release date has not been set yet so there enough time for some one to fix it. During alpha I simply don't care if some Addons are broken. If it doesn't happen we'll then sorry for those who use those addons. They can stick with v17


RE: API - deprecated features v18 - margro - 2017-07-23

Well the PR mentions "merge in 1 week if there are no objections". That is a bit short to prepare if I don't know yet how to fix the addon in a proper way Wink


RE: API - deprecated features v18 - Martijn - 2017-07-23

Well then in one week the addon is broken for alpha builds. I can't see the issue in that. After that there's probably some months left for someone to pick up whatever needs to be done.