Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package gstreamer-plugins-libav for openSUSE:Factory checked in at 2021-04-10 15:26:35 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/gstreamer-plugins-libav (Old) and /work/SRC/openSUSE:Factory/.gstreamer-plugins-libav.new.2401 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "gstreamer-plugins-libav" Sat Apr 10 15:26:35 2021 rev:25 rq:883606 version:1.18.4 Changes: -------- --- /work/SRC/openSUSE:Factory/gstreamer-plugins-libav/gstreamer-plugins-libav.changes 2021-01-20 18:24:42.403365627 +0100 +++ /work/SRC/openSUSE:Factory/.gstreamer-plugins-libav.new.2401/gstreamer-plugins-libav.changes 2021-04-10 15:27:23.738379749 +0200 @@ -1,0 +2,8 @@ +Tue Mar 30 09:07:45 UTC 2021 - Antonio Larrosa <alarr...@suse.com> + +- Update to version 1.18.4: + + 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 + +------------------------------------------------------------------- Old: ---- gst-libav-1.18.3.tar.xz New: ---- gst-libav-1.18.4.tar.xz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ gstreamer-plugins-libav.spec ++++++ --- /var/tmp/diff_new_pack.6Eeklc/_old 2021-04-10 15:27:24.258380361 +0200 +++ /var/tmp/diff_new_pack.6Eeklc/_new 2021-04-10 15:27:24.262380365 +0200 @@ -19,7 +19,7 @@ %define gst_branch 1.0 Name: gstreamer-plugins-libav -Version: 1.18.3 +Version: 1.18.4 Release: 0 Summary: A ffmpeg/libav plugin for GStreamer License: GPL-2.0-or-later ++++++ gst-libav-1.18.3.tar.xz -> gst-libav-1.18.4.tar.xz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gst-libav-1.18.3/ChangeLog new/gst-libav-1.18.4/ChangeLog --- old/gst-libav-1.18.3/ChangeLog 2021-01-13 22:11:50.250149300 +0100 +++ new/gst-libav-1.18.4/ChangeLog 2021-03-15 18:49:44.589546200 +0100 @@ -1,3 +1,63 @@ +=== release 1.18.4 === + +2021-03-15 17:49:43 +0000 Tim-Philipp M??ller <t...@centricular.com> + + * ChangeLog: + * NEWS: + * RELEASE: + * gst-libav.doap: + * meson.build: + Release 1.18.4 + +2021-03-03 10:51:04 +0200 Sebastian Dr??ge <sebast...@centricular.com> + + * ext/libav/gstavcodecmap.c: + avcodecmap: Don't try converting channel layouts with more than 64 channels + We only support up to 64 channels in GStreamer with a specific layout so + it's safe to assume a NONE layout in this case. + Also the arrays of channel positions are allocated everywhere with 64 + elements so don't try setting more than 64 to NONE as that will cause + stack corruptions and similar memory safety issues. + Thanks to Natalie Silvanovich for reporting this issue. + Fixes https://gitlab.freedesktop.org/gstreamer/gst-libav/-/issues/92 + Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-libav/-/merge_requests/121> + +2020-12-02 15:43:15 +1100 Matthew Waters <matt...@centricular.com> + + * ext/libav/gstavviddec.c: + avviddec: take the maximum of the height/coded_height + Otherwise, some h.264 streams (particularly with cropping information) + may cause memory corruption after a renegotiation to a smaller size when + decoded and then ffmpeg writes past the end of the buffer. + Fixes: https://gitlab.freedesktop.org/gstreamer/gst-libav/-/issues/80 + Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-libav/-/merge_requests/118> + +2021-01-28 06:11:14 +0000 Matthew Waters <matt...@centricular.com> + + * ext/libav/gstavviddec.c: + viddec: don't configure and incorrect buffer pool when receiving a gap event + Scenario is this: + 1. libav receives enough data to want a buffer with get_buffer2() + which wants a buffer pool with a certain format, say Y42B but does + not negotiate and therefore GstVideoDecoder does not have any output + state configured + 2. A gap event is received which GstVideoDecoder wants to forward. It + needs caps to forward the gap event so attempts to negotiate with some + default information which chooses e.g. I420 and overwrites the + previously configured bufferpool decided on by get_buffer2() + 3. There is a mismatch between what ensure_internal_pool() check for + consistency and what decide_allocation() sets when overriding the + internal pool with the downstream pool. + 4. FFMpeg then requests a Y42B buffer from an I420 pool and predictably + crashes writing past the contents of the buffer + This is fixed by keeping track of the internal pool states correctly. + Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-libav/-/merge_requests/117> + +2021-01-14 02:17:38 +0000 Tim-Philipp M??ller <t...@centricular.com> + + * meson.build: + Back to development + === release 1.18.3 === 2021-01-13 21:11:49 +0000 Tim-Philipp M??ller <t...@centricular.com> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gst-libav-1.18.3/NEWS new/gst-libav-1.18.4/NEWS --- old/gst-libav-1.18.3/NEWS 2021-01-13 22:11:50.250149300 +0100 +++ new/gst-libav-1.18.4/NEWS 2021-03-15 18:49:44.593546200 +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' old/gst-libav-1.18.3/RELEASE new/gst-libav-1.18.4/RELEASE --- old/gst-libav-1.18.3/RELEASE 2021-01-13 22:11:50.250149300 +0100 +++ new/gst-libav-1.18.4/RELEASE 2021-03-15 18:49:44.593546200 +0100 @@ -1,4 +1,4 @@ -This is GStreamer gst-libav 1.18.3. +This is GStreamer gst-libav 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' old/gst-libav-1.18.3/ext/libav/gstavcodecmap.c new/gst-libav-1.18.4/ext/libav/gstavcodecmap.c --- old/gst-libav-1.18.3/ext/libav/gstavcodecmap.c 2021-01-13 22:11:50.278149400 +0100 +++ new/gst-libav-1.18.4/ext/libav/gstavcodecmap.c 2021-03-15 18:49:44.625544300 +0100 @@ -102,7 +102,7 @@ guint nchannels = 0; gboolean none_layout = FALSE; - if (channel_layout == 0) { + if (channel_layout == 0 || channels > 64) { nchannels = channels; none_layout = TRUE; } else { @@ -163,7 +163,7 @@ } else { guint i; - for (i = 0; i < nchannels; i++) + for (i = 0; i < nchannels && i < 64; i++) pos[i] = GST_AUDIO_CHANNEL_POSITION_NONE; } } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gst-libav-1.18.3/ext/libav/gstavviddec.c new/gst-libav-1.18.4/ext/libav/gstavviddec.c --- old/gst-libav-1.18.3/ext/libav/gstavviddec.c 2021-01-13 22:11:50.278149400 +0100 +++ new/gst-libav-1.18.4/ext/libav/gstavviddec.c 2021-03-15 18:49:44.629544300 +0100 @@ -90,6 +90,8 @@ /* some sort of bufferpool handling, but different */ static int gst_ffmpegviddec_get_buffer2 (AVCodecContext * context, AVFrame * picture, int flags); +static gboolean gst_ffmpegviddec_can_direct_render (GstFFMpegVidDec * + ffmpegdec); static GstFlowReturn gst_ffmpegviddec_finish (GstVideoDecoder * decoder); static GstFlowReturn gst_ffmpegviddec_drain (GstVideoDecoder * decoder); @@ -663,7 +665,7 @@ gsize max_align; width = GST_VIDEO_INFO_WIDTH (info); - height = GST_VIDEO_INFO_HEIGHT (info); + height = MAX (GST_VIDEO_INFO_HEIGHT (info), ffmpegdec->context->coded_height); /* let ffmpeg find the alignment and padding */ avcodec_align_dimensions2 (ffmpegdec->context, &width, &height, @@ -718,7 +720,10 @@ GstStructure *config; guint i; + format = gst_ffmpeg_pixfmt_to_videoformat (picture->format); + if (ffmpegdec->internal_pool != NULL && + GST_VIDEO_INFO_FORMAT (&ffmpegdec->pool_info) == format && ffmpegdec->pool_width == picture->width && ffmpegdec->pool_height == picture->height && ffmpegdec->pool_format == picture->format) @@ -727,6 +732,11 @@ GST_DEBUG_OBJECT (ffmpegdec, "Updating internal pool (%i, %i)", picture->width, picture->height); + /* if we are negotiating from get_buffer, then renegotiate later in order + * to potentially use a downstream pool */ + if (gst_ffmpegviddec_can_direct_render (ffmpegdec)) + gst_pad_mark_reconfigure (GST_VIDEO_DECODER_SRC_PAD (ffmpegdec)); + format = gst_ffmpeg_pixfmt_to_videoformat (picture->format); gst_video_info_set_format (&info, format, picture->width, picture->height); @@ -2128,6 +2138,8 @@ if (ffmpegdec->internal_pool) gst_object_unref (ffmpegdec->internal_pool); ffmpegdec->internal_pool = gst_object_ref (pool); + ffmpegdec->pool_width = GST_VIDEO_INFO_WIDTH (&state->info); + ffmpegdec->pool_height = GST_VIDEO_INFO_HEIGHT (&state->info); ffmpegdec->pool_info = state->info; gst_structure_free (config); goto done; @@ -2137,6 +2149,8 @@ } if (have_videometa && ffmpegdec->internal_pool + && gst_ffmpeg_pixfmt_to_videoformat (ffmpegdec->pool_format) == + GST_VIDEO_INFO_FORMAT (&state->info) && ffmpegdec->pool_width == state->info.width && ffmpegdec->pool_height == state->info.height) { update_pool = TRUE; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gst-libav-1.18.3/gst-libav.doap new/gst-libav-1.18.4/gst-libav.doap --- old/gst-libav-1.18.3/gst-libav.doap 2021-01-13 22:11:50.278149400 +0100 +++ new/gst-libav-1.18.4/gst-libav.doap 2021-03-15 18:49:44.629544300 +0100 @@ -34,6 +34,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/gst-libav/gst-libav-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' old/gst-libav-1.18.3/meson.build new/gst-libav-1.18.4/meson.build --- old/gst-libav-1.18.3/meson.build 2021-01-13 22:11:50.278149400 +0100 +++ new/gst-libav-1.18.4/meson.build 2021-03-15 18:49:44.629544300 +0100 @@ -1,5 +1,5 @@ project('gst-libav', 'c', 'cpp', - version : '1.18.3', + version : '1.18.4', meson_version : '>= 0.48.0', default_options : [ 'warning_level=1', 'buildtype=debugoptimized' ])