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)