kodi-pvr / pvr.nextpvr Goto Github PK
View Code? Open in Web Editor NEWKodi's NextPVR client addon
License: GNU General Public License v2.0
Kodi's NextPVR client addon
License: GNU General Public License v2.0
Hi, Im not super technical so im learning as i go (my birth year has a 19 at the start haha)
So Recording TV is working fine and watching all the way through is fine but if i stop and try to resume it just plays from the beginning.
Also, if i copy the TV recording into one of my other folders with other video files it will play and resume just fine, does the recorded TV use a different player in Kodi?
Im not sure if this started when i upgraded to Omega Kodi but its a very recent thing (the last week)
I have tried to update NextPVR with the latest release (21.1) i think it is, but kodi wont install it, comes up with a error.
what steps should i be taking next to see if i can fix this
Thanks
I would consider these to be crucial features for a DVR plugin.
Is there already a plan to update to the 5.7.0 PVR api?
I'm willing to help, if I can.
if nextpvr gets an error response, some functions will crash because they do not check for a valid xml reply and dereference null pointers.
The below commit prevents crashing by doing minimal 1st level checking for a valid response before assuming the reply is good.
Further improvements should be done by checking ALL parsed xml items rather than blindly assuming that the xml returned is proper or complete.
23:06:18 T:123145313726464 ERROR: CCurlFile::FillBuffer - Failed: Timeout was reached(28)
23:06:18 T:123145313726464 ERROR: CCurlFile::Open failed with code 0 for http://192.168.1.4:8866/service?method=session.initiate&ver=1.0&device=xbmc
23:06:18 T:123145313726464 ERROR: Open - failed to open source <http://192.168.1.4:8866/service?method=session.initiate&ver=1.0&device=xbmc>
23:06:18 T:123145313726464 DEBUG: AddOnLog: NextPVR PVR Client: ->~cPVRClientNextPVR()
23:06:18 T:123145313726464 ERROR: ADDON: Dll NextPVR PVR Client - Client returned bad status (1) from Create and is not usable
** CID 118369: Memory - illegal accesses (BUFFER_SIZE_WARNING) /tools/depends/target/binary-addons/x86_64-linux-gnu/build/pvr.nextpvr/src/pvrclient-nextpvr.cpp: 1099 in cPVRClientNextPVR::GetTimers(ADDON_HANDLE_STRUCT *)() ________________________________________________________________________________________________________ *** CID 118369: Memory - illegal accesses (BUFFER_SIZE_WARNING) /tools/depends/target/binary-addons/x86_64-linux-gnu/build/pvr.nextpvr/src/pvrclient-nextpvr.cpp: 1099 in cPVRClientNextPVR::GetTimers(ADDON_HANDLE_STRUCT *)() 1093 { 1094 tag.iTimerType = TIMER_REPEATING_KEYWORD; 1095 tag.startTime = 0; 1096 tag.endTime = 0; 1097 tag.bStartAnyTime = true; 1098 tag.bEndAnyTime = true; >>> CID 118369: Memory - illegal accesses (BUFFER_SIZE_WARNING) >>> Calling strncpy with a maximum size argument of 1024 bytes on destination array "tag.strEpgSearchString" of size 1024 bytes might leave the destination string unterminated. 1099 strncpy(tag.strEpgSearchString, &advancedRulesText.c_str()[9], sizeof(tag.strEpgSearchString)); 1100 } 1101 } 1102 1103 // days 1104 tag.iWeekdays = PVR_WEEKDAY_ALLDAYS;
@sub3 This was introduced by your PR #28. Please fix. The line in question should read
strncpy(tag.strEpgSearchString, &advancedRulesText.c_str()[9], sizeof(tag.strEpgSearchString) - 1);
Thanks.
sorry wrong repository
Discovered an issue while doing the PVR API update. Certain addons don't store their EPG. They simply read it from the backend temporarily to pass it to Kodi.
HDHomerun, WMC, Enigam2/vuplus and nextpvr all have this issue, The instance the data is passed to Kodi, the pointers are invalid and Kodi will try to persist all the data on every exit.
Which I think is the problem nextpvr has currently. I wonder can we implement a single solution and use the same (wish) solution for each of the addons. I believe WMC/hdhomerun don't have maintainers so something tried and trusted would be good for them.
I think this might be a duplicate bug of #145 or xbmc/xbmc#18368 . However, I'm not sure, so filing just in case.
I am using releases https://github.com/kodi-pvr/pvr.nextpvr/releases/tag/3.3.21-Leia of pvr.nextpvr and https://github.com/xbmc/xbmc/releases/tag/18.8-Leia of kodi/xbmc.
This is a reliably reproducible crash. kodi will crash on Linux (Arch) and my nVidia Shield when skipping forward during a recording. I gathered the following logs from Linux (easier to get v Shield, plus gdb). Note that I do have an EDL file, but that doesn't seem to be an issue (I reproduced without the EDL file at all, and with the EDL file having no contents).
Can you please create a release tag (looks like it should be "v3.0.1" based on the contents of https://github.com/kodi-pvr/pvr.nextpvr/blob/master/pvr.nextpvr/addon.xml.in )?
That would really help distributions (in my case, Gentoo) package this add-on.
Thanks!
In moving from p8 threads to std::thread the plan is to improve the connections state handling and add possibility of additional login parameters. Here are some current issues.
Improve connect at start. The initial connection uses kodi::vfs::OpenFile() which does not indicate tcp state.
How to distinguish PVR_CONNECTION_STATE_SERVER_UNREACHABLE as a network issue or bad ip/port which should be a permanent failure.
Look at issues here https://forum.kodi.tv/showthread.php?tid=355247 with log here https://paste.kodi.tv/tamuhigugo.kodi.
Improve Android sleep/wake state handling toggling. Systems sleeps when not active so potentially lots of unnecessary reconnects when credentials remain valid.
Improve logic to re-authenticate after a server goes offline currently depends on server side reconnect
Fix Matrix OnWake loop return test
Please add support for PVR_RECORDING.iChannelUid. Although PVR Addon API declares this property as optional, some Kodi features cannot work if the channel uid is not given with a recording, namely the "red dot" indicating an in-progress recording in pvr recordings window and recently recorded home screen widget, the right context menu entries for recordings in progess, maybe others.
Unfortunately, there is no reliable fix in Kodi possible without an PVR addon API change (which I plan for Kodi v19, btw.).
Thus, I kindly ask the maintainer of this addon or anybody else with the needed skills to add support for PVR_RECORDING.iChannelUid so we can fix the above mentioned issues for Kodi v18.
Thanks.
I'm trying to write a PKGBUILD for Arch Linux User Repository, using the released packages of kodi/xbmc and pvr.nextpvr, not the git repos. Unfortunately, I run into the following build order when doing so:
[ 33%] No update step for 'tinyxml'
[ 36%] Performing patch step for 'tinyxml'
Error: Target (for copy_if_different command) "" is not a directory.
make[2]: *** [depends/CMakeFiles/tinyxml.dir/build.make:122: build/tinyxml/src/tinyxml-stamp/tinyxml-patch] Error 1
make[1]: *** [CMakeFiles/Makefile2:258: depends/CMakeFiles/tinyxml.dir/all] Error 2
make: *** [Makefile:103: all] Error 2
I've reproduced this outside of the Arch packaging system following the build instructions from the README.md, but instead of using 'git clone' to get the source for xbmc & pvr.nextpvr, download the released packages:
1. `wget https://github.com/xbmc/xbmc/archive/18.8-Leia.tar.gz && tar -xaf 18.8-Leia.tar.gz && ln -sf xbmc-18.8-Leia xbmc`
2. `wget https://github.com/kodi-pvr/pvr.nextpvr/archive/3.3.21-Leia.tar.gz && tar -xaf 3.3.21-Leia.tar.gz && ln -sf pvr.nextpvr-3.3.21-Leia pvr.nextpvr`
3. `cd pvr.nextpvr && mkdir build && cd build`
4. `cmake -DADDONS_TO_BUILD=pvr.nextpvr -DADDON_SRC_PREFIX=../.. -DCMAKE_BUILD_TYPE=Debug -DCMAKE_INSTALL_PREFIX=../../xbmc/addons -DPACKAGE_ZIP=1 ../../xbmc/cmake/addons
`
5. `make`
Attached is the output of my console reproducing the error.
console_log_of_pvr.nextpvr_build_error.txt
I am having a strange issue on RPi4 running Libreelec, doesn't happen all the time, maybe once in ten times. When I press stop after watching Live TV for a while the system just hangs with a black screen, have left it over night and still just sits there with a black screen until I hard reboot. I don't get a crash log so system is not detecting a crash I guess. I have attached a log file from around the time it happened.
Since Libreelec Leia update #1025 ( 25-Oct-2017: RPi / RPi2 -- Release post (Bump jsoncpp, avahi and nss-mdns)), pvr.nextpvr fails to load when hostname for the NextPVR server is specified as a ".local" network address. eg DESK09.local
pvr.nextpvr throws no errors, and successfully loads, when the hostname is specified as a numeric IP (IPv4), with #1025 and subsequent updates.
Other ".local" network addresses for other addons resolve successfully, I believe.
Kodi configured to not run until network is up.
Is this an addon problem, or a need for a "clean" build of Kodi Leia?
Errors are:-
1025 - NextPVR fails to load, throws error when using ".local" for TVserver
ERROR: CCurlFile::FillBuffer - Failed: Couldn't resolve host name(6)
00:05:47.088 T:1712444304 ERROR: CCurlFile::Open failed with code 0 for http://DESK09.local:8866/service?method=session.initiate&ver=1.0&device=xbmc
00:05:47.088 T:1712444304 ERROR: Open - failed to open source http://DESK09.local:8866/service?method=session.initiate&ver=1.0&device=xbmc
1027 - NextPVR fails to load, throws error when using ".local" for TVserver. Same errors
1201 - NextPVR fails to load, throws error when using ".local" for TVserver. Same errors
To avoid extra toast and event log messages on reconnecting, pvr.nextpvr issues PVR_CONNECTION_STATE_UNKNOWN is used n a couple of locations
https://github.com/kodi-pvr/pvr.nextpvr/blob/Matrix/src/pvrclient-nextpvr.cpp#L194
https://github.com/kodi-pvr/pvr.nextpvr/blob/Matrix/src/pvrclient-nextpvr.cpp#L423
@ksooo has identified this could cause a problem. This issue is to track this investigation
The reason why I'm asking for this is because it's currently hardcoded in the addon and it causes issues if you have nextpvr on a custom domain or behind a proxy. Removing the port requirement will make it easier for anyone to use the nextpvr addon on kodi no matter whether they are behind a proxy, custom domain, or just using regular settings. Normal users can just insert the url with the port as nextpvr works via whatever url is set for the nextpvr server anyways. I don't get why the port requirement is even hardcoded in the addon, it should have always been url based. Not trying to be rude, just curious is all. This thread is a perfect example of why this is an issue https://forums.nextpvr.com/showthread.php?tid=61728&page=4
There are no safeguards in place to handle situations where core is sending actions on recordings and live tv on an invalid or closed file. A related issue was created here. xbmc/xbmc#18368 with logs. Core should not be doing this but the addon can also be made more robust.
Currently the addon will crash on nullptr->action()
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.