From d5f2b5dcfa98c5c79e8045b8d249f48b3a82bfb9 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 b0abea507b..a98a8e9d24 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;