Ana Guerrero 2024-09-11 14:56:35 +00:00 committed by Git OBS Bridge
commit e62a3a1d16
10 changed files with 224 additions and 114 deletions

View File

@ -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

View File

@ -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="file">*.tar</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="srcdir">gst-plugins-rs</param>
<param name="compression">zst</param>
<param name="update">true</param>
</service>
</services>

View File

@ -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"

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:20df0c8f46f3c4f8284b2ae7bb475220303992d56b93d74f110cf2f1d44b28dc
size 8947213

View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:552a0736fcce820e0505c75a9c5d962158d7c9b515df39b45638e0323781b1b5
size 11095053

View File

@ -1,4 +1,4 @@
name: gst-plugins-rs
version: 0.12.2
mtime: 1708952182
commit: 55b74c9a9af3539ea9cf8acdcd98deaf839898c3
version: 0.13.1
mtime: 1724784650
commit: 0bc57b8a0a6ccc8d3b8e9127b4021cbf98f3be39

View File

@ -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>

View File

@ -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

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:6562a41f89ec0a80df5a33cb393f10d32421462d3841a40a074d10909f33ce37
size 78900412

View File

@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:486ec7c0b8289384fc298588539960fafab002d1afdc90e287d327064327e0a0
size 78962123
oid sha256:ced9e867147a385082498e8e3415f39b3883b902845d7842a540c8d83410bb8e
size 83807633