aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/plugins/Input/ffmpeg/decoderffmpegfactory.cpp7
-rw-r--r--src/plugins/Transports/http/downloader.cpp11
2 files changed, 12 insertions, 6 deletions
diff --git a/src/plugins/Input/ffmpeg/decoderffmpegfactory.cpp b/src/plugins/Input/ffmpeg/decoderffmpegfactory.cpp
index edf830893..95f3244fa 100644
--- a/src/plugins/Input/ffmpeg/decoderffmpegfactory.cpp
+++ b/src/plugins/Input/ffmpeg/decoderffmpegfactory.cpp
@@ -91,6 +91,8 @@ bool DecoderFFmpegFactory::canDecode(QIODevice *i) const
}
if(filters.contains("*.mp3") && !memcmp(fmt->name, "mp3", 3))
return TRUE;
+ if(filters.contains("*.aac") && !memcmp(fmt->name, "aac", 3))
+ return TRUE;
return FALSE;
}
@@ -112,12 +114,15 @@ const DecoderProperties DecoderFFmpegFactory::properties() const
properties.contentType += "audio/x-ms-wma";
if(filters.contains("*.mp3"))
properties.contentType += " audio/mpeg";
+ if(filters.contains("*.aac"))
+ properties.contentType += " audio/aac audio/aacp";
+ if(filters.contains("*.m4a"))
+ properties.contentType += " audio/3gpp audio/3gpp2 audio/mp4 audio/MP4A-LATM audio/mpeg4-generic";
properties.contentType = properties.contentType.trimmed();
properties.shortName = "ffmpeg";
properties.hasAbout = TRUE;
properties.hasSettings = TRUE;
properties.noInput = FALSE;
- //properties.protocols = "file";
return properties;
}
diff --git a/src/plugins/Transports/http/downloader.cpp b/src/plugins/Transports/http/downloader.cpp
index e47eeb4b9..2ac5a65a3 100644
--- a/src/plugins/Transports/http/downloader.cpp
+++ b/src/plugins/Transports/http/downloader.cpp
@@ -348,13 +348,14 @@ void Downloader::parseICYMetaData(char *data)
{
line = line.right(line.size() - line.indexOf("=") - 1).trimmed();
m_title = line.remove("'");
+ QMap<Qmmp::MetaData, QString> metaData;
if (!m_title.isEmpty())
- {
- QMap<Qmmp::MetaData, QString> metaData;
metaData.insert(Qmmp::TITLE, m_title);
- metaData.insert(Qmmp::URL, m_url);
- StateHandler::instance()->dispatch(metaData);
- }
+ else
+ metaData.insert(Qmmp::TITLE, m_stream.header.value("icy-name"));
+ metaData.insert(Qmmp::GENRE, m_stream.header.value("icy-genre"));
+ metaData.insert(Qmmp::URL, m_url);
+ StateHandler::instance()->dispatch(metaData);
break;
}
}