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-02-09 20:38:26 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/gstreamer-plugins-good (Old) and /work/SRC/openSUSE:Factory/.gstreamer-plugins-good.new.1898 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "gstreamer-plugins-good" Wed Feb 9 20:38:26 2022 rev:81 rq:952072 version:1.18.6 Changes: -------- --- /work/SRC/openSUSE:Factory/gstreamer-plugins-good/gstreamer-plugins-good.changes 2022-01-27 23:16:59.662966774 +0100 +++ /work/SRC/openSUSE:Factory/.gstreamer-plugins-good.new.1898/gstreamer-plugins-good.changes 2022-02-09 20:38:51.506326944 +0100 @@ -1,0 +2,15 @@ +Fri Feb 4 19:28:14 UTC 2022 - Bj??rn Lie <bjorn....@gmail.com> + +- Update to version 1.18.6: + + rtspsrc: Fix critical while serializing timeout element message + + multifilesrc: fix caps leak + + shout2: Add compatibility for libshout >= 2.4.2 shout_open + return values + + v4l2: Update fmt if padded height is greater than fmt height + + v4l2bufferpool: set video alignment of video meta + + qtmux: fix deadlock in gst_qt_mux_prepare_moov_recovery + + matroska: Add support for muxing/demuxing ffv1 + + qtdemux: Try to build AAC codec-data whenever it's possible +- Remove service, use source url, upstream changes in git. + +------------------------------------------------------------------- Old: ---- _service gst-plugins-good-1.18.5.tar.xz New: ---- gst-plugins-good-1.18.6.tar.xz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ gstreamer-plugins-good.spec ++++++ --- /var/tmp/diff_new_pack.xLap7a/_old 2022-02-09 20:38:52.190328581 +0100 +++ /var/tmp/diff_new_pack.xLap7a/_new 2022-02-09 20:38:52.194328591 +0100 @@ -29,15 +29,13 @@ %define ENABLE_EXPERIMENTAL 1 Name: gstreamer-plugins-good -Version: 1.18.5 +Version: 1.18.6 Release: 0 Summary: GStreamer Streaming-Media Framework Plug-Ins License: LGPL-2.1-or-later Group: Productivity/Multimedia/Other URL: https://gstreamer.freedesktop.org -# Disable tarball source url, use _service -#Source0: %%{url}/src/gst-plugins-good/%%{_name}-%%{version}.tar.xz -Source0: %{_name}-%{version}.tar.xz +Source0: %{url}/src/gst-plugins-good/%{_name}-%{version}.tar.xz Source1: gstreamer-plugins-good.appdata.xml Source99: baselibs.conf ++++++ gst-plugins-good-1.18.5.tar.xz -> gst-plugins-good-1.18.6.tar.xz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gst-plugins-good-1.18.5/ChangeLog new/gst-plugins-good-1.18.6/ChangeLog --- old/gst-plugins-good-1.18.5/ChangeLog 2021-09-08 21:02:50.000000000 +0200 +++ new/gst-plugins-good-1.18.6/ChangeLog 2022-02-02 16:06:48.000000000 +0100 @@ -1,3 +1,96 @@ +=== release 1.18.6 === + +2022-02-02 15:06:47 +0000 Tim-Philipp M??ller <t...@centricular.com> + + * ChangeLog: + * NEWS: + * RELEASE: + * gst-plugins-good.doap: + * meson.build: + Release 1.18.6 + +2022-01-26 11:22:31 +0530 Nirbheek Chauhan <nirbh...@centricular.com> + + * gst/rtsp/gstrtspsrc.c: + rtspsrc: Fix critical while serializing timeout element message + The "cause" field wasn't registered as a GEnumValue, so do that. + Fixes this critical in gst_structure_to_string(): + `gst_value_serialize: assertion 'G_IS_VALUE (value)' failed` + Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/1111> + +2021-12-10 17:36:30 +0100 C??lestin Marot <marotceles...@gmail.com> + + * gst/multifile/gstmultifilesrc.c: + multifilesrc: fix caps leak + since `gst_caps_replace()` and `gst_pad_set_caps()` both ref the caps and neither of them takes the ownership of the caps -> it must be unreffed in `gst_multi_file_src_set_property()` + to test the leak (on Unix): `echo coucou > /tmp/file.txt && GST_TRACERS=leaks GST_DEBUG="GST_TRACER:7" gst-launch-1.0 multifilesrc location=/tmp/file.txt caps='txt' ! fakesink` + Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/1109> + +2021-11-18 16:27:17 +0000 Tobias Reineke <t...@g3th.net> + + * ext/shout2/gstshout2.c: + shout2: Add compatibility for libshout >= 2.4.2 + In libshout >=2.4.2 shout_open() can return SHOUTERR_RETRY in addition + to SHOUTERR_BUSY. + The nonblocking example in libshout fixes the problem in a similar + way, as mentioned by the author in this issue: + https://gitlab.xiph.org/xiph/icecast-libshout/-/issues/2316 + Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/issues/848 + Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/1108> + +2021-11-01 10:08:32 +0700 Trung Do <trung1.doth...@toshiba.co.jp> + + * sys/v4l2/gstv4l2object.c: + v4l2: Update fmt if padded height is greater than fmt height + If padded height is greater, buffer bytesused could be larger than plane length, + and cause VIDIOC_QBUF failure. + Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/1107> + +2021-11-09 13:36:28 +0800 Haihua Hu <jared...@nxp.com> + + * sys/v4l2/gstv4l2bufferpool.c: + v4l2bufferpool: set video alignment of video meta + need apply video alignment info on video meta, downstream + element can get buffer alignment from video meta + Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/1106> + +2021-11-01 16:32:10 +0100 Erlend Eriksen <erlend...@hotmail.com> + + * gst/isomp4/gstqtmux.c: + qtmux: Fix deadlock in gst_qt_mux_prepare_moov_recovery + Regression from 5766731bd4200c3a374522a749386f740347661a + Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/1102> + +2021-09-11 09:24:35 +0300 Sebastian Dr??ge <sebast...@centricular.com> + + * docs/gst_plugins_cache.json: + * gst/matroska/matroska-demux.c: + * gst/matroska/matroska-ids.h: + * gst/matroska/matroska-mux.c: + matroska: Add support for muxing/demuxing ffv1 + Previously only demuxing when stored via the RIFF/AVI mapping was + supported. + See https://github.com/FFmpeg/FFV1/blob/master/ffv1.md#matroska-file-format + Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/issues/923 + Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/1101> + +2021-09-14 17:26:27 +0900 Seungha Yang <seun...@centricular.com> + + * gst/isomp4/qtdemux.c: + qtdemux: Try to build AAC codec-data whenever it's possible + AAC codec_data is a just collection of AAC profile, samplerate, and + channels. We can know samplerate and channels from parsed + SampleEntry data. Although the AAC profile is unknown there, + let's assume it as AAC-LC like we've been doing for the version 1 + atom. + Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/1100> + +2021-09-09 00:12:38 +0100 Tim-Philipp M??ller <t...@centricular.com> + + * docs/gst_plugins_cache.json: + * meson.build: + Back to development + === release 1.18.5 === 2021-09-08 20:02:48 +0100 Tim-Philipp M??ller <t...@centricular.com> @@ -5,6 +98,7 @@ * ChangeLog: * NEWS: * RELEASE: + * docs/gst_plugins_cache.json: * gst-plugins-good.doap: * meson.build: Release 1.18.5 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gst-plugins-good-1.18.5/NEWS new/gst-plugins-good-1.18.6/NEWS --- old/gst-plugins-good-1.18.5/NEWS 2021-09-08 21:02:50.000000000 +0200 +++ new/gst-plugins-good-1.18.6/NEWS 2022-02-02 16:06:48.000000000 +0100 @@ -2,13 +2,13 @@ GStreamer 1.18.0 was originally released on 8 September 2020. -The latest bug-fix release in the 1.18 series is 1.18.5 and was released -on 8 September 2021. +The latest bug-fix release in the 1.18 series is 1.18.6 and was released +on 2 February 2022. See https://gstreamer.freedesktop.org/releases/1.18/ for the latest version of this document. -Last updated: Wednesday 8 September 2021, 11:00 UTC (log) +Last updated: Wednesday 2 February 2022, 11:30 UTC (log) Introduction @@ -2103,9 +2103,8 @@ Known Issues - GStreamer 1.18 versions <= 1.18.4 would fail to build on Linux with - Meson 0.58 due to an issue with the include directories. Either - apply the patch or build with an older Meson version (<= 0.57) until - there is a GStreamer 1.18.5 release that includes the fix. + Meson 0.58 due to an issue with the include directories. + GStreamer >= 1.18.5 includes a fix for this. Contributors @@ -3183,16 +3182,180 @@ - List of Merge Requests applied in 1.18.5 - List of Issues fixed in 1.18.5 +1.18.6 + +The sixth 1.18 bug-fix release (1.18.6) was released on 2 February 2022. + +This release only contains bugfixes and security fixes and it should be +safe to update from 1.18.x. + +Highlighted bugfixes in 1.18.6 + +- tagdemux: Fix crash when presented with malformed files (security + fix) +- video-converter: Fix broken gamma remap with high bitdepth YUV + output +- shout2send: Fix issues with libshout >= 2.4.2 +- mxfdemux: fix regression with VANC tracks that only contains packet + types we don???t handle +- Better plugin loading error reporting on Windows +- Fixes for deprecations in Python 3.10 +- build fixes, memory leak fixes, reliability fixes +- security fixes + +gstreamer + +- gstplugin: Fix for UWP build +- gstplugin: Better warnings on plugin load failure on Windows +- gst-ptp-helper: Do not disable multicast loopback +- concat: fix qos event handling +- pluginfeature: Fix object leak +- baseparse: fix invalid avg_bitrate after reset +- multiqueue: Fix query unref race on flush +- gst: Initialize optional event/message fields when parsing +- bitwriter: Fix the trailing bits lost when getting its data. +- multiqueue: never consider a queue that is not waiting +- input-selector: Use proper segments when cleaning cached buffers + +gst-plugins-base + +- tagdemux: Fix crash when presented with malformed files (security + fix) +- videoencoder: make sure the buffer is writable before modifying + metadata +- video-converter: Fix for broken gamma remap with high bitdepth YUV + output +- sdpmessage: fix mapping single char fmtp params +- oggdemux: fix a race in push mode when performing the duration seek +- uridecodebin: Fix critical warnings +- audio-converter: Fix resampling when there???s nothing to output +- tcp: fix build on Solaris +- uridecodebin3: Nullify current item after all play items are freed. +- audio-resampler: Fix segfault when we can???t output any frames +- urisourcebin: Handle sources with dynamic pads and pads already + present +- playbin2/3: autoplug/caps: don???t expand caps to ANY +- uridecodebin3/urisourcebin: Reusability fixes +- rtspconnection: Only reset timeout when socket is unused +- gstvideoaggregator.c: fix build with gcc 4.8 + +gst-plugins-good + +- rtspsrc: Fix critical while serializing timeout element message +- multifilesrc: fix caps leak +- shout2: Add compatibility for libshout >= 2.4.2 shout_open return + values +- v4l2: Update fmt if padded height is greater than fmt height +- v4l2bufferpool: set video alignment of video meta +- qtmux: fix deadlock in gst_qt_mux_prepare_moov_recovery +- matroska: Add support for muxing/demuxing ffv1 +- qtdemux: Try to build AAC codec-data whenever it???s possible + +gst-plugins-bad + +- interlace: Fix a double-unref on shutdown +- webrtcbin: Chain up to parent constructed method +- webrtc: fix log error message in function + gst_webrtc_bin_set_local_description +- mxfdemux: don???t error out if VANC track only contains packets we + don???t handle +- av1parser: Fix data type of film grain param +- assrender: Support RFC8081 mime types +- pitch: Specify layout as required for negotiation +- magicleap: update lumin_rt libraries names to the latest official + version +- codecs: h265decoder: Fix per-slice leak +- mpeg4videoparse: fix criticals trying to insert configs that don???t + exist yet +- webrtcbin: Always set SINK/SRC flags +- mpegtspacketizer: memcmp potentially seen_before data +- zxing: update to support version 1.1.1 + +gst-plugins-ugly + +- No changes + +gst-libav + +- avcodecmap: Add support for GBRA_10LE/BE + +gst-rtsp-server + +- rtsp-stream: fix get_rates raciness +- rtsp-media: Only unprepare a media if it was not already unpreparing + anyway +- rtsp-media: Unprepare suspended medias too +- rtsp-client: make sure sessmedia will not get freed while used +- rtsp-media: Also mark receive-only (RECORD) medias as prepared when + unsuspending +- rtsp-session: Don???t unref medias twice if it is removed inside??? +- examples: Fix leak in appsrc2 example + +gstreamer-vaapi + +- libs: video-format: Check if formats map is not NULL +- vaapidecode: Autogenerate caps template +- vaapipostproc: copy over metadata also when using system allocated + buffer + +gst-python + +- Avoid treating float as int (fix for Python 3.10) + +gst-editing-services + +- meson: Remove duplicate definition of ???examples??? option + +gst-devtools + +- No changes + +gst-integration-testsuites + +- No changes + +gst-build + +- env: Fix deprecations from python 3.10 +- Various fixes for macOS +- update FFmpeg wrap to 4.3.3 + +Cerbero build tool and packaging changes in 1.18.6 + +- Some fixes for Fedora 34 +- cerbero: Backport fix for removed loop param of PriorityQueue() +- cerbero: Fix support for Fedora 35 +- Add support for Visual Studio 2022 +- openssl.recipe: Fix crash on iOS TestFlight +- UnixBootstrapper: remove sudo as root user +- bzip2.recipe: bump version to 1.0.8 +- openssl.recipe: upgrade to version 1.1.1l + +Contributors to 1.18.6 + +Antonio Ospite, C??lestin Marot, Dave Pich??, Erlend Eriksen, Fabrice +Fontaine, Guillaume Desmottes, Haihua Hu, He Junyan, Jakub Adam, Jan +Alexander Steffens (heftig), Jan Schmidt, Jeremy Cline, Jordan Petridis, +Mathieu Duponchelle, Matthew Waters, Mengkejiergeli Ba, Michael Gruner, +Nirbheek Chauhan, Ognyan Tonchev, Pascal Hache, Rafa?? Dzi??giel, +Sebastian Dr??ge, Seungha Yang, St??phane Cerveau, Teng En Ung,Thibault +Saunier, Thomas Klausner, Tim-Philipp M??ller, Tobias Reineke, Tobias +Ronge, Tomasz Andrzejak, Trung Do, V??ctor Manuel J??quez Leal, Vivia +Nikolaidou, + +??? 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.6 + +- List of Merge Requests applied in 1.18.6 +- List of Issues fixed in 1.18.6 + Schedule for 1.20 -Our next major feature release will be 1.20, and 1.19 will be the -unstable development version leading up to the stable 1.20 release. The -development of 1.19/1.20 will happen in the git master branch. - -The plan for the 1.20 development cycle is yet to be confirmed, but it -is now expected that feature freeze will take place some time in -September/October 2021, with the first 1.20 stable release hopefully -towards the end of October 2021. +Our next major feature release will be 1.20, and will be released in +early February 2022. You can track its progress on the 1.20 Release +Notes page. 1.20 will be backwards-compatible to the stable 1.18, 1.16, 1.14, 1.12, 1.10, 1.8, 1.6, 1.4, 1.2 and 1.0 release series. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gst-plugins-good-1.18.5/RELEASE new/gst-plugins-good-1.18.6/RELEASE --- old/gst-plugins-good-1.18.5/RELEASE 2021-09-08 21:02:50.000000000 +0200 +++ new/gst-plugins-good-1.18.6/RELEASE 2022-02-02 16:06:48.000000000 +0100 @@ -1,4 +1,4 @@ -This is GStreamer gst-plugins-good 1.18.5. +This is GStreamer gst-plugins-good 1.18.6. The GStreamer team is thrilled to announce a new major feature release of your favourite cross-platform multimedia framework! @@ -82,7 +82,7 @@ For help and support, please subscribe to and send questions to the gstreamer-devel mailing list (see below for details). -There is also a #gstreamer IRC channel on the Freenode IRC network. +There is also a #gstreamer IRC channel on the OFTC IRC network. ==== Developers ==== diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gst-plugins-good-1.18.5/docs/gst_plugins_cache.json new/gst-plugins-good-1.18.6/docs/gst_plugins_cache.json --- old/gst-plugins-good-1.18.5/docs/gst_plugins_cache.json 2021-09-08 21:02:50.000000000 +0200 +++ new/gst-plugins-good-1.18.6/docs/gst_plugins_cache.json 2022-02-02 16:06:48.000000000 +0100 @@ -6595,7 +6595,7 @@ "construct": false, "construct-only": false, "controllable": false, - "default": "GStreamer 1.18.5 FLV muxer", + "default": "GStreamer 1.18.6 FLV muxer", "mutable": "null", "readable": true, "type": "gchararray", @@ -6607,7 +6607,7 @@ "construct": false, "construct-only": false, "controllable": false, - "default": "GStreamer 1.18.5 FLV muxer", + "default": "GStreamer 1.18.6 FLV muxer", "mutable": "null", "readable": true, "type": "gchararray", @@ -9987,7 +9987,7 @@ "presence": "request" }, "video_%%u": { - "caps": "video/mpeg:\n mpegversion: { (int)1, (int)2, (int)4 }\n systemstream: false\n width: [ 16, 2147483647 ]\n height: [ 16, 2147483647 ]\nvideo/x-h264:\n stream-format: avc\n alignment: au\n width: [ 16, 2147483647 ]\n height: [ 16, 2147483647 ]\nvideo/x-h265:\n stream-format: hvc1\n alignment: au\n width: [ 16, 2147483647 ]\n height: [ 16, 2147483647 ]\nvideo/x-divx:\n width: [ 16, 2147483647 ]\n height: [ 16, 2147483647 ]\nvideo/x-huffyuv:\n width: [ 16, 2147483647 ]\n height: [ 16, 2147483647 ]\nvideo/x-dv:\n width: [ 16, 2147483647 ]\n height: [ 16, 2147483647 ]\nvideo/x-h263:\n width: [ 16, 2147483647 ]\n height: [ 16, 2147483647 ]\nvideo/x-msmpeg:\n width: [ 16, 2147483647 ]\n height: [ 16, 2147483647 ]\nimage/jpeg:\n width: [ 16, 2147483647 ]\n height: [ 16, 2147483647 ]\nvideo/x- theora:\nvideo/x-dirac:\n width: [ 16, 2147483647 ]\n height: [ 16, 2147483647 ]\nvideo/x-pn-realvideo:\n rmversion: [ 1, 4 ]\n width: [ 16, 2147483647 ]\n height: [ 16, 2147483647 ]\nvideo/x-vp8:\n width: [ 16, 2147483647 ]\n height: [ 16, 2147483647 ]\nvideo/x-vp9:\n width: [ 16, 2147483647 ]\n height: [ 16, 2147483647 ]\nvideo/x-raw:\n format: { YUY2, I420, YV12, UYVY, AYUV, GRAY8, BGR, RGB }\n width: [ 16, 2147483647 ]\n height: [ 16, 2147483647 ]\nvideo/x-prores:\n width: [ 16, 2147483647 ]\n height: [ 16, 2147483647 ]\nvideo/x-wmv:\n wmvversion: [ 1, 3 ]\n width: [ 16, 2147483647 ]\n height: [ 16, 2147483647 ]\nvideo/x-av1:\n width: [ 16, 2147483647 ]\n height: [ 16, 2147483647 ]\n", + "caps": "video/mpeg:\n mpegversion: { (int)1, (int)2, (int)4 }\n systemstream: false\n width: [ 16, 2147483647 ]\n height: [ 16, 2147483647 ]\nvideo/x-h264:\n stream-format: avc\n alignment: au\n width: [ 16, 2147483647 ]\n height: [ 16, 2147483647 ]\nvideo/x-h265:\n stream-format: hvc1\n alignment: au\n width: [ 16, 2147483647 ]\n height: [ 16, 2147483647 ]\nvideo/x-divx:\n width: [ 16, 2147483647 ]\n height: [ 16, 2147483647 ]\nvideo/x-huffyuv:\n width: [ 16, 2147483647 ]\n height: [ 16, 2147483647 ]\nvideo/x-dv:\n width: [ 16, 2147483647 ]\n height: [ 16, 2147483647 ]\nvideo/x-h263:\n width: [ 16, 2147483647 ]\n height: [ 16, 2147483647 ]\nvideo/x-msmpeg:\n width: [ 16, 2147483647 ]\n height: [ 16, 2147483647 ]\nimage/jpeg:\n width: [ 16, 2147483647 ]\n height: [ 16, 2147483647 ]\nvideo/x- theora:\nvideo/x-dirac:\n width: [ 16, 2147483647 ]\n height: [ 16, 2147483647 ]\nvideo/x-pn-realvideo:\n rmversion: [ 1, 4 ]\n width: [ 16, 2147483647 ]\n height: [ 16, 2147483647 ]\nvideo/x-vp8:\n width: [ 16, 2147483647 ]\n height: [ 16, 2147483647 ]\nvideo/x-vp9:\n width: [ 16, 2147483647 ]\n height: [ 16, 2147483647 ]\nvideo/x-raw:\n format: { YUY2, I420, YV12, UYVY, AYUV, GRAY8, BGR, RGB }\n width: [ 16, 2147483647 ]\n height: [ 16, 2147483647 ]\nvideo/x-prores:\n width: [ 16, 2147483647 ]\n height: [ 16, 2147483647 ]\nvideo/x-wmv:\n wmvversion: [ 1, 3 ]\n width: [ 16, 2147483647 ]\n height: [ 16, 2147483647 ]\nvideo/x-av1:\n width: [ 16, 2147483647 ]\n height: [ 16, 2147483647 ]\nvideo/x-ffv:\n ffversion: 1\n width: [ 16, 2147483647 ]\n height: [ 16, 2147483647 ]\n", "direction": "sink", "presence": "request" } @@ -20636,7 +20636,7 @@ "construct": false, "construct-only": false, "controllable": false, - "default": "GStreamer/1.18.5", + "default": "GStreamer/1.18.6", "mutable": "null", "readable": true, "type": "gchararray", @@ -22593,7 +22593,7 @@ "construct": false, "construct-only": false, "controllable": false, - "default": "GStreamer souphttpsrc 1.18.5 ", + "default": "GStreamer souphttpsrc 1.18.6 ", "mutable": "null", "readable": true, "type": "gchararray", diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gst-plugins-good-1.18.5/ext/shout2/gstshout2.c new/gst-plugins-good-1.18.6/ext/shout2/gstshout2.c --- old/gst-plugins-good-1.18.5/ext/shout2/gstshout2.c 2021-09-08 21:02:50.000000000 +0200 +++ new/gst-plugins-good-1.18.6/ext/shout2/gstshout2.c 2022-02-02 16:06:48.000000000 +0100 @@ -567,7 +567,13 @@ ret = shout_open (sink->conn); /* wait for connection or timeout */ +#ifdef SHOUTERR_RETRY + /* starting with libshout 2.4.2, shout_open() has broken API + ABI and + * can also return SHOUTERR_RETRY (a new define) to mean "try again" */ + while (ret == SHOUTERR_BUSY || ret == SHOUTERR_RETRY) { +#else while (ret == SHOUTERR_BUSY) { +#endif if (gst_util_get_timestamp () - start_ts > sink->timeout * GST_MSECOND) { goto connection_timeout; } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gst-plugins-good-1.18.5/gst/isomp4/gstqtmux.c new/gst-plugins-good-1.18.6/gst/isomp4/gstqtmux.c --- old/gst-plugins-good-1.18.5/gst/isomp4/gstqtmux.c 2021-09-08 21:02:50.000000000 +0200 +++ new/gst-plugins-good-1.18.6/gst/isomp4/gstqtmux.c 2022-02-02 16:06:48.000000000 +0100 @@ -2440,6 +2440,7 @@ return seekable; } +/* Must be called with object lock */ static void gst_qt_mux_prepare_moov_recovery (GstQTMux * qtmux) { @@ -2460,21 +2461,17 @@ gst_qt_mux_prepare_ftyp (qtmux, &ftyp, &prefix); - GST_OBJECT_LOCK (qtmux); if (!atoms_recov_write_headers (qtmux->moov_recov_file, ftyp, prefix, qtmux->moov, qtmux->timescale, g_list_length (GST_ELEMENT (qtmux)->sinkpads))) { GST_WARNING_OBJECT (qtmux, "Failed to write moov recovery file " "headers"); - GST_OBJECT_UNLOCK (qtmux); goto fail; } - GST_OBJECT_UNLOCK (qtmux); atom_ftyp_free (ftyp); if (prefix) gst_buffer_unref (prefix); - GST_OBJECT_LOCK (qtmux); for (l = GST_ELEMENT_CAST (qtmux)->sinkpads; l; l = l->next) { GstQTMuxPad *qpad = (GstQTMuxPad *) l->data; /* write info for each stream */ @@ -2485,7 +2482,6 @@ break; } } - GST_OBJECT_UNLOCK (qtmux); return; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gst-plugins-good-1.18.5/gst/isomp4/qtdemux.c new/gst-plugins-good-1.18.6/gst/isomp4/qtdemux.c --- old/gst-plugins-good-1.18.5/gst/isomp4/qtdemux.c 2021-09-08 21:02:50.000000000 +0200 +++ new/gst-plugins-good-1.18.6/gst/isomp4/qtdemux.c 2022-02-02 16:06:48.000000000 +0100 @@ -12524,32 +12524,46 @@ { /* mp4a atom withtout ESDS; Attempt to build codec data from atom */ gint len = QT_UINT32 (stsd_entry_data); + guint16 sound_version = 0; + /* FIXME: Can this be determined somehow? There doesn't seem to be + * anything in mp4a atom that specifis compression */ + gint profile = 2; + guint16 channels = entry->n_channels; + guint32 time_scale = (guint32) entry->rate; + gint sample_rate_index = -1; if (len >= 34) { - guint16 sound_version = QT_UINT16 (stsd_entry_data + 16); + sound_version = QT_UINT16 (stsd_entry_data + 16); if (sound_version == 1) { - guint16 channels = QT_UINT16 (stsd_entry_data + 24); - guint32 time_scale = QT_UINT32 (stsd_entry_data + 30); - guint8 codec_data[2]; - GstBuffer *buf; - gint profile = 2; /* FIXME: Can this be determined somehow? There doesn't seem to be anything in mp4a atom that specifis compression */ + channels = QT_UINT16 (stsd_entry_data + 24); + time_scale = QT_UINT32 (stsd_entry_data + 30); + } else { + GST_FIXME_OBJECT (qtdemux, "Unhandled mp4a atom version %d", + sound_version); + } + } else { + GST_DEBUG_OBJECT (qtdemux, "Too small stsd entry data len %d", + len); + } - gint sample_rate_index = - gst_codec_utils_aac_get_index_from_sample_rate (time_scale); + sample_rate_index = + gst_codec_utils_aac_get_index_from_sample_rate (time_scale); + if (sample_rate_index >= 0 && channels > 0) { + guint8 codec_data[2]; + GstBuffer *buf; - /* build AAC codec data */ - codec_data[0] = profile << 3; - codec_data[0] |= ((sample_rate_index >> 1) & 0x7); - codec_data[1] = (sample_rate_index & 0x01) << 7; - codec_data[1] |= (channels & 0xF) << 3; + /* build AAC codec data */ + codec_data[0] = profile << 3; + codec_data[0] |= ((sample_rate_index >> 1) & 0x7); + codec_data[1] = (sample_rate_index & 0x01) << 7; + codec_data[1] |= (channels & 0xF) << 3; - buf = gst_buffer_new_and_alloc (2); - gst_buffer_fill (buf, 0, codec_data, 2); - gst_caps_set_simple (entry->caps, - "codec_data", GST_TYPE_BUFFER, buf, NULL); - gst_buffer_unref (buf); - } + buf = gst_buffer_new_and_alloc (2); + gst_buffer_fill (buf, 0, codec_data, 2); + gst_caps_set_simple (entry->caps, + "codec_data", GST_TYPE_BUFFER, buf, NULL); + gst_buffer_unref (buf); } break; } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gst-plugins-good-1.18.5/gst/matroska/matroska-demux.c new/gst-plugins-good-1.18.6/gst/matroska/matroska-demux.c --- old/gst-plugins-good-1.18.5/gst/matroska/matroska-demux.c 2021-09-08 21:02:50.000000000 +0200 +++ new/gst-plugins-good-1.18.6/gst/matroska/matroska-demux.c 2022-02-02 16:06:48.000000000 +0100 @@ -6431,6 +6431,19 @@ GST_WARNING ("No AV1 codec data found!"); } *codec_name = g_strdup_printf ("AOM AV1"); + } else if (!strcmp (codec_id, GST_MATROSKA_CODEC_ID_VIDEO_FFV1)) { + caps = + gst_caps_new_simple ("video/x-ffv", "ffvversion", G_TYPE_INT, 1, NULL); + if (data) { + GstBuffer *priv; + + priv = gst_buffer_new_wrapped (g_memdup (data, size), size); + gst_caps_set_simple (caps, "codec_data", GST_TYPE_BUFFER, priv, NULL); + gst_buffer_unref (priv); + } else { + GST_WARNING ("No FFV1 codec data found!"); + } + *codec_name = g_strdup_printf ("FFMpeg v1"); } else if (!strcmp (codec_id, GST_MATROSKA_CODEC_ID_VIDEO_PRORES)) { guint32 fourcc; const gchar *variant, *variant_descr = ""; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gst-plugins-good-1.18.5/gst/matroska/matroska-ids.h new/gst-plugins-good-1.18.6/gst/matroska/matroska-ids.h --- old/gst-plugins-good-1.18.5/gst/matroska/matroska-ids.h 2021-09-08 21:02:50.000000000 +0200 +++ new/gst-plugins-good-1.18.6/gst/matroska/matroska-ids.h 2022-02-02 16:06:48.000000000 +0100 @@ -379,6 +379,7 @@ #define GST_MATROSKA_CODEC_ID_VIDEO_AV1 "V_AV1" #define GST_MATROSKA_CODEC_ID_VIDEO_MPEGH_HEVC "V_MPEGH/ISO/HEVC" #define GST_MATROSKA_CODEC_ID_VIDEO_PRORES "V_PRORES" +#define GST_MATROSKA_CODEC_ID_VIDEO_FFV1 "V_FFV1" #define GST_MATROSKA_CODEC_ID_AUDIO_MPEG1_L1 "A_MPEG/L1" #define GST_MATROSKA_CODEC_ID_AUDIO_MPEG1_L2 "A_MPEG/L2" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gst-plugins-good-1.18.5/gst/matroska/matroska-mux.c new/gst-plugins-good-1.18.6/gst/matroska/matroska-mux.c --- old/gst-plugins-good-1.18.5/gst/matroska/matroska-mux.c 2021-09-08 21:02:50.000000000 +0200 +++ new/gst-plugins-good-1.18.6/gst/matroska/matroska-mux.c 2022-02-02 16:06:48.000000000 +0100 @@ -143,7 +143,8 @@ "video/x-prores, " COMMON_VIDEO_CAPS "; " "video/x-wmv, " "wmvversion = (int) [ 1, 3 ], " COMMON_VIDEO_CAPS "; " - "video/x-av1, " COMMON_VIDEO_CAPS) + "video/x-av1, " COMMON_VIDEO_CAPS ";" + "video/x-ffv, ffversion = (int) 1, " COMMON_VIDEO_CAPS) ); #define COMMON_AUDIO_CAPS \ @@ -1252,6 +1253,12 @@ if (codec_buf != NULL) gst_buffer_extract_dup (codec_buf, 0, gst_buffer_get_size (codec_buf), &context->codec_priv, &context->codec_priv_size); + } else if (!strcmp (mimetype, "video/x-ffv")) { + gst_matroska_mux_set_codec_id (context, GST_MATROSKA_CODEC_ID_VIDEO_FFV1); + gst_matroska_mux_free_codec_priv (context); + if (codec_buf != NULL) + gst_buffer_extract_dup (codec_buf, 0, gst_buffer_get_size (codec_buf), + &context->codec_priv, &context->codec_priv_size); } else if (!strcmp (mimetype, "video/mpeg")) { gint mpegversion; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gst-plugins-good-1.18.5/gst/multifile/gstmultifilesrc.c new/gst-plugins-good-1.18.6/gst/multifile/gstmultifilesrc.c --- old/gst-plugins-good-1.18.5/gst/multifile/gstmultifilesrc.c 2021-09-08 21:02:50.000000000 +0200 +++ new/gst-plugins-good-1.18.6/gst/multifile/gstmultifilesrc.c 2022-02-02 16:06:48.000000000 +0100 @@ -342,6 +342,7 @@ src->fps_n = -1; src->fps_d = -1; } + gst_caps_unref (new_caps); } break; case PROP_LOOP: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gst-plugins-good-1.18.5/gst/rtsp/gstrtspsrc.c new/gst-plugins-good-1.18.6/gst/rtsp/gstrtspsrc.c --- old/gst-plugins-good-1.18.5/gst/rtsp/gstrtspsrc.c 2021-09-08 21:02:50.000000000 +0200 +++ new/gst-plugins-good-1.18.6/gst/rtsp/gstrtspsrc.c 2022-02-02 16:06:48.000000000 +0100 @@ -160,6 +160,23 @@ RTCP_SYNC_RTP }; +#define GST_TYPE_RTSP_SRC_TIMEOUT_CAUSE (gst_rtsp_src_timeout_cause_get_type()) +static GType +gst_rtsp_src_timeout_cause_get_type (void) +{ + static GType timeout_cause_type = 0; + static const GEnumValue timeout_causes[] = { + {GST_RTSP_SRC_TIMEOUT_CAUSE_RTCP, "timeout triggered by RTCP", "RTCP"}, + {0, NULL, NULL}, + }; + + if (!timeout_cause_type) { + timeout_cause_type = + g_enum_register_static ("GstRTSPSrcTimeoutCause", timeout_causes); + } + return timeout_cause_type; +} + enum _GstRtspSrcBufferMode { BUFFER_MODE_NONE, @@ -1225,6 +1242,7 @@ gst_rtsp_ext_list_init (); + gst_type_mark_as_plugin_api (GST_TYPE_RTSP_SRC_TIMEOUT_CAUSE, 0); gst_type_mark_as_plugin_api (GST_TYPE_RTSP_SRC_BUFFER_MODE, 0); gst_type_mark_as_plugin_api (GST_TYPE_RTSP_SRC_NTP_TIME_SOURCE, 0); gst_type_mark_as_plugin_api (GST_TYPE_RTSP_BACKCHANNEL, 0); @@ -3584,8 +3602,8 @@ /* timeout, post element message */ gst_element_post_message (GST_ELEMENT_CAST (src), gst_message_new_element (GST_OBJECT_CAST (src), - gst_structure_new ("GstRTSPSrcTimeout", - "cause", G_TYPE_ENUM, GST_RTSP_SRC_TIMEOUT_CAUSE_RTCP, + gst_structure_new ("GstRTSPSrcTimeout", "cause", + GST_TYPE_RTSP_SRC_TIMEOUT_CAUSE, GST_RTSP_SRC_TIMEOUT_CAUSE_RTCP, "stream-number", G_TYPE_INT, stream->id, "ssrc", G_TYPE_UINT, stream->ssrc, NULL))); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gst-plugins-good-1.18.5/gst-plugins-good.doap new/gst-plugins-good-1.18.6/gst-plugins-good.doap --- old/gst-plugins-good-1.18.5/gst-plugins-good.doap 2021-09-08 21:02:50.000000000 +0200 +++ new/gst-plugins-good-1.18.6/gst-plugins-good.doap 2022-02-02 16:06:48.000000000 +0100 @@ -34,6 +34,16 @@ <release> <Version> + <revision>1.18.6</revision> + <branch>1.18</branch> + <name></name> + <created>2022-02-02</created> + <file-release rdf:resource="https://gstreamer.freedesktop.org/src/gst-plugins-good/gst-plugins-good-1.18.6.tar.xz" /> + </Version> + </release> + + <release> + <Version> <revision>1.18.5</revision> <branch>1.18</branch> <name></name> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gst-plugins-good-1.18.5/meson.build new/gst-plugins-good-1.18.6/meson.build --- old/gst-plugins-good-1.18.5/meson.build 2021-09-08 21:02:50.000000000 +0200 +++ new/gst-plugins-good-1.18.6/meson.build 2022-02-02 16:06:48.000000000 +0100 @@ -1,5 +1,5 @@ project('gst-plugins-good', 'c', - version : '1.18.5', + version : '1.18.6', meson_version : '>= 0.48', default_options : [ 'warning_level=1', 'buildtype=debugoptimized' ]) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gst-plugins-good-1.18.5/po/gst-plugins-good-1.0.pot new/gst-plugins-good-1.18.6/po/gst-plugins-good-1.0.pot --- old/gst-plugins-good-1.18.5/po/gst-plugins-good-1.0.pot 1970-01-01 01:00:00.000000000 +0100 +++ new/gst-plugins-good-1.18.6/po/gst-plugins-good-1.0.pot 2022-02-02 16:06:50.415616500 +0100 @@ -0,0 +1,509 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the gst-plugins-good-1.0 package. +# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: gst-plugins-good-1.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-02-02 15:06+0000\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" +"Language: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=CHARSET\n" +"Content-Transfer-Encoding: 8bit\n" + +#: ext/jack/gstjackaudiosink.c:359 ext/jack/gstjackaudiosrc.c:364 +msgid "Jack server not found" +msgstr "" + +#: ext/jpeg/gstjpegdec.c:949 ext/jpeg/gstjpegdec.c:1119 +#: ext/jpeg/gstjpegdec.c:1128 ext/jpeg/gstjpegdec.c:1138 +#: ext/jpeg/gstjpegdec.c:1147 ext/jpeg/gstjpegdec.c:1424 +#: ext/jpeg/gstjpegdec.c:1452 +msgid "Failed to decode JPEG image" +msgstr "" + +#: ext/jpeg/gstjpegdec.c:1412 +msgid "Failed to read memory" +msgstr "" + +#: ext/lame/gstlamemp3enc.c:395 +msgid "" +"Failed to configure LAME mp3 audio encoder. Check your encoding parameters." +msgstr "" + +#. <php-emulation-mode>three underscores for ___rate is really really really +#. * private as opposed to one underscore<php-emulation-mode> +#. call this MACRO outside of the NULL state so that we have a higher chance +#. * of actually having a pipeline and bus to get the message through +#: ext/lame/gstlamemp3enc.c:427 ext/twolame/gsttwolamemp2enc.c:491 +#, c-format +msgid "" +"The requested bitrate %d kbit/s for property '%s' is not allowed. The " +"bitrate was changed to %d kbit/s." +msgstr "" + +#. TRANSLATORS: 'song title' by 'artist name' +#: ext/pulse/pulsesink.c:3128 +#, c-format +msgid "'%s' by '%s'" +msgstr "" + +#: ext/shout2/gstshout2.c:642 ext/shout2/gstshout2.c:652 +msgid "Could not connect to server" +msgstr "" + +#: ext/soup/gstsouphttpsrc.c:914 +msgid "No URL set." +msgstr "" + +#: ext/soup/gstsouphttpsrc.c:1374 +msgid "Could not resolve server name." +msgstr "" + +#: ext/soup/gstsouphttpsrc.c:1379 +msgid "Could not establish connection to server." +msgstr "" + +#: ext/soup/gstsouphttpsrc.c:1383 +msgid "Secure connection setup failed." +msgstr "" + +#: ext/soup/gstsouphttpsrc.c:1389 +msgid "" +"A network error occurred, or the server closed the connection unexpectedly." +msgstr "" + +#: ext/soup/gstsouphttpsrc.c:1394 +msgid "Server sent bad data." +msgstr "" + +#: ext/soup/gstsouphttpsrc.c:1626 +msgid "Server does not support seeking." +msgstr "" + +#: ext/twolame/gsttwolamemp2enc.c:414 +msgid "Failed to configure TwoLAME encoder. Check your encoding parameters." +msgstr "" + +#: gst/avi/gstavimux.c:1943 +msgid "No or invalid input audio, AVI stream will be corrupt." +msgstr "" + +#: gst/isomp4/qtdemux.c:485 gst/isomp4/qtdemux.c:490 +msgid "This file contains no playable streams." +msgstr "" + +#: gst/isomp4/qtdemux.c:536 gst/isomp4/qtdemux.c:6941 gst/isomp4/qtdemux.c:7010 +#: gst/isomp4/qtdemux.c:7300 gst/isomp4/qtdemux.c:8657 +msgid "This file is invalid and cannot be played." +msgstr "" + +#: gst/isomp4/qtdemux.c:2918 +msgid "Cannot play stream because it is encrypted with PlayReady DRM." +msgstr "" + +#: gst/isomp4/qtdemux.c:4139 gst/isomp4/qtdemux.c:8073 +#: gst/isomp4/qtdemux.c:8080 gst/isomp4/qtdemux.c:9278 +#: gst/isomp4/qtdemux.c:9715 gst/isomp4/qtdemux.c:9722 +#: gst/isomp4/qtdemux.c:12741 +msgid "This file is corrupt and cannot be played." +msgstr "" + +#: gst/isomp4/qtdemux.c:4381 +msgid "Invalid atom size." +msgstr "" + +#: gst/isomp4/qtdemux.c:4460 +msgid "This file is incomplete and cannot be played." +msgstr "" + +#: gst/isomp4/qtdemux.c:10784 +msgid "The video in this file might not play correctly." +msgstr "" + +#: gst/rtsp/gstrtspsrc.c:7609 +msgid "" +"No supported stream was found. You might need to install a GStreamer RTSP " +"extension plugin for Real media streams." +msgstr "" + +#: gst/rtsp/gstrtspsrc.c:7614 +msgid "" +"No supported stream was found. You might need to allow more transport " +"protocols or may otherwise be missing the right GStreamer RTSP extension " +"plugin." +msgstr "" + +#: sys/oss4/oss4-sink.c:493 sys/oss4/oss4-source.c:358 sys/oss/gstosssink.c:384 +msgid "" +"Could not open audio device for playback. Device is being used by another " +"application." +msgstr "" + +#: sys/oss4/oss4-sink.c:503 sys/oss4/oss4-source.c:368 sys/oss/gstosssink.c:391 +msgid "" +"Could not open audio device for playback. You don't have permission to open " +"the device." +msgstr "" + +#: sys/oss4/oss4-sink.c:514 sys/oss4/oss4-source.c:379 sys/oss/gstosssink.c:399 +msgid "Could not open audio device for playback." +msgstr "" + +#: sys/oss4/oss4-sink.c:523 sys/oss4/oss4-source.c:389 +msgid "" +"Could not open audio device for playback. This version of the Open Sound " +"System is not supported by this element." +msgstr "" + +#: sys/oss4/oss4-sink.c:646 +msgid "Playback is not supported by this audio device." +msgstr "" + +#: sys/oss4/oss4-sink.c:653 +msgid "Audio playback error." +msgstr "" + +#: sys/oss4/oss4-source.c:503 +msgid "Recording is not supported by this audio device." +msgstr "" + +#: sys/oss4/oss4-source.c:510 +msgid "Error recording from audio device." +msgstr "" + +#: sys/oss/gstosssrc.c:376 +msgid "" +"Could not open audio device for recording. You don't have permission to open " +"the device." +msgstr "" + +#: sys/oss/gstosssrc.c:384 +msgid "Could not open audio device for recording." +msgstr "" + +#: sys/osxaudio/gstosxaudioringbuffer.c:149 +msgid "CoreAudio device not found" +msgstr "" + +#: sys/osxaudio/gstosxaudioringbuffer.c:155 +msgid "CoreAudio device could not be opened" +msgstr "" + +#: sys/rpicamsrc/gstrpicamsrcdeviceprovider.c:148 +msgid "Raspberry Pi Camera Module" +msgstr "" + +#: sys/v4l2/gstv4l2bufferpool.c:1785 +#, c-format +msgid "Error reading %d bytes from device '%s'." +msgstr "" + +#: sys/v4l2/gstv4l2object.c:1234 +#, c-format +msgid "Failed to enumerate possible video formats device '%s' can work with" +msgstr "" + +#: sys/v4l2/gstv4l2object.c:3108 +#, c-format +msgid "Could not map buffers from device '%s'" +msgstr "" + +#: sys/v4l2/gstv4l2object.c:3116 +#, c-format +msgid "The driver of device '%s' does not support the IO method %d" +msgstr "" + +#: sys/v4l2/gstv4l2object.c:3123 +#, c-format +msgid "The driver of device '%s' does not support any known IO method." +msgstr "" + +#: sys/v4l2/gstv4l2object.c:3971 +msgid "Invalid caps" +msgstr "" + +#: sys/v4l2/gstv4l2object.c:3978 sys/v4l2/gstv4l2object.c:4002 +#, c-format +msgid "Device '%s' has no supported format" +msgstr "" + +#: sys/v4l2/gstv4l2object.c:3984 sys/v4l2/gstv4l2object.c:4008 +#, c-format +msgid "Device '%s' failed during initialization" +msgstr "" + +#: sys/v4l2/gstv4l2object.c:3996 +#, c-format +msgid "Device '%s' is busy" +msgstr "" + +#: sys/v4l2/gstv4l2object.c:4019 +#, c-format +msgid "Device '%s' cannot capture at %dx%d" +msgstr "" + +#: sys/v4l2/gstv4l2object.c:4028 +#, c-format +msgid "Device '%s' cannot capture in the specified format" +msgstr "" + +#: sys/v4l2/gstv4l2object.c:4039 +#, c-format +msgid "Device '%s' does support non-contiguous planes" +msgstr "" + +#: sys/v4l2/gstv4l2object.c:4054 +#, c-format +msgid "Device '%s' does not support %s interlacing" +msgstr "" + +#: sys/v4l2/gstv4l2object.c:4068 +#, c-format +msgid "Device '%s' does not support %s colorimetry" +msgstr "" + +#: sys/v4l2/gstv4l2object.c:4080 +#, c-format +msgid "Could not get parameters on device '%s'" +msgstr "" + +#: sys/v4l2/gstv4l2object.c:4088 +msgid "Video device did not accept new frame rate setting." +msgstr "" + +#: sys/v4l2/gstv4l2object.c:4219 +msgid "Video device did not provide output format." +msgstr "" + +#: sys/v4l2/gstv4l2object.c:4225 +msgid "Video device returned invalid dimensions." +msgstr "" + +#: sys/v4l2/gstv4l2object.c:4233 +msgid "Video device uses an unsupported interlacing method." +msgstr "" + +#: sys/v4l2/gstv4l2object.c:4240 +msgid "Video device uses an unsupported pixel format." +msgstr "" + +#: sys/v4l2/gstv4l2object.c:5006 +msgid "Failed to configure internal buffer pool." +msgstr "" + +#: sys/v4l2/gstv4l2object.c:5012 +msgid "Video device did not suggest any buffer size." +msgstr "" + +#: sys/v4l2/gstv4l2object.c:5027 +msgid "No downstream pool to import from." +msgstr "" + +#: sys/v4l2/gstv4l2radio.c:143 +#, c-format +msgid "Failed to get settings of tuner %d on device '%s'." +msgstr "" + +#: sys/v4l2/gstv4l2radio.c:150 +#, c-format +msgid "Error getting capabilities for device '%s'." +msgstr "" + +#: sys/v4l2/gstv4l2radio.c:157 +#, c-format +msgid "Device '%s' is not a tuner." +msgstr "" + +#: sys/v4l2/gstv4l2radio.c:184 +#, c-format +msgid "Failed to get radio input on device '%s'. " +msgstr "" + +#: sys/v4l2/gstv4l2radio.c:207 sys/v4l2/v4l2_calls.c:1136 +#, c-format +msgid "Failed to set input %d on device %s." +msgstr "" + +#: sys/v4l2/gstv4l2radio.c:241 +#, c-format +msgid "Failed to change mute state for device '%s'." +msgstr "" + +#: sys/v4l2/gstv4l2sink.c:632 +msgid "Failed to allocated required memory." +msgstr "" + +#: sys/v4l2/gstv4l2src.c:660 sys/v4l2/gstv4l2videodec.c:809 +#: sys/v4l2/gstv4l2videoenc.c:808 +msgid "Failed to allocate required memory." +msgstr "" + +#: sys/v4l2/gstv4l2transform.c:144 +#, c-format +msgid "Converter on device %s has no supported input format" +msgstr "" + +#: sys/v4l2/gstv4l2transform.c:151 +#, c-format +msgid "Converter on device %s has no supported output format" +msgstr "" + +#: sys/v4l2/gstv4l2videodec.c:145 +#, c-format +msgid "Decoder on device %s has no supported input format" +msgstr "" + +#: sys/v4l2/gstv4l2videodec.c:322 +#, c-format +msgid "Decoder on device %s has no supported output format" +msgstr "" + +#: sys/v4l2/gstv4l2videodec.c:823 +msgid "Failed to start decoding thread." +msgstr "" + +#: sys/v4l2/gstv4l2videodec.c:830 sys/v4l2/gstv4l2videoenc.c:829 +msgid "Failed to process frame." +msgstr "" + +#: sys/v4l2/gstv4l2videoenc.c:142 +#, c-format +msgid "Encoder on device %s has no supported output format" +msgstr "" + +#: sys/v4l2/gstv4l2videoenc.c:149 +#, c-format +msgid "Encoder on device %s has no supported input format" +msgstr "" + +#: sys/v4l2/gstv4l2videoenc.c:821 +msgid "Failed to start encoding thread." +msgstr "" + +#: sys/v4l2/v4l2_calls.c:92 +#, c-format +msgid "" +"Error getting capabilities for device '%s': It isn't a v4l2 driver. Check if " +"it is a v4l1 driver." +msgstr "" + +#: sys/v4l2/v4l2_calls.c:156 +#, c-format +msgid "Failed to query attributes of input %d in device %s" +msgstr "" + +#: sys/v4l2/v4l2_calls.c:187 +#, c-format +msgid "Failed to get setting of tuner %d on device '%s'." +msgstr "" + +#: sys/v4l2/v4l2_calls.c:235 +#, c-format +msgid "Failed to query norm on device '%s'." +msgstr "" + +#: sys/v4l2/v4l2_calls.c:417 +#, c-format +msgid "Failed getting controls attributes on device '%s'." +msgstr "" + +#: sys/v4l2/v4l2_calls.c:609 +#, c-format +msgid "Cannot identify device '%s'." +msgstr "" + +#: sys/v4l2/v4l2_calls.c:616 +#, c-format +msgid "This isn't a device '%s'." +msgstr "" + +#: sys/v4l2/v4l2_calls.c:623 +#, c-format +msgid "Could not open device '%s' for reading and writing." +msgstr "" + +#: sys/v4l2/v4l2_calls.c:630 +#, c-format +msgid "Device '%s' is not a capture device." +msgstr "" + +#: sys/v4l2/v4l2_calls.c:637 +#, c-format +msgid "Device '%s' is not a output device." +msgstr "" + +#: sys/v4l2/v4l2_calls.c:644 +#, c-format +msgid "Device '%s' is not a M2M device." +msgstr "" + +#: sys/v4l2/v4l2_calls.c:696 +#, c-format +msgid "Could not dup device '%s' for reading and writing." +msgstr "" + +#: sys/v4l2/v4l2_calls.c:780 +#, c-format +msgid "Failed to set norm for device '%s'." +msgstr "" + +#: sys/v4l2/v4l2_calls.c:818 +#, c-format +msgid "Failed to get current tuner frequency for device '%s'." +msgstr "" + +#: sys/v4l2/v4l2_calls.c:860 +#, c-format +msgid "Failed to set current tuner frequency for device '%s' to %lu Hz." +msgstr "" + +#: sys/v4l2/v4l2_calls.c:894 +#, c-format +msgid "Failed to get signal strength for device '%s'." +msgstr "" + +#: sys/v4l2/v4l2_calls.c:930 +#, c-format +msgid "Failed to get value for control %d on device '%s'." +msgstr "" + +#: sys/v4l2/v4l2_calls.c:965 +#, c-format +msgid "Failed to set value %d for control %d on device '%s'." +msgstr "" + +#: sys/v4l2/v4l2_calls.c:1025 +#, c-format +msgid "Failed to set value %s for control %d on device '%s'." +msgstr "" + +#: sys/v4l2/v4l2_calls.c:1111 +#, c-format +msgid "Failed to get current input on device '%s'. May be it is a radio device" +msgstr "" + +#: sys/v4l2/v4l2_calls.c:1168 +#, c-format +msgid "" +"Failed to get current output on device '%s'. May be it is a radio device" +msgstr "" + +#: sys/v4l2/v4l2_calls.c:1193 +#, c-format +msgid "Failed to set output %d on device %s." +msgstr "" + +#: sys/ximage/gstximagesrc.c:838 +msgid "Changing resolution at runtime is not yet supported." +msgstr "" + +#: sys/ximage/gstximagesrc.c:852 +msgid "Cannot operate without a clock" +msgstr "" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gst-plugins-good-1.18.5/sys/v4l2/gstv4l2bufferpool.c new/gst-plugins-good-1.18.6/sys/v4l2/gstv4l2bufferpool.c --- old/gst-plugins-good-1.18.5/sys/v4l2/gstv4l2bufferpool.c 2021-09-08 21:02:50.000000000 +0200 +++ new/gst-plugins-good-1.18.6/sys/v4l2/gstv4l2bufferpool.c 2022-02-02 16:06:48.000000000 +0100 @@ -463,11 +463,15 @@ } /* add metadata to raw video buffers */ - if (pool->add_videometa) - gst_buffer_add_video_meta_full (newbuf, GST_VIDEO_FRAME_FLAG_NONE, + if (pool->add_videometa) { + GstVideoMeta *videometa = + gst_buffer_add_video_meta_full (newbuf, GST_VIDEO_FRAME_FLAG_NONE, GST_VIDEO_INFO_FORMAT (info), GST_VIDEO_INFO_WIDTH (info), GST_VIDEO_INFO_HEIGHT (info), GST_VIDEO_INFO_N_PLANES (info), info->offset, info->stride); + if (videometa) + gst_video_meta_set_alignment (videometa, obj->align); + } *buffer = newbuf; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gst-plugins-good-1.18.5/sys/v4l2/gstv4l2object.c new/gst-plugins-good-1.18.6/sys/v4l2/gstv4l2object.c --- old/gst-plugins-good-1.18.5/sys/v4l2/gstv4l2object.c 2021-09-08 21:02:50.000000000 +0200 +++ new/gst-plugins-good-1.18.6/sys/v4l2/gstv4l2object.c 2022-02-02 16:06:48.000000000 +0100 @@ -4555,6 +4555,18 @@ offset[p], obj->info.offset[p], p); need_fmt_update = TRUE; } + + if (padded_height) { + guint fmt_height; + + if (V4L2_TYPE_IS_MULTIPLANAR (obj->type)) + fmt_height = obj->format.fmt.pix_mp.height; + else + fmt_height = obj->format.fmt.pix.height; + + if (padded_height > fmt_height) + need_fmt_update = TRUE; + } } if (need_fmt_update) {