a4k-openproject/json.openplayers

TMDBH AND FEN ERROR PROBLEM

baensz opened this issue ยท 23 comments

Costas Ganis, I was running a new copy of "Kodi Nerds 19.3" 64 bit, with a new copy of Xenon Plus 7.7, on both my new Android Pixel 6 Pro phone and my new Nvidia Shield TV Pro 2019, when I received a FEN error message using TMDHB with FEN. So, I tried a new release copy of "Kodi 19.4" 64 bit, with a new copy of Xenon Plus 7.7, on my new Android Pixel 6 Pro phone. I still had the exact same problem with getting a FEN error message when using TMDBH with FEN. So, it is definitely a FEN problem with TMDBH or a TMDBH problem with FEN. FEN works perfectly by itself without TMDBH. It is definitely not a Xenon Plus 7.7 problem.

It's almost certainly a problem with the player, and neither of the associated add-ons.

mrgsi commented

Looks like Tikipeter changed some code on his latest update which broke the players.

Can confirm, after update to Fen 2.6.x , player no longer working in my previously working build.

The fix seems to be easy:

"movies" : [[{"link": "plugin://plugin.video.fen/?mode=play_media&media_type=movie&query={name}&year={year}&poster={info[poster]}&plot={info[plot]}&title={title}&tmdb_id={id}"}]],
"tvshows" : [[{"link": "plugin://plugin.video.fen/?mode=play_media&media_type=episode&tmdb_id={tmdb_id}&season={season}&episode={episode}"}]]
}

That info[poster] and info[plot] look like they're going to cause issues, though.

Possibly, those are in original file however. I can confirm local changes worked for me but may not be suitable for full commit. I updated the above comment as typing on my phone previously introduced small errors.

I did notice that the branch I had taken didn't even include the direct.fen.select.json file either, so I added that as a precaution. Would definitely warrant further local testing before anything is done.

https://github.com/itinerantmarshmallow/json.openplayers/blob/master/direct.fen.json
https://github.com/itinerantmarshmallow/json.openplayers/blob/master/direct.fen.select.json

mrgsi commented

That loos like a mod of the coding in the player from 3 years ago, not the latest one of 11 months ago.

That loos like a mod of the coding in the player from 3 years ago, not the latest one of 11 months ago.

(I took a copy of master branch, not tmdbhelper branch, hence the legacy issues, I've deleted the branch and taken correct one, raw files below).

https://github.com/itinerantmarshmallow/json.openplayers-1/tree/fen_patch_march2022

Thanks mrgsi, that must be it. All edit times were three years ago and I only made the changes manually, didn't look at other content. I've fixed it manually again to match my local file from my Shield:

{
"name" : "Fen",
"plugin" : "plugin.video.fen",
"priority" : 500,
"play_movie" : "plugin://plugin.video.fen/?mode=play_media&media_type=movie&query={name}&year={year}&poster={poster}&title={title}&tmdb_id={id}",
"play_episode" : "plugin://plugin.video.fen/?mode=play_media&media_type=episode&tmdb_id={tmdb}&season={season}&episode={episode}"
}

Final comment, these files keep the content and seem to work as well so perhaps it only needs the change to media_type.

https://github.com/Tikipeter/repository.tikipeter/issues/704#issuecomment-1062495488

Can confirm. Zips worked for me, only need to change vid_type to media_type. The players formatted per your comments above did not work for me. Mine and the ones from the zip look like below. Note there is no "id" parameter and it's "play_movie" and "play_episode" rather than "movies" and "tvshows" (and no square brackets either)

Thanks for finding the solution so quick, much appreciated!

{
"name" : "Fen",
"plugin" : "plugin.video.fen",
"priority" : 500,
"play_movie" : "plugin://plugin.video.fen/?mode=play_media&media_type=movie&query={name}&year={year}&poster={poster}&title={title}&tmdb_id={id}",
"play_episode" : "plugin://plugin.video.fen/?mode=play_media&media_type=episode&query={showname}&year={year}&season={season}&episode={episode}&ep_name={title}&tmdb_id={tmdb}&premiered={firstaired}"
}

and

{
"name": "Fen Source Select",
"plugin": "plugin.video.fen",
"priority": 500,
"play_movie": "plugin://plugin.video.fen/?mode=play_media&media_type=movie&query={name}&year={year}&poster={poster}&title={title}&tmdb_id={id}&autoplay=false",
"play_episode": "plugin://plugin.video.fen/?mode=play_media&media_type=episode&query={showname}&year={year}&season={season}&episode={episode}&ep_name={title}&tmdb_id={tmdb}&premiered={firstaired}&autoplay=false"
}

Yeah, it's because I was copying pasting from one set of files and editing separately.

Have you updated the FEN players with those that work? I found them in the zip file at https://github.com/Tikipeter/repository.tikipeter/issues/704. I have tested them and the problem is solved.

Yes, it is linked above already ๐Ÿ˜Š.

I had added the fenplayer from the issue posted in Tikipeter GitHub issue #704 should I delete that one first before installing the new ones from json.openplayers ,, hope that makes sense

Stick with that, when DrInfernoo updates this properly it will update on your side.

Ensure you have no reconfigured players.

mrgsi commented

It's was updated yesterday.

PRs #71 and #72 were merged yesterday to fix this. Update your players and you should be good to go.

PRs #71 and #72 were merged yesterday to fix this. Update your players and you should be good to go.

Should I delete the one I got from Tikipeter GitHub issue #704 first before installing the new players

@xyzfre If they're named the same, they'll be overwritten when you update from the URL.

I updated the players and the fen still fails to play a file. Fen version is 2.6.04

Logs:

2022-03-10 23:33:20.711 T:4172     INFO <general>: [plugin.video.themoviedb.helper]
                                                   lib.player - finished resolving path to url
                                                   plugin://plugin.video.fen/?mode=play_media&vid_type=episode&query=The Knick&year=2014&season=1&episode=5&ep_name=They Capture the Heat&tmdb_id=61014&premiered=2014-09-12&autoplay=false
2022-03-10 23:33:20.712 T:4172     INFO <general>: CPythonInvoker(22, /storage/.kodi/addons/plugin.video.themoviedb.helper/plugin.py): script successfully run
2022-03-10 23:33:20.733 T:4181     INFO <general>: initializing python engine.
2022-03-10 23:33:21.265 T:4172  WARNING <general>: CPythonInvoker(22, /storage/.kodi/addons/plugin.video.themoviedb.helper/plugin.py): the python script "/storage/.kodi/addons/plugin.video.themoviedb.helper/plugin.py" has left several classes in memory that we couldn't clean up. The classes include: N9XBMCAddon9xbmcaddon5AddonE
2022-03-10 23:33:21.265 T:4172     INFO <general>: Python interpreter stopped
2022-03-10 23:33:21.940 T:4181     INFO <general>: ###params###: {'mode': 'play_media', 'vid_type': 'episode', 'query': 'The Knick', 'year': '2014', 'season': '1', 'episode': '5', 'ep_name': 'They Capture the Heat', 'tmdb_id': '61014', 'premiered': '2014-09-12', 'autoplay': 'false'}
2022-03-10 23:33:21.943 T:4181    ERROR <general>: EXCEPTION Thrown (PythonToCppException) : -->Python callback/script returned the following error<--
                                                    - NOTE: IGNORING THIS CAN LEAD TO MEMORY LEAKS!
                                                   Error Type: <class 'KeyError'>
                                                   Error Contents: 'media_type'
                                                   Traceback (most recent call last):
                                                     File "/storage/.kodi/addons/plugin.video.fen/resources/lib/fen.py", line 4, in <module>
                                                       routing(argv[2])
                                                     File "/storage/.kodi/addons/plugin.video.fen/resources/lib/modules/router.py", line 60, in routing
                                                       Sources().playback_prep(params)
                                                     File "/storage/.kodi/addons/plugin.video.fen/resources/lib/modules/sources.py", line 48, in playback_prep
                                                       self.media_type = self.params['media_type']
                                                   KeyError: 'media_type'
                                                   -->End of Python script error report<--
                                                   
2022-03-10 23:33:22.568 T:4181     INFO <general>: Python interpreter stopped
2022-03-10 23:33:22.594 T:3515    ERROR <general>: Playlist Player: skipping unplayable item: 0, path [plugin://plugin.video.themoviedb.helper/?info=play&tmdb_type=episode&tmdb_id=61014&season=1&episode=5]
2022-03-10 23:33:22.594 T:3515     INFO <general>: Loading skin file: DialogConfirm.xml, load type: KEEP_IN_MEMORY

Content of fen select json:

{
    "name": "Fen Source Select",
    "plugin": "plugin.video.fen",
    "priority": 500,
    "play_movie": "plugin://plugin.video.fen/?mode=play_media&media_type=movie&query={name}&year={year}&poster={poster}&title={title}&tmdb_id={id}&autoplay=false",
    "play_episode": "plugin://plugin.video.fen/?mode=play_media&media_type=episode&query={showname}&year={year}&season={season}&episode={episode}&ep_name={title}&tmdb_id={tmdb}&premiered={firstaired}&autoplay=false"
}

Any what is wrong? Thanks

Make sure you don't have customised rules setup for the Fen players.

Your log shows the old format (vid_type).

mrgsi commented

Reset the Fen players to default in the TMDBH player settings. Then reconfigure the new players.

Thanks