diff options
| author | trialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38> | 2018-08-04 22:28:16 +0000 |
|---|---|---|
| committer | trialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38> | 2018-08-04 22:28:16 +0000 |
| commit | 4444443a14035245134da531c06f4aa179446354 (patch) | |
| tree | 302eea695be538ba649dfbd35341da512d018625 /src/plugins | |
| parent | 1ea609bbe5a5e83168ba77379439eaf1dc4ef475 (diff) | |
| download | qmmp-4444443a14035245134da531c06f4aa179446354.tar.gz qmmp-4444443a14035245134da531c06f4aa179446354.tar.bz2 qmmp-4444443a14035245134da531c06f4aa179446354.zip | |
ffmpeg: recent api support
git-svn-id: http://svn.code.sf.net/p/qmmp-dev/code/trunk/qmmp@8227 90c681e8-e032-0410-971d-27865f9a5e38
Diffstat (limited to 'src/plugins')
| -rw-r--r-- | src/plugins/Input/Input.pro | 2 | ||||
| -rw-r--r-- | src/plugins/Input/ffmpeg/decoderffmpegfactory.cpp | 5 | ||||
| -rw-r--r-- | src/plugins/Input/ffmpeg/decoderffmpegfactory.h | 2 | ||||
| -rw-r--r-- | src/plugins/Input/ffmpeg/ffmpegmetadatamodel.cpp | 30 | ||||
| -rw-r--r-- | src/plugins/Input/ffmpeg/ffmpegmetadatamodel.h | 3 |
5 files changed, 8 insertions, 34 deletions
diff --git a/src/plugins/Input/Input.pro b/src/plugins/Input/Input.pro index c05586521..92449114e 100644 --- a/src/plugins/Input/Input.pro +++ b/src/plugins/Input/Input.pro @@ -20,7 +20,7 @@ contains(CONFIG, MODPLUG_PLUGIN){ } contains(CONFIG, FFMPEG_PLUGIN){ -# SUBDIRS += ffmpeg + SUBDIRS += ffmpeg } contains(CONFIG, GME_PLUGIN){ diff --git a/src/plugins/Input/ffmpeg/decoderffmpegfactory.cpp b/src/plugins/Input/ffmpeg/decoderffmpegfactory.cpp index c14dfb604..b40a558c8 100644 --- a/src/plugins/Input/ffmpeg/decoderffmpegfactory.cpp +++ b/src/plugins/Input/ffmpeg/decoderffmpegfactory.cpp @@ -237,9 +237,10 @@ QList<TrackInfo *> DecoderFFmpegFactory::createPlayList(const QString &path, Tra return QList<TrackInfo*>() << info; } -MetaDataModel* DecoderFFmpegFactory::createMetaDataModel(const QString &path, QObject *parent) +MetaDataModel* DecoderFFmpegFactory::createMetaDataModel(const QString &path, bool readOnly, QObject *parent) { - return new FFmpegMetaDataModel(path,parent); + Q_UNUSED(readOnly); + return new FFmpegMetaDataModel(path, parent); } void DecoderFFmpegFactory::showSettings(QWidget *parent) diff --git a/src/plugins/Input/ffmpeg/decoderffmpegfactory.h b/src/plugins/Input/ffmpeg/decoderffmpegfactory.h index 559fa1b4b..605e26725 100644 --- a/src/plugins/Input/ffmpeg/decoderffmpegfactory.h +++ b/src/plugins/Input/ffmpeg/decoderffmpegfactory.h @@ -35,7 +35,7 @@ public: DecoderProperties properties() const; Decoder *create(const QString &, QIODevice *); QList<TrackInfo *> createPlayList(const QString &path, TrackInfo::Parts parts, QStringList *); - MetaDataModel* createMetaDataModel(const QString &path, QObject *parent = 0); + MetaDataModel* createMetaDataModel(const QString &path, bool readOnly = true, QObject *parent = 0); void showSettings(QWidget *parent); void showAbout(QWidget *parent); QString translation() const; diff --git a/src/plugins/Input/ffmpeg/ffmpegmetadatamodel.cpp b/src/plugins/Input/ffmpeg/ffmpegmetadatamodel.cpp index adef44a30..14feeaf03 100644 --- a/src/plugins/Input/ffmpeg/ffmpegmetadatamodel.cpp +++ b/src/plugins/Input/ffmpeg/ffmpegmetadatamodel.cpp @@ -21,7 +21,7 @@ #include <stdint.h> #include "ffmpegmetadatamodel.h" -FFmpegMetaDataModel::FFmpegMetaDataModel(const QString &path, QObject *parent) : MetaDataModel(parent) +FFmpegMetaDataModel::FFmpegMetaDataModel(const QString &path, QObject *parent) : MetaDataModel(true, parent) { m_in = 0; #ifdef Q_OS_WIN @@ -40,33 +40,7 @@ FFmpegMetaDataModel::~FFmpegMetaDataModel() avformat_close_input(&m_in); } -QHash<QString, QString> FFmpegMetaDataModel::audioProperties() -{ - QHash<QString, QString> ap; - if(!m_in) - return ap; - QString text = QString("%1").arg(int(m_in->duration/AV_TIME_BASE)/60); - text +=":"+QString("%1").arg(int(m_in->duration/AV_TIME_BASE)%60,2,10,QChar('0')); - ap.insert(tr("Length"), text); - ap.insert(tr("File size"), tr("%1 KB").arg(avio_size(m_in->pb) / 1000)); - ap.insert(tr("Bitrate"), tr("%1 kbps").arg(m_in->bit_rate/1000)); - - int idx = av_find_best_stream(m_in, AVMEDIA_TYPE_AUDIO, -1, -1, 0, 0); - - if(idx >= 0) - { -#if (LIBAVCODEC_VERSION_INT >= AV_VERSION_INT(57,48,0)) //ffmpeg-3.1: 57.48.101 - AVCodecParameters *c = m_in->streams[idx]->codecpar; -#else - AVCodecContext *c = m_in->streams[idx]->codec; -#endif - ap.insert(tr("Sample rate"), tr("%1 Hz").arg(c->sample_rate)); - ap.insert(tr("Channels"), QString("%1").arg(c->channels)); - } - return ap; -} - -QPixmap FFmpegMetaDataModel::cover() +QPixmap FFmpegMetaDataModel::cover() const { if(!m_in) return QPixmap(); diff --git a/src/plugins/Input/ffmpeg/ffmpegmetadatamodel.h b/src/plugins/Input/ffmpeg/ffmpegmetadatamodel.h index 79ebafdc3..e22acee1c 100644 --- a/src/plugins/Input/ffmpeg/ffmpegmetadatamodel.h +++ b/src/plugins/Input/ffmpeg/ffmpegmetadatamodel.h @@ -37,8 +37,7 @@ Q_OBJECT public: FFmpegMetaDataModel(const QString &path, QObject *parent); ~FFmpegMetaDataModel(); - QHash<QString, QString> audioProperties(); - QPixmap cover(); + QPixmap cover() const override; private: AVFormatContext *m_in; |
