From 47f772d753fe3c53fb536cb419552df2a7eb32d22b6680d1b59b7ffce4ac827c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B8rn=20Lie?= Date: Wed, 11 Sep 2024 08:23:23 +0000 Subject: [PATCH] OBS-URL: https://build.opensuse.org/package/show/multimedia:libs/gstreamer-plugins-rs?expand=0&rev=74 --- .gitattributes | 23 + .gitignore | 1 + README.SUSE | 23 + _constraints | 56 + _service | 21 + cargo_config | 29 + gst-plugins-rs-0.12.2.obscpio | 3 + gst-plugins-rs-0.13.1.obscpio | 3 + gst-plugins-rs.obsinfo | 4 + gstreamer-plugins-rs.appdata.xml | 16 + gstreamer-plugins-rs.changes | 1698 ++++++++++++++++++++++++++++++ gstreamer-plugins-rs.spec | 174 +++ vendor-for-dav1d-1.3.0.tar.zst | 3 + vendor.tar.zst | 3 + 14 files changed, 2057 insertions(+) create mode 100644 .gitattributes create mode 100644 .gitignore create mode 100644 README.SUSE create mode 100644 _constraints create mode 100644 _service create mode 100644 cargo_config create mode 100644 gst-plugins-rs-0.12.2.obscpio create mode 100644 gst-plugins-rs-0.13.1.obscpio create mode 100644 gst-plugins-rs.obsinfo create mode 100644 gstreamer-plugins-rs.appdata.xml create mode 100644 gstreamer-plugins-rs.changes create mode 100644 gstreamer-plugins-rs.spec create mode 100644 vendor-for-dav1d-1.3.0.tar.zst create mode 100644 vendor.tar.zst diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..9b03811 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,23 @@ +## Default LFS +*.7z filter=lfs diff=lfs merge=lfs -text +*.bsp filter=lfs diff=lfs merge=lfs -text +*.bz2 filter=lfs diff=lfs merge=lfs -text +*.gem filter=lfs diff=lfs merge=lfs -text +*.gz filter=lfs diff=lfs merge=lfs -text +*.jar filter=lfs diff=lfs merge=lfs -text +*.lz filter=lfs diff=lfs merge=lfs -text +*.lzma filter=lfs diff=lfs merge=lfs -text +*.obscpio filter=lfs diff=lfs merge=lfs -text +*.oxt filter=lfs diff=lfs merge=lfs -text +*.pdf filter=lfs diff=lfs merge=lfs -text +*.png filter=lfs diff=lfs merge=lfs -text +*.rpm filter=lfs diff=lfs merge=lfs -text +*.tbz filter=lfs diff=lfs merge=lfs -text +*.tbz2 filter=lfs diff=lfs merge=lfs -text +*.tgz filter=lfs diff=lfs merge=lfs -text +*.ttf filter=lfs diff=lfs merge=lfs -text +*.txz filter=lfs diff=lfs merge=lfs -text +*.whl filter=lfs diff=lfs merge=lfs -text +*.xz filter=lfs diff=lfs merge=lfs -text +*.zip filter=lfs diff=lfs merge=lfs -text +*.zst filter=lfs diff=lfs merge=lfs -text diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..57affb6 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +.osc diff --git a/README.SUSE b/README.SUSE new file mode 100644 index 0000000..2a5f0e5 --- /dev/null +++ b/README.SUSE @@ -0,0 +1,23 @@ +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 diff --git a/_constraints b/_constraints new file mode 100644 index 0000000..1998eb5 --- /dev/null +++ b/_constraints @@ -0,0 +1,56 @@ + + + + 30 + + + + + i586 + + + + 27 + + + + + + aarch64 + + + + 27 + + + 16 + + + + + + s390x + + + + 23 + + + 12 + + + + + + riscv64 + + + + 23 + + + 10 + + + + diff --git a/_service b/_service new file mode 100644 index 0000000..652b1f7 --- /dev/null +++ b/_service @@ -0,0 +1,21 @@ + + + + https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs.git + gst-plugins-rs + 0.13.1 + refs/tags/0.13.1 + git + + + + + *.tar + zst + + + gst-plugins-rs + zst + true + + diff --git a/cargo_config b/cargo_config new file mode 100644 index 0000000..cebf693 --- /dev/null +++ b/cargo_config @@ -0,0 +1,29 @@ +[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" diff --git a/gst-plugins-rs-0.12.2.obscpio b/gst-plugins-rs-0.12.2.obscpio new file mode 100644 index 0000000..b79dddf --- /dev/null +++ b/gst-plugins-rs-0.12.2.obscpio @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:20df0c8f46f3c4f8284b2ae7bb475220303992d56b93d74f110cf2f1d44b28dc +size 8947213 diff --git a/gst-plugins-rs-0.13.1.obscpio b/gst-plugins-rs-0.13.1.obscpio new file mode 100644 index 0000000..cc4c178 --- /dev/null +++ b/gst-plugins-rs-0.13.1.obscpio @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:552a0736fcce820e0505c75a9c5d962158d7c9b515df39b45638e0323781b1b5 +size 11095053 diff --git a/gst-plugins-rs.obsinfo b/gst-plugins-rs.obsinfo new file mode 100644 index 0000000..0e1fa30 --- /dev/null +++ b/gst-plugins-rs.obsinfo @@ -0,0 +1,4 @@ +name: gst-plugins-rs +version: 0.13.1 +mtime: 1724784650 +commit: 0bc57b8a0a6ccc8d3b8e9127b4021cbf98f3be39 diff --git a/gstreamer-plugins-rs.appdata.xml b/gstreamer-plugins-rs.appdata.xml new file mode 100644 index 0000000..05d1905 --- /dev/null +++ b/gstreamer-plugins-rs.appdata.xml @@ -0,0 +1,16 @@ + + + + gstreamer-plugins-rs + CC0 + GStreamer Plugins rust + Multimedia plugins written in rust + +

+ This addon includes several plugins that are written in Rust. +

+

+ The plugins build upon the GStreamer Rust bindings. +

+
+
diff --git a/gstreamer-plugins-rs.changes b/gstreamer-plugins-rs.changes new file mode 100644 index 0000000..16d44cf --- /dev/null +++ b/gstreamer-plugins-rs.changes @@ -0,0 +1,1698 @@ +------------------------------------------------------------------- +Tue Sep 10 12:56:17 UTC 2024 - Bjørn Lie + +- 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 + +- 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 + +- Update to version 0.12.2: + * Fixed + - rtpgccbwe: Don't reset PTS/DTS to None as otherwise + rtpsession won't be able to generate valid RTCP. + - webrtcsink: Fix usage with 1.22. + * Added + - janusvrwebrtcsink: Add secret-key property. + - janusvrwebrtcsink: Allow for string room ids and add + string-ids property. + - textwrap: Don't split on all whitespaces, especially not on + non-breaking whitespace. +- Update to version 0.12.1: + * Added + - gtk4: Create a window for testing purposes when running in + gst-launch-1.0 or if GST_GTK4_WINDOW=1 is set. + - webrtcsink: Add msid property. +- Update to version 0.12.0: + * Changed + - ndi: ndisrc passes received data downstream without an + additional copy, if possible. + - webrtc: Cleanups to webrtcsrc/sink default signalling + protocol, JavaScript implementation and server + implementation. + - webrtc: whipwebrtcsink is renamed to whipclientsink and + deprecate old whipsink. + * Fixed + - gtk4: Fix Windows build when using EGL. + - gtk4: Fix ARGB pre-multiplication with GTK 4.14. This + requires building with the gtk_v4_10 or even better gtk_v4_14 + feature. + - gtk4: Fix segfault if GTK3 is used in the same process. + - gtk4: Always draw background behind the video frame and not + only when borders have to be added to avoid glitches. + - livekitwebrtcsink: Add high-quality layer for video streams. + - webrtc: Fix potential hang and fd leak in signalling server. + - webrtc: Fix closing of WebSockets. + - webrtchttp: Allow setting None for audio/video caps for WHEP. + * Added + - New awss3putobjectsink that works similar to awss3sink but + with a different upload strategy. + - New hlscmafsink element for writing HLS streams with + CMAF/ISOBMFF fragments. + - New inter plugin with intersink / intersrc elements that + allow to connect different pipelines in the same process. + - New janusvrwebrtcsink element for the Janus VideoRoom API. + - New rtspsrc2 element. + - New whipserversrc element. + - gtk4: New background-color property for setting the color of + the background of the frame and the borders, if any. + - gtk4: New scale-filter property for defining how to scale the + frames. + - livesync: Add support for image formats. + - ndi: Closed Caption support in ndisrc / ndisink. + - textwrap: Add support for gaps. + - tracers: Optionally only show late buffers in buffer-lateness + tracer. + - webrtc: Add support for custom headers. + - webrtcsink: New payloader-setup signal to configure payloader + elements. + - webrtcsrc: Support for navigation events. + +------------------------------------------------------------------- +Mon Jan 29 10:22:55 UTC 2024 - Antonio Larrosa + +- Increase memory to 12G for s390x builds in _constraints + (bsc#1218563). + +------------------------------------------------------------------- +Thu Jan 11 12:56:06 UTC 2024 - Antonio Larrosa + +- Increase memory to 10G for s390x builds in _constraints + (bsc#1218563). + +------------------------------------------------------------------- +Thu Jan 11 11:32:07 UTC 2024 - Antonio Larrosa + +- Update both vendor files and include jsonwebtoken 9.2 in them. +- The ring crate only supports s390x since v0.17.0 and jsonwebtoken + 8 uses an older version, so we now patch livekit-api to use + jsonwebtoken 9(.2) which allows to build the package in s390x + (bsc#1218563). + +------------------------------------------------------------------- +Thu Jan 4 06:48:52 UTC 2024 - Antonio Larrosa + +- Update to version 0.11.3: + + Fixed + - ndi: Mark a private type as such and remove a wrong `Clone` + impl of internal types. + - uriplaylistbin: Fix a minor clippy warning. + - fallbacksrc: Fix error during badly timed timeout scheduling. + - webrtcsink: Fail gracefully if webrtcbin pads can't be + requested instead of panicking. + - threadshare: Fix deadlock in `ts-udpsrc` + `notify::used-socket` signal emission. + + Changed + - Update to AWS SDK 1.0. + - Update to windows-sys 0.52. + - Update to async-tungstenite 0.24. + - Update to bitstream-io 2.0. + - tttocea608: De-duplicate some functions. + - gtk4: Use async-channel instead of deprecated GLib main + context channel. + +------------------------------------------------------------------- +Wed Dec 27 13:55:40 UTC 2023 - Frederic Crozat + +- Update BuildRequires on cargo-c >= 0.9.21. + +------------------------------------------------------------------- +Thu Nov 16 12:11:54 UTC 2023 - Bjørn Lie + +- Add arm to excluded arches. + +------------------------------------------------------------------- +Thu Nov 16 10:57:33 UTC 2023 - Antonio Larrosa + +- Use xz format in the _service file since services in SLE SP6 + don't support zstd. + +------------------------------------------------------------------- +Wed Nov 15 11:01:48 UTC 2023 - Antonio Larrosa + +- Update to version 0.11.2: + + Fixed + - filesink / s3sink: Set sync=false to allow processing faster + than real-time. + - hlssink3: Various minor bugfixes and cleanups. + - livesync: Various minor bugfixes and cleanups that should + make the element work more reliable. + - s3sink: Fix handling of non-ASCII characters in URIs and + keys. + - sccparse: Parse SCC files that are incorrectly created by + CCExtractor. + - ndisrc: Assume > 8 channels are unpositioned. + - rtpav1depay: Skip unexpected leading fragments instead of + repeatedly warning + - about the stream possibly being corrupted. + - rtpav1depay: Don't push stale temporal delimiters downstream + but wait until a complete OBU is collected. + - whipwebrtcsink: Use correct URL during redirects. + - webrtcsink: Make sure to not miss any ICE candidates. + - webrtcsink: Fix deadlock when calling set-local-description. + - webrtcsrc: Fix reference cycles that prevented the element + from being freed. + - webrtcsrc: Define signaller property as CONSTRUCT_ONLY to + make it actually possible to set different signallers. + - webrtc: Update livekit signaller to livekit 0.2. + - meson: Various fixes to the meson-based build system. + + Added + - audiornnoise: Attach audio level meta to output buffers. + - hlssink3: Allow adding EXT-X-PROGRAM-DATE-TIME tag to the + manifest. + - webrtcsrc: Add turn-servers property. + + Changed + - aws/webrtc: Update to AWS SDK 0.57/0.35. +- The last update to 1.22.6 was actually a downgrade to the 0.9 + branch that upstream seems to tag following the gstreamer version + number but we should stick to the gstreamer-plugins-rs versioning + scheme. +- To see the changes between 0.10.11 and 0.11.2, please check: + https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/blob/main/CHANGELOG.md +- Add a vendor-for-dav1d-1.3.0.tar.zst vendor file specifically + for Tumbleweed where dav1d 1.3.0 is used and is not supported by + the dav1d crate used in 0.11.2 by default, so in this manually + created vendor file, the dav1d 0.10 crate is forced. + +------------------------------------------------------------------- +Tue Oct 24 15:06:02 UTC 2023 - Bjørn Lie + +- Add ix86 to excluded arches. + +------------------------------------------------------------------- +Fri Sep 22 14:29:14 UTC 2023 - Bjørn Lie + +- Update to version 1.22.6: + + fallbackswitch: locking/deadlock fixes + + onvifmetadataparse: Skip metadata frames with unrepresentable + UTC time + + transcriberbin: Configure audioresample in front of transcriber + + webrtcsink: + - Propagate GstContext messages + - Add support for d3d11 memory and qsvh264enc + - Fix TWCC extension adding + - Don't forget to setup encoders for discoveries + - NVIDIA V4L2 encoders always require NVMM memory + + meson: Fix handling of optional deps, and don't require + Python-3.8 +- Switch service to do the tag released with the other gstreamer + packages. Gstreamer-plugins-rs are now released at the same time + as the gstreamer main packages. +- Switch compression to zst both in service and tarball produced. + +------------------------------------------------------------------- +Tue Jul 25 11:34:26 UTC 2023 - Bjørn Lie + +- Update to version 0.10.11: + + fallbackswitch: + - Change the threshold for trailing buffers + - Fix pad health calculation and notifies + + fmp4mux: Fix draining in chunk mode if keyframes are too late + + webrtcsink: + - fix pipeline when input caps contain max-framerate + - Configure only 4 threads for x264enc + - Translate force-keyunit events to force-IDR action signal for + NVIDIA encoders + - Set config-interval=-1 and aggregate-mode=zero-latency on + rtph264pay and rtph265pay + - Set VP8/VP9 payloader based on payloader element factory name +- Update to version 0.10.10: + + webrtcsink: + - Avoid panic on unprepare from an async tokio context + - Use correct property types for nvvideoconvert + + webrtc/signalling: fix race condition in message ordering + + livesync: + - Wait for the end timestamp of the previous buffer before + looking at queue + - Improve EOS handling + + videofx: Minimize dependencies of the image crate + + togglerecord: + - Clip segment before calculating timestamp/duration + - Error out if main stream buffer has no valid running time + +------------------------------------------------------------------- +Wed Jul 5 10:49:41 UTC 2023 - Bjørn Lie + +- Update to version 0.10.9: + + Fixed: + - mp4mux/fmp4mux: Fix byte order in Opus extension box. + - webrtcsrc: Add twcc extension to the codec-preferences when + present. + - webrtcsink: Don't try using cudaconvert if it is not present. + - mccparse: Don't offset the first timecode to a zero PTS. + - Correctly use MPL as license specifier instead of MPL-2 for + plugins that compile with GStreamer < 1.20. + + Added: fallbackswitch: Add stop-on-eos property. +- Changes from version 0.10.8: + + Fixed: + - fmp4mux: + . Use updated start PTS when checking if a stream is filled + instead of a stale one. + . Fix various issues with stream gaps, especially in the + beginning. + . Fix waiting in live pipelines. + - uriplaylistbin: Prevent deadlocks during property + notifications. + - webrtcsink: Fix panics during twcc-stats callback and related + issues. + - awstranscriber: Handle stream disconts correctly. + - roundedcorners: Fix caps negotiation to not use I420 if a + border radius is configured. + - whipsink: Use the correct pad template to request pads from + the internal webrtcbin. + - fallbacksrc: Don't apply fallback audio caps to the main + stream. + - webrtcsrc: Fix caps handling during transceiver creation. + + Changed: rtpgccbwe: Improve packet handling. +- Changes from version 0.10.7: + + Fixed: + - ffv1dec: Drop rank until the implementation is + feature-complete. + - spotifyaudiosrc: Check cached credentials before use and fix + usage of credentials cache. + - tttocea608: Specify raw CEA608 field. + - gtk4paintablesink: Fix compilation on non-Linux UNIX systems. + - webrtcsrc: Don't set stun-server to the empty string if none + was set. + - webrtcsink: Abort statistics collection before stopping the + signaller. + - rtpgccbwe: Don't process empty lists. + + Changed: + - ndi: Update to libloading 0.8. + - aws: Update to AWS SDK 0.55/0.27. + - webrtcsink: Order pads by serial number. + - Update to async-tungstenite 0.22. + + Added: webrtcsink/webrtcsrc: Add request-encoded-filter signal + to add support for inserting custom filters between + encoder/payloader or depayloader/decoder. This allows + interacting with the "insertable streams" API from Chrome. +- Disable cargo audit service for now, something is not working + correctly in the service. +- Use %build_rustflags instead of the deprecated + %__default_rustflags macro. Requires at least cargo-packaging + 1.2.0+3. + +------------------------------------------------------------------- +Wed Apr 12 11:50:33 UTC 2023 - Bjørn Lie + +- Update to version 0.10.6: + + Fixed: + - webrtcsink: Fix max/min-bitrate property blurb/nick. + - uriplaylistbin: Add missing queues to example. + - tttocea608: + . Fix pushing of caps events that sometimes contained unfixed + caps. + . Fix disappearing text after special character in non-popon + mode. + - transcriberbin: + . Fix deadlock on construction. + . Fix initial bin setup. + - fallbacksrc: Handle incompatible downstream caps without + panicking. + - ndisrc: Fix copying of raw video frames with different + NDI/GStreamer strides. + - livesync: Correctly assume zero upstream latency if latency + query fails. + + Added: webrtcsink: Add ice-transport-policy property that + proxies the same webrtcbin property. +- Switch to cargo-packaging: Drop cargo and rust BuildRequires and + rustflags global. Add cargo-packaging BuildRequires and rustflags + macro where needed. Use autosetup macro. + +------------------------------------------------------------------- +Fri Mar 31 20:55:39 UTC 2023 - Bjørn Lie + +- Update to version 0.10.5: + + gtk4: Fix build with OpenGL support on macOS. + + threadshare: Fix symbol conflicts when statically linking the + plugin. +- Enable LTO as it works fine now (use FAT lto objects). + +------------------------------------------------------------------- +Thu Mar 16 08:50:57 UTC 2023 - Bjørn Lie + +- Update to version 0.10.4: + * Fixed: + - fmp4mux: + . Return a running time from AggregatorImpl::next_time() to + fix waiting in live pipelines. + . Fix hls_live example to set properties on the right + element. + - uriplaylistbin: Reset element when switching back to NULL + state. + - livesync: Handle variable framerates correctly in fallback + buffer duration calculation. + - meson: Fix GStreamer version feature detection. + * Added: webrtc: New webrtc element. + +------------------------------------------------------------------- +Thu Mar 09 19:19:14 UTC 2023 - bjorn.lie@gmail.com + +- Update to version 0.10.3: + * Added: + - tracers: `queue_levels` tracer now also supports printing the + `appsrc` levels. + - webrtc: `webrtcsink` can use `nvvidconv` if `nvvideoconvert` + does not exist on an NVIDIA platform. + * Fixed: + - gtk4: Set the sync point on the video frame after mapping it + as otherwise the frame might not be ready yet for further + usage. + - livesync: Correctly calculate the fallback buffer duration + from the video framerate. + - ndi: Handle caps changes correctly in `ndisinkcombiner`. + * Changed: webrtc: Minor cleanup. + +------------------------------------------------------------------- +Tue Mar 7 07:00:49 UTC 2023 - Antonio Larrosa + +- Increase constraints so it doesn't fail to build for lack of + disk space. + +------------------------------------------------------------------- +Mon Feb 27 15:10:02 UTC 2023 - bjorn.lie@gmail.com + +- Update to version 0.10.2: + * Fixed: + - hlssink3: Allow signal handlers to return `None` + - gtk4: + . Make GL context sharing more reliable in pipelines with + multiple `gtk4paintablesinks` + . Attach channel receiver to the main context from the + correct thread to make it possible to start the sink from a + different thread than the main thread without having + retrieved the paintable from the main thread before. + - fmp4mux/mp4mux: Ignore caps changes if only the framerate + changes. + * Changed: gtk4: Simplify and refactor GL context sharing. Apart + from being more reliable this reduces GL resource usage. +- Stop using git date and commitid in version, we are using + upstream released tags now. + +------------------------------------------------------------------- +Thu Feb 16 15:14:03 UTC 2023 - Antonio Larrosa + +- Disable the aws plugin in big endian architectures since it + requires the ring crate which doesn't support big endian systems + (see gh#briansmith/ring#1555). Fixes bsc#1208795 + +------------------------------------------------------------------- +Thu Feb 16 09:42:41 UTC 2023 - Antonio Larrosa + +- Add BuildRequires: zstd so it build in SLE/Leap now that the + sources are compressed with zstd + +------------------------------------------------------------------- +Tue Feb 14 18:15:43 UTC 2023 - bjorn.lie@gmail.com + +- Update to version 0.10.1+git20230213.9cd68ff: + * rtpav1pay: Fix calculation of Leb128 size size to work + correctly with streams from certain encoders. +- Changes from version 0.10.0: + * Fixed: + - audiornnoise: Use correct value range for the samples + - awss3sink: Treat stopping without EOS as an error for + multipart upload + - awss3hlssink: + . Fix the name of the hlssink child element + . Fix deadlock on EOS + - dav1d: Various fixes to improve performance, to handle + decoding errors more gracefully and to make sure all frames + are output in the end + - fmp4mux: Various fixes to fragment splitting behaviour, + output formatting and header generation + - gtk4: Various stability and rendering fixes + - meson: Various fixes and improvements to the meson-based + build system + - ndi: provide non-Linux/macOS UNIX fallback for the soname + - ndisrc: Use default channel mask for audio output to allow >2 + channels to work better + - rav1e: Correctly enable threading support + - rtpav1: Various fixes to the payloader and depayloader to + handle streams more correctly and to handle errors more + cleanly + - rtpav1depay: Set caps on the source pad + - spotify: fix "start a runtime from within a runtime" with + static link + - textahead: fix previous buffers + - textwrap: Don't panic on empty buffers + - tttocea608: Don't fail if a GAP event contains no duration + - webrtchttp: whipsink: construct TURN URL correctly + - webrtcsink: fix panic on pre-bwe request error + - whipsink: + . Send ICE candidates together with the offer + . Various cleanups and minor fixes + * Added: + - audiornnoise: Add voice detection threshold property + - awss3hlssink: Add stats property + - awss3sink: Add properties to set Content-Type and + Content-Disposition + - fmp4mux: + . Add 'offset-to-zero' property + . Add support for CMAF-style chunking, e.g. low-latency / LL + HLS and DASH + - fmp4mux/mp4mux: + . Add support for muxing Opus, VP8, VP9 and AV1 streams + . Make media/track timescales configurable + - gtk4: Support for rendering GL textures on X11/EGL, X11/GLX, + Wayland and macOS + - hlssink3: Allow generating i-frame-only playlist + - livesync: New element that alllows maintaining a contiguous + live stream without gaps from a potentially unstable source. + - mp4mux: New non-fragmented MP4 muxer element + - spotifyaudiosrc: Support configurable bitrate + - textahead: add settings to display previous buffers + - threadshare: Introduce new ts-audiotestsrc + - webrtcsink: Support nvv4l2vp9enc + - whepsource: Add a WebRTC WHEP source element + * Changed: + - audiofx: Derive from AudioFilter where possible + - dav1ddec: Lower rank to primary to allow usage of hardware + decoders with higher ranks + - fmp4mux: Only push fragment_offset if write-mfra is true to + reduce memory usage + - webrtcsink: + . Make the turn-server property a turn-servers list + . Move from async-std to tokio + +------------------------------------------------------------------- +Wed Jan 25 22:24:43 UTC 2023 - bjorn.lie@gmail.com + +- Update to version 0.9.8+git20230124.d9e9468: + * aws: Update to AWS SDK 0.53/0.23 + * dav1d: + - Don't flush the decoder when draining + - Don't treat any kind of bitstream error immediately as fatal + - Get rid of some unnecessary `unwrap()`s + - Only drain at most one decoded frame per input frame unless + the decoder requires more before accepting new data + - Remove unnecessary frame dropping loop + * Downgrade clap dependency to 4.0 + * gtk4: + - Asynchronously flush frames from GDK + - Keep `GstGLMemory` alive as long as it is used inside GDK + - Make no caps in the allocation query a non-error + - Only provide a buffer pool to upstream if it requested one + * livesync: fix late-threshold property min value + * meson: + - Only enable cargo features when options are enabled (bis) + - Update version to 0.9.8 + +------------------------------------------------------------------- +Fri Jan 13 15:12:47 UTC 2023 - bjorn.lie@gmail.com + +- Update to version 0.9.5+git20230111.df3b908: + * awss3hlssink: Add stats property. + * aws: + - Update to AWS SDK 0.52/0.22 + - Update to test-with 0.9 + * cargo_wrapper: + - Fix setting of PKG_CONFIG_PATH and CARGO_TARGET_DIR + - Handle windows paths for depfiles + - Write to log with line-buffering + * deny: + - Ignore duplicated base64 dependency for now + - Remove duplicated windows dependencies + - Update + * fmp4mux: + - Only push fragment_offset if write_mfra is true + - Remove obsolete comment + * gtk4: + - Add support for GL on macOS + - Don't error out when the main context channel does not exist + anymore when rendering + - Don't try to use GL mapped video frames as raw RGB memory + - Flush frames from the paintable when shutting down the sink + - Handle more GL context creation failures gracefully + - Propagate the GL display to the remainder of the pipeline + - Reduce number of unwraps during GL context creation and query + handling + - Release GStreamer GL context and display when going back to + NULL state + - Remove 'gst' from gtksink debug category name + - Remove 'gst' prefix from another debug category + - Rename a variable to make more sense + - Reset app context and display if GL context creation fails + - Update dependencies to releases + - Use `glib::ThreadGuard` instead of the fragile crate + - Use GL implicitly without the gst_gl feature on macOS + * meson: + - Add an option to build examples + - Add options for all plugins + - Disable webp plugin on Windows and macOS + - Do not serialize env, use env: kwarg + - Enable gstreamer-gl-1.0 features in gtk4 plugin + - Fix pkgconfig detection when specified in machine file + - Handle windows path separator correctly + - Only enable cargo features when options are enabled + - Require gstreamer-gl-1.0 for gtkpaintablesink + - Require tomllib / tomli python modules explicitly + * rav1e: Enable threading support + * Revert "Revert "rav1e: Update to rav1e 0.6"" + * rtpav1depay: Implement srcpad set_caps + * textahead: fix previous buffers + * Update Cargo.lock + * video/gtk4: Fix typo in info logs + * webrtcsink: fix panic on pre-bwe request error +- Pass sodium=enabled instead of sodium=system to meson following + upstream changes. + +------------------------------------------------------------------- +Fri Dec 23 17:42:20 UTC 2022 - bjorn.lie@gmail.com + +- Update to version 0.9.3+git20221216.b701003: + * Add a WebRTC WHEP source element + * Add livesync plugin + * audiornnoise: + - Add debug output for voice activity to help you choose a + threshold + - Add voice detection threshold + - Use correct value range for the samples + * aws: + - s3sink: Treat stopping without EOS as an error for multipart + upload + - Update to env_logger 0.10 for the tests + * ci: Disable gst-build job for now + * dav1ddec: Lower rank to primary + * deny: + - Remove another dependency that is not duplicated anymore + - Remove dependencies that are not duplicated anymore + - Update + * Fix various new clippy warnings + * fmp4mux: + - Crank clock for the first fragment in more tests + - For video with N/1001 framerates use N as timescale + - Handle EOS correctly if it happens before a fragment start + time was determined + - Re-work buffer dequeueing and calculations of timestamps + - Skip gap buffers earlier to consider them for the sample + durations and fragment start durations + * gif: Update to gif 0.12 + * gst-plugin-mp4: Add new MP4 plugin with a non-fragmented MP4 + muxer + * gtk4: + - Deactivate application GL context again after `fill_info()` + - Deactivate the context if we fail to fill_info + - example: Use a bin with a `videoconvert` in the non-GL case + - Make GL support fully optional + - Only require GTK 4.6 if GL support is enabled + * livesync: + - Add missing version to the gst-plugin-gtk4 / + gst-plugin-version-helper dependencies + - Fix version + - Use release versions of the GLib/GStreamer bindings + * meson: Fix build of static plugins + * mp4: + - Add ONVIF non-fragmented MP4 muxer + - Add version to gst-plugin-version-helper dependency + - Remove unneeded cast in tests + - Update to url 2 + * mp4mux: + - Adjust durations and possibly stream start time on + encountering a gap buffer + - Don't write empty chunks at the end if the last buffer of a + stream started a new chunk and happened to be a from a gap + event + - Don't write gap edit lists if their duration would be zero + - Factor out running time to UTC time calculation into a + function + - Fix edit list shift for streams with initial DTS smaller + earliest PTS but initial DTS positive + - For video with N/1001 framerates use N as timescale + - Remove unnecessary error case of negative PTS when doing the + ONVIF UTC time calculations + - Skip gap buffers instead of writing empty samples + * mux/{mp4, fmp4}: Hard depend on feature v1_18 + * ndisrc: + - Use actual number of channels in positions_from_mask + - Use default channel mask for audio output + * net/ndi: fix build with --no-default-features + * net: Update to async-tungstenite 0.19 + * Provide explicit type to `Iterator::sum()` calls to avoid + ambiguity + * spotify: fix "start a runtime from within a runtime" with + static link + * textahead: add settings to display previous buffers + * textwrap: Don't panic on empty buffers + * threadshare: Update to concurrent-queue 2 + * tttocea608: Don't fail if a gap event contains no duration + * Update Cargo.lock + * video/gtk4: + - Implement support for GLTextures when possible. + - Rename Object types and struct to something simpler + - Restrict visibility of struct related to the Frame + * webrtchttp: + - Do not block webrtcbin signal handlers for sending candidates + - Do not import element_imp_error + - Don't use let-else for now + - Drop unused dependencies + - Factor out the common bits for WHIP and WHEP + - Fix documentation JSON + - Fix formatting + - Fix missing import for docs build + - Implement timeout for waiting on futures + - Remove unnecessary clippy warning override + - Use a proper Rust type name for ICE transport policy + - Use tokio runtime for spawning thread used for candidate + offer + - whipsink: + . Add candidates when sending the offer + . Construct TURN URL correctly + . Miscellaneous clean up + * webrtc/README: update command to run the signalling server + * webrtcsink: Support nvv4l2vp9enc + * whipsink: Handle offer creation errors more gracefully + +------------------------------------------------------------------- +Thu Nov 17 16:19:32 UTC 2022 - alarrosa@suse.com + +- Update to version 0.9+git20221113.274e57a: + * Update Cargo.lock + * Update versions to 0.9.1 + * closedcaption: Update for deprecated chrono functions + * version-helper: Update for deprecated chrono functions + * Update Cargo.lock + * webrtc: README: fix couple of links + * webrtcsink: improve debug + * ci: add trigger job and only run documentation job post-merge + * ci: add integration stage and move documentation job to that + * ts/udpsink: handle items in the PadSinkHandler + * ts: introduce ts-audiotestsrc + * ts/standalone: add new Sinks + * ts/standalone: move current sink under task_sink + * deny: Update + * Add missing `doc` features to WebRTC plugins + * fmp4mux: Make media/trak timescales configurable + * ci: Update to cargo-c 0.9.14 + * meson: optionalize pango dependency used by net/onvif + * ndi: provide Unix fallback after 3fe9e4a207f8 + * fmp4mux: Don't allow VP9 for CMAF + * fmp4mux: Add initial Opus support + * docs: Remove some stale entries of renamed elements + * aws: Skip s3 test on Windows until we figure out why it times + out + * Fix various new clippy warnings + * fmp4mux: For VP9, write resolution into the tkhd and include a + stss box to signal that not all frames are sync samples + * webrtc: Update to human_bytes 0.4 + * aws: Update to aws 0.21/0.51 + * fmp4mux: Remove unused uuid dependency + * Update Cargo.lock + * fmp4mux: Clip negative PTS to zero/last PTS instead of erroring + out + * fmp4mux: Send force-keyunit events for now if the ideal + position has already passed + * fmp4mux: Add debug log when writing the mfra box + * fmp4mux: Reset timing infos to None if a stream only contained + gap events for a whole fragment + * fmp4mux: If a stream is longer than the main stream at EOS, + simply include all of its buffers in the last fragment + nonetheless + * whipsink: Add object to debug logs + * fmp4mux: don't require dts for predictive-only formats like vp9 + * aws: fix title in README + * deny: Update + * fmp4: add support for muxing VP9 streams in cmaf, dash and iso + fmp4 + * Add Cargo.lock + * Update to release versions of gtk-rs and gstreamer-rs + * Update versions to 0.9.0 + * Update to async-tungstenite 0.18 + * pngenc: Encode every frame individually + * ts/pad: use `gst::Pad` in handlers trait functions... + * ts/pad: don't pass self as ref in remaining handler traits + functions + * textwrap: Update to textwrap 0.16 + * Move from `imp.instance()` to `imp.obj()` + * Remove `&` for `obj` in log macros + * Update docs + * Add all missing plugins/elements to the README.md + * Fix GObject type names, GStreamer debug category names and + element factory names + * Add new mux subdirectory for container formats + * rtp: Move GCC bandwidth estimation element from webrtc to rtp + plugin + * Make GStreamer plugin/crate/library/directory names and + descriptions consistent + * Rename rtpav1 plugin to just rtp + * videocompare: Update README with reference + * Sort members in Cargo.toml and meson.build alphabetically and + the same in both files + * Various minor cleanups + * meson: Fix warning + * videocompare: Fix warning + * Take advantage of `Into>` args + * onvifmetadatacombiner: On timeout don't wait for metadata to + arrive anymore but output the current video frame + * onvifmetadatacombiner: Add a lot of trace debug output + * spotifyaudiosrc: convert to PushSrc + +------------------------------------------------------------------- +Fri Oct 21 06:18:44 UTC 2022 - bjorn.lie@gmail.com + +- Update to version 0.9.alpha.1+git20221020.5c89c3d: + * meson: add plugins list to summary + * fallbacksrc: Don't configure conversion elements for normal + stream + * webrtc: + - Rename and add to meson build the signalling server + - Enhance documentation + - Minor cleanup + - Rename signaller and protocol crates + - Update and unify rust-version and edition + - Uniformise GType names + - Port to new ElementBuilder API +- Add ppc ppc64 ppc64le s390 ExcludeArch: Current versions of + gstreamer-plugins-rs depends on rs-ring, and rs-ring does not yet + support building on these targets. + +------------------------------------------------------------------- +Mon Oct 10 15:17:09 UTC 2022 - bjorn.lie@gmail.com + +- Update to version 0.9.alpha.1+git20221010.b1b7070: + * Change *Impl trait methods to only take &self and not + Self::Type in addition + * fallbacksrc: + - Always restart the fallback stream on EOS and make sure to + EOS all streams if the main stream is EOS + - Retry fallback stream on errors too + * jsontovtt: + - Add timeout property + - Print object information to debug message + * Update for glib::Object::new() API changes + * update-version.sh: Also update version in meson.build + * Use `GFV::none_for_format` where applicable + +------------------------------------------------------------------- +Thu Oct 06 11:58:03 UTC 2022 - bjorn.lie@gmail.com + +- Update to version 0.9.alpha.1+git20221005.0b13bfe: + * Add missing Since markers to new plugins + * Add RTP de/payloader elements for AV1 + * Allow "unused_doc_comments" as we use hotdoc and not rustdoc + * awstranscriber: + - fix set_property for language-code + - only set vocabulary filter when vocabulary is set + * aws: Update to aws 0.48/0.18 + * build: Update versions to be 0.9.0-alpha.1 + * cargo: + - Sort members and default-members lists + - Update default-members list + * cea608tojson: Clip column number if it exceeds allowed value + * csound: Fix score-offset getter + * dav1ddec: Require dav1d 1.0.0 in meson + * dav1d: Update to dav1d 0.9 + * doc: Mark request::user-agent as doc show default + * docs: Remove cruft + * examples: Update to clap 4 + * fallbacksrc: + - Always restart the fallback stream on EOS and make sure to + EOS all streams if the main stream is EOS + - Implement support for fallback streams + - Retry fallback stream on errors too + * fallbackswitch: + - Fix lock order problem between state and stream lock + - Flush and deactivate pads before releasing them + - Make sure to flush/reset pads during pad (de)activation + - Port the example to GTK 4 + * Fixes for removal of SpecificFormattedValues ops on ref + * Fix missing pkgconfig requires + * fmp4mux: + - Drop GAP buffers before doing ONVIF UTC time re-timestamping + - Drop gap buffers before further processing + - Implement a better strategy for splitting fragments and + deciding which buffers go into which fragment + - Split huge drain function into separate functions + * Generate plugins documentation using hotdoc + * jitterbuffer: fix typo when calculating max_misorder_time + * jsontovtt: Don't push zero-duration cue data + * meson: + - Blacklist csound and threadshare plugins for gst-full + - Define gst_plugins with list of dependencies + - Fix deprecation warning + - Fix directory/plugin name mapping for new webrtchttp plugin + - Fix gstwebrtc/gstsdp subproject usage + - Fix usage of python3 variable which was renamed recently + - Import python module only once + - Use workspace Cargo.toml to find crates path + * net/onvif: update with new `gst::Signed` features + * onvif: + - Fix for `gst::meta::CustomMeta::register()` API change + - Rename onvif(de)pay to rtponvifmetadata(de)pay and include + the metadata specifier in the other element names too + * onvifmetadatacombiner: + - Do not classify as Muxer + - Drop gap metadata buffers + * onvifmetadataparse: + - Drop initial buffers if their UTC time would be negative + - Drop initial buffers until an UTC/running time mapping can be + established + - Handle negative running times in debug output + - Pass through other XML as is with the UTC times based on the + buffer PTSs + - Push buffers from a separate source pad task to guarantee + latency and generally improve correctness + - Refactor clock/condvar waiting + - Schedule EOS events after the last currently queued up frame + - Simplify some code + - Start source pad task on StreamStart if needed + * pngenc: Allow using deprecated compression levels + * rav1e: Pin `v_frame` dependency to version 0.2.5 for now + * rtpav1depay: Don't unnecessary map RTP payload a second time + * rtpav1pay: Don't push buffers downstream while holding mutexes + * rtpav1: + - Remove some unneeded lifetime annotations + - Reset state on FlushStop/Eos in all conditions and reset all + of the state + - Specify version helper dependency by path + - Use GStreamer types by namespace instead of importing dozens + of types directly into the scope + * s3sink: Dont set call_timeout,call_attempt_timeout is enough + with retry. + * s3sink, s3src: Max 1 (re)try when retry-duration < + request_timeout. + * text/json: + - hard depend on ser_de feature of gst crate + - use renamed gst feature 'serde' + * threadshare: disable tests that can't work on windows + * togglerecord: Port example to GTK 4 + * tracers: + - Fix documentation comment using gtk-doc style + - queue-levels: Update for `gst::TracerImpl` API changes + * ts: add feature to add counters for performance evaluation + * ts/executor: clear the reactor instead of closing it... + * ts-jitterbuffer: + - Declare `request-pt-map` signal + - extra robustness for Windows CI + - Fix latency type when getting property + * ts/scheduler: + - fix shutdown + - improve tasks / io & timers polling balance + * ts/standalone: multiple improvements + * ts/Task: don't drain sub tasks after state transition and + iteration + * ts/timers: multiple improvements + * Update for GLib ParamSpec builder API changes + * Update minimum supported Rust version to 1.63 + * update-version.sh: Also update version in meson.build + * uriplaylistbin: Port example from structopt to clap + * video/rspng: add missing doc feature gate + * whipsink: A GstBin implementation for WHIP +- Add python3-tomli and pkgconfig(gstreamer-webrtc-1.0) + BuildRequires: New dependencies. +- Pass default-library=shared and doc=disabled to meson, ensure we + build the shared lib as default and disable build of docs. + +------------------------------------------------------------------- +Mon Sep 12 21:23:10 UTC 2022 - Bjørn Lie + +- Update constraints for i586, bump to 22 G here too. + +------------------------------------------------------------------- +Mon Aug 29 23:16:32 UTC 2022 - bjorn.lie@gmail.com + +- Update to version 0.8.4+git20220824.052092cd: + * Add RaptorQ RTP FEC plugins + * audioloudnorm: Drain on segment event + * audio: Use gst_audio::AudioCapsBuilder in some plugins + * audio, video: Use AudioCapsBuilder::new_interleaved where + applicable + * aws: Document the s3hlssink element in README + * aws: s3sink: Add a deprecation warning for retry duration + properties + * aws: s3sink,s3src,transcriber: Add property to set temporary + credentials + * aws_transcriber: expose filtering related properties + * aws_transcriber: Fix regression with credentials mechanism + * aws: Update to aws 0.17/0.47 + * ci: Update image version + * ci: Update to cargo-c 0.9.11 + * deny: Update + * fallbackswitch: fix gap processing regression + * fallbackswitch: Remove unused libc dependency/feature + * Fix a couple of new 1.62 clippy warnings + * Fix build after glib SignalBuilder::param_types() API change + * Fix/silence a couple new clippy warnings + * fmp4mux: Add debug output for each fragment's start PTS + * fmp4mux: Consider invalid running times as zero and before + anything else + * fmp4mux: Dequeue as many buffers as are available in each + aggregate call + * fmp4mux: Dequeue the earliest buffer from any pad first instead + of dequeueing up to a whole fragment from the same pad + * fmp4mux: Ensure that DTS (or PTS for intra-only streams) are + monotonically increasing + * fmp4mux: Fix draining if there are no GOPs for a stream + * fmp4mux: Fix some clippy warnings + * fmp4mux: Fix usage of first_sample_flags/default_sample_flags + * fmp4mux: Handle PTS` + * hrtfrender: Switch back to hrtf 0.7 + * m3u8-rs: Depend on version exactly 3.0.0 + * mccparse/sccparse: Don't log gst::FlowError::Flushing or Eos as + error to the debug logs + * meson: + - Cleanup our meson integration + - Fix building when git isn't available + * net/onvif: implement ONVIF metadata processing elements + * onvifaggregator: + - always push current media buffer on timeout + - implement proper EOS support + - refactor to support duration-less media buffers + - Update for minor `PadTemplate` API changes + * rav1enc: + - Use `AtomicRefCell` instead of `Mutex` for the state + - Don't handle `NeedMoreData` as "soft" error + - Expose various new settings + - Include stream-format and alignment in the caps + - Put container sequence header into the caps + - Set mastering display info, content light level and HDR + related colorimetry + - Simplify code + - Support 8 bit grayscale input + - Switch from speed preset 5 to 6 as default + * README: Mention the colordetect element + * Re-license LGPL-2.1 plugins to MPL-2 + * Remove now unnecessary `Send+Sync` impls for element/etc + subclasses + * Rename `self_` variables to `imp` for consistency + * Replace `Foo::from_instance(foo)` with `foo.imp()` + * reqwest: Don't unnecessarily borrow dereferenced values + explicitly + * Revert + - "fallbackswitch: Forward custom downstream events from active + sinkpad" + - "Revert "uriplaylistbin: disable test deadlocking"" + - "uriplaylistbin: disable test deadlocking" + * rtponvifdepay: Set caps on the source pad + * rusoto: + - Add missing license file + - Export AwsTranscriberResultStability enum + - s3sink: Expose property to control all timeout/retry + durations + - s3sink: Implement timeout/retry for part uploads + - s3sink: Make remaining requests bounded in time + - s3sink, s3src: Retry on server errors + - s3src: Implement timeout and retries + - Update async-tungstenite dependency to 0.17 + - Update to crc 3 and rusoto 0.48 + * rustfmt.toml: Add file + * s3src: Consolidate stream reading into get object retries + * Simplify some code around event/query views + * spotifyaudiosrc: Update to librespot 0.4 + * textahead: `PadTemplate::caps()` returns a caps reference now + * textwrap: Update for textwrap 0.15 API changes + * threadshare: + - fix build on Windows + - Remove glib::SendUnique usage + - Use `into_glib_ptr()` instead of `into_ptr()` + * transcriberbin: + - Add caption-source property + - Don't notify signal inside lock + - Fix deadlock + - make audioqueue leaky + - Protect runtime "passthrough=false" change + * ts/examples: add rtp mode with jitter-buffer & trace stop + duration + * ts/jitterbuffer: + - don't wake up immediately... + - set jbuf delay when instantiating it + * ts: log max throttling when creating Context + * ts/rt/Task: + - awake the iteration loop when it needs to be aborted + - use light weight executor blocking on ack or join handle + * tttocea608: expose roll-up timeout property + * tutorial/sinesrc: Use pushsrc as direct superclass in the + glib::wrapper macro too + * Update for event/message/query view API changes + * Update license text in the README.md + * Update minimum supported GStreamer version to 1.14 + * Update minimum supported Rust version to 1.57 + * Update README.md with all the new plugins/elements + * Update to gst::_log_macro_ + * Update to m3u8-rs 4.0 + * Update to parking_lot 0.12 and hrtf 0.8 + * Update versions to 0.9.0 + * uridecodebin: stop using crossbeam_channel + * uriplaylistbin: + - add Status::ShuttingDown + - break reference cycle + - disable more tests + - disable more tests + - disable test deadlocking + - display invalid state when panicing + - fix deadlock when shutting down + - fix number of streaming items + - fix race when handling topology change + - handle waiting items no longer being set + - implement Debug on State + - remove pad probe when shutting down + - remove useless uridecodebin clone + - replace errored with Status enum + - skip missing_http test + - Update to more-asserts 0.3 + * Use SPDX license format in Cargo.toml + * videofx: Add colordetect video filter + +------------------------------------------------------------------- +Thu Jun 09 15:47:40 UTC 2022 - bjorn.lie@gmail.com + +- Update to version 0.8.4: + * audiofx: Update nnoiseless dependency to 0.4 + * awstranscribe: increase presisigned url duration to 5 mins from + 60s + * cea608tott: Don't zero-pad SRT indices but zero-pad hours to at + least two digits + * ci: cargo test --all-features too... + * ci: run tests with RUST_BACKTRACE + * closedcaption: Update to uuid 1.0 + * Correctly check for the `DISCONT` buffer flag to be set + * deny: Ignore duplicated wasi dependency + * fallbacksrc: + - Changing the URI of the video fallback is supported in NULL + state + - Disconnect signals on ReadyToNull + - Flush source before restarting on errors + * fallbackswitch: + - Add missing requires_private + - add support for buffers without pts + - export GEnum used in properties + - factor out handle_main_timed_item() + - properly handle GAP events + * generic/threadshare: fix for nightly build + * meson: + - Cleanup our meson integration + - Fix building when git isn't available + * rusoto: s3sink: + - Expose property to control all timeout/retry durations + - Implement timeout/retry for part uploads + - Make remaining requests bounded in time + - s3src: Retry on server errors + * rusoto: s3src: Implement timeout and retries + * rusoto: + - Update async-tungstenite dependency to 0.17 + - Update to crc 3 and rusoto 0.48 + * rustfmt.toml: Add file + * s3src: Consolidate stream reading into get object retries + * textwrap: Update for textwrap 0.15 API changes + * transcriberbin: + - Add caption-source property + - Don't notify signal inside lock + - Fix deadlock + - make audioqueue leaky + - Protect runtime "passthrough=false" change + * ts/examples: add rtp mode with jitter-buffer & trace stop + duration + * ts/jitterbuffer: don't wake up immediately... + * ts: log max throttling when creating Context + * ts/rt/Task: + - awake the iteration loop when it needs to be aborted + - use light weight executor blocking on ack or join handle + * Update Cargo.lock + * Update license text in the README.md + * Update to m3u8-rs 4.0 + * uridecodebin: stop using crossbeam_channel + * uriplaylistbin: + - add Status::ShuttingDown + - break reference cycle + - disable more tests + - disable test deadlocking + - display invalid state when panicing + - fix deadlock when shutting down + - fix number of streaming items + - fix race when handling topology change + - handle waiting items no longer being set + - implement Debug on State + - remove pad probe when shutting down + - remove useless uridecodebin clone + - replace errored with Status enum + - skip missing_http test + * Use SPDX license format in Cargo.toml + +------------------------------------------------------------------- +Wed Mar 23 08:59:08 UTC 2022 - Andreas Schwab + +- Update constraints for riscv64 + +------------------------------------------------------------------- +Mon Feb 28 12:39:44 UTC 2022 - bjorn.lie@gmail.com + +- Update to version 0.8.2: + * Update Cargo.lock + * ci: Use correct gstreamer-rs images template + * deny: Remove num-rational override + * dav1ddec: + - Use `AtomicRefCell` instead of `Mutex` for the state + - Fix compilation after some API changes + - Release input frames that immediately caused a decoding error + +------------------------------------------------------------------- +Fri Feb 04 20:27:29 UTC 2022 - bjorn.lie@gmail.com + +- Update to version 0.8.1: + * Update Cargo.lock + * Update versions to 0.8.1 + * cdg: update image and cdg_renderer + * gtk4: Attach main context receiver from the main context's + thread + * dav1ddec: Add 8/16 bit grayscale support + * rav1enc: Support 8 bit grayscale input + * dav1ddec: Require correct alignment and stream format when + running with GStreamer 1.20 + * rav1enc: Include stream-format and alignment in the caps + * dav1ddec: Clean up state tracking a bit +- Add automatic .changes generation to service, as upstream seems + to not want to make release notes or changelogs. + +------------------------------------------------------------------- +Wed Jan 19 14:17:20 UTC 2022 - Antonio Larrosa + +- Add a BuildRequires: pkgconfig(libwebp) to fix loading + libgstrswebp.so which was failing with an `undefined symbol: + WebPAnimDecoderDelete` error. + +------------------------------------------------------------------- +Tue Jan 18 09:04:54 UTC 2022 - Antonio Larrosa + +- Increase the disk constraint since i586 builds take ~15.6 GB, + s390x over 22 GB and other archs ~18.8 GB. + +------------------------------------------------------------------- +Mon Jan 17 16:22:51 UTC 2022 - Antonio Larrosa + +- Update to version 0.8.0: + * No changelog provided by upstream + +------------------------------------------------------------------- +Wed Nov 10 18:52:14 UTC 2021 - Bjørn Lie + +- Disable csound plugin for now, mask all macros, BuildRequires and + set option passed to meson to disabled (was auto), wait for + upstream to fix the issues identified. + +------------------------------------------------------------------- +Tue Nov 2 19:51:56 UTC 2021 - Bjørn Lie + +- Filter out pkgconfig(csound) Requires, add manual csound-devel + BuildRequires to devel package. csound-devel does not provide a + .pc file so the autogenerated Requires on pkconfig(csound) is + wrong. + +------------------------------------------------------------------- +Tue Nov 2 11:00:09 UTC 2021 - Bjørn Lie + +- Drop baselibs.conf, this is a new package, lets not build 32bit + unless we have to. + +------------------------------------------------------------------- +Sat Oct 16 10:54:15 UTC 2021 - Bjørn Lie + +- No longer disabled LTO, drop macro. + +------------------------------------------------------------------- +Sat Sep 4 23:21:39 UTC 2021 - Bjørn Lie + +- Update to version 0.7.2: +- Switch service to using an explicit released tag. +- Drop 0001-Fix-cast-to-f64-so-it-builds-in-i586.patch: Fixed + upstream. + +------------------------------------------------------------------- +Mon Apr 19 15:00:36 UTC 2021 - Antonio Larrosa + +- Update to 0.6.0+git20210412.c3fb55f +- Add patch to fix build in the i586 architecture + (Submitted in glfo#gstreamer/gst-plugins-rs#502): + * 0001-Fix-cast-to-f64-so-it-builds-in-i586.patch + +------------------------------------------------------------------- +Thu Dec 24 13:28:20 UTC 2020 - Bjørn Lie + +- Enable build of dav1d plugin, do this via: + + Disable LTO via macro. + + Add clang and pkgconfig(dav1d) BuildRequires. + + No longer pass dav1d=disabled to meson, nor remove dav1d from + cargo.toml via sed call. +- Add pkgconfig(libsodium) BuildRequires and pass sodium=system to + meson, do not use package internal version of sodium. +- Drop pkgconfig(gtk+-3.0) BuildRequires, not needed. +- Add pkgconfig(pango) BuildRequires: Mandatory, previously pulled + in by pkgconfig(gtk+-3.0), and add optional nasm BuildRequires. +- Drop gcc-c++ BuildRequires, no longer needed, nor used. +- Replace llvm-devel with llvm BuildRequires, this is sufficent. +- Do general cleanup of spec, make package ready for submit to TW. + Use normal meson macros. +- Add _constraints, ensure the build have enough harddisk space. + +------------------------------------------------------------------- +Tue Dec 1 11:28:33 UTC 2020 - Antonio Larrosa + +- Update to git version 0.6.0+git20201201.58786fa +- Use obs-service-cargo_vendor in the _service file and replace + vendor-cargo-config with cargo_config +- Enable the build of sodium and threadshare plugins +- Remove special Cargo.lock source file which is not needed anymore + +------------------------------------------------------------------- +Wed Oct 28 16:42:07 UTC 2020 - Antonio Larrosa + +- Fix version, since the initial release wasn't 1.18.0 but 0.6.0 +- Update to git version 0.6.0+git20201026.d16e7d1 + +------------------------------------------------------------------- +Sat Oct 24 12:59:22 UTC 2020 - Dominique Leuenberger + +- Use %_vpath_builddir instead of hardcoded 'build' directory name: + meson allows for the path to be changed. + +------------------------------------------------------------------- +Wed Sep 16 11:14:49 UTC 2020 - Antonio Larrosa + +- Initial release of gstreamer-plugins-rs 1.18.0 diff --git a/gstreamer-plugins-rs.spec b/gstreamer-plugins-rs.spec new file mode 100644 index 0000000..2df986a --- /dev/null +++ b/gstreamer-plugins-rs.spec @@ -0,0 +1,174 @@ +# +# spec file for package gstreamer-plugins-rs +# +# Copyright (c) 2024 SUSE LLC +# +# All modifications and additions to the file contributed by third parties +# remain the property of their copyright owners, unless otherwise agreed +# upon. The license for this file, and modifications and additions to the +# file, is the same license as for the pristine package itself (unless the +# license for the pristine package is not an Open Source License, in which +# case the license is the MIT License). An "Open Source License" is a +# license that conforms to the Open Source Definition (Version 1.9) +# published by the Open Source Initiative. + +# Please submit bugfixes or comments via https://bugs.opensuse.org/ +# + + +%global _lto_cflags %{_lto_cflags} -ffat-lto-objects +%define _name gst-plugins-rs +%define gst_branch 1.0 + +%ifarch s390 s390x ppc ppc64 +%bcond_with aws +%else +%bcond_without aws +%endif + +Name: gstreamer-plugins-rs +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.zst +Source2: vendor.tar.zst +Source4: gstreamer-plugins-rs.appdata.xml + +BuildRequires: cargo-c >= 0.9.21 +BuildRequires: cargo-packaging >= 1.2.0+3 +BuildRequires: clang +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) >= 1.3.0 +BuildRequires: pkgconfig(gstreamer-1.0) +BuildRequires: pkgconfig(gstreamer-base-1.0) +BuildRequires: pkgconfig(gstreamer-plugins-base-1.0) +BuildRequires: pkgconfig(gstreamer-webrtc-1.0) +BuildRequires: pkgconfig(gtk4) +BuildRequires: pkgconfig(libsodium) +BuildRequires: pkgconfig(libwebp) +BuildRequires: pkgconfig(openssl) +BuildRequires: pkgconfig(pango) +Requires: gstreamer +Requires: gstreamer-plugins-base +Enhances: gstreamer +ExclusiveArch: %{rust_tier1_arches} + +%description +GStreamer is a streaming media framework based on graphs of filters +that operate on media data. Applications using this library can do +anything media-related, from real-time sound processing to playing +videos. Its plug-in-based architecture means that new data types or +processing capabilities can be added simply by installing new +plug-ins. + +This package provides various plugins written in Rust. + +%package devel +Summary: GStreamer Streaming-Media Framework Plug-Ins development files +Group: Development/Libraries/Other +Requires: %{name} = %{version} + +%description devel +GStreamer is a streaming media framework based on graphs of filters +that operate on media data. Applications using this library can do +anything media-related, from real-time sound processing to playing +videos. Its plug-in-based architecture means that new data types or +processing capabilities can be added simply by installing new +plug-ins. + +This package contains the pkgconfig development files for the rust +plugins. + +%prep +%autosetup -n %{_name}-%{version} -a2 -p1 + +%build +%meson \ + --default-library=shared \ + -Ddoc=disabled \ + -Ddav1d=auto \ + -Dsodium=enabled \ + -Dcsound=disabled \ +%if %{without aws} + -Daws=disabled \ +%endif + %{nil} +%meson_build + +%install +%meson_install +mkdir -p %{buildroot}%{_datadir}/appdata +cp %{SOURCE4} %{buildroot}%{_datadir}/appdata/ + +%files +%license LICENSE-APACHE LICENSE-LGPLv2 LICENSE-MIT +%doc README.md +%dir %{_libdir}/gstreamer-%{gst_branch} +%if %{with aws} +%{_libdir}/gstreamer-%{gst_branch}/libgstaws.so +%endif +%{_libdir}/gstreamer-%{gst_branch}/libgstcdg.so +%{_libdir}/gstreamer-%{gst_branch}/libgstclaxon.so +# Disable csound for now, bring issue upstream +#%%{_libdir}/gstreamer-%%{gst_branch}/libgstcsound.so +%{_libdir}/gstreamer-%{gst_branch}/libgstdav1d.so +%{_libdir}/gstreamer-%{gst_branch}/libgstfallbackswitch.so +%{_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 +%{_libdir}/gstreamer-%{gst_branch}/libgstjson.so +%{_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 +%{_libdir}/gstreamer-%{gst_branch}/libgstreqwest.so +%{_libdir}/gstreamer-%{gst_branch}/libgstrsaudiofx.so +%{_libdir}/gstreamer-%{gst_branch}/libgstrsclosedcaption.so +%{_libdir}/gstreamer-%{gst_branch}/libgstrsfile.so +%{_libdir}/gstreamer-%{gst_branch}/libgstrsflv.so +%{_libdir}/gstreamer-%{gst_branch}/libgstrsinter.so +%{_libdir}/gstreamer-%{gst_branch}/libgstrsonvif.so +%{_libdir}/gstreamer-%{gst_branch}/libgstrspng.so +%{_libdir}/gstreamer-%{gst_branch}/libgstrsrtp.so +%{_libdir}/gstreamer-%{gst_branch}/libgstrsrtsp.so +%{_libdir}/gstreamer-%{gst_branch}/libgstrstracers.so +%{_libdir}/gstreamer-%{gst_branch}/libgstrsvideofx.so +%{_libdir}/gstreamer-%{gst_branch}/libgstrswebp.so +%{_libdir}/gstreamer-%{gst_branch}/libgstrswebrtc.so +%{_libdir}/gstreamer-%{gst_branch}/libgstsodium.so +%{_libdir}/gstreamer-%{gst_branch}/libgstspotify.so +%{_libdir}/gstreamer-%{gst_branch}/libgsttextahead.so +%{_libdir}/gstreamer-%{gst_branch}/libgsttextwrap.so +%{_libdir}/gstreamer-%{gst_branch}/libgstthreadshare.so +%{_libdir}/gstreamer-%{gst_branch}/libgsttogglerecord.so +%{_libdir}/gstreamer-%{gst_branch}/libgsturiplaylistbin.so +%{_libdir}/gstreamer-%{gst_branch}/libgstwebrtchttp.so +%dir %{_datadir}/appdata +%{_datadir}/appdata/gstreamer-plugins-rs.appdata.xml +%{_bindir}/gst-webrtc-signalling-server + +%files devel +%{_libdir}/pkgconfig/*.pc + +%changelog diff --git a/vendor-for-dav1d-1.3.0.tar.zst b/vendor-for-dav1d-1.3.0.tar.zst new file mode 100644 index 0000000..52898d0 --- /dev/null +++ b/vendor-for-dav1d-1.3.0.tar.zst @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6562a41f89ec0a80df5a33cb393f10d32421462d3841a40a074d10909f33ce37 +size 78900412 diff --git a/vendor.tar.zst b/vendor.tar.zst new file mode 100644 index 0000000..22f5069 --- /dev/null +++ b/vendor.tar.zst @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ced9e867147a385082498e8e3415f39b3883b902845d7842a540c8d83410bb8e +size 83807633