Video preview bug in several themes - freezes after 10 seconds
-
@pjft Okay, thanks.
Seems like the easy thing to do, is to just keep the OMX Player off (so I can see video previews in MAME) and disable Power Saver (so the video previews in MAME doesn't freeze). Then everything works in all themes.
Is there a problem of some sort in having the OMX Player off?
-
@steffenbrauner Not at all. You can disable Power Savings and keep OMX off - if videos work well for you as they are now, it's fine. VLC (which is what you're using with OMX off) is a bit more CPU-heavy as it's not hardware accelerated, which may lead to overheating after extended video playback. It will also stutter on higher resolution videos.
But if it works for you, definitely no concerns with it :)
-
@pjft Thanks! You not only helped, but made me understand a bit more about how it all works :-)
-
@steffenbrauner glad to help. If you choose to stay with VLC,I recommend encoding the videos to a resolution not higher than 480x360@30fps. Those were the settings that worked best for me prior to the introduction of OMX Player.
Still, if you're using the video screensaver, you'll then either want to force it to use VLC (there's an option) or re-encode the arcade videos as it defaults to OMX player because of performance at full screen.
-
@pjft @SteffenBrauner On Linux with VLC, ES runs normally on Default and enhanced.
@pjft I recently installed drivers for my graphics card. What the hell is this ?? Doesn't ES restrict frame rate to 60fps? The CPU usage is also through the roof.
t
-
@hex I think it was related to this:
https://github.com/RetroPie/EmulationStation/pull/267
But it seems it's just been fixed by
https://github.com/RetroPie/EmulationStation/pull/270
:)
-
@pjft Not possible as the source has not been updated after merge of Kiosk mode PR.
Just to make sure I updated to master as of today (PR#270 merged) and the FPS increased :| I am sure that 60fps hard limit is not implemented.
-
-
@Hex coming back to this, I can indeed replicate this with Power Saver Enhanced and VLC Player on the Pi. The video stops, and the moment I press any button it continues. The audio keeps going, the the video does indeed stop.
I'm not sure I can replicate it 100%, all the time, but it is there. Might be worth adding some logs to when the Power Savings are kicking in and confirming that they are kicking in even though VLC is playing.
-
@pjft I specifically added a PR to address this. It disables PS if vlc is playing a video. Can you check this file and let me know if my logic is not correct?
-
@hex No, you're right. I remember that, and indeed we had tested it out and it worked well.
This may be related to descriptions animating, and that may be what leads @SteffenBrauner to connect it to themes (!) out of all things.
I added some logs to powerSaver::setState() and this is what I get, on VLC:
- If I enter a gamelist, and a video shows up, I get:
lvl0: Set State: 1
lvl0: Set State: 0which is what we expect.
But, then, if I scroll to a different game (up, or down), I get:
lvl0: Set State: 0
lvl0: Set State: 1
lvl0: Set State: 0
lvl0: Set State: 1which suggests that there are other UI components also setting the PS state, and then affecting the outcome here.
I'm using the ComicBook theme, which has descriptions in it.
I'm not sure if it's related or not, because - as I said - I cannot replicate it consistently, but I'm happy to try out more and get a video of it if it helps. Hopefully the logs I just sent will also help?
Thanks!
-
Scrolling should have no bearing on PS.
If each of your game has a video and VLC has to shutown and restart, there is a possibility of that happening. Can you log PS changes in VideoComponent only rather than globally? Let me know the o/p
-
I just re-read the code.
I'm pretty sure it's caused by this command in IList.h, which runs when we stop scrolling, and will override VLC.
PowerSaver::setState(velocity == 0);
It's not a big deal - probably we could do "velocity == 0 && <is using VLC> && <is in gamelistView>" and it could fix it.
Or we could centralize the status in PowerSaver so that different components don't need to know what else is happening.
Either way, I think that is it. :)
-
@hex sorry - as you probably already figured out I messed up the fake code conditions. I think it should likely be
Velocity == 0 and (NOT using VLC OR NOT in gamelist view)
But you know how PS works better than I do, so definitely don't trust me on this and check if it makes sense. :)
Contributions to the project are always appreciated, so if you would like to support us with a donation you can do so here.
Hosting provided by Mythic-Beasts. See the Hosting Information page for more information.