From 7a65a910b77ad191d69881098c47f9b0c852d92e Mon Sep 17 00:00:00 2001 From: root Date: Tue, 13 Aug 2013 01:33:19 -0700 Subject: Tue Aug 13 01:31:08 PDT 2013 --- community/gnome-media/PKGBUILD | 45 ++++++++++++++++++++++ community/gnome-media/gnome-media.install | 26 +++++++++++++ ...hould-call-gnome-control-center-sound-not.patch | 35 +++++++++++++++++ .../grecord-add-PULSEPROPmediarole.patch | 26 +++++++++++++ .../grecord-send-eos-before-we-stop-record.patch | 41 ++++++++++++++++++++ 5 files changed, 173 insertions(+) create mode 100644 community/gnome-media/PKGBUILD create mode 100644 community/gnome-media/gnome-media.install create mode 100644 community/gnome-media/grecord-Should-call-gnome-control-center-sound-not.patch create mode 100644 community/gnome-media/grecord-add-PULSEPROPmediarole.patch create mode 100644 community/gnome-media/grecord-send-eos-before-we-stop-record.patch (limited to 'community/gnome-media') diff --git a/community/gnome-media/PKGBUILD b/community/gnome-media/PKGBUILD new file mode 100644 index 000000000..2b60a714d --- /dev/null +++ b/community/gnome-media/PKGBUILD @@ -0,0 +1,45 @@ +# $Id: PKGBUILD 87933 2013-04-08 20:25:18Z bgyorgy $ +# Maintainer: Balló György +# Contributor: Jan de Groot + +pkgname=gnome-media +pkgver=3.4.0 +pkgrel=2 +pkgdesc="Sound recorder and GStreamer 0.10 configuration tool for GNOME" +arch=('i686' 'x86_64') +license=('GPL') +depends=('libgnome-media-profiles' 'gstreamer0.10-good-plugins' 'hicolor-icon-theme') +makedepends=('intltool' 'gnome-doc-utils') +optdepends=('gstreamer0.10-ugly-plugins: Record sound into mp3 format') +url="https://git.gnome.org/browse/gnome-media" +install=$pkgname.install +source=(http://ftp.gnome.org/pub/gnome/sources/$pkgname/${pkgver:0:3}/$pkgname-$pkgver.tar.xz + grecord-add-PULSEPROPmediarole.patch + grecord-Should-call-gnome-control-center-sound-not.patch + grecord-send-eos-before-we-stop-record.patch) +sha256sums=('a76fac286f24d3836137ddbaab66f05e19eb5fb83cca6e375dbef040765a1d1f' + '7abd86638ccde30232455ea66a7aff244f5c1cc5f3620b85f0215bf4bd07d546' + '6c8af4bf741d702ce3722cc2bfd1b7caa44f142776706157851184fb2bc55e04' + '5feb1e447f9ac575b282b05be9bfc946794635f98f63cf24603f931767ec8f9d') + +build() { + cd "$pkgname-$pkgver" + + # Upstream fixes + patch -Np1 -i "$srcdir/grecord-add-PULSEPROPmediarole.patch" + patch -Np1 -i "$srcdir/grecord-Should-call-gnome-control-center-sound-not.patch" + patch -Np1 -i "$srcdir/grecord-send-eos-before-we-stop-record.patch" + + ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var \ + --disable-schemas-install \ + --with-gconf-schema-file-dir=/usr/share/gconf/schemas + make +} + +package() { + cd "$pkgname-$pkgver" + make DESTDIR="$pkgdir" install + + # Sound theme moved to gnome-control-center + rm -rf "$pkgdir"/usr/share/{gnome-media,sounds} +} diff --git a/community/gnome-media/gnome-media.install b/community/gnome-media/gnome-media.install new file mode 100644 index 000000000..0574e8765 --- /dev/null +++ b/community/gnome-media/gnome-media.install @@ -0,0 +1,26 @@ +pkgname=gnome-sound-recorder + +post_install() { + usr/sbin/gconfpkg --install ${pkgname} + gtk-update-icon-cache -q -t -f /usr/share/icons/hicolor +} + +pre_upgrade() { + pre_remove $1 +} + +post_upgrade() { + post_install $1 +} + +pre_remove() { + if [ "$(vercmp 3.4.0-2 "$2")" -eq 1 ]; then + usr/sbin/gconfpkg --uninstall gnome-media + else + usr/sbin/gconfpkg --uninstall ${pkgname} + fi +} + +post_remove() { + gtk-update-icon-cache -q -t -f /usr/share/icons/hicolor +} diff --git a/community/gnome-media/grecord-Should-call-gnome-control-center-sound-not.patch b/community/gnome-media/grecord-Should-call-gnome-control-center-sound-not.patch new file mode 100644 index 000000000..e3908d3cc --- /dev/null +++ b/community/gnome-media/grecord-Should-call-gnome-control-center-sound-not.patch @@ -0,0 +1,35 @@ +From ea6fee0fbf8662a32a5cd2b5c96c1f75a9233813 Mon Sep 17 00:00:00 2001 +From: Sebastien Bacher +Date: Thu, 07 Jun 2012 16:26:26 +0000 +Subject: grecord: Should call "gnome-control-center sound" not the old g-v-c + +Signed-off-by: Oleksij Rempel + +https://bugzilla.gnome.org/show_bug.cgi?id=667402 +--- +diff --git a/grecord/src/gsr-window.c b/grecord/src/gsr-window.c +index bebb991..bd802d6 100644 +--- a/grecord/src/gsr-window.c ++++ b/grecord/src/gsr-window.c +@@ -805,16 +805,16 @@ run_mixer_cb (GtkAction *action, + GSRWindow *window) + { + char *mixer_path; +- char *argv[4] = {NULL, "--page", "recording", NULL}; ++ char *argv[4] = {NULL, "sound", "input", NULL}; + GError *error = NULL; + gboolean ret; + + /* Open the mixer */ +- mixer_path = g_find_program_in_path ("gnome-volume-control"); ++ mixer_path = g_find_program_in_path ("gnome-control-center"); + if (mixer_path == NULL) { + show_error_dialog (GTK_WINDOW (window), NULL, + _("%s is not installed in the path."), +- "gnome-volume-control"); ++ "gnome-control-center"); + return; + } + +-- +cgit v0.9.1 diff --git a/community/gnome-media/grecord-add-PULSEPROPmediarole.patch b/community/gnome-media/grecord-add-PULSEPROPmediarole.patch new file mode 100644 index 000000000..b75dd3c5c --- /dev/null +++ b/community/gnome-media/grecord-add-PULSEPROPmediarole.patch @@ -0,0 +1,26 @@ +From 5453719b61ada75f635f0c3ad3c78651102d7615 Mon Sep 17 00:00:00 2001 +From: Oleksij Rempel +Date: Wed, 06 Jun 2012 11:50:04 +0000 +Subject: grecord: add "PULSE_PROP_media.role" + +For more details see: +http://www.freedesktop.org/wiki/Software/PulseAudio/Documentation/Developer/Clients/ApplicationProperties + +Signed-off-by: Oleksij Rempel + +https://bugzilla.gnome.org/show_bug.cgi?id=644908 +--- +diff --git a/grecord/src/gnome-recorder.c b/grecord/src/gnome-recorder.c +index c6c7b7e..c7ec5cc 100644 +--- a/grecord/src/gnome-recorder.c ++++ b/grecord/src/gnome-recorder.c +@@ -190,6 +190,7 @@ main (int argc, + + g_option_context_free (ctx); + gtk_window_set_default_icon_name ("gnome-sound-recorder"); ++ g_setenv ("PULSE_PROP_media.role", "production", TRUE); + + /* use it like a singleton */ + gconf_client = gconf_client_get_default (); +-- +cgit v0.9.1 diff --git a/community/gnome-media/grecord-send-eos-before-we-stop-record.patch b/community/gnome-media/grecord-send-eos-before-we-stop-record.patch new file mode 100644 index 000000000..e760b7e3b --- /dev/null +++ b/community/gnome-media/grecord-send-eos-before-we-stop-record.patch @@ -0,0 +1,41 @@ +From 99e7a41b2e4c217aca7faffb7668b1ac84ae1ed2 Mon Sep 17 00:00:00 2001 +From: Oleksij Rempel +Date: Thu, 07 Jun 2012 17:11:02 +0000 +Subject: grecord: send eos before we stop record. + +Current grecord produces files without EOS. This can be tested +with tool "ogginfo". + +accodrding to this documentation: +http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer-libs/html/GstBaseSrc.html +"Controlled shutdown of live sources in applications" +"Since GStreamer 0.10.16 an application may send an EOS event to a source element to make it perform the EOS logic". + +So this patch make sure we send EOS before we stop recording. + +Signed-off-by: Oleksij Rempel + +https://bugzilla.gnome.org/show_bug.cgi?id=677644 +--- +diff --git a/grecord/src/gsr-window.c b/grecord/src/gsr-window.c +index bd802d6..850ebf0 100644 +--- a/grecord/src/gsr-window.c ++++ b/grecord/src/gsr-window.c +@@ -1279,8 +1279,14 @@ stop_cb (GtkAction *action, + GST_DEBUG ("Stopping play pipeline"); + set_pipeline_state_to_null (priv->play->pipeline); + } else if (priv->record && priv->record->state == GST_STATE_PLAYING) { ++ GstMessage *msg; ++ + GST_DEBUG ("Stopping recording source"); +- /* GstBaseSrc will automatically send an EOS when stopping */ ++ gst_element_send_event (priv->record->src, gst_event_new_eos ()); ++ /* wait one second for EOS message on the pipeline bus */ ++ msg = gst_bus_timed_pop_filtered (GST_ELEMENT_BUS (priv->record->pipeline), GST_SECOND, GST_MESSAGE_EOS | GST_MESSAGE_ERROR); ++ gst_message_unref (msg); ++ + gst_element_set_state (priv->record->src, GST_STATE_NULL); + gst_element_get_state (priv->record->src, NULL, NULL, -1); + gst_element_set_locked_state (priv->record->src, TRUE); +-- +cgit v0.9.1 -- cgit v1.2.3-54-g00ecf