diff --git a/pvr.dvblink/addon.xml.in b/pvr.dvblink/addon.xml.in index 9bc9882..6f02b05 100644 --- a/pvr.dvblink/addon.xml.in +++ b/pvr.dvblink/addon.xml.in @@ -1,7 +1,7 @@ @ADDON_DEPENDS@ diff --git a/pvr.dvblink/changelog.txt b/pvr.dvblink/changelog.txt index 18be482..5249223 100644 --- a/pvr.dvblink/changelog.txt +++ b/pvr.dvblink/changelog.txt @@ -1,3 +1,6 @@ +v22.2.0 +- PVR Add-on API v9.2.0 + v22.1.0 - PVR Add-on API v9.0.0 diff --git a/src/DVBLinkClient.cpp b/src/DVBLinkClient.cpp index 96d2f5f..e3f41bf 100644 --- a/src/DVBLinkClient.cpp +++ b/src/DVBLinkClient.cpp @@ -2002,10 +2002,10 @@ PVR_ERROR DVBLinkClient::SetRecordingLastPlayedPosition(const kodi::addon::PVRRe return PVR_ERROR_SERVER_ERROR; } -bool DVBLinkClient::OpenRecordedStream(const kodi::addon::PVRRecording& recording) +bool DVBLinkClient::OpenRecordedStream(const kodi::addon::PVRRecording& recording, int64_t& streamId) { //close previous stream to be sure - CloseRecordedStream(); + CloseRecordedStream(streamId); bool use_timeshift = m_base.GetSettings().UseTimeshift(); bool use_transcoder = m_base.GetSettings().UseTranscoding(); @@ -2035,7 +2035,7 @@ bool DVBLinkClient::OpenRecordedStream(const kodi::addon::PVRRecording& recordin return ret_val; } -void DVBLinkClient::CloseRecordedStream() +void DVBLinkClient::CloseRecordedStream(int64_t streamId) { if (m_recording_streamer != nullptr) { @@ -2045,7 +2045,7 @@ void DVBLinkClient::CloseRecordedStream() } } -int DVBLinkClient::ReadRecordedStream(unsigned char* pBuffer, unsigned int iBufferSize) +int DVBLinkClient::ReadRecordedStream(int64_t streamId, unsigned char* pBuffer, unsigned int iBufferSize) { if (m_recording_streamer != nullptr) return m_recording_streamer->ReadRecordedStream(pBuffer, iBufferSize); @@ -2053,7 +2053,7 @@ int DVBLinkClient::ReadRecordedStream(unsigned char* pBuffer, unsigned int iBuff return -1; } -int64_t DVBLinkClient::SeekRecordedStream(int64_t iPosition, int iWhence /* = SEEK_SET */) +int64_t DVBLinkClient::SeekRecordedStream(int64_t streamId, int64_t iPosition, int iWhence /* = SEEK_SET */) { if (m_recording_streamer != nullptr) return m_recording_streamer->SeekRecordedStream(iPosition, iWhence); @@ -2061,7 +2061,7 @@ int64_t DVBLinkClient::SeekRecordedStream(int64_t iPosition, int iWhence /* = SE return -1; } -int64_t DVBLinkClient::LengthRecordedStream() +int64_t DVBLinkClient::LengthRecordedStream(int64_t streamId) { if (m_recording_streamer != nullptr) return m_recording_streamer->LengthRecordedStream(); diff --git a/src/DVBLinkClient.h b/src/DVBLinkClient.h index 0cf05cb..470fcaf 100644 --- a/src/DVBLinkClient.h +++ b/src/DVBLinkClient.h @@ -189,11 +189,11 @@ class ATTR_DLL_LOCAL DVBLinkClient : public kodi::addon::CInstancePVRClient bool IsRealTimeStream() override; int ReadLiveStream(unsigned char* pBuffer, unsigned int iBufferSize) override; - bool OpenRecordedStream(const kodi::addon::PVRRecording& recording) override; - void CloseRecordedStream() override; - int ReadRecordedStream(unsigned char* pBuffer, unsigned int iBufferSize) override; - int64_t SeekRecordedStream(int64_t iPosition, int iWhence = SEEK_SET) override; - int64_t LengthRecordedStream() override; + bool OpenRecordedStream(const kodi::addon::PVRRecording& recording, int64_t& streamId) override; + void CloseRecordedStream(int64_t streamId) override; + int ReadRecordedStream(int64_t streamId, unsigned char* pBuffer, unsigned int iBufferSize) override; + int64_t SeekRecordedStream(int64_t streamId, int64_t iPosition, int iWhence = SEEK_SET) override; + int64_t LengthRecordedStream(int64_t streamId) override; bool CanPauseStream() override; bool CanSeekStream() override;