path: root/rbutil/rbutilqt/base/encoderbase.cpp
diff options
authorDominik Riebeling <>2012-01-08 11:50:04 +0000
committerDominik Riebeling <>2012-01-08 11:50:04 +0000
commitf1fc6bae253d55ba4faf0abeeb1c8c3e125627e7 (patch)
treeb5af14bb95660680bdf01f59e29a117cba6a21dd /rbutil/rbutilqt/base/encoderbase.cpp
parent3e014d35231ed66e53c6531d8d0d1e4603f9df93 (diff)
Rockbox Utility: use libmp3lame for voice clips.
Instead of calling the lame executable use libmp3lame directly. As result, this simplifies the prerequisites for creating voice clips for Archos devices to putting the library in the system's search path (Windows: put libmp3lame.dll in the search path or the same folder RockboxUtility.exe is located in. Linux: install the library using your systems package manager) and configuration. This creates a notable encoding speedup on Windows (around factor 6 on my test setup) and a small speedup on Linux (around factor 1.2). The implemenatation currently has the following limitations: - Only enabled on Windows and Linux. On OS X installing the correct dylib is a bit nontrivial, so using the old command line based method is still in use for now. - The encoder parameters are currently hardcoded to use the same values the build system uses. git-svn-id: svn:// a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'rbutil/rbutilqt/base/encoderbase.cpp')
1 files changed, 6 insertions, 0 deletions
diff --git a/rbutil/rbutilqt/base/encoderbase.cpp b/rbutil/rbutilqt/base/encoderbase.cpp
index e2668febd1..05ccae3011 100644
--- a/rbutil/rbutilqt/base/encoderbase.cpp
+++ b/rbutil/rbutilqt/base/encoderbase.cpp
@@ -20,6 +20,7 @@
#include "utils.h"
#include "rbsettings.h"
#include "encoderrbspeex.h"
+#include "encoderlame.h"
#include "encoderexe.h"
@@ -55,7 +56,12 @@ EncoderBase* EncoderBase::getEncoder(QObject* parent,QString encoder)
EncoderBase* enc;
if(encoder == "lame")
+#if defined(Q_OS_MACX)
+ /* currently not on OS X */
enc = new EncoderExe(encoder,parent);
+ enc = new EncoderLame(parent);
return enc;
else // rbspeex is default