[OE-core] [PATCH 2/2] gst-player: Remove obsolete patches (now in upstream)

Jussi Kukkonen jussi.kukkonen at intel.com
Wed Jun 3 20:02:12 UTC 2015


On 3 June 2015 at 17:47, Gary Thomas <gary at mlbassoc.com> wrote:
> Signed-off-by: Gary Thomas <gary at mlbassoc.com>
> ---
>  ...error-signal-emission-for-missing-plugins.patch | 252 ---------------------

Are you sure upstream has something like this already? I've been
meaning to do another version of
https://github.com/sdroege/gst-player/pull/11 but haven't so far...

 - Jussi

>  .../gstreamer/gst-player/Fix-pause-play.patch      | 107 ---------
>  .../gstreamer/gst-player/filechooser.patch         |  54 -----
>  3 files changed, 413 deletions(-)
>  delete mode 100644 meta/recipes-multimedia/gstreamer/gst-player/Add-error-signal-emission-for-missing-plugins.patch
>  delete mode 100644 meta/recipes-multimedia/gstreamer/gst-player/Fix-pause-play.patch
>  delete mode 100644 meta/recipes-multimedia/gstreamer/gst-player/filechooser.patch
>
> diff --git a/meta/recipes-multimedia/gstreamer/gst-player/Add-error-signal-emission-for-missing-plugins.patch b/meta/recipes-multimedia/gstreamer/gst-player/Add-error-signal-emission-for-missing-plugins.patch
> deleted file mode 100644
> index 712d46d..0000000
> --- a/meta/recipes-multimedia/gstreamer/gst-player/Add-error-signal-emission-for-missing-plugins.patch
> +++ /dev/null
> @@ -1,252 +0,0 @@
> -From d64c7edb66f4a64ff49c4306cf77fd269b7079ab Mon Sep 17 00:00:00 2001
> -From: Jussi Kukkonen <jussi.kukkonen at intel.com>
> -Date: Mon, 16 Mar 2015 13:45:30 +0200
> -Subject: [PATCH] Add error signal emission for missing plugins
> -
> -Add a missing plugins error signal to gst-player. Note that this error
> -does not necessarily mean the playback has completely failed, but in
> -practice the user experience will be bad (think, e.g. of a mp4 file
> -where H.264 codec is missing: AAC playback still works...).
> -
> -Use the signal in gtk-play to show a infobar if plugins are missing.
> -
> -Submitted upstream at https://github.com/sdroege/gst-player/pull/11
> -
> -Upstream-Status: Submitted
> -Signed-off-by: Jussi Kukkonen <jussi.kukkonen at intel.com>
> ----
> - configure.ac               |  2 +-
> - gtk/gtk-play.c             | 54 +++++++++++++++++++++++++++++++++++++++++++++-
> - lib/gst/player/gstplayer.c | 22 +++++++++++++++++++
> - lib/gst/player/gstplayer.h |  3 ++-
> - 4 files changed, 78 insertions(+), 3 deletions(-)
> -
> -diff --git a/configure.ac b/configure.ac
> -index 90ab74c..6cdb4eb 100644
> ---- a/configure.ac
> -+++ b/configure.ac
> -@@ -53,7 +53,7 @@ AC_SUBST(LT_AGE)
> - PKG_PROG_PKG_CONFIG
> -
> - PKG_CHECK_MODULES(GLIB, [glib-2.0 gobject-2.0])
> --PKG_CHECK_MODULES(GSTREAMER, [gstreamer-1.0 >= 1.4 gstreamer-video-1.0 >= 1.4])
> -+PKG_CHECK_MODULES(GSTREAMER, [gstreamer-1.0 >= 1.4 gstreamer-video-1.0 >= 1.4 gstreamer-pbutils-1.0])
> -
> - GLIB_PREFIX="`$PKG_CONFIG --variable=prefix glib-2.0`"
> - AC_SUBST(GLIB_PREFIX)
> -diff --git a/gtk/gtk-play.c b/gtk/gtk-play.c
> -index b92773b..e2b605a 100644
> ---- a/gtk/gtk-play.c
> -+++ b/gtk/gtk-play.c
> -@@ -30,6 +30,8 @@ typedef struct
> -   GtkWidget *prev_button, *next_button;
> -   GtkWidget *seekbar;
> -   GtkWidget *video_area;
> -+  GtkWidget *info_label;
> -+  GtkWidget *info_bar;
> -   GtkWidget *volume_button;
> -   gulong seekbar_value_changed_signal_id;
> -   gboolean playing;
> -@@ -141,6 +143,13 @@ play_pause_clicked_cb (GtkButton * button, GtkPlay * play)
> - }
> -
> - static void
> -+clear_missing_plugins (GtkPlay * play)
> -+{
> -+  gtk_label_set_text (GTK_LABEL (play->info_label), "");
> -+  gtk_widget_hide (play->info_bar);
> -+}
> -+
> -+static void
> - skip_prev_clicked_cb (GtkButton * button, GtkPlay * play)
> - {
> -   GList *prev;
> -@@ -155,6 +164,7 @@ skip_prev_clicked_cb (GtkButton * button, GtkPlay * play)
> -
> -   gtk_widget_set_sensitive (play->next_button, TRUE);
> -   gst_player_set_uri (play->player, prev->data);
> -+  clear_missing_plugins (play);
> -   gst_player_play (play->player);
> -   set_title (play, prev->data);
> -   gtk_widget_set_sensitive (play->prev_button, g_list_previous (prev) != NULL);
> -@@ -175,6 +185,7 @@ skip_next_clicked_cb (GtkButton * button, GtkPlay * play)
> -
> -   gtk_widget_set_sensitive (play->prev_button, TRUE);
> -   gst_player_set_uri (play->player, next->data);
> -+  clear_missing_plugins (play);
> -   gst_player_play (play->player);
> -   set_title (play, next->data);
> -   gtk_widget_set_sensitive (play->next_button, g_list_next (next) != NULL);
> -@@ -193,10 +204,16 @@ volume_changed_cb (GtkScaleButton * button, gdouble value, GtkPlay * play)
> -   gst_player_set_volume (play->player, value);
> - }
> -
> -+void
> -+info_bar_response_cb (GtkInfoBar * bar, gint response, GtkPlay * play)
> -+{
> -+  gtk_widget_hide (GTK_WIDGET (bar));
> -+}
> -+
> - static void
> - create_ui (GtkPlay * play)
> - {
> --  GtkWidget *controls, *main_hbox, *main_vbox;
> -+  GtkWidget *controls, *main_hbox, *main_vbox, *info_bar, *content_area;
> -
> -   play->window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
> -   g_signal_connect (G_OBJECT (play->window), "delete-event",
> -@@ -208,6 +225,20 @@ create_ui (GtkPlay * play)
> -   g_signal_connect (play->video_area, "realize",
> -       G_CALLBACK (video_area_realize_cb), play);
> -
> -+  play->info_bar = gtk_info_bar_new ();
> -+  gtk_info_bar_set_message_type (GTK_INFO_BAR (play->info_bar),
> -+      GTK_MESSAGE_WARNING);
> -+  //gtk_info_bar_set_show_close_button (GTK_INFO_BAR (play->info_bar),
> -+  //    TRUE);
> -+  gtk_widget_set_no_show_all (play->info_bar, TRUE);
> -+  g_signal_connect (play->info_bar, "response",
> -+      G_CALLBACK (info_bar_response_cb), play);
> -+
> -+  content_area = gtk_info_bar_get_content_area (GTK_INFO_BAR (play->info_bar));
> -+  play->info_label = gtk_label_new ("");
> -+  gtk_container_add (GTK_CONTAINER (content_area), play->info_label);
> -+  gtk_widget_show (play->info_label);
> -+
> -   /* Unified play/pause button */
> -   play->play_pause_button =
> -       gtk_button_new_from_icon_name ("media-playback-pause",
> -@@ -258,6 +289,7 @@ create_ui (GtkPlay * play)
> -
> -   main_vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0);
> -   gtk_box_pack_start (GTK_BOX (main_vbox), main_hbox, TRUE, TRUE, 0);
> -+  gtk_box_pack_start (GTK_BOX (main_vbox), play->info_bar, FALSE, FALSE, 0);
> -   gtk_box_pack_start (GTK_BOX (main_vbox), controls, FALSE, FALSE, 0);
> -   gtk_container_add (GTK_CONTAINER (play->window), main_vbox);
> -
> -@@ -322,6 +354,7 @@ eos_cb (GstPlayer * unused, GtkPlay * play)
> -       gtk_widget_set_sensitive (play->next_button, g_list_next (next) != NULL);
> -
> -       gst_player_set_uri (play->player, next->data);
> -+      clear_missing_plugins (play);
> -       gst_player_play (play->player);
> -       set_title (play, next->data);
> -     } else {
> -@@ -330,6 +363,24 @@ eos_cb (GstPlayer * unused, GtkPlay * play)
> -   }
> - }
> -
> -+static void
> -+error_cb (GstPlayer * player, GError * err, GtkPlay * play)
> -+{
> -+  char *message;
> -+
> -+  if (g_error_matches (err, gst_player_error_quark (),
> -+      GST_PLAYER_ERROR_MISSING_PLUGIN)) {
> -+    // add message to end of any existing message: there may be
> -+    // multiple missing plugins.
> -+    message = g_strdup_printf ("%s%s. ",
> -+        gtk_label_get_text (GTK_LABEL (play->info_label)), err->message);
> -+    gtk_label_set_text (GTK_LABEL (play->info_label), message);
> -+    g_free (message);
> -+
> -+    gtk_widget_show (play->info_bar);
> -+  }
> -+}
> -+
> - int
> - main (gint argc, gchar ** argv)
> - {
> -@@ -422,6 +473,7 @@ main (gint argc, gchar ** argv)
> -   g_signal_connect (play.player, "video-dimensions-changed",
> -       G_CALLBACK (video_dimensions_changed_cb), &play);
> -   g_signal_connect (play.player, "end-of-stream", G_CALLBACK (eos_cb), &play);
> -+  g_signal_connect (play.player, "error", G_CALLBACK (error_cb), &play);
> -
> -   /* We have file(s) that need playing. */
> -   set_title (&play, g_list_first (play.uris)->data);
> -diff --git a/lib/gst/player/gstplayer.c b/lib/gst/player/gstplayer.c
> -index bd682d9..78e7ba1 100644
> ---- a/lib/gst/player/gstplayer.c
> -+++ b/lib/gst/player/gstplayer.c
> -@@ -47,6 +47,7 @@
> -
> - #include <gst/gst.h>
> - #include <gst/video/video.h>
> -+#include <gst/pbutils/missing-plugins.h>
> -
> - GST_DEBUG_CATEGORY_STATIC (gst_player_debug);
> - #define GST_CAT_DEFAULT gst_player_debug
> -@@ -238,6 +239,7 @@ gst_player_class_init (GstPlayerClass * klass)
> -       g_signal_new ("video-dimensions-changed", G_TYPE_FROM_CLASS (klass),
> -       G_SIGNAL_RUN_LAST | G_SIGNAL_NO_RECURSE | G_SIGNAL_NO_HOOKS, 0, NULL,
> -       NULL, NULL, G_TYPE_NONE, 2, G_TYPE_INT, G_TYPE_INT);
> -+
> - }
> -
> - static void
> -@@ -619,6 +621,21 @@ error_cb (GstBus * bus, GstMessage * msg, gpointer user_data)
> -   g_mutex_unlock (&self->priv->lock);
> - }
> -
> -+static void
> -+element_cb (GstBus * bus, GstMessage * msg, gpointer user_data)
> -+{
> -+  GstPlayer *self = GST_PLAYER (user_data);
> -+
> -+  if (gst_is_missing_plugin_message (msg)) {
> -+    gchar *desc;
> -+
> -+    desc = gst_missing_plugin_message_get_description (msg);
> -+    emit_error (self, g_error_new (GST_PLAYER_ERROR,
> -+        GST_PLAYER_ERROR_MISSING_PLUGIN, "Missing plugin '%s'", desc));
> -+    g_free (desc);
> -+  }
> -+}
> -+
> - static gboolean
> - eos_dispatch (gpointer user_data)
> - {
> -@@ -1059,6 +1076,8 @@ gst_player_main (gpointer data)
> -       NULL, NULL);
> -   g_source_attach (bus_source, self->priv->context);
> -
> -+  g_signal_connect (G_OBJECT (bus), "message::element",
> -+      G_CALLBACK (element_cb), self);
> -   g_signal_connect (G_OBJECT (bus), "message::error", G_CALLBACK (error_cb),
> -       self);
> -   g_signal_connect (G_OBJECT (bus), "message::eos", G_CALLBACK (eos_cb), self);
> -@@ -1560,6 +1579,7 @@ gst_player_error_get_type (void)
> -   static gsize id = 0;
> -   static const GEnumValue values[] = {
> -     {C_ENUM (GST_PLAYER_ERROR_FAILED), "GST_PLAYER_ERROR_FAILED", "failed"},
> -+    {C_ENUM (GST_PLAYER_ERROR_MISSING_PLUGIN), "GST_PLAYER_ERROR_MISSING_PLUGIN", "missing-plugin"},
> -     {0, NULL, NULL}
> -   };
> -
> -@@ -1577,6 +1597,8 @@ gst_player_error_get_name (GstPlayerError error)
> -   switch (error) {
> -     case GST_PLAYER_ERROR_FAILED:
> -       return "failed";
> -+    case GST_PLAYER_ERROR_MISSING_PLUGIN:
> -+      return "missing-plugin";
> -   }
> -
> -   g_assert_not_reached ();
> -diff --git a/lib/gst/player/gstplayer.h b/lib/gst/player/gstplayer.h
> -index c438513..35fb5bb 100644
> ---- a/lib/gst/player/gstplayer.h
> -+++ b/lib/gst/player/gstplayer.h
> -@@ -44,7 +44,8 @@ GType        gst_player_error_get_type                (void);
> - #define      GST_TYPE_PLAYER_ERROR                    (gst_player_error_get_type ())
> -
> - typedef enum {
> --  GST_PLAYER_ERROR_FAILED = 0
> -+  GST_PLAYER_ERROR_FAILED = 0,
> -+  GST_PLAYER_ERROR_MISSING_PLUGIN
> - } GstPlayerError;
> -
> - const gchar *gst_player_error_get_name                (GstPlayerError error);
> ---
> -2.1.4
> -
> diff --git a/meta/recipes-multimedia/gstreamer/gst-player/Fix-pause-play.patch b/meta/recipes-multimedia/gstreamer/gst-player/Fix-pause-play.patch
> deleted file mode 100644
> index 783c42a..0000000
> --- a/meta/recipes-multimedia/gstreamer/gst-player/Fix-pause-play.patch
> +++ /dev/null
> @@ -1,107 +0,0 @@
> -Fix pause/play
> -
> -The current player state is now notified via the state-changed signal,
> -and in the GTK UI it was only used to keep track of the desired state.
> -
> -This is a backport of upstream commit 738479c7a0.
> -
> -Upstream-Status: Backport
> -Signed-off-by: Jussi Kukkonen <jussi.kukkonen at intel.com>
> -
> ----
> - gtk/gtk-play.c             |  8 ++++++--
> - lib/gst/player/gstplayer.c | 12 ------------
> - lib/gst/player/gstplayer.h |  2 --
> - 3 files changed, 6 insertions(+), 16 deletions(-)
> -
> -diff --git a/gtk/gtk-play.c b/gtk/gtk-play.c
> -index 6e7a098..e2b605a 100644
> ---- a/gtk/gtk-play.c
> -+++ b/gtk/gtk-play.c
> -@@ -34,6 +34,7 @@ typedef struct
> -   GtkWidget *info_bar;
> -   GtkWidget *volume_button;
> -   gulong seekbar_value_changed_signal_id;
> -+  gboolean playing;
> - } GtkPlay;
> -
> - /* Compat stubs */
> -@@ -118,12 +119,13 @@ play_pause_clicked_cb (GtkButton * button, GtkPlay * play)
> - {
> -   GtkWidget *image;
> -
> --  if (gst_player_is_playing (play->player)) {
> -+  if (play->playing) {
> -     gst_player_pause (play->player);
> -     image =
> -         gtk_image_new_from_icon_name ("media-playback-start",
> -         GTK_ICON_SIZE_BUTTON);
> -     gtk_button_set_image (GTK_BUTTON (play->play_pause_button), image);
> -+    play->playing = FALSE;
> -   } else {
> -     gchar *title;
> -
> -@@ -136,6 +138,7 @@ play_pause_clicked_cb (GtkButton * button, GtkPlay * play)
> -     title = gst_player_get_uri (play->player);
> -     set_title (play, title);
> -     g_free (title);
> -+    play->playing = TRUE;
> -   }
> - }
> -
> -@@ -335,7 +338,7 @@ video_dimensions_changed_cb (GstPlayer * unused, gint width, gint height,
> - static void
> - eos_cb (GstPlayer * unused, GtkPlay * play)
> - {
> --  if (gst_player_is_playing (play->player)) {
> -+  if (play->playing) {
> -     GList *next = NULL;
> -     gchar *uri;
> -
> -@@ -452,6 +455,7 @@ main (gint argc, gchar ** argv)
> -   }
> -
> -   play.player = gst_player_new ();
> -+  play.playing = TRUE;
> -
> -   g_object_set (play.player, "dispatch-to-main-context", TRUE, NULL);
> -
> -diff --git a/lib/gst/player/gstplayer.c b/lib/gst/player/gstplayer.c
> -index 069b284..78e7ba1 100644
> ---- a/lib/gst/player/gstplayer.c
> -+++ b/lib/gst/player/gstplayer.c
> -@@ -1422,18 +1422,6 @@ gst_player_set_uri (GstPlayer * self, const gchar * val)
> -   g_object_set (self, "uri", val, NULL);
> - }
> -
> --gboolean
> --gst_player_is_playing (GstPlayer * self)
> --{
> --  gboolean val;
> --
> --  g_return_val_if_fail (GST_IS_PLAYER (self), FALSE);
> --
> --  g_object_get (self, "is-playing", &val, NULL);
> --
> --  return val;
> --}
> --
> - GstClockTime
> - gst_player_get_position (GstPlayer * self)
> - {
> -diff --git a/lib/gst/player/gstplayer.h b/lib/gst/player/gstplayer.h
> -index 6933dd7..35fb5bb 100644
> ---- a/lib/gst/player/gstplayer.h
> -+++ b/lib/gst/player/gstplayer.h
> -@@ -93,8 +93,6 @@ gchar *      gst_player_get_uri                       (GstPlayer    * player);
> - void         gst_player_set_uri                       (GstPlayer    * player,
> -                                                        const gchar  * uri);
> -
> --gboolean     gst_player_is_playing                    (GstPlayer    * player);
> --
> - GstClockTime gst_player_get_position                  (GstPlayer    * player);
> - GstClockTime gst_player_get_duration                  (GstPlayer    * player);
> -
> ---
> -2.1.4
> -
> diff --git a/meta/recipes-multimedia/gstreamer/gst-player/filechooser.patch b/meta/recipes-multimedia/gstreamer/gst-player/filechooser.patch
> deleted file mode 100644
> index 7bf1b03..0000000
> --- a/meta/recipes-multimedia/gstreamer/gst-player/filechooser.patch
> +++ /dev/null
> @@ -1,54 +0,0 @@
> -Upstream-Status: Submitted
> -Signed-off-by: Ross Burton <ross.burton at intel.com>
> -
> -From 43d4b19ab611d844156e26c4840cc54ddb73ae03 Mon Sep 17 00:00:00 2001
> -From: Ross Burton <ross.burton at intel.com>
> -Date: Thu, 26 Feb 2015 17:17:05 +0000
> -Subject: [PATCH] gtk-play: show a file chooser if no URIs were passed
> -
> ----
> - gtk/gtk-play.c |   28 ++++++++++++++++++++++++++--
> - 1 file changed, 26 insertions(+), 2 deletions(-)
> -
> -diff --git a/gtk/gtk-play.c b/gtk/gtk-play.c
> -index f015077..9766a72 100644
> ---- a/gtk/gtk-play.c
> -+++ b/gtk/gtk-play.c
> -@@ -319,8 +319,32 @@ main (gint argc, gchar ** argv)
> -   // FIXME: Add support for playlists and stuff
> -   /* Parse the list of the file names we have to play. */
> -   if (!file_names) {
> --    g_print ("Usage: %s FILE(s)|URI(s)\n", APP_NAME);
> --    return 1;
> -+    GtkWidget *chooser;
> -+    int res;
> -+
> -+    chooser = gtk_file_chooser_dialog_new ("Select files to play", NULL,
> -+                                          GTK_FILE_CHOOSER_ACTION_OPEN,
> -+                                          "_Cancel", GTK_RESPONSE_CANCEL,
> -+                                          "_Open", GTK_RESPONSE_ACCEPT,
> -+                                          NULL);
> -+    g_object_set (chooser,
> -+                  "local-only", FALSE,
> -+                  "select-multiple", TRUE,
> -+                  NULL);
> -+
> -+    res = gtk_dialog_run (GTK_DIALOG (chooser));
> -+    if (res == GTK_RESPONSE_ACCEPT) {
> -+      GSList *l;
> -+
> -+      l = gtk_file_chooser_get_uris (GTK_FILE_CHOOSER (chooser));
> -+      while (l) {
> -+        play.uris = g_list_append (play.uris, l->data);
> -+        l = g_slist_delete_link (l, l);
> -+      }
> -+    } else {
> -+      return 0;
> -+    }
> -+    gtk_widget_destroy (chooser);
> -   } else {
> -     guint i;
> -
> ---
> -1.7.10.4
> -
> --
> 1.9.1
>
> --
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core at lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-core



More information about the Openembedded-core mailing list