gst-play: use novel signal-adapter (requires gstplayer lib patch from https://gitlab...
authorStephan Hesse <stephan@emliri.com>
Tue, 28 Apr 2020 21:12:44 +0000 (23:12 +0200)
committerPhilippe Normand <philn@igalia.com>
Sun, 7 Mar 2021 17:59:35 +0000 (17:59 +0000)
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-examples/-/merge_requests/33>

playback/player/gst-play/gst-play.c
playback/player/gtk/gtk-play.c

index b7b98e1..62aa2cd 100644 (file)
@@ -357,24 +357,28 @@ play_new (gchar ** uris, gdouble initial_volume)
   play->cur_idx = -1;
 
   play->player =
-      gst_player_new (NULL, gst_player_g_main_context_signal_dispatcher_new
-      (NULL));
+      gst_player_new (NULL);
 
-  g_signal_connect (play->player, "position-updated",
+  play->loop = g_main_loop_new (NULL, FALSE);
+  play->desired_state = GST_STATE_PLAYING;
+
+  GstPlayerSignalAdapter *player_sig_adapt
+     = gst_player_signal_adapter_new(
+       gst_player_get_message_bus (play->player), 
+       g_main_loop_get_context (play->loop));
+
+  g_signal_connect (player_sig_adapt, "position-updated",
       G_CALLBACK (position_updated_cb), play);
-  g_signal_connect (play->player, "state-changed",
+  g_signal_connect (player_sig_adapt, "state-changed",
       G_CALLBACK (state_changed_cb), play);
-  g_signal_connect (play->player, "buffering", G_CALLBACK (buffering_cb), play);
-  g_signal_connect (play->player, "end-of-stream",
+  g_signal_connect (player_sig_adapt, "buffering", G_CALLBACK (buffering_cb), play);
+  g_signal_connect (player_sig_adapt, "end-of-stream",
       G_CALLBACK (end_of_stream_cb), play);
-  g_signal_connect (play->player, "error", G_CALLBACK (error_cb), play);
+  g_signal_connect (player_sig_adapt, "error", G_CALLBACK (error_cb), play);
 
-  g_signal_connect (play->player, "media-info-updated",
+  g_signal_connect (player_sig_adapt, "media-info-updated",
       G_CALLBACK (media_info_cb), play);
 
-  play->loop = g_main_loop_new (NULL, FALSE);
-  play->desired_state = GST_STATE_PLAYING;
-
   play_set_relative_volume (play, initial_volume - 1.0);
 
   return play;
index 786458e..c6b1b42 100644 (file)
@@ -1743,8 +1743,7 @@ gtk_play_constructor (GType type, guint n_construct_params,
   create_ui (self);
 
   self->player =
-      gst_player_new (self->renderer,
-      gst_player_g_main_context_signal_dispatcher_new (NULL));
+      gst_player_new (self->renderer);
 
   g_signal_connect (self->player, "position-updated",
       G_CALLBACK (position_updated_cb), self);