diff options
Diffstat (limited to 'src/plugins/Input')
| -rw-r--r-- | src/plugins/Input/ffmpeg/CMakeLists.txt | 2 | ||||
| -rw-r--r-- | src/plugins/Input/ffmpeg/decoder_ffmpeg.cpp | 34 | ||||
| -rw-r--r-- | src/plugins/Input/ffmpeg/decoder_ffmpeg.h | 1 | ||||
| -rw-r--r-- | src/plugins/Input/ffmpeg/decoderffmpegfactory.cpp | 31 | ||||
| -rw-r--r-- | src/plugins/Input/ffmpeg/decoderffmpegfactory.h | 2 | ||||
| -rw-r--r-- | src/plugins/Input/ffmpeg/ffmpegmetadatamodel.cpp | 6 | ||||
| -rw-r--r-- | src/plugins/Input/ffmpeg/ffmpegmetadatamodel.h | 1 | ||||
| -rw-r--r-- | src/plugins/Input/ffmpeg/settingsdialog.cpp | 6 |
8 files changed, 36 insertions, 47 deletions
diff --git a/src/plugins/Input/ffmpeg/CMakeLists.txt b/src/plugins/Input/ffmpeg/CMakeLists.txt index 097a5e80c..6090845a6 100644 --- a/src/plugins/Input/ffmpeg/CMakeLists.txt +++ b/src/plugins/Input/ffmpeg/CMakeLists.txt @@ -28,7 +28,7 @@ include_directories(${CMAKE_CURRENT_SOURCE_DIR}/../../../) link_directories(${CMAKE_CURRENT_BINARY_DIR}/../../../qmmp) # ffmpeg -pkg_check_modules(FFMPEG libavcodec>=52.20.0 libavformat>=52.31.0 libavutil>=49.15.0) +pkg_check_modules(FFMPEG libavcodec>=53.7.0 libavformat>=53.4.0 libavutil>=51.9.1) include_directories(${FFMPEG_INCLUDE_DIRS}) link_directories(${FFMPEG_LIBRARY_DIRS}) diff --git a/src/plugins/Input/ffmpeg/decoder_ffmpeg.cpp b/src/plugins/Input/ffmpeg/decoder_ffmpeg.cpp index a84c55075..8b3d16129 100644 --- a/src/plugins/Input/ffmpeg/decoder_ffmpeg.cpp +++ b/src/plugins/Input/ffmpeg/decoder_ffmpeg.cpp @@ -122,7 +122,6 @@ bool DecoderFFmpeg::initialize() qDebug("DecoderFFmpeg: detected format: %s", fmt->long_name); qDebug("=%s=", fmt->name); -#if (LIBAVFORMAT_VERSION_INT >= ((52<<16)+(105<<8)+0)) m_stream = avio_alloc_context(m_input_buf, INPUT_BUFFER_SIZE, 0, this, ffmpeg_read, NULL, ffmpeg_seek); if(!m_stream) { @@ -130,17 +129,12 @@ bool DecoderFFmpeg::initialize() return false; } m_stream->seekable = !input()->isSequential(); -#else - m_stream = (ByteIOContext *)av_malloc(sizeof(ByteIOContext)); - init_put_byte(m_stream, m_input_buf, INPUT_BUFFER_SIZE, 0, this, ffmpeg_read, NULL, ffmpeg_seek); - m_stream->is_streamed = input()->isSequential(); -#endif m_stream->max_packet_size = INPUT_BUFFER_SIZE; AVFormatParameters ap; memset(&ap, 0, sizeof(ap)); - if(av_open_input_stream(&ic, m_stream, m_path.toLocal8Bit(), fmt, &ap) != 0) + if(avformat_open_input(&ic, m_path.toLocal8Bit().constData(), fmt, 0) != 0) { qDebug("DecoderFFmpeg: av_open_input_stream() failed"); return false; @@ -152,25 +146,25 @@ bool DecoderFFmpeg::initialize() if (input()->isSequential()) { QMap<Qmmp::MetaData, QString> metaData; - AVMetadataTag *album = av_metadata_get(ic->metadata,"album",0,0); + AVDictionaryEntry *album = av_dict_get(ic->metadata,"album",0,0); if(!album) - album = av_metadata_get(ic->metadata,"WM/AlbumTitle",0,0); - AVMetadataTag *artist = av_metadata_get(ic->metadata,"artist",0,0); + album = av_dict_get(ic->metadata,"WM/AlbumTitle",0,0); + AVDictionaryEntry *artist = av_dict_get(ic->metadata,"artist",0,0); if(!artist) - artist = av_metadata_get(ic->metadata,"author",0,0); - AVMetadataTag *comment = av_metadata_get(ic->metadata,"comment",0,0); - AVMetadataTag *genre = av_metadata_get(ic->metadata,"genre",0,0); - AVMetadataTag *title = av_metadata_get(ic->metadata,"title",0,0); - AVMetadataTag *year = av_metadata_get(ic->metadata,"WM/Year",0,0); + artist = av_dict_get(ic->metadata,"author",0,0); + AVDictionaryEntry *comment = av_dict_get(ic->metadata,"comment",0,0); + AVDictionaryEntry *genre = av_dict_get(ic->metadata,"genre",0,0); + AVDictionaryEntry *title = av_dict_get(ic->metadata,"title",0,0); + AVDictionaryEntry *year = av_dict_get(ic->metadata,"WM/Year",0,0); if(!year) - year = av_metadata_get(ic->metadata,"year",0,0); + year = av_dict_get(ic->metadata,"year",0,0); if(!year) - year = av_metadata_get(ic->metadata,"date",0,0); - AVMetadataTag *track = av_metadata_get(ic->metadata,"track",0,0); + year = av_dict_get(ic->metadata,"date",0,0); + AVDictionaryEntry *track = av_dict_get(ic->metadata,"track",0,0); if(!track) - track = av_metadata_get(ic->metadata,"WM/Track",0,0); + track = av_dict_get(ic->metadata,"WM/Track",0,0); if(!track) - track = av_metadata_get(ic->metadata,"WM/TrackNumber",0,0); + track = av_dict_get(ic->metadata,"WM/TrackNumber",0,0); if(album) metaData.insert(Qmmp::ALBUM, QString::fromUtf8(album->value).trimmed()); diff --git a/src/plugins/Input/ffmpeg/decoder_ffmpeg.h b/src/plugins/Input/ffmpeg/decoder_ffmpeg.h index 0c5b6d4da..e5ec48a49 100644 --- a/src/plugins/Input/ffmpeg/decoder_ffmpeg.h +++ b/src/plugins/Input/ffmpeg/decoder_ffmpeg.h @@ -25,6 +25,7 @@ extern "C"{ #include <libavformat/avformat.h> #include <libavcodec/avcodec.h> #include <libavutil/mathematics.h> +#include <libavutil/dict.h> } #include <qmmp/decoder.h> diff --git a/src/plugins/Input/ffmpeg/decoderffmpegfactory.cpp b/src/plugins/Input/ffmpeg/decoderffmpegfactory.cpp index 24c7b8648..c8147eab4 100644 --- a/src/plugins/Input/ffmpeg/decoderffmpegfactory.cpp +++ b/src/plugins/Input/ffmpeg/decoderffmpegfactory.cpp @@ -24,6 +24,7 @@ extern "C"{ #include <libavformat/avformat.h> #include <libavcodec/avcodec.h> +#include <libavutil/dict.h> } #include "ffmpegmetadatamodel.h" @@ -128,7 +129,7 @@ QList<FileInfo *> DecoderFFmpegFactory::createPlayList(const QString &fileName, av_register_all(); AVFormatContext *in = 0; - if (av_open_input_file(&in, fileName.toLocal8Bit(), 0, 0, 0) < 0) + if (avformat_open_input(&in,fileName.toLocal8Bit().constData(), 0, 0) < 0) { qDebug("DecoderFFmpegFactory: unable to open file"); return list; @@ -138,25 +139,25 @@ QList<FileInfo *> DecoderFFmpegFactory::createPlayList(const QString &fileName, if (useMetaData) { - AVMetadataTag *album = av_metadata_get(in->metadata,"album",0,0); + AVDictionaryEntry *album = av_dict_get(in->metadata,"album",0,0); if(!album) - album = av_metadata_get(in->metadata,"WM/AlbumTitle",0,0); - AVMetadataTag *artist = av_metadata_get(in->metadata,"artist",0,0); + album = av_dict_get(in->metadata,"WM/AlbumTitle",0,0); + AVDictionaryEntry *artist = av_dict_get(in->metadata,"artist",0,0); if(!artist) - artist = av_metadata_get(in->metadata,"author",0,0); - AVMetadataTag *comment = av_metadata_get(in->metadata,"comment",0,0); - AVMetadataTag *genre = av_metadata_get(in->metadata,"genre",0,0); - AVMetadataTag *title = av_metadata_get(in->metadata,"title",0,0); - AVMetadataTag *year = av_metadata_get(in->metadata,"WM/Year",0,0); + artist = av_dict_get(in->metadata,"author",0,0); + AVDictionaryEntry *comment = av_dict_get(in->metadata,"comment",0,0); + AVDictionaryEntry *genre = av_dict_get(in->metadata,"genre",0,0); + AVDictionaryEntry *title = av_dict_get(in->metadata,"title",0,0); + AVDictionaryEntry *year = av_dict_get(in->metadata,"WM/Year",0,0); if(!year) - year = av_metadata_get(in->metadata,"year",0,0); + year = av_dict_get(in->metadata,"year",0,0); if(!year) - year = av_metadata_get(in->metadata,"date",0,0); - AVMetadataTag *track = av_metadata_get(in->metadata,"track",0,0); + year = av_dict_get(in->metadata,"date",0,0); + AVDictionaryEntry *track = av_dict_get(in->metadata,"track",0,0); if(!track) - track = av_metadata_get(in->metadata,"WM/Track",0,0); + track = av_dict_get(in->metadata,"WM/Track",0,0); if(!track) - track = av_metadata_get(in->metadata,"WM/TrackNumber",0,0); + track = av_dict_get(in->metadata,"WM/TrackNumber",0,0); if(album) info->setMetaData(Qmmp::ALBUM, QString::fromUtf8(album->value).trimmed()); @@ -195,7 +196,6 @@ void DecoderFFmpegFactory::showAbout(QWidget *parent) QMessageBox::about (parent, tr("About FFmpeg Audio Plugin"), tr("Qmmp FFmpeg Audio Plugin")+"\n"+ -#if (LIBAVFORMAT_VERSION_INT >= ((52<<16)+(17<<8)+0)) && (LIBAVCODEC_VERSION_INT >= ((51<<16)+(60<<8)+0)) QString(tr("Compiled against libavformat-%1.%2.%3 and libavcodec-%4.%5.%6")) .arg(LIBAVFORMAT_VERSION_MAJOR) .arg(LIBAVFORMAT_VERSION_MINOR) @@ -203,7 +203,6 @@ void DecoderFFmpegFactory::showAbout(QWidget *parent) .arg(LIBAVCODEC_VERSION_MAJOR) .arg(LIBAVCODEC_VERSION_MINOR) .arg(LIBAVCODEC_VERSION_MICRO)+"\n"+ -#endif tr("Written by: Ilya Kotov <forkotov02@hotmail.ru>")); } diff --git a/src/plugins/Input/ffmpeg/decoderffmpegfactory.h b/src/plugins/Input/ffmpeg/decoderffmpegfactory.h index 7865ae600..856987496 100644 --- a/src/plugins/Input/ffmpeg/decoderffmpegfactory.h +++ b/src/plugins/Input/ffmpeg/decoderffmpegfactory.h @@ -34,7 +34,7 @@ class DecoderFFmpegFactory : public QObject, DecoderFactory { Q_OBJECT -Q_INTERFACES(DecoderFactory); +Q_INTERFACES(DecoderFactory) public: bool supports(const QString &source) const; diff --git a/src/plugins/Input/ffmpeg/ffmpegmetadatamodel.cpp b/src/plugins/Input/ffmpeg/ffmpegmetadatamodel.cpp index cbabfe1f1..b8c9ff9eb 100644 --- a/src/plugins/Input/ffmpeg/ffmpegmetadatamodel.cpp +++ b/src/plugins/Input/ffmpeg/ffmpegmetadatamodel.cpp @@ -26,7 +26,7 @@ FFmpegMetaDataModel::FFmpegMetaDataModel(const QString &path, QObject *parent) : avcodec_init(); avcodec_register_all(); av_register_all(); - if (av_open_input_file(&m_in, path.toLocal8Bit(), NULL,0, NULL) < 0) + if (avformat_open_input(&m_in, path.toLocal8Bit().constData(), 0, 0) < 0) return; av_find_stream_info(m_in); av_read_play(m_in); @@ -54,11 +54,7 @@ QHash<QString, QString> FFmpegMetaDataModel::audioProperties() for (wma_idx = 0; wma_idx < m_in->nb_streams; wma_idx++) { c = m_in->streams[wma_idx]->codec; -#if LIBAVCODEC_VERSION_MAJOR < 53 - if (c->codec_type == CODEC_TYPE_AUDIO) -#else if (c->codec_type == AVMEDIA_TYPE_AUDIO) -#endif break; } if (c) diff --git a/src/plugins/Input/ffmpeg/ffmpegmetadatamodel.h b/src/plugins/Input/ffmpeg/ffmpegmetadatamodel.h index e14f8b93c..da58afcd4 100644 --- a/src/plugins/Input/ffmpeg/ffmpegmetadatamodel.h +++ b/src/plugins/Input/ffmpeg/ffmpegmetadatamodel.h @@ -24,6 +24,7 @@ extern "C"{ #include <libavformat/avformat.h> #include <libavcodec/avcodec.h> +#include <libavutil/dict.h> } #include <qmmp/metadatamodel.h> diff --git a/src/plugins/Input/ffmpeg/settingsdialog.cpp b/src/plugins/Input/ffmpeg/settingsdialog.cpp index 911c7fe8f..ea336ba90 100644 --- a/src/plugins/Input/ffmpeg/settingsdialog.cpp +++ b/src/plugins/Input/ffmpeg/settingsdialog.cpp @@ -26,6 +26,7 @@ extern "C"{ #include <libavformat/avformat.h> #include <libavcodec/avcodec.h> +#include <libavutil/dict.h> } #include "settingsdialog.h" @@ -62,12 +63,9 @@ SettingsDialog::SettingsDialog(QWidget *parent) ui.ac3CheckBox->setChecked(filters.contains("*.ac3") && avcodec_find_decoder(CODEC_ID_EAC3)); ui.dtsCheckBox->setEnabled(avcodec_find_decoder(CODEC_ID_DTS)); ui.dtsCheckBox->setChecked(filters.contains("*.dts") && avcodec_find_decoder(CODEC_ID_DTS)); -#if (LIBAVCODEC_VERSION_INT >= ((52<<16)+(22<<8)+0)) + ui.mkaCheckBox->setEnabled(avcodec_find_decoder(CODEC_ID_TRUEHD)); ui.mkaCheckBox->setChecked(filters.contains("*.mka") && avcodec_find_decoder(CODEC_ID_TRUEHD)); -#else - ui.mkaCheckBox->setEnabled(false); -#endif } SettingsDialog::~SettingsDialog() |
