From 0022fb100b7d22b9612474ebee944e66c2a7b33b Mon Sep 17 00:00:00 2001 From: Max Kellermann Date: Fri, 7 Jan 2011 19:37:39 +0100 Subject: encoder/lame: explicitly configure the output sample rate When you don't explicitly set an output sample rate, liblame tries to guess an output sample rate from the input sample rate. You would think that this "guessing" consists of just setting both equal, but that is not the case. For 44.1kHz at 96kbit/s, liblame chooses 32kHz. This patch explicitly configures the output sample rate, to stop the bad guessing. --- src/encoder/lame_encoder.c | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'src/encoder') diff --git a/src/encoder/lame_encoder.c b/src/encoder/lame_encoder.c index acaf4470..6c8f2089 100644 --- a/src/encoder/lame_encoder.c +++ b/src/encoder/lame_encoder.c @@ -169,6 +169,13 @@ lame_encoder_setup(struct lame_encoder *encoder, GError **error) return false; } + if (0 != lame_set_out_samplerate(encoder->gfp, + encoder->audio_format.sample_rate)) { + g_set_error(error, lame_encoder_quark(), 0, + "error setting lame out sample rate"); + return false; + } + if (0 > lame_init_params(encoder->gfp)) { g_set_error(error, lame_encoder_quark(), 0, "error initializing lame params"); -- cgit v1.2.3