After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 693166 - audio encoders fail with 8-bit audio because gst_audio_format_from_caps() is broken for 8-bit audio
audio encoders fail with 8-bit audio because gst_audio_format_from_caps() is ...
Status: RESOLVED FIXED
Product: GStreamer
Classification: Platform
Component: gst-plugins-base
unspecified
Other Linux
: Normal normal
: 0.10.37
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2013-02-04 21:39 UTC by L Johnson
Modified: 2013-02-16 12:50 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
dbg.log.xz (176.37 KB, application/x-xz)
2013-02-06 18:52 UTC, L Johnson
Details
debug file for gnome-sound-recorder #2 (365.49 KB, application/x-gzip)
2013-02-06 19:51 UTC, L Johnson
Details

Description L Johnson 2013-02-04 21:39:16 UTC
Internal data flow error.

Internal GStreamer error: negotiation problem.  Please file a bug at http://bugzilla.gnome.org/enter_bug.cgi?product=GStreamer.

Gnome-sound-recorder  ver 3.4.0

firefox 18.0.1-1
Shockwave Flash 11.2r202 Updated 01/08/13

lib32-libpulse 3.0-1
libcanberra-pulse 0.30-3
libpulse 3.0-2
pulseaudio 3.0-2
pulseaudio-alsa 2-2
pulseaudio-equalizer 2.7.0.2-1

alsa-lib 1.0.26-1
alsa-plugins 1.0.26-1
alsa-tools 1.0.25-1
alsa-utils 1.0.26-1
gnome-alsamixer 0.9.6-4
lib32-alsa-lib 1.0.26-1
lib32-alsa-plugins 1.0.26-1
pulseaudio-alsa 2-2

gst-libav 1.0.5-1
gst-plugins-bad 1.0.4-1
gst-plugins-base 1.0.5-1
gst-plugins-base-libs 1.0.5-1
gst-plugins-good 1.0.5-1
gst-plugins-ugly 1.0.5-1
gstreamer 1.0.5-1
gstreamer0.10 0.10.36-1
gstreamer0.10-bad 0.10.23-3
gstreamer0.10-bad-plugins 0.10.23-3
gstreamer0.10-base 0.10.36-1
gstreamer0.10-base-plugins 0.10.36-1
gstreamer0.10-good 0.10.31-1
gstreamer0.10-good-plugins 0.10.31-1
gstreamer0.10-ugly 0.10.19-4

linux 3.7.5-1
linux-api-headers 3.7.4-1

archlinux x64 distribution current to 04FEB2013
Comment 1 Tim-Philipp Müller 2013-02-06 13:38:52 UTC
Thanks for the bug report, but you should probably report it to your distro (sorry for the bad error message - this error is usually a problem with the application and not with GStreamer; the message has been fixed in GStreamer already).

Could you make a debug log like this, by running gnome-sound-recorder from a terminal:

 $ GST_DEBUG=*:5 gnome-sound-recorder 2>dbg.log
 ... reproduce error, then press control+C
 $ xz -9 dbg.log

Then attach dbg.log.xz to this bug.
Comment 2 L Johnson 2013-02-06 18:52:00 UTC
Created attachment 235325 [details]
dbg.log.xz

As requested..
Comment 3 L Johnson 2013-02-06 18:53:31 UTC
[ljohnson{10:43:14}~]$ GST_DEBUG=*:5 gnome-sound-recorder 2>dbg.log
[ljohnson{10:45:44}~]$ gnome-sound-recorder        
/tmp/gsr-record-Untitled-7164.53ZCSWERROR: Internal data flow error.
DEBUG MESSAGE: gstbasesrc.c(2625): gst_base_src_loop (): /GstPipeline:record-pipeline/GstGConfAudioSrc:gconfaudiosource/GstBin:bin0/GstAlsaSrc:alsasrc0:
streaming task paused, reason not-negotiated (-4)
ERROR: Internal GStreamer error: negotiation problem.  Please file a bug at http://bugzilla.gnome.org/enter_bug.cgi?product=GStreamer.
DEBUG MESSAGE: gstaudioencoder.c(1004): gst_audio_encoder_chain (): /GstPipeline:record-pipeline/GstBin:bin1/GstFlacEnc:enc:
encoder not initialized
^C
[ljohnson{10:47:07}~]$  xz -9 dbg.log
Comment 4 L Johnson 2013-02-06 19:04:49 UTC
Refiled as: https://bugzilla.gnome.org/show_bug.cgi?id=693276 per suggestion.
Comment 5 Tim-Philipp Müller 2013-02-06 19:34:49 UTC
Thanks, but it looks like the first sound recorder was closed without reproducing the error - at least there's no record of it in the log file - and then sound recorder started a second time. Maybe you could try again?

 $ grep not-negotiated dbg.log

should show stuff (before compressing it with xz -9).
Comment 6 Tim-Philipp Müller 2013-02-06 19:35:37 UTC
Bug #680553 looks possibly related, but it could also be some other element not setting caps on output buffers (just guessing here).
Comment 7 L Johnson 2013-02-06 19:51:01 UTC
Created attachment 235327 [details]
debug file for gnome-sound-recorder #2

#2 as requested

[ljohnson{11:43:16}~]$ GST_DEBUG=*:5 gnome-sound-recorder 2>dbg.log
/tmp/gsr-record-Untitled-7587.Y823RW[ljohnson{11:44:08}~]$ ^C
[ljohnson{11:44:19}~]$ ^C
Comment 8 Tim-Philipp Müller 2013-02-16 12:50:39 UTC
Thanks, looks like this is a silly bug with 8-bit audio formats (which are rarely used for music):

 commit c5c34dda9b8a71159ca8aee2b5d822b60e0a6ea4
 Author: Tim-Philipp Müller <tim@centricular.net>
 Date:   Sat Feb 16 12:14:31 2013 +0000

    audio: fix gst_audio_format_from_caps() for 8-bit formats
    
    The endianness field is not present in 8-bit audio caps, so don't
    fail because of that when parsing caps into an GstAudioInfo structure.
    And if it is present, it should be ignored, because the format
    table we match against has a 0 value for endianness, so we need
    to look for 0 as well.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=693166

 commit 9362d986a4742cc9afc4ba5110546babf4a1a251
 Author: Tim-Philipp Müller <tim@centricular.net>
 Date:   Sat Feb 16 12:09:53 2013 +0000

    audio: fix GST_AUDIO_INFO_ENDIANNESS macro

Unfortunately it's quite unlikely that this fix will ever get released. I would suggest you upgrade your distro version to one that comes with GStreamer 1.x.

(I also don't know why the pipeline negotiates to 8 bit audio in the first place in your case)