SUMMARY Severe playback stutter in videos >30fps, but only if an audio track is present. Observed in MP4 h264 & h265 video files with AAC audio. - Stutter not present in 60fps video files without audio - Stutter not present in 30fps videos with audio (AAC) STEPS TO REPRODUCE 1. Preview 60fps h264/h265 AAC video files 2. 3. OBSERVED RESULT Severe playback stutter - Video plays for 0.5s, stops for 0.5s, plays for 0.5s, etc. - Some videos play too fast for approx 0.5s, stop for 0.5s, play too fast for 0.5s, etc Seems almost like the audio isn't being synced with the video framerate? EXPECTED RESULT Smooth video playback SOFTWARE/OS VERSIONS Windows: Windows 10 Pro 64-bit (10.0, Build 19042) (19041.vb_release.191206-1406) macOS: Linux/KDE Plasma: (available in About System) KDE Plasma Version: KDE Frameworks Version: 5.80.0 Qt Version: 5.15.2 ADDITIONAL INFORMATION - Tested with stereo audio - appears across a range of audio bit rates. - Have also observed in 60fps .MOV (mpeg4) files with pcm_s16le audio HARDWARE CPU = i7-10700k RAM = 64GB GPU = GTX1070
*** This bug has been marked as a duplicate of bug 382582 ***
Git commit 5aae9b7c21ab662d63b49f165163984809c1d585 by Gilles Caulier. Committed on 12/05/2022 at 11:10. Pushed by cgilles into branch 'master'. Move AVPlayer config widgets to core/QtAV to allow to re-use these settings view in a new Video section from digiKam Setup dialog. the goal is to be able to configure the video decoder, the audio backend, and the video renderer with video preview framework, to prevent dysfunctions while playing audio and video media if wrong decoder/backend/renderer is selected by default. Currently none of these settings is possible in digiKam and playing video and audio always depends of default settings done in QtAV framework which can be badly configured for the available hardwares and modules in client computer. TODO: add the new video config pannel in digiKam Setup dialog to configure decoder/backend/renderer. Related: bug 435660, bug 382582, bug 445422, bug 426951, bug 430873, bug 437328, bug 388475, bug 440668, bug 415778, bug 423580 M +2 -14 core/avplayer/CMakeLists.txt M +3 -6 core/avplayer/main/MainWindow.cpp M +7 -7 core/avplayer/main/MainWindow.h R +2 -0 core/avplayer/utils/ConfigDialog.cpp [from: core/avplayer/config/ConfigDialog.cpp - 099% similarity] R +8 -5 core/avplayer/utils/ConfigDialog.h [from: core/avplayer/config/ConfigDialog.h - 090% similarity] M +2 -0 core/avplayer/utils/common.cpp M +12 -0 core/libs/video/qtav/CMakeLists.txt R +2 -2 core/libs/video/qtav/widgets/config/AVFilterConfigPage.cpp [from: core/avplayer/config/AVFilterConfigPage.cpp - 098% similarity] R +7 -6 core/libs/video/qtav/widgets/config/AVFilterConfigPage.h [from: core/avplayer/config/AVFilterConfigPage.h - 086% similarity] R +2 -2 core/libs/video/qtav/widgets/config/AVFormatConfigPage.cpp [from: core/avplayer/config/AVFormatConfigPage.cpp - 098% similarity] R +7 -6 core/libs/video/qtav/widgets/config/AVFormatConfigPage.h [from: core/avplayer/config/AVFormatConfigPage.h - 084% similarity] R +2 -2 core/libs/video/qtav/widgets/config/AVPlayerConfigMngr.cpp [from: core/avplayer/config/AVPlayerConfigMngr.cpp - 099% similarity] R +10 -6 core/libs/video/qtav/widgets/config/AVPlayerConfigMngr.h [from: core/avplayer/config/AVPlayerConfigMngr.h - 098% similarity] R +2 -2 core/libs/video/qtav/widgets/config/CaptureConfigPage.cpp [from: core/avplayer/config/CaptureConfigPage.cpp - 099% similarity] R +7 -6 core/libs/video/qtav/widgets/config/CaptureConfigPage.h [from: core/avplayer/config/CaptureConfigPage.h - 086% similarity] R +2 -2 core/libs/video/qtav/widgets/config/ClickableMenu.cpp [from: core/avplayer/utils/ClickableMenu.cpp - 097% similarity] R +10 -6 core/libs/video/qtav/widgets/config/ClickableMenu.h [from: core/avplayer/utils/ClickableMenu.h - 082% similarity] R +2 -2 core/libs/video/qtav/widgets/config/ConfigPageBase.cpp [from: core/avplayer/config/ConfigPageBase.cpp - 097% similarity] R +10 -6 core/libs/video/qtav/widgets/config/ConfigPageBase.h [from: core/avplayer/config/ConfigPageBase.h - 087% similarity] R +34 -37 core/libs/video/qtav/widgets/config/DecoderConfigPage.cpp [from: core/avplayer/config/DecoderConfigPage.cpp - 098% similarity] R +11 -6 core/libs/video/qtav/widgets/config/DecoderConfigPage.h [from: core/avplayer/config/DecoderConfigPage.h - 082% similarity] R +2 -2 core/libs/video/qtav/widgets/config/MiscPage.cpp [from: core/avplayer/config/MiscPage.cpp - 099% similarity] R +10 -6 core/libs/video/qtav/widgets/config/MiscPage.h [from: core/avplayer/config/MiscPage.h - 086% similarity] R +2 -2 core/libs/video/qtav/widgets/config/PropertyEditor.cpp [from: core/avplayer/config/PropertyEditor.cpp - 099% similarity] R +10 -6 core/libs/video/qtav/widgets/config/PropertyEditor.h [from: core/avplayer/config/PropertyEditor.h - 093% similarity] R +2 -2 core/libs/video/qtav/widgets/config/ShaderPage.cpp [from: core/avplayer/config/ShaderPage.cpp - 098% similarity] R +7 -6 core/libs/video/qtav/widgets/config/ShaderPage.h [from: core/avplayer/config/ShaderPage.h - 085% similarity] R +2 -2 core/libs/video/qtav/widgets/config/Slider.cpp [from: core/avplayer/utils/Slider.cpp - 099% similarity] R +10 -6 core/libs/video/qtav/widgets/config/Slider.h [from: core/avplayer/utils/Slider.h - 088% similarity] R +2 -2 core/libs/video/qtav/widgets/config/VideoEQConfigPage.cpp [from: core/avplayer/config/VideoEQConfigPage.cpp - 099% similarity] R +10 -6 core/libs/video/qtav/widgets/config/VideoEQConfigPage.h [from: core/avplayer/config/VideoEQConfigPage.h - 088% similarity] https://invent.kde.org/graphics/digikam/commit/5aae9b7c21ab662d63b49f165163984809c1d585
Git commit 505bc17cd39702e14446c15d79d44d14d80fe005 by Gilles Caulier. Committed on 12/05/2022 at 13:56. Pushed by cgilles into branch 'master'. Add Setup Video page from digiKam configuration dialog. This allow to setup few options for media player as the decoder priority to use. Related: bug 435660, bug 382582, bug 445422, bug 426951, bug 430873, bug 437328, bug 388475, bug 440668, bug 415778, bug 423580 M +24 -12 core/libs/video/player/mediaplayerview.cpp M +1 -0 core/libs/video/player/mediaplayerview.h M +22 -10 core/libs/video/player/slidevideo.cpp M +4 -0 core/libs/video/player/slidevideo.h M +2 -2 core/libs/video/qtav/widgets/config/AVPlayerConfigMngr.cpp M +1 -1 core/libs/video/qtav/widgets/config/DecoderConfigPage.cpp M +1 -0 core/utilities/setup/CMakeLists.txt M +29 -0 core/utilities/setup/setup.cpp M +2 -0 core/utilities/setup/setup.h M +1 -1 core/utilities/setup/setuptemplate.cpp A +69 -0 core/utilities/setup/setupvideo.h [License: GPL (v2+)] https://invent.kde.org/graphics/digikam/commit/505bc17cd39702e14446c15d79d44d14d80fe005
Git commit 0e2bc2695efc7d6d0d2ec52731c3f69095554b7f by Gilles Caulier. Committed on 12/05/2022 at 15:24. Pushed by cgilles into branch 'master'. Hide advanced settings for each decoder as nothing is saved and restored between the sessions. Only the list of decoder and the priority is saved Related: bug 435660, bug 382582, bug 445422, bug 426951, bug 430873, bug 437328, bug 388475, bug 440668, bug 415778, bug 423580 M +6 -4 core/libs/video/qtav/widgets/config/DecoderConfigPage.cpp M +1 -1 core/libs/video/qtav/widgets/config/DecoderConfigPage.h M +1 -1 core/utilities/setup/setupvideo.cpp https://invent.kde.org/graphics/digikam/commit/0e2bc2695efc7d6d0d2ec52731c3f69095554b7f
Fixed with #382582