[Spice-devel] [PATCH spice-streaming-agent] gst-plugin: Changing framerate crash when ximagesrc is used

Snir Sheriber ssheribe at redhat.com
Thu Sep 19 15:10:29 UTC 2019


When XLIB_CAPTURE is set to 0 and framerate is set to anything
other than 25 streaming-agent crashes

This is a regrerssion caused by e0cf764baff9d678a6e75916457300d1ff39b169
Fixing it is done by adding the framerate value to convertion caps

Signed-off-by: Snir Sheriber <ssheribe at redhat.com>
---
 src/gst-plugin.cpp | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/src/gst-plugin.cpp b/src/gst-plugin.cpp
index 70bc6c8..922b90d 100644
--- a/src/gst-plugin.cpp
+++ b/src/gst-plugin.cpp
@@ -237,7 +237,10 @@ void GstreamerFrameCapture::pipeline_init(const GstreamerEncoderSettings &settin
     gst_bin_add(bin, sink);

     GstCapsUPtr caps(gst_caps_from_string("video/x-raw(ANY)"));
-    link = gst_element_link(capture.get(), convert.get()) &&
+    GstCapsUPtr convert_caps(gst_caps_new_simple("video/x-raw",
+                                                 "framerate", GST_TYPE_FRACTION, settings.fps, 1,
+                                                 nullptr));
+    link = gst_element_link_filtered(capture.get(), convert.get(), convert_caps.get()) &&
            gst_element_link_filtered(convert.get(), encoder.get(), caps.get()) &&
            gst_element_link_filtered(encoder.get(), sink.get(), sink_caps.get());
     if (!link) {
-- 
2.21.0


More information about the Spice-devel mailing list