diff --git a/js/ui/main.js b/js/ui/main.js index d22d52393..4e2000736 100644 --- a/js/ui/main.js +++ b/js/ui/main.js @@ -67,11 +67,6 @@ function start() { global.screen.connect('toggle-recording', function() { if (recorder == null) { - // We have to initialize GStreamer first. This isn't done - // inside ShellRecorder to make it usable inside projects - // with other usage of GStreamer. - let Gst = imports.gi.Gst; - Gst.init(null, null); recorder = new Shell.Recorder({ stage: global.stage }); } diff --git a/src/shell-recorder.c b/src/shell-recorder.c index 134c0e550..2ff7d5a84 100644 --- a/src/shell-recorder.c +++ b/src/shell-recorder.c @@ -232,6 +232,9 @@ get_memory_target (void) static void shell_recorder_init (ShellRecorder *recorder) { + /* Calling gst_init() is a no-op if GStreamer was previously initialized */ + gst_init (NULL, NULL); + shell_recorder_src_register (); recorder->recording_icon = create_recording_icon ();