Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package gstreamer-plugins-ugly for
openSUSE:Factory checked in at 2021-09-20 23:31:59
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/gstreamer-plugins-ugly (Old)
and /work/SRC/openSUSE:Factory/.gstreamer-plugins-ugly.new.1899 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "gstreamer-plugins-ugly"
Mon Sep 20 23:31:59 2021 rev:66 rq:919126 version:1.18.5
Changes:
--------
---
/work/SRC/openSUSE:Factory/gstreamer-plugins-ugly/gstreamer-plugins-ugly.changes
2021-04-10 15:27:22.822378672 +0200
+++
/work/SRC/openSUSE:Factory/.gstreamer-plugins-ugly.new.1899/gstreamer-plugins-ugly.changes
2021-09-20 23:32:19.491112178 +0200
@@ -1,0 +2,8 @@
+Wed Sep 15 09:46:40 UTC 2021 - Bj??rn Lie <[email protected]>
+
+- Update to version 1.18.5:
+ + asfdemux/realmedia: Drop duplicate seek events
+ + Don't use volatile to mean atomic (fixes compiler warnings with
+ gcc 11)
+
+-------------------------------------------------------------------
Old:
----
gst-plugins-ugly-1.18.4.tar.xz
New:
----
gst-plugins-ugly-1.18.5.tar.xz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ gstreamer-plugins-ugly.spec ++++++
--- /var/tmp/diff_new_pack.D4oy7A/_old 2021-09-20 23:32:20.195113047 +0200
+++ /var/tmp/diff_new_pack.D4oy7A/_new 2021-09-20 23:32:20.195113047 +0200
@@ -26,7 +26,7 @@
%define gstreamer_req_version %(echo %{version} | sed -e "s/+.*//")
Name: gstreamer-plugins-ugly
-Version: 1.18.4
+Version: 1.18.5
Release: 0
Summary: GStreamer Streaming-Media Framework Plug-Ins
License: LGPL-2.1-or-later
++++++ _service ++++++
--- /var/tmp/diff_new_pack.D4oy7A/_old 2021-09-20 23:32:20.219113077 +0200
+++ /var/tmp/diff_new_pack.D4oy7A/_new 2021-09-20 23:32:20.223113082 +0200
@@ -9,7 +9,7 @@
<!--
<param name="changesgenerate">enable</param>
-->
- <param name="revision">1.18.4</param>
+ <param name="revision">1.18.5</param>
<param name="scm">git</param>
</service>
<service name="recompress" mode="disabled">
++++++ gst-plugins-ugly-1.18.4.tar.xz -> gst-plugins-ugly-1.18.5.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/gst-plugins-ugly-1.18.4/.gitignore
new/gst-plugins-ugly-1.18.5/.gitignore
--- old/gst-plugins-ugly-1.18.4/.gitignore 1970-01-01 01:00:00.000000000
+0100
+++ new/gst-plugins-ugly-1.18.5/.gitignore 2021-09-08 21:03:08.000000000
+0200
@@ -0,0 +1,15 @@
+*~
+*.bak
+
+Build
+*.user
+*.suo
+*.ipch
+*.sdf
+*.opensdf
+*.DS_Store
+
+# Meson
+/build
+/_build
+/subprojects
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/gst-plugins-ugly-1.18.4/ChangeLog
new/gst-plugins-ugly-1.18.5/ChangeLog
--- old/gst-plugins-ugly-1.18.4/ChangeLog 2021-03-15 18:48:48.000000000
+0100
+++ new/gst-plugins-ugly-1.18.5/ChangeLog 2021-09-08 21:03:08.000000000
+0200
@@ -1,3 +1,44 @@
+=== release 1.18.5 ===
+
+2021-09-08 20:03:08 +0100 Tim-Philipp M??ller <[email protected]>
+
+ * ChangeLog:
+ * NEWS:
+ * RELEASE:
+ * gst-plugins-ugly.doap:
+ * meson.build:
+ Release 1.18.5
+
+2021-04-20 18:48:38 -0400 Doug Nazar <[email protected]>
+
+ * gst/realmedia/rmdemux.c:
+ * gst/realmedia/rmdemux.h:
+ realmedia: Drop duplicate seek events.
+ Also use seek seqnum for flush & segment events/messages.
+ Part-of:
<https://gitlab.freedesktop.org/gstreamer/gst-plugins-ugly/-/merge_requests/82>
+
+2021-04-20 18:47:31 -0400 Doug Nazar <[email protected]>
+
+ * gst/asfdemux/gstasfdemux.c:
+ asfdemux: Drop duplicate seek events.
+ Part-of:
<https://gitlab.freedesktop.org/gstreamer/gst-plugins-ugly/-/merge_requests/82>
+
+2021-03-19 15:16:06 +1100 Matthew Waters <[email protected]>
+
+ * ext/x264/gstencoderbitrateprofilemanager.c:
+ gst: don't use volatile to mean atomic
+ volatile is not sufficient to provide atomic guarantees and real
atomics
+ should be used instead. GCC 11 has started warning about using
volatile
+ with atomic operations.
+ https://gitlab.gnome.org/GNOME/glib/-/merge_requests/1719
+ Discovered in
https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/issues/868
+ Part-of:
<https://gitlab.freedesktop.org/gstreamer/gst-plugins-ugly/-/merge_requests/80>
+
+2021-03-15 19:49:08 +0000 Tim-Philipp M??ller <[email protected]>
+
+ * meson.build:
+ Back to development
+
=== release 1.18.4 ===
2021-03-15 17:48:47 +0000 Tim-Philipp M??ller <[email protected]>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/gst-plugins-ugly-1.18.4/NEWS
new/gst-plugins-ugly-1.18.5/NEWS
--- old/gst-plugins-ugly-1.18.4/NEWS 2021-03-15 18:48:48.000000000 +0100
+++ new/gst-plugins-ugly-1.18.5/NEWS 2021-09-08 21:03:08.000000000 +0200
@@ -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.4 and was released
-on 15 March 2021.
+The latest bug-fix release in the 1.18 series is 1.18.5 and was released
+on 8 September 2021.
See https://gstreamer.freedesktop.org/releases/1.18/ for the latest
version of this document.
-Last updated: Monday 15 March 2021, 13:00 UTC (log)
+Last updated: Wednesday 8 September 2021, 11:00 UTC (log)
Introduction
@@ -2102,7 +2102,10 @@
Known Issues
-- None in particular
+- GStreamer 1.18 versions <= 1.18.4 would fail to build on Linux with
+ Meson 0.58 due to an issue with the include directories. Either
+ apply the patch or build with an older Meson version (<= 0.57) until
+ there is a GStreamer 1.18.5 release that includes the fix.
Contributors
@@ -2879,6 +2882,307 @@
- List of Merge Requests applied in 1.18.4
- List of Issues fixed in 1.18.4
+1.18.5
+
+The fifth 1.18 bug-fix release (1.18.5) was released on 8 September
+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.5
+
+- basesink: fix reverse frame stepping
+- downloadbuffer/sparsefile: several fixes for win32
+- systemclock: Update monotonic reference time when re-scheduling,
+ fixes high CPU usage with gnome-music when pausing playback
+- audioaggregator: fix glitches when resyncing on discont
+- compositor: Fix NV12 blend operation
+- rtspconnection: Add IPv6 support for tunneled mode
+- avidemux: fix playback of some H.264-in-AVI streams
+- jpegdec: Fix crash when interlaced field height is not DCT block
+ size aligned
+- qmlglsink: Keep old buffers around a bit longer if they were bound
+ by QML
+- qml: qtitem: don???t potentially leak a large number of buffers
+- rtpjpegpay: fix image corruption when compiled with MSVC on Windows
+- rtspsrc: seeking improvements
+- rtpjitterbuffer: Avoid generation of invalid timestamps
+- rtspsrc: Fix behaviour of select-streams, new-manager,
+ request-rtcp-key and before-send signals with GLib >= 2.62
+- multiudpsink: Fix broken SO_SNDBUF get/set on Windows
+- openh264enc: fix broken sps/pps header generation and some minor
+ leaks
+- mpeg2enc: fix interlace-mode detection and unbound memory usage if
+ encoder can???t keep up
+- mfvideosrc: Fix for negative MF stride and for negotiation when
+ interlace-mode is specified
+- tsdemux: fix seek-with-stop regression and decoding errors after
+ seeking with dvdlpcmdec
+- rtsp-server: seek handling improvements
+- gst-libav: fix build (and other issues) with ffmpeg 4.4
+- cerbero: spandsp: Fix build error with Visual Studio 2019
+- win32 packages: Fix hang in GLib when G_SLICE environment variable
+ is set
+
+gstreamer
+
+- aggregator: Release the SRC lock while querying latency
+- aggregator: 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
+- concat: adjust running time offsets on downstream events
+- concat: 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.
+- multiqueue: Ensure peer pad exists when iterating internal links
+- pad: Keep IDLE probe hook alive during immediate callback
+- pad: Ensure last flow return is set on sink pads in push mode
+- pad: Don???t spam the debug log at INFO level when default-chaining a
+ buffer list
+- pad: clear probes holding mutex
+- parse-launch: Fix a critical when using the : operator.
+- parse-launch: 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)
+
+gst-plugins-base
+
+- appsrc: Don???t leak buffer list while wrongly unreffing buffer on
+ EOS/flushing
+- audioaggregator: Don???t overwrite already written samples
+- audioaggregator: Resync on the next buffer when dropping a buffer on
+ discont resyncing
+- audiobasesink: Fix of double lock release
+- audioaggregator: Don???t overwrite already written samples
+- audiobasesrc: Fix divide by zero assertion
+- clockoverlay: Fix broken string formatting by strftime() on Windows
+- compositor: Fix NV12 blend operation
+- giosrc: Don???t leak scheme string in gst_gio_src_query()
+- giobasesink: Handle incomplete writes in gst_gio_base_sink_render()
+- gl/wayland: Use consistent wl_display when creating work queue for
+ proxy wrapper
+- gl: Fix build when Meson >= 0.58.0rc1
+- gl/wayland: provide a dummy global_remove function
+- playbin2: fix base_time selection when flush seeking live (such as
+ with RTSP)
+- rtspconnection: Add IPv6 support for tunneled mode
+- rtspconnection: Consistently translate GIOError to GstRTSPResult
+ (for rtspsrc)
+- rawbaseparse: check destination format correctly
+- uridecodebin: Don???t force floating reference for future reusable
+ decodebin
+- parsebin: Put stream flags in GstStream
+- splitmuxsink: always use factory property when set
+- video-converter: Set up matrix tables only once.
+- videoscale: Performance degradation from 1.16.2 -> 1.18.4
+- videotestsrc: Fix a leak when computing alpha caps
+- audio/video-converter: Plug some minor leaks
+- audio,video-format: Make generate_raw_formats idempotent for
+ assertions
+- Don???t use volatile to mean atomic (fixes compiler warnings with
+ gcc 11)
+- Fix build issue on MinGW64
+
+gst-plugins-good
+
+- avidemux: Also detect 0x000001 as H264 byte-stream start code in
+ codec_data
+- deinterlace: Plug a method subobject leak
+- deinterlace: Drop field-order field if outputting progressive
+- jpegdec: Fix crash when interlaced field height is not DCT block
+ size aligned
+- qmlglsink: Keep old buffers around a bit longer if they were bound
+ by QML
+- qml: qtitem: don???t potentially leak a large number of buffers
+- qtdemux: Force stream-start push when re-using EOS???d streams
+- qtmux: for Apple ProRes, allow overriding pixel bit depth, e.g.??when
+ exporting an opaque image, yet with alpha.
+- qtmux: Make sure to write 64-bit STCO table when needed.
+- rtpjpegpay: fix image corruption when compiled with MSVC on Windows
+- rtpptdemux: Remove pads also in PAUSED->READY
+- rtph265depay: update codec_data in caps regardless of format
+- rtspsrc: Do not overwrite the known duration after a seek
+- rtspsrc: De-dup seek event seqnums to avoid multiple seeks
+- rtspsrc: Fix race saving seek event seqnum
+- rtspsrc: Using multicast UDP has no relation to seekability, also
+ add some logging
+- rtpjitterbuffer: Fix parsing of the mediaclk:direct= field
+- rtpjitterbuffer: Avoid generation of invalid timestamps
+- rtpjitterbuffer: Check srcresult before waiting on the condition
+ variable too
+- rtpjitterbuffer: More logging when calculating rfc7273 timestamps
+- rtspsrc: Fix more signals
+- rtspsrc: Fix accumulation of before-send signal return values
+- souphttpsrc: Always use the content decoder but set
+ `Accept-Encoding:???
+- udpsrc: Plug leaks of saddr in error cases
+- multiudpsink: Fix broken SO_SNDBUF get/set on Windows
+- v4l2object: Add interlace-mode back to caps for camera
+- v4l2object: Use default colorimetry if that in caps is unknown
+- V4l2object: Avoid colorimetry mismatch for streams with invalid
+ colorimetry
+- v4l2object: Add support for hdr10 stream playback
+- wavparse: adtl/note/labl chunk parsing fixes
+- Don???t use volatile to mean atomic (fixes compiler warnings with
+ gcc 11)
+- 1.18.4: build fails with glib 2.67.6 and gcc-11: argument 2 of
+ ???__atomic_load??? must not be a pointer to a ???volatile??? type
+
+gst-plugins-bad
+
+- audiolatency: Use live mode audiotestsrc
+- audiolatency: Handle audio buffers with invalid duration
+- ccconverter: fix framerate caps negotiation from non-cdp to cdp
+- dashdemux: Properly initalize GError, remove duplicate logging call
+- dashdemux: Log protection events on corresponding pad
+- dashdemux: fix dash_mpdparser_check_mpd_client_set_methods unit test
+- h264parse,h265parse: Push parameter set NAL units again per
+ segment-done
+- h265parse: Fix a typo in get_compatible_profile_caps()
+- h265parse: don???t invalidate the last PPS when parsing a new SPS
+- h264parse: improve PPS handling
+- h2645parser: Catch overflows in AVC/HEVC NAL unit length
+ calculations
+- interlace: Don???t set field-order field for progressive caps, fixes
+ negotiation issues
+- interlace: Fix too small buffer size error
+- jpegparse: Don???t generate timestamp for 0/1 framerates
+- opencv: fix build error on macOS
+- openexr: Fix build with OpenEXR 3
+- openh264enc: fix broken sps/pps header generation and some minor
+ leaks
+- mpeg2enc: fix interlace-mode detection on input video
+- mpeg2enc: Only allow 1 pending frame for encoding (fixes unbound
+ memory usage in case encoder can???t keep up with input)
+- mfvideoenc: Don???t pass 0/1 framerate to MFT
+- mfvideosrc: Fix for negative MF stride
+- mfvideosrc: Fix negotiation when interlace-mode is specified
+- mxfvanc: Handle empty ANC essence
+- rtmp2src: workaround a GLib race when destroying a
+ GMainContext/GSource
+- rtpsrc: Plug leak of rtcp_send_addr and fix setting URI back to NULL
+- rtpsink: Return proper pad from _request_new_pad()
+- rist: Plug leak of rtcp_send_addr
+- rtmp2: Use correct size of write macro for param2.
+- rtmp2/connection: Separate inner from outer cancelling
+- tsmux: When selecting random PIDs, name the pads according to those
+ PIDs
+- tsmux: Recheck existing pad PIDs when requesting a new pad with a
+ random pid
+- tsdemux: fix seek with stop regression
+- tsdemux: Clear all streams when rewinding, fixes the case where the
+ demuxer sends out partial invalid data downstream after a seek which
+ causes some decoders (such as dvdlpmdec) to error out
+- v4l2slh264dec: Fix slice header bit size calculation
+- videoparseutils: Fix for wrong CEA708 minimum size check
+- waylandsink: Fix for missing initial configure
+- wpe: Make threaded view singleton creation thread safe
+- x265: Fix a deadlock when failing to create the x265enc
+- Don???t use volatile to mean atomic (fixes compiler warnings with
+ gcc 11)
+
+gst-plugins-ugly
+
+- asfdemux/realmedia: Drop duplicate seek events
+- Don???t use volatile to mean atomic (fixes compiler warnings with
+ gcc 11)
+
+gst-libav
+
+- avmux: Blacklist ttml subtitles (fixes crash with ffmpeg >= 4.4)
+- avmux: fix segfault when a plugin???s long_name is NULL
+- avviddec: Fix size of linesize parameter
+- avviddec: Take into account coded_height for pool
+- avdemux: fix build with FFmpeg 4.4
+
+gst-rtsp-server
+
+- rtsp-media: Ensure the bus watch is removed during unprepare
+- rtsp-media: Add one more case to seek avoidance
+- rtsp-media: Improve skipping trickmode seek
+- Fix a few memory leaks
+
+gstreamer-vaapi
+
+- plugins: Demote rank of vaapipostproc and vaapioverlay to match
+ other filters
+- Don???t use volatile to mean atomic (fixes compiler warnings with
+ gcc 11)
+
+gst-editing-services
+
+- xml-formatter: Fix allocation size of buffer
+- framepositioner: Fix runtime warning
+- Don???t use volatile to mean atomic (fixes compiler warnings with
+ gcc 11)
+
+gst-devtools
+
+- scenario: Fix EOS handling in seek_forward.scenario
+- validate-utils: Only modify structure fields that really need
+ updates
+- Don???t use volatile to mean atomic (fixes compiler warnings with
+ gcc 11)
+
+gst-integration-testsuites
+
+- validate: Update interlace_deinterlace_alternate to remove
+ field-order from expected caps
+
+gst-build
+
+- git-update: Make fetching of external repos non-fatal on the CI
+- gst-env: Windows: Fix looking for cmd_or_ps.ps1 in the wrong
+ directory
+- Pin gst-plugins-rs subproject to 0.7 branch
+
+Cerbero build tool and packaging changes in 1.18.5
+
+- cerbero: Add a dotted progress bar for urllib downloads
+- libunwind: make sure all pkgconfig files get included in the devel
+ package
+- openssl.recipe: Bump to 1.1.1k
+- glib: Fix hang on Windows when G_SLICE env is configured
+- utils: Support latest Debian release names
+- enums: generate fedora version strings automatically
+- Rework cmake build system
+- spandsp: Fix build error with Visual Studio 2019
+
+Contributors to 1.18.5
+
+Alba Mendez, Andoni Morales Alastruey, Antonio Rojas, Bart??omiej
+Kurzeja, Binh Truong, Daniel Knobe, Doug Nazar, Edward Hervey, He
+Junyan, Hou Qi, Jan Alexander Steffens (heftig), Jan Schmidt, Marijn
+Suijten, Mathieu Duponchelle, Matthew Waters, Michael Olbrich, Miguel
+Paris, Nicholas Jackson, Nicolas Dufresne, Nirbheek Chauhan, Olivier
+Cr??te, Per F??rlin, Philippe Normand, Robin Burchell, Ruslan Khamidullin,
+Scott Moreau, Sebastian Dr??ge, Sergei Kovalev, Seungha Yang, St??phane
+Cerveau, Steve McDaniel, Thibault Saunier, Tim-Philipp M??ller, V??ctor
+Manuel J??quez Leal, Xavier Claessens, Youngsoo Lee,
+
+??? 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.5
+
+- List of Merge Requests applied in 1.18.5
+- List of Issues fixed in 1.18.5
+
Schedule for 1.20
Our next major feature release will be 1.20, and 1.19 will be the
@@ -2886,9 +3190,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 April
-2021, with the first 1.20 stable release hopefully around April/May
-2021.
+is now expected that feature freeze will take place some time in
+September/October 2021, with the first 1.20 stable release hopefully
+towards the end of October 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-plugins-ugly-1.18.4/RELEASE
new/gst-plugins-ugly-1.18.5/RELEASE
--- old/gst-plugins-ugly-1.18.4/RELEASE 2021-03-15 18:48:48.000000000 +0100
+++ new/gst-plugins-ugly-1.18.5/RELEASE 2021-09-08 21:03:08.000000000 +0200
@@ -1,4 +1,4 @@
-This is GStreamer gst-plugins-ugly 1.18.4.
+This is GStreamer gst-plugins-ugly 1.18.5.
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-plugins-ugly-1.18.4/ext/x264/gstencoderbitrateprofilemanager.c
new/gst-plugins-ugly-1.18.5/ext/x264/gstencoderbitrateprofilemanager.c
--- old/gst-plugins-ugly-1.18.4/ext/x264/gstencoderbitrateprofilemanager.c
2021-03-15 18:48:48.000000000 +0100
+++ new/gst-plugins-ugly-1.18.5/ext/x264/gstencoderbitrateprofilemanager.c
2021-09-08 21:03:08.000000000 +0200
@@ -205,7 +205,7 @@
{
GstEncoderBitrateProfileManager *self =
g_new0 (GstEncoderBitrateProfileManager, 1);
- static volatile gsize _init = 0;
+ static gsize _init = 0;
if (g_once_init_enter (&_init)) {
GST_DEBUG_CATEGORY_INIT (GST_CAT_DEFAULT, "encoderbitratemanager", 0,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/gst-plugins-ugly-1.18.4/gst/asfdemux/gstasfdemux.c
new/gst-plugins-ugly-1.18.5/gst/asfdemux/gstasfdemux.c
--- old/gst-plugins-ugly-1.18.4/gst/asfdemux/gstasfdemux.c 2021-03-15
18:48:48.000000000 +0100
+++ new/gst-plugins-ugly-1.18.5/gst/asfdemux/gstasfdemux.c 2021-09-08
21:03:08.000000000 +0200
@@ -47,6 +47,9 @@
#include "asfheaders.h"
#include "asfpacket.h"
+GST_DEBUG_CATEGORY (asfdemux_dbg);
+#define GST_CAT_DEFAULT asfdemux_dbg
+
static GstStaticPadTemplate gst_asf_demux_sink_template =
GST_STATIC_PAD_TEMPLATE ("sink",
GST_PAD_SINK,
@@ -77,8 +80,6 @@
(flow == ASF_FLOW_NEED_MORE_DATA) ? \
"need-more-data" : gst_flow_get_name (flow)
-GST_DEBUG_CATEGORY (asfdemux_dbg);
-
static void gst_asf_demux_finalize (GObject * object);
static GstStateChangeReturn gst_asf_demux_change_state (GstElement * element,
GstStateChange transition);
@@ -850,12 +851,21 @@
{
GstASFDemux *demux;
gboolean ret;
+ guint32 seqnum;
demux = GST_ASF_DEMUX (parent);
switch (GST_EVENT_TYPE (event)) {
case GST_EVENT_SEEK:
GST_LOG_OBJECT (pad, "seek event");
+ seqnum = gst_event_get_seqnum (event);
+ if (demux->segment_seqnum == seqnum) {
+ GST_LOG_OBJECT (pad,
+ "Drop duplicated SEEK event seqnum %" G_GUINT32_FORMAT, seqnum);
+ gst_event_unref (event);
+ ret = TRUE;
+ break;
+ }
ret = gst_asf_demux_handle_seek_event (demux, event);
gst_event_unref (event);
break;
@@ -1785,7 +1795,6 @@
demux->taglist = NULL;
demux->need_newsegment = FALSE;
- demux->segment_seqnum = 0;
demux->segment_running = TRUE;
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/gst-plugins-ugly-1.18.4/gst/realmedia/rmdemux.c
new/gst-plugins-ugly-1.18.5/gst/realmedia/rmdemux.c
--- old/gst-plugins-ugly-1.18.4/gst/realmedia/rmdemux.c 2021-03-15
18:48:48.000000000 +0100
+++ new/gst-plugins-ugly-1.18.5/gst/realmedia/rmdemux.c 2021-09-08
21:03:08.000000000 +0200
@@ -268,6 +268,7 @@
rmdemux->have_group_id = FALSE;
rmdemux->group_id = G_MAXUINT;
rmdemux->flowcombiner = gst_flow_combiner_new ();
+ rmdemux->seek_seqnum = GST_SEQNUM_INVALID;
gst_rm_utils_run_tests ();
}
@@ -302,8 +303,18 @@
case GST_EVENT_SEEK:
{
gboolean running;
+ guint32 seqnum;
GST_LOG_OBJECT (rmdemux, "Event on src: SEEK");
+
+ seqnum = gst_event_get_seqnum (event);
+ if (seqnum == rmdemux->seek_seqnum) {
+ GST_LOG_OBJECT (pad,
+ "Drop duplicated SEEK event seqnum %" G_GUINT32_FORMAT, seqnum);
+ gst_event_unref (event);
+ break;
+ }
+
/* can't seek if we are not seekable, FIXME could pass the
* seek query upstream after converting it to bytes using
* the average bitrate of the stream. */
@@ -479,10 +490,13 @@
GstSeekType cur_type, stop_type;
gint64 cur, stop;
gboolean update;
+ guint32 seqnum = GST_SEQNUM_INVALID;
+ GstEvent *fl_event;
if (event) {
GST_DEBUG_OBJECT (rmdemux, "seek with event");
+ seqnum = gst_event_get_seqnum (event);
gst_event_parse_seek (event, &rate, &format, &flags,
&cur_type, &cur, &stop_type, &stop);
@@ -511,8 +525,15 @@
/* first step is to unlock the streaming thread if it is
* blocked in a chain call, we do this by starting the flush. */
if (flush) {
- gst_pad_push_event (rmdemux->sinkpad, gst_event_new_flush_start ());
- gst_rmdemux_send_event (rmdemux, gst_event_new_flush_start ());
+ fl_event = gst_event_new_flush_start ();
+ if (seqnum != GST_SEQNUM_INVALID)
+ gst_event_set_seqnum (fl_event, seqnum);
+ gst_pad_push_event (rmdemux->sinkpad, fl_event);
+
+ fl_event = gst_event_new_flush_start ();
+ if (seqnum != GST_SEQNUM_INVALID)
+ gst_event_set_seqnum (fl_event, seqnum);
+ gst_rmdemux_send_event (rmdemux, fl_event);
} else {
gst_pad_pause_task (rmdemux->sinkpad);
}
@@ -532,6 +553,8 @@
ret = FALSE;
goto done;
}
+
+ rmdemux->seek_seqnum = seqnum;
}
GST_DEBUG_OBJECT (rmdemux, "segment positions set to %" GST_TIME_FORMAT "-%"
@@ -540,7 +563,10 @@
/* we need to stop flushing on the sinkpad as we're going to use it
* next. We can do this as we have the STREAM lock now. */
- gst_pad_push_event (rmdemux->sinkpad, gst_event_new_flush_stop (TRUE));
+ fl_event = gst_event_new_flush_stop (TRUE);
+ if (seqnum != GST_SEQNUM_INVALID)
+ gst_event_set_seqnum (fl_event, seqnum);
+ gst_pad_push_event (rmdemux->sinkpad, fl_event);
GST_LOG_OBJECT (rmdemux, "Pushed FLUSH_STOP event");
@@ -578,17 +604,24 @@
/* Reset the demuxer state */
rmdemux->state = RMDEMUX_STATE_DATA_PACKET;
- if (flush)
- gst_rmdemux_send_event (rmdemux, gst_event_new_flush_stop (TRUE));
+ if (flush) {
+ fl_event = gst_event_new_flush_stop (TRUE);
+ if (seqnum != GST_SEQNUM_INVALID)
+ gst_event_set_seqnum (fl_event, seqnum);
+ gst_rmdemux_send_event (rmdemux, fl_event);
+ }
/* must send newsegment event from streaming thread, so just set flag */
rmdemux->need_newsegment = TRUE;
/* notify start of new segment */
if (rmdemux->segment.flags & GST_SEEK_FLAG_SEGMENT) {
- gst_element_post_message (GST_ELEMENT_CAST (rmdemux),
+ GstMessage *msg =
gst_message_new_segment_start (GST_OBJECT_CAST (rmdemux),
- GST_FORMAT_TIME, rmdemux->segment.position));
+ GST_FORMAT_TIME, rmdemux->segment.position);
+ if (seqnum != GST_SEQNUM_INVALID)
+ gst_message_set_seqnum (msg, seqnum);
+ gst_element_post_message (GST_ELEMENT_CAST (rmdemux), msg);
}
/* restart our task since it might have been stopped when we did the
@@ -731,6 +764,8 @@
rmdemux->have_group_id = FALSE;
rmdemux->group_id = G_MAXUINT;
+
+ rmdemux->seek_seqnum = GST_SEQNUM_INVALID;
}
static GstStateChangeReturn
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/gst-plugins-ugly-1.18.4/gst/realmedia/rmdemux.h
new/gst-plugins-ugly-1.18.5/gst/realmedia/rmdemux.h
--- old/gst-plugins-ugly-1.18.4/gst/realmedia/rmdemux.h 2021-03-15
18:48:48.000000000 +0100
+++ new/gst-plugins-ugly-1.18.5/gst/realmedia/rmdemux.h 2021-09-08
21:03:08.000000000 +0200
@@ -103,6 +103,7 @@
guint offset;
gboolean seekable;
+ guint32 seek_seqnum;
GstRMDemuxState state;
GstRMDemuxLoopState loop_state;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/gst-plugins-ugly-1.18.4/gst-plugins-ugly.doap
new/gst-plugins-ugly-1.18.5/gst-plugins-ugly.doap
--- old/gst-plugins-ugly-1.18.4/gst-plugins-ugly.doap 2021-03-15
18:48:48.000000000 +0100
+++ new/gst-plugins-ugly-1.18.5/gst-plugins-ugly.doap 2021-09-08
21:03:08.000000000 +0200
@@ -35,6 +35,16 @@
<release>
<Version>
+ <revision>1.18.5</revision>
+ <branch>1.18</branch>
+ <name></name>
+ <created>2021-09-08</created>
+ <file-release
rdf:resource="https://gstreamer.freedesktop.org/src/gst-plugins-ugly/gst-plugins-ugly-1.18.5.tar.xz"
/>
+ </Version>
+ </release>
+
+ <release>
+ <Version>
<revision>1.18.4</revision>
<branch>1.18</branch>
<name></name>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/gst-plugins-ugly-1.18.4/meson.build
new/gst-plugins-ugly-1.18.5/meson.build
--- old/gst-plugins-ugly-1.18.4/meson.build 2021-03-15 18:48:48.000000000
+0100
+++ new/gst-plugins-ugly-1.18.5/meson.build 2021-09-08 21:03:08.000000000
+0200
@@ -1,5 +1,5 @@
project('gst-plugins-ugly', 'c',
- version : '1.18.4',
+ version : '1.18.5',
meson_version : '>= 0.48',
default_options : [ 'warning_level=1',
'buildtype=debugoptimized' ])