Skip to content

Implement Drop Frames functionality for the new MLT-based code

The patchset implements "Drop Frames" functionality for the new engines. Basically, it recovers the old implementation for the Qt-based engine and implements a new one for the MLT engine. The functionality itself works fine, though I found a few potentially related issues, which I would like to address (to make testing happen in one go):

  • Remove PlaybackDriver complication from KisPlaybackEngineQT (possibly unrelated)
  • [blocking] The stats for the "Drop Frames" button in the "Timeline Curves" docker is not implemented yet
  • CanvasPlaybackEnvironment resets m_canvas in restore(). Check why it does that and if it is necessary? (resolution: not important)
  • KisAnimTimelineDocker should store the playback engine locally, but not access the global singleton (since it has KisAnimTimelineDocker::setPlaybackEngine)
  • [blocking] "Speed" option does not work in the MTL engine at all (when the playback goes beyond the audio stream)
  • [blocking] "Speed" option setting is not copied to the MLT engine on the engine mutation
  • [blocking] When changing "Speed" setting on during the playback multiple times, the animation gets stuck on frame '625' (MLT sends rendering events for this frame in an infinite loop).
Edited by Dmitry Kazakov

Merge request reports