GStreamer plugins written in python need to call `Gst.init` to ensure
that GStreamer is initialized so when loading a python plugin, we might
be recursively calling `gst_init` which is not a good idea.
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/940
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2675>
real_init = Gst.init
def init(argv):
init_pygst()
+
+ if Gst.is_initialized():
+ return True
+
return real_init(argv)
+
Gst.init = init
real_init_check = Gst.init_check
def init_check(argv):
init_pygst()
+ if Gst.is_initialized():
+ return True
+
return real_init_check(argv)
+
Gst.init_check = init_check
real_deinit = Gst.deinit