[gstreamer-bugs] [Bug 494528] New: Simplifications of the LAME plugin

GStreamer (bugzilla.gnome.org) bugzilla-daemon at bugzilla.gnome.org
Wed Nov 7 02:29:13 PST 2007


If you have any questions why you received this email, please see the text at
the end of this email. Replies to this email are NOT read, please see the text
at the end of this email. You can add comments to this bug at:
  http://bugzilla.gnome.org/show_bug.cgi?id=494528

  GStreamer | gst-plugins-ugly | Ver: HEAD CVS
           Summary: Simplifications of the LAME plugin
           Product: GStreamer
           Version: HEAD CVS
          Platform: Other
        OS/Version: All
            Status: UNCONFIRMED
          Severity: enhancement
          Priority: Normal
         Component: gst-plugins-ugly
        AssignedTo: gstreamer-bugs at lists.sourceforge.net
        ReportedBy: bouvigne at mp3-tech.org
         QAContact: gstreamer-bugs at lists.sourceforge.net
     GNOME version: Unspecified
   GNOME milestone: Unspecified


Current Lame plugin is offering many many options, including some deprecated
ones and potentially harmful ones. I think this is mainly our (Lame devs)
fault, as Lame provides many options to the user that should never had been
provided outside of debug builds.

Since a few years, we are trying to simplify things a lot, and are encouraging
third-party devs to provide a simple user interface instead of the "usual"
options-cluttered one (http://lame.sourceforge.net/lame_ui_example.php).

I think that it might be a good thing to simplify the current Gstreamer Lame
plugin, so I am going to provide a list of comments there. Please tell me if
this should be split into several entries.

#outdated options, not doing anything:
lowpass_width/highpass_width/cwlimit
Those are deprecated, and are just preserved within current Lame API in order
to not break external apps that might still be using them.

#not doing anything usefull:
gboolean extension (ARG_EXTENSION)
This one is just switching a bit within the bistream, for which we never found
any use.

#not needed anymore:
preset(ARG_PRESET)
Not needed since Lame 3.94 (released in 2003). "Presets" are now always
automatically used.

strict_iso(ARG_STRICT_ISO)
Always used

#potentially (mostly always) harmfull for quality, I think they should not be
offered to the user:
force_ms
disable_reservoir
ath_only
ath_short
no_ath
ath_type
ath_lower
allow_diff_short
no_short_blocks

#potential problems:

*Sink pad is audio/x-raw-int. Why not using audio/x-raw-float as the Vorbis
encoder?

*GST_TYPE_LAME_MODE
"auto" is deprecated (better not provide it), "Stereo" should not be used
(joint should be preferred), "Dual Channel" would probably be better understood
if it was named "Dual Content / Dual Channel".

*GST_TYPE_LAME_QUALITY
Default Lame value is 2 (and not 5) since several years ago. I agree that this
one is a bit tricky for you, as current Lame API doesn't really tell you about
the default value.

*DEFAULT_MIN_VBR_BITRATE
Our default is 32 for mpeg1 and 8 for mpeg2. Gstreamer plugin default value is
112, which is way too high.

*DEFAULT_MAX_VBR_BITRATE
Our default is 320 for mpeg1 and 160 for mpeg2. Current plugin value of 160 is
way too low when using mpeg1. I understand that it's probably this way because
this value works both in mpeg1 and mpeg2 case, so solving this would be tricky.

*on GST_EVENT_FLUSH_STOP, you are using a buffer of 7200. Why not always using
the same buffer value, both when encoding and on closing? (mp3_buffer_size =
1.25 * num_samples + 7200)
7200 will sometimes not be big enough.


-- 
See http://bugzilla.gnome.org/page.cgi?id=email.html for more info about why you received
this email, why you can't respond via email, how to stop receiving
emails (or reduce the number you receive), and how to contact someone
if you are having problems with the system.

You can add comments to this bug at http://bugzilla.gnome.org/show_bug.cgi?id=494528.




More information about the Gstreamer-bugs mailing list