Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package gstreamer for openSUSE:Factory 
checked in at 2021-04-10 15:26:25
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/gstreamer (Old)
 and      /work/SRC/openSUSE:Factory/.gstreamer.new.2401 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "gstreamer"

Sat Apr 10 15:26:25 2021 rev:73 rq:880361 version:1.18.4

Changes:
--------
--- /work/SRC/openSUSE:Factory/gstreamer/gstreamer.changes      2021-01-20 
18:24:46.899368953 +0100
+++ /work/SRC/openSUSE:Factory/.gstreamer.new.2401/gstreamer.changes    
2021-04-10 15:27:02.854355182 +0200
@@ -1,0 +2,74 @@
+Fri Mar 19 20:51:25 UTC 2021 - Dirk M??ller <dmuel...@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.
+
+-------------------------------------------------------------------

Old:
----
  _service
  gstreamer-1.18.3.tar.xz

New:
----
  gstreamer-1.18.4.tar.xz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ gstreamer.spec ++++++
--- /var/tmp/diff_new_pack.n2yRHV/_old  2021-04-10 15:27:03.766356255 +0200
+++ /var/tmp/diff_new_pack.n2yRHV/_new  2021-04-10 15:27:03.770356260 +0200
@@ -19,15 +19,13 @@
 %define gst_branch 1.0
 
 Name:           gstreamer
-Version:        1.18.3
+Version:        1.18.4
 Release:        0
 Summary:        Streaming-Media Framework Runtime
 License:        LGPL-2.1-or-later
 Group:          Productivity/Multimedia/Other
 URL:            https://gstreamer.freedesktop.org
-# Disable tarball source url, use _service
-#Source0:        %%{url}/src/gstreamer/%%{name}-%%{version}.tar.xz
-Source0:        %{name}-%{version}.tar.xz
+Source0:        
https://gstreamer.freedesktop.org/src/gstreamer/gstreamer-%{version}.tar.xz
 Source1:        gstreamer.macros
 Source2:        gstreamer.prov
 Source99:       baselibs.conf

++++++ gstreamer-1.18.3.tar.xz -> gstreamer-1.18.4.tar.xz ++++++
++++ 2204 lines of diff (skipped)
++++    retrying with extended exclude list
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/gstreamer-1.18.3/.gitlab-ci.yml new/gstreamer-1.18.4/.gitlab-ci.yml
--- old/gstreamer-1.18.3/.gitlab-ci.yml 2021-01-13 22:05:14.000000000 +0100
+++ new/gstreamer-1.18.4/.gitlab-ci.yml 1970-01-01 01:00:00.000000000 +0100
@@ -1 +0,0 @@
-include: 
"https://gitlab.freedesktop.org/gstreamer/gst-ci/raw/1.18/gitlab/ci_template.yml";
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/gstreamer-1.18.3/ChangeLog new/gstreamer-1.18.4/ChangeLog
--- old/gstreamer-1.18.3/ChangeLog      2021-01-13 22:05:14.000000000 +0100
+++ new/gstreamer-1.18.4/ChangeLog      2021-03-15 18:47:26.353436200 +0100
@@ -1,3 +1,65 @@
+=== release 1.18.4 ===
+
+2021-03-15 17:47:24 +0000  Tim-Philipp M??ller <t...@centricular.com>
+
+       * ChangeLog:
+       * NEWS:
+       * RELEASE:
+       * gstreamer.doap:
+       * meson.build:
+         Release 1.18.4
+
+2021-03-11 15:41:16 +0100  Guillaume Desmottes 
<guillaume.desmot...@collabora.com>
+
+       * gst/gstclock.h:
+         clock: define AUTO_CLEANUP_FREE_FUNC for GstClockID
+         GstClockID is secretly a gpointer so we can't use g_autoptr(),
+         instead user can do:
+         g_auto (GstClockID) clock_id = 0;
+         Part-of: 
<https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/770>
+
+2021-01-31 12:12:09 +0200  Sebastian Dr??ge <sebast...@centricular.com>
+
+       * gst/gstinfo.c:
+         info: Don't leak log function user_data if the debug system is 
compiled out
+         Part-of: 
<https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/743>
+
+2021-01-15 01:16:34 +0900  Seungha Yang <seun...@centricular.com>
+
+       * gst/gsttask.c:
+         task: Use SetThreadDescription Win32 API for setting thread name
+         Since Windows 10 1607, we can make use of SetThreadDescription() API
+         for setting thread name. Unlike previously used exception based
+         method, this API will preserve configured thread name on dump file.
+         Part-of: 
<https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/741>
+
+2021-01-14 10:18:51 +0100  Marijn Suijten <marijn...@gmail.com>
+
+       * gst/gstmemory.c:
+         gstmemory: Mark memory_map @info as `caller-allocates`
+         Part-of: 
<https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/740>
+
+2021-01-14 10:20:41 +0100  Marijn Suijten <marijn...@gmail.com>
+
+       * gst/gstbuffer.c:
+         gstbuffer: Mark buffer_map* @info as `caller-allocates`
+         Part-of: 
<https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/740>
+
+2021-01-07 09:53:41 +0100  Marijn Suijten <marijn...@gmail.com>
+
+       * libs/gst/base/gstaggregator.c:
+       * libs/gst/base/gstbasesrc.c:
+       * libs/gst/base/gstbasetransform.c:
+         gst,base: Take GstAllocationParams parameter by const ptr
+         This parameter is only informational and should not be modified. 
Enforce
+         this at compile-time and to get the right signature in G-IR.
+         Part-of: 
<https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/740>
+
+2021-01-14 02:16:45 +0000  Tim-Philipp M??ller <t...@centricular.com>
+
+       * meson.build:
+         Back to development
+
 === release 1.18.3 ===
 
 2021-01-13 21:05:12 +0000  Tim-Philipp M??ller <t...@centricular.com>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/gstreamer-1.18.3/NEWS new/gstreamer-1.18.4/NEWS
--- old/gstreamer-1.18.3/NEWS   2021-01-13 22:05:14.000000000 +0100
+++ new/gstreamer-1.18.4/NEWS   2021-03-15 18:47:26.357436000 +0100
@@ -2,13 +2,13 @@
 
 GStreamer 1.18.0 was originally released on 8 September 2020.
 
-The latest bug-fix release in the 1.18 series is 1.18.3 and was released
-on 13 January 2021.
+The latest bug-fix release in the 1.18 series is 1.18.4 and was released
+on 15 March 2021.
 
 See https://gstreamer.freedesktop.org/releases/1.18/ for the latest
 version of this document.
 
-Last updated: Wednesday 13 January 2021, 20:00 UTC (log)
+Last updated: Monday 15 March 2021, 13:00 UTC (log)
 
 Introduction
 
@@ -2717,6 +2717,168 @@
 -   List of Merge Requests applied in 1.18.3
 -   List of Issues fixed in 1.18.3
 
+1.18.4
+
+The fourth 1.18 bug-fix release (1.18.4) was released on 15 March 2021.
+
+This release only contains bugfixes and security fixes and it should be
+safe to update from 1.18.x.
+
+Highlighted bugfixes in 1.18.4
+
+-   important security fixes for ID3 tag reading, matroska and realmedia
+    parsing, and gst-libav audio decoding
+-   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
+
+gstreamer
+
+-   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
+
+gst-plugins-base
+
+-   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
+
+gst-plugins-good
+
+-   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
+
+gst-plugins-bad
+
+-   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.
+
+gst-plugins-ugly
+
+-   rmdemux: Make sure we have enough data available when parsing
+    audio/video packets
+
+gst-libav
+
+-   avviddec: take the maximum of the height/coded_height
+-   viddec: don???t configure an incorrect buffer pool when receiving a
+    gap event
+-   audiodec: fix stack overflow in gst_ffmpeg_channel_layout_to_gst()
+
+gst-rtsp-server
+
+-   rtspclientsink: fix deadlock on shutdown if no data has been
+    received yet
+-   rtspclientsink: fix leaks in unit tests
+-   rtsp-stream: avoid deadlock in send_func
+-   rtsp-client: cleanup transports during TEARDOWN
+
+gstreamer-vaapi
+
+-   h264 encoder: append encoder exposure to aud
+-   postproc: Fix a problem of propose_allocation when passthrough
+-   glx: Iterate over FBConfig and select 8 bit color size
+
+gstreamer-sharp
+
+-   no changes
+
+gst-omx
+
+-   no changes
+
+gst-python
+
+-   no changes
+
+gst-editing-services
+
+-   group: Use proper group constructor
+
+gst-integration-testsuites
+
+-   no changes
+
+gst-build
+
+-   no changes
+
+Cerbero build tool and packaging changes in 1.18.4
+
+-   macOS: more BigSur fixes
+-   glib: Backport patch to set thread names on Windows 10
+
+Contributors to 1.18.4
+
+Alicia Boya Garc??a, Ashley Brighthope, Bing Song, Branko Subasic, Edward
+Hervey, Guillaume Desmottes, Haihua Hu, He Junyan, Hou Qi, Jan Alexander
+Steffens (heftig), Jeongki Kim, Jordan Petridis, Knobe, Kristofer
+Bj??rkstr??m, Marijn Suijten, Matthew Waters, Paul Goulpi??, Philipp Zabel,
+Rafa?? Dzi??giel, Sebastian Dr??ge, Seungha Yang, Staz M, St??phane Cerveau,
+Thibault Saunier, Tim-Philipp M??ller, V??ctor Manuel J??quez Leal, Vivia
+Nikolaidou, Vladimir Menshakov,
+
+??? and many others who have contributed bug reports, translations, sent
+suggestions or helped testing. Thank you all!
+
+List of merge requests and issues fixed in 1.18.4
+
+-   List of Merge Requests applied in 1.18.4
+-   List of Issues fixed in 1.18.4
+
 Schedule for 1.20
 
 Our next major feature release will be 1.20, and 1.19 will be the
@@ -2724,9 +2886,9 @@
 development of 1.19/1.20 will happen in the git master branch.
 
 The plan for the 1.20 development cycle is yet to be confirmed, but it
-is now expected that feature freeze will take place some time in
-January/February 2021, with the first 1.20 stable release hopefully
-around February/March 2021.
+is now expected that feature freeze will take place some time in April
+2021, with the first 1.20 stable release hopefully around April/May
+2021.
 
 1.20 will be backwards-compatible to the stable 1.18, 1.16, 1.14, 1.12,
 1.10, 1.8, 1.6, 1.4, 1.2 and 1.0 release series.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/gstreamer-1.18.3/RELEASE new/gstreamer-1.18.4/RELEASE
--- old/gstreamer-1.18.3/RELEASE        2021-01-13 22:05:14.000000000 +0100
+++ new/gstreamer-1.18.4/RELEASE        2021-03-15 18:47:26.357436000 +0100
@@ -1,4 +1,4 @@
-This is GStreamer core 1.18.3.
+This is GStreamer core 1.18.4.
 
 The GStreamer team is thrilled to announce a new major feature release
 of your favourite cross-platform multimedia framework!
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/gstreamer-1.18.3/gst/gstbuffer.c new/gstreamer-1.18.4/gst/gstbuffer.c
--- old/gstreamer-1.18.3/gst/gstbuffer.c        2021-01-13 22:05:14.000000000 
+0100
+++ new/gstreamer-1.18.4/gst/gstbuffer.c        2021-03-15 18:47:26.373435000 
+0100
@@ -1757,7 +1757,7 @@
 /**
  * gst_buffer_map:
  * @buffer: a #GstBuffer.
- * @info: (out): info about the mapping
+ * @info: (out caller-allocates): info about the mapping
  * @flags: flags for the mapping
  *
  * This function fills @info with the #GstMapInfo of all merged memory
@@ -1787,7 +1787,7 @@
  * @buffer: a #GstBuffer.
  * @idx: an index
  * @length: a length
- * @info: (out): info about the mapping
+ * @info: (out caller-allocates): info about the mapping
  * @flags: flags for the mapping
  *
  * This function fills @info with the #GstMapInfo of @length merged memory 
blocks
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/gstreamer-1.18.3/gst/gstclock.h new/gstreamer-1.18.4/gst/gstclock.h
--- old/gstreamer-1.18.3/gst/gstclock.h 2021-01-13 22:05:14.000000000 +0100
+++ new/gstreamer-1.18.4/gst/gstclock.h 2021-03-15 18:47:26.377434700 +0100
@@ -642,6 +642,7 @@
                                                          GstClockTime 
interval);
 
 G_DEFINE_AUTOPTR_CLEANUP_FUNC(GstClock, gst_object_unref)
+G_DEFINE_AUTO_CLEANUP_FREE_FUNC(GstClockID, gst_clock_id_unref, 0)
 
 G_END_DECLS
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/gstreamer-1.18.3/gst/gstinfo.c new/gstreamer-1.18.4/gst/gstinfo.c
--- old/gstreamer-1.18.3/gst/gstinfo.c  2021-01-13 22:05:14.000000000 +0100
+++ new/gstreamer-1.18.4/gst/gstinfo.c  2021-03-15 18:47:26.381434400 +0100
@@ -2359,6 +2359,8 @@
 gst_debug_add_log_function (GstLogFunction func, gpointer user_data,
     GDestroyNotify notify)
 {
+  if (notify)
+    notify (user_data);
 }
 
 guint
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/gstreamer-1.18.3/gst/gstmemory.c new/gstreamer-1.18.4/gst/gstmemory.c
--- old/gstreamer-1.18.3/gst/gstmemory.c        2021-01-13 22:05:14.000000000 
+0100
+++ new/gstreamer-1.18.4/gst/gstmemory.c        2021-03-15 18:47:26.381434400 
+0100
@@ -220,7 +220,7 @@
 /**
  * gst_memory_make_mapped:
  * @mem: (transfer full): a #GstMemory
- * @info: (out): pointer for info
+ * @info: (out caller-allocates): pointer for info
  * @flags: mapping flags
  *
  * Create a #GstMemory object that is mapped with @flags. If @mem is mappable
@@ -270,7 +270,7 @@
 /**
  * gst_memory_map:
  * @mem: a #GstMemory
- * @info: (out): pointer for info
+ * @info: (out caller-allocates): pointer for info
  * @flags: mapping flags
  *
  * Fill @info with the pointer and sizes of the memory in @mem that can be
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/gstreamer-1.18.3/gst/gsttask.c new/gstreamer-1.18.4/gst/gsttask.c
--- old/gstreamer-1.18.3/gst/gsttask.c  2021-01-13 22:05:14.000000000 +0100
+++ new/gstreamer-1.18.4/gst/gsttask.c  2021-03-15 18:47:26.389433900 +0100
@@ -112,6 +112,11 @@
 #define WIN32_LEAN_AND_MEAN
 #include <windows.h>
 
+typedef HRESULT (WINAPI * pSetThreadDescription) (HANDLE hThread,
+    PCWSTR lpThreadDescription);
+static pSetThreadDescription SetThreadDescriptionFunc = NULL;
+HMODULE kernel32_module = NULL;
+
 struct _THREADNAME_INFO
 {
   DWORD dwType;                 // must be 0x1000
@@ -121,7 +126,7 @@
 };
 typedef struct _THREADNAME_INFO THREADNAME_INFO;
 
-void
+static void
 SetThreadName (DWORD dwThreadID, LPCSTR szThreadName)
 {
   THREADNAME_INFO info;
@@ -137,6 +142,57 @@
   __except (EXCEPTION_CONTINUE_EXECUTION) {
   }
 }
+
+static gboolean
+gst_task_win32_load_library (void)
+{
+  /* FIXME: Add support for UWP app */
+#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
+  static volatile gsize _init_once = 0;
+  if (g_once_init_enter (&_init_once)) {
+    kernel32_module = LoadLibraryW (L"kernel32.dll");
+    if (kernel32_module) {
+      SetThreadDescriptionFunc =
+          (pSetThreadDescription) GetProcAddress (kernel32_module,
+          "SetThreadDescription");
+      if (!SetThreadDescriptionFunc)
+        FreeLibrary (kernel32_module);
+    }
+    g_once_init_leave (&_init_once, 1);
+  }
+#endif
+
+  return ! !SetThreadDescriptionFunc;
+}
+
+static gboolean
+gst_task_win32_set_thread_desc (const gchar * name)
+{
+  HRESULT hr;
+  wchar_t *namew;
+
+  if (!gst_task_win32_load_library () || !name)
+    return FALSE;
+
+  namew = g_utf8_to_utf16 (name, -1, NULL, NULL, NULL);
+  if (!namew)
+    return FALSE;
+
+  hr = SetThreadDescriptionFunc (GetCurrentThread (), namew);
+
+  g_free (namew);
+  return SUCCEEDED (hr);
+}
+
+static void
+gst_task_win32_set_thread_name (const gchar * name)
+{
+  /* Prefer SetThreadDescription over exception based way if available,
+   * since thread description set by SetThreadDescription will be preserved
+   * in dump file */
+  if (!gst_task_win32_set_thread_desc (name))
+    SetThreadName ((DWORD) - 1, name);
+}
 #endif
 
 static void gst_task_finalize (GObject * object);
@@ -265,7 +321,7 @@
 
   /* set the thread name to something easily identifiable */
   GST_DEBUG_OBJECT (task, "Setting thread name to '%s'", name);
-  SetThreadName (-1, name);
+  gst_task_win32_set_thread_name (name);
 #endif
 }
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/gstreamer-1.18.3/gstreamer.doap new/gstreamer-1.18.4/gstreamer.doap
--- old/gstreamer-1.18.3/gstreamer.doap 2021-01-13 22:05:14.000000000 +0100
+++ new/gstreamer-1.18.4/gstreamer.doap 2021-03-15 18:47:26.397433500 +0100
@@ -40,6 +40,16 @@
 
  <release>
   <Version>
+   <revision>1.18.4</revision>
+   <branch>1.18</branch>
+   <name></name>
+   <created>2021-03-15</created>
+   <file-release 
rdf:resource="https://gstreamer.freedesktop.org/src/gstreamer/gstreamer-1.18.4.tar.xz";
 />
+  </Version>
+ </release>
+
+ <release>
+  <Version>
    <revision>1.18.3</revision>
    <branch>1.18</branch>
    <name></name>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/gstreamer-1.18.3/libs/gst/base/gstaggregator.c 
new/gstreamer-1.18.4/libs/gst/base/gstaggregator.c
--- old/gstreamer-1.18.3/libs/gst/base/gstaggregator.c  2021-01-13 
22:05:14.000000000 +0100
+++ new/gstreamer-1.18.4/libs/gst/base/gstaggregator.c  2021-03-15 
18:47:26.397433500 +0100
@@ -1066,7 +1066,7 @@
 static gboolean
 gst_aggregator_set_allocation (GstAggregator * self,
     GstBufferPool * pool, GstAllocator * allocator,
-    GstAllocationParams * params, GstQuery * query)
+    const GstAllocationParams * params, GstQuery * query)
 {
   GstAllocator *oldalloc;
   GstBufferPool *oldpool;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/gstreamer-1.18.3/libs/gst/base/gstbasesrc.c 
new/gstreamer-1.18.4/libs/gst/base/gstbasesrc.c
--- old/gstreamer-1.18.3/libs/gst/base/gstbasesrc.c     2021-01-13 
22:05:14.000000000 +0100
+++ new/gstreamer-1.18.4/libs/gst/base/gstbasesrc.c     2021-03-15 
18:47:26.401433200 +0100
@@ -3133,7 +3133,7 @@
 
 static gboolean
 gst_base_src_set_allocation (GstBaseSrc * basesrc, GstBufferPool * pool,
-    GstAllocator * allocator, GstAllocationParams * params)
+    GstAllocator * allocator, const GstAllocationParams * params)
 {
   GstAllocator *oldalloc;
   GstBufferPool *oldpool;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/gstreamer-1.18.3/libs/gst/base/gstbasetransform.c 
new/gstreamer-1.18.4/libs/gst/base/gstbasetransform.c
--- old/gstreamer-1.18.3/libs/gst/base/gstbasetransform.c       2021-01-13 
22:05:14.000000000 +0100
+++ new/gstreamer-1.18.4/libs/gst/base/gstbasetransform.c       2021-03-15 
18:47:26.401433200 +0100
@@ -746,7 +746,7 @@
 static gboolean
 gst_base_transform_set_allocation (GstBaseTransform * trans,
     GstBufferPool * pool, GstAllocator * allocator,
-    GstAllocationParams * params, GstQuery * query)
+    const GstAllocationParams * params, GstQuery * query)
 {
   GstAllocator *oldalloc;
   GstBufferPool *oldpool;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/gstreamer-1.18.3/meson.build new/gstreamer-1.18.4/meson.build
--- old/gstreamer-1.18.3/meson.build    2021-01-13 22:05:14.000000000 +0100
+++ new/gstreamer-1.18.4/meson.build    2021-03-15 18:47:26.413432400 +0100
@@ -1,5 +1,5 @@
 project('gstreamer', 'c',
-  version : '1.18.3',
+  version : '1.18.4',
   meson_version : '>= 0.48',
   default_options : [ 'warning_level=1',
                       'buildtype=debugoptimized' ])

Reply via email to