Hello community, here is the log from the commit of package frogr for openSUSE:Factory checked in at 2013-03-12 17:12:03 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/frogr (Old) and /work/SRC/openSUSE:Factory/.frogr.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "frogr", Maintainer is "" Changes: -------- --- /work/SRC/openSUSE:Factory/frogr/frogr.changes 2012-06-29 15:15:58.000000000 +0200 +++ /work/SRC/openSUSE:Factory/.frogr.new/frogr.changes 2013-03-12 17:13:49.000000000 +0100 @@ -1,0 +2,52 @@ +Thu Jan 24 18:26:52 UTC 2013 - [email protected] + +- Update to version 0.8: + + Added support for uploading videos (formats supported by Flickr + only). + + Added new 'All' and 'Video' filters to the file chooser dialog. + + Added support for saving and loading 'projects'. + + Added new items to the toolbar ('Open' and 'Save' for projects) + + Ported to GtkApplication and GMenu (both the app menu and menu + bar). + + Allow sorting elements in the icon view by size. + + Don't give up on upload too early and retry some times when + possible. + + Report errors better, and more often. + + Make after-upload operations cancellable, repeatable and + parallelizable. + + Properly check and report whether an user is actually connected + to flickr. + + Avoid fetching sets/groups/tags when not connected yet to + Flickr. + + Renamed the 'Actions' menu to 'Edit' and brought the 'File' + menu back. + + Renamed the 'Load Pictures' item to 'Add Pictures' + + Updated menu item accelerators and shortcuts. + + Hide title bar when main window is maximized. + + Migrated from GtkTable to GtkGrid. + + Raised glib minimum version up to 2.32. + + Raised gtk+ minimum version up to 3.4. + + Ported the Mac OS X version from GTK+ 2.24 to to GTK+ 3.6. + + Created a JHBuild's moduleset to easily build frogr for Mac OS + X. + + Stop using gtk-mac-integration, now we have migrated to GMenu. + + As usual, other minor improvements, bug fixes and cleanups. + + Bug fixes: bgo#663352, bgo#687741, bgo#675540, bgo#684501, + bgo#690415, bgo#690416. + + Updated translations. +- Add pkgconfig(json-glib-1.0) BuildRequires: New dependency. +- Drop preferences-general.png source/hack, fixed upstream. +- Add frogr-port-to-gst_1.0.patch: Port to GStreamer 1.0 + (bgo#693230). Only apply for 12.3 and newer, allowing this + version still to be built for 12.2. +- Add conditional pkgconfig(gstreamer-1.0) or + pkgconfig(gstreamer-0.10) BuildRequires, new dependency for + either the upstream codebase or the Port to GStreamer 1.0 patch +- Add automake BuildRequires and call to autoreconf as + frogr-port-to-gst_1.0.patch touches the build system. +- Drop the favor_gtk2 conditional construct: Frogr now only + supports GTK+ 3.0. +- Simplify post/postun scriptlets by removing conditions for + openSUSE <= 11.3. + +------------------------------------------------------------------- Old: ---- frogr-0.7.tar.xz preferences-general.png New: ---- frogr-0.8.tar.xz frogr-port-to-gst_1.0.patch ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ frogr.spec ++++++ --- /var/tmp/diff_new_pack.Bq29gJ/_old 2013-03-12 17:13:54.000000000 +0100 +++ /var/tmp/diff_new_pack.Bq29gJ/_new 2013-03-12 17:13:54.000000000 +0100 @@ -1,7 +1,7 @@ # # spec file for package frogr # -# Copyright (c) 2012 SUSE LINUX Products GmbH, Nuernberg, Germany. +# Copyright (c) 2013 SUSE LINUX Products GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -17,24 +17,29 @@ Name: frogr -Version: 0.7 +Version: 0.8 Release: 0 Summary: Tool to Manage Flickr Accounts License: GPL-3.0 Group: Productivity/Graphics/Other Url: https://live.gnome.org/Frogr -Source: http://download.gnome.org/sources/frogr/0.7/%{name}-%{version}.tar.xz -Source1: preferences-general.png +Source: http://download.gnome.org/sources/frogr/0.8/%{name}-%{version}.tar.xz +# PATCH-FIX-UPSTREAM frogr-port-to-gst_1.0.patch bgo#693230 [email protected] -- Port to gstreamer-1.0 +Patch0: frogr-port-to-gst_1.0.patch BuildRequires: gnome-doc-utils-devel >= 0.10.13 BuildRequires: intltool BuildRequires: libgcrypt-devel BuildRequires: update-desktop-files -BuildRequires: pkgconfig(glib-2.0) >= 2.22 -%if 0%{?favor_gtk2} -BuildRequires: pkgconfig(gtk+-2.0) >= 2.16 +BuildRequires: pkgconfig(glib-2.0) >= 2.32 +%if 0%{?suse_version} > 1220 +## Needed due to patch 0 +BuildRequires: automake +BuildRequires: pkgconfig(gstreamer-1.0) %else -BuildRequires: pkgconfig(gtk+-3.0) >= 3.0 +BuildRequires: pkgconfig(gstreamer-0.10) %endif +BuildRequires: pkgconfig(gtk+-3.0) >= 3.0 +BuildRequires: pkgconfig(json-glib-1.0) >= 0.12 BuildRequires: pkgconfig(libexif) BuildRequires: pkgconfig(libsoup-2.4) >= 2.26 BuildRequires: pkgconfig(libxml-2.0) @@ -50,11 +55,16 @@ %lang_package %prep %setup -q -# deal with picture from tarball; fixed in git -test ! -f help/C/figures/preferences-general.png -cp -a %{SOURCE1} help/C/figures/preferences-general.png +%if 0%{?suse_version} > 1220 +%patch0 -p1 +%endif %build +## Needed due to patch0 +%if 0%{?suse_version} > 1220 +mkdir m4 +autoreconf -fiv +%endif %configure make %{?_smp_mflags} @@ -67,20 +77,12 @@ %{?buildroot:rm -rf %{buildroot}} %post -%if 0%{?suse_version} > 1130 %desktop_database_post %icon_theme_cache_post -%else -gtk-update-icon-cache %{_datadir}/icons/hicolor || true -%endif %postun -%if 0%{?suse_version} > 1130 %desktop_database_postun %icon_theme_cache_postun -%else -gtk-update-icon-cache %{_datadir}/icons/hicolor || true -%endif %files %defattr(-,root,root) ++++++ frogr-0.7.tar.xz -> frogr-0.8.tar.xz ++++++ ++++ 63632 lines of diff (skipped) ++++++ frogr-port-to-gst_1.0.patch ++++++ From 6de141ff9ee8014df26d67d8de4e6d62826f5d5c Mon Sep 17 00:00:00 2001 From: Dominique Leuenberger <[email protected]> Date: Wed, 6 Feb 2013 00:20:55 +0100 Subject: [PATCH] Port to GStreamer 1.0 https://bugzilla.gnome.org/show_bug.cgi?id=693230 --- configure.ac | 4 ++-- src/frogr-util.c | 56 ++++++++++---------------------------------------------- 2 files changed, 12 insertions(+), 48 deletions(-) diff --git a/configure.ac b/configure.ac index 5b1622c..a520f60 100644 --- a/configure.ac +++ b/configure.ac @@ -38,8 +38,8 @@ PKG_CHECK_MODULES(LIBXML2, libxml-2.0 >= $LIBXML2_MIN_VERSION) FROGR_CFLAGS="$FROGR_CFLAGS $LIBXML2_CFLAGS" FROGR_LIBS="$FROGR_LIBS $LIBXML2_LIBS" -GSTREAMER_MIN_VERSION=0.10 -PKG_CHECK_MODULES(GSTREAMER, gstreamer-0.10 >= $GSTREAMER_MIN_VERSION) +GSTREAMER_MIN_VERSION=1.0 +PKG_CHECK_MODULES(GSTREAMER, gstreamer-1.0 >= $GSTREAMER_MIN_VERSION) FROGR_CFLAGS="$FROGR_CFLAGS $GSTREAMER_CFLAGS" FROGR_LIBS="$FROGR_LIBS $GSTREAMER_LIBS" diff --git a/src/frogr-util.c b/src/frogr-util.c index 8d59b84..d10bd98 100644 --- a/src/frogr-util.c +++ b/src/frogr-util.c @@ -28,6 +28,7 @@ #include <glib/gi18n.h> #include <gtk/gtk.h> #include <gst/gst.h> +#include <gst/base/gstbasesink.h> #include <libexif/exif-byte-order.h> #include <libexif/exif-data.h> #include <libexif/exif-entry.h> @@ -35,7 +36,8 @@ #include <libexif/exif-loader.h> #include <libexif/exif-tag.h> -#define CAPS "video/x-raw-rgb,width=160,pixel-aspect-ratio=1/1,bpp=(int)24,depth=(int)24,endianness=(int)4321,red_mask=(int)0xff0000, green_mask=(int)0x00ff00, blue_mask=(int)0x0000ff" +#define CAPS "video/x-raw,format=RGB,width=160,pixel-aspect-ratio=1/1" +#define PREROLL_TIMEOUT (5*GST_SECOND) static gboolean _spawn_command (const gchar* cmd) @@ -370,20 +372,16 @@ _get_pixbuf_from_video_file (GFile *file, GError **out_error) { GdkPixbuf *pixbuf = NULL; GstElement *pipeline, *sink; - GstBuffer *buffer; - GstFormat format; - GstStateChangeReturn ret; + GstStateChangeReturn ret, sret; gchar *file_uri; gchar *descr; - gint width, height; gint64 duration, position; GError *error = NULL; - gboolean res; /* create a new pipeline */ file_uri = g_file_get_uri (file); - descr = g_strdup_printf ("uridecodebin uri=%s ! ffmpegcolorspace ! videoscale ! " - " appsink name=sink caps=\"" CAPS "\"", file_uri); + descr = g_strdup_printf ("uridecodebin uri=%s ! videoconvert ! videoscale " + " ! " CAPS " ! gdkpixbufsink name=sink", file_uri); g_free (file_uri); pipeline = gst_parse_launch (descr, &error); @@ -423,8 +421,7 @@ _get_pixbuf_from_video_file (GFile *file, GError **out_error) } /* get the duration */ - format = GST_FORMAT_TIME; - gst_element_query_duration (pipeline, &format, &duration); + gst_element_query_duration (pipeline, GST_FORMAT_TIME, &duration); if (duration != -1) /* we have a duration, seek to 50% */ @@ -439,43 +436,10 @@ _get_pixbuf_from_video_file (GFile *file, GError **out_error) gst_element_seek_simple (pipeline, GST_FORMAT_TIME, GST_SEEK_FLAG_KEY_UNIT | GST_SEEK_FLAG_FLUSH, position); - /* get the preroll buffer from appsink, this block untils appsink really prerolls */ - g_signal_emit_by_name (sink, "pull-preroll", &buffer, NULL); - - /* if we have a buffer now, convert it to a pixbuf. It's possible that we - * don't have a buffer because we went EOS right away or had an error. */ - if (buffer) { - GstCaps *caps; - GstStructure *s; - - /* get the snapshot buffer format now. We set the caps on the appsink so - * that it can only be an rgb buffer. The only thing we have not specified - * on the caps is the height, which is dependant on the pixel-aspect-ratio - * of the source material */ - caps = GST_BUFFER_CAPS (buffer); - if (!caps) { - DEBUG ("could not get snapshot format\n"); - return NULL; - } - s = gst_caps_get_structure (caps, 0); - /* we need to get the final caps on the buffer to get the size */ - res = gst_structure_get_int (s, "width", &width); - res |= gst_structure_get_int (s, "height", &height); - if (!res) { - DEBUG ("could not get snapshot dimension\n"); - return NULL; - } - - /* create pixmap from buffer and save, gstreamer video buffers have a stride - * that is rounded up to the nearest multiple of 4 */ - pixbuf = gdk_pixbuf_new_from_data (GST_BUFFER_DATA (buffer), - GDK_COLORSPACE_RGB, FALSE, 8, width, height, - GST_ROUND_UP_4 (width * 3), NULL, NULL); - - } else { - DEBUG ("could not make snapshot\n"); - } + sret = gst_element_get_state (pipeline, NULL, NULL, PREROLL_TIMEOUT); + if (sret == GST_STATE_CHANGE_SUCCESS) + g_object_get (sink, "last-pixbuf", &pixbuf, NULL); /* cleanup and exit */ gst_element_set_state (pipeline, GST_STATE_NULL); -- 1.8.1.2-- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
