GstPlayer broken with GstPlayerVideoOverlayVideoRenderer in 1.19.2
Describe your issue
GstPlayer seems to have broken in 1.19.2 (possibly due to the port to use GstPlay?) when using GstPlayerVideoOverlayVideoRenderer. I noticed the problem with wxMediaCtrl in wxWidgets, but I can reproduce the same problem with the gst-examples/playback/player/gtk example.
Expected Behavior
GstPlayer still uses the overlay window.
Observed Behavior
GstPlayer fails to use the overlay window and produces these errors:
(gtk-play:198757): GLib-GObject-CRITICAL **: 15:47:47.674: g_object_get_property: assertion 'G_IS_OBJECT (object)' failed
** (gtk-play:198757): CRITICAL **: 15:47:47.674: gst_player_video_overlay_video_renderer_create_video_sink: assertion 'GST_IS_VIDEO_OVERLAY (video_overlay)' failed
Setup
- Operating System: Fedora 35
- Device: Computer
- **GStreamer Version: 1.19.2
- Command line:
Steps to reproduce the bug
- Roll gst-examples repository back to f8cbae9d (before it was ported to GstPlay).
- Make the below hacky patch to the gtk-play example (to force it to use GstPlayerVideoOverlayVideoRenderer instead of its own renderer).
diff --git a/playback/player/gtk/gtk-play.c b/playback/player/gtk/gtk-play.c
index 786458e..c461f01 100644
--- a/playback/player/gtk/gtk-play.c
+++ b/playback/player/gtk/gtk-play.c
@@ -1425,7 +1425,7 @@ create_ui (GtkPlay * play)
GTK_WINDOW (play));
play->renderer = gst_player_gtk_video_renderer_new ();
- if (play->renderer) {
+ if (0 /*play->renderer*/) {
play->video_area =
gst_player_gtk_video_renderer_get_widget (GST_PLAYER_GTK_VIDEO_RENDERER
(play->renderer));
- Run it, select a video, observe that the video opens its own window (instead of using the overlay) and observe the error messages/warnings.
How reproducible is the bug?
100%