summary refs log tree commit diff
path: root/src
diff options
context:
space:
mode:
authorcheckraisefold <checkraisefold@crf.gay>2024-05-17 14:55:33 -0700
committercheckraisefold <checkraisefold@crf.gay>2024-05-17 14:55:33 -0700
commit8a35cf4c5a57c52e5432020a4ec635fd726e5389 (patch)
tree4237de9c53734d04008f10a9c233dae130f7b72b /src
parentWindows screenshare/video call support, general call improvements (#1725) (diff)
downloadnheko-8a35cf4c5a57c52e5432020a4ec635fd726e5389.tar.xz
Fix OpenGL video sinkchain crash
Diffstat (limited to 'src')
-rw-r--r--src/voip/WebRTCSession.cpp13
1 files changed, 4 insertions, 9 deletions
diff --git a/src/voip/WebRTCSession.cpp b/src/voip/WebRTCSession.cpp
index ba1d5424..d55b7c41 100644
--- a/src/voip/WebRTCSession.cpp
+++ b/src/voip/WebRTCSession.cpp
@@ -339,21 +339,16 @@ newVideoSinkChain(GstElement *pipe)
     g_object_set(compositor, "background", 1, nullptr);
     switch (graphicsApi) {
     case QSGRendererInterface::OpenGL: {
-        GstElement *glupload       = gst_element_factory_make("glupload", nullptr);
-        GstElement *glcolorconvert = gst_element_factory_make("glcolorconvert", nullptr);
-        GstElement *qmlglsink      = gst_element_factory_make("qml6glsink", nullptr);
-        GstElement *glsinkbin      = gst_element_factory_make("glsinkbin", nullptr);
+        GstElement *qmlglsink = gst_element_factory_make("qml6glsink", nullptr);
+        GstElement *glsinkbin = gst_element_factory_make("glsinkbin", nullptr);
 
         g_object_set(qmlglsink, "widget", WebRTCSession::instance().getVideoItem(), nullptr);
         g_object_set(glsinkbin, "sink", qmlglsink, nullptr);
-        gst_bin_add_many(
-          GST_BIN(pipe), queue, compositor, glupload, glcolorconvert, glsinkbin, nullptr);
-        gst_element_link_many(queue, compositor, glupload, glcolorconvert, glsinkbin, nullptr);
+        gst_bin_add_many(GST_BIN(pipe), queue, compositor, glsinkbin, nullptr);
+        gst_element_link_many(queue, compositor, glsinkbin, nullptr);
 
         gst_element_sync_state_with_parent(queue);
         gst_element_sync_state_with_parent(compositor);
-        gst_element_sync_state_with_parent(glupload);
-        gst_element_sync_state_with_parent(glcolorconvert);
         gst_element_sync_state_with_parent(glsinkbin);
 
         // to propagate context (hopefully)