gstreamer-plugins-rs/gstreamer-plugins-rs.changes

1724 lines
71 KiB
Plaintext

-------------------------------------------------------------------
Wed Oct 16 18:58:43 UTC 2024 - Bjørn Lie <bjorn.lie@gmail.com>
- Update to version 0.13.2:
+ Fixed:
- cea608overlay: Avoid overflow when deciding which lines to
retain.
- cea708mux:
. Actually push gap events downstream.
. Stop with EOS once all pads are EOS.
. Fix off-by-one when deciding if a buffer belongs to this or
the next frame.
- mpegtslivesrc: Various timestamp tracking fixes.
- onvifmetadatapay: Set output caps earlier.
- transcriberbin: Fix passthrough state change.
- webrtcsink: Fix setting of RFC7273 attributes in the SDP.
+ Added:
- dav1ddec: Add properties for film grain synthesis and in-loop
filters.
- mpegtslivesrc: Handle PCR discontinuities.
- rtpav1depay: Add wait-for-keyframe and request-keyframe
properties.
- webrtcsrc: Expose msid property on source pads.
+ Changed: spotify: Reduce dependencies.
-------------------------------------------------------------------
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>
- 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 <alarrosa@suse.com>
- Increase memory to 12G for s390x builds in _constraints
(bsc#1218563).
-------------------------------------------------------------------
Thu Jan 11 12:56:06 UTC 2024 - Antonio Larrosa <alarrosa@suse.com>
- Increase memory to 10G for s390x builds in _constraints
(bsc#1218563).
-------------------------------------------------------------------
Thu Jan 11 11:32:07 UTC 2024 - Antonio Larrosa <alarrosa@suse.com>
- 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 <alarrosa@suse.com>
- 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 <fcrozat@suse.com>
- Update BuildRequires on cargo-c >= 0.9.21.
-------------------------------------------------------------------
Thu Nov 16 12:11:54 UTC 2023 - Bjørn Lie <bjorn.lie@gmail.com>
- Add arm to excluded arches.
-------------------------------------------------------------------
Thu Nov 16 10:57:33 UTC 2023 - Antonio Larrosa <alarrosa@suse.com>
- 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 <alarrosa@suse.com>
- 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 <bjorn.lie@gmail.com>
- Add ix86 to excluded arches.
-------------------------------------------------------------------
Fri Sep 22 14:29:14 UTC 2023 - Bjørn Lie <bjorn.lie@gmail.com>
- 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 <bjorn.lie@gmail.com>
- 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 <bjorn.lie@gmail.com>
- 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 <bjorn.lie@gmail.com>
- 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 <bjorn.lie@gmail.com>
- 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 <bjorn.lie@gmail.com>
- 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 <alarrosa@suse.com>
- 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 <alarrosa@suse.com>
- 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 <alarrosa@suse.com>
- 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<Option<_>>` 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 <bjorn.lie@gmail.com>
- 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<segment.start when requesting keyframes
* fmp4mux: Refactor timestamp handling for writing out data
* fmp4mux: Remove obsolete `#[allow(clippy::too_many_arguments)]`
* fmp4mux: Require parsed ONVIF timed metadata
* fmp4mux: Use UTC times from reference timestamp meta in ONVIF
mode
* fmp4mux: Write header as late as possible
* fmp4mux: Write ONVIF Export File Format CorrectStartTime box
for ONVIF variant
* fmp4mux: Write `tref` box for ONVIF timed metadata tracks to
reference the first video track
* fmp4: Update to m3u8-rs 5
* generic/fmp4: update Signed return type
* generic/fmp4: use opt_ops
* hlssink3: convert playlist type to an enum
* hlssink3: Dont reset end_list after stop is called.
* hlssink3: Put EXT-X-ENDLIST for vod playlist-type.
* hlssink3: Update to m3u8-rs 5
* Migrate s3src and s3sink to use AWS SDK
* Migrate transcriber to aws sdk
* net/aws: Add support for S3 HLS sink
* net/aws: Add support for specifying endpoint
* net/aws/aws_transcriber: Fix clippy warning
* net/aws: Clean up pending rusoto references
* net/rusoto: Drop rusoto crates
* net/rusoto: Rename to aws
* onvif: Add onvifmetadataparse element
* onvifaggregator: Add support for UNIX reference timestamp
metadata
* onvifaggregator: refactor, expect parsed metadata
* onvif: Disable default features for the chrono dependency
* onvifmetadataparse: Only define the namespace prefix once for
the top-level element
* onvifmetadataparse: use NTP epoch everywhere instead of mixing
UNIX/NTP epochs
* onvifmetadataparse: Use NTP reference timestamp meta
* onvifmetadata: removing encoding field
* onvifoverlay: render polygons when present
* onvif: Update to minidom 0.15
* plugins: Simplify code using ParamSpecBuilder
* raptorq: Derive `Eq` for some more structs
* README.md: Add various new plugins
* README: mention cargo update to resolve dep issues after git
updates
* Remove unnecessary `unsafe` blocks for `Buffer::as_ptr()`
* Rename rusoto to aws
* Revert "fmp4mux: Dequeue as many buffers as are available in
each aggregate call"
* roundedcorners: Ensure alpha_mem is mutable when updating
radius
* roundedcorners: Logging improvement
* Simplify Formatted value handling
* sodium: Update to no-deprecated clap 3.2 API
* textahead: generate a buffer with ahead text at segment start
* threadshare: Fix some new clippy beta warnings
* tracers: Add new tracer for logging the lateness of each buffer
when it leaves a pad
* tracers: Add queue levels tracer and Python script for plotting
* tracers: buffer_lateness: log when file is being written
* tracers: buffer_lateness.py: cycle colors
* tracers: Enable PipelineSnapshot only for unix target
* tracers: queue-levels: Add support for multiqueue and queue2
* tracers: queue-levels: Fix analysis script if only a single
plot should be created
* tracers: queue_levels: log when file is being written
* tracers: queue-levels: Output bytes/buffers/time graphs in
separate plots
* tracers: queue_levels.py: cycle colors
* transcriberbin: remove print statement
* ts: add test pipeline::socket_play_null_play
* ts/appsrc: reduce sync primitives in async hot path
* ts/async_wrapper: remove fd from reactor before dropping its
handle
* ts/examples: introduce a standalone pipeline test
* ts: migrate elements to try_next / handle_item
* ts: Queue & Proxy: minor cleanups
* ts/runtime: slight optimizations for sub tasks related
operations
* ts/scheduler: rename awake / wake_up as unpark
* ts/Task: return a future for state transitions
* ts/Task: spawn StateMachine on ts Context
* ts/Task: split iterate into try_next and handle_item
* ts/Task: wake up after the triggering event is pushed
* ts/tcpclientsrc: reduce sync primitives in async hot path
* ts/tests/pad: minor ckeanups
* ts/udpsink: fix default clients not leading to socket
configuration
* ts/udpsink: move sync on buffer to try_next
* ts/udpsink: reduce sync primitives in async hot path
* ts-udpsrc: align default port with C counterpart
* ts/udpsrc: reduce sync primitives in async hot path
* ts: update elements for new TransitionStatus
* Update per glib::SignalBuilder changes
* video: Use gst_video::VideoCapsBuilder in some plugins
- Add define _lto_cflags {nil}, disable LTO for now. The port to
aws-sdk from rusoto causes the build to fail with LTO.
- Bump minimum hdd in _costraints to 22G.
- Modernize _service, use obs_scm and add cargo_audit.
-------------------------------------------------------------------
Fri Jun 17 10:01:13 UTC 2022 - bjorn.lie@gmail.com
- Move the service to use the main git branch, explicit commit.
- Update to version0.8.4+git20220607.b1b3930e:
* add snapshotting tracer
* Add SPDX-License-Identifier to all file headers
* audiofx:
- Update nnoiseless dependency to 0.4
- Update to nnnoiseless 0.5
* awstranscribe - increase presisigned url duration to 5 mins
from 60s
* Bump hrtf to version 0.8
* cargo_wrapper.py: added python3 version check for right usage
of shutil.move(..)
* cdg: update image and cdg_renderer
* cea608overlay: handle CLEAR status
* cea608tott: Don't zero-pad SRT indices but zero-pad hours to at
least two digits
* Change default branch from master to main
* ci:
- cargo test --all-features too...
- Fix syntax for coverage reports to the new format
- Generate coverage report also for crates with external
dependencies
- Rebuild image and move coverage job to the stable image
- Remove the david checkot after install
- Run tests with RUST_BACKTRACE
* closedcaption: Update to uuid 1.0
* colordetect: Update to color-thief release
* Correctly check for the `DISCONT` buffer flag to be set
* dav1ddec:
- Add 8/16 bit grayscale support
- Bump dependency for dav1d 1.0.0
- Clean up state tracking a bit
- Deal with the possibilty of 0/1 fps in latency math
- Don't consider decoding errors as fatal
- Expose a couple of decoder settings as properties
- Fix compilation after some API changes
- Move decoder init from start() to set_format()
- Move state to Mutex from Arc
- Pass element instance to debug logs
- Release input frames that immediately caused a decoding error
- Report latency based on frame delay
- Require correct alignment and stream format when running with
GStreamer 1.20
- Switch to dav1d 0.7
- Update for fixed dav1d-rs API
- Use `AtomicRefCell` instead of `Mutex` for the state
- Use sink_pad() convenience accessor
- Write src_query() in match syntax for easier extensibility
* deny:
- Ignore duplicated wasi dependency
- Remove duplicated `nom` dependency and add `env_logger`
- Remove now unneeded miniz_oxide override
- Remove num-rational override
- Update for removed duplicated dependencies
- Update for tokio-util
* fallbacksrc:
- Add fallback-{audio,video}-caps properties
- Changing the URI of the video fallback is supported in NULL
state
- Connect to `notify::active-pad` after requesting pads
- Disconnect signals on ReadyToNull
- Don't forward manual flush events to downstream
- Don't panic when shutting down the source and there are
source pad blocks but no actual source pads
- Flush source before restarting on errors
- Remove imagefreeze if it becomes unneeded
- Request the main pad first from fallbackswitch
- Reset state in fallbacksrc custom source also if changing the
state to READY before failed
- Unflush downstream pads of the source after shutting down
everything
* fallbackswitch:
- Add missing requires_private
- add support for buffers without pts
- Clip buffers against the segment
- Don't configure a framerate in the test
- Explictly set priority of pads in the test
- export GEnum used in properties
- factor out handle_main_timed_item()
- Fix clipping of buffers against the output running time
- Fix racy manual switching test
- Forward custom downstream events from active sinkpad
- Improve debug output of clock times and simplify some code
- Improve some debug outputs
- Log affected pad when scheduling buffer waiting for it
- Minor cleanup in get_sync_time
- Move active_sinkpad out of State into its own Mutex
- Notify active-pad without state lock held
- Only drop raw audio/video buffers if they're trailing
- Only notify active-pad property on state changes if it
actually changed
- Only update the output running time if it's increasing
- properly handle GAP events
- Recheck active_sinkpad after schedule_timeout
- Remove a redundant pad state unlock/lock
- Rename debug category from fallback-switch to fallbackswitch
- Replace with priorityswitch
- Reset timeout_clock_id on timeout
- Set end running time as current running time once a buffer
has passed
- Use cancel_timeout in schedule_timeout
* fmp4mux:
- adding headers when data resumes after EOS
- Add ONVIF variant with support for additional codecs
- Add support for multiple input streams
- Add support for ONVIF timed XML metadata
- Add support for writing out multiple tracks in the
serialization code
- Add test for muxing of multiple streams
- Add to default workspace members
- Check for force-keyunit events on both pads in the
multistream test
- HLS live example
- HLS VOD example
- Implement handling of GAP events
- Implement interleaving based on start timestamps instead of
accumulated durations
- In live pipelines use the current fragment end time as
timeout
- Port to aggregator as base class as preparation for
supporting multiple streams
- Use saturing_sub() in more places
- Use saturing subtraction to calculate sample durations
- Write sample flags in `tfhd` if there's only a single sample
* generic/threadshare: fix for nightly build
* .gitlab-ci.yml: Fix deprecated -Zinstrument-coverage switch
* gtk4:
- Attach main context receiver from the main context's thread
- Implement Default for PaintableSink
* hlssink3:
- Fix version
- `PadTemplate::name_template()` returns a `&str` now instead
of `Option<String>`
* 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 <schwab@suse.de>
- 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 <alarrosa@suse.com>
- 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 <alarrosa@suse.com>
- 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 <alarrosa@suse.com>
- Update to version 0.8.0:
* No changelog provided by upstream
-------------------------------------------------------------------
Wed Nov 10 18:52:14 UTC 2021 - Bjørn Lie <bjorn.lie@gmail.com>
- 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 <bjorn.lie@gmail.com>
- 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 <bjorn.lie@gmail.com>
- 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 <bjorn.lie@gmail.com>
- No longer disabled LTO, drop macro.
-------------------------------------------------------------------
Sat Sep 4 23:21:39 UTC 2021 - Bjørn Lie <bjorn.lie@gmail.com>
- 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 <alarrosa@suse.com>
- 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 <bjorn.lie@gmail.com>
- 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 <alarrosa@suse.com>
- 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 <alarrosa@suse.com>
- 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 <dimstar@opensuse.org>
- 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 <alarrosa@suse.com>
- Initial release of gstreamer-plugins-rs 1.18.0