@@ -2,11 +2,11 @@ GStreamer 1.26 Release Notes
2
2
3
3
GStreamer 1.26.0 was originally released on 11 March 2025.
4
4
5
- The latest bug-fix release in the stable 1.26 series is 1.26.1 and was released on 24 April 2025.
5
+ The latest bug-fix release in the stable 1.26 series is 1.26.2 and was released on 29 May 2025.
6
6
7
7
See https://gstreamer.freedesktop.org/releases/1.26/ for the latest version of this document.
8
8
9
- Last updated: Thursday 24 April 2025, 16 :00 UTC (log)
9
+ Last updated: Thursday 29 May 2025, 20 :00 UTC (log)
10
10
11
11
## Introduction
12
12
@@ -1568,6 +1568,247 @@ List of merge requests and issues fixed in 1.26.1
1568
1568
- List of Merge Requests applied in 1.26.1
1569
1569
- List of Issues fixed in 1.26.1
1570
1570
1571
+ 1.26.2
1572
+
1573
+ The second 1.26 bug-fix release (1.26.2) was released on 29 May 2025.
1574
+
1575
+ This release only contains bugfixes as well as a number of security fixes and important playback fixes, and it should be safe to
1576
+ update from 1.26.0.
1577
+
1578
+ Highlighted bugfixes in 1.26.2
1579
+
1580
+ - Various security fixes and playback fixes
1581
+ - aggregator base class fixes to not produce buffers too early in live mode
1582
+ - AWS translate element improvements
1583
+ - D3D12 video decoder workarounds for crashes on NVIDIA cards on resolution changes
1584
+ - dav1d AV1-decoder performance improvements
1585
+ - fmp4mux: tfdt and composition time offset fixes, plus AC-3 / EAC-3 audio support
1586
+ - GStreamer editing services fixes for sources with non-1:1 aspect ratios
1587
+ - MIDI parser improvements for tempo changes
1588
+ - MP4 demuxer atom parsing improvements and security fixes
1589
+ - New skia-based video compositor element
1590
+ - Subtitle parser security fixes
1591
+ - Subtitle rendering and seeking fixes
1592
+ - Playbin3 and uridecodebin3 stability fixes
1593
+ - GstPlay stream selection improvements
1594
+ - WAV playback regression fix
1595
+ - GTK4 paintable sink colorimetry support and other improvements
1596
+ - WebRTC: allow webrtcsrc to wait for a webrtcsink producer to initiate the connection
1597
+ - WebRTC: new Janus Video Room WebRTC source element
1598
+ - vah264enc profile decision making logic fixes
1599
+ - Python bindings gained support for handling mini object writability (buffers, caps, etc.)
1600
+ - Various bug fixes, build fixes, memory leak fixes, and other stability and reliability improvements
1601
+
1602
+ gstreamer
1603
+
1604
+ - aggregator: Various state related fixes
1605
+ - element: ref-sink the correct pad template when replacing an existing one
1606
+ - pipeline: Store the actual latency even if no static latency was configured
1607
+ - structure: Add gst_structure_is_writable() API to allow python bindings to be able to handle writability of MiniObjects
1608
+ - tracerutils: Do not warn on empty string as tracername
1609
+ - tracerutils: Fix leak in gst_tracer_utils_create_tracer()
1610
+ - Ensure properties are freed before (re)setting with g_value_dup_object() or g_value_dup_boxed() and during cleanup
1611
+ - Fix new warnings on Fedora 42, various meson warnings, and other small meson build/wrap fixes
1612
+
1613
+ gst-plugins-base
1614
+
1615
+ - alsa: Avoid infinite loop in DSD rate detection
1616
+ - gl: Implement basetransform meta transform function
1617
+ - glshader: free shader on stop
1618
+ - glupload: Only add texture-target field to GL caps
1619
+ - gstaudioutilsprivate: Fix gcc 15 compiler error with function pointer
1620
+ - mikey: Avoid infinite loop while parsing MIKEY payload with unhandled payload types
1621
+ - properties: add G_PARAM_STATIC_STRINGS where missing
1622
+ - riff-media: fix MS and DVI ADPCM av_bps calculations
1623
+ - subtitleoverlay: Remove 0.10 hardware caps handling
1624
+ - subtitleoverlay: Missing support for DMABuf(?)
1625
+ - tests: opus: Update channel support and add to meson
1626
+ - textoverlay: fix shading for RGBx / RGBA pixel format variants
1627
+ - textoverlay background is wrong while cropping
1628
+ - uridecodebin3: Don’t hold play items lock while releasing pads
1629
+ - uridecodebin3: deadlock on PLAY_ITEMS_LOCK
1630
+ - Fix new warnings on Fedora 42, various meson warnings, and other small meson build/wrap fixes
1631
+ - Fix Qt detection in various places
1632
+
1633
+ gst-plugins-good
1634
+
1635
+ - adaptivedemux2: Fixes for collection handling
1636
+ - adaptivedemux2: Fix several races
1637
+ - dash: mpdclient: Don’t pass terminating NUL to adapter
1638
+ - gl: Implement basetransform meta transform function
1639
+ - imagefreeze: Set seqnum from segment too
1640
+ - interleave: Don’t hold object lock while querying caps downstream
1641
+ - matroskamux: Write stream headers before finishing file, so that a correct file with headers is written if we finish without
1642
+ any data
1643
+ - meson: Add build_rpath for qt6 plugin on macOS
1644
+ - meson: Fix qt detection in various places
1645
+ - properties: add G_PARAM_STATIC_STRINGS where missing
1646
+ - qtdemux: Check length of JPEG2000 colr box before parsing it
1647
+ - qtdemux: Parse chan box and improve raw audio channel layout handling
1648
+ - qtdemux: Improve track parsing
1649
+ - qtdemux: Use byte reader to parse mvhd box
1650
+ - qtdemux: cmpd box is only mandatory for uncompressed video with uncC version 0
1651
+ - rtph264pay: Reject stream-format=avc without codec_data
1652
+ - rtputils: Add debug category
1653
+ - v4l2: pool: Send drop frame signal after dqbuf success
1654
+ - v4l2: pool: fix assert when mapping video frame with DMA_DRM caps
1655
+ - v4l2videoenc: report error only when buffer pool parameters are invalid
1656
+ - wavparse: Ignore EOS when parsing the headers
1657
+ - wavparse: Regression leading to unplaybable wav files that were working before
1658
+ - Ensure properties are freed before (re)setting with g_value_dup_object() or g_value_dup_boxed() and during cleanup
1659
+ - Fix new warnings on Fedora 42, various meson warnings, and other small meson build/wrap fixes
1660
+ - Fixes for big endian
1661
+ - Switch to GST_AUDIO_NE()
1662
+ - Valgrind fixes
1663
+
1664
+ gst-plugins-bad
1665
+
1666
+ - alphacombine: Fix seeking after EOS
1667
+ - cuda: Fix runtime PTX compile, fix example code build with old CUDA SDK
1668
+ - curl: Fix build with MSVC
1669
+ - curl: small fixups p3
1670
+ - d3d12: Fix gstreamer-full subproject build with gcc
1671
+ - d3d12: Generate gir file
1672
+ - d3d12decoder: Workaround for NVIDIA crash on resolution change
1673
+ - d3d12memory: Allow set_fence() only against writable memory
1674
+ - d3d12memory: Make D3D12 map flags inspectable
1675
+ - d3d12screencapturesrc: Fix desktop handle leak
1676
+ - dash: mpdclient: Don’t pass terminating NUL to adapter
1677
+ - dvbsuboverlay: Actually make use of subtitle running time instead of using PTS
1678
+ - dvbsuboverlay: No subtitles after seek
1679
+ - h264parse: Never output stream-format=avc/avc3 caps without codec_data
1680
+ - lcevc: Use portable printf formatting macros
1681
+ - midiparse: Consider tempo changes when calculating duration
1682
+ - nvencoder: Fix GstVideoCodecFrame leak on non-flow-ok return
1683
+ - play: Improve stream selection
1684
+ - properties: add G_PARAM_STATIC_STRINGS where missing
1685
+ - rtpsender: fix ‘priority’ GValue get/set
1686
+ - va: Fix H264 profile decision logic
1687
+ - vulkan/wayland: Init debug category before usage
1688
+ - Ensure properties are freed before (re)setting with g_value_dup_object() or g_value_dup_boxed() and during cleanup
1689
+ - Fix new warnings on Fedora 42, various meson warnings, and other small meson build/wrap fixes
1690
+ - Fixes for big endian
1691
+ - Fix Qt detection in various places
1692
+ - Switch to GST_AUDIO_NE()
1693
+ - Valgrind fixes
1694
+
1695
+ gst-plugins-ugly
1696
+
1697
+ - No changes
1698
+
1699
+ GStreamer Rust plugins
1700
+
1701
+ - awstranslate: improve control over accumulator behavior
1702
+ - awstranslate: output buffer lists
1703
+ - cea608tott: make test text less shocking by having more cues as context
1704
+ - dav1ddec: Directly decode into downstream allocated buffers if possible
1705
+ - deny: Allow webpki-root-certs license
1706
+ - fmp4mux: Add support for AC-3 / EAC-3
1707
+ - fmp4mux: Use earliest PTS for the base media decode time (tfdt)
1708
+ - fmp4mux: Fix handling of negative DTS in composition time offset
1709
+ - fmp4mux: Write lmsg as compatible brand into the last fragment
1710
+ - mp4mux: add extra brands
1711
+ - mp4: avoid dumping test output into build directory
1712
+ - mp4: migrate to mp4-atom to check muxing
1713
+ - mp4: test the trak structure
1714
+ - gtk4: Update and adapt to texture builder API changes
1715
+ - gtk4: Initial colorimetry support
1716
+ - gtk4: Update default GTK4 target version to 4.10
1717
+ - rtp: Update to bitstream-io 4.0
1718
+ - skia: Implement a video compositor using skia
1719
+ - webrtc: addressing a few deadlocks
1720
+ - webrtc: Support for producer sessions targeted at a given consumer
1721
+ - webrtc: add new JanusVR source element
1722
+ - webrtc: janus: clean up and refactoring
1723
+ - webrtcsink: Use seq number instead of Uuid for discovery
1724
+ - webrtc: Make older peers less likely to crash when webrtcsrc is used
1725
+ - Fix or silence various new clippy warnings
1726
+ - Update Cargo.lock to fix duplicated target-lexicon
1727
+
1728
+ gst-libav
1729
+
1730
+ - Valgrind fixes
1731
+ - libav: Only allocate extradata while decoding
1732
+
1733
+ gst-rtsp-server
1734
+
1735
+ - properties: add G_PARAM_STATIC_STRINGS where missing
1736
+ - properties: ensure properties are freed before (re)setting with g_value_dup_object() or g_value_dup_boxed() and during
1737
+ cleanup
1738
+ - tests: Valgrind fixes
1739
+
1740
+ gstreamer-vaapi
1741
+
1742
+ - Ensure properties are freed before (re)setting with g_value_dup_object() or g_value_dup_boxed() and during cleanup
1743
+
1744
+ gstreamer-sharp
1745
+
1746
+ - No changes
1747
+
1748
+ gst-python
1749
+
1750
+ This release includes important fixes for the GStreamer Python bindings.
1751
+
1752
+ Since pygobject 3.13 around 10 years ago, it wasn’t possible anymore to modify GStreamer miniobjects, e.g. modify caps or set
1753
+ buffer timestamps, as an implicit copy of the original would always be made. This should finally work again now.
1754
+
1755
+ - Fix new warnings on Fedora 42, various meson warnings, and other small meson build/wrap fixes
1756
+ - python: Add overrides to be able to handle writability of MiniObjects
1757
+ - python: Convert buffer metadata API to use @property decorators
1758
+ - REGRESSION: pygobject 3.13 now copies the GstStructure when getting them from a GstCaps, making it impossible to properly
1759
+ modify structures from caps in place
1760
+
1761
+ gst-editing-services
1762
+
1763
+ - Fix frame position for sources with par < 1
1764
+ - Fix video position for sources with pixel-aspect-ratio > 1
1765
+ - Valgrind fixes
1766
+ - properties: add G_PARAM_STATIC_STRINGS where missing
1767
+ - Switch to GST_AUDIO_NE() to make things work properly on Big Endian systems
1768
+
1769
+ gst-devtools, gst-validate + gst-integration-testsuites
1770
+
1771
+ - Fix new warnings on Fedora 42, various meson warnings, and other small meson build/wrap fixes
1772
+ - validate: baseclasses: Reset Test timeouts between iterations
1773
+ - validate: scenario: Fix race condition when ignoring EOS
1774
+
1775
+ gst-examples
1776
+
1777
+ - Fix new warnings on Fedora 42, various meson warnings, and other small meson build/wrap fixes
1778
+ - webrtc examples: Fix running against self-signed certs
1779
+ - webrtc/signalling: fix compatibility with python 3.13
1780
+
1781
+ gstreamer-docs
1782
+
1783
+ - No changes
1784
+
1785
+ Development build environment
1786
+
1787
+ - Various wrap updates
1788
+ - Add qt-method meson options to fix Qt detection in various places
1789
+ - pre-commit: Workaround broken shebang on Windows
1790
+
1791
+ Cerbero build tool and packaging changes in 1.26.2
1792
+
1793
+ - directx-headers: Fix g-ir-scanner expecting MSVC naming convention for gst-plugins-bad introspection
1794
+ - m4: update recipe to fix hang in configure
1795
+ - pango: Fix introspection missing since 1.56.2 update
1796
+
1797
+ Contributors to 1.26.2
1798
+
1799
+ Adrian Perez de Castro, Alexander Slobodeniuk, Alicia Boya García, Andoni Morales Alastruey, Biswapriyo Nath, Brad Hards, Branko
1800
+ Subasic, Christoph Reiter, Daniel Morin, Doug Nazar, Devon Sookhoo, Eva Pace, Guillaume Desmottes, Hou Qi, Jakub Adam, Jan
1801
+ Schmidt, Jochen Henneberg, Jordan Petridis, L. E. Segovia, Mathieu Duponchelle, Matthew Waters, Nicolas Dufresne, Nirbheek
1802
+ Chauhan, Olivier Crête, Pablo García, Piotr Brzeziński, Robert Mader, Sebastian Dröge, Seungha Yang, Thibault Saunier,
1803
+ Tim-Philipp Müller, Vasiliy Doylov, Wim Taymans, Xavier Claessens, Zhao, Gang,
1804
+
1805
+ … and many others who have contributed bug reports, translations, sent suggestions or helped testing. Thank you all!
1806
+
1807
+ List of merge requests and issues fixed in 1.26.2
1808
+
1809
+ - List of Merge Requests applied in 1.26.2
1810
+ - List of Issues fixed in 1.26.2
1811
+
1571
1812
Schedule for 1.28
1572
1813
1573
1814
Our next major feature release will be 1.28, and 1.27 will be the unstable development version leading up to the stable 1.28
0 commit comments