Bug 371926 - No monitor image when idling if Movit in use
Summary: No monitor image when idling if Movit in use
Status: RESOLVED FIXED
Alias: None
Product: kdenlive
Classification: Applications
Component: Rendering & Export (other bugs)
Version First Reported In: git-master
Platform: Debian unstable Linux
: NOR normal
Target Milestone: ---
Assignee: Jean-Baptiste Mardelle
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2016-11-01 04:58 UTC by lukefromdc
Modified: 2018-12-05 18:44 UTC (History)
3 users (show)

See Also:
Latest Commit:
Version Fixed In:
Sentry Crash Report:
fritzibaby: MOVIT+


Attachments
patch for renderer.cpp (1.48 KB, patch)
2016-11-01 06:28 UTC, lukefromdc
Details

Note You need to log in before you can comment on or make changes to this bug.
Description lukefromdc 2016-11-01 04:58:01 UTC
Using Kdenlive build from GIT master (post Oct 10 2016),with Movit enabled, when Kdenlive opens a project and anytime the  timeline indicator (playhead) is set to a new location, the monitor shows no image, just the default grey background. Same in clip and project monitor.  

If Movit is not enabled, the monitor shows the image at the point the playhead is positioned when at idle, and on opening a project shows a clip. Enable Movit, get the grey monitor at idle. This problem does not exist in Kdenlive 16.08.2, only git master with the refactoring work.

To duplicate, build kdenlive from master and install it, then start it and enable Movit. Put a video clip on the timeline and let it thumbnail. No image Move the playhead and the monitor returns to blank grey. Put the clip on the timeline and set the monitor to "project." No image appears in monitor. Play the clip, this works normally. Move the playhead, the image blanks and the monitor returns to grey. Again-this is only with movit enabled and does not occur without it.

An Oct 10 Kdenlive build with c71731d4919def0ebbffe31cf79d965eaa8cf320 (attempt to fix QOffscreenSurface thread crash) 
as the last commit did not have this issue. My next build had 
9fcbba8bf03c918efce49ae3160ce23f8a085a18 (Improve some effect names, capitalize first letter, patch by alcinos) 
as the last commit and has the monitor grey screen idle problem, as do all since then. 

Reverting  68e89f48be0ec2fe1767a6ea050fa87fb9b441c5 (Fix CPU usage when idle) did not fix this, and cherrypicking it and applying it to 16.08.2 did not cause this or any other problems. It was a suspect but can't do this by itself it seems.

If I applied both that one and commit 55f3848ceba2d80a43694bb2ca7522e315d2fb01 (Add proper UI for lut3d effect (avfilter), patch by alcinos) to 16.08 I did get the grey monitor. Seemed OK with either one of these but not both but that was not heavily tested. Changing effect names (the last commit on the first bad build) does not seem a likely cause.

This problems occurs with  MLT from git master as of Oct 31,2016 and with older version. Using current Movit from GIT master downloaded August 23, no new commits to Movit since then. All of this on Debian Unstable current as of Oct 21.
Comment 1 lukefromdc 2016-11-01 05:19:31 UTC
On further testing, applying ALL of the git master commits between my last good and my first bad build of master to 16.08.2 did not cause a grey screen issue, so some interaction with the commits unique to master by one of these seems to be necessary
Comment 2 lukefromdc 2016-11-01 06:28:27 UTC
Created attachment 101940 [details]
patch for renderer.cpp

Partially reverts https://quickgit.kde.org/?p=kdenlive.git&a=commit&h=68e89f48be0ec2fe1767a6ea050fa87fb9b441c5
Comment 3 lukefromdc 2016-11-01 06:31:16 UTC
Bisecting master between the good and bad build quickly found that 68e89f48be0ec2fe1767a6ea050fa87fb9b441c5 was indeed the problem. When I initially reverted it manually I did not notice it changed two files, seeing only the glwidget.cpp changes and reverting those (and cherrypicking them for 16.08) with no effect. Had to revert all of the changes to renderer.cpp or I got an unresponsive playhead in a  quick test.
Comment 4 Jean-Baptiste Mardelle 2016-11-01 18:44:34 UTC
Thanks for your detailed report and analysis. I can reproduce the issue, working on it.
Comment 5 Jean-Baptiste Mardelle 2016-11-01 19:15:23 UTC
Git commit 4a3f660b885f5ba9eb606859ece709189e2189b4 by Jean-Baptiste Mardelle.
Committed on 01/11/2016 at 19:15.
Pushed by mardelle into branch 'master'.

Fix blank screen on movit pause

M  +1    -1    src/monitor/glwidget.cpp
M  +0    -1    src/renderer.cpp

http://commits.kde.org/kdenlive/4a3f660b885f5ba9eb606859ece709189e2189b4
Comment 6 lukefromdc 2016-11-02 05:46:06 UTC
I just tested your fix and can confirm it works. Sometimes movit noise(image corruption) will show for about a second on first opening the timeline monitor but it clears very quickly and the image then shows. Rarely it will appear for a second on moving the playhead but not very often. Always when this occurs it clears and the image comes up.