* [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
* 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 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
* [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 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
* 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
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.