player: Ensure the GstPlay is created before the wrapped renderer
authorPhilippe Normand <philn@igalia.com>
Sat, 13 Nov 2021 12:22:36 +0000 (12:22 +0000)
committerPhilippe Normand <philn@igalia.com>
Sat, 20 Nov 2021 10:15:49 +0000 (10:15 +0000)
The GstPlayerWrappedVideoRenderer implicitely depends on GstPlay.

Fixes #878

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1345>

subprojects/gst-plugins-bad/gst-libs/gst/player/gstplayer.c

index cbc9501..d11e7a6 100644 (file)
@@ -573,10 +573,13 @@ gst_player_new (GstPlayerVideoRenderer * video_renderer,
       g_object_new (GST_TYPE_PLAYER, "signal-dispatcher", signal_dispatcher,
       NULL);
 
+  self->play = gst_play_new (NULL);
+
   if (video_renderer != NULL) {
     renderer = gst_player_wrapped_video_renderer_new (video_renderer, self);
+    g_object_set (self->play, "video-renderer",
+        GST_PLAY_VIDEO_RENDERER (renderer), NULL);
   }
-  self->play = gst_play_new (GST_PLAY_VIDEO_RENDERER (renderer));
 
   if (signal_dispatcher != NULL) {
     GMainContext *context = NULL;