Accepting request 1200065 from multimedia:libs
OBS-URL: https://build.opensuse.org/request/show/1200065 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/gstreamer-plugins-rs?expand=0&rev=29
This commit is contained in:
commit
e62a3a1d16
23
README.SUSE
23
README.SUSE
@ -1,23 +0,0 @@
|
||||
In order to update the vendor files (including the special vendor file for
|
||||
dav1d >= 1.3), follow these steps:
|
||||
|
||||
rm -Rf gst-plugins-rs
|
||||
|
||||
osc service mr
|
||||
|
||||
tar xv --zstd -f ../vendor.tar.zst .cargo
|
||||
mv .cargo/config cargo_config
|
||||
|
||||
# Now let's prepare the special vendor file for dav1d >= 1.3
|
||||
|
||||
mv vendor.tar.zst vendor-original.tar.zst
|
||||
|
||||
pushd gst-plugins-rs
|
||||
sed -i -e 's/^dav1d = "[0-9.]*"/dav1d = "0.10"/' video/dav1d/Cargo.toml
|
||||
sed -i -e "s/'extra-deps': {'dav1d': \['>=1.0', '<1.3'\]}/'extra-deps': {'dav1d': ['>=1.3']}/" meson.build
|
||||
popd gst-plugins-rs
|
||||
|
||||
osc service mr cargo_vendor
|
||||
|
||||
mv vendor.tar.zst vendor-for-dav1d-1.3.0.tar.zst
|
||||
mv vendor-original.tar.zst vendor.tar.zst
|
13
_service
13
_service
@ -3,22 +3,19 @@
|
||||
<service name="obs_scm" mode="manual">
|
||||
<param name="url">https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs.git</param>
|
||||
<param name="filename">gst-plugins-rs</param>
|
||||
<param name="versionformat">0.12.2</param>
|
||||
<param name="revision">refs/tags/0.12.2</param>
|
||||
<param name="versionformat">0.13.1</param>
|
||||
<param name="revision">refs/tags/0.13.1</param>
|
||||
<param name="scm">git</param>
|
||||
</service>
|
||||
<service name="set_version" mode="manual"/>
|
||||
<service name="tar" mode="buildtime"/>
|
||||
<service name="recompress" mode="buildtime">
|
||||
<param name="file">*.tar</param>
|
||||
<param name="compression">xz</param>
|
||||
<param name="compression">zst</param>
|
||||
</service>
|
||||
<service name="cargo_vendor" mode="manual">
|
||||
<param name="srcdir">gst-plugins-rs</param>
|
||||
<!--<param name="update">true</param>-->
|
||||
<!-- <param name="i-accept-the-risk">RUSTSEC-2023-0065</param>-->
|
||||
</service>
|
||||
<service name="cargo_audit" mode="manual">
|
||||
<param name="srcdir">gst-plugins-rs</param>
|
||||
<param name="compression">zst</param>
|
||||
<param name="update">true</param>
|
||||
</service>
|
||||
</services>
|
||||
|
29
cargo_config
29
cargo_config
@ -1,29 +0,0 @@
|
||||
[source.crates-io]
|
||||
replace-with = "vendored-sources"
|
||||
|
||||
[source."git+https://github.com/gtk-rs/gtk-rs-core?branch=0.19"]
|
||||
git = "https://github.com/gtk-rs/gtk-rs-core"
|
||||
branch = "0.19"
|
||||
replace-with = "vendored-sources"
|
||||
|
||||
[source."git+https://github.com/gtk-rs/gtk4-rs?branch=0.8"]
|
||||
git = "https://github.com/gtk-rs/gtk4-rs"
|
||||
branch = "0.8"
|
||||
replace-with = "vendored-sources"
|
||||
|
||||
[source."git+https://github.com/rust-av/ffv1.git?rev=2afb025a327173ce891954c052e804d0f880368a"]
|
||||
git = "https://github.com/rust-av/ffv1.git"
|
||||
rev = "2afb025a327173ce891954c052e804d0f880368a"
|
||||
replace-with = "vendored-sources"
|
||||
|
||||
[source."git+https://github.com/rust-av/flavors"]
|
||||
git = "https://github.com/rust-av/flavors"
|
||||
replace-with = "vendored-sources"
|
||||
|
||||
[source."git+https://gitlab.freedesktop.org/gstreamer/gstreamer-rs?branch=0.22"]
|
||||
git = "https://gitlab.freedesktop.org/gstreamer/gstreamer-rs"
|
||||
branch = "0.22"
|
||||
replace-with = "vendored-sources"
|
||||
|
||||
[source.vendored-sources]
|
||||
directory = "vendor"
|
@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:20df0c8f46f3c4f8284b2ae7bb475220303992d56b93d74f110cf2f1d44b28dc
|
||||
size 8947213
|
3
gst-plugins-rs-0.13.1.obscpio
Normal file
3
gst-plugins-rs-0.13.1.obscpio
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:552a0736fcce820e0505c75a9c5d962158d7c9b515df39b45638e0323781b1b5
|
||||
size 11095053
|
@ -1,4 +1,4 @@
|
||||
name: gst-plugins-rs
|
||||
version: 0.12.2
|
||||
mtime: 1708952182
|
||||
commit: 55b74c9a9af3539ea9cf8acdcd98deaf839898c3
|
||||
version: 0.13.1
|
||||
mtime: 1724784650
|
||||
commit: 0bc57b8a0a6ccc8d3b8e9127b4021cbf98f3be39
|
||||
|
@ -1,3 +1,203 @@
|
||||
-------------------------------------------------------------------
|
||||
Tue Sep 10 12:56:17 UTC 2024 - Bjørn Lie <bjorn.lie@gmail.com>
|
||||
|
||||
- Update to version 0.13.1:
|
||||
+ Fixed:
|
||||
- Various new clippy warnings.
|
||||
- awstranscriber: Fix sanity check in transcribe loop.
|
||||
- gtk4paintablesink: Move dmabuf cfg to the correct bracket
|
||||
level.
|
||||
- mpegtslivesrc: Handle PCR discontinuities as errors.
|
||||
- ndisrc: Calculate timestamps for metadata buffers too.
|
||||
- rtpbasepay: Various fixes to payloader base class.
|
||||
- transcriberbin: Fix gst-inspect with missing elements.
|
||||
- webrtcsink:
|
||||
. Fix segment format mismatch when using a remote offer.
|
||||
. Fix various assertions when finalizing.
|
||||
- webrtcsrc:
|
||||
. Don't hold the state lock while removing sessions.
|
||||
. Make sure to always call end_session() without state lock.
|
||||
- whepsrc: Fix incorrect default caps.
|
||||
+ Changed:
|
||||
- gtk4paintablesink: Enable
|
||||
gtk::GraphicsOffload::black-background when building with GTK
|
||||
4.16 or newer.
|
||||
- gstwebrtc-api: Always include index file in dist for
|
||||
convenience.
|
||||
- rtpbasepay: Negotiate SSRC/PT with downstream via caps for
|
||||
backwards compatibility.
|
||||
- hlssink3: Use more accurate fragment duration from
|
||||
splitmuxsink if available.
|
||||
+ Added:
|
||||
- gtk4paintablesink:
|
||||
. Add window-width and window-height properties.
|
||||
. Add custom widget for automatically updating window size.
|
||||
- fmp4mux / mp4mux: Add image orientation tag support.
|
||||
- webrtcsink: Add nvv4l2av1enc support.
|
||||
- cmafmux: Add Opus support.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Jul 22 11:44:43 UTC 2024 - Antonio Larrosa <alarrosa@suse.com>
|
||||
|
||||
- Update to version 0.13.0:
|
||||
* Added
|
||||
- rtp: New RTP payloader and depayloader base classes, in
|
||||
addition to new payloader and depayloaders for: PCMA, PCMU,
|
||||
AC-3, AV1 (ported to the new base classes), MPEG-TS, VP8,
|
||||
VP9, MP4A, MP4G, JPEG, Opus, KLV.
|
||||
- originalbuffer: New pair of elements that allows to save a
|
||||
buffer, perform transformations on it and then restore the
|
||||
original buffer but keeping any new analytics and other
|
||||
metadata on it.
|
||||
- gopbuffer: New element for buffering an entire
|
||||
group-of-pictures.
|
||||
- tttocea708: New element for converting timed text to CEA-708
|
||||
closed captions.
|
||||
- cea708mux: New element for muxing multiple CEA-708 services
|
||||
together.
|
||||
- transcriberbin: Add support for generating CEA-708 closed
|
||||
captions and CEA-608-in-708.
|
||||
- cea708overlay: New overlay element for CEA-708 and CEA-608
|
||||
closed captions.
|
||||
- dav1ddec: Signal colorimetry in the caps.
|
||||
- webrtc: Add support for RFC7273 clock signalling and
|
||||
synchronization to webrtcsrc and webrtcsink.
|
||||
- tracers: Add a new pad push durations tracer.
|
||||
- transcriberbin: Add support for a secondary audio stream.
|
||||
- quinn: New plugin with a QUIC source and sink element.
|
||||
- rtpgccbwe: New mode based on linear regression instead of a
|
||||
kalman filter.
|
||||
- rtp: New rtpsend and rtprecv elements that provide a new
|
||||
implementation of the rtpbin element with a separate send and
|
||||
receive side.
|
||||
- rtpsrc2: Add support for new rtpsend / rtprecv elements
|
||||
instead of rtpbin.
|
||||
- webrtcsrc: Add multi-producer support.
|
||||
- livesync: Add sync property for enabling/disabling syncing of
|
||||
the output buffers to the clock.
|
||||
- mpegtslivesrc: New element for receiving an MPEG-TS stream,
|
||||
e.g. over SRT or UDP, and exposing the remote PCR clock as a
|
||||
local GStreamer clock.
|
||||
- gtk4paintablesink: Add support for rotations / flipping.
|
||||
- gtk4paintablesink: Add support for RGBx formats in non-GL
|
||||
mode.
|
||||
* Fixed
|
||||
- livesync: Queue up to latency buffers instead of requiring a
|
||||
queue of the same size in front of livesync.
|
||||
- livesync: Synchronize the first buffer to the clock too.
|
||||
- livesync: Use correct duration for deciding whether a filler
|
||||
has to be inserted or not.
|
||||
- audioloudnorm: Fix possible off-by-one in the limiter when
|
||||
handling the very last buffer.
|
||||
- webrtcsink: Fix property types for rav1enc.
|
||||
* Changed
|
||||
- sccparse, mccparse: Port from nom to winnow.
|
||||
- uriplaylistbin: Rely on uridecodebin3 gapless logic instead
|
||||
of re-implementing it.
|
||||
- webrtc: Refactor of JavaScript API.
|
||||
- janusvrwebrtcsink: New use-string-ids property to distinguish
|
||||
between integer and string room IDs, instead of always using
|
||||
strings and guessing what the server expects.
|
||||
- janusvrwebrtcsink: Handle more events and expose some via
|
||||
signals.
|
||||
- dav1ddec: Require dav1d 1.3.0.
|
||||
- closedcaption: Drop libcaption C code and switch to a pure
|
||||
Rust implementation.
|
||||
|
||||
- Update to version 0.12.7:
|
||||
* Fixed
|
||||
- aws, spotifyaudiosrc, reqwesthttpsrc, webrtchttp: Fix race
|
||||
condition when unlocking
|
||||
- rtp: Allow any payload type for the AV1 RTP
|
||||
payloader/depayloader
|
||||
- rtp: Various fixes to the AV1 RTP payloader/depayloader to
|
||||
work correctly with Chrome and Pion
|
||||
- meson: Various fixes to the meson-based build system around
|
||||
cargo
|
||||
- webrtcsink: Use correct property names for configuring
|
||||
av1enc
|
||||
- webrtcsink: Avoid lock poisoning when setting encoder
|
||||
properties
|
||||
* Added
|
||||
- ndi: Support for NDI SDK v6
|
||||
- webrtcsink: Support for AV1 via nvav1enc, av1enc or rav1enc
|
||||
* Changed
|
||||
- Update to async-tungstenite 0.26
|
||||
|
||||
- Update to version 0.12.6:
|
||||
* Fixed
|
||||
- Various Rust 1.78 clippy warnings.
|
||||
- gtk4paintablesink: Fix plugin description.
|
||||
* Added
|
||||
- fmp4mux / mp4mux: Add support for adding AV1 header OBUs into
|
||||
the MP4 headers.
|
||||
- fmp4mux / mp4mux: Take track language from the tags if
|
||||
provided.
|
||||
- gtk4paintablesink: Add GST_GTK4_WINDOW_FULLSCREEN environment
|
||||
variable to create a fullscreen window for debugging
|
||||
purposes.
|
||||
- gtk4paintablesink: Also create a window automatically when
|
||||
called from gst-play-1.0.
|
||||
- webrtc: Add support for insecure TLS connections.
|
||||
- webrtcsink: Add VP9 parser after the encoder.
|
||||
* Changed
|
||||
- webrtcsink: Improve error when no discovery pipeline runs.
|
||||
- rtpgccbwe: Improve debug output in various places.
|
||||
|
||||
- Update to version 0.12.5:
|
||||
* Fixed
|
||||
- hrtfrender: Use a bitmask instead of an int in the caps for
|
||||
the channel-mask.
|
||||
- rtpgccbwe: Don't log an error when pushing a buffer list
|
||||
fails while stopping.
|
||||
- webrtcsink: Don't panic in bitrate handling with unsupported
|
||||
encoders.
|
||||
- webrtcsink: Don't panic if unsupported input caps are used.
|
||||
- webrtcsrc: Allow a None producer-id in request-encoded-filter
|
||||
signal.
|
||||
* Added
|
||||
- aws: New property to support path-style addressing.
|
||||
- fmp4mux / mp4mux: Support FLAC instead (f)MP4.
|
||||
- gtk4: Support directly importing dmabufs with GTK 4.14.
|
||||
- gtk4: Add force-aspect-ratio property similar to other video
|
||||
sinks.
|
||||
|
||||
- Update to version 0.12.4:
|
||||
* Fixed
|
||||
- aws: Use fixed behaviour version to ensure that updates to
|
||||
the AWS SDK don't change any defaults configurations in
|
||||
unexpected ways.
|
||||
- onvifmetadataparse: Fix possible deadlock on shutdown.
|
||||
- webrtcsink: Set perfect-timestamp=true on audio encoders to
|
||||
work around bugs in Chrome's audio decoders.
|
||||
- Various clippy warnings.
|
||||
* Changed
|
||||
- reqwest: Update to reqwest 0.12.
|
||||
- webrtchttp: Update to reqwest 0.12.
|
||||
|
||||
- Update to version 0.12.3:
|
||||
* Fixed
|
||||
- gtk4paintablesink: Fix scaling of texture position.
|
||||
- janusvrwebrtcsink: Handle 64 bit numerical room ids.
|
||||
- janusvrwebrtcsink: Don't include deprecated audio/video
|
||||
fields in publish messages.
|
||||
- janusvrwebrtcsink: Handle various other messages to avoid
|
||||
printing errors.
|
||||
- livekitwebrtc: Fix shutdown behaviour.
|
||||
- rtpgccbwe: Don't forward buffer lists with buffers from
|
||||
different SSRCs to avoid breaking assumptions in rtpsession.
|
||||
- sccparse: Ignore invalid timecodes during seeking.
|
||||
- webrtcsink: Don't try parsing audio caps as video caps.
|
||||
* Changed
|
||||
- webrtc: Allow resolution and framerate changes.
|
||||
- webrtcsrc: Make producer-peer-id optional.
|
||||
* Added
|
||||
- livekitwebrtcsrc: Add new LiveKit source element.
|
||||
- regex: Add support for configuring regex behaviour.
|
||||
- spotifyaudiosrc: Document how to use with non-Facebook
|
||||
accounts.
|
||||
- webrtcsrc: Add do-retransmission property.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Feb 29 11:52:01 UTC 2024 - Antonio Larrosa <alarrosa@suse.com>
|
||||
|
||||
|
@ -19,8 +19,6 @@
|
||||
%global _lto_cflags %{_lto_cflags} -ffat-lto-objects
|
||||
%define _name gst-plugins-rs
|
||||
%define gst_branch 1.0
|
||||
# Disable csound for now, bring issue upstream
|
||||
#%%global __requires_exclude pkgconfig\\(csound\\)
|
||||
|
||||
%ifarch s390 s390x ppc ppc64
|
||||
%bcond_with aws
|
||||
@ -28,39 +26,30 @@
|
||||
%bcond_without aws
|
||||
%endif
|
||||
|
||||
%if %{?pkg_vcmp:%{pkg_vcmp dav1d-devel >= 1.3.0}}%{!?pkg_vcmp:0}
|
||||
%define has_dav1d_1_3_0 1
|
||||
%endif
|
||||
|
||||
Name: gstreamer-plugins-rs
|
||||
Version: 0.12.2
|
||||
Version: 0.13.1
|
||||
Release: 0
|
||||
Summary: GStreamer Streaming-Media Framework Plug-Ins
|
||||
License: LGPL-2.1-or-later
|
||||
Group: Productivity/Multimedia/Other
|
||||
URL: https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs
|
||||
|
||||
Source: %{_name}-%{version}.tar.xz
|
||||
Source: %{_name}-%{version}.tar.zst
|
||||
Source2: vendor.tar.zst
|
||||
Source3: cargo_config
|
||||
Source4: gstreamer-plugins-rs.appdata.xml
|
||||
Source5: vendor-for-dav1d-1.3.0.tar.zst
|
||||
Source99: README.SUSE
|
||||
|
||||
BuildRequires: cargo-c >= 0.9.21
|
||||
BuildRequires: cargo-packaging >= 1.2.0+3
|
||||
BuildRequires: clang
|
||||
# Disable csound for now, bring issue upstream
|
||||
#BuildRequires: csound-devel
|
||||
BuildRequires: llvm
|
||||
BuildRequires: git
|
||||
BuildRequires: llvm
|
||||
BuildRequires: meson >= 0.60
|
||||
BuildRequires: nasm
|
||||
BuildRequires: pkgconfig
|
||||
BuildRequires: python3-tomli
|
||||
BuildRequires: zstd
|
||||
BuildRequires: pkgconfig(cairo) >= 1.10.0
|
||||
BuildRequires: pkgconfig(dav1d)
|
||||
BuildRequires: pkgconfig(dav1d) >= 1.3.0
|
||||
BuildRequires: pkgconfig(gstreamer-1.0)
|
||||
BuildRequires: pkgconfig(gstreamer-base-1.0)
|
||||
BuildRequires: pkgconfig(gstreamer-plugins-base-1.0)
|
||||
@ -73,7 +62,7 @@ BuildRequires: pkgconfig(pango)
|
||||
Requires: gstreamer
|
||||
Requires: gstreamer-plugins-base
|
||||
Enhances: gstreamer
|
||||
ExcludeArch: ppc ppc64 ppc64le s390 %ix86 %arm
|
||||
ExclusiveArch: %{rust_tier1_arches}
|
||||
|
||||
%description
|
||||
GStreamer is a streaming media framework based on graphs of filters
|
||||
@ -89,7 +78,6 @@ This package provides various plugins written in Rust.
|
||||
Summary: GStreamer Streaming-Media Framework Plug-Ins development files
|
||||
Group: Development/Libraries/Other
|
||||
Requires: %{name} = %{version}
|
||||
#Requires: csound-devel
|
||||
|
||||
%description devel
|
||||
GStreamer is a streaming media framework based on graphs of filters
|
||||
@ -103,32 +91,9 @@ This package contains the pkgconfig development files for the rust
|
||||
plugins.
|
||||
|
||||
%prep
|
||||
%if 0%{?has_dav1d_1_3_0}
|
||||
%autosetup -n %{_name}-%{version} -a5 -p1
|
||||
|
||||
sed -ie 's/^dav1d = "[0-9\.]*"/dav1d = "0.10"/' video/dav1d/Cargo.toml
|
||||
sed -i -e "s/'extra-deps': {'dav1d': \['>=1.0', '<1.3'\]}/'extra-deps': {'dav1d': ['>=1.3']}/" meson.build
|
||||
%else
|
||||
%autosetup -n %{_name}-%{version} -a2 -p1
|
||||
%endif
|
||||
|
||||
%if %{?suse_version} < 1600
|
||||
sed -ie "s/meson_version : '>= 1.1'/meson_version : '>= 0.61.4'/" meson.build
|
||||
sed -ie "s/\.enable_if.*//" meson.build
|
||||
sed -ie "s/find_program('cargo-cbuild', version:'>=0.9.21'/find_program('cargo-cbuild', version:'>=0.9.15'/" meson.build
|
||||
%endif
|
||||
|
||||
mkdir -p .cargo
|
||||
cp %{SOURCE3} .cargo/config
|
||||
|
||||
sed -i -e 's/version = "8"/version = "9"/' vendor/livekit-api/Cargo.toml
|
||||
sed -i -e "s/ab6a42a4752e822c794421fa4b939e7e9690e85541c5e0ae28a34f17fe8fd170/2c69748813bcb4e4f3d06343e05fb9f43a8ae623fbdbb340847fd536f1974aa9/" vendor/livekit-api/.cargo-checksum.json
|
||||
|
||||
%build
|
||||
# Disable csound for now, bring issue upstream
|
||||
#export CSOUND_LIB_DIR=%%{_libdir}
|
||||
export RUSTFLAGS="%{build_rustflags}"
|
||||
|
||||
%meson \
|
||||
--default-library=shared \
|
||||
-Ddoc=disabled \
|
||||
@ -142,7 +107,6 @@ export RUSTFLAGS="%{build_rustflags}"
|
||||
%meson_build
|
||||
|
||||
%install
|
||||
export RUSTFLAGS="%{build_rustflags}"
|
||||
%meson_install
|
||||
mkdir -p %{buildroot}%{_datadir}/appdata
|
||||
cp %{SOURCE4} %{buildroot}%{_datadir}/appdata/
|
||||
@ -163,6 +127,7 @@ cp %{SOURCE4} %{buildroot}%{_datadir}/appdata/
|
||||
%{_libdir}/gstreamer-%{gst_branch}/libgstffv1.so
|
||||
%{_libdir}/gstreamer-%{gst_branch}/libgstfmp4.so
|
||||
%{_libdir}/gstreamer-%{gst_branch}/libgstgif.so
|
||||
%{_libdir}/gstreamer-%{gst_branch}/libgstgopbuffer.so
|
||||
%{_libdir}/gstreamer-%{gst_branch}/libgstgtk4.so
|
||||
%{_libdir}/gstreamer-%{gst_branch}/libgsthlssink3.so
|
||||
%{_libdir}/gstreamer-%{gst_branch}/libgsthsv.so
|
||||
@ -170,7 +135,10 @@ cp %{SOURCE4} %{buildroot}%{_datadir}/appdata/
|
||||
%{_libdir}/gstreamer-%{gst_branch}/libgstlewton.so
|
||||
%{_libdir}/gstreamer-%{gst_branch}/libgstlivesync.so
|
||||
%{_libdir}/gstreamer-%{gst_branch}/libgstmp4.so
|
||||
%{_libdir}/gstreamer-%{gst_branch}/libgstmpegtslive.so
|
||||
%{_libdir}/gstreamer-%{gst_branch}/libgstndi.so
|
||||
%{_libdir}/gstreamer-%{gst_branch}/libgstoriginalbuffer.so
|
||||
%{_libdir}/gstreamer-%{gst_branch}/libgstquinn.so
|
||||
%{_libdir}/gstreamer-%{gst_branch}/libgstraptorq.so
|
||||
%{_libdir}/gstreamer-%{gst_branch}/libgstrav1e.so
|
||||
%{_libdir}/gstreamer-%{gst_branch}/libgstregex.so
|
||||
|
@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:6562a41f89ec0a80df5a33cb393f10d32421462d3841a40a074d10909f33ce37
|
||||
size 78900412
|
@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:486ec7c0b8289384fc298588539960fafab002d1afdc90e287d327064327e0a0
|
||||
size 78962123
|
||||
oid sha256:ced9e867147a385082498e8e3415f39b3883b902845d7842a540c8d83410bb8e
|
||||
size 83807633
|
||||
|
Loading…
Reference in New Issue
Block a user