summaryrefslogtreecommitdiff
path: root/community/gnome-media
diff options
context:
space:
mode:
authorroot <root@rshg054.dnsready.net>2013-07-19 01:10:32 -0700
committerroot <root@rshg054.dnsready.net>2013-07-19 01:10:32 -0700
commit8fbc0076a4827ddc6af92e0b9daa4c4c31450808 (patch)
tree03fd0e2921ebd53228d9a93e32ed3976b636cbea /community/gnome-media
parente445a313723389ba9ee1fded025c567dae5b21ea (diff)
Fri Jul 19 01:09:18 PDT 2013
Diffstat (limited to 'community/gnome-media')
-rw-r--r--community/gnome-media/PKGBUILD45
-rw-r--r--community/gnome-media/gnome-media.install26
-rw-r--r--community/gnome-media/grecord-Should-call-gnome-control-center-sound-not.patch35
-rw-r--r--community/gnome-media/grecord-add-PULSEPROPmediarole.patch26
-rw-r--r--community/gnome-media/grecord-send-eos-before-we-stop-record.patch41
5 files changed, 173 insertions, 0 deletions
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 <ballogyor+arch at gmail dot com>
+# Contributor: Jan de Groot <jgc@archlinux.org>
+
+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 <seb128@ubuntu.com>
+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 <bug-track@fisher-privat.net>
+
+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 <bug-track@fisher-privat.net>
+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 <bug-track@fisher-privat.net>
+
+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 <bug-track@fisher-privat.net>
+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 <bug-track@fisher-privat.net>
+
+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