Posts: 2,510
Joined: Dec 2012
Reputation:
216
So looking forward to this... Man, you just made my weekend and probably the next one too!
Posts: 530
Joined: Nov 2008
Reputation:
19
Hoping also it gets accepted, so WAF goes higher regarding 4K at home [emoji3]
It took a couple of hours to understand/debug the ApplicationPlayer.cpp and PlayerCoreFactory.cpp.
That's the workflow:
1. call to ApplicationPlayer.cpp OpenFile() with the new item
2. ApplicationPlayer.cpp executes PlayerCoreFactory.cpp GetDefaultPlayer() function to retrieve the player name for the item which should be played. There, your rules was matched and so on...
The correct matched player name always was returned.
So the issue is was not here.
3. now the current/last used player was retrieved todo some stuff in video player without closing it.
4. if that was null, a new player was created, the one with the before matched rules
5. new file was loaded in this player
You see, the issue is that ALWAYS the last player is used, because it never is null.
I have now added the following between 3 & 4:
3.5 when the last player name differs from new one (matched with rules), the last gets unloaded. Then under 4, the player is null and the new one gets created and finally the file loaded into the new player.
Hope this makes sense [emoji13]
pOpY
Posts: 2,510
Joined: Dec 2012
Reputation:
216
2018-08-12, 03:13
(This post was last modified: 2018-08-12, 03:14 by brazen1.)
There is 1001 lines of code in that first file alone. I will never understand how on earth you coders debug and rewrite what you do... Amazes me tbh. Assuming your testbed worked, I hope it's approved and added soon. I've wanted to use v.18 x64 as a daily driver but this was the holdup. I'm sure you can tell I'm chomping at the bit. Appreciate ya'. KODI dev(s) too!
Posts: 530
Joined: Nov 2008
Reputation:
19
It's my job also, c, c++ and so on.
That could be a reason [emoji3]
Have made a clean build for Windows x64 over night based on the latest nightly/master.
Not at home today to test.
When i have time to test it, and it's ok, I can share it.
Stay tuned.
pOpY
Posts: 530
Joined: Nov 2008
Reputation:
19
Bad news, my build works like it should on my dev maschine (intel gpu) and the issue is fixed for me.
Sadly on my second HTPC the internal video player just shows black picture and no video.
Dont know why and have to investigate.
But i think it has'nt todo anything with the external player fix.
pOpY
Posts: 530
Joined: Nov 2008
Reputation:
19
Thanks for your kind words.
pOpY
Posts: 530
Joined: Nov 2008
Reputation:
19
Good news.
Merged into master!
Fix should be included in upcomming nightly.
pOpY
Posts: 154
Joined: Sep 2016
Reputation:
9
luci5r
Senior Member
Posts: 154
Excellent news!! Can't wait for this major fix!!
Thank you.
Posts: 2,510
Joined: Dec 2012
Reputation:
216
Nice
I'll give nightly a try tomorrow.
Posts: 2,510
Joined: Dec 2012
Reputation:
216
Been running it through its paces for a while and am no where close to done:
The main problem with the PCF honoring rules for defaulting to the correct player is fixed. YiPpY! So is player selection via the 'Play using' menu. YeEhAw! Alt + F4 command to the focused external player quits and returns to KODI in focus with resolution and frame rate correctly applied just as it did using 17.6. All is perfect including engaging/disengaging HDR etc.
However, there is a new problem and if memory serves me correct, it too was always present in my past tests with v.18 so it's not exactly new or caused by your fix imo. Again, going by distant memory.
When I play 3D with any player, the correct player opens, the resolution switches from 2160 to 1080 correctly and 3D frame packed mode engages. The 3D playback is all perfect as it was in 17.6. Quitting the player is where the problem begins. The external player closes and 3D disengages on the panel but the return to focused KODI results in it no longer in fullscreen. It appears windowed in the top left corner and the image of the GUI is not complete (mostly just a black box although some images are present when scrolling the distorted tiny GUI). Alt + F4 kills KODI and the Windows desktop returns to the correct resolution and frame rate.
I windowed KODI instead of the required fullscreen for external players and the results were the same. Fullscreening the windowed KODI in the top left corner after the error resulted in a fullscreened black window with a tiny KODI still in the top left corner.
Not sure a debug log would do any good and no idea what else I can supply should you or another decide to try and tackle it? It would require 3D capability and understand most no longer have it. Uhg...