player: call ref_sink on pipeline
authorRafostar <40623528+Rafostar@users.noreply.github.com>
Thu, 5 Nov 2020 08:01:47 +0000 (09:01 +0100)
committerGStreamer Merge Bot <gitlab-merge-bot@gstreamer-foundation.org>
Thu, 5 Nov 2020 08:36:10 +0000 (08:36 +0000)
Otherwise `gst_player_get_pipeline()` will return a floating reference which may confuse bindings and lead to crash.

Fixes #1450

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1763>

gst-libs/gst/player/gstplayer.c

index b2e318f..04148fa 100644 (file)
@@ -2907,6 +2907,8 @@ gst_player_main (gpointer data)
     g_assert_not_reached ();
   }
 
+  gst_object_ref_sink (self->playbin);
+
   if (self->video_renderer) {
     GstElement *video_sink =
         gst_player_video_renderer_create_video_sink (self->video_renderer,