* Tue Feb 07 2023 munix9@googlemail.com
- Add fix using sed to find gst-plugin-scanner-%{_target_cpu}
program (boo#1207908).
* Fri Jan 27 2023 alarrosa@suse.com
- Add patch to reduce the required meson version to 0.61.0 since
that's what we have in SLE 15:
* reduce-required-meson.patch
- Probably because of a problem in SLE's meson, the generated
pkgconfig files are missing some variables that are needed by
rpm to generate the pkgconfig(...) provides correctly. In order
to fix this, we now check for those variables and insert them
in the pc files before installation if they're missing.
* Tue Jan 24 2023 bjorn.lie@gmail.com
- Update to version 1.22.0:
+ AV1 video codec support improvements
+ New HLS, DASH and Microsoft Smooth Streaming adaptive streaming
clients
+ Qt6 support for rendering video inside a QML scene
+ Minimal builds optimised for binary size, including only the
individual elements needed
+ Playbin3, Decodebin3, UriDecodebin3, Parsebin enhancements and
stabilisation
+ WebRTC simulcast support and support for Google Congestion
Control
+ WebRTC-based media server ingestion/egress (WHIP/WHEP) support
+ New easy to use batteries-included WebRTC sender plugin
+ Easy RTP sender timestamp reconstruction for RTP and RTSP
+ ONVIF timed metadata support
+ New fragmented MP4 muxer and non-fragmented MP4 muxer
+ New plugins for Amazon AWS storage and audio transcription
services
+ New gtk4paintablesink and gtkwaylandsink renderers
+ New videocolorscale element that can convert and scale in one
go for better performance
+ High bit-depth video improvements
+ Touchscreen event support in navigation API
+ Rust plugins now shipped in macOS and Windows/MSVC binary
packages
+ H.264/H.265 timestamp correction elements for PTS/DTS
reconstruction before muxers
+ Improved design for DMA buffer sharing and modifier handling
for hardware-accelerated video decoders/encoders/filters and
capturing/rendering on Linux
+ Video4Linux2 hardware accelerated decoder improvements
+ CUDA integration and Direct3D11 integration and plugin
improvements
+ New H.264 / AVC, H.265 / HEVC and AV1 hardware-accelerated
video encoders for AMD GPUs using the Advanced Media Framework
(AMF) SDK
+ applemedia: H.265 / HEVC video encoding + decoding support
+ androidmedia: H.265 / HEVC video encoding support
+ New "force-live" property for audiomixer, compositor,
glvideomixer, d3d11compositor etc.
+ Lots of new plugins, features, performance improvements and bug
fixes
- Rebase patches with quilt.
* Thu Dec 22 2022 dmueller@suse.com
- update to 1.20.5:
+ This release only contains bugfixes and it should be safe to
upgrade from 1.20.x.
+ systemclock waiting fixes for certain 32-bit platforms/libcs
+ alphacombine: robustness improvements for corner case scenarios
+ avfvideosrc: Report latency when doing screen capture
+ d3d11videosink: various thread-safety and stability fixes
+ decklink: fix performance issue when HDMI signal has been lost
for a long time
+ flacparse: Fix handling of headers advertising 32 bits per
sample
+ mpegts: Handle when iconv doesn't support ISO 6937 (e.g. musl
libc)
+ opengl: fix automatic dispmanx detection for rpi4 and fix usage
of eglCreate/DestroyImage
+ opusdec: Various channel-related fixes
+ textrender: event handling fixes, esp. for GAP event
+ subparse: Fix non-closed tag handling
+ videoscale: fix handling of unknown buffer metas
+ videosink: reverse playback handling fixes
+ qtmux: Prefill mode fixes, especially for raw audio
+ multiudpsink: allow binding to IPv6 address
+ rtspsrc:
- Fix usage of IPv6 connections in SETUP
- Only EOS on timeout if all streams are timed out/EOS
+ splitmuxsrc: fix playback stall if there are unlinked pads
+ v4l2: Fix SIGSEGV on state change during format changes
+ wavparse robustness fixes
+ Fix static linking on macOS (opengl, vulkan)
+ gstreamer-vaapi: fix headless build against mesa >= 22.3.0
+ GStreamer Editing Services library: Fix build with tools
disabled
+ webrtc example/demo fixes
+ unit test fixes for aesdec and rtpjitterbuffer
+ Cerbero: Fix ios cross-compile with cmake on M1; some recipe
updates and other build fixes
+ Miscellaneous bug fixes, memory leak fixes, and other stability
and reliability improvements
+ Performance improvements
+ Changes in gstreamer base package:
- allocator: Copy allocator name in gst_allocator_register()
- concat: Properly propagate EOS seqnum
- fakesrc: avoid time overflow with datarate
- Fix build of 1.20 branch with Meson 0.64.1 for those who have
hotdoc installed on their system.
- gst-inspect: Don't leak list
- meson: fix check for pthread_setname_np()
- miniobject: support higher refcount values
- pads: Fix non-serialized sticky event push, e.g. instant
change rate events
- padtemplate: Fix annotations
- systemclock: Use futex_time64 syscall on x32 and other
platforms that always...
- -Wimplicit-function-declaration in pthread_setname_np check
(missing GNUSOURCE)
* Fri Oct 21 2022 bjorn.lie@gmail.com
- Update to version 1.20.4:
+ Highlighted bugfixes in 1.20.4:
- avaudiodec: fix playback issue with WMA files, would throw an
error at EOS with FFmpeg 5.x
- Fix deadlock when loading gst-editing-services plugin
- Fix input buffering capacity in live mode for aggregator,
video/audio aggregator subclasses, muxers
- glimagesink: fix crash on Android
- subtitle handling and subtitle overlay fixes
- matroska-mux: allow width + height changes for
avc3|hev1|vp8|vp9
- rtspsrc: fix control url handling for spec compliant servers
and add fallback for incompliant servers
- WebRTC fixes
- RTP retransmission fixes
- video: fixes for formats with 4x subsampling and horizontal
co-sited chroma (Y41B, YUV9, YVU9 and IYU9)
- Fix consuming of the macOS package as a framework in XCode
- Performance improvements
- Miscellaneous bug fixes, memory leak fixes, and other
stability and reliability improvements
+ gstreamer:
- buffer: drop parent meta in deep copy/foreach_metadata
- devicemonitor: Use a sync bus handler for the provider to
avoid accumulating all messages until the provider is stopped
- element: Fix requesting of pads with string templates
- gst:
. Protect initialization state with a recursive mutex
. Add missing define guard for build without gstreamer debug
logging support
- gst_init: Initialize static plugins just before dynamic plugins
- info: Parse "NONE" as a valid level name
- meta: Set the parent refcount of the GstStructure correctly
- pluginloader: Don't hang on short reads/writes
- tracers: leaks:
. Fix potentially invalid memory access when trying to detect
object type
. Fix object-refings.class flags
- uri: When setting the same string again do nothing
- value: Don't loop forever when serializing invalid flag
+ Base Libraries:
- aggregator:
. Fix input buffering in live mode (was too low before in
many cases)
. Fix reversed active/flushing arguments in debug log output
. Reset EOS flag after receiving a stream-start event
+ Core Elements: queue2:
- Hold the lock when modifying sinkresult
- Fix deadlock when deactivate is called in pull mode
* Wed Jun 22 2022 ukbeast89@protonmail.com
- Update to version 1.20.3
+ Highlighted bugfixes:
- Security fixes in Matroska, MP4 and AVI demuxers
- Fix scrambled video playback with hardware-accelerated
VA-API decoders on certain Intel hardware
- playbin3/decodebin3 regression fix for unhandled streams
- Fragmented MP4 playback fixes
- Android H.265 encoder mapping
- Playback of MXF files produced by FFmpeg before March 2022
- Fix rtmp2sink crashes on 32-bit platforms
- WebRTC improvements
- D3D11 video decoder and screen recorder fixes
- Performance improvements
- Support for building against OpenCV 4.6 and other build fixes
- Miscellaneous bug fixes, memory leak fixes, and other
stability and reliability improvements
+ gstreamer:
- clock: Avoid creating a weakref with every entry
(performance improvement)
- plugin: add Apache 2 license to list of known licenses to avoid
warning
- gst_plugin_load_file: force plugin reload if filename differs
Add support for LoongArch
* Mon May 09 2022 schwab@suse.de
- Enable use of libunwind on riscv64
* Mon May 09 2022 mmachova@suse.com
- Update to version 1.20.2
+ Highlighted bugfixes:
- avviddec: Remove vc1/wmv3 override and fix crashes on WMV
files with FFMPEG 5.0+
- macOS: fix plugin discovery for GStreamer installed via brew
and fix loading of Rust plugins
- rtpbasepayload: various header extension handling fixes
- rtpopusdepay: fix regression in stereo input handling if
sprop-stereo is not advertised
- rtspclientsink: fix possible shutdown deadlock
- mpegts: gracefully handle "empty" program maps and fix AC-4
detection
- mxfdemux: Handle empty VANC packets and fix EOS handling
- playbin3: various playbin3, uridecodebin3, and playsink fixes
- ptpclock: fix initial sync-up with certain devices
- gltransformation: let graphene alloc its structures memory
aligned
- webrtcbin fixes and webrtc sendrecv example improvements
- video4linux2: various fixes including some fixes for
Raspberry Pi users
- videorate segment handling fixes and other fixes
- nvh264dec, nvh265dec: Fix broken key-unit trick modes and
reverse playback
- wpe: Reintroduce persistent WebContext
- cerbero: Make it easier to consume 1.20.1 macOS GStreamer
.pkgs
- build fixes and gobject annotation fixes
- bug fixes, security fixes, memory leak fixes, and other
stability and reliability improvements
+ gstreamer:
- devicemonitor: clean up signal handlers and hidden providers
list
- Leaks tracer: fix pthread_atfork return value check leading
to bogus warning in log
- Rust plugins: Not picked up by the plugin loader on macOS
- Failed to use plugins of latest GStreamer version 1.20.x
installed by brew on macOS
- ptpclock: Allow at least 100ms delay between Sync/Follow_Up
and Delay_Req/Delay_Resp messages. Fixes problems acquiring
initial sync with certain devices
- meson: Add -Wl,-rpath,${libdir} on macOS
- registry: skip Rust dep builddirs when searching for plugins
recursively
* Fri Mar 18 2022 alarrosa@suse.com
- Update to version 1.20.1:
+ deinterlace: various bug fixes for yadif, greedy and scalerbob
methods
+ gtk video sink: Fix rotation not being applied when paused
+ gst-play-1.0: Fix trick-mode handling in keyboard shortcut
+ jpegdec: fix RGB conversion handling
+ matroskademux: improved ProRes video handling
+ matroskamux: Handle multiview-mode/flags/pixel-aspect-ratio
caps fields correctly when checking caps equality on input caps
changes
+ videoaggregator fixes (negative rate handling, current position
rounding)
+ soup http plugin: Lookup libsoup dylib files on Apple
platforms; fix Cerbero static build on Android and iOS
+ Support build against libfreeaptx in openaptx plugin
+ Fix linking issues on Illumos distros
+ GstPlay: Fix new error + warning parsing API (was unusuable
before)
+ mpegtsmux: VBR muxing fixes
+ nvdecoder: Various fixes for 4:4:4 and high-bitdepth decoding
+ Support build against libfreeaptx in openaptx plugin
+ webrtc: Various fixes to the webrtc-sendrecv python example
+ macOS: support a relocatable `GStreamer.framework` on macOS
+ macOS: fix applemedia plugin failing to load on ARM64 macOS
+ windows: ship wavpack library
+ gst-python: Fix build with Python 3.11
+ various bug fixes, memory leak fixes, and other stability and
reliability improvements
+ plugin loader: show the reason when spawning of
gst-plugin-scanner fails
+ registry, plugin loading: fix dynamic relocation if
GST_PLUGIN_SUBDIR (libdir) is not a single subdirectory;
improve GST_PLUGIN_SUBDIR handling
+ context: fix transfer annotation on
gst_context_writable_structure() for bindings
+ baseparse: Don't truncate the duration to milliseconds in
gst_base_parse_convert_default()
+ bufferpool: Deactivate pool and get rid of references to other
objects from dispose instead of finalize
* Fri Feb 04 2022 bjorn.lie@gmail.com
- Update to version 1.20.0:
+ Development in GitLab was switched to a single git repository
containing all the modules
+ GstPlay: new high-level playback library, replaces GstPlayer
+ WebM Alpha decoding support
+ Encoding profiles can now be tweaked with additional
application-specified element properties
+ Compositor: multi-threaded video conversion and mixing
+ RTP header extensions: unified support in RTP depayloader and
payloader base classes
+ SMPTE 2022-1 2-D Forward Error Correction support
+ Smart encoding (pass through) support for VP8, VP9, H.265 in
encodebin and transcodebin
+ Runtime compatibility support for libsoup2 and libsoup3
(libsoup3 support experimental)
+ Video decoder subframe support
+ Video decoder automatic packet-loss, data corruption, and
keyframe request handling for RTP / WebRTC / RTSP
+ mp4 and Matroska muxers now support profile/level/resolution
changes for H.264/H.265 input streams (i.e. codec data changing
on the fly)
+ mp4 muxing mode that initially creates a fragmented mp4 which
is converted to a regular mp4 on EOS
+ Audio support for the WebKit Port for Embedded (WPE) web page
source element
+ CUDA based video color space convert and rescale elements and
upload/download elements
+ NVIDIA memory:NVMM support for OpenGL glupload and gldownload
elements
+ Many WebRTC improvements
+ The new VA-API plugin implementation fleshed out with more
decoders and new postproc elements
+ AppSink API to retrieve events in addition to buffers and
buffer lists
+ AppSrc gained more configuration options for the internal queue
(leakiness, limits in buffers and time, getters to read current
levels)
+ Updated Rust bindings and many new Rust plugins
+ Improved support for custom minimal GStreamer builds
+ Support build against FFmpeg 5.0
+ Linux Stateless CODEC support gained MPEG-2 and VP9
+ Windows Direct3D11/DXVA decoder gained AV1 and MPEG-2 support
+ Lots of new plugins, features, performance improvements and bug
fixes
- Use ldconfig_scriptlets macro for post(un) handling where
possible.
- Update Source url.
* Fri Feb 04 2022 bjorn.lie@gmail.com
- Update to version 1.18.6:
+ gstplugin: Fix for UWP build
+ gst-ptp-helper: Do not disable multicast loopback
+ concat: fix qos event handling
+ pluginfeature: Fix object leak
+ baseparse: fix invalid avg_bitrate after reset
+ multiqueue: Fix query unref race on flush
+ gst: Initialize optional event/message fields when parsing
+ bitwriter: Fix the trailing bits lost when getting its data
+ multiqueue: never consider a queue that is not waiting
+ input-selector: Use proper segments when cleaning cached
buffers
* Thu Sep 16 2021 bjorn.lie@gmail.com
- Stop building doc sub-package, we will in the future use
upstreams own standalone doc package. Following this: Drop
fdupes, gtk-doc and hotdoc BuildRequires, and fdupes call, no
longer needed nor usefull.
- Refresh patches with quilt.
* Thu Sep 16 2021 sbrabec@suse.com
- Remove obsolete translation-update-upstream and
gnome-patch-translation support (jsc#SLE-21105).
* Wed Sep 15 2021 bjorn.lie@gmail.com
- Update to version 1.18.5:
+ aggregator:
- Release the SRC lock while querying latency
- Release pads' peeked buffer when removing the pad or
finalizing it
+ basesink: Don't swap rstart/rstop when stepping
+ basesrc: Print segments with GST_SEGMENT_FORMAT and not
GST_PTR_FORMAT
+ childproxy: init value in gst_child_proxy_get_property() if
needed
+ clocksync: Fix providing system clock by default
+ concat:
- Properly propagate seqnum of segment events
- adjust running time offsets on downstream events
- fix locking in SEGMENT event handler
+ downloadbuffer/sparsefile: several fixes for win32
+ element: NULL the lists of contexts in dispose()
+ multiqueue:
- Use running time of gap events for wakeups.
- Ensure peer pad exists when iterating internal links
+ pad:
- Keep IDLE probe hook alive during immediate callback
- Ensure last flow return is set on sink pads in push mode
- Don't spam the debug log at INFO level when default-chaining
a buffer list
- clear probes holding mutex
+ parse-launch:
- Fix a critical when using the : operator.
+ Don't do delayed property setting for top-level properties.
+ plugin: load plugins with unknown license strings
+ ptpclock: Don't leak the GList
+ queue2: Refuse all serialized queries when posting buffering
messages
+ systemclock: Update monotonic reference time when re-scheduling
+ High CPU usage in 1.18 (but not master) when pausing playback
in gnome-music
+ Don't use volatile to mean atomic (fixes compiler warnings with
gcc 11)
* Fri Mar 19 2021 dmueller@suse.com
- update to 1.18.4:
important security fixes for ID3 tag reading, matroska and realmedia
parsing, and gst-libav audio decoding
Details:
* audiomixer, audioaggregator: input buffer handling fixes
* decodebin3: improve stream-selection message handling
* uridecodebin3: make “caps” property work
* wavenc: fix writing of INFO chunks in some cases
* v4l2: bt601 colorimetry, allow encoder resolution changes, fix
decoder frame rate negotiation
* decklinkvideosink: fix auto format detection, and fixes for 29.97fps
framerate output
* mpeg-2 video handling fixes when seeking
* avviddec: fix bufferpool negotiation and possible memory corruption
when changing resolution
* various stability, performance and reliability improvements
* memory leak fixes
* build fixes: rpicamsrc, qt overlay example, d3d11videosink on UWP
* info: Don’t leak log function user_data if the debug system is
compiled out
* task: Use SetThreadDescription() Win32 API for setting thread names,
which preserves thread names in dump files.
* buffer, memory: Mark info in map functions as caller-allocates and
pass allocation params as const pointers where possible
* clock: define AUTO_CLEANUP_FREE_FUNC for GstClockID
* tag: id3v2: fix frame size check and potential invalid reads
* audio: Fix gst_audio_buffer_truncate() meta handling for
non-interleaved audio
* audioresample: respect buffer layout when draining
* audioaggregator: fix input_buffer ownership
* decodebin3: change stream selection message owner, so that the app
sends the stream-selection event to the right element
* rtspconnection: correct data_size when tunneled mode
* uridecodebin3: make caps property work
* video-converter: Don’t upsample invalid lines
* videodecoder: Fix racy critical when pool negotiation occurs during
flush
* video: Convert gst_video_info_to_caps() to take self as const ptr
* examples: added qt core dependency for qt overlay example
* matroskademux: header parsing fixes
* rpicamsrc: depend on posix threads and vchiq_arm to fix build on
raspios again
* wavenc: Fixed INFO chunk corruption, caused by odd sized data not
being padded
* wavpackdec: Add floating point format support to fix distortions in
some cases
* v4l2: recognize V4L2 bt601 colorimetry again
* v4l2videoenc: support resolution change stream encode
* v4l2h265codec: fix HEVC profile string issue
* v4l2object: Need keep same transfer as input caps
* v4l2videodec: Fix vp8 and vp9 streams can’t play on board with
vendor bsp
* v4l2videodec: fix src side frame rate negotiation
* avwait: Don’t post messages with the mutex locked
* d3d11h264dec: Reconfigure decoder object on DPB size change and keep
track of actually configured DPB size
* dashsink: fix double unref of sinkpad caps
* decklinkvideosink: Use correct numerator for 29.97fps
* decklinkvideosink: fix auto format detection
* decklinksrc: Use a more accurate capture time
* d3d11videosink: Fix build error on UWP
* interlace: negotiation and buffer leak fixes
* mpegvideoparse: do not clip, so decoder receives data from keyframe
even if it’s before the segment start
* mpegtsparse: Fix switched DTS/PTS when set-timestamps=false
* nvh264sldec: Reopen decoder object if larger DPB size is required
* sdpsrc: fix double free if sdp is provided as string via the
property
* vulkan: Fix elements long name.
* Sat Jan 16 2021 bjorn.lie@gmail.com
- Update to version 1.18.3:
+ Highlighted bugfixes:
- Fix ogg playback regression for ogg files that also have ID3
or APE tags
- compositor: fix artefacts and invalid memory access when
blending subsampled formats
- Exported mini object ref/unref/copy functions for use in
bindings such as gstreamer-sharp
- Add support for Apple silicon (M1) to cerbero package builder
- Ship RIST plugin in binary packages
- Various stability, performance and reliability improvements
- Memory leak fixes
- Build fixes
+ gstreamer:
- gst: Add non-inline ref/unref/copy/replace methods for
various mini objects (buffer, bufferlist, caps, context,
event, memory, message, promise, query, sample, taglist, uri)
for use in bindings such as gstreamer-sharp.
- harness: don't use GST_DEBUG_OBJECT with GstHarness which is
not a GObject.
* Wed Dec 30 2020 fcrozat@suse.com
- Move gst-plugins-doc-cache-generator to devel subpackage
(remove python3 dependency on main gstreamer package).
* Tue Dec 08 2020 bjorn.lie@gmail.com
- Update to version 1.18.2:
+ Highlighted bugfixes:
- Fix MPEG-TS timestamping regression when playing DVB streams
- compositor: fix artefacts in certain input scaling/conversion
situations and make sure that the output format is actually
supported, plus renegotiation fixes
- Fix sftp:// URI playback in decodebin/playbin via giosrc
- adaptivedemux/dashdemux/hlsdemux fixes
- rtsp-server fixes
- android media: fix crash when encoding AVC
- fix races in various unit tests
- lots of other bug fixes and memory leak fixes
- various stability, performance and reliability improvements
- g-i annotation fixes
- build fixes
+ gstreamer changes:
- bin: When removing a sink, check if the EOS status changed
- info: colorize PIDs in log messages
- aggregator: Include min-upstream-latency in buffering time,
helps especially with performance issues on single core
systems where there are a lot of threads running
- typefind: copy seqnum to new segment event, fixing issues
with oggdemux operating in push mode with typefind operating
in pull mode
- identity, clocksync: Also provide system clock if sync=false
- queue2: Fix modes in scheduling query handling
- harness: Handle element not being set cleanly
- g-i: Add some missing nullable annotations, and fix some
nullable annotations:
- gst_test_clock_process_next_clock_id() returns nullable
- gst_stream_type_get_name() is not nullable
- build: fix build issue when compiling for 32-bit
architectures with 64-bit time_t (e.g. riscv32) by increasing
padding in GstClockEntryImpl in gst_private.h
- Fix the _service file and spec to really use the tarball
generated by service.
* Tue Oct 27 2020 alarrosa@suse.com
- Update to 1.18.1:
+ Highlighted bugfixes in 1.18.1
- important security fixes (bsc#1181255, CVE-2021-3185)
- bug fixes and memory leak fixes
- various stability and reliability improvements
+ gstreamer changes:
- aggregator: make peek() has() pop() drop() buffer API
threadsafe
- gstvalue: don't write to const char *
- meson: Disallow DbgHelp for UWP build
- info: Fix build on Windows ARM64 device
- build: use cpu_family for arch checks
- basetransform: Fix in/outbuf confusion of
_default_transform_meta
- Fix documentation
- info: Load DbgHelp.dll using g_module_open()
- padtemplate: mark documentation caps as may be leaked
- gstmeta: intern registered impl string
- aggregator: Hold SRC_LOCK while unblocking via
SRC_BROADCAST()
- ptp_helper_post_install.sh: deal with none
- skip elements/leak.c if tracer is not available
- aggregator: Wake up source pad in PAUSED<->PLAYING
transitions
- input-selector: Wake up blocking pads when releasing them
- ptp: Also handle gnu/kfreebsd
* Sat Oct 24 2020 dimstar@opensuse.org
- Do not manually install gst-tester-%{gst_branch}: meson_install
takes care of this already.
Version: 1.16.3-3.3.1
* Wed May 19 2021 zcjia@suse.com
- Update to version 1.16.3 (bsc#1181255):
- delay creation of threadpools
- bin: Fix `deep-element-removed` log message
- buffer: fix meta sequence number fallback on rpi
- bufferlist: foreach: always remove as parent if buffer is changed
- bus: Make setting/replacing/clearing the sync handler thread-safe
- elementfactory: Fix missing features in case a feature moves to another filename
- element: When removing a ghost pad also unset its target
- meta: intern registered impl string
- registry: Use a toolchain-specific registry file on Windows
- systemclock: Invalid internal time calculation causes non-increasing clock time on Windows
- value: don't write to `const char *`
- value: Fix segfault comparing empty GValueArrays
- Revert floating enforcing
- aggregator: fix iteration direction in skip_buffers
- sparsefile: fix possible crash when seeking
- baseparse: cache fix
- baseparse: fix memory leak when subclass skips whole input buffer
- baseparse: Set the private duration before posting a duration-changed message
- basetransform: allow not passthrough if generate_output is implemented
- identity: Fix a minor leak using meta_str
- queue: protect against lost wakeups for iterm_del condition
- queue2: Avoid races when posting buffering messages
- queue2: Fix missing/dropped buffering messages at startup
- identity: Unblock condition variable on FLUSH_START
- check: Use `g_thread_yield()` instead of `g_usleep(1)`
- tests: use cpu_family for arch checks
- gst-launch: Follow up to missing `s/g_print/gst_print/g`
- gst-inspect: Add define guard for `g_log_writer_supports_color()`
- gst-launch: go back down to `GST_STATE_NULL` in one step.
- device-monitor: list hidden providers before listing devices
- autotools build fixes for GNU make 4.3
* Wed Dec 04 2019 bjorn.lie@gmail.com
- Update to version 1.16.2:
+ Interlaced video scaling fixes
+ CineForm video support in AVI
+ audioresample: avoid glitches due to rounding errors after
changing rate
+ Command line tool output printing improvements on Windows
+ various performance improvements, memory leak fixes and
security fixes
+ VP9 decoding fixes
+ wasapi: bug fixes and stability improvements
+ tsdemux: improved handling of certain discontinuities
+ vaapi h265 decoder: wait for I-frame before trying to decode
+ tee: Make sure to actually deactivate pads that are released
+ bin: Drop need-context messages without source instead of
crashing
+ gst: Don't pass miniobjects to GST_DEBUG_OBJECT() and similar
macros
+ tracers: Don't leak temporary GstStructure
* Tue Sep 24 2019 bjorn.lie@gmail.com
- Update to version 1.16.1:
+ GStreamer-vaapi: fix green frames and decoding artefacts in
some cases.
+ OpenGL: fix wayland event source burning CPU in certain
circumstances.
+ Memory leak fixes and memory footprint improvements.
+ Performance improvements.
+ Stability and security fixes.
+ Fix enum for GST_MESSAGE_DEVICE_CHANGED which is technically an
API break, but this is only used internally in GStreamer and
duplicated another message enum.
+ hls: Make crypto dependency optional when hls-crypto is auto.
+ player: fix switching back and forth between forward and
reverse playback.
+ decklinkaudiosink: Drop late buffers.
+ openh264enc: Fix compilation with openh264 v2.0.
+ wasapisrc: fix segtotal value being always 2.
* Wed Jul 10 2019 dimstar@opensuse.org
- Fix meson script using sed: since we rename gst-plugin-helper for
multi arch purpose, we also need to fix meson.build to make the
code look for the correct name (boo#1140998).
* Mon Jul 01 2019 schwab@suse.de
- Use libunwind only if available
* Wed Jun 12 2019 mgorse@suse.com
- Update to version 1.16.0:
+ Highlights
- GStreamer WebRTC stack gained support for data channels for
peer-to-peer communication based on SCTP, BUNDLE support,
as well as support for multiple TURN servers.
- AV1 video codec support for Matroska and QuickTime/MP4
containers and more configuration options and supported
input formats for the AOMedia AV1 encoder
- Support for Closed Captions and other Ancillary Data in video
- Support for planar (non-interleaved) raw audio
- GstVideoAggregator, compositor and OpenGL mixer elements are
now in -base
- New alternate fields interlace mode where each buffer carries
a single field
- WebM and Matroska ContentEncryption support in the Matroska
demuxer
- new WebKit WPE-based web browser source element
- Video4Linux: HEVC encoding and decoding, JPEG encoding, and
improved dmabuf import/export
- Hardware-accelerated Nvidia video decoder gained support for
VP8/VP9 decoding, whilst the encoder gained support for
H.265/HEVC encoding.
- Many improvements to the Intel Media SDK based
hardware-accelerated video decoder and encoder plugin
(msdk): dmabuf import/export for zero-copy integration with
other components; VP9 decoding; 10-bit HEVC encoding; video
post-processing (vpp) support including deinterlacing; and
the video decoder now handles dynamic resolution changes.
- The ASS/SSA subtitle overlay renderer can now handle multiple
subtitles that overlap in time and will show them on screen
simultaneously
- The Meson build is now feature-complete (*) and it is now the
recommended build system on all platforms. The Autotools
build is scheduled to be removed in the next cycle.
- The GStreamer Rust bindings and Rust plugins module are now
officially part of upstream GStreamer.
- The GStreamer Editing Services gained a gesdemux element
that allows directly playing back serialized edit list with
playbin or (uri)decodebin
- Many performance improvements
- Switch to meson on Tumbleweed.
- Rebase gstreamer-rpm-prov.patch.
- Require libdw. Helps with generating backtraces.
- Place gdb autoload files in -devel package.
- Add gstreamer-pie.patch to generate position-independent
executables. Previously done through CFLAGS/LDFLAGS, but this
makes ninja pass -pie when linking libraries as well, causing
the link to fail.
- Now requires glib2 >= 2.40.0.
* Fri May 31 2019 bjorn.lie@gmail.com
- Update to version 1.14.5:
+ aggregator:
- Take the pad lock around queue gap event removal.
- Don?t leak gap buffer when out of segment.
+ buffer: fix possible memory corruption in
gst_buffer_foreach_meta() when removing metas.
+ bus:
- Make removing of signal/bus watches thread-safe.
- Don?t allow removing signal watches with
gst_bus_remove_watch().
+ controlbinding: Check if the weak pointer was cleared before
explicitly removing it.
+ ptp clock: Wait for ANNOUNCE before selecting a master;
increase tolerance for late follow-up and delay-resp.
+ segment: Allow stop == -1 in gst_segment_to_running_time() and
negative rate.
+ g-i: annotations fixes.
* Wed Oct 03 2018 sean@suspend.net
- Update to version 1.14.4:
+ glviewconvert: wait and set the gl sync meta on buffers.
+ glviewconvert: copy composition meta from the primary buffer to
both outputs.
+ glcolorconvert: don't copy overlay composition meta over to
NULL outbufs.
+ matroskademux: add functionality needed for MSE use case fixing
youtube playback in epiphany/webkit-gtk.
+ tagdemux: Use upstream GST_EVENT_STREAM_START (and stream-id)
if present.
+ vorbisdec: fix header handling regression: init decoder
immediately once we have headers.
+ wasapisink: recover from low buffer levels in shared mode.
+ fix GstSegment unit test which would fail on some 32-bit x86
CPUs.
* Wed Sep 26 2018 bjorn.lie@gmail.com
- Update to version 1.14.3:
+ opusenc: fix crash on 32-bit platforms.
+ compositor: fix major buffer leak when doing crossfading on
some but not all pads.
+ wasapi: various fixes for wasapisrc and wasapisink regressions.
+ x264enc: Set bit depth to fix "This build of x264 requires
8-bit depth. Rebuild to..." runtime errors with x264 version
? 153.
+ audioaggregator, audiomixer: caps negotiation fixes.
+ input-selector: latency handling fixes.
+ playbin, playsink: audio visualization support fixes.
+ dashdemux: fix possible crash if stream is neither isobmff nor
isoff_ondemand profile.
+ opencv: Fix build for opencv >= 3.4.2.
+ h265parse: miscellaneous fixes backported from h264parse.
+ pads: fix changing of pad offsets from inside pad probes.
+ pads: ensure that pads are blocked for IDLE probes if they are
called from the streaming thread too.
* Fri Jul 20 2018 bjorn.lie@gmail.com
- Update to version 1.14.2:
+ Update docs.
+ basetransform: Do not check if NULL is an emtpy caps.
+ concat: Properly forward the SEGMENT seqnum.
+ gst: add some GIR array annotations.
+ meson: Fix detection of glib-mkenums under MSYS2.
* Thu Jul 12 2018 dimstar@opensuse.org
- Update gstreamer.macros and gstreamer.prov to be compatible with
file 5.33, which differently idenfies executables from libraries.
* Sun May 20 2018 bjorn.lie@gmail.com
- Update to version 1.14.1:
+ GstPad: Fix race condition causing the same probe to be called
multiple times
+ Fix occasional deadlocks on windows when outputting debug
logging
+ Fix debug levels being applied in the wrong order
+ GIR annotation fixes for bindings
+ audiomixer, audioaggregator: fix some negotiation issues
+ gst-play-1.0: fix leaving stdin in non-blocking mode after exit
+ flvmux: wait for caps on all input pads before writing header
even if source is live
+ flvmux: don't wake up the muxer unless there is data, fixes
busy looping if there's no input data
+ flvmux: fix major leak of input buffers
+ rtspsrc, rtsp-server: revert to RTSP RFC handling of
sendonly/recvonly attributes
+ rtpvrawpay: fix payloading with very large mtu sizes where
everything fits into a single RTP packet
+ v4l2: Fix hard-coded enabled v4l2 probe on Linux/ARM
+ v4l2: Disable DMABuf for emulated formats when using libv4l2
+ v4l2: Always set colorimetry in S_FMT
+ asfdemux: Set stream-format field for H264 streams and handle
H.264 in bytestream format
+ x265enc: Fix tagging of keyframes on output buffers
+ ladspa: Fix critical during plugin load on Windows
+ decklink: Fix COM initialisation on Windows
+ h264parse: fix re-use across pipeline stop/restart
+ mpegtsmux: fix force-keyframe event handling and PCR/PMT
changes that would confuse some players with generated HLS
streams
+ adaptivedemux: Support period change in live playlist
+ rfbsrc: Fix support for applevncserver and support NULL pool in
decide_allocation
+ jpegparse: Fix APP1 marker segment parsing
+ h265parse: Make caps writable before modifying them, fixes
criticals
+ fakevideosink: request an extra buffer if enable-last-sample is
enabled
+ wasapisrc: Don't provide a clock based on WASAPI's clock
+ wasapi: Only use audioclient3 when low-latency, as it might
otherwise glitch with slow CPUs or VMs
+ wasapi: Don't derive device period from latency time, should
make it more robust against glitches
+ audiolatency: Fix wave detection in buffers and avoid bogus pts
values while starting
+ msdk: fix plugin load on implementations with only HW support
+ msdk: dec: set framerate to the driver only if provided, not in
0/1 case
+ msdk: Don't set extended coding options for JPEG encode
+ rtponviftimestamp: fix state change function init/reset causing
races/crashes on shutdown
+ decklink: fix initialization failure in windows binary
+ ladspa: Fix critical warnings during plugin load on Windows and
fix dependencies in meson build
+ gl: fix cross-compilation error with viv-fb
+ qmlglsink: make work with eglfs_kms
+ rtspclientsink: Don't deadlock in preroll on early close
+ rtspclientsink: Fix client ports for the RTCP backchannel
+ rtsp-server: Fix session timeout when streaming data to client
over TCP
+ vaapiencode: h264: find best profile in those available, fixing
negotiation errors
+ vaapi: remove custom GstGL context handling, use GstGL instead.
Fixes GL Context sharing with WebkitGtk on wayland
+ gst-editing-services: various fixes
+ gst-python: bump pygobject req to 3.8;
fix GstPad.set_query_function(); dist autogen.sh and
configure.ac in tarball
+ g-i: pick up GstVideo-1.0.gir from local build directory in
GstGL build
+ g-i: update constant values for bindings
+ avoid duplicate symbols in plugins across modules in static
builds
+ ... and many, many more!
* Mon Apr 23 2018 dimstar@opensuse.org
- Rename gst-plugin-scanner to gst-plugin-scanner-%{arch}, allowing
multiple variants to co-exist (boo#1049452).
* Fri Mar 30 2018 luc14n0@linuxmail.org
- Update to version 1.14.0:
+ Highlights:
- WebRTC support: real-time audio/video streaming to and from
web browsers;
- Experimental support for the next-gen royalty-free AV1 video
codec;
- Video4Linux: encoding support, stable element names and
faster device probing;
- Support for the Secure Reliable Transport (SRT) video
streaming protocol;
- RTP Forward Error Correction (FEC) support (ULPFEC);
- RTSP 2.0 support in rtspsrc and gst-rtsp-server;
- ONVIF audio backchannel support in gst-rtsp-server and
rtspsrc;
- playbin3 gapless playback and pre-buffering support;
- Tee, our stream splitter/duplication element, now does
allocation query aggregation which is important for efficient
data handling and zero-copy;
- QuickTime muxer has a new prefill recording mode that allows
file import in Adobe Premiere and FinalCut Pro while the file
is still being written;
- rtpjitterbuffer fast-start mode and timestamp offset
adjustment smoothing;
- souphttpsrc connection sharing, which allows for connection
reuse, cookie sharing, etc;
- nvdec: new plugin for hardware-accelerated video decoding
using the NVIDIA NVDEC API;
- Adaptive DASH trick play support;
- ipcpipeline: new plugin that allows splitting a pipeline
across multiple processes;
- Major gobject-introspection annotation improvements for large
parts of the library API;
- GStreamer C# bindings have been revived and seen many updates
and fixes;
- The externally maintained GStreamer Rust bindings had many
usability improvements and cover most of the API now.
Coinciding with the 1.14 release, a new release with the 1.14
API additions is happening.
+ Updated translations.
- Add:
+ gio-2.0, gio-unix-2.0, gmodule-2.0 and gobject-2.0 pkgconfig
modules BuildRequires to avoid implicit dependencies.
+ libcap-progs BuildRequires: new dependency.
- Drop libxml2-devel BuildRequires: it has been dropped upstream,
and now so do we.
- Point fdupes to the data directory instead of the build root,
which is a practice that must be avoided.
- Rebase gstreamer-rpm-prov.patch.
Version: 1.12.5-3.14.1
* Fri Jul 17 2020 alynx.zhou@suse.com
- Add gstreamer-fix-device-provider-started-count.patch:
GstDeviceProvider has a started_count private variable, start
will add 1 to it and stop will subtract 1 from it. However,
current code forget to add 1 if it was already started, so if
we start it twice and then stop it twice, it will crash at the
second stop call. This patch fix it by add the self-increasing
code. (bsc#1097405)
* Sun May 24 2020 meissner@suse.com
- create separate gst-plugin-scanner-<targettype> binaries,
for multiarch use , like e.g. needed for Wine (bsc#1049452 bsc#1172018 )
also require the 32bit libs from 32bit devel package. (bsc#1172304)
* Thu Mar 29 2018 bjorn.lie@gmail.com
- Update to version 1.12.5:
+ pad: fix some stream deactivation deadlocks/races.
+ registrychunks: don't read from unaligned memory when loading
registry.
+ ptp: fix build failure with #undef USE_MEASUREMENT_FILTERING.
+ downloadbuffer: Don't hold the mutex while posting the
download-complete message.
+ playbin3: Fix accessing invalid index in GstStream when
received select-stream event.
+ id3v2: re-fix handling of ID3 v2.4 tags with extended headers.
+ audio: fix handling of U32BE format.
+ videodecoder: Reset QoS time after pushing segment. This fixes
playbin gapless playback with videos.
+ subparse: push out of last chunk of text if last line has no
newline.
+ aacparse: When parsing raw input, accept frames of any size.
This fixes handling of encoded silence.
+ splitmuxsrc: Improve not-linked handling.
+ rtspsrc: also proxy multicast-iface property to RTCP udpsrc.
+ flacdec: flush flac decoder on lost sync, so that it can
re-sync.
+ matroskamux: Only mark new clusters as keyframe if they start
on a keyframe or we're muxing only audio.
+ matroskamux: Clip maximum cluster duration to the maximum
possible value.
+ h264parse: reset internal 'state' variable properly.
+ x264enc: fix build with newer x264 with support for multiple
bit depths.
+ x265enc: Fix tagging of keyframes on output buffers.
+ glimagesink: Correct PAR in output caps when transforming.
+ vtdec: destroy and create the GL context on start()/stop(),
fixing a refcount loop.
+ player: fix criticals when reading info/track properties that
are NULL.
+ lv2: fix inverted boolean properties.
+ rtponviftimestamp: fix state change function init/reset, fixing
memory corruption or leaks on shutdown.
+ libav: some build issues fixes.
+ rtsp-server: Place netaddress meta on packets received via TCP.
Fixes keep-alive via RTCP in TCP interleaved mode.
+ rtsp-server: gi annotation fixes.
+ gst-libav: internal ffmpeg copy was updated to ffmpeg 3.3.6.
+ Various fixes for memory leaks, deadlocks and crashes in all
modules.
* Tue Mar 20 2018 dimstar@opensuse.org
- Unconditionally enable translation-update-upstream: on
Tumbleweed, this results in a NOP and for Leap in SLE paid
translations being used (boo#1086036).
* Wed Feb 28 2018 dimstar@opensuse.org
- Modernize spec-file by calling spec-cleaner
* Mon Dec 11 2017 zaitor@opensuse.org
- Update to version 1.12.4:
+ Dozens of fixes for various issues detected with the help of
Google's OSS-Fuzz project.
+ Performance regressions with registering debug categories after
gst_init() were fixed.
+ Regression with seeking back to 0 in souphttpsrc was fixed.
+ Regression with header rewriting in flacparse was fixed.
+ Regression with playbin/playsink leaking sinks was fixed.
+ Inconsistencies with DROPPED/HANDLED handling in pad probe
handlers are fixed.
+ gst_bin_iterate_sorted() always returns sources last now, as
documented.
+ gst_query_writable_structure() will never return NULL, for
consistency with events.
+ Removal of metas from gst_buffer_meta_foreach() works correctly
now.
+ OpenJPEG plugin builds with OpenJPEG >= 2.3.
+ CDIO plugin builds with CDIO >= 1.0.
+ gstreamer-vaapi works correctly with libva 1.0.
+ gst-libav was updated to ffmpeg 3.3.5.
+ Various fixes for memory leaks, deadlocks and crashes in all
modules and many, many more!
+ Bugs fixed: bgo#788520, bgo#788617.
+ Updated translations.
* Fri Dec 01 2017 zaitor@opensuse.org
- Add explicit python3-xml BuildRequires: fix build on older
versions of openSUSE.
* Wed Nov 29 2017 dimstar@opensuse.org
- Switch to python3:
+ Replace python BuildRequires with python3-base.
+ Export PYTHON=/usr/bin/python3 before calling configure.
* Mon Sep 18 2017 zaitor@opensuse.org
- Update to version 1.12.3:
+ Fix for infinite recursion on buffer free in v4l2.
+ Fix for glimagesink crash on macOS when used via autovideosink.
+ Fix for huge overhead in matroskamux caused by writing one
Cluster per audio-frame in audio-only streams. Also use
SimpleBlocks for Opus and other audio codecs, which works
around a bug in VLC that prevented Opus streams to be played
and decreases overhead even more.
+ Fix for flushing seeks in rtpmsrc always causing an error.
+ Fix for timestamp overflows in calculations in audio encoder
base class.
+ Fix for RTP h265 depayloader marking P-frames as I-frames.
+ Fix for long connection delays of clients in RTSP server.
+ Fixes for event handling in queue and queue2 elements, and
updates to buffering levels on NOT_LINKED streams.
+ Various fixes to event and buffering handling in
decodebin3/playbin3.
+ Various fixes for memory leaks, deadlocks and crashes in all
modules.
+ Bugs fixed: bgo#778193, bgo#786034, bgo#786056, bgo#786561.
* Fri Aug 25 2017 zaitor@opensuse.org
- Drop conditional valgrind-devel BuildRequires, this type of
debugging is probably not done by users of binary packages.
* Fri Jul 14 2017 zaitor@opensuse.org
- Update to version 1.12.2:
+ Various fixes for crashes, assertions, deadlocks and memory
leaks.
+ Regression fix for playback of live HLS streams.
+ Regression fix for crash when playing back a tunneled RTSP
stream.
+ Regression fix for playback of RLE animations in MOV
containers.
+ Regression fix for RTP GSM payloading producing corrupted
output.
+ Major bugfixes to the MXF demuxer, mostly related to seeking
and fixes to the frame reordering handling in the MXF muxer and
demuxer.
+ Fix for playback of mono streams on MacOS.
+ More fixes for index handling of ASF containers.
+ Various fixes to adaptivedemux, DASH and HLS demuxers.
+ Fix deadlock in gstreamer-editing-services during class
initialization.
+ Bugs fixed: bgo#784041, bgo#784932.
* Tue Jun 20 2017 dimstar@opensuse.org
- Update to version 1.12.1:
+ Various fixes for crashes, assertions, deadlocks and memory
leaks.
+ Fix for regression when seeking to the end of ASF files.
+ Fix for regression in (raw)videoparse that caused it to omit
video metadata.
+ Fix for regression in discoverer that made it show more streams
than actually available.
+ Numerous bugfixes to the adaptive demuxer base class and the
DASH demuxer.
+ Various playbin3/urisourcebin related bugfixes.
+ Vivante DirectVIV (imx6) texture uploader works with
single-plane (e.g. RGB) video formats now.
+ Intel Media SDK encoder now outputs valid PTS and keyframe
flags.
+ OpenJPEG2000 plugin can be loaded again on MacOS and correctly
displays 8 bit RGB images now.
+ Fixes to DirectSound source/sink for high CPU usage and wrong
latency/buffer size calculations.
+ gst-libav was updated to ffmpeg n3.3.2.
* Fri May 05 2017 zaitor@opensuse.org
- Update to version 1.12.0:
+ Bugs fixed: bgo#782050.
* Wed May 03 2017 dimstar@opensuse.org
- Update to version 1.11.91:
+ Bugs fixed: bgo#781585, bgo#781585, bgo#780757, bgo#781484,
bgo#781155, bgo#781155, bgo#780903.
- Changes from version 1.11.90:
+ Bugs fixed: bgo#753754, bgo#775445, bgo#776140, bgo#776293,
bgo#776999, bgo#778193, bgo#778830, bgo#779175, bgo#779459,
bgo#779755, bgo#779831, bgo#780111, bgo#780751, bgo#780923.
+ Updated translations.
* Fri Feb 24 2017 zaitor@opensuse.org
- Update to version 1.11.2:
+ Bugs fixed: bgo#764707, bgo#773091, bgo#777375, bgo#777449,
bgo#777780, bgo#777810, bgo#778866.
* Thu Feb 23 2017 zaitor@opensuse.org
- Update to version 1.11.1:
+ padtemplate: Fix null pointer dereference on invalid static
caps.
+ queue: Don't generate GST_FLOW_ERROR without logging.
+ pad: clarify docs for GST_PAD_PROBE_DROP.
+ meson:
- Generate pkg-config -uninstalled pc files.
- Do not generate .pc files for libgstcheck on windows.
+ tools: update gst-inspect man page.
+ Updated translations.
- Stop packaging .la/.a files.
- Rebase gstreamer-rpm-prov.patch.
- Replace glib2-devel for pkgconfig(glib-2.0) BuildRequires.
- Pass --with-package-name='openSUSE GStreamer package' and
- -with-package-origin='http://download.opensuse.org' to configure
we want to show where the gstreamer package is from.
- Pass --disable-benchmarks, --disable-examples and
- -disable-tests to configure, we do not need those.
- Move AUTHORS ChangeLog NEWS README RELEASE to doc subpackage.
* Thu Feb 23 2017 zaitor@opensuse.org
- Update to version 1.10.4:
+ Various fixes for crashes, assertions, deadlocks and memory
leaks on fuzzed input files and in other situations
(CVE-2017-5847, CVE-2017-5848).
+ More regression fixes for souphttpsrc redirection tracking.
+ Various bugfixes for regressions and other problems in the V4L2
plugin.
+ Fix for 5.1, 6.1 and 7.1 channel layouts for Vorbis.
+ Bugs fixed: bgo#777998, bgo#778365.
- Drop gstreamer-parse-dont-translate-bin-name.patch: Fixed
upstream.
* Sat Feb 04 2017 zaitor@opensuse.org
- Add gstreamer-parse-dont-translate-bin-name.patch: parse: Don't
translate the "bin" element name. Otherwise we won't be able to
create bins (bgo#777998).
* Mon Jan 30 2017 zaitor@opensuse.org
- Update to version 1.10.3:
+ CVE's fixed: CVE-2016-10198, CVE-2016-10199, CVE-2017-5837,
CVE-2017-5838, CVE-2017-5839, CVE-2017-5840, CVE-2017-5841,
CVE-2017-5842, CVE-2017-5843, CVE-2017-5844, CVE-2017-5845,
CVE-2017-5846.
+ Bugs fixed: bgo#776125, bgo#775538, bgo#775661, bgo#775714,
bgo#775728, bgo#775921, bgo#776039, bgo#776401, bgo#777263.
* Sat Dec 03 2016 zaitor@opensuse.org
- Update to version 1.10.2:
+ Minor bugfixes.
+ Updated translations.