multimedia/qmmp*-qt5: update to 1.5.1 release+
As PR256043 shown, maintainer (liangtai.s16@gmail.com) have lost any interest to keep his ports updated. I'll adopt the ports untill liangtai claims his rights back to keep them fresh. With hat: ports-secteam
This commit is contained in:
parent
17dd4b3efb
commit
cda219f450
@ -1,12 +1,11 @@
|
||||
PORTNAME= qmmp-plugin-pack
|
||||
PORTVERSION= 1.2.0
|
||||
PORTREVISION= 5
|
||||
PORTVERSION= 1.5.1
|
||||
CATEGORIES= multimedia
|
||||
MASTER_SITES= http://qmmp.ylsoftware.com/files/plugins/ \
|
||||
SF/qmmp-dev/${PORTNAME}/
|
||||
MASTER_SITES= http://qmmp.ylsoftware.com/files/${PORTNAME}/${PORTVERSION:R}/ \
|
||||
SF/qmmp-dev/${PORTNAME}/${PORTVERSION:R}/
|
||||
PKGNAMESUFFIX= -qt5
|
||||
|
||||
MAINTAINER= liangtai.s16@gmail.com
|
||||
MAINTAINER= fluffy@FreeBSD.org
|
||||
COMMENT= Additional plug-ins for QMMP (Qt5)
|
||||
|
||||
LICENSE= GPLv2
|
||||
@ -26,8 +25,8 @@ USE_LDCONFIG= yes
|
||||
OPTIONS_SUB= yes
|
||||
|
||||
OPTIONS_MULTI= PLUGINS
|
||||
OPTIONS_MULTI_PLUGINS= FFAP FFVIDEO GOOM HISTORY MPG123 SRCONV XMP
|
||||
OPTIONS_DEFAULT= FFAP FFVIDEO GOOM HISTORY MPG123 XMP
|
||||
OPTIONS_MULTI_PLUGINS= FFAP FFVIDEO GOOM SRCONV XMP YTB
|
||||
OPTIONS_DEFAULT= FFAP FFVIDEO GOOM XMP YTB
|
||||
OPTIONS_DEFINE_i386= FFAPASM GOOMASM
|
||||
OPTIONS_DEFAULT_i386= FFAPASM GOOMASM
|
||||
OPTIONS_DEFINE_amd64= FFAPASM GOOMASM
|
||||
@ -36,30 +35,22 @@ OPTIONS_DEFAULT_amd64= FFAPASM GOOMASM
|
||||
FFAP_DESC= Support APE sound file
|
||||
FFAP_LIB_DEPENDS= libtag.so:audio/taglib
|
||||
FFAP_CMAKE_BOOL= USE_FFAP
|
||||
FFAPASM_DESC= Optimize FFap decoder using devel/yasm
|
||||
|
||||
FFAPASM_DESC= Optimize FFap decoder using devel/yasm
|
||||
FFAPASM_BUILD_DEPENDS= yasm:devel/yasm
|
||||
FFAPASM_CMAKE_BOOL= USE_ASM
|
||||
|
||||
FFVIDEO_DESC= FFmpeg video
|
||||
FFVIDEO_DESC= FFmpeg video
|
||||
FFVIDEO_LIB_DEPENDS= libavcodec.so:multimedia/ffmpeg
|
||||
FFVIDEO_CMAKE_BOOL= USE_FFVIDEO
|
||||
|
||||
GOOM_DESC= Goom spectacle
|
||||
GOOM_DESC= Goom spectacle
|
||||
GOOM_CMAKE_BOOL= USE_GOOM
|
||||
GOOMASM_DESC= Optimize Goom spectacle using devel/yasm
|
||||
GOOMASM_DESC= Optimize Goom spectacle using devel/yasm
|
||||
GOOMASM_BUILD_DEPENDS= yasm:devel/yasm
|
||||
GOOMASM_CMAKE_BOOL= GOOM_ASM
|
||||
|
||||
HISTORY_DESC= Information about listened tracks
|
||||
HISTORY_USES= qt:5
|
||||
HISTORY_USE= QT=sql
|
||||
HISTORY_CMAKE_BOOL= USE_HISTORY
|
||||
|
||||
MPG123_LIB_DEPENDS= libmpg123.so:audio/mpg123 \
|
||||
libtag.so:audio/taglib
|
||||
MPG123_CMAKE_BOOL= USE_MPG123
|
||||
|
||||
SRCONV_DESC= Support the sample rate converter
|
||||
SRCONV_DESC= Support the sample rate converter
|
||||
SRCONV_LIB_DEPENDS= libsamplerate.so:audio/libsamplerate
|
||||
SRCONV_CMAKE_BOOL= USE_SRC
|
||||
|
||||
@ -67,6 +58,12 @@ XMP_DESC= Support various module formats using libxmp
|
||||
XMP_LIB_DEPENDS= libxmp.so:audio/libxmp
|
||||
XMP_CMAKE_BOOL= USE_XMP
|
||||
|
||||
YTB_DESC= YouTube plugin
|
||||
YTB_USE= QT=network
|
||||
YTB_CMAKE_BOOL= USE_YTB
|
||||
|
||||
PLIST_SUB+= APP_SUFFIX=${PORTVERSION:R}
|
||||
|
||||
pre-configure:
|
||||
@${RM} ${BUILD_WRKSRC}/CMakeCache.txt
|
||||
|
||||
|
@ -1,3 +1,3 @@
|
||||
TIMESTAMP = 1511614871
|
||||
SHA256 (qmmp-plugin-pack-1.2.0.tar.bz2) = 194a1bb35b4f14d2806cde920c56376bf6d5e9b0ee19a0b2039e1c3bc7b70361
|
||||
SIZE (qmmp-plugin-pack-1.2.0.tar.bz2) = 250421
|
||||
TIMESTAMP = 1627374774
|
||||
SHA256 (qmmp-plugin-pack-1.5.1.tar.bz2) = 695927228984bae06ea5f0a2e1951ee41f1323fc7e7a0e1c987c1075795b4b1c
|
||||
SIZE (qmmp-plugin-pack-1.5.1.tar.bz2) = 226034
|
||||
|
@ -1,7 +1,7 @@
|
||||
%%SRCONV%%lib/qmmp/Effect/libsrconverter.so
|
||||
%%FFVIDEO%%lib/qmmp/Engines/libffvideo.so
|
||||
%%HISTORY%%lib/qmmp/General/libhistory.so
|
||||
%%FFAP%%lib/qmmp/Input/libffap.so
|
||||
%%MPG123%%lib/qmmp/Input/libmpg123.so
|
||||
%%XMP%%lib/qmmp/Input/libxmp.so
|
||||
%%GOOM%%lib/qmmp/Visual/libgoom.so
|
||||
%%SRCONV%%lib/qmmp-%%APP_SUFFIX%%/Effect/libsrconverter.so
|
||||
%%FFVIDEO%%lib/qmmp-%%APP_SUFFIX%%/Engines/libffvideo.so
|
||||
%%FFAP%%lib/qmmp-%%APP_SUFFIX%%/Input/libffap.so
|
||||
%%XMP%%lib/qmmp-%%APP_SUFFIX%%/Input/libxmp.so
|
||||
%%GOOM%%lib/qmmp-%%APP_SUFFIX%%/Visual/libgoom.so
|
||||
%%YTB%%lib/qmmp-%%APP_SUFFIX%%/Transports/libytb.so
|
||||
share/metainfo/qmmp-plugin-pack.appdata.xml
|
||||
|
@ -1,12 +1,11 @@
|
||||
PORTNAME= qmmp
|
||||
PORTVERSION= 1.2.0
|
||||
PORTREVISION= 12
|
||||
PORTVERSION= 1.5.1
|
||||
CATEGORIES= multimedia
|
||||
MASTER_SITES= http://qmmp.ylsoftware.com/files/ \
|
||||
SF/qmmp-dev/${PORTNAME}/
|
||||
MASTER_SITES= http://qmmp.ylsoftware.com/files/${PORTNAME}/${PORTVERSION:R}/ \
|
||||
SF/qmmp-dev/${PORTNAME}/${PORTVERSION:R}/
|
||||
PKGNAMESUFFIX= -qt5
|
||||
|
||||
MAINTAINER= liangtai.s16@gmail.com
|
||||
MAINTAINER= fluffy@FreeBSD.org
|
||||
COMMENT= Qt5-based multimedia player
|
||||
|
||||
LICENSE= GPLv2
|
||||
@ -15,10 +14,11 @@ LICENSE_FILE= ${WRKSRC}/COPYING
|
||||
CONFLICTS= ${PORTNAME}-0.*
|
||||
PORTSCOUT= limit:^1\..*
|
||||
|
||||
USES= cmake gnome pathfix pkgconfig qt:5 tar:bzip2
|
||||
USES= cmake gnome pathfix pkgconfig tar:bzip2
|
||||
USE_QT= core gui network widgets xml \
|
||||
buildtools_build linguisttools_build qmake_build
|
||||
USE_LDCONFIG= yes
|
||||
INSTALLS_ICONS= yes
|
||||
|
||||
OPTIONS_SUB= yes
|
||||
OPTIONS_GROUP= DOCUMENTS PLUGIN_APPLICATION PLUGIN_FORMATS \
|
||||
@ -26,7 +26,7 @@ OPTIONS_GROUP= DOCUMENTS PLUGIN_APPLICATION PLUGIN_FORMATS \
|
||||
PLUGIN_PLAYLIST PLUGIN_NETWORKING MISC
|
||||
|
||||
PLUGIN_APPLICATION_DESC= Main program view
|
||||
OPTIONS_GROUP_PLUGIN_APPLICATION= GNOMEHOTKEY HOTKEY KDENOTIFY \
|
||||
OPTIONS_GROUP_PLUGIN_APPLICATION= GNOMEHOTKEY HISTORY HOTKEY KDENOTIFY \
|
||||
NOTIFIER QMMP_DIALOG QSUI SKINNEDUI STATICON TWOPANELDIALOG
|
||||
|
||||
DOCUMENTS_DESC= Documentation and API Reference
|
||||
@ -34,7 +34,7 @@ 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
|
||||
MAD MODPLUG MPG123 MUSEPACK OPUS SNDFILE VORBIS WAVPACK WILDMIDI
|
||||
|
||||
PLUGIN_DSP_EFFECTS_DESC= DSP effects
|
||||
OPTIONS_GROUP_PLUGIN_DSP_EFFECTS= BS2B CROSSFADE LADSPA SOXR STEREO
|
||||
@ -58,8 +58,8 @@ 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 \
|
||||
GNOMEHOTKEY GME HAL HISTORY HOTKEY JACK KDENOTIFY LADSPA LYRICS MAD \
|
||||
MMS MODPLUG MPG123 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
|
||||
@ -90,6 +90,11 @@ BS2B_DESC= Support the Bauer stereophonic2binaural effect
|
||||
BS2B_LIB_DEPENDS= libbs2b.so:audio/libbs2b
|
||||
BS2B_CMAKE_BOOL= USE_BS2B
|
||||
|
||||
HISTORY_DESC= Information about listened tracks
|
||||
HISTORY_USES= qt:5
|
||||
HISTORY_USE= QT=sql
|
||||
HISTORY_CMAKE_BOOL= USE_HISTORY
|
||||
|
||||
PULSEAUDIO_LIB_DEPENDS= libpulse.so:audio/pulseaudio
|
||||
PULSEAUDIO_CMAKE_BOOL= USE_PULSE
|
||||
|
||||
@ -166,6 +171,10 @@ MAD_LIB_DEPENDS= libmad.so:audio/libmad \
|
||||
libtag.so:audio/taglib
|
||||
MAD_CMAKE_BOOL= USE_MAD
|
||||
|
||||
MPG123_LIB_DEPENDS= libmpg123.so:audio/mpg123 \
|
||||
libtag.so:audio/taglib
|
||||
MPG123_CMAKE_BOOL= USE_MPG123
|
||||
|
||||
OPUS_DESC= Enable reading opusfile tags
|
||||
OPUS_LIB_DEPENDS= libopusfile.so:audio/opusfile \
|
||||
libopus.so:audio/opus \
|
||||
@ -285,11 +294,19 @@ 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/-.*//}
|
||||
PLIST_SUB+= SHLIB_VER=${PORTVERSION:C/-.*//} LIB_SUFFX=-${PORTVERSION:R}
|
||||
|
||||
PATHFIX_CMAKELISTSTXT= \\"CMakeLists.txt -exec grep -l /pkgconfig {} +\\"
|
||||
PORTDOCS= README README.RUS AUTHORS
|
||||
|
||||
.include <bsd.port.options.mk>
|
||||
|
||||
.if (${PORT_OPTIONS:MMAD} || ${PORT_OPTIONS:MMPG123})
|
||||
PLIST_SUB+= MPEG=""
|
||||
.else
|
||||
PLIST_SUB+= MPEG="@comment "
|
||||
.endif
|
||||
|
||||
post-patch:
|
||||
@${GREP} -L '${LOCALBASE}/lib/oss' \
|
||||
${WRKSRC}/src/plugins/Output/oss4/CMakeLists.txt | ${XARGS} \
|
||||
|
@ -1,3 +1,3 @@
|
||||
TIMESTAMP = 1511614849
|
||||
SHA256 (qmmp-1.2.0.tar.bz2) = 8020c92e5dd75ed9ab34fd5d1bb524e01f2f361dafd2fe9a3073ae97f5896c9e
|
||||
SIZE (qmmp-1.2.0.tar.bz2) = 1182024
|
||||
TIMESTAMP = 1627372826
|
||||
SHA256 (qmmp-1.5.1.tar.bz2) = f3dc676039b5f190e6a87377a6b2bd2bcca122d1659b5f22668c7a284bb91f43
|
||||
SIZE (qmmp-1.5.1.tar.bz2) = 1363593
|
||||
|
@ -1,229 +0,0 @@
|
||||
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 <QFile>
|
||||
#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 <libavutil/channel_layout.h>
|
||||
#include <libavutil/frame.h>
|
||||
@@ -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<QString, QString> 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;
|
@ -1,13 +0,0 @@
|
||||
Fix build with Qt 5.11
|
||||
Obtained from: https://sourceforge.net/p/qmmp-dev/code/7988/
|
||||
|
||||
--- src/plugins/Ui/skinned/hotkeyeditor.cpp.orig 2018-08-31 05:14:29 UTC
|
||||
+++ src/plugins/Ui/skinned/hotkeyeditor.cpp
|
||||
@@ -19,6 +19,7 @@
|
||||
***************************************************************************/
|
||||
|
||||
#include <QMessageBox>
|
||||
+#include <QAction>
|
||||
#include "actionmanager.h"
|
||||
#include "hotkeyeditor.h"
|
||||
#include "shortcutdialog.h"
|
@ -1,13 +0,0 @@
|
||||
Fix build with Qt 5.11
|
||||
Obtained from: https://sourceforge.net/p/qmmp-dev/code/7986/
|
||||
|
||||
--- src/qmmpui/detailsdialog.cpp.orig 2018-08-31 05:09:00 UTC
|
||||
+++ src/qmmpui/detailsdialog.cpp
|
||||
@@ -24,6 +24,7 @@
|
||||
#include <QFileInfo>
|
||||
#include <QProcess>
|
||||
#include <QPushButton>
|
||||
+#include <QStyle>
|
||||
#include <qmmp/metadatamanager.h>
|
||||
#include <qmmp/metadatamodel.h>
|
||||
#include <qmmp/tagmodel.h>
|
@ -4,29 +4,32 @@ include/qmmp/audioconverter.h
|
||||
include/qmmp/audioparameters.h
|
||||
include/qmmp/buffer.h
|
||||
include/qmmp/channelmap.h
|
||||
include/qmmp/cueparser.h
|
||||
include/qmmp/decoder.h
|
||||
include/qmmp/decoderfactory.h
|
||||
include/qmmp/effect.h
|
||||
include/qmmp/effectfactory.h
|
||||
include/qmmp/enginefactory.h
|
||||
include/qmmp/eqsettings.h
|
||||
include/qmmp/fileinfo.h
|
||||
include/qmmp/inputsource.h
|
||||
include/qmmp/inputsourcefactory.h
|
||||
include/qmmp/metadatamanager.h
|
||||
include/qmmp/metadatamodel.h
|
||||
include/qmmp/output.h
|
||||
include/qmmp/outputfactory.h
|
||||
include/qmmp/qmmp_export.h
|
||||
include/qmmp/qmmp.h
|
||||
include/qmmp/qmmpsettings.h
|
||||
include/qmmp/soundcore.h
|
||||
include/qmmp/statehandler.h
|
||||
include/qmmp/tagmodel.h
|
||||
include/qmmp/trackinfo.h
|
||||
include/qmmp/visual.h
|
||||
include/qmmp/visualfactory.h
|
||||
include/qmmp/volume.h
|
||||
include/qmmp/volumehandler.h
|
||||
include/qmmpui/commandlinehandler.h
|
||||
include/qmmpui/commandlinemanager.h
|
||||
include/qmmpui/commandlineoption.h
|
||||
include/qmmpui/configdialog.h
|
||||
include/qmmpui/detailsdialog.h
|
||||
include/qmmpui/filedialog.h
|
||||
@ -45,6 +48,7 @@ include/qmmpui/playlistmanager.h
|
||||
include/qmmpui/playlistmodel.h
|
||||
include/qmmpui/playlistparser.h
|
||||
include/qmmpui/playlisttrack.h
|
||||
include/qmmpui/qmmpui_export.h
|
||||
include/qmmpui/qmmpuisettings.h
|
||||
include/qmmpui/templateeditor.h
|
||||
include/qmmpui/uifactory.h
|
||||
@ -56,79 +60,91 @@ lib/libqmmp.so.%%SHLIB_VER%%
|
||||
lib/libqmmpui.so
|
||||
lib/libqmmpui.so.1
|
||||
lib/libqmmpui.so.%%SHLIB_VER%%
|
||||
lib/qmmp/CommandLineOptions/libincdecvolumeoption.so
|
||||
lib/qmmp/CommandLineOptions/libplaylistoption.so
|
||||
lib/qmmp/CommandLineOptions/libseekoption.so
|
||||
lib/qmmp/CommandLineOptions/libstatusoption.so
|
||||
%%LADSPA%%lib/qmmp/Effect/libladspa.so
|
||||
%%BS2B%%lib/qmmp/Effect/libbs2b.so
|
||||
%%FILEWRITER%%lib/qmmp/Effect/libfilewriter.so
|
||||
%%SOXR%%lib/qmmp/Effect/libsoxr.so
|
||||
%%STEREO%%lib/qmmp/Effect/libstereo.so
|
||||
%%CROSSFADE%%lib/qmmp/Effect/libcrossfade.so
|
||||
%%MPLAYER%%lib/qmmp/Engines/libmplayer.so
|
||||
%%QMMP_DIALOG%%lib/qmmp/FileDialogs/libqmmpfiledialog.so
|
||||
%%TWOPANELDIALOG%%lib/qmmp/FileDialogs/libtwopanelfiledialog.so
|
||||
%%CONVERTER%%lib/qmmp/General/libconverter.so
|
||||
%%COPYPASTE%%lib/qmmp/General/libcopypaste.so
|
||||
%%COVER%%lib/qmmp/General/libcovermanager.so
|
||||
%%FILEOPS%%lib/qmmp/General/libfileops.so
|
||||
%%GNOMEHOTKEY%%lib/qmmp/General/libgnomehotkey.so
|
||||
%%HAL%%lib/qmmp/General/libhal.so
|
||||
%%HOTKEY%%lib/qmmp/General/libhotkey.so
|
||||
%%KDENOTIFY%%lib/qmmp/General/libkdenotify.so
|
||||
%%LYRICS%%lib/qmmp/General/liblyrics.so
|
||||
%%MPRIS%%lib/qmmp/General/libmpris.so
|
||||
%%NOTIFIER%%lib/qmmp/General/libnotifier.so
|
||||
%%RGSCAN%%lib/qmmp/General/librgscan.so
|
||||
%%SCROBBLER%%lib/qmmp/General/libscrobbler.so
|
||||
%%STATICON%%lib/qmmp/General/libstatusicon.so
|
||||
%%SB%%lib/qmmp/General/libstreambrowser.so
|
||||
%%TRACKCHANGE%%lib/qmmp/General/libtrackchange.so
|
||||
%%UDISKS2%%lib/qmmp/General/libudisks2.so
|
||||
%%FAAD%%lib/qmmp/Input/libaac.so
|
||||
%%ARCHIVE%%lib/qmmp/Input/libarchive.so
|
||||
%%CDDA%%lib/qmmp/Input/libcdaudio.so
|
||||
%%CUE%%lib/qmmp/Input/libcue.so
|
||||
%%FFMPEG%%lib/qmmp/Input/libffmpeg.so
|
||||
%%FLAC%%lib/qmmp/Input/libflac.so
|
||||
%%MAD%%lib/qmmp/Input/libmad.so
|
||||
%%MODPLUG%%lib/qmmp/Input/libmodplug.so
|
||||
%%GME%%lib/qmmp/Input/libgme.so
|
||||
%%MUSEPACK%%lib/qmmp/Input/libmpc.so
|
||||
%%OPUS%%lib/qmmp/Input/libopus.so
|
||||
%%SID%%lib/qmmp/Input/libsid.so
|
||||
%%SNDFILE%%lib/qmmp/Input/libsndfile.so
|
||||
%%VORBIS%%lib/qmmp/Input/libvorbis.so
|
||||
%%WAVPACK%%lib/qmmp/Input/libwavpack.so
|
||||
%%WILDMIDI%%lib/qmmp/Input/libwildmidi.so
|
||||
%%JACK%%lib/qmmp/Output/libjack.so
|
||||
%%ALSA%%lib/qmmp/Output/libalsa.so
|
||||
%%NULLOUT%%lib/qmmp/Output/libnull.so
|
||||
%%OSS%%lib/qmmp/Output/liboss.so
|
||||
%%OSS4%%lib/qmmp/Output/liboss4.so
|
||||
%%PULSEAUDIO%%lib/qmmp/Output/libpulseaudio.so
|
||||
%%QTMULTIMEDIA%%lib/qmmp/Output/libqtmultimedia.so
|
||||
%%SHOUTCAST%%lib/qmmp/Output/libshout.so
|
||||
lib/qmmp/PlayListFormats/libm3uplaylistformat.so
|
||||
lib/qmmp/PlayListFormats/libplsplaylistformat.so
|
||||
lib/qmmp/PlayListFormats/libxspfplaylistformat.so
|
||||
%%CURL%%lib/qmmp/Transports/libhttp.so
|
||||
%%MMS%%lib/qmmp/Transports/libmms.so
|
||||
%%SKINNEDUI%%lib/qmmp/Ui/libskinned.so
|
||||
%%QSUI%%lib/qmmp/Ui/libqsui.so
|
||||
%%ANALYZER%%lib/qmmp/Visual/libanalyzer.so
|
||||
%%PROJECTM%%lib/qmmp/Visual/libprojectm.so
|
||||
lib/qmmp%%LIB_SUFFX%%/CommandLineOptions/libincdecvolumeoption.so
|
||||
lib/qmmp%%LIB_SUFFX%%/CommandLineOptions/libplaylistoption.so
|
||||
lib/qmmp%%LIB_SUFFX%%/CommandLineOptions/libseekoption.so
|
||||
lib/qmmp%%LIB_SUFFX%%/CommandLineOptions/libstatusoption.so
|
||||
%%LADSPA%%lib/qmmp%%LIB_SUFFX%%/Effect/libladspa.so
|
||||
%%BS2B%%lib/qmmp%%LIB_SUFFX%%/Effect/libbs2b.so
|
||||
%%FILEWRITER%%lib/qmmp%%LIB_SUFFX%%/Effect/libfilewriter.so
|
||||
lib/qmmp%%LIB_SUFFX%%/Effect/libmonotostereo.so
|
||||
%%SOXR%%lib/qmmp%%LIB_SUFFX%%/Effect/libsoxr.so
|
||||
%%STEREO%%lib/qmmp%%LIB_SUFFX%%/Effect/libstereo.so
|
||||
%%CROSSFADE%%lib/qmmp%%LIB_SUFFX%%/Effect/libcrossfade.so
|
||||
%%MPLAYER%%lib/qmmp%%LIB_SUFFX%%/Engines/libmplayer.so
|
||||
%%QMMP_DIALOG%%lib/qmmp%%LIB_SUFFX%%/FileDialogs/libqmmpfiledialog.so
|
||||
%%TWOPANELDIALOG%%lib/qmmp%%LIB_SUFFX%%/FileDialogs/libtwopanelfiledialog.so
|
||||
%%CONVERTER%%lib/qmmp%%LIB_SUFFX%%/General/libconverter.so
|
||||
%%COPYPASTE%%lib/qmmp%%LIB_SUFFX%%/General/libcopypaste.so
|
||||
%%COVER%%lib/qmmp%%LIB_SUFFX%%/General/libcovermanager.so
|
||||
%%FILEOPS%%lib/qmmp%%LIB_SUFFX%%/General/libfileops.so
|
||||
%%GNOMEHOTKEY%%lib/qmmp%%LIB_SUFFX%%/General/libgnomehotkey.so
|
||||
%%HAL%%lib/qmmp%%LIB_SUFFX%%/General/libhal.so
|
||||
%%HISTORY%%lib/qmmp%%LIB_SUFFX%%/General/libhistory.so
|
||||
%%HOTKEY%%lib/qmmp%%LIB_SUFFX%%/General/libhotkey.so
|
||||
%%KDENOTIFY%%lib/qmmp%%LIB_SUFFX%%/General/libkdenotify.so
|
||||
lib/qmmp%%LIB_SUFFX%%/General/liblibrary.so
|
||||
lib/qmmp%%LIB_SUFFX%%/General/liblistenbrainz.so
|
||||
%%LYRICS%%lib/qmmp%%LIB_SUFFX%%/General/liblyrics.so
|
||||
%%MPRIS%%lib/qmmp%%LIB_SUFFX%%/General/libmpris.so
|
||||
%%NOTIFIER%%lib/qmmp%%LIB_SUFFX%%/General/libnotifier.so
|
||||
%%RGSCAN%%lib/qmmp%%LIB_SUFFX%%/General/librgscan.so
|
||||
lib/qmmp%%LIB_SUFFX%%/General/libsleepinhibitor.so
|
||||
%%SCROBBLER%%lib/qmmp%%LIB_SUFFX%%/General/libscrobbler.so
|
||||
%%STATICON%%lib/qmmp%%LIB_SUFFX%%/General/libstatusicon.so
|
||||
%%SB%%lib/qmmp%%LIB_SUFFX%%/General/libstreambrowser.so
|
||||
%%TRACKCHANGE%%lib/qmmp%%LIB_SUFFX%%/General/libtrackchange.so
|
||||
%%UDISKS2%%lib/qmmp%%LIB_SUFFX%%/General/libudisks2.so
|
||||
%%FAAD%%lib/qmmp%%LIB_SUFFX%%/Input/libaac.so
|
||||
%%ARCHIVE%%lib/qmmp%%LIB_SUFFX%%/Input/libarchive.so
|
||||
%%CDDA%%lib/qmmp%%LIB_SUFFX%%/Input/libcdaudio.so
|
||||
%%CUE%%lib/qmmp%%LIB_SUFFX%%/Input/libcue.so
|
||||
%%FFMPEG%%lib/qmmp%%LIB_SUFFX%%/Input/libffmpeg.so
|
||||
%%FLAC%%lib/qmmp%%LIB_SUFFX%%/Input/libflac.so
|
||||
%%MODPLUG%%lib/qmmp%%LIB_SUFFX%%/Input/libmodplug.so
|
||||
%%GME%%lib/qmmp%%LIB_SUFFX%%/Input/libgme.so
|
||||
%%MUSEPACK%%lib/qmmp%%LIB_SUFFX%%/Input/libmpc.so
|
||||
%%MPEG%%lib/qmmp%%LIB_SUFFX%%/Input/libmpeg.so
|
||||
%%OPUS%%lib/qmmp%%LIB_SUFFX%%/Input/libopus.so
|
||||
%%SID%%lib/qmmp%%LIB_SUFFX%%/Input/libsid.so
|
||||
%%SNDFILE%%lib/qmmp%%LIB_SUFFX%%/Input/libsndfile.so
|
||||
%%VORBIS%%lib/qmmp%%LIB_SUFFX%%/Input/libvorbis.so
|
||||
%%WAVPACK%%lib/qmmp%%LIB_SUFFX%%/Input/libwavpack.so
|
||||
%%WILDMIDI%%lib/qmmp%%LIB_SUFFX%%/Input/libwildmidi.so
|
||||
%%JACK%%lib/qmmp%%LIB_SUFFX%%/Output/libjack.so
|
||||
%%ALSA%%lib/qmmp%%LIB_SUFFX%%/Output/libalsa.so
|
||||
%%NULLOUT%%lib/qmmp%%LIB_SUFFX%%/Output/libnull.so
|
||||
%%OSS%%lib/qmmp%%LIB_SUFFX%%/Output/liboss.so
|
||||
%%OSS4%%lib/qmmp%%LIB_SUFFX%%/Output/liboss4.so
|
||||
%%PULSEAUDIO%%lib/qmmp%%LIB_SUFFX%%/Output/libpulseaudio.so
|
||||
%%QTMULTIMEDIA%%lib/qmmp%%LIB_SUFFX%%/Output/libqtmultimedia.so
|
||||
%%SHOUTCAST%%lib/qmmp%%LIB_SUFFX%%/Output/libshout.so
|
||||
lib/qmmp%%LIB_SUFFX%%/PlayListFormats/libm3uplaylistformat.so
|
||||
lib/qmmp%%LIB_SUFFX%%/PlayListFormats/libplsplaylistformat.so
|
||||
lib/qmmp%%LIB_SUFFX%%/PlayListFormats/libxspfplaylistformat.so
|
||||
%%CURL%%lib/qmmp%%LIB_SUFFX%%/Transports/libhttp.so
|
||||
%%MMS%%lib/qmmp%%LIB_SUFFX%%/Transports/libmms.so
|
||||
%%SKINNEDUI%%lib/qmmp%%LIB_SUFFX%%/Ui/libskinned.so
|
||||
%%QSUI%%lib/qmmp%%LIB_SUFFX%%/Ui/libqsui.so
|
||||
%%ANALYZER%%lib/qmmp%%LIB_SUFFX%%/Visual/libanalyzer.so
|
||||
%%PROJECTM%%lib/qmmp%%LIB_SUFFX%%/Visual/libprojectm.so
|
||||
libdata/pkgconfig/qmmp.pc
|
||||
libdata/pkgconfig/qmmpui.pc
|
||||
%%DIR_ASSOC%%share/applications/qmmp.desktop
|
||||
%%DIR_ASSOC%%share/applications/qmmp_enqueue.desktop
|
||||
%%DIR_ASSOC%%share/applications/qmmp_dir.desktop
|
||||
%%DIR_ASSOC%%share/applications/qmmp-dir.desktop
|
||||
%%DIR_ASSOC%%share/applications/qmmp-enqueue.desktop
|
||||
share/icons/hicolor/16x16/apps/qmmp.png
|
||||
share/icons/hicolor/32x32/apps/qmmp.png
|
||||
share/icons/hicolor/48x48/apps/qmmp.png
|
||||
share/icons/hicolor/56x56/apps/qmmp.png
|
||||
share/icons/hicolor/64x64/apps/qmmp.png
|
||||
share/icons/hicolor/128x128/apps/qmmp.png
|
||||
share/icons/hicolor/256x256/apps/qmmp.png
|
||||
share/icons/hicolor/scalable/apps/qmmp.svgz
|
||||
share/icons/hicolor/scalable/apps/qmmp-simple.svgz
|
||||
share/metainfo/qmmp.appdata.xml
|
||||
%%KDENOTIFY%%%%DATADIR%%/images/app_icon.png
|
||||
%%KDENOTIFY%%%%DATADIR%%/images/empty_cover.png
|
||||
%%DATADIR%%/scripts/kwin.sh
|
||||
share/solid/actions/qmmp-opencda.desktop
|
||||
@comment Insert PLIST.doc here
|
||||
|
Loading…
Reference in New Issue
Block a user