Index: head/multimedia/qmmp-qt5/Makefile =================================================================== --- head/multimedia/qmmp-qt5/Makefile (revision 468854) +++ head/multimedia/qmmp-qt5/Makefile (revision 468855) @@ -1,315 +1,314 @@ # $FreeBSD$ PORTNAME= qmmp PORTVERSION= 1.2.0 PORTREVISION= 3 CATEGORIES= multimedia MASTER_SITES= http://qmmp.ylsoftware.com/files/ \ SF/qmmp-dev/${PORTNAME}/ PKGNAMESUFFIX= -qt5 MAINTAINER= liangtai.s16@gmail.com COMMENT= Qt5-based multimedia player LICENSE= GPLv2 LICENSE_FILE= ${WRKSRC}/COPYING CONFLICTS= ${PORTNAME}-0.* PORTSCOUT= limit:^1\..* USES= cmake:outsource pathfix pkgconfig tar:bzip2 USE_QT5= core gui network widgets xml \ buildtools_build linguisttools_build qmake_build USE_LDCONFIG= yes OPTIONS_SUB= yes OPTIONS_GROUP= DOCUMENTS PLUGIN_APPLICATION PLUGIN_FORMATS \ PLUGIN_DSP_EFFECTS PLUGIN_VISUAL_EFFECTS PLUGIN_OUTPUT \ PLUGIN_PLAYLIST PLUGIN_NETWORKING MISC PLUGIN_APPLICATION_DESC= Main program view OPTIONS_GROUP_PLUGIN_APPLICATION= GNOMEHOTKEY HOTKEY KDENOTIFY \ NOTIFIER QMMP_DIALOG QSUI SKINNEDUI STATICON TWOPANELDIALOG DOCUMENTS_DESC= Documentation and API Reference OPTIONS_GROUP_DOCUMENTS= DOCS DOXYGEN PLUGIN_FORMATS_DESC= Support various media formats OPTIONS_GROUP_PLUGIN_FORMATS= ARCHIVE CDDA FAAD FFMPEG FLAC GME \ MAD MODPLUG MUSEPACK OPUS SNDFILE VORBIS WAVPACK WILDMIDI PLUGIN_DSP_EFFECTS_DESC= DSP effects OPTIONS_GROUP_PLUGIN_DSP_EFFECTS= BS2B CROSSFADE LADSPA SOXR STEREO PLUGIN_VISUAL_EFFECTS_DESC= Visual effects OPTIONS_GROUP_PLUGIN_VISUAL_EFFECTS= ANALYZER PROJECTM PLUGIN_OUTPUT_DESC= Output sound systems OPTIONS_GROUP_PLUGIN_OUTPUT= ALSA JACK NULLOUT OSS OSS4 \ PULSEAUDIO QTMULTIMEDIA SHOUTCAST PLUGIN_PLAYLIST_DESC= Playlist operation OPTIONS_GROUP_PLUGIN_PLAYLIST= COPYPASTE DIR_ASSOC FILEOPS HAL \ TRACKCHANGE UDISKS2 PLUGIN_NETWORKING_DESC= Features via the Net OPTIONS_GROUP_PLUGIN_NETWORKING= COVER CURL LYRICS MMS SB SCROBBLER MISC_DESC= Other features OPTIONS_GROUP_MISC= CONVERTER CUE ENCA FILEWRITER MPLAYER MPRIS RGSCAN SID OPTIONS_DEFAULT= ALSA ANALYZER ARCHIVE BS2B CDDA CONVERTER COPYPASTE COVER \ CROSSFADE CUE CURL DIR_ASSOC ENCA FAAD FFMPEG FILEOPS FILEWRITER FLAC \ GNOMEHOTKEY GME HAL HOTKEY JACK KDENOTIFY LADSPA LYRICS MAD \ MMS MODPLUG MPRIS MPLAYER MUSEPACK NOTIFIER NULLOUT \ OPUS OSS4 PROJECTM PULSEAUDIO QMMP_DIALOG QSUI QTMULTIMEDIA RGSCAN \ SHOUTCAST SB SCROBBLER SID SKINNEDUI SNDFILE SOXR STATICON STEREO \ TRACKCHANGE TWOPANELDIALOG UDISKS2 VORBIS WAVPACK WILDMIDI DOXYGEN_BUILD_DEPENDS= doxygen:devel/doxygen QSUI_DESC= Simple UI based on standard widgets set QSUI_CMAKE_BOOL= USE_QSUI SKINNEDUI_DESC= Skinned GUI SKINNEDUI_USE= QT5=x11extras XORG=x11 SKINNEDUI_CMAKE_BOOL= USE_SKINNED DIR_ASSOC_DESC= inode/directory mime type association DIR_ASSOC_CMAKE_BOOL= USE_DIR_ASSOC DIR_ASSOC_USES= desktop-file-utils JACK_LIB_DEPENDS= libjack.so:audio/jack \ libsoxr.so:audio/libsoxr JACK_BUILD_DEPENDS= jackit>=0.121.2:audio/jack JACK_CMAKE_BOOL= USE_JACK ALSA_LIB_DEPENDS= libasound.so:audio/alsa-lib ALSA_CMAKE_BOOL= USE_ALSA BS2B_DESC= Support the Bauer stereophonic2binaural effect BS2B_LIB_DEPENDS= libbs2b.so:audio/libbs2b BS2B_CMAKE_BOOL= USE_BS2B PULSEAUDIO_LIB_DEPENDS= libpulse.so:audio/pulseaudio PULSEAUDIO_CMAKE_BOOL= USE_PULSE QTMULTIMEDIA_DESC= Support to use Qt low-level multimedia API QTMULTIMEDIA_USE= QT5=multimedia QTMULTIMEDIA_CMAKE_BOOL= USE_QTMULTIMEDIA SHOUTCAST_LIB_DEPENDS= libogg.so:audio/libogg \ libshout.so:audio/libshout \ libsoxr.so:audio/libsoxr \ libvorbis.so:audio/libvorbis SHOUTCAST_CMAKE_BOOL= USE_SHOUT FLAC_LIB_DEPENDS= libFLAC.so:audio/flac \ libtag.so:audio/taglib FLAC_CMAKE_BOOL= USE_FLAC MUSEPACK_LIB_DEPENDS= libmpcdec.so:audio/musepack \ libtag.so:audio/taglib MUSEPACK_CMAKE_BOOL= USE_MPC GME_DESC= Support video game music files GME_LIB_DEPENDS= libgme.so:audio/libgme GME_CMAKE_BOOL= USE_GME -FFMPEG_BROKEN= fails to build with ffmpeg 4.0 FFMPEG_LIB_DEPENDS= libavcodec.so:multimedia/ffmpeg FFMPEG_CMAKE_BOOL= USE_FFMPEG MODPLUG_LIB_DEPENDS= libmodplug.so:audio/libmodplug MODPLUG_CMAKE_BOOL= USE_MODPLUG FAAD_LIB_DEPENDS= libfaad.so:audio/faad \ libtag.so:audio/taglib FAAD_CMAKE_BOOL= USE_AAC CDDA_LIB_DEPENDS= libcdio.so:sysutils/libcdio \ libcddb.so:audio/libcddb \ libcdio_cdda.so:sysutils/libcdio-paranoia CDDA_CMAKE_BOOL= USE_CDA ENCA_DESC= Support automatic character set detection ENCA_LIB_DEPENDS= libenca.so:converters/enca ENCA_CMAKE_BOOL= USE_ENCA FILEWRITER_DESC= Dump output sound into ogg audio file FILEWRITER_LIB_DEPENDS= libvorbisenc.so:audio/libvorbis FILEWRITER_CMAKE_BOOL= USE_FILEWRITER MPLAYER_DESC= Enable showing videos by mplayer MPLAYER_RUN_DEPENDS= mplayer:multimedia/mplayer MPLAYER_CMAKE_BOOL= USE_MPLAYER PROJECTM_DESC= Support the projectM music visualiser PROJECTM_LIB_DEPENDS= libprojectM.so.2:graphics/libprojectm PROJECTM_USE= GL=gl PROJECTM_CMAKE_BOOL= USE_PROJECTM OSS_CMAKE_BOOL= USE_OSS OSS4_DESC= Open Sound System (ver4) support OSS4_BUILD_DEPENDS= ${LOCALBASE}/lib/oss/include/sys/soundcard.h:audio/oss OSS4_CMAKE_BOOL= USE_OSS4 LADSPA_RUN_DEPENDS= analyseplugin:audio/ladspa LADSPA_CMAKE_BOOL= USE_LADSPA WILDMIDI_DESC= Support to playback MIDI files WILDMIDI_LIB_DEPENDS= libWildMidi.so:audio/wildmidi WILDMIDI_CMAKE_BOOL= USE_MIDI MAD_LIB_DEPENDS= libmad.so:audio/libmad \ libtag.so:audio/taglib MAD_CMAKE_BOOL= USE_MAD OPUS_DESC= Enable reading opusfile tags OPUS_LIB_DEPENDS= libopusfile.so:audio/opusfile \ libopus.so:audio/opus \ libtag.so:audio/taglib OPUS_CMAKE_BOOL= USE_OPUS RGSCAN_DESC= ReplayGain scanner RGSCAN_LIB_DEPENDS= libtag.so:audio/taglib RGSCAN_CMAKE_BOOL= USE_RGSCAN SNDFILE_LIB_DEPENDS= libsndfile.so:audio/libsndfile SNDFILE_CMAKE_BOOL= USE_SNDFILE VORBIS_LIB_DEPENDS= libvorbis.so:audio/libvorbis \ libogg.so:audio/libogg \ libtag.so:audio/taglib VORBIS_CMAKE_BOOL= USE_VORBIS WAVPACK_LIB_DEPENDS= libwavpack.so:audio/wavpack WAVPACK_CMAKE_BOOL= USE_WAVPACK CURL_LIB_DEPENDS= libcurl.so:ftp/curl CURL_CMAKE_BOOL= USE_CURL MMS_LIB_DEPENDS= libmms.so:net/libmms MMS_CMAKE_BOOL= USE_MMS CUE_CMAKE_BOOL= USE_CUE NULLOUT_DESC= Support null output NULLOUT_CMAKE_BOOL= USE_NULL SOXR_LIB_DEPENDS= libsoxr.so:audio/libsoxr SOXR_CMAKE_BOOL= USE_SOXR CROSSFADE_DESC= Support cross-fade effect CROSSFADE_CMAKE_BOOL= USE_CROSSFADE STEREO_DESC= Support stereo effect STEREO_CMAKE_BOOL= USE_STEREO ANALYZER_DESC= Support spectrum analyzer visualization ANALYZER_CMAKE_BOOL= USE_ANALYZER ARCHIVE_DESC= Read archived media file ARCHIVE_USES= libarchive ARCHIVE_CMAKE_BOOL= USE_ARCHIVE CONVERTER_DESC= Support file type converter CONVERTER_LIB_DEPENDS= libtag.so:audio/taglib CONVERTER_CMAKE_BOOL= USE_CONVERTER COPYPASTE_DESC= Enable copy/paste track infos between playlists COPYPASTE_CMAKE_BOOL= USE_COPYPASTE MPRIS_DESC= Support the Media Player Remote MPRIS_USE= QT5=dbus MPRIS_CMAKE_BOOL= USE_MPRIS SCROBBLER_DESC= Support Libre.fm/Last.fm scrobbler feature SCROBBLER_CMAKE_BOOL= USE_SCROBBLER SID_DESC= Support sid SID_LIB_DEPENDS= libsidplayfp.so:audio/libsidplayfp SID_CMAKE_BOOL= USE_SID STATICON_DESC= Support to show status icon STATICON_CMAKE_BOOL= USE_STATICON SB_DESC= Browser for IceCast stream directory SB_CMAKE_BOOL= USE_SB NOTIFIER_DESC= Support to popup notifier NOTIFIER_CMAKE_BOOL= USE_NOTIFIER LYRICS_DESC= Support to show lyrics using lyrics.wikia.com LYRICS_CMAKE_BOOL= USE_LYRICS HAL_USE= QT5=dbus HAL_CMAKE_BOOL= USE_HAL HOTKEY_DESC= Support global shortcut keys HOTKEY_USE= QT5=x11extras XORG=x11 HOTKEY_CMAKE_BOOL= USE_HOTKEY GNOMEHOTKEY_DESC= Support GNOME/Cinnamon shortcut keys GNOMEHOTKEY_USE= QT5=dbus GNOMEHOTKEY_CMAKE_BOOL= USE_GNOMEHOTKEY FILEOPS_DESC= Support file operation FILEOPS_CMAKE_BOOL= USE_FILEOPS COVER_DESC= Support to show cover images COVER_CMAKE_BOOL= USE_COVER KDENOTIFY_DESC= Support to popup notifier for KDE KDENOTIFY_USE= QT5=dbus KDENOTIFY_CMAKE_BOOL= USE_KDENOTIFY TRACKCHANGE_DESC= Enable to run external command each track TRACKCHANGE_CMAKE_BOOL= USE_TRACKCHANGE UDISKS2_DESC= Support removable disc detection using UDisks UDISKS2_RUN_DEPENDS= bsdisks:sysutils/bsdisks UDISKS2_USE= QT5=dbus UDISKS2_CMAKE_BOOL= USE_UDISKS2 QMMP_DIALOG_DESC= An original dialog QMMP_DIALOG_CMAKE_BOOL= USE_QMMP_DIALOG TWOPANELDIALOG_DESC= File dialog by two-panel selector TWOPANELDIALOG_CMAKE_BOOL= USE_TWO_PANEL_DIALOG PLIST_SUB+= SHLIB_VER=${PORTVERSION:C/-.*//} PATHFIX_CMAKELISTSTXT= \\"CMakeLists.txt -exec grep -l /pkgconfig {} +\\" PORTDOCS= README README.RUS AUTHORS INSTALLS_ICONS= yes post-patch: @${GREP} -L '${LOCALBASE}/lib/oss' \ ${WRKSRC}/src/plugins/Output/oss4/CMakeLists.txt | ${XARGS} \ ${REINPLACE_CMD} -e 's|/usr/local/|${LOCALBASE}/|' pre-configure: @${RM} ${BUILD_WRKSRC}/CMakeCache.txt post-build-DOXYGEN-on: cd ${WRKSRC}/doc && doxygen Doxyfile post-install-DOCS-on: @${MKDIR} ${STAGEDIR}${DOCSDIR}; \ cd ${WRKSRC} && ${INSTALL_MAN} ${PORTDOCS} ${STAGEDIR}${DOCSDIR} post-install-DOXYGEN-on: @${MKDIR} ${STAGEDIR}${DOCSDIR}/html/search ; \ cd ${WRKSRC}/doc/html && \ ${INSTALL_MAN} *.html *.png *.css ${STAGEDIR}${DOCSDIR}/html ; \ cd ${WRKSRC}/doc/html/search && \ ${INSTALL_MAN} *.html *.png *.css *.js ${STAGEDIR}${DOCSDIR}/html/search ; \ ${RM} ${WRKDIR}/PLIST.doc ; \ ${FIND} ${STAGEDIR}${DOCSDIR}/html -type f | \ ${SED} 's|${STAGEDIR}${PREFIX}/||' \ >> ${WRKDIR}/PLIST.doc ; \ cd ${WRKDIR} ; ${SED} -i -e '/PLIST.doc/ r PLIST.doc' ${TMPPLIST} .include Index: head/multimedia/qmmp-qt5/files/patch-ffmpeg4 =================================================================== --- head/multimedia/qmmp-qt5/files/patch-ffmpeg4 (nonexistent) +++ head/multimedia/qmmp-qt5/files/patch-ffmpeg4 (revision 468855) @@ -0,0 +1,229 @@ +https://sourceforge.net/p/qmmp-dev/code/7843/ + +--- src/plugins/Input/ffmpeg/decoder_ffmpeg.cpp.orig 2017-11-25 10:45:02 UTC ++++ src/plugins/Input/ffmpeg/decoder_ffmpeg.cpp +@@ -1,5 +1,5 @@ + /*************************************************************************** +- * Copyright (C) 2006-2017 by Ilya Kotov * ++ * Copyright (C) 2006-2018 by Ilya Kotov * + * forkotov02@ya.ru * + * * + * This program is free software; you can redistribute it and/or modify * +@@ -22,7 +22,7 @@ + #include + #include "replaygainreader.h" + #include "decoder_ffmpeg.h" +-#if (LIBAVCODEC_VERSION_INT >= ((55<<16)+(34<<8)+0)) //libav-10: 55.34.1; ffmpeg-2.1: 55.39.100 ++#if (LIBAVCODEC_VERSION_INT >= AV_VERSION_INT(55,34,0)) //libav-10: 55.34.1; ffmpeg-2.1: 55.39.100 + extern "C"{ + #include + #include +@@ -92,14 +92,14 @@ DecoderFFmpeg::~DecoderFFmpeg() + { + m_bitrate = 0; + m_temp_pkt.size = 0; +-#if (LIBAVCODEC_VERSION_INT >= ((57<<16)+(48<<8)+0)) //ffmpeg-3.1: 57.48.101 ++#if (LIBAVCODEC_VERSION_INT >= AV_VERSION_INT(57,48,0)) //ffmpeg-3.1: 57.48.101 + if(c) + avcodec_free_context(&c); + #endif + if (ic) + avformat_free_context(ic); + if(m_pkt.data) +-#if (LIBAVCODEC_VERSION_INT >= ((57<<16)+(24<<8)+102)) //ffmpeg-3.0 ++#if (LIBAVCODEC_VERSION_INT >= AV_VERSION_INT(57,24,102)) //ffmpeg-3.0 + av_packet_unref(&m_pkt); + #else + av_free_packet(&m_pkt); +@@ -108,7 +108,7 @@ DecoderFFmpeg::~DecoderFFmpeg() + av_free(m_stream); + + if(m_decoded_frame) +-#if (LIBAVCODEC_VERSION_INT >= ((55<<16)+(34<<8)+0)) //libav-10: 55.34.1; ffmpeg-2.1: 55.39.100 ++#if (LIBAVCODEC_VERSION_INT >= AV_VERSION_INT(55,34,0)) //libav-10: 55.34.1; ffmpeg-2.1: 55.39.100 + av_frame_free(&m_decoded_frame); + #else + av_free(m_decoded_frame); +@@ -208,7 +208,7 @@ bool DecoderFFmpeg::initialize() + ReplayGainReader rg(ic); + setReplayGainInfo(rg.replayGainInfo()); + +-#if (LIBAVCODEC_VERSION_INT >= ((57<<16)+(48<<8)+0)) //ffmpeg-3.1: 57.48.101 ++#if (LIBAVCODEC_VERSION_INT >= AV_VERSION_INT(57,4,0)) //ffmpeg-3.1: 57.48.101 + c = avcodec_alloc_context3(NULL); + #endif + +@@ -221,13 +221,13 @@ bool DecoderFFmpeg::initialize() + return false; + } + +-#if (LIBAVCODEC_VERSION_INT >= ((57<<16)+(48<<8)+0)) //ffmpeg-3.1: 57.48.101 ++#if (LIBAVCODEC_VERSION_INT >= AV_VERSION_INT(57,48,0)) //ffmpeg-3.1: 57.48.101 + avcodec_parameters_to_context(c, ic->streams[audioIndex]->codecpar); + #else + c = ic->streams[audioIndex]->codec; + #endif + +-#if (LIBAVCODEC_VERSION_INT >= ((55<<16)+(34<<8)+0)) //libav-10: 55.34.1; ffmpeg-2.1: 55.39.100 ++#if (LIBAVCODEC_VERSION_INT >= AV_VERSION_INT(55,34,0)) //libav-10: 55.34.1; ffmpeg-2.1: 55.39.100 + if (c->channels == 1) + { + c->request_channel_layout = AV_CH_LAYOUT_MONO; +@@ -262,7 +262,7 @@ bool DecoderFFmpeg::initialize() + return false; + } + +-#if (LIBAVCODEC_VERSION_INT >= ((55<<16)+(34<<8)+0)) //libav-10: 55.34.1; ffmpeg-2.1: 55.39.100 ++#if (LIBAVCODEC_VERSION_INT >= AV_VERSION_INT(55,34,0)) //libav-10: 55.34.1; ffmpeg-2.1: 55.39.100 + m_decoded_frame = av_frame_alloc(); + #else + m_decoded_frame = avcodec_alloc_frame(); +@@ -368,13 +368,13 @@ qint64 DecoderFFmpeg::ffmpeg_decode() + if(m_pkt.stream_index == audioIndex) + { + +-#if (LIBAVCODEC_VERSION_INT >= ((55<<16)+(34<<8)+0)) //libav-10: 55.34.1; ffmpeg-2.1: 55.39.100 ++#if (LIBAVCODEC_VERSION_INT >= AV_VERSION_INT(55,34,0)) //libav-10: 55.34.1; ffmpeg-2.1: 55.39.100 + + #else + avcodec_get_frame_defaults(m_decoded_frame); + #endif + +-#if (LIBAVCODEC_VERSION_INT >= ((57<<16)+(48<<8)+0)) //ffmpeg-3.1: 57.48.101 ++#if (LIBAVCODEC_VERSION_INT >= AV_VERSION_INT(57,48,0)) //ffmpeg-3.1: 57.48.101 + int err = avcodec_send_packet(c, &m_temp_pkt); + if(err != 0 && err != AVERROR(EAGAIN) && err != AVERROR(EINVAL)) + { +@@ -391,7 +391,7 @@ qint64 DecoderFFmpeg::ffmpeg_decode() + qWarning("DecoderFFmpeg: avcodec_receive_frame error: %d", err); + return -1; + } +- got_frame = av_frame_get_pkt_size(m_decoded_frame); ++ got_frame = m_decoded_frame->pkt_size; + #else + int l = avcodec_decode_audio4(c, m_decoded_frame, &got_frame, &m_temp_pkt); + #endif +@@ -412,7 +412,7 @@ qint64 DecoderFFmpeg::ffmpeg_decode() + m_temp_pkt.size -= l; + } + if (!m_temp_pkt.size && m_pkt.data) +-#if (LIBAVCODEC_VERSION_INT >= ((57<<16)+(24<<8)+102)) //ffmpeg-3.0 ++#if (LIBAVCODEC_VERSION_INT >= AV_VERSION_INT(57,24,102)) //ffmpeg-3.0 + av_packet_unref(&m_pkt); + #else + av_free_packet(&m_pkt); +@@ -429,7 +429,7 @@ void DecoderFFmpeg::seek(qint64 pos) + m_seekTime = timestamp; + av_seek_frame(ic, -1, timestamp, AVSEEK_FLAG_BACKWARD); + avcodec_flush_buffers(c); +-#if (LIBAVCODEC_VERSION_INT >= ((57<<16)+(24<<8)+102)) //ffmpeg-3.0 ++#if (LIBAVCODEC_VERSION_INT >= AV_VERSION_INT(57,24,102)) //ffmpeg-3.0 + av_packet_unref(&m_pkt); + #else + av_free_packet(&m_pkt); +@@ -454,7 +454,7 @@ void DecoderFFmpeg::fillBuffer() + if(m_pkt.stream_index != audioIndex) + { + if(m_pkt.data) +-#if (LIBAVCODEC_VERSION_INT >= ((57<<16)+(24<<8)+102)) //ffmpeg-3.0 ++#if (LIBAVCODEC_VERSION_INT >= AV_VERSION_INT(57,24,102)) //ffmpeg-3.0 + av_packet_unref(&m_pkt); + #else + av_free_packet(&m_pkt); +@@ -516,7 +516,7 @@ void DecoderFFmpeg::fillBuffer() + if(c->codec_id == AV_CODEC_ID_SHORTEN || c->codec_id == AV_CODEC_ID_TWINVQ) + { + if(m_pkt.data) +-#if (LIBAVCODEC_VERSION_INT >= ((57<<16)+(24<<8)+102)) //ffmpeg-3.0 ++#if (LIBAVCODEC_VERSION_INT >= AV_VERSION_INT(57,24,102)) //ffmpeg-3.0 + av_packet_unref(&m_pkt); + #else + av_free_packet(&m_pkt); +@@ -530,7 +530,7 @@ void DecoderFFmpeg::fillBuffer() + else if(m_output_at == 0) + { + if(m_pkt.data) +-#if (LIBAVCODEC_VERSION_INT >= ((57<<16)+(24<<8)+102)) //ffmpeg-3.0 ++#if (LIBAVCODEC_VERSION_INT >= AV_VERSION_INT(57,24,102)) //ffmpeg-3.0 + av_packet_unref(&m_pkt); + #else + av_free_packet(&m_pkt); +--- src/plugins/Input/ffmpeg/decoder_ffmpeg.h.orig 2017-11-25 10:45:02 UTC ++++ src/plugins/Input/ffmpeg/decoder_ffmpeg.h +@@ -1,5 +1,5 @@ + /*************************************************************************** +- * Copyright (C) 2006-2017 by Ilya Kotov * ++ * Copyright (C) 2006-2018 by Ilya Kotov * + * forkotov02@ya.ru * + * * + * This program is free software; you can redistribute it and/or modify * +@@ -61,7 +61,12 @@ class DecoderFFmpeg : public Decoder (private) + AVPacket m_pkt; + AVPacket m_temp_pkt; + qint64 m_output_at; ++ ++#if (LIBAVCODEC_VERSION_INT >= AV_VERSION_INT(58,10,100)) //ffmpeg-3.5 ++ uchar m_input_buf[INPUT_BUFFER_SIZE + AV_INPUT_BUFFER_PADDING_SIZE]; ++#else + uchar m_input_buf[INPUT_BUFFER_SIZE + FF_INPUT_BUFFER_PADDING_SIZE]; ++#endif + int64_t m_seekTime; + qint64 m_skipBytes; + int m_channels; +--- src/plugins/Input/ffmpeg/decoderffmpegfactory.cpp.orig 2017-11-25 10:45:02 UTC ++++ src/plugins/Input/ffmpeg/decoderffmpegfactory.cpp +@@ -1,5 +1,5 @@ + /*************************************************************************** +- * Copyright (C) 2008-2017 by Ilya Kotov * ++ * Copyright (C) 2008-2018 by Ilya Kotov * + * forkotov02@ya.ru * + * * + * This program is free software; you can redistribute it and/or modify * +@@ -38,9 +38,11 @@ extern "C"{ + + DecoderFFmpegFactory::DecoderFFmpegFactory() + { ++#if (LIBAVCODEC_VERSION_INT < AV_VERSION_INT(58,10,100)) //ffmpeg-3.5 + avcodec_register_all(); + avformat_network_init(); + av_register_all(); ++#endif + } + + bool DecoderFFmpegFactory::canDecode(QIODevice *i) const +--- src/plugins/Input/ffmpeg/ffmpegmetadatamodel.cpp.orig 2017-11-25 10:45:02 UTC ++++ src/plugins/Input/ffmpeg/ffmpegmetadatamodel.cpp +@@ -1,5 +1,5 @@ + /*************************************************************************** +- * Copyright (C) 2009-2017 by Ilya Kotov * ++ * Copyright (C) 2009-2018 by Ilya Kotov * + * forkotov02@ya.ru * + * * + * This program is free software; you can redistribute it and/or modify * +@@ -55,7 +55,7 @@ QHash FFmpegMetaDataModel::audioProp + + if(idx >= 0) + { +-#if (LIBAVCODEC_VERSION_INT >= ((57<<16)+(48<<8)+0)) //ffmpeg-3.1: 57.48.101 ++#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; +@@ -70,7 +70,7 @@ QPixmap FFmpegMetaDataModel::cover() + { + if(!m_in) + return QPixmap(); +-#if (LIBAVCODEC_VERSION_INT >= ((57<<16)+(48<<8)+0)) //ffmpeg-3.1: 57.48.101 ++#if (LIBAVCODEC_VERSION_INT >= AV_VERSION_INT(57,48,0)) //ffmpeg-3.1: 57.48.101 + AVCodecParameters *c = 0; + #else + AVCodecContext *c = 0; +@@ -78,7 +78,7 @@ QPixmap FFmpegMetaDataModel::cover() + + for (uint idx = 0; idx < m_in->nb_streams; idx++) + { +-#if (LIBAVCODEC_VERSION_INT >= ((57<<16)+(48<<8)+0)) //ffmpeg-3.1: 57.48.101 ++#if (LIBAVCODEC_VERSION_INT >= AV_VERSION_INT(57,48,0)) //ffmpeg-3.1: 57.48.101 + c = m_in->streams[idx]->codecpar; + #else + c = m_in->streams[idx]->codec; Property changes on: head/multimedia/qmmp-qt5/files/patch-ffmpeg4 ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +yes \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property