Hello community,
here is the log from the commit of package gstreamer-rtsp-server for
openSUSE:Factory checked in at 2020-12-13 17:29:34
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/gstreamer-rtsp-server (Old)
and /work/SRC/openSUSE:Factory/.gstreamer-rtsp-server.new.2328 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "gstreamer-rtsp-server"
Sun Dec 13 17:29:34 2020 rev:27 rq:854563 version:1.18.2
Changes:
--------
---
/work/SRC/openSUSE:Factory/gstreamer-rtsp-server/gstreamer-rtsp-server.changes
2020-11-29 12:25:57.985852780 +0100
+++
/work/SRC/openSUSE:Factory/.gstreamer-rtsp-server.new.2328/gstreamer-rtsp-server.changes
2020-12-13 17:30:04.384369829 +0100
@@ -1,0 +2,19 @@
+Thu Dec 10 08:41:39 UTC 2020 - Bjørn Lie <[email protected]>
+
+- Update to version 1.18.2:
+ + stream: collect a clock_rate when blocking
+ + media:
+ - Ignore GstRTSPStreamBlocking from incomplete streams, to
+ prevent cases with prerolling when the inactive stream
+ prerolls first and the server proceeds without waiting for
+ the active stream. When there are no complete streams (during
+ DESCRIBE), we will listen to all streams.
+ - Use guint64 for setting the size-time property on rtpstorage,
+ fixes potential crashes or memory corruption.
+ - Get rates only on sender streams, fixing issue with ONVIF
+ audio backchannel streams
+ - Plug memory leak
+- Fix the _service file and spec to really use the tarball
+ generated by service.
+
+-------------------------------------------------------------------
Old:
----
gst-rtsp-server-1.18.1.tar.xz
New:
----
gst-rtsp-server-1.18.2.tar.xz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ gstreamer-rtsp-server.spec ++++++
--- /var/tmp/diff_new_pack.0peIDt/_old 2020-12-13 17:30:05.108370563 +0100
+++ /var/tmp/diff_new_pack.0peIDt/_new 2020-12-13 17:30:05.112370568 +0100
@@ -18,15 +18,19 @@
%define gstreamer_req_version %(echo %{version} | sed -e "s/+.*//")
%define _name gst-rtsp-server
+
Name: gstreamer-rtsp-server
-Version: 1.18.1
+Version: 1.18.2
Release: 0
Summary: GStreamer-based RTSP server library
License: LGPL-2.0-or-later
Group: Productivity/Multimedia/Other
URL: https://gstreamer.freedesktop.org
-Source0: %{url}/src/gst-rtsp-server/%{_name}-%{version}.tar.xz
+# Disable tarball source url, use _service
+#Source0: %%{url}/src/gst-rtsp-server/%%{_name}-%%{version}.tar.xz
+Source0: %{_name}-%{version}.tar.xz
Source99: gstreamer-rtsp-server-rpmlintrc
+
BuildRequires: hotdoc
BuildRequires: meson >= 0.47
BuildRequires: pkgconfig
++++++ _service ++++++
--- /var/tmp/diff_new_pack.0peIDt/_old 2020-12-13 17:30:05.156370612 +0100
+++ /var/tmp/diff_new_pack.0peIDt/_new 2020-12-13 17:30:05.156370612 +0100
@@ -1,10 +1,15 @@
+<?xml version="1.0"?>
<services>
<service name="tar_scm" mode="disabled">
<param
name="url">https://gitlab.freedesktop.org/gstreamer/gst-rtsp-server.git</param>
<param name="filename">gst-rtsp-server</param>
- <!--<param name="versionformat">@PARENT_TAG@+git%cd.%h</param>-->
- <param name="versionformat">@PARENT_TAG@</param>
- <param name="revision">1.18.1</param>
+ <param name="versionformat">@PARENT_TAG@+@TAG_OFFSET@</param>
+ <param name="versionrewrite-pattern">(.*)\+0</param>
+ <param name="versionrewrite-replacement">\1</param>
+<!--
+ <param name="changesgenerate">enable</param>
+-->
+ <param name="revision">1.18.2</param>
<param name="scm">git</param>
</service>
<service name="recompress" mode="disabled">
++++++ gst-rtsp-server-1.18.1.tar.xz -> gst-rtsp-server-1.18.2.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/gst-rtsp-server-1.18.1/.gitlab-ci.yml
new/gst-rtsp-server-1.18.2/.gitlab-ci.yml
--- old/gst-rtsp-server-1.18.1/.gitlab-ci.yml 1970-01-01 01:00:00.000000000
+0100
+++ new/gst-rtsp-server-1.18.2/.gitlab-ci.yml 2020-12-06 14:24:47.000000000
+0100
@@ -0,0 +1 @@
+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' old/gst-rtsp-server-1.18.1/ChangeLog
new/gst-rtsp-server-1.18.2/ChangeLog
--- old/gst-rtsp-server-1.18.1/ChangeLog 2020-10-26 12:15:28.844300300
+0100
+++ new/gst-rtsp-server-1.18.2/ChangeLog 2020-12-06 14:24:47.000000000
+0100
@@ -1,3 +1,81 @@
+=== release 1.18.2 ===
+
+2020-12-06 13:24:47 +0000 Tim-Philipp Müller <[email protected]>
+
+ * ChangeLog:
+ * NEWS:
+ * RELEASE:
+ * gst-rtsp-server.doap:
+ * meson.build:
+ Release 1.18.2
+
+2020-11-18 20:36:50 +0100 Mathieu Duponchelle <[email protected]>
+
+ * gst/rtsp-server/rtsp-stream.c:
+ rtsp-stream: collect a clock_rate when blocking
+ This lets us provide a clock_rate in a fashion similar to the
+ other code paths in get_rtpinfo()
+ Part-of:
<https://gitlab.freedesktop.org/gstreamer/gst-rtsp-server/-/merge_requests/175>
+
+2020-11-03 16:56:28 +0100 David Phung <[email protected]>
+
+ * gst/rtsp-server/rtsp-media.c:
+ * gst/rtsp-server/rtsp-stream.c:
+ rtsp-media: Ignore GstRTSPStreamBlocking from incomplete streams
+ To prevent cases with prerolling when the inactive stream prerolls
first
+ and the server proceeds without waiting for the active stream, we will
+ ignore GstRTSPStreamBlocking messages from incomplete streams. When
+ there are no complete streams (during DESCRIBE), we will listen to all
+ streams.
+ Part-of:
<https://gitlab.freedesktop.org/gstreamer/gst-rtsp-server/-/merge_requests/173>
+
+2020-10-28 21:48:06 +0100 Kristofer Björkström <[email protected]>
+
+ * tests/check/gst/media.c:
+ * tests/check/meson.build:
+ * tests/files/test.avi:
+ media test: Add test for seeking one active stream with a demuxer
+ Add another seek_one_active_stream test but with a demuxer. The
demuxer
+ will flush both streams in opposed to the existing test which only
+ flushes the active stream. This will help exposing problems with the
+ prerolling process after a flushing seek.
+ Part-of:
<https://gitlab.freedesktop.org/gstreamer/gst-rtsp-server/-/merge_requests/173>
+
+2020-11-16 10:34:41 +0200 Sebastian Dröge <[email protected]>
+
+ * gst/rtsp-server/rtsp-media.c:
+ rtsp-media: Use guint64 for setting the size-time property on
rtpstorage
+ Otherwise this will cause memory corruption as the property expects a
64
+ bit integer.
+ Part-of:
<https://gitlab.freedesktop.org/gstreamer/gst-rtsp-server/-/merge_requests/172>
+
+2020-09-28 22:03:47 +0200 David Phung <[email protected]>
+
+ * gst/rtsp-server/rtsp-media.c:
+ rtsp-media: Plug memory leak
+ The get-storage signal of rtpbin increases the ref count of the
storage.
+ So we have to unref it after usage.
+ Part-of:
<https://gitlab.freedesktop.org/gstreamer/gst-rtsp-server/-/merge_requests/171>
+
+2020-09-11 15:46:41 +0200 Guiqin Zou <[email protected]>
+
+ * gst/rtsp-server/rtsp-media.c:
+ rtsp-media: Get rates only on sender streams
+ When play a media with both sender and receiver stream, like ONVIF
+ back channel audio in, gst_rtsp_media_get_rates call
+ gst_rtsp_stream_get_rates for each stream to set the rates. But
+ gst_rtsp_stream_get_rates return false for the receiver steam, which
+ lead a g_assert crash.
+ Instead to get rates on all streams, now just get rates on sender
+ streams.
+ Part-of:
<https://gitlab.freedesktop.org/gstreamer/gst-rtsp-server/-/merge_requests/170>
+
+2020-10-27 12:34:42 +0000 Tim-Philipp Müller <[email protected]>
+
+ * docs/gst_plugins_cache.json:
+ * meson.build:
+ Back to development
+
=== release 1.18.1 ===
2020-10-26 11:15:28 +0000 Tim-Philipp Müller <[email protected]>
@@ -5,6 +83,7 @@
* ChangeLog:
* NEWS:
* RELEASE:
+ * docs/gst_plugins_cache.json:
* gst-rtsp-server.doap:
* meson.build:
Release 1.18.1
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/gst-rtsp-server-1.18.1/NEWS
new/gst-rtsp-server-1.18.2/NEWS
--- old/gst-rtsp-server-1.18.1/NEWS 2020-10-26 12:15:28.844300300 +0100
+++ new/gst-rtsp-server-1.18.2/NEWS 2020-12-06 14:24:47.000000000 +0100
@@ -2,8 +2,8 @@
GStreamer 1.18.0 was originally released on 8 September 2020.
-The latest bug-fix release in the 1.18 series is 1.18.1 and was released
-on 26 October 2020.
+The latest bug-fix release in the 1.18 series is 1.18.2 and was released
+on 6 December 2020.
See https://gstreamer.freedesktop.org/releases/1.18/ for the latest
version of this document.
@@ -2387,6 +2387,195 @@
- List of Merge Requests applied in 1.18.1
- List of Issues fixed in 1.18.1
+1.18.2
+
+The second 1.18 bug-fix release (1.18.2) was released on 6 December
+2020.
+
+This release only contains bugfixes and it should be safe to update from
+1.18.x.
+
+Highlighted bugfixes in 1.18.2
+
+- 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
+
+- 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
+
+gst-plugins-base
+
+- gl/eagl: internal view resize fixes for glimagesink
+- video-converter: increase the number of cache lines for resampling,
+ fixes significant color issues and artefacts with “special” resizing
+ parameters in compositor
+- compositor: Don’t crash in prepare_frame() if the pad was just
+ removed
+- decodebin3: Properly handle caps query with no filter
+- videoaggregator: Guarantee that the output format is supported
+- videoaggregator: Fix locking around vagg->info
+- gluploadelement: Avoid race condition of base class’ context
+- gluploadelement: Avoid race condition of inside upload creation
+- gl: Fix prototype of glGetSynciv()
+- tcpserversink: Don’t assume g_socket_get_remote_address() succeeds
+- video-aggregator: Fix renegotiation when using convert pads
+- videoaggregator: document and fix locking in convert pad
+- audiodecoder, videodecoder: Don’t reset max-errors property value in
+ reset()
+- audioencoder: Fix incorrect GST_LOG_OBJECT usage
+- pbutils: Fix segfault when using invalid encoding profile
+- g-i: videometa: gir annotate the size of plane array in new API
+- examples/gl/gtk: Add missing dependency on gstgl
+- video: fix doc warning
+
+gst-plugins-good
+
+- rpicamsrc: add vchostif library as it is required to build
+ successful
+- deinterlace: Enable x86 assembly with nasm on MSVC
+- v4l2: caps negotiate wrong as interlace feature
+- aacparse: Fix caps change handling
+- rtspsrc: Use URI hash for stream id
+- flvmux: Release pads via GstAggregator
+- qtmux: Chain up when releasing pad, and fix some locking
+- matroska-mux: Fix sparse stream crash
+- Splitmux testsuite races
+
+gst-plugins-bad
+
+- tsparse: timestamp packetized buffers, fixing timestamp handling
+ regression in connection with dvbsrc in MeTV
+- ttmlparse: fix issues in aggregation of input TTML
+- mpegdemux: Set duration on seeking query if possible, fixes seeking
+ in MPEG-PS streams in gst-play-1.0
+- mpegtsdemux: Fix off by one error
+- adaptivedemux: Store QoS values on the element
+- adaptivedemux: Don’t calculate bitrate for header/index fragments
+- hlsdemux: Don’t double-free variant streams on errors
+- mpegtspacketizer: Handle PCR issues with adaptive streams
+- player: call ref_sink on pipeline
+- vkdeviceprovider: Avoid deadlock on physical device
+- wlvideoformat: fix DMA format convertor
+- Webrtc shutdown crashes
+- decklink: Update enum value bounds check in gst_decklink_get_mode()
+- decklink: correct framerate 2KDCI 23.98
+- amc: Fix crash when encoding AVC
+- d3d11videoprocessor: Fix wrong input/output supportability check
+- opencv: allow compilation against 4.5.x
+- tests: svthevcenc: Fix test_encode_simple
+- tests: dtls: Don’t set dtlsenc state before linking
+- mpegtsmux: Restore intervals when creating TsMux
+- adaptivedemux, hlsdemux, curl: Use actual object for logging
+- gi: player: Fix get_current_subtitle_track() annotation
+
+gst-plugins-ugly
+
+- no changes
+
+gst-libav
+
+- avauddec: Check planar-ness of frame rather than context, fixes
+ issue with aptX HD decoding
+
+gst-rtsp-server
+
+- stream: collect a clock_rate when blocking
+- media: Ignore GstRTSPStreamBlocking from incomplete streams, to
+ prevent cases with prerolling when the inactive stream prerolls
+ first and the server proceeds without waiting for the active stream.
+ When there are no complete streams (during DESCRIBE), we will listen
+ to all streams.
+- media: Use guint64 for setting the size-time property on rtpstorage,
+ fixes potential crashes or memory corruption.
+- media: Get rates only on sender streams, fixing issue with ONVIF
+ audio backchannel streams
+- media: Plug memory leak
+
+gstreamer-vaapi
+
+- H265 decoder: Fix a typo in scc reference setting
+
+gstreamer-sharp
+
+- no changes
+
+gst-omx
+
+- no changes
+
+gst-python
+
+- no changes
+
+gst-editing-services
+
+- Fix static build
+- ges_init(): Fix potential initialisation crash on error
+
+gst-integration-testsuites
+
+- no changes
+
+gst-build
+
+- gst-env: use Path.open() in get_pkgconfig_variable_from_pcfile(),
+ fixes issues with python 3.5
+- subprojects: pin orc to 0.4.32 release (was 0.4.29) and pin libpsl
+ to 0.21.1 (was master)
+
+Cerbero build tool and packaging changes in 1.18.2
+
+- build-tools: copy the removed site.py from setuptools, fixing python
+ programs (like meson) from using libraries from incorrect places
+
+Contributors to 1.18.2
+
+Arun Raghavan, Bing Song, Chris Bass, Chris Duncan, Chris White, David
+Keijser, David Phung, Edward Hervey, Fabrice Fontaine, Guillaume
+Desmottes, Guiqin Zou, He Junyan, Jan Alexander Steffens (heftig), Jan
+Schmidt, Jason Pereira, Jonathan Matthew, Jose Quaresma, Julian Bouzas,
+Khem Raj, Kristofer Björkström, Marijn Suijten, Mart Raudsepp, Mathieu
+Duponchelle, Matthew Waters, Nicola Murino, Nicolas Dufresne, Nirbheek
+Chauhan, Olivier Crête, Philippe Normand, Rafostar, Randy Li, Sanchayan
+Maity, Sebastian Dröge, Seungha Yang, Thibault Saunier, Tim-Philipp
+Müller, Vivia Nikolaidou, Xavier Claessens
+
+… 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.2
+
+- List of Merge Requests applied in 1.18.2
+- List of Issues fixed in 1.18.2
+
Schedule for 1.20
Our next major feature release will be 1.20, and 1.19 will be the
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/gst-rtsp-server-1.18.1/RELEASE
new/gst-rtsp-server-1.18.2/RELEASE
--- old/gst-rtsp-server-1.18.1/RELEASE 2020-10-26 12:15:28.844300300 +0100
+++ new/gst-rtsp-server-1.18.2/RELEASE 2020-12-06 14:24:47.000000000 +0100
@@ -1,4 +1,4 @@
-This is GStreamer gst-rtsp-server 1.18.1.
+This is GStreamer gst-rtsp-server 1.18.2.
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-rtsp-server-1.18.1/docs/gst_plugins_cache.json
new/gst-rtsp-server-1.18.2/docs/gst_plugins_cache.json
--- old/gst-rtsp-server-1.18.1/docs/gst_plugins_cache.json 2020-10-26
12:15:28.844300300 +0100
+++ new/gst-rtsp-server-1.18.2/docs/gst_plugins_cache.json 2020-12-06
14:24:47.000000000 +0100
@@ -321,7 +321,7 @@
"construct": false,
"construct-only": false,
"controllable": false,
- "default": "GStreamer/1.18.1",
+ "default": "GStreamer/1.18.2",
"mutable": "null",
"readable": true,
"type": "gchararray",
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/gst-rtsp-server-1.18.1/gst/rtsp-server/rtsp-media.c
new/gst-rtsp-server-1.18.2/gst/rtsp-server/rtsp-media.c
--- old/gst-rtsp-server-1.18.1/gst/rtsp-server/rtsp-media.c 2020-10-26
12:15:28.848300200 +0100
+++ new/gst-rtsp-server-1.18.2/gst/rtsp-server/rtsp-media.c 2020-12-06
14:24:47.000000000 +0100
@@ -1656,12 +1656,14 @@
sessid, &storage);
if (storage) {
- guint size_time = 0;
+ guint64 size_time = 0;
if (!gst_rtsp_stream_is_tcp_receiver (stream))
size_time = (media->priv->latency + 50) * GST_MSECOND;
g_object_set (storage, "size-time", size_time, NULL);
+
+ g_object_unref (storage);
}
}
@@ -2709,7 +2711,8 @@
g_assert (priv->streams->len > 0);
for (i = 0; i < priv->streams->len; i++) {
stream = g_ptr_array_index (priv->streams, i);
- if (gst_rtsp_stream_is_complete (stream)) {
+ if (gst_rtsp_stream_is_complete (stream)
+ && gst_rtsp_stream_is_sender (stream)) {
if (gst_rtsp_stream_get_rates (stream, rate, applied_rate)) {
if (first_stream) {
save_rate = *rate;
@@ -3267,12 +3270,30 @@
s = gst_message_get_structure (message);
if (gst_structure_has_name (s, "GstRTSPStreamBlocking")) {
- GST_DEBUG ("media received blocking message");
- priv->blocking_msg_received++;
+ gboolean is_complete = FALSE;
+ guint n_active_streams;
+ guint expected_nbr_blocking_msg;
+
+ /* to prevent problems when some streams are complete, some are not,
+ * we will ignore incomplete streams. When there are no complete
+ * streams (during DESCRIBE), we will listen to all streams. */
+
+ gst_structure_get_boolean (s, "is_complete", &is_complete);
+ n_active_streams = nbr_active_streams (media);
+ expected_nbr_blocking_msg = n_active_streams;
+ GST_DEBUG_OBJECT (media, "media received blocking message,"
+ " n_active_streams = %d, is_complete = %d",
+ n_active_streams, is_complete);
+
+ if (n_active_streams == 0 || is_complete)
+ priv->blocking_msg_received++;
+
+ if (n_active_streams == 0)
+ expected_nbr_blocking_msg = priv->streams->len;
+
if (priv->blocked && media_streams_blocking (media) &&
priv->no_more_pads_pending == 0 &&
- (priv->blocking_msg_received == nbr_active_streams (media) ||
- priv->blocking_msg_received == priv->streams->len)) {
+ priv->blocking_msg_received == expected_nbr_blocking_msg) {
GST_DEBUG_OBJECT (GST_MESSAGE_SRC (message), "media is blocking");
g_mutex_lock (&priv->lock);
collect_media_stats (media);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/gst-rtsp-server-1.18.1/gst/rtsp-server/rtsp-stream.c
new/gst-rtsp-server-1.18.2/gst/rtsp-server/rtsp-stream.c
--- old/gst-rtsp-server-1.18.1/gst/rtsp-server/rtsp-stream.c 2020-10-26
12:15:28.852300200 +0100
+++ new/gst-rtsp-server-1.18.2/gst/rtsp-server/rtsp-stream.c 2020-12-06
14:24:47.000000000 +0100
@@ -220,6 +220,7 @@
guint32 blocked_seqnum;
guint32 blocked_rtptime;
GstClockTime blocked_running_time;
+ gint blocked_clock_rate;
};
#define DEFAULT_CONTROL NULL
@@ -4308,6 +4309,14 @@
goto stats;
*running_time = priv->blocked_running_time;
}
+
+ if (clock_rate) {
+ *clock_rate = priv->blocked_clock_rate;
+
+ if (*clock_rate == 0 && running_time)
+ *running_time = GST_CLOCK_TIME_NONE;
+ }
+
goto done;
}
}
@@ -5270,6 +5279,17 @@
gst_event_unref (event);
}
+ event = gst_pad_get_sticky_event (pad, GST_EVENT_CAPS, 0);
+ if (event) {
+ GstCaps *caps;
+ GstStructure *s;
+
+ gst_event_parse_caps (event, &caps);
+ s = gst_caps_get_structure (caps, 0);
+ gst_structure_get_int (s, "clock-rate", &priv->blocked_clock_rate);
+ gst_event_unref (event);
+ }
+
priv->blocking = TRUE;
GST_DEBUG_OBJECT (pad, "Now blocking");
@@ -5281,7 +5301,8 @@
gst_element_post_message (priv->payloader,
gst_message_new_element (GST_OBJECT_CAST (priv->payloader),
- gst_structure_new_empty ("GstRTSPStreamBlocking")));
+ gst_structure_new ("GstRTSPStreamBlocking", "is_complete",
+ G_TYPE_BOOLEAN, priv->is_complete, NULL)));
done:
return ret;
@@ -5310,6 +5331,7 @@
priv->blocking = FALSE;
priv->blocked_buffer = FALSE;
priv->blocked_running_time = GST_CLOCK_TIME_NONE;
+ priv->blocked_clock_rate = 0;
priv->blocked_id[i] = gst_pad_add_probe (priv->send_src[i],
GST_PAD_PROBE_TYPE_BLOCK | GST_PAD_PROBE_TYPE_BUFFER |
GST_PAD_PROBE_TYPE_BUFFER_LIST |
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/gst-rtsp-server-1.18.1/gst-rtsp-server.doap
new/gst-rtsp-server-1.18.2/gst-rtsp-server.doap
--- old/gst-rtsp-server-1.18.1/gst-rtsp-server.doap 2020-10-26
12:15:28.844300300 +0100
+++ new/gst-rtsp-server-1.18.2/gst-rtsp-server.doap 2020-12-06
14:24:47.000000000 +0100
@@ -32,6 +32,16 @@
<release>
<Version>
+ <revision>1.18.2</revision>
+ <branch>1.18</branch>
+ <name></name>
+ <created>2020-12-06</created>
+ <file-release
rdf:resource="https://gstreamer.freedesktop.org/src/gst-rtsp-server/gst-rtsp-server-1.18.2.tar.xz"
/>
+ </Version>
+ </release>
+
+ <release>
+ <Version>
<revision>1.18.1</revision>
<branch>1.18</branch>
<name></name>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/gst-rtsp-server-1.18.1/meson.build
new/gst-rtsp-server-1.18.2/meson.build
--- old/gst-rtsp-server-1.18.1/meson.build 2020-10-26 12:15:28.852300200
+0100
+++ new/gst-rtsp-server-1.18.2/meson.build 2020-12-06 14:24:47.000000000
+0100
@@ -1,5 +1,5 @@
project('gst-rtsp-server', 'c',
- version : '1.18.1',
+ version : '1.18.2',
meson_version : '>= 0.48',
default_options : ['warning_level=1', 'buildtype=debugoptimized'])
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/gst-rtsp-server-1.18.1/tests/check/gst/media.c
new/gst-rtsp-server-1.18.2/tests/check/gst/media.c
--- old/gst-rtsp-server-1.18.1/tests/check/gst/media.c 2020-10-26
12:15:28.852300200 +0100
+++ new/gst-rtsp-server-1.18.2/tests/check/gst/media.c 2020-12-06
14:24:47.000000000 +0100
@@ -140,8 +140,8 @@
GST_END_TEST;
-/* case: media is complete and contains two streams but only one is active */
-GST_START_TEST (test_media_seek_one_active_stream)
+static void
+media_playback_seek_one_active_stream (const gchar * launch_line)
{
GstRTSPMediaFactory *factory;
GstRTSPMedia *media;
@@ -160,9 +160,7 @@
fail_unless (gst_rtsp_url_parse ("rtsp://localhost:8554/test",
&url) == GST_RTSP_OK);
- gst_rtsp_media_factory_set_launch (factory,
- "( videotestsrc ! rtpvrawpay pt=96 name=pay0 "
- " audiotestsrc ! audioconvert ! rtpL16pay name=pay1 )");
+ gst_rtsp_media_factory_set_launch (factory, launch_line);
media = gst_rtsp_media_factory_construct (factory, url);
fail_unless (GST_IS_RTSP_MEDIA (media));
@@ -196,12 +194,12 @@
fail_unless (gst_rtsp_stream_seekable (stream2));
fail_unless (gst_rtsp_transport_free (transport) == GST_RTSP_OK);
- fail_unless (gst_rtsp_range_parse ("npt=3.0-", &range) == GST_RTSP_OK);
+ fail_unless (gst_rtsp_range_parse ("npt=3.0-5.0", &range) == GST_RTSP_OK);
/* the media is seekable now */
fail_unless (gst_rtsp_media_seek (media, range));
- /* verify that we got the expected range, 'npt=3.0-' */
+ /* verify that we got the expected range, 'npt=3.0-5.0' */
range_str = gst_rtsp_media_get_range_string (media, TRUE,
GST_RTSP_RANGE_NPT);
fail_unless (gst_rtsp_range_parse (range_str, &play_range) == GST_RTSP_OK);
fail_unless (play_range->min.seconds == range->min.seconds);
@@ -222,6 +220,30 @@
gst_rtsp_thread_pool_cleanup ();
}
+/* case: media is complete and contains two streams but only one is active,
+ audio & video sources */
+GST_START_TEST (test_media_playback_seek_one_active_stream)
+{
+ media_playback_seek_one_active_stream
+ ("( videotestsrc ! rtpvrawpay pt=96 name=pay0 "
+ " audiotestsrc ! audioconvert ! rtpL16pay name=pay1 )");
+}
+
+GST_END_TEST;
+
+/* case: media is complete and contains two streams but only one is active,
+ demux */
+GST_START_TEST (test_media_playback_demux_seek_one_active_stream)
+{
+ /* FIXME: this test produces "Failed to push event" error messages in the
+ * GST_DEBUG logs because the incomplete stream has no sinks */
+ media_playback_seek_one_active_stream ("( filesrc location="
+ GST_TEST_FILES_PATH "/test.avi !"
+ " avidemux name=demux demux.audio_0 ! queue ! decodebin ! audioconvert !"
+ " audioresample ! rtpL16pay pt=97 name=pay1"
+ " demux.video_0 ! queue ! decodebin ! rtpvrawpay pt=96 name=pay0 )");
+}
+
GST_END_TEST;
GST_START_TEST (test_media_seek_no_sinks)
@@ -847,12 +869,22 @@
{
Suite *s = suite_create ("rtspmedia");
TCase *tc = tcase_create ("general");
+ gboolean has_avidemux;
suite_add_tcase (s, tc);
tcase_set_timeout (tc, 20);
+
+ has_avidemux = gst_registry_check_feature_version (gst_registry_get (),
+ "avidemux", GST_VERSION_MAJOR, GST_VERSION_MINOR, 0);
+
tcase_add_test (tc, test_media_seek);
tcase_add_test (tc, test_media_seek_no_sinks);
- tcase_add_test (tc, test_media_seek_one_active_stream);
+ tcase_add_test (tc, test_media_playback_seek_one_active_stream);
+ if (has_avidemux) {
+ tcase_add_test (tc, test_media_playback_demux_seek_one_active_stream);
+ } else {
+ GST_INFO ("Skipping test, missing plugins: avidemux");
+ }
tcase_add_test (tc, test_media);
tcase_add_test (tc, test_media_prepare);
tcase_add_test (tc, test_media_shared_race_test_unsuspend_vs_set_state_null);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/gst-rtsp-server-1.18.1/tests/check/meson.build
new/gst-rtsp-server-1.18.2/tests/check/meson.build
--- old/gst-rtsp-server-1.18.1/tests/check/meson.build 2020-10-26
12:15:28.852300200 +0100
+++ new/gst-rtsp-server-1.18.2/tests/check/meson.build 2020-12-06
14:24:47.000000000 +0100
@@ -17,6 +17,7 @@
'-UG_DISABLE_ASSERT',
'-UG_DISABLE_CAST_CHECKS',
'-DGST_CHECK_TEST_ENVIRONMENT_BEACON="GST_PLUGIN_LOADING_WHITELIST"',
+ '-DGST_TEST_FILES_PATH="' + meson.current_source_dir() + '/../files"',
]
rtsp_server_tests = [
Binary files old/gst-rtsp-server-1.18.1/tests/files/test.avi and
new/gst-rtsp-server-1.18.2/tests/files/test.avi differ
_______________________________________________
openSUSE Commits mailing list -- [email protected]
To unsubscribe, email [email protected]
List Netiquette: https://en.opensuse.org/openSUSE:Mailing_list_netiquette
List Archives:
https://lists.opensuse.org/archives/list/[email protected]