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 439390 - [lame] fix up so we can control sample rate conversion
[lame] fix up so we can control sample rate conversion
Status: RESOLVED FIXED
Product: GStreamer
Classification: Platform
Component: gst-plugins-ugly
git master
Other Linux
: Normal normal
: 0.10.7
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2007-05-18 09:55 UTC by Thomas Vander Stichele
Modified: 2007-09-26 14:46 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Thomas Vander Stichele 2007-05-18 09:55:34 UTC
After discussing with Wim, we agree two things should be done:

A) lame should have a property (e.g. allow-rate-conversion) that is set to TRUE by default, allowing lame to resample internally.
If it is set to FALSE, and lame cannot satisfy keeping the sample rate constant (because the bitrate doesn't match or filtercaps on either pad don't allow it) it should error with not-negotiated.

B) lame should respect the filter caps on the src pad.  This is probably a little more complicated to get right.  Again, not-negiotated if lame cannot satisfy the src caps' rate.

Doing this would allow us to correctly handle cases where we want to generate mp3 for playback in a Flash application, which only works correctly with 11.025/22.05/44.1, and makes other sample rates sound like smurf songs.
Comment 1 Tim-Philipp Müller 2007-09-26 14:38:43 UTC
This looks like it has been fixed for the most part:

 2007-09-24  Thomas Vander Stichele  <thomas at apestaart dot org>

        * ext/lame/gstlame.c:
          Allow fixing the sample rate lame converts to by negotiating fixed
          sample rate on the src pad caps.
          Add docs for it.
        * tests/check/Makefile.am:
        * tests/check/pipelines/lame.c:
          Add a check for it.

 2007-09-25  Tim-Philipp Müller  <tim at centricular dot net>

        * ext/lame/gstlame.c:
          Use GST_PTR_FORMAT to print caps in debug statement.

 2007-09-26  Tim-Philipp Müller  <tim at centricular dot net>

        * ext/lame/gstlame.c:
          Fix up case where there is no peer, in which case
          _get_allowed_caps() will return NULL.