rbutil: Command line fallback on libmp3lame failure.

When loading libmp3lame fails fall back to using the command line lame.
Avoids an unresolvable error when trying to create voice / talk files
for Archos.
Modernize code a bit.

Change-Id: I2e8fd5786fda972cb24adbcb9ced531e08093b4f
This commit is contained in:
Dominik Riebeling 2020-08-20 18:41:17 +02:00
parent bb7aa6f311
commit 07604d62ab
3 changed files with 22 additions and 10 deletions

View file

@ -23,6 +23,8 @@
#include "encoderlame.h"
#include "encoderexe.h"
#include "Logger.h"
/*********************************************************************
* Encoder Base
**********************************************************************/
@ -58,9 +60,17 @@ EncoderBase* EncoderBase::getEncoder(QObject* parent,QString encoder)
{
#if defined(Q_OS_MACX)
/* currently not on OS X */
enc = new EncoderExe(encoder,parent);
enc = new EncoderExe(encoder, parent);
#else
enc = new EncoderLame(parent);
if (!enc->configOk())
{
LOG_WARNING() << "Could not load lame dll, falling back to command "
"line lame. This is notably slower.";
delete enc;
enc = new EncoderExe(encoder, parent);
}
#endif
return enc;
}