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 361140 - [lame] lame bitrate=196 errors out in setup
[lame] lame bitrate=196 errors out in setup
Status: RESOLVED FIXED
Product: GStreamer
Classification: Platform
Component: gst-plugins-ugly
git master
Other Linux
: Normal normal
: 0.10.5
Assigned To: GStreamer Maintainers
GStreamer Maintainers
: 425637 (view as bug list)
Depends on:
Blocks:
 
 
Reported: 2006-10-10 13:24 UTC by Luca Ferretti
Modified: 2007-04-02 21:47 UTC
See Also:
GNOME target: ---
GNOME version: 2.15/2.16



Description Luca Ferretti 2006-10-10 13:24:39 UTC
Sound Juicer manual suggests you to use the following pipeline to create MP3 (using lame plugin) file from audio CD tracks

   audio/x-raw-int,rate=44100,channels=2 ! lame name=enc vbr=0 bitrate=196 ! id3v2mux

I've added this pipeline as audio profile some times ago. Now, upgraded my distro from dapper to edgy, putting a new CD in drive and trying to extrat it (using both Sound Juicer and Rhythmbox) this pipeline makes the application freeze.

Using the --gst-debug-level=3 (cutting time info)

ERROR                 lame gstlame.c:1058:gst_lame_setup:<enc> lame_init_params returned -1
WARN                  lame gstlame.c:496:gst_lame_sink_setcaps:<enc> error: could not initialize encoder (wrong parameters?)

So I tried to tweak the pipeline, removing all options from lame section of pipeline. This makes SJ and RB works again, using default values for lame plugin.

So, what's wrong? My system? The gstreamer (core or plugins) provided by Ubuntu Edgy? liblame?
Comment 1 Luca Ferretti 2006-10-10 13:40:23 UTC
Great. The freeze exists only with my account. My sister is still able to encode MP3s using the same pipeline.... 

Tt's not a gstreamer issue. So, what??? 
Comment 2 Tim-Philipp Müller 2006-10-10 13:45:31 UTC
liblame doesn't seem to accept the bitrate=196 parameter (any more? dunno).

Try with bitrate=192

Maybe something that has changed recently in liblame? Don't think this is a bug in GStreamer.

  gst-launch-0.10 audiotestsrc ! audioconvert ! lame bitrate=192 ! fakesink

errors out for me at least (on edgy too). If that makes any application freeze, there is probably an application bug in the error handling somewhere.
Comment 3 Luca Ferretti 2006-10-10 13:51:45 UTC
Gotcha!

In fact the value for my sister's pipeline is 192, mine is 196.

But SJ manual says 196 :-(( 
Comment 4 Luca Ferretti 2006-10-10 13:53:34 UTC
The SJ manual was changed fixing bug 345305 (id3mux --> id3v2mux)
Comment 5 Wim Taymans 2006-10-10 15:57:21 UTC
Can this be closed then?
Comment 6 Luca Ferretti 2006-10-11 08:01:39 UTC
Well, I opened a bug agains sound-juicer.

About this bug, dunno. If the issue is in liblame, this should be closed as NOTGNOME, but:

 * Should GST lame plugin check for "wrong" bitrate value and try to workaround it?
 * How can we notify this to users? There is no central Knowledge Base for GNOME/GStreamer users, so maybe it could be useful keep this bug open as "know issue and how to solve it". It's more simple search for open bugs then closed.
Comment 7 Tim-Philipp Müller 2006-10-12 14:54:25 UTC
The sound-juicer bug about the freeze is bug #361151.

Moving to gst-plugins-ugly until we investigate what changed in lame and/or what to do about this.
Comment 8 Tim-Philipp Müller 2006-10-13 09:11:00 UTC
lame should also post a decent error message when the parameter setup fails, otherwise the user will get a "non-negotiated internal flow error bla file a bug" message.
Comment 9 Tim-Philipp Müller 2006-10-13 10:00:45 UTC
Fixed error message:

 2006-10-13  Tim-Philipp Müller  <tim at centricular dot net>

        * ext/lame/gstlame.c: (gst_lame_sink_setcaps),
        (gst_lame_set_property), (gst_lame_get_property), (gst_lame_chain),
        (plugin_init):
        * po/POTFILES.in:
          Add i18n magic to lame plugin. Throw decent error message when we
          fail to setup the encoder (#361140, 361151); misc. minor clean-ups.

Keeping open to investigate issue with bitrate parameter.
Comment 10 Tim-Philipp Müller 2006-10-13 14:46:28 UTC
As far as I can tell, the lame encoder element has never accepted a bitrate parameter of 196. I've tried this on ubuntu edgy, dapper and breezy with GStreamer-0.10 and 0.8. Don't know why it worked on your sister's account.

Documented the allowed bitrates in the property description and made lame round  up not allowed bitrates to the next allowed one:

 2006-10-13  Tim-Philipp Müller  <tim at centricular dot net>

        * ext/lame/gstlame.c: (gst_lame_set_property):
          Round up not allowed bitrates to the next higher allowed one
          (Closes: #361140).

 2006-10-13  Tim-Philipp Müller  <tim at centricular dot net>

        * docs/plugins/Makefile.am:
        * docs/plugins/gst-plugins-ugly-plugins-docs.sgml:
        * docs/plugins/gst-plugins-ugly-plugins-sections.txt:
        * ext/lame/gstlame.c: (gst_lame_class_init):
        * ext/lame/gstlame.h:
          Add docs for lame and lame to docs. Specify allowed bitrates
          in the properties description (#361140). Canonicalise object
          property names (ie. use hyphen instead of underscore).

Comment 11 Tim-Philipp Müller 2007-04-02 21:47:39 UTC
*** Bug 425637 has been marked as a duplicate of this bug. ***