From 4444443a14035245134da531c06f4aa179446354 Mon Sep 17 00:00:00 2001 From: trialuser02 Date: Sat, 4 Aug 2018 22:28:16 +0000 Subject: ffmpeg: recent api support git-svn-id: http://svn.code.sf.net/p/qmmp-dev/code/trunk/qmmp@8227 90c681e8-e032-0410-971d-27865f9a5e38 --- src/plugins/Input/Input.pro | 2 +- src/plugins/Input/ffmpeg/decoderffmpegfactory.cpp | 5 ++-- src/plugins/Input/ffmpeg/decoderffmpegfactory.h | 2 +- src/plugins/Input/ffmpeg/ffmpegmetadatamodel.cpp | 30 ++--------------------- src/plugins/Input/ffmpeg/ffmpegmetadatamodel.h | 3 +-- 5 files changed, 8 insertions(+), 34 deletions(-) (limited to 'src/plugins') 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 DecoderFFmpegFactory::createPlayList(const QString &path, Tra return QList() << 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 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 #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 FFmpegMetaDataModel::audioProperties() -{ - QHash 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 audioProperties(); - QPixmap cover(); + QPixmap cover() const override; private: AVFormatContext *m_in; -- cgit v1.2.3-13-gbd6f