GithubHelp home page GithubHelp logo

pvr.nextpvr's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

pvr.nextpvr's Issues

Recordings wont resume, they play from beginning

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

nextpvr crashes on error response

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.

MrMC@a9308f5

Further improvements should be done by checking ALL parsed xml items rather than blindly assuming that the xml returned is proper or complete.

Seems to be broken with Krypton A2

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

Coverity: CID 118369: Memory - illegal accesses (BUFFER_SIZE_WARNING)

** 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.

EPG dangling pointers

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.

pvr.nextpvr crashing kodi with "ERROR: AddOnLog: NextPVR PVR Client: XXXXX Duration set to 0 XXXXX"

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).

kodi_crashlog-20201011_223423.log

Improve state handling in pvr.nextpvr

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.

  1. 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.

  2. Look at issues here https://forum.kodi.tv/showthread.php?tid=355247 with log here https://paste.kodi.tv/tamuhigugo.kodi.

    • Kodi does not seem to respect PVR_CONNECTION_STATE_DISCONNECTED. In log check thread T:9264 after the system resumes but before CPowerManager::OnWake: is called.
  3. Improve Android sleep/wake state handling toggling. Systems sleeps when not active so potentially lots of unnecessary reconnects when credentials remain valid.

  4. Improve logic to re-authenticate after a server goes offline currently depends on server side reconnect

  5. Fix Matrix OnWake loop return test

Add support for PVR_RECORDING.iChannelUid

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.

Release pvr.nextpvr-3.3.21-Leia.tar.gz does not build using kodi-18.8_Leia.tar.gz release

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

System hangs on stop

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.

kodi (1).log

pvr.nextpvr addon fails to load due to unresolved URL

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

Remove port requirement and just put URL with no port requirement.

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

PVR recording crashing

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()

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.