Package: gnomeradio
Version: 1.8-2ubuntu1
Severity: important
Tags: patch

I can't record in gnomeradio either, just an empty sound-file is what I get.
(see screenshot)

When start gnomeradio from terminal and try to record this error show up:

(gnomeradio:2084): gnomeradio-WARNING **: GStreamer runtime error: Could not
open audio device for recording.


TEST CASE:

1. Try to use gnomeradio built-in record function:

OUTPUT THIS ERROR:

(gnomeradio:22694): gnomeradio-WARNING **: GStreamer runtime error: Could not
open audio device for recording.

2. Try to record with gnomeradio started and gstreamer record commandline:

        2.1 "osssrc" source

$ gst-launch-0.10 osssrc ! audioconvert ! wavenc ! filesink location=record.wav

OUTPUT THIS ERROR:

Setting pipeline to PAUSED ...
ERROR: Pipeline doesn't want to pause.
ERROR: from element /GstPipeline:pipeline0/GstOssSrc:osssrc0: Could not open
audio device for recording.
Additional debug info:
gstosssrc.c(380): gst_oss_src_open ():
/GstPipeline:pipeline0/GstOssSrc:osssrc0:
Unable to open device /dev/dsp for recording: No such file or directory
Setting pipeline to NULL ...
Freeing pipeline ...

        2.2 "autoaudiosrc" source

$ gst-launch-0.10 autoaudiosrc ! audioconvert ! wavenc ! filesink
location=record.wav

OUTPUT THIS SUCCES:

Setting pipeline to PAUSED ...
Pipeline is live and does not need PREROLL ...
Setting pipeline to PLAYING ...
New clock: GstAudioSrcClock

Conclusion:

Solution is to use "autoaudiosrc" plugin which can decide for us what audio
source to use, whether it is a linux/unix solution (PA, OSS, Alsa) or other.



-- System Information:
Debian Release: wheezy/sid
  APT prefers precise-updates
  APT policy: (500, 'precise-updates'), (500, 'precise-security'), (500, 
'precise')
Architecture: i386 (i686)

Kernel: Linux 3.2.0-23-generic-pae (SMP w/2 CPU cores)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash

Versions of packages gnomeradio depends on:
ii  gconf-service                  3.2.5-0ubuntu2
ii  gconf2                         3.2.5-0ubuntu2
ii  libc6                          2.15-0ubuntu10
ii  libcairo2                      1.10.2-6.1ubuntu2
ii  libdbus-glib-1-2               0.98-1ubuntu1
ii  libgconf-2-4                   3.2.5-0ubuntu2
ii  libgdk-pixbuf2.0-0             2.26.1-1
ii  libglib2.0-0                   2.32.1-0ubuntu2
ii  libgnome-media-profiles-3.0-0  3.0.0-1
ii  libgstreamer0.10-0             0.10.36-1ubuntu1
ii  libgtk-3-0                     3.4.1-0ubuntu1
ii  liblircclient0                 0.9.0-0ubuntu1

gnomeradio recommends no packages.

Versions of packages gnomeradio suggests:
pn  lirc-x  <none>

-- no debconf information

<<attachment: gnomeradio_record.png>>

diff -Nru gnomeradio-1.8/debian/patches/gnomeradio-record.patch gnomeradio-1.8/debian/patches/gnomeradio-record.patch
--- gnomeradio-1.8/debian/patches/gnomeradio-record.patch	1970-01-01 00:00:00.000000000 +0000
+++ gnomeradio-1.8/debian/patches/gnomeradio-record.patch	2012-05-29 11:02:27.000000000 +0000
@@ -0,0 +1,57 @@
+## Description: Changed audio source from osssrc to autoaudiosrc that automatically detects an appropriate audio source to use.
+Index: gnomeradio-1.8/src/rec_tech.c
+===================================================================
+--- gnomeradio-1.8.orig/src/rec_tech.c	2012-05-29 10:56:56.052742786 +0000
++++ gnomeradio-1.8/src/rec_tech.c	2012-05-29 11:01:14.180735114 +0000
+@@ -42,8 +42,8 @@
+ recording_start(const char* filename)
+ {
+ 	GMAudioProfile *profile;
+-	GstElement *pipeline, *oss_src, *encoder, *filesink;
+-	pipeline = oss_src = encoder = filesink = NULL;
++	GstElement *pipeline, *source, *encoder, *filesink;
++	pipeline = source = encoder = filesink = NULL;
+ 	
+ 	profile = gm_audio_profile_lookup(rec_settings.profile);
+ 	g_assert(profile);
+@@ -54,9 +54,9 @@
+ 		goto error;
+ 	}		
+ 	
+-	oss_src = gst_element_factory_make("osssrc", "oss-source");
+-	if (!oss_src) {
+-		g_warning(_("Could not open Gstreamer OSS Source. Verify your Gstreamer OSS subsystem installation!\n"));
++	source = gst_element_factory_make("autoaudiosrc", "audio_source");
++	if (!source) {
++		g_warning(_("Could not open Gstreamer AUDIO Source. Verify your Gstreamer AUDIO subsystem installation!\n"));
+ 		goto error;
+ 	}
+ 	
+@@ -82,10 +82,10 @@
+ 	}
+ 	
+ 	/* Add the elements to the pipeline */
+-	gst_bin_add_many(GST_BIN(pipeline), oss_src, encoder, filesink, NULL);
++	gst_bin_add_many(GST_BIN(pipeline), source, encoder, filesink, NULL);
+ 	
+ 	/* Link it all together */
+-	if (!gst_element_link_many(oss_src, encoder, filesink, NULL)) {
++	if (!gst_element_link_many(source, encoder, filesink, NULL)) {
+ 		g_warning("Could not link elements. This is bad!\n");
+ 		goto error;
+ 	}
+@@ -103,8 +103,8 @@
+ error:
+ 	if (pipeline)
+ 		gst_object_unref(GST_OBJECT(pipeline));
+-	if (oss_src)
+-		gst_object_unref(GST_OBJECT(oss_src));
++	if (source)
++		gst_object_unref(GST_OBJECT(source));
+ 	if (encoder)
+ 		gst_object_unref(GST_OBJECT(encoder));
+ 	if (filesink)

Reply via email to