This fix makes sure that streaming thread stops waiting when the
qmlglsrc element transitions from playing to paused.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2115>
switch (transition) {
case GST_STATE_CHANGE_PLAYING_TO_PAUSED:
+ if (qt_src->window)
+ qt_window_stop (qt_src->window);
break;
case GST_STATE_CHANGE_PAUSED_TO_READY:
break;
g_mutex_unlock (&qt_window->priv->lock);
}
+
+void
+qt_window_stop(QtGLWindow* qt_window)
+{
+ g_mutex_lock(&qt_window->priv->lock);
+
+ GST_DEBUG("stop window");
+ qt_window->priv->updated = TRUE;
+ g_cond_signal(&qt_window->priv->update_cond);
+
+ g_mutex_unlock(&qt_window->priv->lock);
+}
GstGLDisplay * qt_window_get_display (QtGLWindow * qt_window);
gboolean qt_window_is_scenegraph_initialized (QtGLWindow * qt_window);
void qt_window_use_default_fbo (QtGLWindow * qt_window, gboolean useDefaultFbo);
+void qt_window_stop(QtGLWindow* qt_window);
}
#endif /* __QT_WINDOW_H__ */