Commit graph

52 commits

Author SHA1 Message Date
Leon Styhre 63af859618 Modernized the OpenGL renderer and replaced most fixed function pipeline code with shaders.
Also greatly improved the shader post processing performance and added component dimming support.
2022-03-11 23:17:04 +01:00
Leon Styhre 9e2c24ef79 Fixed an issue where videos would still play if the video theme configuration was broken. 2022-03-06 22:52:13 +01:00
Leon Styhre 2df8a867ad Fixed some compiler errors when building with FFmpeg 5.0 2022-03-06 14:38:19 +01:00
Leon Styhre a97e86a6aa Renamed the menu option to enable or disable audio playback for gamelist videos. 2022-02-20 16:07:27 +01:00
Leon Styhre 73e0e59b8c Fixed an issue where hidden videos would still play. 2022-02-20 15:04:05 +01:00
Leon Styhre f803e23fd2 Added theme support for disabling audio playback for each defined video. 2022-02-19 21:45:31 +01:00
Leon Styhre 77beb39801 Fixed an issue where videos would not get centered if pillarboxes were enabled. 2022-02-19 20:31:54 +01:00
Leon Styhre c4eb1b8b97 Greatly simplified the video controls code.
Also fixed a cosmetic issue with carousel fade transitions.
2022-02-19 17:04:23 +01:00
Leon Styhre 0266a6e7e6 Fixed a video fade-in issue when using the GLES renderer. 2022-02-15 22:34:26 +01:00
Leon Styhre 5ac6bcb902 Added opacity support to the scanline shader. 2022-02-15 22:13:11 +01:00
Leon Styhre e0540ee03b Video pillarboxes and scanline rendering can now be controlled from the theme configuration. 2022-02-12 17:46:31 +01:00
Leon Styhre c35a297d9a Large update to get the new theme engine up and running. 2022-01-29 18:41:22 +01:00
Leon Styhre a443f86235 Removed a huge amount of unnecessary Window* function arguments. 2022-01-19 18:01:54 +01:00
Leon Styhre 0c8efee8ad General refactoring and code cleanup. 2022-01-16 18:18:28 +01:00
Leon Styhre 8a6652552f Set the clang-format option SpaceBeforeCpp11BracedList to true. 2022-01-16 12:09:55 +01:00
Leon Styhre c62a069448 Fixed an issue where the audio device was accessed after it had been closed. 2022-01-05 00:08:50 +01:00
Leon Styhre 2bbbab7d70 Small optimization in VideoFFmpegComponent. 2021-11-18 17:25:09 +01:00
Leon Styhre af52d9b0ac Changed most increment and decrement operators from postfix to prefix for es-core. 2021-11-17 17:48:49 +01:00
Leon Styhre 9937476e18 Replaced some mutex locks with atomic variables.
Also removed an SDL audio issue workaround from AudioManager.
2021-11-16 17:49:05 +01:00
Leon Styhre 6bc4a09c9b Multiple thread safety improvements to AudioManager and VideoFFmpegComponent.
Also some general refactoring and re-enabling of some SDL_AudioStream functions.
2021-11-15 22:43:06 +01:00
Leon Styhre 36b7146d7f Made the video player shut down slightly faster under some circumstances. 2021-11-12 23:48:12 +01:00
Leon Styhre 3e12fcb420 General refactoring and minor optimizations throughout the codebase. 2021-11-09 22:40:08 +01:00
Leon Styhre d3b135e387 Set the FFmpeg video player HW decoding as disabled by default. 2021-11-08 17:58:36 +01:00
Leon Styhre ac4710a18e Added proper support for the Raspberry Pi 4. 2021-11-07 23:54:52 +01:00
Leon Styhre c5a1555de3 Added proper frame drop support to the FFmpeg video player.
Also made multiple large optimizations.
2021-11-07 18:14:38 +01:00
Leon Styhre 63767347f2 Fixed numerous compiler warnings reported by the -Wall and -Wpedantic flags. 2021-09-19 14:37:10 +02:00
Leon Styhre 0b6d987263 Fixed lots of compiler warnings reported by the -Wall and -Wpedantic flags. 2021-09-18 09:53:26 +02:00
Leon Styhre 91339bf1fa (Windows) Fixed a MinGW compiler error. 2021-08-18 18:52:41 +02:00
Leon Styhre 7b5d673050 Replaced the internal Vector2i data type and functions with the GLM library equivalent.
Also applied some code formatting changes for braced lists using clang-format.
2021-08-17 18:41:45 +02:00
Leon Styhre 1fb0ccef0d Replaced the internal Vector2f data type and functions with the GLM library equivalent. 2021-08-16 18:25:01 +02:00
Leon Styhre 722468129e Replaced all internal matrix data types and functions with the GLM library equivalents.
Also changed some vectors.
2021-08-15 19:30:31 +02:00
Leon Styhre 9bbba93edf Added experimental hardware decoding support to VideoFFmpegComponent.
Also fixed some memory leaks and removed the video frame skipping code as it caused more harm than good.
2021-07-14 19:13:25 +02:00
Leon Styhre 3b4bb74ac0 VideoFFmpegComponent now prioritizes audio by dropping video frames if the computer can't keep up. 2021-07-09 19:47:33 +02:00
Leon Styhre 23fdc00044 Formatted the es-core source tree using clang-format. 2021-07-07 20:31:46 +02:00
Leon Styhre 45d3bb9bad Small refactoring of VideoFFmpegComponent. 2021-07-04 11:36:16 +02:00
Leon Styhre badcfb0fe9 Fixed a glitch in VideoFFmpegComponent as the video texture was not properly reset. 2021-06-22 18:17:06 +02:00
Leon Styhre 75430f210a Some cosmetic code cleanup. 2021-06-11 17:02:06 +02:00
Leon Styhre 653cf4c46f (Windows) Fixed an MSVC compiler warning. 2021-05-29 11:48:33 +02:00
Leon Styhre 5ee28ed8ec Fixed some compiler errors on Windows caused by an FFmpeg C macro. 2021-05-29 11:27:04 +02:00
Leon Styhre 77bbe0592c Updated VideoFFmpegComponent to use libavfilter for frame processing and conversion. 2021-05-29 10:58:51 +02:00
Leon Styhre 65e119cff9 The audio stream is now only cleared from a single location in VideoFFmpegComponent.
Also made the video player finish processing if the video is paused.
2021-05-19 19:52:58 +02:00
Leon Styhre 9d8cb889ac Reduced video stuttering in VideoFFmpegComponent.
Also did some other optimizations.
2021-05-19 19:47:40 +02:00
Leon Styhre 3ed17fbea2 Added a fullscreen game media viewer. 2021-05-16 13:12:31 +02:00
Leon Styhre 282d2fa445 Implemented a workaround for a potential crash when scaling frames in VideoFFmpegComponent. 2021-05-15 20:16:48 +02:00
Leon Styhre 4a42f929b3 (Windows) Fixed some MinGW and MSVC compiler errors and warnings for VideoFFmpegComponent. 2021-05-13 11:05:23 +02:00
Leon Styhre 4465342724 Added an audio buffer to VideoFFmpegComponent to avoid underflows and distortion. 2021-05-12 22:55:00 +02:00
Leon Styhre f3f86c6e20 Changed to unique_ptr for the threading in VideoFFmpegComponent and TextureDataManager. 2021-05-12 22:49:24 +02:00
Leon Styhre b1521c4c53 Fixed a stupid iterator issue in VideoFFmpegComponent. 2021-05-11 18:06:30 +02:00
Leon Styhre 84640c0dc5 Added multithreading to VideoFFmpegComponent. 2021-05-11 17:35:55 +02:00
Leon Styhre a1209dfc5d Fixed a video/audio synchronization issue in VideoFFmpegComponent. 2021-05-10 18:54:17 +02:00