Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fdk-aac encoder + libshout-idjc + vcpkg Windows dependencies integration #3615

Merged
merged 58 commits into from
Feb 22, 2021
Merged
Changes from 1 commit
Commits
Show all changes
58 commits
Select commit Hold shift + click to select a range
029b405
fdk-aac encoder
Jan 17, 2019
c844c85
Renamed libshout folder to libshout-idjc
daschuer Jan 8, 2021
4ec8ceb
update to libshout-idjc-2.4.1
daschuer Jan 8, 2021
ff9335e
fix loading of libfdk-aac if no symlink without a version is provided
daschuer Jan 9, 2021
77c557a
fix line break
daschuer Jan 9, 2021
ee26074
fix include files
daschuer Jan 9, 2021
dcf9895
Enable internal libshout-idjc for all targets
daschuer Jan 9, 2021
cf3188f
clazy fixes
daschuer Jan 9, 2021
afe65d2
Fix indent
daschuer Jan 10, 2021
b628f61
Don't use config.h configure by cmake instead, taken from https://git…
daschuer Jan 10, 2021
ad5a511
fix os.h
daschuer Jan 10, 2021
20ba8ca
Remove unsused strings.h
daschuer Jan 10, 2021
d7530f5
replace illegal void* arythmetric
daschuer Jan 10, 2021
d11fdc8
Try loading libfdk-aac.so.2 first
daschuer Jan 10, 2021
85450b5
Avoid possible string truncation.
daschuer Jan 10, 2021
d346048
Avoid extra buffer for sample conversion
daschuer Jan 10, 2021
282e838
link libshout-idjc against pthread
daschuer Jan 10, 2021
8819241
Link against pthread on windows
daschuer Jan 12, 2021
1387cbc
Fix file extensions during recording.
daschuer Jan 20, 2021
597b79f
Merge remote-tracking branch 'upstream/2.3' into fdkaac-encoder3
daschuer Jan 27, 2021
be0b0d2
Fix linking to system installed libshout-idjc
daschuer Jan 28, 2021
82ec841
Merge remote-tracking branch 'upstream/2.3' into fdkaac-encoder3
daschuer Jan 31, 2021
9557eee
Re-enabled Quality slider for AAC recording
daschuer Feb 1, 2021
5843994
Avoid log spam when probing fdkaac libraries
daschuer Feb 1, 2021
3408a2b
Check return value from aacEncoder_SetParam
daschuer Feb 1, 2021
7fd6657
Check for SBR support
daschuer Feb 1, 2021
3c75744
Replace QString::null
daschuer Feb 2, 2021
171fd9d
Improve error handling when initalize the encoders for recording or b…
daschuer Feb 2, 2021
3968d81
Prevent double message box in case of recording issues.
daschuer Feb 2, 2021
0fd0429
Fix second pop up in case of encoder issues during broadcasting.
daschuer Feb 2, 2021
1aa1406
fixed shadowed varibale issue
daschuer Feb 2, 2021
d0b3532
removed stray ;
daschuer Feb 2, 2021
6609aea
Fix redundant message box when fdk-aac is not installed.
daschuer Feb 2, 2021
4132ca5
Update error message.
daschuer Feb 2, 2021
a51634a
replace isNull() with isEmpty()
daschuer Feb 3, 2021
d0c227f
Make the encoding keys more readable.
daschuer Feb 3, 2021
ad5543e
Use more QStringLiteral
daschuer Feb 3, 2021
8a2a4ec
remove useless comment
daschuer Feb 3, 2021
97e1ffe
EncoderFdkAac: update name of BUTT DLL
Be-ing Feb 4, 2021
5a39153
EncoderFdkAac: change m_library to a std::unique_ptr
Be-ing Feb 4, 2021
bd27594
EncoderFdkAac: prefer external libraries that may support HE-AAC
Be-ing Feb 4, 2021
b196d0c
EncoderFdkAac: use #pragma once
Be-ing Feb 9, 2021
8bf2abf
CMake: Allow building if FFMPEG version is missing
Holzhaus Jan 16, 2021
d4db6a9
CMake: Rewrite Ogg/Vorbis find module
Holzhaus Jan 16, 2021
3d45e10
CMake libshout-idjc: link pthreads4w from vcpkg
Be-ing Feb 4, 2021
e4f4616
use Windows dependencies from vcpkg
Be-ing Jan 24, 2021
b115f87
use macOS build environment with fdk-aac fork without HE-AAC
Be-ing Feb 3, 2021
0c15373
CMake: copy libfdk-aac into Windows and macOS packages
Be-ing Feb 3, 2021
94016e1
avoid symbol collision with fdk-aac
Be-ing Feb 9, 2021
7eceda8
CMake: cleanup hacks for legacy Windows build environment
Be-ing Feb 4, 2021
70b0c51
CMake: add user feedback for FindFFMPEG.cmake module
Be-ing Feb 4, 2021
b022501
CMake: enable FFMPEG if it is found
Be-ing Feb 4, 2021
daa876c
factor out SemanticVersion into a utility class
Be-ing Feb 9, 2021
969975e
SoundSourceSndFile: do not support ogg for libsndfile >= 1.0.30
Be-ing Feb 9, 2021
1eab1d0
Encoder: fix build with OPUS=OFF
Be-ing Feb 9, 2021
e5d98a5
ShoutConnection: allow AAC for Shoutcast
Be-ing Feb 13, 2021
18bc1e8
CMake: disable FFMPEG automatically if it is too old
Be-ing Feb 16, 2021
3133372
CMake: add comment why qt_de.dm is searched for
Be-ing Feb 17, 2021
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
Fix redundant message box when fdk-aac is not installed.
daschuer committed Feb 2, 2021
commit 6609aea704c5639f96142861dfc902804b8c7fb2
37 changes: 9 additions & 28 deletions src/encoder/encoderfdkaac.cpp
Original file line number Diff line number Diff line change
@@ -87,31 +87,6 @@ EncoderFdkAac::EncoderFdkAac(EncoderCallback* pCallback)

if (!m_library || !m_library->isLoaded()) {
kLogger.warning() << failedMsg;

ErrorDialogProperties* props = ErrorDialogHandler::instance()->newDialogProperties();
props->setType(DLG_WARNING);
props->setTitle(QObject::tr("Encoder"));

// TODO(Palakis): write installation guide on Mixxx's wiki
// and include link in message below
QString missingCodec = QObject::tr(
"<html>Mixxx cannot record or stream in AAC "
"or AAC+ without the FDK-AAC encoder. Due to licensing issues, "
"we cannot distribute this with Mixxx. "
"In order to record or stream in AAC or AAC+, you need to "
"download <b>libfdk-aac</b> "
"and install it on your system.");

#ifdef __LINUX__
missingCodec = missingCodec.arg("linux");
#elif __WINDOWS__
missingCodec = missingCodec.arg("windows");
#elif __APPLE__
missingCodec = missingCodec.arg("mac_osx");
#endif
props->setText(missingCodec);
props->setKey(missingCodec);
ErrorDialogHandler::instance()->requestErrorDialog(props);
return;
}

@@ -263,9 +238,15 @@ int EncoderFdkAac::initEncoder(int samplerate, QString* pUserErrorMessage) {
if (!m_library) {
kLogger.warning() << "initEncoder failed: fdk-aac library not loaded";
if (pUserErrorMessage) {
// TODO(Palakis): write installation guide on Mixxx's wiki
// and include link in message below
*pUserErrorMessage = QObject::tr(
"The required AAC encoding library is missing. Please "
"consult the manual for more information");
"<html>Mixxx cannot record or stream in AAC "
"or HE-AAC without the FDK-AAC encoder. Due to licensing issues, "
"we cannot distribute this with Mixxx. "
"In order to record or stream in AAC or AAC+, you need to "
"download <b>libfdk-aac</b> "
"and install it on your system.");
}
return -1;
}
@@ -275,7 +256,7 @@ int EncoderFdkAac::initEncoder(int samplerate, QString* pUserErrorMessage) {
if (pUserErrorMessage) {
*pUserErrorMessage = QObject::tr(
"The installed AAC encoding library does not support "
"HE-AAC. Please consult the manual for more information");
"HE-AAC. Please consult the manual for more information.");
}
return -1;
}