diff --git a/subprojects/gst-plugins-base/ext/gl/gstglsinkbin.c b/subprojects/gst-plugins-base/ext/gl/gstglsinkbin.c index f32fac5de8..1e8549aee1 100644 --- a/subprojects/gst-plugins-base/ext/gl/gstglsinkbin.c +++ b/subprojects/gst-plugins-base/ext/gl/gstglsinkbin.c @@ -381,6 +381,7 @@ gst_gl_sink_bin_get_property (GObject * object, guint prop_id, GValue * value, GParamSpec * pspec) { GstGLSinkBin *self = GST_GL_SINK_BIN (object); + GParamSpec *sink_pspec; switch (prop_id) { case PROP_SINK: @@ -394,8 +395,17 @@ gst_gl_sink_bin_get_property (GObject * object, guint prop_id, g_object_get_property (G_OBJECT (self->balance), pspec->name, value); break; default: - if (self->sink) - g_object_get_property (G_OBJECT (self->sink), pspec->name, value); + if (self->sink) { + sink_pspec = + g_object_class_find_property (G_OBJECT_GET_CLASS (self->sink), + pspec->name); + if (sink_pspec + && G_PARAM_SPEC_TYPE (sink_pspec) == G_PARAM_SPEC_TYPE (pspec)) { + g_object_get_property (G_OBJECT (self->sink), pspec->name, value); + } else { + GST_INFO ("Failed to get unmatched property %s", pspec->name); + } + } break; } }