Comments (8)
Honestly, I've been considering removing that clone skin function entirely. It isn't a proper clone since it seems to move some aspects of the skin around and hide others, and I feel like it's not a good idea to be modifying skins like that. Plus with whatever skin changes have happened between Kodi 18 and Kodi 19, it's likely to have even more weird behavior in the future if it doesn't get some serious attention.
There's plenty of third party skins available that support customizing the home screen that I'm just not sure it's worth maintaining this feature, though I'm open to being convinced otherwise.
from jellycon.
Hello,
I don't know if it is correctly implemented.
But the one thing I can say is that it's super comfortable. It allows to have a correct installation in Kodi very quickly with all the necessary shortcuts.
When I go to install it somewhere, it's very fast (one click). Whereas if I had to set up Embuary or another skin, it would take me a long time.
from jellycon.
Do you have logs of when it fails? I can't imagine how it's possible for a skin to be breaking playback, but this should give a good idea of how.
https://kodi.wiki/view/Log_file/Easy
from jellycon.
Hello,
Here are the logs :
2021-05-01 17:14:13.674 T:12208 NOTICE: load skin from: C:\Users\xxx\AppData\Roaming\Kodi\addons\skin.estuary_jellycon (version: 2.0.27)
2021-05-01 17:14:13.802 T:12176 ERROR: XFILE::CDirectory::GetDirectory - Error getting plugin://plugin.video.jellycon/?mode=CLONE_SKIN
2021-05-01 17:14:15.985 T:12208 ERROR: CGUIMediaWindow::GetDirectory(plugin://plugin.video.jellycon/?mode=CLONE_SKIN) failed
2021-05-01 17:14:25.180 T:12584 NOTICE: JELLYFIN.resources.lib.functions -> INFO::resources\lib\functions.py:969 Sending jellycon_play_action : {u'auto_resume': '-1', u'audio_stream_index': None, u'item_id': u'fb396cbf4eb075b7ba9f813e9131716f', u'force_transcode': False, u'subtitle_stream_index': None, u'action': u'play', u'media_source_id': u''}
2021-05-01 17:14:25.572 T:12584 NOTICE: JELLYFIN.resources.lib.play_utils -> INFO::resources\lib\play_utils.py:376 Play URL: {jellyfin-server}/Videos/fb396cbf4eb075b7ba9f813e9131716f/stream?static=true&PlaySessionId=da9ad9374f004b30ac3d6a7b4eae4df2&MediaSourceId=fb396cbf4eb075b7ba9f813e9131716f Playback Type: 1 ListItem Properties: []
2021-05-01 17:14:25.732 T:12208 NOTICE: VideoPlayer::OpenFile: https://xxx.com/Videos/fb396cbf4eb075b7ba9f813e9131716f/stream?static=true&PlaySessionId=da9ad9374f004b30ac3d6a7b4eae4df2&MediaSourceId=fb396cbf4eb075b7ba9f813e9131716f
2021-05-01 17:14:25.733 T:6052 NOTICE: Creating InputStream
2021-05-01 17:14:25.743 T:12584 NOTICE: JELLYFIN.resources.lib.play_utils -> INFO::resources\lib\play_utils.py:464 PlaybackResumrAction : Playback is Running
2021-05-01 17:14:25.744 T:12584 NOTICE: JELLYFIN.resources.lib.play_utils -> INFO::resources\lib\play_utils.py:472 PlaybackResumrAction : Seeking to : 584.2990016
2021-05-01 17:14:25.744 T:12584 NOTICE: JELLYFIN.resources.lib.play_utils -> INFO::resources\lib\play_utils.py:477 PlaybackResumrAction : target:574.2990016 current:0.0
2021-05-01 17:14:25.792 T:6052 NOTICE: Creating Demuxer
2021-05-01 17:14:25.813 T:6052 NOTICE: Opening stream: 0 source: 256
2021-05-01 17:14:25.813 T:6052 NOTICE: Creating video codec with codec id: 27
2021-05-01 17:14:25.813 T:6052 NOTICE: CDVDVideoCodecFFmpeg::Open() Using codec: H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10
2021-05-01 17:14:25.813 T:6052 NOTICE: Creating video thread
2021-05-01 17:14:25.813 T:6464 NOTICE: running thread: video_thread
2021-05-01 17:14:25.816 T:6052 NOTICE: Opening stream: 1 source: 256
2021-05-01 17:14:25.816 T:6052 NOTICE: Finding audio codec for: 86056
2021-05-01 17:14:25.816 T:6052 NOTICE: CDVDAudioCodecFFmpeg::Open() Successful opened audio decoder eac3
2021-05-01 17:14:25.816 T:6052 NOTICE: Creating audio thread
2021-05-01 17:14:25.816 T:6052 NOTICE: Opening stream: 0 source: 1024
2021-05-01 17:14:25.817 T:12052 NOTICE: running thread: CVideoPlayerAudio::Process()
2021-05-01 17:14:25.874 T:6052 ERROR: CCurlFile::Open failed with code 404 for https://xxx.com/Videos/fb396cbf4eb075b7ba9f813e9131716f/fb396cbf4eb075b7ba9f813e9131716f/Subtitles/3/Stream.fre.srt?api_key=XXX:
2021-05-01 17:14:25.874 T:6052 ERROR: XFILE::CFileCache::Open - failed to open source <https://xxx.com/Videos/fb396cbf4eb075b7ba9f813e9131716f/fb396cbf4eb075b7ba9f813e9131716f/Subtitles/3/Stream.fre.srt?api_key=XXX>
2021-05-01 17:14:25.874 T:6052 ERROR: CVideoPlayerSubtitle::OpenStream - Unable to create subtitle parser
2021-05-01 17:14:25.874 T:6052 NOTICE: Opening stream: 2 source: 256
2021-05-01 17:14:25.884 T:12052 NOTICE: Creating audio stream (codec id: 86056, channels: 6, sample rate: 48000, no pass-through)
2021-05-01 17:14:25.933 T:12208 NOTICE: DXVA::CProcessorHD::InitProcessor: supported deinterlace methods: blend:yes, bob:yes, adaptive:yes, mocomp:no.
2021-05-01 17:14:26.035 T:12208 WARNING: CWinRenderer::UpdateVideoFilter: chosen scaling method 1 is not supported by renderer
2021-05-01 17:14:26.252 T:12584 NOTICE: JELLYFIN.resources.lib.play_utils -> INFO::resources\lib\play_utils.py:472 PlaybackResumrAction : Seeking to : 584.2990016
2021-05-01 17:14:26.284 T:6464 NOTICE: CDVDVideoCodecFFmpeg::CDropControl: calculated diff time: 41727
2021-05-01 17:14:26.758 T:12584 NOTICE: JELLYFIN.resources.lib.play_utils -> INFO::resources\lib\play_utils.py:477 PlaybackResumrAction : target:574.2990016 current:-0.0990000069141
2021-05-01 17:14:27.274 T:12584 NOTICE: JELLYFIN.resources.lib.play_utils -> INFO::resources\lib\play_utils.py:472 PlaybackResumrAction : Seeking to : 584.2990016
2021-05-01 17:14:27.297 T:6464 NOTICE: DXVA::CDecoder::Close: closing decoder.
2021-05-01 17:14:27.312 T:12584 NOTICE: JELLYFIN.resources.lib.play_utils -> INFO::resources\lib\play_utils.py:495 PlaybackResumrAction : Playback resumed
2021-05-01 17:14:27.566 T:12208 NOTICE: DXVA::CDecoder::Close: closing decoder.
2021-05-01 17:14:28.779 T:12208 ERROR: Playlist Player: skipping unplayable item: 0, path [plugin://plugin.video.jellycon/?item_id=fb396cbf4eb075b7ba9f813e9131716f&mode=PLAY]
2021-05-01 17:14:28.813 T:12208 NOTICE: CVideoPlayer::CloseFile()
2021-05-01 17:14:28.813 T:12208 NOTICE: VideoPlayer: waiting for threads to exit
2021-05-01 17:14:28.815 T:6052 NOTICE: CVideoPlayer::OnExit()
2021-05-01 17:14:28.815 T:6052 NOTICE: Closing stream player 1
2021-05-01 17:14:28.815 T:6052 NOTICE: Waiting for audio thread to exit
2021-05-01 17:14:28.833 T:12052 NOTICE: thread end: CVideoPlayerAudio::OnExit()
2021-05-01 17:14:28.833 T:6052 NOTICE: Closing audio device
2021-05-01 17:14:28.849 T:6052 NOTICE: Deleting audio codec
2021-05-01 17:14:28.849 T:6052 NOTICE: Closing stream player 2
2021-05-01 17:14:28.849 T:6052 NOTICE: waiting for video thread to exit
2021-05-01 17:14:28.897 T:6464 NOTICE: thread end: video_thread
2021-05-01 17:14:28.897 T:6052 NOTICE: deleting video codec
2021-05-01 17:14:28.899 T:6052 NOTICE: DXVA::CDecoder::Close: closing decoder.
2021-05-01 17:14:28.899 T:6052 NOTICE: DXVA: closing decoder context.
2021-05-01 17:14:28.899 T:6052 NOTICE: Closing stream player 3
2021-05-01 17:14:28.910 T:12208 NOTICE: VideoPlayer: finished waiting
2021-05-01 17:14:28.910 T:12208 NOTICE: CVideoPlayer::CloseFile()
2021-05-01 17:14:28.910 T:12208 NOTICE: VideoPlayer: waiting for threads to exit
2021-05-01 17:14:28.910 T:12208 NOTICE: VideoPlayer: finished waiting
2021-05-01 17:14:48.044 T:7992 NOTICE: JELLYFIN.resources.lib.functions -> INFO::resources\lib\functions.py:969 Sending jellycon_play_action : {u'auto_resume': '-1', u'audio_stream_index': None, u'item_id': u'2ee6ad45726020fab8b549d6c82d51d4', u'force_transcode': False, u'subtitle_stream_index': None, u'action': u'play', u'media_source_id': u''}
2021-05-01 17:14:48.399 T:7992 NOTICE: JELLYFIN.resources.lib.play_utils -> INFO::resources\lib\play_utils.py:376 Play URL: {jellyfin-server}/Videos/2ee6ad45726020fab8b549d6c82d51d4/stream?static=true&PlaySessionId=daa73ca208a2490b9850770239d98338&MediaSourceId=2ee6ad45726020fab8b549d6c82d51d4 Playback Type: 1 ListItem Properties: []
2021-05-01 17:14:48.457 T:12208 NOTICE: VideoPlayer::OpenFile: https://xxx.com/Videos/2ee6ad45726020fab8b549d6c82d51d4/stream?static=true&PlaySessionId=daa73ca208a2490b9850770239d98338&MediaSourceId=2ee6ad45726020fab8b549d6c82d51d4
2021-05-01 17:14:48.458 T:4968 NOTICE: Creating InputStream
2021-05-01 17:14:48.463 T:7992 NOTICE: JELLYFIN.resources.lib.play_utils -> INFO::resources\lib\play_utils.py:464 PlaybackResumrAction : Playback is Running
2021-05-01 17:14:48.463 T:7992 NOTICE: JELLYFIN.resources.lib.play_utils -> INFO::resources\lib\play_utils.py:472 PlaybackResumrAction : Seeking to : 371.4100036
2021-05-01 17:14:48.464 T:7992 NOTICE: JELLYFIN.resources.lib.play_utils -> INFO::resources\lib\play_utils.py:477 PlaybackResumrAction : target:361.4100036 current:0.0
2021-05-01 17:14:48.578 T:4968 NOTICE: Creating Demuxer
2021-05-01 17:14:48.978 T:7992 NOTICE: JELLYFIN.resources.lib.play_utils -> INFO::resources\lib\play_utils.py:472 PlaybackResumrAction : Seeking to : 371.4100036
2021-05-01 17:14:48.979 T:7992 NOTICE: JELLYFIN.resources.lib.play_utils -> INFO::resources\lib\play_utils.py:477 PlaybackResumrAction : target:361.4100036 current:0.0
2021-05-01 17:14:48.982 T:4968 NOTICE: Opening stream: 0 source: 256
2021-05-01 17:14:48.982 T:4968 NOTICE: Creating video codec with codec id: 173
2021-05-01 17:14:48.982 T:4968 NOTICE: CDVDVideoCodecFFmpeg::Open() Using codec: HEVC (High Efficiency Video Coding)
2021-05-01 17:14:48.982 T:4968 NOTICE: Creating video thread
2021-05-01 17:14:48.983 T:7440 NOTICE: running thread: video_thread
2021-05-01 17:14:48.983 T:4968 NOTICE: Opening stream: 3 source: 256
2021-05-01 17:14:48.983 T:4968 NOTICE: Finding audio codec for: 86056
2021-05-01 17:14:48.983 T:4968 NOTICE: CDVDAudioCodecFFmpeg::Open() Successful opened audio decoder eac3
2021-05-01 17:14:48.983 T:4968 NOTICE: Creating audio thread
2021-05-01 17:14:48.983 T:4968 NOTICE: Opening stream: 0 source: 1024
2021-05-01 17:14:48.983 T:13880 NOTICE: running thread: CVideoPlayerAudio::Process()
2021-05-01 17:14:49.234 T:4968 ERROR: CCurlFile::Open failed with code 404 for https://xxx.com/Videos/2ee6ad45726020fab8b549d6c82d51d4/2ee6ad45726020fab8b549d6c82d51d4/Subtitles/4/Stream.fre.srt?api_key=XXX:
2021-05-01 17:14:49.234 T:4968 ERROR: XFILE::CFileCache::Open - failed to open source <https://xxx.com/Videos/2ee6ad45726020fab8b549d6c82d51d4/2ee6ad45726020fab8b549d6c82d51d4/Subtitles/4/Stream.fre.srt?api_key=XXX>
2021-05-01 17:14:49.234 T:4968 ERROR: CVideoPlayerSubtitle::OpenStream - Unable to create subtitle parser
2021-05-01 17:14:49.234 T:4968 NOTICE: Opening stream: 1 source: 256
2021-05-01 17:14:49.240 T:13880 NOTICE: Creating audio stream (codec id: 86056, channels: 6, sample rate: 48000, no pass-through)
2021-05-01 17:14:49.315 T:12208 NOTICE: DXVA::CProcessorHD::InitProcessor: supported deinterlace methods: blend:yes, bob:yes, adaptive:yes, mocomp:no.
2021-05-01 17:14:49.342 T:12208 WARNING: CWinRenderer::UpdateVideoFilter: chosen scaling method 1 is not supported by renderer
2021-05-01 17:14:49.485 T:7992 NOTICE: JELLYFIN.resources.lib.play_utils -> INFO::resources\lib\play_utils.py:472 PlaybackResumrAction : Seeking to : 371.4100036
2021-05-01 17:14:49.896 T:7992 NOTICE: JELLYFIN.resources.lib.play_utils -> INFO::resources\lib\play_utils.py:495 PlaybackResumrAction : Playback resumed
2021-05-01 17:14:51.306 T:12208 ERROR: Playlist Player: skipping unplayable item: 0, path [plugin://plugin.video.jellycon/?item_id=2ee6ad45726020fab8b549d6c82d51d4&mode=PLAY]
2021-05-01 17:14:51.339 T:12208 NOTICE: CVideoPlayer::CloseFile()
2021-05-01 17:14:51.339 T:12208 NOTICE: VideoPlayer: waiting for threads to exit
2021-05-01 17:14:51.341 T:4968 NOTICE: CVideoPlayer::OnExit()
2021-05-01 17:14:51.341 T:4968 NOTICE: Closing stream player 1
2021-05-01 17:14:51.341 T:4968 NOTICE: Waiting for audio thread to exit
2021-05-01 17:14:51.343 T:13880 NOTICE: thread end: CVideoPlayerAudio::OnExit()
2021-05-01 17:14:51.343 T:4968 NOTICE: Closing audio device
2021-05-01 17:14:51.343 T:4968 NOTICE: Deleting audio codec
2021-05-01 17:14:51.343 T:4968 NOTICE: Closing stream player 2
2021-05-01 17:14:51.343 T:4968 NOTICE: waiting for video thread to exit
2021-05-01 17:14:51.343 T:7440 ERROR: Got MSGQ_ABORT or MSGO_IS_ERROR return true
2021-05-01 17:14:51.343 T:7440 NOTICE: thread end: video_thread
2021-05-01 17:14:51.343 T:4968 NOTICE: deleting video codec
2021-05-01 17:14:51.347 T:4968 NOTICE: DXVA::CDecoder::Close: closing decoder.
2021-05-01 17:14:51.347 T:4968 NOTICE: DXVA: closing decoder context.
2021-05-01 17:14:51.347 T:4968 NOTICE: Closing stream player 3
2021-05-01 17:14:51.351 T:12208 NOTICE: VideoPlayer: finished waiting
2021-05-01 17:14:51.351 T:12208 NOTICE: CVideoPlayer::CloseFile()
2021-05-01 17:14:51.351 T:12208 NOTICE: VideoPlayer: waiting for threads to exit
2021-05-01 17:14:51.351 T:12208 NOTICE: VideoPlayer: finished waiting
2021-05-01 17:15:09.217 T:12208 WARNING: CGUIWindowManager - CGUIWindowManager::HandleAction - ignoring action 107, because topmost modal dialog closing animation is running
2021-05-01 17:15:12.882 T:12208 WARNING: Previous line repeats 13 times.
2021-05-01 17:15:12.882 T:12208 NOTICE: Stopping player
2021-05-01 17:15:12.882 T:12208 NOTICE: Storing total System Uptime
2021-05-01 17:15:12.882 T:12208 NOTICE: Saving settings
2021-05-01 17:15:12.885 T:12208 NOTICE: Saving skin settings
2021-05-01 17:15:12.885 T:12208 NOTICE: Stopping all
2021-05-01 17:15:13.541 T:12208 NOTICE: ES: Stopping event server
2021-05-01 17:15:14.026 T:13580 NOTICE: ES: UDP Event server stopped
2021-05-01 17:15:15.424 T:8328 WARNING: CPythonInvoker(1, C:\Users\xxx\AppData\Roaming\Kodi\addons\plugin.video.jellycon\service.py): the python script "C:\Users\xxx\AppData\Roaming\Kodi\addons\plugin.video.jellycon\service.py" has left several classes in memory that we couldn't clean up. The classes include: class XBMCAddon::xbmc::Monitor
2021-05-01 17:15:15.434 T:12208 NOTICE: Application stopped
2021-05-01 17:15:15.636 T:12208 NOTICE: XBApplicationEx: destroying...
2021-05-01 17:15:15.972 T:12208 NOTICE: unload skin
2021-05-01 17:15:16.049 T:12208 NOTICE: unload sections
2021-05-01 17:15:18.090 T:12208 NOTICE: XBApplicationEx: application stopped!
from jellycon.
I have the same problem with recent JellyCon versions, WITHOUT using the Clone Skin: Video playback stops after a second.
This happens with 0.4.4 on two different boxes: One is running Kodi 18.9 (Leia, Python 2), the other one runs 19.1 (Matrix, Python 3).
In both cases, I see an error like this:
ERROR: Playlist Player: skipping unplayable item: 0, path [plugin://plugin.video.jellycon/?item_id=0cf7adde7036a426e28f9f6067451a3b&mode=PLAY]
On the Leia box, JellyCon 0.3.1 works fine (there's no 0.3.x for Matrix).
I'm running Jellyfin 10.7.5 at the moment. I'm not sure whether the problem might be related to a Jellyfin upgrade in the last weeks. I don't use JellyCon regularly.
It feels strange that the movie is played for a few moments (like a second) but then stops.
from jellycon.
Also having this problem when using any skin. No videos play successfully when using JellyCon, they all stop after about a second.
Edit: Made a new issue for it. Seems to be caused by starting playback from within context menu
from jellycon.
Interestingly, I have the opposite issue as @krutburken . I can play every item without issues if I play it via the context menu for that item but not if I view the info page and use the play button there.
Edit: Here is a full debug log. I'm not sure if the issue started happening after using the clone skin feature once. I didn't try it before using the feature after a fresh install but the log was captured after changing back to the original estuary skin because playback on the cloned skin also didn't work on the info page. (Don't mind the time skip of about 2 hours, I didn't set the timezone correctly)
from jellycon.
So unfortunately, I can't fix this. Or not willing to, take your pick. I've been messing with it for the last few hours and it's not working at all for me on Kodi 19.4. When I try to run it, the only entry in the nav menu I get is 'Addons'. No media is available.
The skin cloner works by copying all of the default Estuary files, and then overwriting some of them with customized versions. But the skin files are constantly changing with every Kodi update, so it's a moving target of reverse engineering XML and frankly it's miserable work. Unless somebody else wants to work through it and get it working for Kodi 19 (and we'll have to do it again for Kodi 20 in the future), I'm likely going to remove the skin cloning feature in the next major release. I'm just not able to put forth the time and effort to maintain the skin cloner in it's current form.
If somebody does want to work on this, then here's a starting point:
- the "vanilla" upstream file: https://github.com/xbmc/xbmc/blob/master/addons/skin.estuary/xml/Home.xml
- the modified file in the skin files for kodi 18: https://github.com/jellyfin/jellycon/blob/master/resources/skins/skin.estuary/18/xml/Home.xml
from jellycon.
Related Issues (20)
- Jellycon context menu broken for shows HOT 16
- 'Playback failed' on RPi4 with OSMC HOT 1
- No way to automatically start playback of next epsiode for TV shows HOT 3
- Cannot validate trusted SSL certificate HOT 2
- No TV Shows shown with 0.7/Jellyfin 10.8.9 HOT 1
- JellyCon playback fails when using reverse proxy HOT 8
- Fix TMDb integration HOT 4
- feat: Simple mode that only shows libraries and media
- Context menu fails after delete attempt.
- Dependency error installing Kodi addon on Kodi Nexus 20.1 HOT 5
- Context menu fails when user doesn't have delete permission
- Add "Force transcode AV1" option HOT 2
- New Jellyfin 10.9 sends "CollectionType" as capital string HOT 3
- Watched status not updating from Kodi HOT 1
- TV Shows sections ignores `Movies per page` option HOT 1
- Playback not successfully scrobbling to trakt on jellycon 0.8.0
- Do not force immediate setup HOT 4
- Register as Picture-Addon?
- Music - Album Artist view shows artists blocked by parental control
- JellyCon playback sometimes fails when using softsubtitles
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from jellycon.