Comment 58 for bug 195483

Revision history for this message
KennoVO (kenno-xs4all) wrote :

BruceR, the things you're saying are simply not true. This is complex business and I can understand it confuses you, but please don't make stuff up. Browse Gnome Bugzilla (links at the end of this post). Look at the source code. Encode the same sample with gstreamer and with standalone LAME and do a binary comparison on the outputs (a hex editor might be helpful for this purpose).

What you need to understand is that the deprecated "lame" element and the new "lamemp3enc" element are simply two different gstreamer interfaces to the same liblame library. The "lame" element is called by specifying "lame" in the gstreamer pipeline, the "lamemp3enc" element is called by specifying "lamemp3enc" in the gstreamer pipeline. Not difficult so far. Now, here are the differences:
- The "lame" element tried to expose each and every LAME flag to the user, including many developmental flags that were never meant by the LAME developers to be set by end-users. Unfortunately, it had default values for each and every of these flags, and it would pass all of them on to liblame. This was harmful because (1) not all of the "lame" element's default values were sensible and (2) these flags override a number of settings that otherwise would be set internally by liblame at runtime depending on the situation.
- Specifically to cure this problem, Sebastian Dröge wrote the "lamemp3enc" element, at the request of (among others) Gabriel Bouvigne (LAME developer), David Joaquim (gnac developer) and myself. The "lamemp3enc" element is a much simpler interface, giving the user only the few options that were meant by the LAME developers to be set by end-users. Flags that are not specified by the user (in the gstreamer pipeline) are mostly left "undefined", allowing liblame to achieve its maximum quality by setting the corresponding settings internally to sensible values depending on the situation.

If you don't believe me, here's some background information. Please do your homework (ie. read each and every post *carefully*) before posting again.
https://bugzilla.gnome.org/show_bug.cgi?id=494528
http://git.gnome.org/browse/gnome-media/commit/?id=155f6ce6463a95146664b08b924d057679ca2f7c
https://bugzilla.gnome.org/show_bug.cgi?id=619642
https://bugzilla.gnome.org/show_bug.cgi?id=626285