jellycon
jellycon copied to clipboard
Video stop after 1 sec when using Clone Default Skin
Describe the bug After using the fonctionnality "Clone default skin", when I want to play a video, it starts for a second and then the video stops.
To Reproduce
- Go to 'Jellycon' and 'Add on actions' and 'Clone default skin' then use this skin.
- Click on a video you want to play through Jellycon
- The video will start then stop after 1 second
Expected behavior It should play the video without problem.
System (please complete the following information):
- OS: Android TV
- Jellyfin Version: 10.7.0
- Kodi Version: 18.9
- Addon Version: 0.4.2
Additional context Even when I go back to the old skin, the videos no longer work. I have to uninstall and reinstall Kodi completely.
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.
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.
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
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!
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.
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
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)
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