aboutsummaryrefslogtreecommitdiff
path: root/src/plugins/Input/ffmpeg/decoderffmpegfactory.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/Input/ffmpeg/decoderffmpegfactory.cpp')
-rw-r--r--src/plugins/Input/ffmpeg/decoderffmpegfactory.cpp28
1 files changed, 25 insertions, 3 deletions
diff --git a/src/plugins/Input/ffmpeg/decoderffmpegfactory.cpp b/src/plugins/Input/ffmpeg/decoderffmpegfactory.cpp
index b8ffae9fe..52bf3e3b7 100644
--- a/src/plugins/Input/ffmpeg/decoderffmpegfactory.cpp
+++ b/src/plugins/Input/ffmpeg/decoderffmpegfactory.cpp
@@ -91,14 +91,36 @@ const DecoderProperties DecoderFFmpegFactory::properties() const
{
QSettings settings(Qmmp::configFile(), QSettings::IniFormat);
QStringList filters;
- filters << "*.wma" << "*.ape";
+ filters << "*.wma" << "*.ape" << "*.tta" << "*.m4a" << "*.ra" << "*.shn" << "*.vqf" << "*.ac3";
filters = settings.value("FFMPEG/filters", filters).toStringList();
+ //removed unsupported filters
+ if(!avcodec_find_decoder(CODEC_ID_WMAV1))
+ filters.removeAll("*.wma");
+ if(!avcodec_find_decoder(CODEC_ID_APE))
+ filters.removeAll("*.ape");
+ if(!avcodec_find_decoder(CODEC_ID_TTA))
+ filters.removeAll("*.tta");
if(!avcodec_find_decoder(CODEC_ID_AAC))
- {
filters.removeAll("*.aac");
+ if(!avcodec_find_decoder(CODEC_ID_MP3))
+ filters.removeAll("*.mp3");
+ if(!avcodec_find_decoder(CODEC_ID_AAC) && !avcodec_find_decoder(CODEC_ID_ALAC))
filters.removeAll("*.m4a");
- }
+ if(!avcodec_find_decoder(CODEC_ID_RA_288))
+ filters.removeAll("*.ra");
+ if(!avcodec_find_decoder(CODEC_ID_SHORTEN))
+ filters.removeAll("*.shn");
+ if(!avcodec_find_decoder(CODEC_ID_EAC3))
+ filters.removeAll("*.ac3");
+ if(!avcodec_find_decoder(CODEC_ID_DTS))
+ filters.removeAll("*.dts");
+ if(!avcodec_find_decoder(CODEC_ID_TRUEHD))
+ filters.removeAll("*.mka");
+ if(!avcodec_find_decoder(CODEC_ID_TWINVQ))
+ filters.removeAll("*.vqf");
+
+
DecoderProperties properties;
properties.name = tr("FFmpeg Plugin");
properties.filters = filters;