Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package gstreamer-plugins-good for openSUSE:Factory checked in at 2022-05-14 22:52:20 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/gstreamer-plugins-good (Old) and /work/SRC/openSUSE:Factory/.gstreamer-plugins-good.new.1538 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "gstreamer-plugins-good" Sat May 14 22:52:20 2022 rev:83 rq:976626 version:1.20.2 Changes: -------- --- /work/SRC/openSUSE:Factory/gstreamer-plugins-good/gstreamer-plugins-good.changes 2022-03-24 22:57:12.556204493 +0100 +++ /work/SRC/openSUSE:Factory/.gstreamer-plugins-good.new.1538/gstreamer-plugins-good.changes 2022-05-14 22:52:28.155013926 +0200 @@ -1,0 +2,20 @@ +Mon May 9 10:59:42 UTC 2022 - Antonio Larrosa <alarr...@suse.com> + +- Update to version 1.20.2: + + deinterlace: silence unused-but-set werror from imported code + + qtdemux: fix leak of channel_mapping + + rtpopusdepay: missing sprop-stereo should not assume mono + + rtpjitterbuffer: Fix invalid memory access in + rtp_jitter_buffer_pop() + + rtpptdemux: fix leak of caps when ignoring a pt + + rtpredenc: quieten warning about ignoring header extensions + + soup: Fix pre-processor macros in souploader for libsoup-3.0 + + twcc: Note that twcc-stats packet loss counts reordering as + loss + add some logging + + video4linux2: Manual backports for RPi users + + wavparse: handle URI query in any parse state, fixing audio + track selection issue in GES + + wavparse: Unset DISCONT buffer flag for divided into multiple + buffers in push mode + +------------------------------------------------------------------- Old: ---- gst-plugins-good-1.20.1.tar.xz New: ---- gst-plugins-good-1.20.2.tar.xz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ gstreamer-plugins-good.spec ++++++ --- /var/tmp/diff_new_pack.gpSCX8/_old 2022-05-14 22:52:28.647014541 +0200 +++ /var/tmp/diff_new_pack.gpSCX8/_new 2022-05-14 22:52:28.651014546 +0200 @@ -26,7 +26,7 @@ %define gst_branch 1.0 Name: gstreamer-plugins-good -Version: 1.20.1 +Version: 1.20.2 Release: 0 Summary: GStreamer Streaming-Media Framework Plug-Ins License: LGPL-2.1-or-later ++++++ gst-plugins-good-1.20.1.tar.xz -> gst-plugins-good-1.20.2.tar.xz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gst-plugins-good-1.20.1/ChangeLog new/gst-plugins-good-1.20.2/ChangeLog --- old/gst-plugins-good-1.20.1/ChangeLog 2022-03-14 12:33:40.000000000 +0100 +++ new/gst-plugins-good-1.20.2/ChangeLog 2022-05-03 00:29:29.000000000 +0200 @@ -1,7 +1,187 @@ +=== release 1.20.2 === + +2022-05-02 23:29:25 +0100 Tim-Philipp M??ller <t...@centricular.com> + + * NEWS: + * RELEASE: + * docs/gst_plugins_cache.json: + * gst-plugins-good.doap: + * meson.build: + Release 1.20.2 + +2022-05-02 23:29:19 +0100 Tim-Philipp M??ller <t...@centricular.com> + + * ChangeLog: + Update ChangeLogs for 1.20.2 + +2022-04-27 12:24:23 +0900 dongil.park <dongil.p...@lge.com> + + * gst/wavparse/gstwavparse.c: + wavparse: Unset DISCONT buffer flag for divided into multiple buffers in push mode + In push mode (streaming), if the received chunk buffer size from _chain is bigger + than output buffer size, the flags of the divided-buffers are propagated to the + DISCONT flag from first received chunk buffer. This unexpected buffers contained DISCONT + flags are abnormally transformed when changing the sampling rate by audioresample element. + So unset unnecessary DISCONT flag before pad_push(). + Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2322> + +2022-04-23 01:57:53 +0200 Mathieu Duponchelle <math...@centricular.com> + + * gst/rtp/gstrtpredenc.c: + * gst/rtp/gstrtpredenc.h: + rtpredenc: quieten warning about ignoring header extensions + Turn it into a FIXME, and only log once + Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2281> + +2022-04-15 09:53:19 +0800 Hou Qi <qi....@nxp.com> + + * sys/v4l2/gstv4l2videodec.c: + v4l2videodec: copy colorimetry values to output_state caps + This is to avoid transcoding negotiation fail between v4l2h265dec + and v4l2h264enc caused by colorimetry mismatch. + Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2220> + +2022-04-07 11:12:47 +1000 Havard Graff <havard.gr...@gmail.com> + + * gst/isomp4/qtdemux.c: + qtdemux: fix leak of channel_mapping + Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2184> + +2022-04-06 09:46:30 -0400 Tristan Matthews <tma...@videolan.org> + + * gst/rtp/gstrtpopusdepay.c: + rtpopusdepay: assume 2 channels if sprop-stereo is missing + Fixes #1064 + Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2139> + +2022-03-26 01:02:02 +0530 Nirbheek Chauhan <nirbh...@centricular.com> + + * ext/soup/meson.build: + meson: Add some messages when selecting libsoup + Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2082> + +2022-03-26 00:59:12 +0530 Nirbheek Chauhan <nirbh...@centricular.com> + + * ext/soup/gstsouphttpsrc.c: + soup: Fix usage of symbols / defines that are gone in libsoup3 + I am not sure about the SOUP_MESSAGE_OVERWRITE_CHUNKS change, but it + was definitely already broken when using libsoup-3.0 in a shared + build. souphttpsrc probably needs to be ported from SoupMessage to + SoupServerMessage when using libsoup-3.0. + Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1111 + Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2082> + +2022-03-26 00:56:04 +0530 Nirbheek Chauhan <nirbh...@centricular.com> + + * ext/soup/gstsouploader.c: + * ext/soup/gstsouploader.h: + soup: Fix pre-processor macros in souploader for libsoup-3.0 + Some of the preprocessor conditionals in the loader were very broken + with libsoup-3.0 + --default-library=static + Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1111 + Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2082> + +2022-03-28 18:12:03 +1100 Matthew Waters <matt...@centricular.com> + + * sys/osxaudio/gstosxcoreaudio.c: + osxcoreaudio: fix unused-but-set warning + ../sys/osxaudio/gstosxcoreaudio.c:480:18: error: variable 'interleaved' set but not used [-Werror,-Wunused-but-set-variable] + gboolean sign, interleaved; + ^ + Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2068> + +2022-03-28 13:35:17 +1100 Matthew Waters <matt...@centricular.com> + + * gst/deinterlace/tvtime/tomsmocomp/SearchLoopTop.inc: + deinterlace: silence unused-but-set werror from imported code + Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2062> + +2022-03-28 09:50:38 +1100 Matthew Waters <matt...@centricular.com> + + * sys/osxvideo/osxvideosink.m: + osxvideosink: fix unused-but-set-variable warning + ../sys/osxvideo/osxvideosink.m:859:11: error: variable 'data' set but not used [-Werror,-Wunused-but-set-variable] + guint8 *data, *readp, *writep; + ^ + Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2055> + +2021-11-17 17:27:13 +1100 Matthew Waters <matt...@centricular.com> + + * gst/rtpmanager/gstrtpptdemux.c: + rtpptdemux: fix leak of caps when ignoring a pt + Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2033> + +2022-03-18 15:20:49 +0100 St??phane Cerveau <scerv...@collabora.com> + + * gst/wavparse/gstwavparse.c: + * tests/check/elements/wavparse.c: + wavparse: handle query in any parse state + In order to create the stream_id, we need to + pass the query to the default query handler. + If the parse state is different from GST_WAVPARSE_DATA + the query should be passed to the default query + handler. + Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2011> + +2022-03-15 15:44:17 +0900 Sangchul Lee <sc11....@samsung.com> + + * gst/rtpmanager/rtpjitterbuffer.c: + rtpjitterbuffer: Fix invalid memory access in rtp_jitter_buffer_pop() + Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1994> + +2022-01-26 10:06:50 -0500 Nicolas Dufresne <nicolas.dufre...@collabora.com> + + * sys/v4l2/gstv4l2transform.c: + v4l2transform: Handle caps changes + As this element is single threaded, we only need to stop the objects to + allow changing the format again. Fixes assertion notably on shutdown and + on some other situation where the format may be set twice without + actually activating the element. + Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1991> + +2022-01-26 09:55:09 -0500 Nicolas Dufresne <nicolas.dufre...@collabora.com> + + * sys/v4l2/gstv4l2object.c: + v4l2object: Avoid crash on early failure + This happens while an external error lead to an early shutdown. + Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1991> + +2022-03-14 16:19:33 +0800 Hou Qi <qi....@nxp.com> + + * sys/v4l2/gstv4l2videodec.c: + v4l2videodec: set frame duration according to framerate + Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1989> + +2022-03-14 12:29:04 +0530 Nirbheek Chauhan <nirbh...@centricular.com> + + * gst/rtpmanager/rtpsession.c: + * gst/rtpmanager/rtptwcc.c: + twcc: Add some logging to debug TWCC feedback + This should allow people to debug when TWCC feedback is not enabled + because they haven't set the extmap in the caps. + Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1979> + +2022-03-14 13:45:36 +0530 Nirbheek Chauhan <nirbh...@centricular.com> + + * gst/rtpmanager/gstrtpsession.c: + twcc: Note that packet-loss-pct can count reordering as loss + This is difficult to encounter in ordinary networks, but is + encountered when using tc-netem to add random delays to packets, and + also when your UDP stream is bonded over multiple links with varying + characteristics. + Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1979> + +2022-03-14 14:48:01 +0000 Tim-Philipp M??ller <t...@centricular.com> + + * docs/gst_plugins_cache.json: + * meson.build: + Back to development + === release 1.20.1 === 2022-03-14 11:33:33 +0000 Tim-Philipp M??ller <t...@centricular.com> + * ChangeLog: * NEWS: * RELEASE: * docs/gst_plugins_cache.json: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gst-plugins-good-1.20.1/NEWS new/gst-plugins-good-1.20.2/NEWS --- old/gst-plugins-good-1.20.1/NEWS 2022-03-14 12:33:40.000000000 +0100 +++ new/gst-plugins-good-1.20.2/NEWS 2022-05-03 00:29:29.000000000 +0200 @@ -2,13 +2,13 @@ GStreamer 1.20.0 was originally released on 3 February 2022. -The latest bug-fix release in the 1.20 series is 1.20.1 and was released -on 14 March 2022. +The latest bug-fix release in the 1.20 series is 1.20.2 and was released +on 2 May 2022. See https://gstreamer.freedesktop.org/releases/1.20/ for the latest version of this document. -Last updated: Monday 14 March 2022, 00:30 UTC (log) +Last updated: Monday 2 May 2022, 0:30 UTC (log) Introduction @@ -2076,6 +2076,221 @@ - List of Merge Requests applied in 1.20.1 - List of Issues fixed in 1.20.1 +1.20.2 + +The second 1.20 bug-fix release (1.20.2) was released on 2 May 2022. + +This release only contains bugfixes and it should be safe to update from +1.20.x. + +Highlighted bugfixes in 1.20.2 + +- avviddec: Remove vc1/wmv3 override and fix crashes on WMV files with + FFMPEG 5.0+ +- macOS: fix plugin discovery for GStreamer installed via brew and fix + loading of Rust plugins +- rtpbasepayload: various header extension handling fixes +- rtpopusdepay: fix regression in stereo input handling if + sprop-stereo is not advertised +- rtspclientsink: fix possible shutdown deadlock +- mpegts: gracefully handle ???empty??? program maps and fix AC-4 + detection +- mxfdemux: Handle empty VANC packets and fix EOS handling +- playbin3: various playbin3, uridecodebin3, and playsink fixes +- ptpclock: fix initial sync-up with certain devices +- gltransformation: let graphene alloc its structures memory aligned +- webrtcbin fixes and webrtc sendrecv example improvements +- video4linux2: various fixes including some fixes for Raspberry Pi + users +- videorate segment handling fixes and other fixes +- nvh264dec, nvh265dec: Fix broken key-unit trick modes and reverse + playback +- wpe: Reintroduce persistent WebContext +- cerbero: Make it easier to consume 1.20.1 macOS GStreamer .pkgs +- build fixes and gobject annotation fixes +- bug fixes, security fixes, memory leak fixes, and other stability + and reliability improvements + +gstreamer + +- devicemonitor: clean up signal handlers and hidden providers list +- Leaks tracer: fix pthread_atfork return value check leading to bogus + warning in log +- Rust plugins: Not picked up by the plugin loader on macOS +- Failed to use plugins of latest GStreamer version 1.20.x installed + by brew on macOS +- ptpclock: Allow at least 100ms delay between Sync/Follow_Up and + Delay_Req/Delay_Resp messages. Fixes problems acquiring initial sync + with certain devices +- meson: Add -Wl,-rpath,${libdir} on macOS +- registry: skip Rust dep builddirs when searching for plugins + recursively + +gst-plugins-base + +- appsrc: Clarify buffer ref semantics in signals documentation +- appsrc: fix annotations for bindings +- typefind: Skip extension parsing for data:// URIs, fixing regression + with mp4 files serialised to data uris +- playbin3: various fixes +- playbin3: fix missing lock when unknown stream type in pad-removed + cb +- decodebin3: fix collection leaks +- decodebin3: Don???t duplicate stream selections +- discoverer: chain up to parent finalize methods in all our types to + fix memory leaks +- glmixerbin: slightly better pad/element creation +- gltransformation: let graphene alloc its structures memory aligned +- ogg: fix possible buffer overrun +- rtpbasepayload: Don???t write header extensions if there???s no + corresponding??? +- rtpbasepayload: always store input buffer meta before negotiation +- rtpbasepayload: fix transfer annotation for push and push_list +- subparse: don???t try to index string with -1 +- riff-media: fix memory leak after usage for g_strjoin() +- playbin/playbin3: Allow setting a NULL URI +- playsink: Complete reconfiguration on pad release. +- parsebin: Expose streams of unknown type +- pbutils: Fix wmv screen description detection +- subparse: don???t deref a potentially NULL variable +- rawvideoparse: set format from caps in + gst_raw_video_parse_set_config_from_caps +- videodecoder: release stream lock after handling gap events +- videorate: fix assertion when pushing last and only buffer without + duration +- videorate: Revert ???don???t reset on segment update??? to fix segment + handling regressions +- gst-play-1.0, gst-launch-1.0: Enable win32 high-resolution timer + also for MinGW build + +gst-plugins-good + +- deinterlace: silence unused-but-set werror from imported code +- qtdemux: fix leak of channel_mapping +- rtpopusdepay: missing sprop-stereo should not assume mono +- rtpjitterbuffer: Fix invalid memory access in + rtp_jitter_buffer_pop() +- rtpptdemux: fix leak of caps when ignoring a pt +- rtpredenc: quieten warning about ignoring header extensions +- soup: Fix pre-processor macros in souploader for libsoup-3.0 +- twcc: Note that twcc-stats packet loss counts reordering as loss + + add some logging +- video4linux2: Manual backports for RPi users +- wavparse: handle URI query in any parse state, fixing audio track + selection issue in GES +- wavparse: Unset DISCONT buffer flag for divided into multiple + buffers in push mode + +gst-plugins-bad + +- av1parse: Fix several issues about the colorimetry. +- av1parse: fix up various possible logic errors +- dashsink: fix missing mutex unlock in error code path when failing + to get content +- d3d11videosink: Fix for unhandled mouse double click events +- interlace: Also handle a missing ???interlace-mode??? field as + progressive +- msdk: fix build with MSVC +- mxfdemux: Fix issues at EOS +- mxfdemux: Handle empty VANC packets +- nvh264dec, nvh265dec: Fix broken key-unit trick and reverse playback +- nvvp9sldec: Increase DPB size to cover render delay +- rvsg: fix cairo include +- tsdemux: Fix AC-4 detection in MPEG-TS +- tsdemux: Handle ???empty??? PMT gracefully +- va: pool: don???t advertise the GST_BUFFER_POOL_OPTION_VIDEO_ALIGNMENT + option any more +- v4l2codecs: Fix memory leak +- v4l2videodec: set frame duration according to framerate +- webrtcbin: Update documentation of ???get-stats??? action signal +- webrtcbin: Check data channel transport for notifying + ???ice-gathering-state??? +- webrtcbin: Avoid access of freed memory +- wpe: Reintroduce persistent WebContext +- Build: use CMake to find some openssl and exr deps +- Fix multiple ???unused-but-set variable??? compiler warnings + +gst-plugins-ugly + +- x264enc: Don???t try to fixate ANY allowed caps + +gst-libav + +- video decoders: fix frame leak on negotiation error +- Fix build on systems without C++ compiler +- avviddec: Remove vc1/wmv3 override (fixing crash with FFmpeg 5 +- Segfaults on ASF/WMV files with FFMPEG 5.0+ + +gst-rtsp-server + +- rtspclientsink: fix possible shutdown deadlock in collect_streams() +- Minor spelling fixes + +gstreamer-vaapi + +- No changes + +gstreamer-sharp + +- No changes + +gst-omx + +- No changes + +gst-python + +- Fix build on systems without C++ compiler + +gst-editing-services + +- License clarification: GES is released under the LGPL2+ license + +gst-examples: + +- Fix build on macOS with gtk+-quartz-3.0 +- player android: add missing dummy.cpp +- player android: update for android changes +- webrtc_sendrecv.py: Link pads instead of elements +- webrtc_sendrecv.py: Implement all negotiation modes + bugfixes + +Development build environment + gst-full build + +- meson: provide gobject-cast-checks, glib-checks and glib-asserts + options at top level as well + +Cerbero build tool and packaging changes in 1.20.2 + +- macOS: Make it easier to consume 1.20.1 GStreamer .pkgs +- Android: fix text relocation regression on Android (x86/ x86_64 + platforms) + +Bindings + +- appsrc: fix annotations for bindings +- bindings: The out args for gst_rtp_buffer_get_extension_data*() are + optional +- rtpbasepayload: fix transfer annotation for push and push_list + +Contributors to 1.20.2 + +Bastian Krause, Benjamin Gaignard, Camilo Celis Guzman, Chun-wei Fan, +Corentin Damman, Daniel Stone, Dongil Park, Edward Hervey, Fabrice +Fontaine, Guillaume Desmottes, Havard Graff, He Junyan, Hoonhee Lee, Hou +Qi, Jan Schmidt, Marc Leeman, Mathieu Duponchelle, Matthew Waters, +Nicolas Dufresne, Nirbheek Chauhan, Philippe Normand, Pierre Bourr??, +Sangchul Lee, Sebastian Dr??ge, Seungha Yang, St??phane Cerveau, Thibault +Saunier, Tim-Philipp M??ller, Tong Wu, Tristan Matthews, Tulio Beloqui, +Wonchul Lee, Zhao Zhili, + +??? 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.20.2 + +- List of Merge Requests applied in 1.20.2 +- List of Issues fixed in 1.20.2 + Schedule for 1.22 Our next major feature release will be 1.22, and 1.21 will be the diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gst-plugins-good-1.20.1/RELEASE new/gst-plugins-good-1.20.2/RELEASE --- old/gst-plugins-good-1.20.1/RELEASE 2022-03-14 12:33:40.000000000 +0100 +++ new/gst-plugins-good-1.20.2/RELEASE 2022-05-03 00:29:29.000000000 +0200 @@ -1,4 +1,4 @@ -This is GStreamer gst-plugins-good 1.20.1. +This is GStreamer gst-plugins-good 1.20.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-plugins-good-1.20.1/docs/gst_plugins_cache.json new/gst-plugins-good-1.20.2/docs/gst_plugins_cache.json --- old/gst-plugins-good-1.20.1/docs/gst_plugins_cache.json 2022-03-14 12:33:40.000000000 +0100 +++ new/gst-plugins-good-1.20.2/docs/gst_plugins_cache.json 2022-05-03 00:29:29.000000000 +0200 @@ -6607,7 +6607,7 @@ "construct": false, "construct-only": false, "controllable": false, - "default": "GStreamer 1.20.1 FLV muxer", + "default": "GStreamer 1.20.2 FLV muxer", "mutable": "null", "readable": true, "type": "gchararray", @@ -6619,7 +6619,7 @@ "construct": false, "construct-only": false, "controllable": false, - "default": "GStreamer 1.20.1 FLV muxer", + "default": "GStreamer 1.20.2 FLV muxer", "mutable": "null", "readable": true, "type": "gchararray", @@ -20478,7 +20478,7 @@ "construct": false, "construct-only": false, "controllable": false, - "default": "GStreamer/1.20.1", + "default": "GStreamer/1.20.2", "mutable": "null", "readable": true, "type": "gchararray", @@ -22435,7 +22435,7 @@ "construct": false, "construct-only": false, "controllable": false, - "default": "GStreamer souphttpsrc 1.20.1 ", + "default": "GStreamer souphttpsrc 1.20.2 ", "mutable": "null", "readable": true, "type": "gchararray", diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gst-plugins-good-1.20.1/ext/soup/gstsouphttpsrc.c new/gst-plugins-good-1.20.2/ext/soup/gstsouphttpsrc.c --- old/gst-plugins-good-1.20.1/ext/soup/gstsouphttpsrc.c 2022-03-14 12:33:40.000000000 +0100 +++ new/gst-plugins-good-1.20.2/ext/soup/gstsouphttpsrc.c 2022-05-03 00:29:29.000000000 +0200 @@ -1014,11 +1014,14 @@ NULL); g_object_unref (proxy_resolver); } +#if !defined(STATIC_SOUP) || STATIC_SOUP == 2 } else { g_object_set (session->session, "ssl-strict", src->ssl_strict, NULL); if (src->proxy != NULL) { + /* Need #if because there's no proxy->soup_uri when STATIC_SOUP == 3 */ g_object_set (session->session, "proxy-uri", src->proxy->soup_uri, NULL); } +#endif } gst_soup_util_log_setup (session->session, src->log_level, @@ -1612,6 +1615,8 @@ return GST_FLOW_OK; } + /* SOUP_STATUS_IS_TRANSPORT_ERROR was replaced with GError in libsoup-3.0 */ +#if !defined(STATIC_SOUP) || STATIC_SOUP == 2 if (SOUP_STATUS_IS_TRANSPORT_ERROR (status_code)) { switch (status_code) { case SOUP_STATUS_CANT_RESOLVE: @@ -1647,6 +1652,7 @@ } return GST_FLOW_OK; } +#endif if (SOUP_STATUS_IS_CLIENT_ERROR (status_code) || SOUP_STATUS_IS_REDIRECTION (status_code) || @@ -1770,8 +1776,20 @@ G_CALLBACK (gst_soup_http_src_authenticate_cb), src); } - _soup_message_set_flags (src->msg, SOUP_MESSAGE_OVERWRITE_CHUNKS | - (src->automatic_redirect ? 0 : SOUP_MESSAGE_NO_REDIRECT)); + { + SoupMessageFlags flags = + src->automatic_redirect ? 0 : SOUP_MESSAGE_NO_REDIRECT; + + /* SOUP_MESSAGE_OVERWRITE_CHUNKS is gone in libsoup-3.0, and + * soup_message_body_set_accumulate() requires SoupMessageBody, which + * can only be fetched from SoupServerMessage, not SoupMessage */ +#if !defined(STATIC_SOUP) || STATIC_SOUP == 2 + if (gst_soup_loader_get_api_version () == 2) + flags |= SOUP_MESSAGE_OVERWRITE_CHUNKS; +#endif + + _soup_message_set_flags (src->msg, flags); + } if (src->automatic_redirect) { g_signal_connect (src->msg, "restarted", diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gst-plugins-good-1.20.1/ext/soup/gstsouploader.c new/gst-plugins-good-1.20.2/ext/soup/gstsouploader.c --- old/gst-plugins-good-1.20.1/ext/soup/gstsouploader.c 2022-03-14 12:33:40.000000000 +0100 +++ new/gst-plugins-good-1.20.2/ext/soup/gstsouploader.c 2022-05-03 00:29:29.000000000 +0200 @@ -28,11 +28,13 @@ #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) && !WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) #define GST_WINAPI_ONLY_APP #endif -#endif +#endif /* G_OS_WIN32 */ GST_DEBUG_CATEGORY_EXTERN (gst_soup_debug); #define GST_CAT_DEFAULT gst_soup_debug +#ifndef STATIC_SOUP + /* G_OS_WIN32 is handled separately below */ #ifdef __APPLE__ #define LIBSOUP_3_SONAME "libsoup-3.0.0.dylib" @@ -165,7 +167,7 @@ g_clear_pointer (&handle, dlclose); } -#else +#else /* !HAVE_RTLD_NOLOAD */ #ifdef G_OS_WIN32 @@ -206,7 +208,7 @@ } } } -#else +#else /* !G_OS_WIN32 */ libsoup_sonames[0] = LIBSOUP_3_SONAME; libsoup_sonames[1] = LIBSOUP_2_SONAME; #endif /* G_OS_WIN32 */ @@ -290,13 +292,16 @@ return vtable->loaded; } +#endif /* !STATIC_SOUP */ + guint gst_soup_loader_get_api_version (void) { #ifdef STATIC_SOUP return STATIC_SOUP; -#endif +#else return gst_soup_vtable.lib_version; +#endif } SoupSession * @@ -382,38 +387,49 @@ void gst_soup_uri_free (GstSoupUri * uri) { -#if GLIB_CHECK_VERSION(2, 66, 0) +#if (defined(STATIC_SOUP) && STATIC_SOUP == 3) || (!defined(STATIC_SOUP) && GLIB_CHECK_VERSION(2, 66, 0)) if (uri->uri) { g_uri_unref (uri->uri); } #endif + +#if defined(STATIC_SOUP) +#if STATIC_SOUP == 2 if (uri->soup_uri) { -#if defined(STATIC_SOUP) && STATIC_SOUP == 2 soup_uri_free (uri->soup_uri); -#else + } +#endif +#else /* !STATIC_SOUP */ + if (uri->soup_uri) { g_assert (gst_soup_vtable._soup_uri_free_2 != NULL); gst_soup_vtable._soup_uri_free_2 (uri->soup_uri); -#endif } +#endif /* STATIC_SOUP */ g_free (uri); } char * gst_soup_uri_to_string (GstSoupUri * uri) { -#if GLIB_CHECK_VERSION(2, 66, 0) +#if (defined(STATIC_SOUP) && STATIC_SOUP == 3) || (!defined(STATIC_SOUP) && GLIB_CHECK_VERSION(2, 66, 0)) if (uri->uri) { return g_uri_to_string_partial (uri->uri, G_URI_HIDE_PASSWORD); } #endif + +#if defined(STATIC_SOUP) +#if STATIC_SOUP == 2 if (uri->soup_uri) { -#if defined(STATIC_SOUP) && STATIC_SOUP == 2 return soup_uri_to_string (uri->soup_uri, FALSE); -#else + } +#endif +#else /* !STATIC_SOUP */ + if (uri->soup_uri) { g_assert (gst_soup_vtable._soup_uri_to_string_2 != NULL); return gst_soup_vtable._soup_uri_to_string_2 (uri->soup_uri, FALSE); -#endif } +#endif /* STATIC_SOUP */ + g_assert_not_reached (); return NULL; } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gst-plugins-good-1.20.1/ext/soup/gstsouploader.h new/gst-plugins-good-1.20.2/ext/soup/gstsouploader.h --- old/gst-plugins-good-1.20.1/ext/soup/gstsouploader.h 2022-03-14 12:33:40.000000000 +0100 +++ new/gst-plugins-good-1.20.2/ext/soup/gstsouploader.h 2022-05-03 00:29:29.000000000 +0200 @@ -41,10 +41,12 @@ void _soup_session_add_feature_by_type (SoupSession *session, GType feature_type); typedef struct _GstSoupUri { -#if GLIB_CHECK_VERSION(2, 66, 0) +#if (defined(STATIC_SOUP) && STATIC_SOUP == 3) || (!defined(STATIC_SOUP) && GLIB_CHECK_VERSION(2, 66, 0)) GUri *uri; #endif +#if (defined(STATIC_SOUP) && STATIC_SOUP == 2) || !defined(STATIC_SOUP) SoupURI *soup_uri; +#endif } GstSoupUri; GstSoupUri *gst_soup_uri_new (const char *uri_string); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gst-plugins-good-1.20.1/ext/soup/meson.build new/gst-plugins-good-1.20.2/ext/soup/meson.build --- old/gst-plugins-good-1.20.1/ext/soup/meson.build 2022-03-14 12:33:40.000000000 +0100 +++ new/gst-plugins-good-1.20.2/ext/soup/meson.build 2022-05-03 00:29:29.000000000 +0200 @@ -35,9 +35,11 @@ if libsoup3_dep.found() static_deps += libsoup3_dep static_args += '-DSTATIC_SOUP=3' + message('soup plugin: using libsoup-3.0 for static build') elif libsoup2_dep.found() static_deps += libsoup2_dep static_args += '-DSTATIC_SOUP=2' + message('soup plugin: using libsoup-2.4 for static build') endif endif diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gst-plugins-good-1.20.1/gst/deinterlace/tvtime/tomsmocomp/SearchLoopTop.inc new/gst-plugins-good-1.20.2/gst/deinterlace/tvtime/tomsmocomp/SearchLoopTop.inc --- old/gst-plugins-good-1.20.1/gst/deinterlace/tvtime/tomsmocomp/SearchLoopTop.inc 2022-03-14 12:33:40.000000000 +0100 +++ new/gst-plugins-good-1.20.2/gst/deinterlace/tvtime/tomsmocomp/SearchLoopTop.inc 2022-05-03 00:29:29.000000000 +0200 @@ -21,6 +21,12 @@ long Last8; +// XXX; silence unused-but-set warnings turned into errors with Werror +(void) pSrc; +(void) pSrcP; +(void) pBob; +(void) pBobP; + pSrc = pWeaveSrc; // points 1 weave line above pSrcP = pWeaveSrcP; // " diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gst-plugins-good-1.20.1/gst/isomp4/qtdemux.c new/gst-plugins-good-1.20.2/gst/isomp4/qtdemux.c --- old/gst-plugins-good-1.20.1/gst/isomp4/qtdemux.c 2022-03-14 12:33:40.000000000 +0100 +++ new/gst-plugins-good-1.20.2/gst/isomp4/qtdemux.c 2022-05-03 00:29:29.000000000 +0200 @@ -12593,6 +12593,7 @@ entry->caps = gst_codec_utils_opus_create_caps (rate, channels, channel_mapping_family, stream_count, coupled_count, channel_mapping); + g_free (channel_mapping); break; } default: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gst-plugins-good-1.20.1/gst/rtp/gstrtpopusdepay.c new/gst-plugins-good-1.20.2/gst/rtp/gstrtpopusdepay.c --- old/gst-plugins-good-1.20.1/gst/rtp/gstrtpopusdepay.c 2022-03-14 12:33:40.000000000 +0100 +++ new/gst-plugins-good-1.20.2/gst/rtp/gstrtpopusdepay.c 2022-05-03 00:29:29.000000000 +0200 @@ -206,8 +206,10 @@ GST_WARNING_OBJECT (depayload, "Unknown sprop-stereo value '%s'", sprop_stereo); } else { - /* sprop-stereo defaults to mono as per RFC 7587. */ - gst_caps_set_simple (srccaps, "channels", G_TYPE_INT, 1, NULL); + /* Although sprop-stereo defaults to mono as per RFC 7587, this just means + that the signal is likely mono and can be safely downmixed, it may + still be stereo at times. */ + gst_caps_set_simple (srccaps, "channels", G_TYPE_INT, 2, NULL); } } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gst-plugins-good-1.20.1/gst/rtp/gstrtpredenc.c new/gst-plugins-good-1.20.2/gst/rtp/gstrtpredenc.c --- old/gst-plugins-good-1.20.1/gst/rtp/gstrtpredenc.c 2022-03-14 12:33:40.000000000 +0100 +++ new/gst-plugins-good-1.20.2/gst/rtp/gstrtpredenc.c 2022-05-03 00:29:29.000000000 +0200 @@ -157,8 +157,11 @@ g_assert_not_reached (); /* Copying RTP header of incoming packet */ - if (gst_rtp_buffer_get_extension (inp_rtp)) - GST_WARNING_OBJECT (self, "FIXME: Ignoring RTP extension"); + if (gst_rtp_buffer_get_extension (inp_rtp) + && !self->ignoring_extension_warned) { + GST_FIXME_OBJECT (self, "Ignoring RTP extension"); + self->ignoring_extension_warned = TRUE; + } gst_rtp_buffer_set_marker (&red_rtp, gst_rtp_buffer_get_marker (inp_rtp)); gst_rtp_buffer_set_payload_type (&red_rtp, self->pt); @@ -475,6 +478,7 @@ self->allow_no_red_blocks = DEFAULT_ALLOW_NO_RED_BLOCKS; self->num_sent = 0; self->rtp_history = g_queue_new (); + self->ignoring_extension_warned = FALSE; } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gst-plugins-good-1.20.1/gst/rtp/gstrtpredenc.h new/gst-plugins-good-1.20.2/gst/rtp/gstrtpredenc.h --- old/gst-plugins-good-1.20.1/gst/rtp/gstrtpredenc.h 2022-03-14 12:33:40.000000000 +0100 +++ new/gst-plugins-good-1.20.2/gst/rtp/gstrtpredenc.h 2022-05-03 00:29:29.000000000 +0200 @@ -57,6 +57,8 @@ gboolean send_caps; gboolean is_current_caps_red; guint8 twcc_ext_id; + + gboolean ignoring_extension_warned; }; GType gst_rtp_red_enc_get_type (void); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gst-plugins-good-1.20.1/gst/rtpmanager/gstrtpptdemux.c new/gst-plugins-good-1.20.2/gst/rtpmanager/gstrtpptdemux.c --- old/gst-plugins-good-1.20.1/gst/rtpmanager/gstrtpptdemux.c 2022-03-14 12:33:40.000000000 +0100 +++ new/gst-plugins-good-1.20.2/gst/rtpmanager/gstrtpptdemux.c 2022-05-03 00:29:29.000000000 +0200 @@ -477,8 +477,12 @@ if (!caps) goto no_caps; - if (gst_rtp_pt_demux_pt_is_ignored (rtpdemux, pt)) + /* must be after the get_caps() call as get_caps() may cause external code + * (e.g. rtpbin) to update the ignored-pt list */ + if (gst_rtp_pt_demux_pt_is_ignored (rtpdemux, pt)) { + gst_clear_caps (&caps); goto ignored; + } klass = GST_ELEMENT_GET_CLASS (rtpdemux); templ = gst_element_class_get_pad_template (klass, "src_%u"); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gst-plugins-good-1.20.1/gst/rtpmanager/gstrtpsession.c new/gst-plugins-good-1.20.2/gst/rtpmanager/gstrtpsession.c --- old/gst-plugins-good-1.20.1/gst/rtpmanager/gstrtpsession.c 2022-03-14 12:33:40.000000000 +0100 +++ new/gst-plugins-good-1.20.2/gst/rtpmanager/gstrtpsession.c 2022-05-03 00:29:29.000000000 +0200 @@ -774,7 +774,11 @@ * "packets-sent" G_TYPE_UINT Number of packets sent * "packets-recv" G_TYPE_UINT Number of packets reported recevied * "packet-loss-pct" G_TYPE_DOUBLE Packetloss percentage, based on - * packets reported as lost from the recevier. + * packets reported as lost from the receiver. Note: depending on the + * implementation of the receiver and due to the nature of the TWCC + * RRs being sent with high frequency, out of order packets may not + * be fully accounted for and this number could be higher than other + * measurement sources of packet loss. * "avg-delta-of-delta", G_TYPE_INT64 In nanoseconds, a moving window * average of the difference in inter-packet spacing between * sender and receiver. A sudden increase in this number can indicate diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gst-plugins-good-1.20.1/gst/rtpmanager/rtpjitterbuffer.c new/gst-plugins-good-1.20.2/gst/rtpmanager/rtpjitterbuffer.c --- old/gst-plugins-good-1.20.1/gst/rtpmanager/rtpjitterbuffer.c 2022-03-14 12:33:40.000000000 +0100 +++ new/gst-plugins-good-1.20.2/gst/rtpmanager/rtpjitterbuffer.c 2022-05-03 00:29:29.000000000 +0200 @@ -1265,7 +1265,8 @@ /* let's clear the pointers so we can ensure we don't free items that are * still in the jitterbuffer */ - item->next = item->prev = NULL; + if (item) + item->next = item->prev = NULL; return (RTPJitterBufferItem *) item; } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gst-plugins-good-1.20.1/gst/rtpmanager/rtpsession.c new/gst-plugins-good-1.20.2/gst/rtpmanager/rtpsession.c --- old/gst-plugins-good-1.20.1/gst/rtpmanager/rtpsession.c 2022-03-14 12:33:40.000000000 +0100 +++ new/gst-plugins-good-1.20.2/gst/rtpmanager/rtpsession.c 2022-05-03 00:29:29.000000000 +0200 @@ -4245,6 +4245,8 @@ return; } + GST_DEBUG ("generating TWCC feedback for source %08x", source->ssrc); + while ((buf = rtp_twcc_manager_get_feedback (sess->twcc, source->ssrc))) { ReportOutput *output = g_slice_new (ReportOutput); output->source = g_object_ref (source); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gst-plugins-good-1.20.1/gst/rtpmanager/rtptwcc.c new/gst-plugins-good-1.20.2/gst/rtpmanager/rtptwcc.c --- old/gst-plugins-good-1.20.1/gst/rtpmanager/rtptwcc.c 2022-03-14 12:33:40.000000000 +0100 +++ new/gst-plugins-good-1.20.2/gst/rtpmanager/rtptwcc.c 2022-05-03 00:29:29.000000000 +0200 @@ -336,8 +336,10 @@ gint32 val = -1; gpointer data; - if (twcc->recv_ext_id == 0) + if (twcc->recv_ext_id == 0) { + GST_DEBUG ("Received TWCC packet, but no extension registered; ignoring"); return val; + } if (_get_twcc_seqnum_data (pinfo, twcc->recv_ext_id, &data)) { val = GST_READ_UINT16_BE (data); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gst-plugins-good-1.20.1/gst/wavparse/gstwavparse.c new/gst-plugins-good-1.20.2/gst/wavparse/gstwavparse.c --- old/gst-plugins-good-1.20.1/gst/wavparse/gstwavparse.c 2022-03-14 12:33:40.000000000 +0100 +++ new/gst-plugins-good-1.20.2/gst/wavparse/gstwavparse.c 2022-05-03 00:29:29.000000000 +0200 @@ -2158,6 +2158,8 @@ GST_DEBUG_OBJECT (wav, "marking DISCONT"); GST_BUFFER_FLAG_SET (buf, GST_BUFFER_FLAG_DISCONT); wav->discont = FALSE; + } else { + GST_BUFFER_FLAG_UNSET (buf, GST_BUFFER_FLAG_DISCONT); } GST_BUFFER_TIMESTAMP (buf) = timestamp; @@ -2657,13 +2659,12 @@ gboolean res = TRUE; GstWavParse *wav = GST_WAVPARSE (parent); - /* only if we know */ + GST_LOG_OBJECT (pad, "%s query", GST_QUERY_TYPE_NAME (query)); + if (wav->state != GST_WAVPARSE_DATA) { - return FALSE; + return gst_pad_query_default (pad, parent, query); } - GST_LOG_OBJECT (pad, "%s query", GST_QUERY_TYPE_NAME (query)); - switch (GST_QUERY_TYPE (query)) { case GST_QUERY_POSITION: { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gst-plugins-good-1.20.1/gst-plugins-good.doap new/gst-plugins-good-1.20.2/gst-plugins-good.doap --- old/gst-plugins-good-1.20.1/gst-plugins-good.doap 2022-03-14 12:33:40.000000000 +0100 +++ new/gst-plugins-good-1.20.2/gst-plugins-good.doap 2022-05-03 00:29:29.000000000 +0200 @@ -34,6 +34,16 @@ <release> <Version> + <revision>1.20.2</revision> + <branch>1.20</branch> + <name></name> + <created>2022-05-02</created> + <file-release rdf:resource="https://gstreamer.freedesktop.org/src/gst-plugins-good/gst-plugins-good-1.20.2.tar.xz" /> + </Version> + </release> + + <release> + <Version> <revision>1.20.1</revision> <branch>1.20</branch> <name></name> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gst-plugins-good-1.20.1/meson.build new/gst-plugins-good-1.20.2/meson.build --- old/gst-plugins-good-1.20.1/meson.build 2022-03-14 12:33:40.000000000 +0100 +++ new/gst-plugins-good-1.20.2/meson.build 2022-05-03 00:29:29.000000000 +0200 @@ -1,5 +1,5 @@ project('gst-plugins-good', 'c', - version : '1.20.1', + version : '1.20.2', meson_version : '>= 0.59', default_options : [ 'warning_level=1', 'buildtype=debugoptimized' ]) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gst-plugins-good-1.20.1/po/gst-plugins-good-1.0.pot new/gst-plugins-good-1.20.2/po/gst-plugins-good-1.0.pot --- old/gst-plugins-good-1.20.1/po/gst-plugins-good-1.0.pot 2022-03-14 12:37:45.656143400 +0100 +++ new/gst-plugins-good-1.20.2/po/gst-plugins-good-1.0.pot 2022-05-03 00:30:13.455428000 +0200 @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: gst-plugins-good-1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-03-14 11:37+0000\n" +"POT-Creation-Date: 2022-05-02 23:30+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Language-Team: LANGUAGE <l...@li.org>\n" @@ -58,32 +58,32 @@ msgid "Could not connect to server" msgstr "" -#: ext/soup/gstsouphttpsrc.c:1107 +#: ext/soup/gstsouphttpsrc.c:1110 msgid "No URL set." msgstr "" -#: ext/soup/gstsouphttpsrc.c:1620 +#: ext/soup/gstsouphttpsrc.c:1625 msgid "Could not resolve server name." msgstr "" -#: ext/soup/gstsouphttpsrc.c:1625 +#: ext/soup/gstsouphttpsrc.c:1630 msgid "Could not establish connection to server." msgstr "" -#: ext/soup/gstsouphttpsrc.c:1629 +#: ext/soup/gstsouphttpsrc.c:1634 msgid "Secure connection setup failed." msgstr "" -#: ext/soup/gstsouphttpsrc.c:1635 +#: ext/soup/gstsouphttpsrc.c:1640 msgid "" "A network error occurred, or the server closed the connection unexpectedly." msgstr "" -#: ext/soup/gstsouphttpsrc.c:1640 +#: ext/soup/gstsouphttpsrc.c:1645 msgid "Server sent bad data." msgstr "" -#: ext/soup/gstsouphttpsrc.c:1933 +#: ext/soup/gstsouphttpsrc.c:1951 msgid "Server does not support seeking." msgstr "" @@ -111,7 +111,7 @@ #: gst/isomp4/qtdemux.c:4242 gst/isomp4/qtdemux.c:8276 #: gst/isomp4/qtdemux.c:8283 gst/isomp4/qtdemux.c:9569 #: gst/isomp4/qtdemux.c:10011 gst/isomp4/qtdemux.c:10018 -#: gst/isomp4/qtdemux.c:13119 +#: gst/isomp4/qtdemux.c:13120 msgid "This file is corrupt and cannot be played." msgstr "" @@ -210,99 +210,99 @@ msgid "Failed to enumerate possible video formats device '%s' can work with" msgstr "" -#: sys/v4l2/gstv4l2object.c:3145 +#: sys/v4l2/gstv4l2object.c:3146 #, c-format msgid "Could not map buffers from device '%s'" msgstr "" -#: sys/v4l2/gstv4l2object.c:3153 +#: sys/v4l2/gstv4l2object.c:3154 #, c-format msgid "The driver of device '%s' does not support the IO method %d" msgstr "" -#: sys/v4l2/gstv4l2object.c:3160 +#: sys/v4l2/gstv4l2object.c:3161 #, c-format msgid "The driver of device '%s' does not support any known IO method." msgstr "" -#: sys/v4l2/gstv4l2object.c:4008 +#: sys/v4l2/gstv4l2object.c:4009 msgid "Invalid caps" msgstr "" -#: sys/v4l2/gstv4l2object.c:4015 sys/v4l2/gstv4l2object.c:4039 +#: sys/v4l2/gstv4l2object.c:4016 sys/v4l2/gstv4l2object.c:4040 #, c-format msgid "Device '%s' has no supported format" msgstr "" -#: sys/v4l2/gstv4l2object.c:4021 sys/v4l2/gstv4l2object.c:4045 +#: sys/v4l2/gstv4l2object.c:4022 sys/v4l2/gstv4l2object.c:4046 #, c-format msgid "Device '%s' failed during initialization" msgstr "" -#: sys/v4l2/gstv4l2object.c:4033 +#: sys/v4l2/gstv4l2object.c:4034 #, c-format msgid "Device '%s' is busy" msgstr "" -#: sys/v4l2/gstv4l2object.c:4056 +#: sys/v4l2/gstv4l2object.c:4057 #, c-format msgid "Device '%s' cannot capture at %dx%d" msgstr "" -#: sys/v4l2/gstv4l2object.c:4065 +#: sys/v4l2/gstv4l2object.c:4066 #, c-format msgid "Device '%s' cannot capture in the specified format" msgstr "" -#: sys/v4l2/gstv4l2object.c:4076 +#: sys/v4l2/gstv4l2object.c:4077 #, c-format msgid "Device '%s' does support non-contiguous planes" msgstr "" -#: sys/v4l2/gstv4l2object.c:4091 +#: sys/v4l2/gstv4l2object.c:4092 #, c-format msgid "Device '%s' does not support %s interlacing" msgstr "" -#: sys/v4l2/gstv4l2object.c:4105 +#: sys/v4l2/gstv4l2object.c:4106 #, c-format msgid "Device '%s' does not support %s colorimetry" msgstr "" -#: sys/v4l2/gstv4l2object.c:4117 +#: sys/v4l2/gstv4l2object.c:4118 #, c-format msgid "Could not get parameters on device '%s'" msgstr "" -#: sys/v4l2/gstv4l2object.c:4125 +#: sys/v4l2/gstv4l2object.c:4126 msgid "Video device did not accept new frame rate setting." msgstr "" -#: sys/v4l2/gstv4l2object.c:4265 +#: sys/v4l2/gstv4l2object.c:4266 msgid "Video device did not provide output format." msgstr "" -#: sys/v4l2/gstv4l2object.c:4271 +#: sys/v4l2/gstv4l2object.c:4272 msgid "Video device returned invalid dimensions." msgstr "" -#: sys/v4l2/gstv4l2object.c:4279 +#: sys/v4l2/gstv4l2object.c:4280 msgid "Video device uses an unsupported interlacing method." msgstr "" -#: sys/v4l2/gstv4l2object.c:4286 +#: sys/v4l2/gstv4l2object.c:4287 msgid "Video device uses an unsupported pixel format." msgstr "" -#: sys/v4l2/gstv4l2object.c:5052 +#: sys/v4l2/gstv4l2object.c:5053 msgid "Failed to configure internal buffer pool." msgstr "" -#: sys/v4l2/gstv4l2object.c:5058 +#: sys/v4l2/gstv4l2object.c:5059 msgid "Video device did not suggest any buffer size." msgstr "" -#: sys/v4l2/gstv4l2object.c:5073 +#: sys/v4l2/gstv4l2object.c:5074 msgid "No downstream pool to import from." msgstr "" @@ -340,7 +340,7 @@ msgid "Failed to allocated required memory." msgstr "" -#: sys/v4l2/gstv4l2src.c:760 sys/v4l2/gstv4l2videodec.c:840 +#: sys/v4l2/gstv4l2src.c:760 sys/v4l2/gstv4l2videodec.c:842 #: sys/v4l2/gstv4l2videoenc.c:821 msgid "Failed to allocate required memory." msgstr "" @@ -365,11 +365,11 @@ msgid "Decoder on device %s has no supported output format" msgstr "" -#: sys/v4l2/gstv4l2videodec.c:854 +#: sys/v4l2/gstv4l2videodec.c:856 msgid "Failed to start decoding thread." msgstr "" -#: sys/v4l2/gstv4l2videodec.c:861 sys/v4l2/gstv4l2videoenc.c:842 +#: sys/v4l2/gstv4l2videodec.c:863 sys/v4l2/gstv4l2videoenc.c:842 msgid "Failed to process frame." msgstr "" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gst-plugins-good-1.20.1/sys/osxaudio/gstosxcoreaudio.c new/gst-plugins-good-1.20.2/sys/osxaudio/gstosxcoreaudio.c --- old/gst-plugins-good-1.20.1/sys/osxaudio/gstosxcoreaudio.c 2022-03-14 12:33:40.000000000 +0100 +++ new/gst-plugins-good-1.20.2/sys/osxaudio/gstosxcoreaudio.c 2022-05-03 00:29:29.000000000 +0200 @@ -477,7 +477,7 @@ GstAudioFormat format = GST_AUDIO_FORMAT_UNKNOWN; guint rate, channels, bps, endianness; guint64 channel_mask; - gboolean sign, interleaved; + gboolean sign; GstAudioChannelPosition pos[GST_OSX_AUDIO_MAX_CHANNEL]; if (asbd->mFormatID != kAudioFormatLinearPCM) { @@ -505,8 +505,6 @@ endianness = asbd->mFormatFlags & kAudioFormatFlagIsBigEndian ? G_BIG_ENDIAN : G_LITTLE_ENDIAN; sign = asbd->mFormatFlags & kAudioFormatFlagIsSignedInteger ? TRUE : FALSE; - interleaved = asbd->mFormatFlags & kAudioFormatFlagIsNonInterleaved ? - TRUE : FALSE; if (asbd->mFormatFlags & kAudioFormatFlagIsFloat) { if (bps == 32) { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gst-plugins-good-1.20.1/sys/osxvideo/osxvideosink.m new/gst-plugins-good-1.20.2/sys/osxvideo/osxvideosink.m --- old/gst-plugins-good-1.20.1/sys/osxvideo/osxvideosink.m 2022-03-14 12:33:40.000000000 +0100 +++ new/gst-plugins-good-1.20.2/sys/osxvideo/osxvideosink.m 2022-05-03 00:29:29.000000000 +0200 @@ -856,7 +856,7 @@ - (void) showFrame: (GstBufferObject *) object { GstVideoFrame frame; - guint8 *data, *readp, *writep; + guint8 *readp, *writep; gint i, active_width, stride; guint8 *texture_buffer; NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init]; @@ -873,7 +873,7 @@ if (!gst_video_frame_map (&frame, &osxvideosink->info, buf, GST_MAP_READ)) goto no_map; - data = readp = GST_VIDEO_FRAME_PLANE_DATA (&frame, 0); + readp = GST_VIDEO_FRAME_PLANE_DATA (&frame, 0); stride = GST_VIDEO_FRAME_PLANE_STRIDE (&frame, 0); writep = texture_buffer; active_width = GST_VIDEO_SINK_WIDTH (osxvideosink) * sizeof (short); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gst-plugins-good-1.20.1/sys/v4l2/gstv4l2object.c new/gst-plugins-good-1.20.2/sys/v4l2/gstv4l2object.c --- old/gst-plugins-good-1.20.1/sys/v4l2/gstv4l2object.c 2022-03-14 12:33:40.000000000 +0100 +++ new/gst-plugins-good-1.20.2/sys/v4l2/gstv4l2object.c 2022-05-03 00:29:29.000000000 +0200 @@ -3069,7 +3069,8 @@ .flags = O_CLOEXEC | O_RDWR, }; - if (v4l2object->fmtdesc->flags & V4L2_FMT_FLAG_EMULATED) { + if (v4l2object->fmtdesc && + v4l2object->fmtdesc->flags & V4L2_FMT_FLAG_EMULATED) { GST_WARNING_OBJECT (v4l2object->dbg_obj, "libv4l2 converter detected, disabling DMABuf"); ret = FALSE; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gst-plugins-good-1.20.1/sys/v4l2/gstv4l2transform.c new/gst-plugins-good-1.20.2/sys/v4l2/gstv4l2transform.c --- old/gst-plugins-good-1.20.1/sys/v4l2/gstv4l2transform.c 2022-03-14 12:33:40.000000000 +0100 +++ new/gst-plugins-good-1.20.2/sys/v4l2/gstv4l2transform.c 2022-05-03 00:29:29.000000000 +0200 @@ -212,12 +212,8 @@ } } - /* TODO Add renegotiation support */ - g_return_val_if_fail (!GST_V4L2_IS_ACTIVE (self->v4l2output), FALSE); - g_return_val_if_fail (!GST_V4L2_IS_ACTIVE (self->v4l2capture), FALSE); - - gst_caps_replace (&self->incaps, incaps); - gst_caps_replace (&self->outcaps, outcaps); + gst_v4l2_object_stop (self->v4l2output); + gst_v4l2_object_stop (self->v4l2capture); if (!gst_v4l2_object_set_format (self->v4l2output, incaps, &error)) goto incaps_failed; @@ -225,6 +221,9 @@ if (!gst_v4l2_object_set_format (self->v4l2capture, outcaps, &error)) goto outcaps_failed; + gst_caps_replace (&self->incaps, incaps); + gst_caps_replace (&self->outcaps, outcaps); + /* FIXME implement fallback if crop not supported */ if (!gst_v4l2_object_set_crop (self->v4l2output)) goto failed; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gst-plugins-good-1.20.1/sys/v4l2/gstv4l2videodec.c new/gst-plugins-good-1.20.2/sys/v4l2/gstv4l2videodec.c --- old/gst-plugins-good-1.20.1/sys/v4l2/gstv4l2videodec.c 2022-03-14 12:33:40.000000000 +0100 +++ new/gst-plugins-good-1.20.2/sys/v4l2/gstv4l2videodec.c 2022-05-03 00:29:29.000000000 +0200 @@ -566,6 +566,7 @@ if (oldest_frame) gst_video_codec_frame_unref (oldest_frame); + frame->duration = self->v4l2capture->duration; frame->output_buffer = buffer; buffer = NULL; ret = gst_video_decoder_finish_frame (decoder, frame); @@ -761,6 +762,7 @@ /* Copy the rest of the information, there might be more in the future */ output_state->info.interlace_mode = info.interlace_mode; + output_state->info.colorimetry = info.colorimetry; gst_video_codec_state_unref (output_state); if (!gst_video_decoder_negotiate (decoder)) { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gst-plugins-good-1.20.1/tests/check/elements/wavparse.c new/gst-plugins-good-1.20.2/tests/check/elements/wavparse.c --- old/gst-plugins-good-1.20.1/tests/check/elements/wavparse.c 2022-03-14 12:33:40.000000000 +0100 +++ new/gst-plugins-good-1.20.2/tests/check/elements/wavparse.c 2022-05-03 00:29:29.000000000 +0200 @@ -209,6 +209,36 @@ GST_END_TEST; +GST_START_TEST (test_query_uri) +{ + GstElement *pipeline, *filesrc, *wavparse, *fakesink; + GstQuery *query; + gchar *uri; + fail_unless ((pipeline = gst_pipeline_new (NULL)) != NULL, + "Could not create pipeline"); + fail_unless ((filesrc = gst_element_factory_make ("filesrc", NULL)) != NULL, + "Could not create filesrc"); + fail_unless ((wavparse = gst_element_factory_make ("wavparse", NULL)) != NULL, + "Could not create wavparse"); + fail_unless ((fakesink = gst_element_factory_make ("fakesink", NULL)) != NULL, + "Could not create fakesink"); + gst_bin_add_many (GST_BIN (pipeline), filesrc, wavparse, fakesink, NULL); + gst_element_link_many (filesrc, wavparse, fakesink, NULL); + g_object_set (G_OBJECT (filesrc), "location", "my_test_file", NULL); + fail_unless ((query = gst_query_new_uri ()) != NULL, + "Could not prepare uri query"); + fail_unless (gst_element_query (GST_ELEMENT (wavparse), query), + "Could not query uri"); + gst_query_parse_uri (query, &uri); + fail_unless (uri != NULL); + + g_free (uri); + gst_query_unref (query); + gst_object_unref (pipeline); +} + +GST_END_TEST; + static Suite * wavparse_suite (void) { @@ -221,6 +251,7 @@ tcase_add_test (tc_chain, test_simple_file_pull); tcase_add_test (tc_chain, test_simple_file_push); tcase_add_test (tc_chain, test_seek); + tcase_add_test (tc_chain, test_query_uri); return s; }