* Sun Jun 01 2025 bjorn.lie@gmail.com
- Update to version 1.26.2:
+ adaptivedemux2: Fixes for collection handling
+ adaptivedemux2: Fix several races
+ dash: mpdclient: Don't pass terminating NUL to adapter
+ gl: Implement basetransform meta transform function
+ imagefreeze: Set seqnum from segment too
+ interleave: Don't hold object lock while querying caps
downstream
+ matroskamux: Write stream headers before finishing file, so
that a correct file with headers is written if we finish
without any data
+ meson: Add build_rpath for qt6 plugin on macOS
+ meson: Fix qt detection in various places
+ properties: add G_PARAM_STATIC_STRINGS where missing
+ qtdemux: Check length of JPEG2000 colr box before parsing it
+ qtdemux: Parse chan box and improve raw audio channel layout
handling
+ qtdemux: Improve track parsing
+ qtdemux: Use byte reader to parse mvhd box
+ qtdemux: cmpd box is only mandatory for uncompressed video with
uncC version 0
+ rtph264pay: Reject stream-format=avc without codec_data
+ rtputils: Add debug category
+ v4l2: pool: Send drop frame signal after dqbuf success
+ v4l2: pool: fix assert when mapping video frame with DMA_DRM
caps
+ v4l2videoenc: report error only when buffer pool parameters are
invalid
+ wavparse: Ignore EOS when parsing the headers
+ wavparse: Regression leading to unplaybable wav files that were
working before
+ Ensure properties are freed before (re)setting with
g_value_dup_object() or g_value_dup_boxed() and during cleanup
+ Fix new warnings on Fedora 42, various meson warnings, and
other small meson build/wrap fixes
+ Fixes for big endian
+ Switch to GST_AUDIO_NE()
+ Valgrind fixes
* Sun May 25 2025 bjorn.lie@gmail.com
- Drop qtqml subpackage/plugin, following upstreams EOL of Qt5
support. Drop libQt5Gui-private-headers-devel, libqt5-linguist,
pkgconfig(Qt5Core), pkgconfig(Qt5Gui), pkgconfig(Qt5Qml),
pkgconfig(Qt5Quick), pkgconfig(Qt5WaylandClient) and
pkgconfig(Qt5X11Extras) BuildRequires and pass qt5=disabled to
meson setup.
* Wed Apr 30 2025 bjorn.lie@gmail.com
- Update to version 1.26.1:
+ Ensure properties are freed before (re)setting with
g_value_dup_string() and during cleanup
+ gst-plugins-good: Matroska mux v4 support
+ matroska-demux: Prevent corrupt cluster duplication
+ qml6glsrc: update buffer pool on renegotiation
+ qt6: Add a missing newline in unsupported platform message
+ qtdemux:
- Fix stsc size check in qtdemux_merge_sample_table()
- Next Iteration Of Uncompressed MP4 Decoder
- Unref simple caps after use
+ rtspsrc:
- Do not emit signal 'no-more-pads' too early
- Don't error out on not-linked too early
+ rtpsession:
- Do not push events while holding SESSION_LOCK
- Deadlock when gst_rtp_session_send_rtcp () is forwarding eos
+ v4l2: drop frame for frames that cannot be decoded
+ v4l2videodec: AV unsync for streams with many frames that
cannot be decoded
+ v4l2object:
- Fix memory leak
- Fix type mismatch when ioctl takes int
+ y4menc:
- Fix Y41B format
- Handle frames with GstVideoMeta
* Wed Mar 12 2025 alarrosa@suse.com
- Update to version 1.26.0:
+ Highlights
- H.266 Versatile Video Coding (VVC) codec support
- Low Complexity Enhancement Video Coding (LCEVC) support
- Closed captions: H.264/H.265 extractor/inserter,
cea708overlay, cea708mux, tttocea708 and more
- New hlscmafsink, hlssink3, and hlsmultivariantsink; HLS/DASH
client and dashsink improvements
- New AWS and Speechmatics transcription, translation and TTS
services elements, plus translationbin
- Splitmux lazy loading and dynamic fragment addition support
- Matroska: H.266 video and rotation tag support, defined
latency muxing
- MPEG-TS: support for H.266, JPEG XS, AV1, VP9 codecs and
SMPTE ST-2038 and ID3 meta; mpegtslivesrc
- ISO MP4: support for H.266, Hap, Lagarith lossless codecs;
raw video support; rotation tags
- SMPTE 2038 ancillary data streams support
- JPEG XS image codec support
- Analytics: New TensorMeta; N-to-N relationships; Mtd to carry
segmentation masks
- ONVIF metadata extractor and conversion to/from relation
metas
- New originalbuffer element that can restore buffers again
after transformation steps for analytics
- Improved Python bindings for analytics API
- Lots of Vulkan integration and Vulkan Video decoder/encoder
improvements
- OpenGL integration improvements, esp. in glcolorconvert,
gldownload, glupload
- Qt5/Qt6 QML GL sinks now support direct DMABuf import from
hardware decoders
- CUDA: New compositor, Jetson NVMM memory support,
stream-ordered allocator
- NVCODEC AV1 video encoder element, and nvdsdewarp
- New Direct3D12 integration support library
- New d3d12swapchainsink and d3d12deinterlace elements and
D3D12 sink/source for zero-copy IPC
- Decklink HDR support (PQ + HLG) and frame scheduling
enhancements
- AJA capture source clock handling and signal loss recovery
improvements
- RTP and RTSP: New rtpbin sync modes, client-side MIKEY
support in rtspsrc
- New Rust rtpbin2, rtprecv, rtpsend, and many new Rust RTP
payloaders and depayloaders
- webrtcbin support for basic rollbacks and other improvements
- webrtcsink: support for more encoders, SDP munging, and a
built-in web/signalling server
- webrtcsrc/sink: support for uncompressed audio/video and NTP
& PTP clock signalling and synchronization
- rtmp2: server authentication improvements incl. Limelight
CDN (llnw) authentication
- New Microsoft WebView2 based web browser source element
- The GTK3 plugin has gained support for OpenGL/WGL on Windows
- Many GTK4 paintable sink improvements
- GstPlay: id-based stream selection and message API
improvements
- Real-time pipeline visualization in a browser using a new
dots tracer and viewer
- New tracers for tracking memory usage, pad push timings, and
buffer flow as pcap files
- VA hardware-acclerated H.266/VVC decoder, VP8 and JPEG
encoders, VP9/VP8 alpha decodebins
- Video4Linux2 elements support DMA_DRM caps negotiation now
- V4L2 stateless decoders implement inter-frame resolution
changes for AV1 and VP9
- Editing services: support for reverse playback and audio
channel reordering
- New QUIC-based elements for working with raw QUIC streams,
RTP-over-QUIC (RoQ) and WebTransport
- Apple AAC audio encoder and multi-channel support for the
Apple audio decoders
- cerbero: Python bindings and introspection support; improved
Windows installer based on WiX5
- Lots of new plugins, features, performance improvements and
bug fixes
+ For more detailed information on this update, please see
https://gstreamer.freedesktop.org/releases/1.26/
* Sun Feb 02 2025 bjorn.lie@gmail.com
- Update to version 1.24.12:
+ osxaudiosrc: Fixes for failing init/no output on recent iOS
versions
+ qtdemux: Use mvhd transform matrix and support for flipping
+ qtmux: fix critical warnings on negotiation error
+ rtpvp9pay: fix profile parsing
+ splitmuxsrc:
- Ensure only a single stream-start event is pushed
- decodebin3 Fails with assertion in
mq_slot_handle_stream_start when seeking
+ Various fixes found from adding extra warning flags
* Tue Jan 07 2025 bjorn.lie@gmail.com
- Update to version 1.24.11:
+ matroskamux: Fix audio-only stream conditions and consider
audio buffers as keyframes when writing out simpleblocks
+ qtdemux: fix accumulated base offset in segment seeks
+ rtppassthroughpay: ensure buffer is writable before mapping
writable
+ rtpsession: Fix twcc stats structure leak
+ v4l2: object: Add P010 format
+ v4l2videodec: release decode only frame in input list
* Mon Dec 09 2024 bjorn.lie@gmail.com
- Update to version 1.24.10:
+ avisubtitle: Fix size checks and avoid overflows when checking
sizes (boo#1234446 CVE-2024-47774.
+ flvmux: Don't time out in live mode if no timestamped next
buffer is available.
+ gdkpixbufdec: Check if initializing the video info actually
succeeded (boo#1234447 CVE-2024-47613).
+ jpegdec: Directly error out on negotiation failures
(boo#1234427 CVE-2024-47599).
+ level:
- Fix integer overflow when filling LevelMeta.
- Produces level value outside of Stated Range.
+ matroskademux: header parsing fixes (boo#1234421 boo#1234428
boo#1234432 boo#1234433 boo#1234440 CVE-2024-47540
CVE-2024-47601 CVE-2024-47602 CVE-2024-47603 CVE-2024-47834).
+ qtdemux:
- Header and sample table parsing fixes (boo#1234414
boo#1234417 boo#1234424 boo#1234425 boo#1234426 boo#1234462
boo#1234473 boo#1234476 boo#1234477 CVE-2024-47537
CVE-2024-47539 CVE-2024-47596 CVE-2024-47597 CVE-2024-47598
CVE-2024-47543 CVE-2024-47544 CVE-2024-47545 CVE-2024-47546).
- Avoid integer overflow in theora extension parsing
(boo#1234449 CVE-2024-47606).
+ qt(6)/material: ensure that we always update the context in
setBuffer().
+ rtspsrc: Optionally timestamp RTP packets with their receive
times in TCP/HTTP mode.
+ rtp: Fix precision loss in gst_rtcp_ntp_to_unix().
+ rtpfunnel: Ensure segment events are forwarded after flushs.
+ rtpmanager: don't map READWRITE in twcc header ext.
+ rtph264depay, rtph265depay: Fix various OOB reads / NULL
pointer dereferences in parameter-set string handling.
+ shout2send: Unref event at the end of the event function.
+ udpsrc: protect cancellable from unlock/unlock_stop race.
+ v4l2object:
- Fixed incorrect maximum value for int range.
- Remove little endian marker on 8 bit bayer format names.
+ v4l2videodec: fix freeze race condition.
+ wavparse: Fix various (missing) size checks and other parsing
problems (boo#1234434 boo#1234435 boo#1234436 boo#1234439
CVE-2024-47775 CVE-2024-47776 CVE-2024-47777 CVE-2024-47778).
* Tue Nov 05 2024 bjorn.lie@gmail.com
- Update to version 1.24.9:
+ flvmux: Use first running time on the initial header instead
of 0
+ qml6glsrc: Reduce capture delay
+ qtdemux:
- Check fourcc of a second CEA608 atom instead of assuming it's
cdt2
- Fix parsing of matrix with 180 rotation
- Skip zero-sized boxes instead of stopping to look at further
boxes
+ rtpmanager: skip RTPSources which are not ready in the RTCP
generation
+ rtppassthroughpay: Fix reading clock-rate and payload type from
caps
+ twcc: Handle wrapping of reference time
+ v4l2object: append non colorimetry structure to probed caps
+ v4l2: Various fixes and improvement
* Thu Oct 24 2024 bjorn.lie@gmail.com
- Drop pkgconfig(libsoup-2.4) and pkgconfig(libsoup-gnome-2.4)
BuildRequires: Build soup plugin linking only to libsoup-3.0.
* Mon Sep 23 2024 bjorn.lie@gmail.com
- Update to version 1.24.8:
+ jackaudiosrc: actually use the queried ports from JACK
+ matroskamux: Include end padding in the block duration for Opus
streams, fixing firefox compatibility
+ osxaudio: Avoid dangling pointer on shutdown
+ splitmuxsink: Override LATENCY query to pretend to downstream
that we're not live
+ v4l2bufferpool: actually queue back the empty buffer flagged
LAST
+ v4l2videoenc: unref buffer pool after usage properly
+ v4l2: encoder: Add dynamic framerate support