aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authortrialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38>2010-01-06 22:50:49 +0000
committertrialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38>2010-01-06 22:50:49 +0000
commitd75bbe5a88b3d4c640ae38b81e9111dbf1257369 (patch)
treed1ab9b89864a7864b9367949d2f3c25fcafa0289
parentd489c39c0ec9b4973599053892c964f89520714c (diff)
downloadqmmp-d75bbe5a88b3d4c640ae38b81e9111dbf1257369.tar.gz
qmmp-d75bbe5a88b3d4c640ae38b81e9111dbf1257369.tar.bz2
qmmp-d75bbe5a88b3d4c640ae38b81e9111dbf1257369.zip
added aac streams support(Closes issue 129)
git-svn-id: http://svn.code.sf.net/p/qmmp-dev/code/trunk/qmmp@1486 90c681e8-e032-0410-971d-27865f9a5e38
-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;
}
}