* Sun Jun 01 2025 bjorn.lie@gmail.com
- Update to version 1.26.2:
+ awstranslate: improve control over accumulator behavior
+ awstranslate: output buffer lists
+ cea608tott: make test text less shocking by having more cues as
context
+ dav1ddec: Directly decode into downstream allocated buffers if
possible
+ deny: Allow webpki-root-certs license
+ fmp4mux: Add support for AC-3 / EAC-3
+ fmp4mux: Use earliest PTS for the base media decode time (tfdt)
+ fmp4mux: Fix handling of negative DTS in composition time
offset
+ fmp4mux: Write lmsg as compatible brand into the last fragment
+ mp4mux: add extra brands
+ mp4: avoid dumping test output into build directory
+ mp4: migrate to mp4-atom to check muxing
+ mp4: test the trak structure
+ gtk4: Update and adapt to texture builder API changes
+ gtk4: Initial colorimetry support
+ gtk4: Update default GTK4 target version to 4.10
+ rtp: Update to bitstream-io 4.0
+ skia: Implement a video compositor using skia
+ webrtc: addressing a few deadlocks
+ webrtc: Support for producer sessions targeted at a given
consumer
+ webrtc: add new JanusVR source element
+ webrtc: janus: clean up and refactoring
+ webrtcsink: Use seq number instead of Uuid for discovery
+ webrtc: Make older peers less likely to crash when webrtcsrc is
used
+ Fix or silence various new clippy warnings
+ Update Cargo.lock to fix duplicated target-lexicon
- Pass skia=disabled to meson setup, not yet available in openSUSE.
* Fri May 02 2025 bjorn.lie@gmail.com
- Update to version 1.26.1:
+ Bump MSRV to 1.83
+ Allow any windows-sys version >= 0.52 and <= 0.59
+ aws/polly: add GstScaletempoTargetDurationMeta to output
buffers
+ awstranslate: improve message posted on bus
+ cdg: typefind: Division by zero fix
+ cea708mux: Improve support for overflowing input captions
+ colordetect: Change to videofilter base class
+ dav1ddec:
- Drain decoder on caps changes if necessary
- Only update unknown parts of the upstream colorimetry and not
all of it
- Support RGB encoded AV1
- Use downstream buffer pool for copying if video meta is not
supported
- Use max-frame-delay value from the decoder instead of
calculating it
- Use max-frame-delay value from the decoder instead of
calculating it
+ doc: Update to latest way of generating hotdoc config files
+ Fix gtk4 compile
+ Fix various clippy 1.86 warnings and update gstreamer-rs /
gtk-rs dependencies
+ fmp4mux:
- Add a couple of minor new features
- Add manual-split mode that is triggered by serialized
downstream events
- Add send-force-keyunit property
- Fix latency configuration for properties set during
construction
- Improve split-at-running-time handling
- Write a v0 tfdt box if the decode time is small enough
+ fmp4mux/mp4mux: Handle the case of multiple tags per taglist
correctly
+ gstwebrtc-api: Add TypeScript type definitions, build ESM for
broader compatibility, improve JSDocs
+ hlsmultivariantsink: Allow users to specify playlist and
segment location
+ hlssink3: Add Support for NTP timestamp from buffer
+ livesync:
- Notify in/out/drop/duplicate properties on change
- Only notify drop/duplicate properties
+ meson: Require gst 1.18 features for dav1d
+ mp4mux: Don't write composition time offsets if they're all
zero
+ mp4mux, fmp4mux: Use correct timescales for edit lists
+ mpegtslivesrc:
- Increase threshold for PCR <-> PTS DISCONT
- Use a separate mutex for the properties
+ mux: use smaller number of samples for testing
+ net/aws: punctuation-related improvements to our
span_tokenize_items function
+ pcap_writer: Mark target-factory and pad-path props as
construct-only
+ speechmatics: Handle multiple stream-start event
+ tracers: buffer-lateness: don't panic on add overflow + reduce
graph legend entry font size a bit
+ tracers: Update to etherparse 0.17
+ transcriberbin: make auto passthrough work when transcriber is
a bin
+ ts-jitterbuffer: improve scheduling of lost events
+ tttocea708: fix origin-row handling for roll-up in CEA-708
+ Update dependencies
+ Update gtk-rs / gstreamer-rs dependencies and update for API
changes
+ Update to bitstream-io 3
+ uriplaylistbin: skip cache test when offline
+ webrtc: Port to reqwest 0.12
+ webrtcsink: Fix compatibility with audio level header extension
- Pass vvdec=disabled to meson setup, libvvdec is currently not
available in openSUSE.
- Disable aws plugin for all arches via bcond, fails to build.
* Wed Mar 12 2025 alarrosa@suse.com
- Update to version 0.13.5:
+ Fixed:
- cdg: Fix typefind errors on specific file sizes.
- cea608overlay:
. Ensure lines are rendered in order.
. Clear output on each switch.
- cea608overlay / cea708overlay: Fix field lookup for S334-1A
captions.
- cea608tocea708: Fix S334-1A field flag usage.
- closedcaption:
. Fix rollup mode not always using the correct base row
. Only increase dtvcc packet sequence if there are services.
- fmp4mux:
. Fix state cleanup on flush.
. Handle language/orientation tags as per-stream tags.
- hlssink3: Write playlist atomically.
- inter: Don't leak hashmap objects.
- mpegtslivesrc:
. Handle zero-byte adaptation fields correctly.
. Consider initial calibration of the clock.
. Ignore NIT programs from the PAT.
- onvifmetadatacombiner: Unset PTS/DTS of metadata.
- rtpbasepay / rtpbasedepay: Only forward buffers after a
segment event.
- rtpac3depay2: Fix handling of non-fragmented payloads.
- togglerecord: Drop locks before sending queries to avoid
deadlocks.
- tttocea708: Don't reset service writer for every incoming
caption.
- whipserversrc: Handle concurrent POSTs.
+ Added:
- mpegtslivesrc: Take adaptation field discontinuity flag into
account.
- uriplaylistbin: Add caching support
+ Changed: - Updated various dependencies.
* Thu Jan 02 2025 bjorn.lie@gmail.com
- Update to version 0.13.4:
+ Fixed:
- cea608overlay: Fix rendering when roll-up base row is at the
top.
- cea708mux:
. Handle CEA608 data correctly and output padding by default.
. Clear leftover pending codes correctly.
- cea708overlay:
. Produce better CEA608 layouts.
. Fix background/foreground types and enable black background
by default.
. Clear correctly on caption timeout.
- mpegtslivesrc: Various fixes related to stream
discontinuities.
- tttocea708: Fix various conformance issues.
- togglerecord: Fix various deadlocks and simplify mutexes.
- webrtcsink:
. Fix various deadlocks.
. Set caps-change-mode=delayed on encoder capsfilter.
. Ignore more fields on caps changes.
+ Added:
- awss3putobjectsink: Add next-file support.
- tracers: Add signal to force writing log file to queue-levels
and buffer-lateness tracers.
- webrtc: Handle some more Janus events.
- webrtcsink: Add support for openh264enc and nvh265enc.
- webrtcsrc: Add connect-to-first-producer property.
* Mon Dec 09 2024 bjorn.lie@gmail.com
- Update to version 0.13.3:
+ Fixed:
- gtk4paintablesink:
. Don't check for a GL context when filtering dmabuf caps.
. Use a correctly typed None value when retrieving paintable
property fails.
- mpegtslivesrc: Parse PAT/PMT to lock to a single program/PCR
in case multiple are in the stream.
- rtp: Fix reference timestamp meta de-duplication in
depayloaders.
- quinn: Specify a default crypto provider to avoid conflicts.
- transcriberbin: Fix linking of user-provided transcriber.
- webrtcsink:
. Allow pixel-aspect-ratio changes.
. Fix naming of error dot files of discovery pipelines.
. Fix session not in place errors.
- webrtc: janus: Do not block in end_session().
+ Added:
- awstranscriber: Post warning message with details when items
are too late.
- transcriberbin: Support both latency and translate-latency
properties.
- webrtc: janus: Add janus-state property.
+ Changed: gtk4paintablesink: Deprecated "wayland" feature and
call it "waylandegl" as it has nothing to do with generic
Wayland support.
* Wed Oct 16 2024 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 2024 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 2024 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 2024 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 2024 alarrosa@suse.com
- Increase memory to 12G for s390x builds in _constraints
(bsc#1218563).