aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authortrialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38>2020-01-02 16:01:24 +0000
committertrialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38>2020-01-02 16:01:24 +0000
commitae4597427092c4c500c0e4b5138f8fd5d72cf941 (patch)
tree73e8197ba309ea0c7fe63067ccb5599557b80ba0
parent687d19c14408aea92eba3c2b3b444243806a5dde (diff)
downloadqmmp-ae4597427092c4c500c0e4b5138f8fd5d72cf941.tar.gz
qmmp-ae4597427092c4c500c0e4b5138f8fd5d72cf941.tar.bz2
qmmp-ae4597427092c4c500c0e4b5138f8fd5d72cf941.zip
ffmpeg: refactoring
git-svn-id: http://svn.code.sf.net/p/qmmp-dev/code/trunk/qmmp@9178 90c681e8-e032-0410-971d-27865f9a5e38
-rw-r--r--src/plugins/Input/ffmpeg/decoder_ffmpeg.cpp20
-rw-r--r--src/plugins/Input/ffmpeg/decoderffmpegfactory.cpp38
2 files changed, 36 insertions, 22 deletions
diff --git a/src/plugins/Input/ffmpeg/decoder_ffmpeg.cpp b/src/plugins/Input/ffmpeg/decoder_ffmpeg.cpp
index bdd4bfb6e..b1b1bb4f5 100644
--- a/src/plugins/Input/ffmpeg/decoder_ffmpeg.cpp
+++ b/src/plugins/Input/ffmpeg/decoder_ffmpeg.cpp
@@ -170,22 +170,26 @@ bool DecoderFFmpeg::initialize()
{
QMap<Qmmp::MetaData, QString> metaData;
AVDictionaryEntry *album = av_dict_get(ic->metadata,"album",nullptr,0);
- if(!album)
- album = av_dict_get(ic->metadata,"WM/AlbumTitle",nullptr,0);
AVDictionaryEntry *album_artist = av_dict_get(ic->metadata,"album_artist",nullptr,0);
AVDictionaryEntry *artist = av_dict_get(ic->metadata,"artist",nullptr,0);
- if(!artist)
- artist = av_dict_get(ic->metadata,"author",nullptr,0);
AVDictionaryEntry *composer = av_dict_get(ic->metadata,"composer",nullptr,0);
AVDictionaryEntry *comment = av_dict_get(ic->metadata,"comment",nullptr,0);
AVDictionaryEntry *genre = av_dict_get(ic->metadata,"genre",nullptr,0);
AVDictionaryEntry *title = av_dict_get(ic->metadata,"title",nullptr,0);
- AVDictionaryEntry *year = av_dict_get(ic->metadata,"WM/Year",nullptr,0);
+ AVDictionaryEntry *year = av_dict_get(ic->metadata,"date",nullptr,0);
+ AVDictionaryEntry *track = av_dict_get(ic->metadata,"track",nullptr,0);
+
+ if(!album)
+ album = av_dict_get(ic->metadata,"WM/AlbumTitle",nullptr,0);
+
+ if(!artist)
+ artist = av_dict_get(ic->metadata,"author",nullptr,0);
+
if(!year)
- year = av_dict_get(ic->metadata,"year",nullptr,0);
+ year = av_dict_get(ic->metadata,"WM/Year",nullptr,0);
if(!year)
- year = av_dict_get(ic->metadata,"date",nullptr,0);
- AVDictionaryEntry *track = av_dict_get(ic->metadata,"track",nullptr,0);
+ year = av_dict_get(ic->metadata,"year",nullptr,0);
+
if(!track)
track = av_dict_get(ic->metadata,"WM/Track",nullptr,0);
if(!track)
diff --git a/src/plugins/Input/ffmpeg/decoderffmpegfactory.cpp b/src/plugins/Input/ffmpeg/decoderffmpegfactory.cpp
index 8ec2e7630..fcdc91bf1 100644
--- a/src/plugins/Input/ffmpeg/decoderffmpegfactory.cpp
+++ b/src/plugins/Input/ffmpeg/decoderffmpegfactory.cpp
@@ -1,5 +1,5 @@
/***************************************************************************
- * Copyright (C) 2008-2019 by Ilya Kotov *
+ * Copyright (C) 2008-2020 by Ilya Kotov *
* forkotov02@ya.ru *
* *
* This program is free software; you can redistribute it and/or modify *
@@ -237,35 +237,45 @@ QList<TrackInfo *> DecoderFFmpegFactory::createPlayList(const QString &path, Tra
}
AVDictionaryEntry *album = av_dict_get(in->metadata,"album",nullptr,0);
- if(!album)
- album = av_dict_get(in->metadata,"WM/AlbumTitle",nullptr,0);
+ AVDictionaryEntry *album_artist = av_dict_get(in->metadata,"album_artist",nullptr,0);
AVDictionaryEntry *artist = av_dict_get(in->metadata,"artist",nullptr,0);
- if(!artist)
- artist = av_dict_get(in->metadata,"author",nullptr,0);
+ AVDictionaryEntry *composer = av_dict_get(in->metadata,"composer",nullptr,0);
AVDictionaryEntry *comment = av_dict_get(in->metadata,"comment",nullptr,0);
AVDictionaryEntry *genre = av_dict_get(in->metadata,"genre",nullptr,0);
AVDictionaryEntry *title = av_dict_get(in->metadata,"title",nullptr,0);
- AVDictionaryEntry *year = av_dict_get(in->metadata,"WM/Year",nullptr,0);
+ AVDictionaryEntry *year = av_dict_get(in->metadata,"date",nullptr,0);
+ AVDictionaryEntry *track = av_dict_get(in->metadata,"track",nullptr,0);
+
+ if(!album)
+ album = av_dict_get(in->metadata,"WM/AlbumTitle",nullptr,0);
+
+ if(!artist)
+ artist = av_dict_get(in->metadata,"author",nullptr,0);
+
if(!year)
- year = av_dict_get(in->metadata,"year",nullptr,0);
+ year = av_dict_get(in->metadata,"WM/Year",nullptr,0);
if(!year)
- year = av_dict_get(in->metadata,"date",nullptr,0);
- AVDictionaryEntry *track = av_dict_get(in->metadata,"track",nullptr,0);
+ year = av_dict_get(in->metadata,"year",nullptr,0);
+
if(!track)
track = av_dict_get(in->metadata,"WM/Track",nullptr,0);
if(!track)
track = av_dict_get(in->metadata,"WM/TrackNumber",nullptr,0);
if(album)
- info->setValue(Qmmp::ALBUM, QString::fromUtf8(album->value));
+ info->setValue(Qmmp::ALBUM, QString::fromUtf8(album->value).trimmed());
+ if(album_artist)
+ info->setValue(Qmmp::ALBUMARTIST, QString::fromUtf8(album_artist->value).trimmed());
if(artist)
- info->setValue(Qmmp::ARTIST, QString::fromUtf8(artist->value));
+ info->setValue(Qmmp::ARTIST, QString::fromUtf8(artist->value).trimmed());
+ if(composer)
+ info->setValue(Qmmp::COMPOSER, QString::fromUtf8(composer->value).trimmed());
if(comment)
- info->setValue(Qmmp::COMMENT, QString::fromUtf8(comment->value));
+ info->setValue(Qmmp::COMMENT, QString::fromUtf8(comment->value).trimmed());
if(genre)
- info->setValue(Qmmp::GENRE, QString::fromUtf8(genre->value));
+ info->setValue(Qmmp::GENRE, QString::fromUtf8(genre->value).trimmed());
if(title)
- info->setValue(Qmmp::TITLE, QString::fromUtf8(title->value));
+ info->setValue(Qmmp::TITLE, QString::fromUtf8(title->value).trimmed());
if(year)
info->setValue(Qmmp::YEAR, year->value);
if(track)