All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/2] gst-player: Update to latest GIT
@ 2015-06-03 14:47 Gary Thomas
  2015-06-03 14:47 ` [PATCH 1/2] " Gary Thomas
                   ` (2 more replies)
  0 siblings, 3 replies; 10+ messages in thread
From: Gary Thomas @ 2015-06-03 14:47 UTC (permalink / raw)
  To: openembedded-core; +Cc: Gary Thomas

These patches bring the gst-player up to date (2015-05-21)

Gary Thomas (2):
  Update to latest GIT
  gst-player: Remove obsolete patches (now in upstream)

 ...error-signal-emission-for-missing-plugins.patch | 252 ---------------------
 .../gstreamer/gst-player/Fix-pause-play.patch      | 107 ---------
 .../gstreamer/gst-player/filechooser.patch         |  54 -----
 .../gstreamer/gst-player/gtk2.patch                | 121 +++++++++-
 .../recipes-multimedia/gstreamer/gst-player_git.bb |   7 +-
 5 files changed, 112 insertions(+), 429 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

-- 
1.9.1



^ permalink raw reply	[flat|nested] 10+ messages in thread

* [PATCH 1/2] gst-player: Update to latest GIT
  2015-06-03 14:47 [PATCH 0/2] gst-player: Update to latest GIT Gary Thomas
@ 2015-06-03 14:47 ` Gary Thomas
  2015-06-03 14:57   ` Martin Jansa
  2015-06-03 15:21   ` Burton, Ross
  2015-06-03 14:47 ` [PATCH 2/2] gst-player: Remove obsolete patches (now in upstream) Gary Thomas
  2015-06-03 15:18 ` [PATCH 0/2] gst-player: Update to latest GIT Burton, Ross
  2 siblings, 2 replies; 10+ messages in thread
From: Gary Thomas @ 2015-06-03 14:47 UTC (permalink / raw)
  To: openembedded-core; +Cc: Gary Thomas

This patch brings gst-player up to a more recent version (2015-0-21)
Also, drop old patches which have been incorporated upstream.

Signed-off-by: Gary Thomas <gary@mlbassoc.com>
---
 .../gstreamer/gst-player/gtk2.patch                | 121 +++++++++++++++++++--
 .../recipes-multimedia/gstreamer/gst-player_git.bb |   7 +-
 2 files changed, 112 insertions(+), 16 deletions(-)

diff --git a/meta/recipes-multimedia/gstreamer/gst-player/gtk2.patch b/meta/recipes-multimedia/gstreamer/gst-player/gtk2.patch
index 2cd18bb..6cc8946 100644
--- a/meta/recipes-multimedia/gstreamer/gst-player/gtk2.patch
+++ b/meta/recipes-multimedia/gstreamer/gst-player/gtk2.patch
@@ -5,10 +5,10 @@ Upstream-Status: Inappropriate
 Signed-off-by: Ross Burton <ross.burton@intel.com>
 
 
-diff --git a/configure.ac b/configure.ac
-index b8af13b..90ab74c 100644
---- a/configure.ac
-+++ b/configure.ac
+Index: git/configure.ac
+===================================================================
+--- git.orig/configure.ac
++++ git/configure.ac
 @@ -60,7 +60,7 @@ AC_SUBST(GLIB_PREFIX)
  GST_PREFIX="`$PKG_CONFIG --variable=prefix gstreamer-1.0`"
  AC_SUBST(GST_PREFIX)
@@ -18,14 +18,15 @@ index b8af13b..90ab74c 100644
  AM_CONDITIONAL(HAVE_GTK, test "x$have_gtk" != "xno")
  
  GOBJECT_INTROSPECTION_CHECK([1.31.1])
-diff --git a/gtk/gtk-play.c b/gtk/gtk-play.c
-index f015077..954d6fb 100644
---- a/gtk/gtk-play.c
-+++ b/gtk/gtk-play.c
-@@ -34,6 +34,46 @@ typedef struct
-   gulong seekbar_value_changed_signal_id;
- } GtkPlay;
+Index: git/gtk/gtk-play.c
+===================================================================
+--- git.orig/gtk/gtk-play.c
++++ git/gtk/gtk-play.c
+@@ -98,6 +98,145 @@ enum
+ };
  
+ static void display_cover_art (GtkPlay * play, GstPlayerMediaInfo * media_info);
++ 
 +/* Compat stubs */
 +GtkWidget *
 +gtk_box_new (GtkOrientation orientation,
@@ -66,6 +67,104 @@ index f015077..954d6fb 100644
 +    return gtk_vscale_new_with_range (min, max, step);
 +  }
 +}
++
++/**
++ * gtk_window_close:
++ * @window: a #GtkWindow
++ *
++ * Requests that the window is closed, similar to what happens
++ * when a window manager close button is clicked.
++ *
++ * This function can be used with close buttons in custom
++ * titlebars.
++ *
++ * Since: 3.10
++ */
++void
++gtk_window_close (GtkWindow *window)
++{
++#if 0
++  if (!gtk_widget_get_realized (GTK_WIDGET (window)))
++    return;
++
++  window->priv->delete_event_handler = gdk_threads_add_idle (send_delete_event, window);
++  g_source_set_name_by_id (window->priv->delete_event_handler, "[gtk+] send_delete_event");
++#endif
++  gtk_widget_destroy(window);
++}
++
++/**
++ * gtk_widget_is_visible:
++ * @widget: a #GtkWidget
++ *
++ * Determines whether the widget and all its parents are marked as
++ * visible.
++ *
++ * This function does not check if the widget is obscured in any way.
++ *
++ * See also gtk_widget_get_visible() and gtk_widget_set_visible()
++ *
++ * Returns: %TRUE if the widget and all its parents are visible
++ *
++ * Since: 3.8
++ **/
++gboolean
++gtk_widget_is_visible (GtkWidget *widget)
++{
++  g_return_val_if_fail (GTK_IS_WIDGET (widget), FALSE);
++
++  while (widget)
++    {
++      //      GtkWidgetPrivate *priv = widget->priv;
++
++      if (!gtk_widget_get_visible(widget))
++        return FALSE;
++
++      //      widget = priv->parent;
++      widget = widget->parent;
++    }
++
++  return TRUE;
++}
++
++/**
++ * gtk_widget_get_allocated_width:
++ * @widget: the widget to query
++ *
++ * Returns the width that has currently been allocated to @widget.
++ * This function is intended to be used when implementing handlers
++ * for the #GtkWidget::draw function.
++ *
++ * Returns: the width of the @widget
++ **/
++int
++gtk_widget_get_allocated_width (GtkWidget *widget)
++{
++  g_return_val_if_fail (GTK_IS_WIDGET (widget), 0);
++
++  return widget->allocation.width;
++}
++
++/**
++ * gtk_widget_get_allocated_height:
++ * @widget: the widget to query
++ *
++ * Returns the height that has currently been allocated to @widget.
++ * This function is intended to be used when implementing handlers
++ * for the #GtkWidget::draw function.
++ *
++ * Returns: the height of the @widget
++ **/
++int
++gtk_widget_get_allocated_height (GtkWidget *widget)
++{
++  g_return_val_if_fail (GTK_IS_WIDGET (widget), 0);
++
++  return widget->allocation.height;
++}
++
++
++/* end compat stubs */
  
  static void
  set_title (GtkPlay * play, const gchar * title)
diff --git a/meta/recipes-multimedia/gstreamer/gst-player_git.bb b/meta/recipes-multimedia/gstreamer/gst-player_git.bb
index 54cfbbc..7a68284 100644
--- a/meta/recipes-multimedia/gstreamer/gst-player_git.bb
+++ b/meta/recipes-multimedia/gstreamer/gst-player_git.bb
@@ -1,18 +1,15 @@
 SUMMARY="GStreamer playback helper library and examples"
 
 LICENSE = "LGPL-2.0+"
-LIC_FILES_CHKSUM = "file://lib/gst/player/gstplayer.c;beginline=1;endline=19;md5=03aeca9d8295f811817909075a15ff65"
+LIC_FILES_CHKSUM = "file://lib/gst/player/gstplayer.c;beginline=1;endline=19;md5=e17548b76f29cc2fe3de3b61f9ff02d6"
 
 DEPENDS = "glib-2.0 gstreamer1.0 gstreamer1.0-plugins-base gtk+"
 
 SRC_URI = "git://github.com/sdroege/gst-player.git \
-           file://filechooser.patch \
            file://gtk2.patch \
-           file://Fix-pause-play.patch \
-           file://Add-error-signal-emission-for-missing-plugins.patch \
            file://gst-player.desktop"
 
-SRCREV = "5386c5b984d40ef5434673ed62204e69aaf52645"
+SRCREV = "88e04854ffbeffb5fa37073fb6c1922a49bd16e5"
 
 S = "${WORKDIR}/git"
 
-- 
1.9.1



^ permalink raw reply related	[flat|nested] 10+ messages in thread

* [PATCH 2/2] gst-player: Remove obsolete patches (now in upstream)
  2015-06-03 14:47 [PATCH 0/2] gst-player: Update to latest GIT Gary Thomas
  2015-06-03 14:47 ` [PATCH 1/2] " Gary Thomas
@ 2015-06-03 14:47 ` Gary Thomas
  2015-06-03 20:02   ` Jussi Kukkonen
  2015-06-03 15:18 ` [PATCH 0/2] gst-player: Update to latest GIT Burton, Ross
  2 siblings, 1 reply; 10+ messages in thread
From: Gary Thomas @ 2015-06-03 14:47 UTC (permalink / raw)
  To: openembedded-core; +Cc: Gary Thomas

Signed-off-by: Gary Thomas <gary@mlbassoc.com>
---
 ...error-signal-emission-for-missing-plugins.patch | 252 ---------------------
 .../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@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@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@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@intel.com>
-
-From 43d4b19ab611d844156e26c4840cc54ddb73ae03 Mon Sep 17 00:00:00 2001
-From: Ross Burton <ross.burton@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



^ permalink raw reply related	[flat|nested] 10+ messages in thread

* Re: [PATCH 1/2] gst-player: Update to latest GIT
  2015-06-03 14:47 ` [PATCH 1/2] " Gary Thomas
@ 2015-06-03 14:57   ` Martin Jansa
  2015-06-03 15:05     ` Gary Thomas
  2015-06-03 15:21   ` Burton, Ross
  1 sibling, 1 reply; 10+ messages in thread
From: Martin Jansa @ 2015-06-03 14:57 UTC (permalink / raw)
  To: Gary Thomas; +Cc: openembedded-core

On Wed, Jun 03, 2015 at 08:47:46AM -0600, Gary Thomas wrote:
> This patch brings gst-player up to a more recent version (2015-0-21)
> Also, drop old patches which have been incorporated upstream.

2015-0-21?

> 
> Signed-off-by: Gary Thomas <gary@mlbassoc.com>
> ---
>  .../gstreamer/gst-player/gtk2.patch                | 121 +++++++++++++++++++--
>  .../recipes-multimedia/gstreamer/gst-player_git.bb |   7 +-
>  2 files changed, 112 insertions(+), 16 deletions(-)
> 
> diff --git a/meta/recipes-multimedia/gstreamer/gst-player/gtk2.patch b/meta/recipes-multimedia/gstreamer/gst-player/gtk2.patch
> index 2cd18bb..6cc8946 100644
> --- a/meta/recipes-multimedia/gstreamer/gst-player/gtk2.patch
> +++ b/meta/recipes-multimedia/gstreamer/gst-player/gtk2.patch
> @@ -5,10 +5,10 @@ Upstream-Status: Inappropriate
>  Signed-off-by: Ross Burton <ross.burton@intel.com>
>  
>  
> -diff --git a/configure.ac b/configure.ac
> -index b8af13b..90ab74c 100644
> ---- a/configure.ac
> -+++ b/configure.ac
> +Index: git/configure.ac
> +===================================================================
> +--- git.orig/configure.ac
> ++++ git/configure.ac
>  @@ -60,7 +60,7 @@ AC_SUBST(GLIB_PREFIX)
>   GST_PREFIX="`$PKG_CONFIG --variable=prefix gstreamer-1.0`"
>   AC_SUBST(GST_PREFIX)
> @@ -18,14 +18,15 @@ index b8af13b..90ab74c 100644
>   AM_CONDITIONAL(HAVE_GTK, test "x$have_gtk" != "xno")
>   
>   GOBJECT_INTROSPECTION_CHECK([1.31.1])
> -diff --git a/gtk/gtk-play.c b/gtk/gtk-play.c
> -index f015077..954d6fb 100644
> ---- a/gtk/gtk-play.c
> -+++ b/gtk/gtk-play.c
> -@@ -34,6 +34,46 @@ typedef struct
> -   gulong seekbar_value_changed_signal_id;
> - } GtkPlay;
> +Index: git/gtk/gtk-play.c
> +===================================================================
> +--- git.orig/gtk/gtk-play.c
> ++++ git/gtk/gtk-play.c
> +@@ -98,6 +98,145 @@ enum
> + };
>   
> + static void display_cover_art (GtkPlay * play, GstPlayerMediaInfo * media_info);
> ++ 
>  +/* Compat stubs */
>  +GtkWidget *
>  +gtk_box_new (GtkOrientation orientation,
> @@ -66,6 +67,104 @@ index f015077..954d6fb 100644
>  +    return gtk_vscale_new_with_range (min, max, step);
>  +  }
>  +}
> ++
> ++/**
> ++ * gtk_window_close:
> ++ * @window: a #GtkWindow
> ++ *
> ++ * Requests that the window is closed, similar to what happens
> ++ * when a window manager close button is clicked.
> ++ *
> ++ * This function can be used with close buttons in custom
> ++ * titlebars.
> ++ *
> ++ * Since: 3.10
> ++ */
> ++void
> ++gtk_window_close (GtkWindow *window)
> ++{
> ++#if 0
> ++  if (!gtk_widget_get_realized (GTK_WIDGET (window)))
> ++    return;
> ++
> ++  window->priv->delete_event_handler = gdk_threads_add_idle (send_delete_event, window);
> ++  g_source_set_name_by_id (window->priv->delete_event_handler, "[gtk+] send_delete_event");
> ++#endif
> ++  gtk_widget_destroy(window);
> ++}
> ++
> ++/**
> ++ * gtk_widget_is_visible:
> ++ * @widget: a #GtkWidget
> ++ *
> ++ * Determines whether the widget and all its parents are marked as
> ++ * visible.
> ++ *
> ++ * This function does not check if the widget is obscured in any way.
> ++ *
> ++ * See also gtk_widget_get_visible() and gtk_widget_set_visible()
> ++ *
> ++ * Returns: %TRUE if the widget and all its parents are visible
> ++ *
> ++ * Since: 3.8
> ++ **/
> ++gboolean
> ++gtk_widget_is_visible (GtkWidget *widget)
> ++{
> ++  g_return_val_if_fail (GTK_IS_WIDGET (widget), FALSE);
> ++
> ++  while (widget)
> ++    {
> ++      //      GtkWidgetPrivate *priv = widget->priv;
> ++
> ++      if (!gtk_widget_get_visible(widget))
> ++        return FALSE;
> ++
> ++      //      widget = priv->parent;
> ++      widget = widget->parent;
> ++    }
> ++
> ++  return TRUE;
> ++}
> ++
> ++/**
> ++ * gtk_widget_get_allocated_width:
> ++ * @widget: the widget to query
> ++ *
> ++ * Returns the width that has currently been allocated to @widget.
> ++ * This function is intended to be used when implementing handlers
> ++ * for the #GtkWidget::draw function.
> ++ *
> ++ * Returns: the width of the @widget
> ++ **/
> ++int
> ++gtk_widget_get_allocated_width (GtkWidget *widget)
> ++{
> ++  g_return_val_if_fail (GTK_IS_WIDGET (widget), 0);
> ++
> ++  return widget->allocation.width;
> ++}
> ++
> ++/**
> ++ * gtk_widget_get_allocated_height:
> ++ * @widget: the widget to query
> ++ *
> ++ * Returns the height that has currently been allocated to @widget.
> ++ * This function is intended to be used when implementing handlers
> ++ * for the #GtkWidget::draw function.
> ++ *
> ++ * Returns: the height of the @widget
> ++ **/
> ++int
> ++gtk_widget_get_allocated_height (GtkWidget *widget)
> ++{
> ++  g_return_val_if_fail (GTK_IS_WIDGET (widget), 0);
> ++
> ++  return widget->allocation.height;
> ++}
> ++
> ++
> ++/* end compat stubs */
>   
>   static void
>   set_title (GtkPlay * play, const gchar * title)
> diff --git a/meta/recipes-multimedia/gstreamer/gst-player_git.bb b/meta/recipes-multimedia/gstreamer/gst-player_git.bb
> index 54cfbbc..7a68284 100644
> --- a/meta/recipes-multimedia/gstreamer/gst-player_git.bb
> +++ b/meta/recipes-multimedia/gstreamer/gst-player_git.bb
> @@ -1,18 +1,15 @@
>  SUMMARY="GStreamer playback helper library and examples"
>  
>  LICENSE = "LGPL-2.0+"
> -LIC_FILES_CHKSUM = "file://lib/gst/player/gstplayer.c;beginline=1;endline=19;md5=03aeca9d8295f811817909075a15ff65"
> +LIC_FILES_CHKSUM = "file://lib/gst/player/gstplayer.c;beginline=1;endline=19;md5=e17548b76f29cc2fe3de3b61f9ff02d6"
>  
>  DEPENDS = "glib-2.0 gstreamer1.0 gstreamer1.0-plugins-base gtk+"
>  
>  SRC_URI = "git://github.com/sdroege/gst-player.git \
> -           file://filechooser.patch \
>             file://gtk2.patch \
> -           file://Fix-pause-play.patch \
> -           file://Add-error-signal-emission-for-missing-plugins.patch \

Are these .patch files used somewhere else? If not then delete them in
the same commit.

>             file://gst-player.desktop"
>  
> -SRCREV = "5386c5b984d40ef5434673ed62204e69aaf52645"
> +SRCREV = "88e04854ffbeffb5fa37073fb6c1922a49bd16e5"
>  
>  S = "${WORKDIR}/git"
>  
> -- 
> 1.9.1
> 
> -- 
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core@lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-core

-- 
Martin 'JaMa' Jansa     jabber: Martin.Jansa@gmail.com


^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH 1/2] gst-player: Update to latest GIT
  2015-06-03 14:57   ` Martin Jansa
@ 2015-06-03 15:05     ` Gary Thomas
  0 siblings, 0 replies; 10+ messages in thread
From: Gary Thomas @ 2015-06-03 15:05 UTC (permalink / raw)
  To: Martin Jansa; +Cc: openembedded-core

On 2015-06-03 08:57, Martin Jansa wrote:
> On Wed, Jun 03, 2015 at 08:47:46AM -0600, Gary Thomas wrote:
>> This patch brings gst-player up to a more recent version (2015-0-21)
>> Also, drop old patches which have been incorporated upstream.
>
> 2015-0-21?

Oops - it's correct in the cover letter 2015-05-21

>
>>
>> Signed-off-by: Gary Thomas <gary@mlbassoc.com>
>> ---
>>   .../gstreamer/gst-player/gtk2.patch                | 121 +++++++++++++++++++--
>>   .../recipes-multimedia/gstreamer/gst-player_git.bb |   7 +-
>>   2 files changed, 112 insertions(+), 16 deletions(-)
>>
>> diff --git a/meta/recipes-multimedia/gstreamer/gst-player/gtk2.patch b/meta/recipes-multimedia/gstreamer/gst-player/gtk2.patch
>> index 2cd18bb..6cc8946 100644
>> --- a/meta/recipes-multimedia/gstreamer/gst-player/gtk2.patch
>> +++ b/meta/recipes-multimedia/gstreamer/gst-player/gtk2.patch
>> @@ -5,10 +5,10 @@ Upstream-Status: Inappropriate
>>   Signed-off-by: Ross Burton <ross.burton@intel.com>
>>
>>
>> -diff --git a/configure.ac b/configure.ac
>> -index b8af13b..90ab74c 100644
>> ---- a/configure.ac
>> -+++ b/configure.ac
>> +Index: git/configure.ac
>> +===================================================================
>> +--- git.orig/configure.ac
>> ++++ git/configure.ac
>>   @@ -60,7 +60,7 @@ AC_SUBST(GLIB_PREFIX)
>>    GST_PREFIX="`$PKG_CONFIG --variable=prefix gstreamer-1.0`"
>>    AC_SUBST(GST_PREFIX)
>> @@ -18,14 +18,15 @@ index b8af13b..90ab74c 100644
>>    AM_CONDITIONAL(HAVE_GTK, test "x$have_gtk" != "xno")
>>
>>    GOBJECT_INTROSPECTION_CHECK([1.31.1])
>> -diff --git a/gtk/gtk-play.c b/gtk/gtk-play.c
>> -index f015077..954d6fb 100644
>> ---- a/gtk/gtk-play.c
>> -+++ b/gtk/gtk-play.c
>> -@@ -34,6 +34,46 @@ typedef struct
>> -   gulong seekbar_value_changed_signal_id;
>> - } GtkPlay;
>> +Index: git/gtk/gtk-play.c
>> +===================================================================
>> +--- git.orig/gtk/gtk-play.c
>> ++++ git/gtk/gtk-play.c
>> +@@ -98,6 +98,145 @@ enum
>> + };
>>
>> + static void display_cover_art (GtkPlay * play, GstPlayerMediaInfo * media_info);
>> ++
>>   +/* Compat stubs */
>>   +GtkWidget *
>>   +gtk_box_new (GtkOrientation orientation,
>> @@ -66,6 +67,104 @@ index f015077..954d6fb 100644
>>   +    return gtk_vscale_new_with_range (min, max, step);
>>   +  }
>>   +}
>> ++
>> ++/**
>> ++ * gtk_window_close:
>> ++ * @window: a #GtkWindow
>> ++ *
>> ++ * Requests that the window is closed, similar to what happens
>> ++ * when a window manager close button is clicked.
>> ++ *
>> ++ * This function can be used with close buttons in custom
>> ++ * titlebars.
>> ++ *
>> ++ * Since: 3.10
>> ++ */
>> ++void
>> ++gtk_window_close (GtkWindow *window)
>> ++{
>> ++#if 0
>> ++  if (!gtk_widget_get_realized (GTK_WIDGET (window)))
>> ++    return;
>> ++
>> ++  window->priv->delete_event_handler = gdk_threads_add_idle (send_delete_event, window);
>> ++  g_source_set_name_by_id (window->priv->delete_event_handler, "[gtk+] send_delete_event");
>> ++#endif
>> ++  gtk_widget_destroy(window);
>> ++}
>> ++
>> ++/**
>> ++ * gtk_widget_is_visible:
>> ++ * @widget: a #GtkWidget
>> ++ *
>> ++ * Determines whether the widget and all its parents are marked as
>> ++ * visible.
>> ++ *
>> ++ * This function does not check if the widget is obscured in any way.
>> ++ *
>> ++ * See also gtk_widget_get_visible() and gtk_widget_set_visible()
>> ++ *
>> ++ * Returns: %TRUE if the widget and all its parents are visible
>> ++ *
>> ++ * Since: 3.8
>> ++ **/
>> ++gboolean
>> ++gtk_widget_is_visible (GtkWidget *widget)
>> ++{
>> ++  g_return_val_if_fail (GTK_IS_WIDGET (widget), FALSE);
>> ++
>> ++  while (widget)
>> ++    {
>> ++      //      GtkWidgetPrivate *priv = widget->priv;
>> ++
>> ++      if (!gtk_widget_get_visible(widget))
>> ++        return FALSE;
>> ++
>> ++      //      widget = priv->parent;
>> ++      widget = widget->parent;
>> ++    }
>> ++
>> ++  return TRUE;
>> ++}
>> ++
>> ++/**
>> ++ * gtk_widget_get_allocated_width:
>> ++ * @widget: the widget to query
>> ++ *
>> ++ * Returns the width that has currently been allocated to @widget.
>> ++ * This function is intended to be used when implementing handlers
>> ++ * for the #GtkWidget::draw function.
>> ++ *
>> ++ * Returns: the width of the @widget
>> ++ **/
>> ++int
>> ++gtk_widget_get_allocated_width (GtkWidget *widget)
>> ++{
>> ++  g_return_val_if_fail (GTK_IS_WIDGET (widget), 0);
>> ++
>> ++  return widget->allocation.width;
>> ++}
>> ++
>> ++/**
>> ++ * gtk_widget_get_allocated_height:
>> ++ * @widget: the widget to query
>> ++ *
>> ++ * Returns the height that has currently been allocated to @widget.
>> ++ * This function is intended to be used when implementing handlers
>> ++ * for the #GtkWidget::draw function.
>> ++ *
>> ++ * Returns: the height of the @widget
>> ++ **/
>> ++int
>> ++gtk_widget_get_allocated_height (GtkWidget *widget)
>> ++{
>> ++  g_return_val_if_fail (GTK_IS_WIDGET (widget), 0);
>> ++
>> ++  return widget->allocation.height;
>> ++}
>> ++
>> ++
>> ++/* end compat stubs */
>>
>>    static void
>>    set_title (GtkPlay * play, const gchar * title)
>> diff --git a/meta/recipes-multimedia/gstreamer/gst-player_git.bb b/meta/recipes-multimedia/gstreamer/gst-player_git.bb
>> index 54cfbbc..7a68284 100644
>> --- a/meta/recipes-multimedia/gstreamer/gst-player_git.bb
>> +++ b/meta/recipes-multimedia/gstreamer/gst-player_git.bb
>> @@ -1,18 +1,15 @@
>>   SUMMARY="GStreamer playback helper library and examples"
>>
>>   LICENSE = "LGPL-2.0+"
>> -LIC_FILES_CHKSUM = "file://lib/gst/player/gstplayer.c;beginline=1;endline=19;md5=03aeca9d8295f811817909075a15ff65"
>> +LIC_FILES_CHKSUM = "file://lib/gst/player/gstplayer.c;beginline=1;endline=19;md5=e17548b76f29cc2fe3de3b61f9ff02d6"
>>
>>   DEPENDS = "glib-2.0 gstreamer1.0 gstreamer1.0-plugins-base gtk+"
>>
>>   SRC_URI = "git://github.com/sdroege/gst-player.git \
>> -           file://filechooser.patch \
>>              file://gtk2.patch \
>> -           file://Fix-pause-play.patch \
>> -           file://Add-error-signal-emission-for-missing-plugins.patch \
>
> Are these .patch files used somewhere else? If not then delete them in
> the same commit.
>
>>              file://gst-player.desktop"
>>
>> -SRCREV = "5386c5b984d40ef5434673ed62204e69aaf52645"
>> +SRCREV = "88e04854ffbeffb5fa37073fb6c1922a49bd16e5"
>>
>>   S = "${WORKDIR}/git"
>>
>> --
>> 1.9.1
>>
>> --
>> _______________________________________________
>> Openembedded-core mailing list
>> Openembedded-core@lists.openembedded.org
>> http://lists.openembedded.org/mailman/listinfo/openembedded-core
>

-- 
------------------------------------------------------------
Gary Thomas                 |  Consulting for the
MLB Associates              |    Embedded world
------------------------------------------------------------


^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH 0/2] gst-player: Update to latest GIT
  2015-06-03 14:47 [PATCH 0/2] gst-player: Update to latest GIT Gary Thomas
  2015-06-03 14:47 ` [PATCH 1/2] " Gary Thomas
  2015-06-03 14:47 ` [PATCH 2/2] gst-player: Remove obsolete patches (now in upstream) Gary Thomas
@ 2015-06-03 15:18 ` Burton, Ross
  2015-06-03 15:18   ` Burton, Ross
  2 siblings, 1 reply; 10+ messages in thread
From: Burton, Ross @ 2015-06-03 15:18 UTC (permalink / raw)
  To: Gary Thomas; +Cc: OE-core

[-- Attachment #1: Type: text/plain, Size: 261 bytes --]

On 3 June 2015 at 15:47, Gary Thomas <gary@mlbassoc.com> wrote:

> Gary Thomas (2):
>   Update to latest GIT
>   gst-player: Remove obsolete patches (now in upstream)
>

This should be one patch, and for some reason 2/2 is nowhere to be seen...

Ross

[-- Attachment #2: Type: text/html, Size: 667 bytes --]

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH 0/2] gst-player: Update to latest GIT
  2015-06-03 15:18 ` [PATCH 0/2] gst-player: Update to latest GIT Burton, Ross
@ 2015-06-03 15:18   ` Burton, Ross
  0 siblings, 0 replies; 10+ messages in thread
From: Burton, Ross @ 2015-06-03 15:18 UTC (permalink / raw)
  To: Gary Thomas; +Cc: OE-core

[-- Attachment #1: Type: text/plain, Size: 233 bytes --]

On 3 June 2015 at 16:18, Burton, Ross <ross.burton@intel.com> wrote:

> This should be one patch, and for some reason 2/2 is nowhere to be seen...
>

It finally arrived in my inbox...

I'll squash these when merging.

Ross

[-- Attachment #2: Type: text/html, Size: 621 bytes --]

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH 1/2] gst-player: Update to latest GIT
  2015-06-03 14:47 ` [PATCH 1/2] " Gary Thomas
  2015-06-03 14:57   ` Martin Jansa
@ 2015-06-03 15:21   ` Burton, Ross
  1 sibling, 0 replies; 10+ messages in thread
From: Burton, Ross @ 2015-06-03 15:21 UTC (permalink / raw)
  To: Gary Thomas; +Cc: OE-core

[-- Attachment #1: Type: text/plain, Size: 380 bytes --]

On 3 June 2015 at 15:47, Gary Thomas <gary@mlbassoc.com> wrote:

> -LIC_FILES_CHKSUM =
> "file://lib/gst/player/gstplayer.c;beginline=1;endline=19;md5=03aeca9d8295f811817909075a15ff65"
> +LIC_FILES_CHKSUM =
> "file://lib/gst/player/gstplayer.c;beginline=1;endline=19;md5=e17548b76f29cc2fe3de3b61f9ff02d6"
>

Please explain why this was changed in the commit log.

Ross

[-- Attachment #2: Type: text/html, Size: 795 bytes --]

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH 2/2] gst-player: Remove obsolete patches (now in upstream)
  2015-06-03 14:47 ` [PATCH 2/2] gst-player: Remove obsolete patches (now in upstream) Gary Thomas
@ 2015-06-03 20:02   ` Jussi Kukkonen
  2015-06-03 21:01     ` Gary Thomas
  0 siblings, 1 reply; 10+ messages in thread
From: Jussi Kukkonen @ 2015-06-03 20:02 UTC (permalink / raw)
  To: Gary Thomas; +Cc: Patches and discussions about the oe-core layer

On 3 June 2015 at 17:47, Gary Thomas <gary@mlbassoc.com> wrote:
> Signed-off-by: Gary Thomas <gary@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@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@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@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@intel.com>
> -
> -From 43d4b19ab611d844156e26c4840cc54ddb73ae03 Mon Sep 17 00:00:00 2001
> -From: Ross Burton <ross.burton@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@lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-core


^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH 2/2] gst-player: Remove obsolete patches (now in upstream)
  2015-06-03 20:02   ` Jussi Kukkonen
@ 2015-06-03 21:01     ` Gary Thomas
  0 siblings, 0 replies; 10+ messages in thread
From: Gary Thomas @ 2015-06-03 21:01 UTC (permalink / raw)
  To: Jussi Kukkonen; +Cc: Patches and discussions about the oe-core layer

On 2015-06-03 14:02, Jussi Kukkonen wrote:
> On 3 June 2015 at 17:47, Gary Thomas <gary@mlbassoc.com> wrote:
>> Signed-off-by: Gary Thomas <gary@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...

Pretty sure, but I'll check before I send out version2.

>>   .../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@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@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@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@intel.com>
>> -
>> -From 43d4b19ab611d844156e26c4840cc54ddb73ae03 Mon Sep 17 00:00:00 2001
>> -From: Ross Burton <ross.burton@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@lists.openembedded.org
>> http://lists.openembedded.org/mailman/listinfo/openembedded-core

-- 
------------------------------------------------------------
Gary Thomas                 |  Consulting for the
MLB Associates              |    Embedded world
------------------------------------------------------------


^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2015-06-03 21:00 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-06-03 14:47 [PATCH 0/2] gst-player: Update to latest GIT Gary Thomas
2015-06-03 14:47 ` [PATCH 1/2] " Gary Thomas
2015-06-03 14:57   ` Martin Jansa
2015-06-03 15:05     ` Gary Thomas
2015-06-03 15:21   ` Burton, Ross
2015-06-03 14:47 ` [PATCH 2/2] gst-player: Remove obsolete patches (now in upstream) Gary Thomas
2015-06-03 20:02   ` Jussi Kukkonen
2015-06-03 21:01     ` Gary Thomas
2015-06-03 15:18 ` [PATCH 0/2] gst-player: Update to latest GIT Burton, Ross
2015-06-03 15:18   ` Burton, Ross

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.