From c9edd55f5328541eb782d4d9da6c46d5b18871d6 Mon Sep 17 00:00:00 2001 From: Philippe Normand Date: Wed, 28 Nov 2018 11:13:39 +0000 Subject: [PATCH] gltestsrc: Run context query only during decide_allocation Running the context query in _start and during the NULL->READY state transition can fail because downstream elements might not be able to answer and thus the source element would not be able to reuse downstream GLContext and GLDisplay. This issue happened specifically when trying to use gltestsrc in playbin. --- ext/gl/gstgltestsrc.c | 17 ----------------- 1 file changed, 17 deletions(-) diff --git a/ext/gl/gstgltestsrc.c b/ext/gl/gstgltestsrc.c index b0abea507..a98a8e9d2 100644 --- a/ext/gl/gstgltestsrc.c +++ b/ext/gl/gstgltestsrc.c @@ -510,11 +510,6 @@ gst_gl_test_src_start (GstBaseSrc * basesrc) { GstGLTestSrc *src = GST_GL_TEST_SRC (basesrc); - if (!gst_gl_ensure_element_data (src, &src->display, &src->other_context)) - return FALSE; - - gst_gl_display_filter_gl_api (src->display, SUPPORTED_GL_APIS); - src->running_time = 0; src->n_frames = 0; src->negotiated = FALSE; @@ -735,18 +730,6 @@ gst_gl_test_src_change_state (GstElement * element, GstStateChange transition) gst_element_state_get_name (GST_STATE_TRANSITION_CURRENT (transition)), gst_element_state_get_name (GST_STATE_TRANSITION_NEXT (transition))); - switch (transition) { - case GST_STATE_CHANGE_NULL_TO_READY: - if (!gst_gl_ensure_element_data (element, &src->display, - &src->other_context)) - return GST_STATE_CHANGE_FAILURE; - - gst_gl_display_filter_gl_api (src->display, SUPPORTED_GL_APIS); - break; - default: - break; - } - ret = GST_ELEMENT_CLASS (parent_class)->change_state (element, transition); if (ret == GST_STATE_CHANGE_FAILURE) return ret; -- GitLab