diff options
author | Tim-Philipp Müller <tim@centricular.com> | 2020-10-26 11:15:28 +0000 |
---|---|---|
committer | Tim-Philipp Müller <tim@centricular.com> | 2020-10-26 11:15:28 +0000 |
commit | 20eef66f44c89453cc45593a66f23b63c5554b6a (patch) | |
tree | 8e520b7e2af8e745f9f83a5f7097ca2200164180 | |
parent | b7b316baee7216926d2dd7241d9b87251b195874 (diff) |
Release 1.18.11.18.1
-rw-r--r-- | ChangeLog | 76 | ||||
-rw-r--r-- | NEWS | 244 | ||||
-rw-r--r-- | RELEASE | 2 | ||||
-rw-r--r-- | docs/gst_plugins_cache.json | 2 | ||||
-rw-r--r-- | gst-rtsp-server.doap | 10 | ||||
-rw-r--r-- | meson.build | 2 |
6 files changed, 314 insertions, 22 deletions
@@ -1,10 +1,86 @@ +=== release 1.18.1 === + +2020-10-26 11:15:28 +0000 Tim-Philipp Müller <tim@centricular.com> + + * ChangeLog: + * NEWS: + * RELEASE: + * gst-rtsp-server.doap: + * meson.build: + Release 1.18.1 + +2020-10-08 22:17:16 +0200 Mathieu Duponchelle <mathieu@centricular.com> + + * gst/rtsp-server/rtsp-stream.c: + rtsp-stream: make use of blocked_running_time in query_position + When blocking, the sink element will not have received a buffer + yet and the position query will fail. Instead, we make use of + the running time of the buffer we blocked on. + Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-rtsp-server/-/merge_requests/163> + +2020-10-06 00:04:17 +0200 Mathieu Duponchelle <mathieu@centricular.com> + + * gst/rtsp-server/rtsp-stream.c: + rtsp-stream: collect rtp info when blocking + We don't unblock the stream anymore before replying to the + play request (883ddc72bb5bc57c95a9e167814d1ac53fe1b443), + so the sinks don't have a last-sample after potentially flush + seeking. seek_trickmode waits for preroll however, which means + the stream will block and wait for a first buffer. Subsequent + calls to get_rtpinfo() can thus make use of the information. + See https://gitlab.freedesktop.org/gstreamer/gst-rtsp-server/-/issues/115 + Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-rtsp-server/-/merge_requests/163> + +2020-09-05 00:30:42 +0200 Mathieu Duponchelle <mathieu@centricular.com> + + * gst/rtsp-server/rtsp-media.c: + * gst/rtsp-server/rtsp-server-internal.h: + * gst/rtsp-server/rtsp-stream.c: + rtsp-media: set a 0 storage size for TCP receivers + ulpfec correction is obviously useless when receiving a stream + over TCP, and in TCP modes the rtp storage receives non + timestamped buffers, causing it to queue buffers indefinitely, + until the queue grows so large that sanity checks kick in and + warnings start to get emitted. + Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-rtsp-server/-/merge_requests/158> + +2020-08-21 03:02:40 +0200 Mathieu Duponchelle <mathieu@centricular.com> + + * gst/rtsp-server/rtsp-stream.c: + rtsp-stream: preroll on gap events + This allows negotiating a SDP with all streams present, but only + start sending packets at some later point in time + Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-rtsp-server/-/merge_requests/157> + +2020-08-25 16:10:36 +0200 Mathieu Duponchelle <mathieu@centricular.com> + + * gst/rtsp-server/rtsp-media.c: + rtsp-media: do not unblock on unsuspend + rtsp_media_unsuspend() is called from handle_play_request() + before sending the play response. Unblocking the streams here + was causing data to be sent out before the client was ready + to handle it, with obvious side effects such as initial packets + getting discarded, causing decoding errors. + Instead we can simply let the media streams be unblocked when + the state of the media is set to PLAYING, which occurs after + sending the play response. + Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-rtsp-server/-/merge_requests/156> + +2020-09-08 17:44:37 +0100 Tim-Philipp Müller <tim@centricular.com> + + * docs/gst_plugins_cache.json: + * meson.build: + Back to development + === release 1.18.0 === 2020-09-08 00:08:29 +0100 Tim-Philipp Müller <tim@centricular.com> + * .gitlab-ci.yml: * ChangeLog: * NEWS: * RELEASE: + * docs/gst_plugins_cache.json: * gst-rtsp-server.doap: * meson.build: Release 1.18.0 @@ -1,11 +1,14 @@ GStreamer 1.18 Release Notes -GStreamer 1.18.0 was originally released on 7 September 2020. +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. See https://gstreamer.freedesktop.org/releases/1.18/ for the latest version of this document. -Last updated: Monday 7 September 2020, 10:30 UTC (log) +Last updated: Monday 26 October 2020, 11:00 UTC (log) Introduction @@ -28,7 +31,8 @@ Highlights - Active Format Description (AFD) and Bar Data support -- ONVIF trick modes support in both GStreamer RTSP server and client +- RTSP server and client implementations gained ONVIF trick modes + support - Hardware-accelerated video decoding on Windows via DXVA2 / Direct3D11 @@ -39,24 +43,25 @@ Highlights - qmlgloverlay: New overlay element that renders a QtQuick scene over the top of an input video stream -- New imagesequencesrc element to easily create a video stream from a +- imagesequencesrc: New element to easily create a video stream from a sequence of jpeg or png images -- dashsink: Add new sink to produce DASH content +- dashsink: New sink to produce DASH content -- dvbsubenc: DVB Subtitle encoder element +- dvbsubenc: New DVB Subtitle encoder element -- TV broadcast compliant MPEG-TS muxing with constant bitrate muxing - and SCTE-35 support +- MPEG-TS muxing now also supports TV broadcast compliant muxing with + constant bitrate muxing and SCTE-35 support -- rtmp2: new RTMP client source and sink element implementation +- rtmp2: New RTMP client source and sink element from-scratch + implementation -- svthevcenc: new SVT-HEVC-based H.265 video encoder +- svthevcenc: New SVT-HEVC-based H.265 video encoder -- vaapioverlay compositor element using VA-API +- vaapioverlay: New compositor element using VA-API -- rtpmanager support for Google’s Transport-Wide Congestion Control - (twcc) RTP extension +- rtpmanager gained support for Google’s Transport-Wide Congestion + Control (twcc) RTP extension - splitmuxsink and splitmuxsrc gained support for auxiliary video streams @@ -64,18 +69,18 @@ Highlights - webrtcbin now contains some initial support for renegotiation involving stream addition and removal -- New RTP source and sink elements to easily set up RTP streaming via - rtp:// URIs +- RTP support was enhanced with new RTP source and sink elements to + easily set up RTP streaming via rtp:// URIs -- New Audio Video Transport Protocol (AVTP) plugin for Time-Sensitive - Applications +- avtp: New Audio Video Transport Protocol (AVTP) plugin for + Time-Sensitive Applications - Support for the Video Services Forum’s Reliable Internet Stream Transport (RIST) TR-06-1 Simple Profile - Universal Windows Platform (UWP) support -- rpicamsrc element for capturing from the Raspberry Pi camera +- rpicamsrc: New element for capturing from the Raspberry Pi camera - RTSP Server TCP interleaved backpressure handling improvements as well as support for Scale/Speed headers @@ -2179,7 +2184,208 @@ the git 1.18 branch, which will be a stable branch. 1.18.0 -1.18.0 was released on 7 September 2020. +1.18.0 was released on 8 September 2020. + +1.18.1 + +The first 1.18 bug-fix release (1.18.1) was released on 26 October 2020. + +This release only contains bugfixes and it should be safe to update from +1.18.0. + +Highlighted bugfixes in 1.18.1 + +- important security fixes +- bug fixes and memory leak fixes +- various stability and reliability improvements + +gstreamer + +- aggregator: make peek() has() pop() drop() buffer API threadsafe +- gstvalue: don’t write to const char * +- meson: Disallow DbgHelp for UWP build +- info: Fix build on Windows ARM64 device +- build: use cpu_family for arch checks +- basetransform: Fix in/outbuf confusion of _default_transform_meta +- Fix documentation +- info: Load DbgHelp.dll using g_module_open() +- padtemplate: mark documentation caps as may be leaked +- gstmeta: intern registered impl string +- aggregator: Hold SRC_LOCK while unblocking via SRC_BROADCAST() +- ptp_helper_post_install.sh: deal with none +- skip elements/leak.c if tracer is not available +- aggregator: Wake up source pad in PAUSED<->PLAYING transitions +- input-selector: Wake up blocking pads when releasing them +- ptp: Also handle gnu/kfreebsd + +gst-plugins-base + +- theoradec: Set telemetry options only if they are nonzero +- glslstage: delete shader on finalize of stage +- urisourcebin: Fix crash caused by use after free +- decodebin3: Store stream-start event on output pad before exposing + it +- Add some missing nullable annotations +- typefind/xdgmime: Validate mimetypes to be valid GstStructure names + before using them +- uridecodebin3: Forward upstream events to decodebin3 directly +- video-converter: Add fast paths from v210 to I420/YV12, Y42B, UYVY + and YUY2 +- videoaggregator: Limit accepted caps by template caps +- gstrtpbuffer: fix header extension length validation +- decodebin3: only force streams-selected seqnum after a + select-streams +- videodecoder: don’t copy interlace-mode from reference state +- enable abi checks +- multihandlesink: Don’t pass NULL caps to gst_caps_is_equal +- audio: video: Fix in/outbuf confusion of transform_meta +- meson: Always wrap “prefix” option with join_paths() to make Windows + happy +- videoaggregator: ensure peek_next_sample() uses the correct caps +- meson: Actually build gstgl without implicit include dirs +- videoaggregator: Don’t require any pads to be configured for + negotiating source pad caps +- gst-libs: gl: Fix documentation typo and clarify + gl_memory_texsubimage +- audioaggregator: Reset offset if the output rate is renegotiated +- video-anc: Implement transform functions for AFD/Bar metas +- appsrc: Wake up the create() function on caps changes +- rtpbasepayload: do not forget delayed segment when forwarding gaps + +gst-plugins-good + +- v4l2object: Only offer inactive pools and if needed +- vpx: Fix the check to unfixed/unknown framerate to set bitrate +- qmlglsink: fix crash when created/destroyed in quick succession +- rtputils: Count metas with an empty tag list for copying/keeping +- rtpbin: Remove the rtpjitterbuffer with the stream +- rtph26*depay: drop FU’s without a corresponding start bit +- imagefreeze: Response caps query from srcpad +- rtpmp4gdepay: Allow lower-case “aac-hbr” instead of correct + “AAC-hbr” +- rtspsrc: Fix push-backchannel-buffer parameter mismatch +- jpegdec: check buffer size before dereferencing +- flvmux: Move stream skipping to GstAggregatorPadClass.skip_buffer +- v4l2object: plug memory leak +- splitmuxsink: fix sink pad release while PLAYING + +gst-plugins-bad + +- codecparsers: h264parser: guard against ref_pic_markings overflow +- v4l2codecs: Various fixes +- h265parse: Don’t enable passthrough by default +- srt: Fix “Fix timestamping” +- srt: Fixes for 1.4.2 +- dtlsconnection: Ignore OpenSSL system call errors +- h265parse: set interlace-mode=interleaved on interlaced content +- Replace GPL v2 with LGPL v2 in COPYING file +- srt: Consume the error from gst_srt_object_write +- srt: Check socket state before retrieving payload size +- x265enc: fix deadlock on reconfig +- webrtc: Require gstreamer-sdp in the pkg-config file +- srtsrc: Fix timestamping +- mfvideosrc: Use only the first video stream per device +- srtobject: typecast SRTO_LINGER to linger +- decklink: Correctly order the different dependent mode tables +- wasapisrc: Make sure that wasapisrc produces data in loopback mode +- wpesrc: fix some caps leaks using the non-GL output +- smoothstreaming: clear live adapter on seek +- vtdec/vulkan: use Shared storage mode for IOSurface textures +- wpe: Move webview load waiting to WPEView +- wpe: Use proper callback for TLS errors signal handling +- kmssink: Do not source using padded width/height +- avtp: avtpaafdepay: fix crash when building caps +- opencv: set opencv_dep when option is disabled to fix the build +- line21encoder: miscellaneous enhancements +- Hls youtube issues with urisourcebin/queue2 +- rtmp2: Replace stats queue with stats lock +- rtmp2sink: support EOS event for graceful connection shutdown +- mpegtsmux: Make handling of sinkpads thread-safe +- hlssink2: Actually release splitmuxsink’s pads +- mpegtsmux: Don’t create streams with reserved PID + +gst-plugins-ugly + +- no changes + +gst-libav + +- avaudenc/avvidenc: Reopen encoding session if it’s required +- avauddec/audenc/videnc: Don’t return GST_FLOW_EOS when draining +- avauddec/avviddec: Avoid dropping non-OK flow return +- avcodecmap: Enable 24 bit WMA Lossless decoding + +gst-rtsp-server + +- rtsp-stream: collect rtp info when blocking +- rtsp-media: set a 0 storage size for TCP receivers +- rtsp-stream: preroll on gap events +- rtsp-media: do not unblock on unsuspend + +gstreamer-vaapi + +- decoder: don’t reply src caps query with allowed if pad is fixed +- plugins: decode: fix a DMA caps typo in ensure_allowed_srcpad_caps + +gstreamer-sharp + +- Add bindings for some missing 1.18 API + +gst-omx + +- omxvideodec: support interlace-mode=interleaved input + +gst-python + +- no changes + +gst-editing-services + +- ges: Do not recreate auto-transitions when changing clip assets +- ges: Fix a copy/paste mistake in meson file + +gst-integration-testsuites + +- medias: Update for h265parse passthrough behavior change +- update validate.test.h265parse.alternate test + +gst-build + +- windows: Detect Strawberry Perl and error out early +- {pygobject,pycairo}.wrap: point to stable refs + +Cerbero build tool and packaging changes in 1.18.1 + +- Add macOS Big Sur support +- gst-plugins-bad: Ship rtpmanagerbad plugin +- gstreamer-1.0: Don’t enable DbgHelp for UWP build +- pango: fix font corruption on windows +- cairo: use thread local storage to grant one windows HDC per thread +- small fixes for Xcode 12 +- cerbero: Re-add alsa-devel to bootstrap on Linux +- FreeType: update to 2.10.4 to fix security vulnerability + +Contributors to 1.18.1 + +Aaron Boxer, Adam Williamson, Andrew Wesie, Arun Raghavan, Bastien +Reboulet, Brent Gardner, Edward Hervey, François Laignel, Guillaume +Desmottes, Havard Graff, He Junyan, Hosang Lee, Jacek Tomaszewski, Jakub +Adam, Jan Alexander Steffens (heftig), Jan Schmidt, Jérôme Laheurte, +Jordan Petridis, Marc Leeman, Marian Cichy, Marijn Suijten, Mathieu +Duponchelle, Matthew Waters, Michael Tretter, Nazar Mokrynskyi, Nicolas +Dufresne, Niklas Hambüchen, Nirbheek Chauhan, Olivier Crête, Philippe +Normand, raghavendra, Ricky Tang, Sebastian Dröge, Seungha Yang, +sohwan.park, Stéphane Cerveau, Thibault Saunier, Tim-Philipp Müller, Tom +Schoonjans, Víctor Manuel Jáquez Leal, Will Miller, Xavier Claessens, Xℹ +Ruoyao, Zebediah Figura, + +… 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.1 + +- List of Merge Requests applied in 1.18.1 +- List of Issues fixed in 1.18.1 Schedule for 1.20 @@ -1,4 +1,4 @@ -This is GStreamer gst-rtsp-server 1.18.0. +This is GStreamer gst-rtsp-server 1.18.1. The GStreamer team is thrilled to announce a new major feature release of your favourite cross-platform multimedia framework! diff --git a/docs/gst_plugins_cache.json b/docs/gst_plugins_cache.json index 8fadb77..1a2bd7d 100644 --- a/docs/gst_plugins_cache.json +++ b/docs/gst_plugins_cache.json @@ -321,7 +321,7 @@ "construct": false, "construct-only": false, "controllable": false, - "default": "GStreamer/1.18.0.1", + "default": "GStreamer/1.18.1", "mutable": "null", "readable": true, "type": "gchararray", diff --git a/gst-rtsp-server.doap b/gst-rtsp-server.doap index cd72528..8fd62ec 100644 --- a/gst-rtsp-server.doap +++ b/gst-rtsp-server.doap @@ -32,6 +32,16 @@ RTSP server library based on GStreamer <release> <Version> + <revision>1.18.1</revision> + <branch>1.18</branch> + <name></name> + <created>2020-10-26</created> + <file-release rdf:resource="https://gstreamer.freedesktop.org/src/gst-rtsp-server/gst-rtsp-server-1.18.1.tar.xz" /> + </Version> + </release> + + <release> + <Version> <revision>1.18.0</revision> <branch>master</branch> <name></name> diff --git a/meson.build b/meson.build index b8a236b..6628069 100644 --- a/meson.build +++ b/meson.build @@ -1,5 +1,5 @@ project('gst-rtsp-server', 'c', - version : '1.18.0.1', + version : '1.18.1', meson_version : '>= 0.48', default_options : ['warning_level=1', 'buildtype=debugoptimized']) |