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 2023-04-15 22:32:11
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/gstreamer-plugins-good (Old)
and /work/SRC/openSUSE:Factory/.gstreamer-plugins-good.new.19717 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "gstreamer-plugins-good"
Sat Apr 15 22:32:11 2023 rev:91 rq:1079380 version:1.22.2
Changes:
--------
---
/work/SRC/openSUSE:Factory/gstreamer-plugins-good/gstreamer-plugins-good.changes
2023-03-24 15:16:05.393519602 +0100
+++
/work/SRC/openSUSE:Factory/.gstreamer-plugins-good.new.19717/gstreamer-plugins-good.changes
2023-04-15 22:32:13.553219025 +0200
@@ -1,0 +2,23 @@
+Wed Apr 12 12:14:15 UTC 2023 - Bjørn Lie <[email protected]>
+
+- Update to version 1.22.2:
+ + osxvideosink: fix broken aspect ratio and frame drawing region
+ + qtdemux: Fix seek adjustment with SNAP_AFTER flag
+ + rtpopusdepay, matroskamux: Fix invalid rate while muxing Opus
+ in Matroska
+ + rtpmanager: twcc: Fix duplicate packet handling
+ + rtsp: url: fix incorrect request URI scheme for TLS transport
+ methods (regression)
+ + rtspsrc:
+ - Consider "451: Parameter Not Understood" when handling broken
+ control urls
+ - fix behavior change with URI protocols in OPTIONS requests
+ - Skip PTs with caps incompatible to the global caps
+ - rtpjpegdepay: fix logic error when checking if an end of
+ image (EOI) tag is present
+ + v4l2:
+ - Add support for YVU420M format
+ - mark JPEG as parsed
+- Rebase patch with quilt.
+
+-------------------------------------------------------------------
Old:
----
gst-plugins-good-1.22.1.tar.xz
New:
----
gst-plugins-good-1.22.2.tar.xz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ gstreamer-plugins-good.spec ++++++
--- /var/tmp/diff_new_pack.vToTc8/_old 2023-04-15 22:32:14.549224772 +0200
+++ /var/tmp/diff_new_pack.vToTc8/_new 2023-04-15 22:32:14.553224795 +0200
@@ -26,7 +26,7 @@
%define gst_branch 1.0
Name: gstreamer-plugins-good
-Version: 1.22.1
+Version: 1.22.2
Release: 0
Summary: GStreamer Streaming-Media Framework Plug-Ins
License: LGPL-2.1-or-later
++++++ gst-plugins-good-1.22.1.tar.xz -> gst-plugins-good-1.22.2.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/gst-plugins-good-1.22.1/ChangeLog
new/gst-plugins-good-1.22.2/ChangeLog
--- old/gst-plugins-good-1.22.1/ChangeLog 2023-03-04 14:45:27.364387300
+0100
+++ new/gst-plugins-good-1.22.2/ChangeLog 2023-04-11 18:31:02.645229300
+0200
@@ -1,3 +1,150 @@
+=== release 1.22.2 ===
+
+2023-04-11 17:29:28 +0100 Tim-Philipp Müller <[email protected]>
+
+ * NEWS:
+ * RELEASE:
+ * docs/gst_plugins_cache.json:
+ * gst-plugins-good.doap:
+ * meson.build:
+ Release 1.22.2
+
+2023-04-04 09:21:47 +0200 Edward Hervey <[email protected]>
+
+ * gst/rtpmanager/rtptwcc.c:
+ * tests/check/elements/rtpsession.c:
+ twcc: Better handle duplicate packets
+ The previous code would only check if two packets in a row were
duplicates. If
+ not (i.e. a packet is a duplicate of a packet received slightly
before) the code
+ would generate completely bogus FCI because it assumes there were no
duplicates
+ present in the array.
+ In order to be efficient, just store all received packets and remove
the
+ duplicates just before the FCI is generated once the array of
observations have
+ been sorted by seqnum.
+ Fixes TWCC usage with moderate to high packet duplication.
+ Part-of:
<https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4378>
+
+2022-11-04 22:04:21 +0100 Alexande B <[email protected]>
+
+ * sys/osxvideo/cocoawindow.m:
+ osxvideosink: fix broken aspect ration and frame drawing region
+ Part-of:
<https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4346>
+
+2023-04-04 19:23:14 +0300 Sebastian Dröge <[email protected]>
+
+ * gst/rtsp/gstrtspsrc.c:
+ rtspsrc: Skip PTs with caps incompatible to the global caps
+ Otherwise empty caps are created while all following code assumes that
+ the caps will have exactly one structure, and then run into
assertions.
+ Part-of:
<https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4343>
+
+2023-03-28 15:29:46 +0800 Shengqi Yu <[email protected]>
+
+ * docs/gst_plugins_cache.json:
+ * sys/v4l2/gstv4l2object.c:
+ v4l2object: Add support for YVU420M format
+ This is a multi-planar format with planes non contiguous in memory. It
+ is intended to be used only in drivers and applications that support
the
+ multi-planar API.
+ Part-of:
<https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4318>
+
+2023-03-23 16:40:54 +0000 Tim-Philipp Müller <[email protected]>
+
+ * gst/rtp/gstrtpjpegdepay.c:
+ rtpjpegdepay: fix logic error when checking if an EOI is present
+ We wouldn't add the missing EOI marker if the frame ended with
+ either 0xFF NN or 0xNN D9.
+ Fixes #2407
+ Part-of:
<https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4269>
+
+2023-03-20 16:35:45 +0100 Piotr BrzeziÅski <[email protected]>
+
+ * gst/isomp4/qtdemux.c:
+ qtdemux: Fix seek adjustment with SNAP_AFTER flag
+ With GST_SEEK_FLAG_SNAP_AFTER present, the previous version would
+ adjust seek time based on the keyframe farthest away from
desired_time.
+ This was incorrect, because we always want the *earliest* suitable
keyframe
+ to seek to, not the last one.
+ With this fix, in case of the SNAP_AFTER, we now look for the closest
keyframe
+ that can be found after desired_time. Behaviour for SNAP_BEFORE
should remain
+ unchanged.
+ Part-of:
<https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4251>
+
+2023-01-31 16:02:03 +0100 Michael Tretter <[email protected]>
+
+ * docs/gst_plugins_cache.json:
+ * sys/v4l2/gstv4l2object.c:
+ v4l2object: mark jpeg as parsed
+ Assuming that V4L2 CAPTURE devices always use one buffer per JPEG
image, we can
+ always mark JPEGs provided by a V4L2 element as parsed.
+ The V4L2 elements require that JPEG images sent to V4L2 OUTPUT
devices must
+ always be parsed.
+ This is necessary to link a V4L2 CAPTURE device with a V4L2 OUTPUT
device
+ without explicitly marking the stream as parsed or adding a jpegparse
into the
+ pipeline.
+ Part-of:
<https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4247>
+
+2023-03-17 17:13:39 +0200 Sebastian Dröge <[email protected]>
+
+ * gst/matroska/matroska-read-common.c:
+ matroskademux: Make gst_byte_reader_get_data() usage less confusing
+ This is effectively the same behaviour but retrieving 0 bytes of data
is
+ confusing to read.
+ Part-of:
<https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4221>
+
+2023-03-17 16:48:51 +0200 Sebastian Dröge <[email protected]>
+
+ * ext/flac/gstflacenc.c:
+ flacenc: Fix mapping of GStreamer image tag type to FLAC image tag
type
+ These enums are not compatible so just casting them does not work.
+ Part-of:
<https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4221>
+
+2023-03-17 16:32:45 +0200 Sebastian Dröge <[email protected]>
+
+ * ext/adaptivedemux2/gstadaptivedemux-stream.c:
+ * sys/oss/gstossaudio.c:
+ * sys/oss/gstosshelper.c:
+ plugins: Fix various trivial clang compiler warnings
+ Part-of:
<https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4221>
+
+2023-03-10 13:10:16 -0500 Arun Raghavan <[email protected]>
+
+ * docs/gst_plugins_cache.json:
+ * gst/matroska/matroska-mux.c:
+ matroskamux: Set rate/channels in Opus template caps
+ For some reason these were missed, and if caps didn't have them, we
would emit
+ an invalid Matroska file with a 0 value for Sampling Frequency or
channels.
+ Fixes:
https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/2354
+ Part-of:
<https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4172>
+
+2023-03-10 12:06:08 -0500 Arun Raghavan <[email protected]>
+
+ * gst/rtp/gstrtpopusdepay.c:
+ rtpopusdepay: Assume 48 kHz if sprop-maxcapturerate is missing
+ This matches 7587, section 6.1:
+ > sprop-maxcapturerate: a hint about the maximum input sampling
rate
+ > [...]
+ > bandwidths (Table 1). By default, the sender is assumed to
have
+ > no limitations, i.e., 48000.
+ Fixes:
https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/2354
+ Part-of:
<https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4172>
+
+2023-03-06 19:56:08 +0000 Matt Feury <[email protected]>
+
+ * gst/rtsp/gstrtspsrc.c:
+ rtspsrc: Consider "451: Parameter Not Understood" when handling
broken control urls
+ similar to
https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3854
+ it seems that some implementations return this when
+ the server does not implement URL handling correctly
+ this fixes
https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/2334
+ Part-of:
<https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4129>
+
+2023-03-04 16:13:04 +0000 Tim-Philipp Müller <[email protected]>
+
+ * docs/gst_plugins_cache.json:
+ * meson.build:
+ Back to development
+
=== release 1.22.1 ===
2023-03-04 13:42:32 +0000 Tim-Philipp Müller <[email protected]>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/gst-plugins-good-1.22.1/NEWS
new/gst-plugins-good-1.22.2/NEWS
--- old/gst-plugins-good-1.22.1/NEWS 2023-03-04 14:42:32.000000000 +0100
+++ new/gst-plugins-good-1.22.2/NEWS 2023-04-11 18:29:28.000000000 +0200
@@ -2,13 +2,13 @@
GStreamer 1.22.0 was originally released on 23 January 2023.
-The latest bug-fix release in the stable 1.22 series is 1.22.1 and was
-released on 04 March 2023.
+The latest bug-fix release in the stable 1.22 series is 1.22.2 and was
+released on 11 April 2023.
See https://gstreamer.freedesktop.org/releases/1.22/ for the latest
version of this document.
-Last updated: Monday 04 March 2023, 13:00 UTC (log)
+Last updated: Tuesday 11 April 2023, 16:45 UTC (log)
Introduction
@@ -1454,6 +1454,200 @@
- List of Merge Requests applied in 1.22.1
- List of Issues fixed in 1.22.1
+1.22.2
+
+The second 1.22 bug-fix release (1.22.2) was released on 11 April 2023.
+
+This release only contains bugfixes and it should be safe to update from
+1.22.x.
+
+Highlighted bugfixes in 1.22.2
+
+- avdec_h264: fix decoder deadlocks with FFmpeg 6.0
+- rtspsrc: fix regression with URI protocols in OPTIONS requests for
+ RTSP over TLS
+- rtspsrc: improved control url handling compatibility for broken
+ servers
+- decklink: fix 10 bit RGB (r210) format auto detection for capture
+ and fix playout if video caps are configured before audio caps
+- d3d11videosink: Fix tearing in case of fullscreen mode
+- playbin: fix deadlock when stopping stream with subtitles visible
+ (even more)
+- typefinding: fix regression not detecting application/dash+xml in
+ some corner cases
+- osxvideosink: fix broken aspect ratio and frame drawing region
+- decodebin3, parsebin: Improve elementary stream handling when
+ decoders are not present and fix hang when removing a failing stream
+- urisourcebin: Propagate sticky events from parsebin, so that the
+ STREAM_START event with the GstStream info is always available when
+ pads get exposed
+- v4l2: Add support for YVU420M format; mark JPEG content as parsed
+- h264decoder, h265decoder: DPB bumping process and latency reporting
+ fixes
+- Opus: Fix reading of extended channel config in MPEG-TS and fix
+ missing sample rate when remuxing from RTP to Matroska
+- zxing: add support for building against zxing-c++ 2.0
+- cerbero: Fix packaging of Rust plugins on Android; fix modern Gentoo
+ distro detection
+- various bug fixes, memory leak fixes, and other stability and
+ reliability improvements
+
+gstreamer
+
+- datetime: Return G_MAXFLOAT instead of G_MAXDOUBLE for no timezone
+ offset
+- inputselector: Wake up streaming thread before PLAYING_TO_PAUSED
+ transition
+- tools: fix potential crash when passing command-line options on
+ Windows
+
+gst-plugins-base
+
+- alsasink: Fix for being stuck in stop_streaming_threads state
+- decodebin3: fix hang when removing a failing stream
+- gl: wayland: cleanup on close
+- parsebin: Improve elementary stream handling
+- playbin: fix deadlock when stopping stream with subtitles visible
+ even more
+- sdp: Skip source-specific caps fields when creating an SDP media
+ from caps
+- urisourcebin: Propagate sticky events from parsebin
+- urisourcebin: Activate pad before transferring sticky events
+- typefinding: fix failure to recognize application/dash+xml in some
+ cases
+
+gst-plugins-good
+
+- osxvideosink: fix broken aspect ratio and frame drawing region
+- qtdemux: Fix seek adjustment with SNAP_AFTER flag
+- rtpopusdepay, matroskamux: Fix invalid rate while muxing Opus in
+ Matroska
+- rtpmanager: twcc: Fix duplicate packet handling
+- rtsp: url: fix incorrect request URI scheme for TLS transport
+ methods (regression)
+- rtspsrc: Consider â451: Parameter Not Understoodâ when handling
+ broken control urls
+- rtspsrc: fix behavior change with URI protocols in OPTIONS requests
+- rtspsrc: Skip PTs with caps incompatible to the global caps
+- rtpjpegdepay: fix logic error when checking if an end of image (EOI)
+ tag is present
+- v4l2: Add support for YVU420M format
+- v4l2: mark JPEG as parsed
+
+gst-plugins-bad
+
+- cea708overlay: fix HCR interpretation
+- d3d11bufferpool: Fix invalid access in debug print loop
+- d3d11compositor: Fix composition error on release_pad()
+- d3d11converter: Fix conversion backend selection
+- d3d11videosink: Fix tearing in case of fullscreen mode -
+ d3d11bufferpool: Fix invalid access in debug print loop
+- d3d11window: fix memory leak
+- decklink: fix 10 bit RGB (r210) format auto detection
+- decklinkaudiosink: Fix playback when video caps is configured before
+ audio
+- decklinkvideosrc: RGB 4:4:4 doesnât work after GStreamer upgrade
+ (regression)
+- decklinkvideosrc: unable to show HDMI stream that Blackmagicâs Media
+ Express is able to see
+- debugqroverlay: fix string leak
+- gtkwaylandsink: Destroy GstWlWindow when parent GtkWindow is
+ destroyed
+- gtkwaylandsink: Fix crash when rendering after the window is closed
+- ksvideo, directshow: Fix reference leaks in device providers
+- h264decoder: Fix DPB bumping process
+- h264decoder, h265decoder: Latency reporting related fixes
+- h264parse: Validate VUI framerate
+- jpegparse: reset parse state when the SOI is not the first marker
+- nvencoder: Fix CQP option setting
+- nvh264encoder: Fix template caps to include progressive mode as well
+- openjpegdec: allow multithread decoding only in subframe mode
+- tsdemux: Fix reading of extended Opus channel configuration
+- vulkan: fix validation layer issues
+- vulkanoverlaycompositor: fix potential use after free
+- vulkanswapper: correctly handle force-aspect-ratio=false
+- wasapi2: Fix potential crash on device activation failure
+- webrtc: Fix segfault traversing ice transports
+- webrtc: patch leak caused by early return
+- zxing: add support for zxing-c++ 2.0
+
+gst-plugins-ugly
+
+- No changes
+
+gst-libav
+
+- avdec_h264 pipeline freeze with FFmpeg6
+- avdeinterlace, avmux: fix element reference leak
+- avviddec: Drop decoder stream lock when calling send_packet
+
+gst-rtsp-server
+
+- rtsp-server: fix deadlock on shutdown with non-live pipeline if
+ media isnât playing/prerolled yet and eos-shutdown is enabled for
+ the media
+
+gstreamer-vaapi
+
+- No changes
+
+gstreamer-sharp
+
+- No changes
+
+gst-omx
+
+- No changes
+
+gst-python
+
+- No changes
+
+gst-editing-services
+
+- No changes
+
+gst-validate + gst-integration-testsuites
+
+- No changes
+
+gst-examples
+
+- No changes
+
+Development build environment
+
+- git: prevent CRLF line ending conversion for patches to fix pango
+ subproject patching issues on Windows
+
+Cerbero build tool and packaging changes in 1.22.2
+
+- build: retry rust build on SIGBUS errors too
+- Fix packaging of rust plugins on Android
+- Modern Gentoo distro adaptation
+- sbc: update to 2.0
+- speex: update to 1.2.1
+
+Contributors to 1.22.2
+
+Adrien De Coninck, Albert Sjölund, Alexande B, Antonio Rojas, Arun
+Raghavan, Bart Van Severen, Carlo Cabrera, Colin Kinloch, Edward Hervey,
+Guillaume Desmottes, Haihua Hu, He Junyan, Ilie Halip, Jordan Petridis,
+Josef KoláÅ, Lily Foster, Mathieu Duponchelle, Matt Feury, Matthew
+Waters, Maxim P. Dementyev, Michael Tretter, Nicolas Dufresne, Nirbheek
+Chauhan, Piotr BrzeziÅski, Robert Rosengren, Rouven Czerwinski,
+Sebastian Dröge, Seungha Yang, Shengqi Yu, Stéphane Cerveau, Talha Khan,
+Thibault Saunier, Tim-Philipp Müller, VÃctor Manuel Jáquez Leal, Vivia
+Nikolaidou, Wang Chuan, Wojciech Kapsa,
+
+⦠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.22.2
+
+- List of Merge Requests applied in 1.22.2
+- List of Issues fixed in 1.22.2
+
Schedule for 1.24
Our next major feature release will be 1.24, and 1.23 will be the
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/gst-plugins-good-1.22.1/RELEASE
new/gst-plugins-good-1.22.2/RELEASE
--- old/gst-plugins-good-1.22.1/RELEASE 2023-03-04 14:42:32.000000000 +0100
+++ new/gst-plugins-good-1.22.2/RELEASE 2023-04-11 18:29:28.000000000 +0200
@@ -1,4 +1,4 @@
-This is GStreamer gst-plugins-good 1.22.1.
+This is GStreamer gst-plugins-good 1.22.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.22.1/docs/gst_plugins_cache.json
new/gst-plugins-good-1.22.2/docs/gst_plugins_cache.json
--- old/gst-plugins-good-1.22.1/docs/gst_plugins_cache.json 2023-03-04
14:42:32.000000000 +0100
+++ new/gst-plugins-good-1.22.2/docs/gst_plugins_cache.json 2023-04-11
18:29:28.000000000 +0200
@@ -7027,7 +7027,7 @@
"construct": false,
"construct-only": false,
"controllable": false,
- "default": "GStreamer 1.22.1 FLV muxer",
+ "default": "GStreamer 1.22.2 FLV muxer",
"mutable": "null",
"readable": true,
"type": "gchararray",
@@ -7039,7 +7039,7 @@
"construct": false,
"construct-only": false,
"controllable": false,
- "default": "GStreamer 1.22.1 FLV muxer",
+ "default": "GStreamer 1.22.2 FLV muxer",
"mutable": "null",
"readable": true,
"type": "gchararray",
@@ -9546,7 +9546,7 @@
"long-name": "Matroska muxer",
"pad-templates": {
"audio_%%u": {
- "caps": "audio/mpeg:\n mpegversion: 1\n
layer: [ 1, 3 ]\n channels: [ 1, 2147483647 ]\n rate: [ 1,
2147483647 ]\naudio/mpeg:\n mpegversion: { (int)2, (int)4 }\n
stream-format: raw\n channels: [ 1, 2147483647 ]\n rate: [ 1,
2147483647 ]\naudio/x-ac3:\n channels: [ 1, 2147483647 ]\n
rate: [ 1, 2147483647 ]\naudio/x-eac3:\n channels: [ 1, 2147483647 ]\n
rate: [ 1, 2147483647 ]\naudio/x-dts:\n channels: [ 1, 2147483647
]\n rate: [ 1, 2147483647 ]\naudio/x-vorbis:\n channels: [ 1,
2147483647 ]\n rate: [ 1, 2147483647 ]\naudio/x-flac:\n
channels: [ 1, 2147483647 ]\n rate: [ 1, 2147483647
]\naudio/x-opus:\naudio/x-speex:\n channels: [ 1, 2147483647 ]\n
rate: [ 1, 2147483647 ]\naudio/x-raw:\n format: { U8, S16BE, S16LE,
S24BE, S24LE, S32BE, S32LE, F32LE, F64LE }\n layout: interleaved\n
channels: [ 1, 214
7483647 ]\n rate: [ 1, 2147483647 ]\naudio/x-tta:\n width:
{ (int)8, (int)16, (int)24 }\n channels: { (int)1, (int)2 }\n
rate: [ 8000, 96000 ]\naudio/x-pn-realaudio:\n raversion: { (int)1,
(int)2, (int)8 }\n channels: [ 1, 2147483647 ]\n rate: [ 1,
2147483647 ]\naudio/x-wma:\n wmaversion: [ 1, 3 ]\n block_align: [ 0,
65535 ]\n bitrate: [ 0, 524288 ]\n channels: [ 1, 2147483647 ]\n
rate: [ 1, 2147483647 ]\naudio/x-alaw:\n channels: { (int)1,
(int)2 }\n rate: [ 8000, 192000 ]\naudio/x-mulaw:\n channels: {
(int)1, (int)2 }\n rate: [ 8000, 192000 ]\naudio/x-adpcm:\n
layout: dvi\n block_align: [ 64, 8192 ]\n channels: { (int)1, (int)2
}\n rate: [ 8000, 96000 ]\naudio/G722:\n channels: 1\n
rate: 16000\naudio/x-adpcm:\n layout: g726\n channels: 1\n
rate: 8000\n",
+ "caps": "audio/mpeg:\n mpegversion: 1\n
layer: [ 1, 3 ]\n channels: [ 1, 2147483647 ]\n rate: [ 1,
2147483647 ]\naudio/mpeg:\n mpegversion: { (int)2, (int)4 }\n
stream-format: raw\n channels: [ 1, 2147483647 ]\n rate: [ 1,
2147483647 ]\naudio/x-ac3:\n channels: [ 1, 2147483647 ]\n
rate: [ 1, 2147483647 ]\naudio/x-eac3:\n channels: [ 1, 2147483647 ]\n
rate: [ 1, 2147483647 ]\naudio/x-dts:\n channels: [ 1, 2147483647
]\n rate: [ 1, 2147483647 ]\naudio/x-vorbis:\n channels: [ 1,
2147483647 ]\n rate: [ 1, 2147483647 ]\naudio/x-flac:\n
channels: [ 1, 2147483647 ]\n rate: [ 1, 2147483647
]\naudio/x-opus:\n channels: [ 1, 8 ]\n rate: { (int)8000,
(int)16000, (int)24000, (int)32000, (int)48000 }\naudio/x-speex:\n
channels: [ 1, 2147483647 ]\n rate: [ 1, 2147483647 ]\naudio/x-raw:\n
format: { U8, S16BE,
S16LE, S24BE, S24LE, S32BE, S32LE, F32LE, F64LE }\n layout:
interleaved\n channels: [ 1, 2147483647 ]\n rate: [ 1,
2147483647 ]\naudio/x-tta:\n width: { (int)8, (int)16, (int)24 }\n
channels: { (int)1, (int)2 }\n rate: [ 8000, 96000
]\naudio/x-pn-realaudio:\n raversion: { (int)1, (int)2, (int)8 }\n
channels: [ 1, 2147483647 ]\n rate: [ 1, 2147483647 ]\naudio/x-wma:\n
wmaversion: [ 1, 3 ]\n block_align: [ 0, 65535 ]\n bitrate: [ 0,
524288 ]\n channels: [ 1, 2147483647 ]\n rate: [ 1, 2147483647
]\naudio/x-alaw:\n channels: { (int)1, (int)2 }\n rate: [ 8000,
192000 ]\naudio/x-mulaw:\n channels: { (int)1, (int)2 }\n rate:
[ 8000, 192000 ]\naudio/x-adpcm:\n layout: dvi\n block_align: [ 64,
8192 ]\n channels: { (int)1, (int)2 }\n rate: [ 8000, 96000
]\naudio/G722:\n channels: 1\n rate: 16000\naudio/x-adpcm:\n
layout: g726\n channels: 1\n rate: 8000\n",
"direction": "sink",
"presence": "request"
},
@@ -21257,7 +21257,7 @@
"construct": false,
"construct-only": false,
"controllable": false,
- "default": "GStreamer/1.22.1",
+ "default": "GStreamer/1.22.2",
"mutable": "null",
"readable": true,
"type": "gchararray",
@@ -21816,7 +21816,7 @@
"construct": false,
"construct-only": false,
"controllable": false,
- "default": "GStreamer 1.22.1",
+ "default": "GStreamer 1.22.2",
"mutable": "null",
"readable": true,
"type": "gchararray",
@@ -23253,7 +23253,7 @@
"construct": false,
"construct-only": false,
"controllable": false,
- "default": "GStreamer souphttpsrc 1.22.1 ",
+ "default": "GStreamer souphttpsrc 1.22.2 ",
"mutable": "null",
"readable": true,
"type": "gchararray",
@@ -24891,7 +24891,7 @@
"long-name": "Video (video4linux2) Sink",
"pad-templates": {
"sink": {
- "caps": "image/jpeg:\nvideo/mpeg:\n mpegversion:
4\n systemstream: false\nvideo/mpeg:\n mpegversion: { (int)1, (int)2
}\nvideo/mpegts:\n systemstream: true\nvideo/x-bayer:\n format: {
bggr, gbrg, grbg, rggb }\n width: [ 1, 32768 ]\n height: [ 1,
32768 ]\n framerate: [ 0/1, 2147483647/1 ]\nvideo/x-dv:\n systemstream:
true\nvideo/x-fwht:\nvideo/x-h263:\n variant: itu\nvideo/x-h264:\n
stream-format: { (string)byte-stream, (string)avc }\n alignment:
au\nvideo/x-h265:\n stream-format: byte-stream\n alignment:
au\nvideo/x-pwc1:\n width: [ 1, 32768 ]\n height: [ 1, 32768
]\n framerate: [ 0/1, 2147483647/1 ]\nvideo/x-pwc2:\n width: [ 1,
32768 ]\n height: [ 1, 32768 ]\n framerate: [ 0/1, 2147483647/1
]\nvideo/x-raw:\n format: { RGB16, BGR, RGB, ABGR, xBGR, RGBA, RGBx,
GRAY8, GRAY16_LE, GRAY16_BE, YVU9, YV12, YUY2, YVYU, UYVY, Y42B, Y41B, YUV9,
NV12_64Z32, N
V12_8L128, NV12_10BE_8L128, NV24, NV12_16L32S, NV61, NV16, NV21, NV12, I420,
ARGB, xRGB, BGRA, BGRx, BGR15, RGB15 }\n width: [ 1, 32768 ]\n
height: [ 1, 32768 ]\n framerate: [ 0/1, 2147483647/1 ]\nvideo/x-sonix:\n
width: [ 1, 32768 ]\n height: [ 1, 32768 ]\n framerate: [
0/1, 2147483647/1 ]\nvideo/x-vp8:\nvideo/x-vp9:\nvideo/x-wmv:\n wmvversion:
3\n format: WVC1\n\nvideo/x-raw(format:Interlaced):\n format: {
RGB16, BGR, RGB, ABGR, xBGR, RGBA, RGBx, GRAY8, GRAY16_LE, GRAY16_BE, YVU9,
YV12, YUY2, YVYU, UYVY, Y42B, Y41B, YUV9, NV12_64Z32, NV12_8L128,
NV12_10BE_8L128, NV24, NV12_16L32S, NV61, NV16, NV21, NV12, I420, ARGB, xRGB,
BGRA, BGRx, BGR15, RGB15 }\n width: [ 1, 32768 ]\n height: [
1, 32768 ]\n framerate: [ 0/1, 2147483647/1 ]\n interlace-mode:
alternate\n",
+ "caps": "image/jpeg:\n parsed:
true\nvideo/mpeg:\n mpegversion: 4\n systemstream: false\nvideo/mpeg:\n
mpegversion: { (int)1, (int)2 }\nvideo/mpegts:\n systemstream:
true\nvideo/x-bayer:\n format: { bggr, gbrg, grbg, rggb }\n
width: [ 1, 32768 ]\n height: [ 1, 32768 ]\n framerate: [ 0/1,
2147483647/1 ]\nvideo/x-dv:\n systemstream:
true\nvideo/x-fwht:\nvideo/x-h263:\n variant: itu\nvideo/x-h264:\n
stream-format: { (string)byte-stream, (string)avc }\n alignment:
au\nvideo/x-h265:\n stream-format: byte-stream\n alignment:
au\nvideo/x-pwc1:\n width: [ 1, 32768 ]\n height: [ 1, 32768
]\n framerate: [ 0/1, 2147483647/1 ]\nvideo/x-pwc2:\n width: [ 1,
32768 ]\n height: [ 1, 32768 ]\n framerate: [ 0/1, 2147483647/1
]\nvideo/x-raw:\n format: { RGB16, BGR, RGB, ABGR, xBGR, RGBA, RGBx,
GRAY8, GRAY16_LE, GRAY16_BE, YVU9, YUY2, YVYU, UYVY, Y42B, Y41B, YU
V9, NV12_64Z32, NV12_8L128, NV12_10BE_8L128, NV24, NV12_16L32S, NV61, NV16,
NV21, NV12, I420, YV12, ARGB, xRGB, BGRA, BGRx, BGR15, RGB15 }\n
width: [ 1, 32768 ]\n height: [ 1, 32768 ]\n framerate: [ 0/1,
2147483647/1 ]\nvideo/x-sonix:\n width: [ 1, 32768 ]\n height:
[ 1, 32768 ]\n framerate: [ 0/1, 2147483647/1
]\nvideo/x-vp8:\nvideo/x-vp9:\nvideo/x-wmv:\n wmvversion: 3\n
format: WVC1\n\nvideo/x-raw(format:Interlaced):\n format: { RGB16, BGR,
RGB, ABGR, xBGR, RGBA, RGBx, GRAY8, GRAY16_LE, GRAY16_BE, YVU9, YUY2, YVYU,
UYVY, Y42B, Y41B, YUV9, NV12_64Z32, NV12_8L128, NV12_10BE_8L128, NV24,
NV12_16L32S, NV61, NV16, NV21, NV12, I420, YV12, ARGB, xRGB, BGRA, BGRx, BGR15,
RGB15 }\n width: [ 1, 32768 ]\n height: [ 1, 32768 ]\n
framerate: [ 0/1, 2147483647/1 ]\n interlace-mode: alternate\n",
"direction": "sink",
"presence": "always"
}
@@ -25199,7 +25199,7 @@
"long-name": "Video (video4linux2) Source",
"pad-templates": {
"src": {
- "caps": "image/jpeg:\nvideo/mpeg:\n mpegversion:
4\n systemstream: false\nvideo/mpeg:\n mpegversion: { (int)1, (int)2
}\nvideo/mpegts:\n systemstream: true\nvideo/x-bayer:\n format: {
bggr, gbrg, grbg, rggb }\n width: [ 1, 32768 ]\n height: [ 1,
32768 ]\n framerate: [ 0/1, 2147483647/1 ]\nvideo/x-dv:\n systemstream:
true\nvideo/x-fwht:\nvideo/x-h263:\n variant: itu\nvideo/x-h264:\n
stream-format: { (string)byte-stream, (string)avc }\n alignment:
au\nvideo/x-h265:\n stream-format: byte-stream\n alignment:
au\nvideo/x-pwc1:\n width: [ 1, 32768 ]\n height: [ 1, 32768
]\n framerate: [ 0/1, 2147483647/1 ]\nvideo/x-pwc2:\n width: [ 1,
32768 ]\n height: [ 1, 32768 ]\n framerate: [ 0/1, 2147483647/1
]\nvideo/x-raw:\n format: { RGB16, BGR, RGB, ABGR, xBGR, RGBA, RGBx,
GRAY8, GRAY16_LE, GRAY16_BE, YVU9, YV12, YUY2, YVYU, UYVY, Y42B, Y41B, YUV9,
NV12_64Z32, N
V12_8L128, NV12_10BE_8L128, NV24, NV12_16L32S, NV61, NV16, NV21, NV12, I420,
ARGB, xRGB, BGRA, BGRx, BGR15, RGB15 }\n width: [ 1, 32768 ]\n
height: [ 1, 32768 ]\n framerate: [ 0/1, 2147483647/1 ]\nvideo/x-sonix:\n
width: [ 1, 32768 ]\n height: [ 1, 32768 ]\n framerate: [
0/1, 2147483647/1 ]\nvideo/x-vp8:\nvideo/x-vp9:\nvideo/x-wmv:\n wmvversion:
3\n format: WVC1\n\nvideo/x-raw(format:Interlaced):\n format: {
RGB16, BGR, RGB, ABGR, xBGR, RGBA, RGBx, GRAY8, GRAY16_LE, GRAY16_BE, YVU9,
YV12, YUY2, YVYU, UYVY, Y42B, Y41B, YUV9, NV12_64Z32, NV12_8L128,
NV12_10BE_8L128, NV24, NV12_16L32S, NV61, NV16, NV21, NV12, I420, ARGB, xRGB,
BGRA, BGRx, BGR15, RGB15 }\n width: [ 1, 32768 ]\n height: [
1, 32768 ]\n framerate: [ 0/1, 2147483647/1 ]\n interlace-mode:
alternate\n",
+ "caps": "image/jpeg:\n parsed:
true\nvideo/mpeg:\n mpegversion: 4\n systemstream: false\nvideo/mpeg:\n
mpegversion: { (int)1, (int)2 }\nvideo/mpegts:\n systemstream:
true\nvideo/x-bayer:\n format: { bggr, gbrg, grbg, rggb }\n
width: [ 1, 32768 ]\n height: [ 1, 32768 ]\n framerate: [ 0/1,
2147483647/1 ]\nvideo/x-dv:\n systemstream:
true\nvideo/x-fwht:\nvideo/x-h263:\n variant: itu\nvideo/x-h264:\n
stream-format: { (string)byte-stream, (string)avc }\n alignment:
au\nvideo/x-h265:\n stream-format: byte-stream\n alignment:
au\nvideo/x-pwc1:\n width: [ 1, 32768 ]\n height: [ 1, 32768
]\n framerate: [ 0/1, 2147483647/1 ]\nvideo/x-pwc2:\n width: [ 1,
32768 ]\n height: [ 1, 32768 ]\n framerate: [ 0/1, 2147483647/1
]\nvideo/x-raw:\n format: { RGB16, BGR, RGB, ABGR, xBGR, RGBA, RGBx,
GRAY8, GRAY16_LE, GRAY16_BE, YVU9, YUY2, YVYU, UYVY, Y42B, Y41B, YU
V9, NV12_64Z32, NV12_8L128, NV12_10BE_8L128, NV24, NV12_16L32S, NV61, NV16,
NV21, NV12, I420, YV12, ARGB, xRGB, BGRA, BGRx, BGR15, RGB15 }\n
width: [ 1, 32768 ]\n height: [ 1, 32768 ]\n framerate: [ 0/1,
2147483647/1 ]\nvideo/x-sonix:\n width: [ 1, 32768 ]\n height:
[ 1, 32768 ]\n framerate: [ 0/1, 2147483647/1
]\nvideo/x-vp8:\nvideo/x-vp9:\nvideo/x-wmv:\n wmvversion: 3\n
format: WVC1\n\nvideo/x-raw(format:Interlaced):\n format: { RGB16, BGR,
RGB, ABGR, xBGR, RGBA, RGBx, GRAY8, GRAY16_LE, GRAY16_BE, YVU9, YUY2, YVYU,
UYVY, Y42B, Y41B, YUV9, NV12_64Z32, NV12_8L128, NV12_10BE_8L128, NV24,
NV12_16L32S, NV61, NV16, NV21, NV12, I420, YV12, ARGB, xRGB, BGRA, BGRx, BGR15,
RGB15 }\n width: [ 1, 32768 ]\n height: [ 1, 32768 ]\n
framerate: [ 0/1, 2147483647/1 ]\n interlace-mode: alternate\n",
"direction": "src",
"presence": "always"
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/gst-plugins-good-1.22.1/ext/adaptivedemux2/gstadaptivedemux-stream.c
new/gst-plugins-good-1.22.2/ext/adaptivedemux2/gstadaptivedemux-stream.c
--- old/gst-plugins-good-1.22.1/ext/adaptivedemux2/gstadaptivedemux-stream.c
2023-03-04 14:42:32.000000000 +0100
+++ new/gst-plugins-good-1.22.2/ext/adaptivedemux2/gstadaptivedemux-stream.c
2023-04-11 18:29:28.000000000 +0200
@@ -2564,7 +2564,7 @@
* fraction of the measured download rate */
target_download_rate =
CLAMP (stream->current_download_rate, 0,
- G_MAXUINT) * demux->bandwidth_target_ratio;
+ G_MAXUINT) * (gdouble) demux->bandwidth_target_ratio;
GST_DEBUG_OBJECT (stream, "Bitrate after target ratio limit (%0.2f): %u",
demux->bandwidth_target_ratio, target_download_rate);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/gst-plugins-good-1.22.1/ext/flac/gstflacenc.c
new/gst-plugins-good-1.22.2/ext/flac/gstflacenc.c
--- old/gst-plugins-good-1.22.1/ext/flac/gstflacenc.c 2023-03-04
14:42:32.000000000 +0100
+++ new/gst-plugins-good-1.22.2/ext/flac/gstflacenc.c 2023-04-11
18:29:28.000000000 +0200
@@ -687,7 +687,89 @@
gst_buffer_unmap (buffer, &map);
GST_LOG_OBJECT (flacenc, "Setting picture type %d", image_type);
- flacenc->meta[entries]->data.picture.type = image_type;
+ switch (image_type) {
+ case GST_TAG_IMAGE_TYPE_NONE:
+ flacenc->meta[entries]->data.picture.type =
+ FLAC__STREAM_METADATA_PICTURE_TYPE_OTHER;
+ break;
+ case GST_TAG_IMAGE_TYPE_FRONT_COVER:
+ flacenc->meta[entries]->data.picture.type =
+ FLAC__STREAM_METADATA_PICTURE_TYPE_FRONT_COVER;
+ break;
+ case GST_TAG_IMAGE_TYPE_BACK_COVER:
+ flacenc->meta[entries]->data.picture.type =
+ FLAC__STREAM_METADATA_PICTURE_TYPE_BACK_COVER;
+ break;
+ case GST_TAG_IMAGE_TYPE_LEAFLET_PAGE:
+ flacenc->meta[entries]->data.picture.type =
+ FLAC__STREAM_METADATA_PICTURE_TYPE_LEAFLET_PAGE;
+ break;
+ case GST_TAG_IMAGE_TYPE_MEDIUM:
+ flacenc->meta[entries]->data.picture.type =
+ FLAC__STREAM_METADATA_PICTURE_TYPE_MEDIA;
+ break;
+ case GST_TAG_IMAGE_TYPE_LEAD_ARTIST:
+ flacenc->meta[entries]->data.picture.type =
+ FLAC__STREAM_METADATA_PICTURE_TYPE_LEAD_ARTIST;
+ break;
+ case GST_TAG_IMAGE_TYPE_ARTIST:
+ flacenc->meta[entries]->data.picture.type =
+ FLAC__STREAM_METADATA_PICTURE_TYPE_ARTIST;
+ break;
+ case GST_TAG_IMAGE_TYPE_CONDUCTOR:
+ flacenc->meta[entries]->data.picture.type =
+ FLAC__STREAM_METADATA_PICTURE_TYPE_CONDUCTOR;
+ break;
+ case GST_TAG_IMAGE_TYPE_BAND_ORCHESTRA:
+ flacenc->meta[entries]->data.picture.type =
+ FLAC__STREAM_METADATA_PICTURE_TYPE_BAND;
+ break;
+ case GST_TAG_IMAGE_TYPE_COMPOSER:
+ flacenc->meta[entries]->data.picture.type =
+ FLAC__STREAM_METADATA_PICTURE_TYPE_COMPOSER;
+ break;
+ case GST_TAG_IMAGE_TYPE_LYRICIST:
+ flacenc->meta[entries]->data.picture.type =
+ FLAC__STREAM_METADATA_PICTURE_TYPE_LYRICIST;
+ break;
+ case GST_TAG_IMAGE_TYPE_RECORDING_LOCATION:
+ flacenc->meta[entries]->data.picture.type =
+ FLAC__STREAM_METADATA_PICTURE_TYPE_RECORDING_LOCATION;
+ break;
+ case GST_TAG_IMAGE_TYPE_DURING_RECORDING:
+ flacenc->meta[entries]->data.picture.type =
+ FLAC__STREAM_METADATA_PICTURE_TYPE_DURING_RECORDING;
+ break;
+ case GST_TAG_IMAGE_TYPE_DURING_PERFORMANCE:
+ flacenc->meta[entries]->data.picture.type =
+ FLAC__STREAM_METADATA_PICTURE_TYPE_DURING_PERFORMANCE;
+ break;
+ case GST_TAG_IMAGE_TYPE_VIDEO_CAPTURE:
+ flacenc->meta[entries]->data.picture.type =
+ FLAC__STREAM_METADATA_PICTURE_TYPE_VIDEO_SCREEN_CAPTURE;
+ break;
+ case GST_TAG_IMAGE_TYPE_FISH:
+ flacenc->meta[entries]->data.picture.type =
+ FLAC__STREAM_METADATA_PICTURE_TYPE_FISH;
+ break;
+ case GST_TAG_IMAGE_TYPE_ILLUSTRATION:
+ flacenc->meta[entries]->data.picture.type =
+ FLAC__STREAM_METADATA_PICTURE_TYPE_ILLUSTRATION;
+ break;
+ case GST_TAG_IMAGE_TYPE_BAND_ARTIST_LOGO:
+ flacenc->meta[entries]->data.picture.type =
+ FLAC__STREAM_METADATA_PICTURE_TYPE_BAND_LOGOTYPE;
+ break;
+ case GST_TAG_IMAGE_TYPE_PUBLISHER_STUDIO_LOGO:
+ flacenc->meta[entries]->data.picture.type =
+ FLAC__STREAM_METADATA_PICTURE_TYPE_PUBLISHER_LOGOTYPE;
+ break;
+ case GST_TAG_IMAGE_TYPE_UNDEFINED:
+ default:
+ flacenc->meta[entries]->data.picture.type =
+ FLAC__STREAM_METADATA_PICTURE_TYPE_UNDEFINED;
+ break;
+ }
if (width > 0 && height > 0) {
flacenc->meta[entries]->data.picture.width = width;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/gst-plugins-good-1.22.1/gst/isomp4/qtdemux.c
new/gst-plugins-good-1.22.2/gst/isomp4/qtdemux.c
--- old/gst-plugins-good-1.22.1/gst/isomp4/qtdemux.c 2023-03-04
14:42:32.000000000 +0100
+++ new/gst-plugins-good-1.22.2/gst/isomp4/qtdemux.c 2023-04-11
18:29:28.000000000 +0200
@@ -1125,7 +1125,7 @@
gint64 min_byte_offset = -1;
guint i;
- min_offset = desired_time;
+ min_offset = next ? G_MAXUINT64 : desired_time;
/* for each stream, find the index of the sample in the segment
* and move back to the previous keyframe. */
@@ -1184,10 +1184,10 @@
index++;
if (!empty_segment) {
- /* find previous keyframe */
+ /* find previous or next keyframe */
kindex = gst_qtdemux_find_keyframe (qtdemux, str, index, next);
- /* we will settle for one before if none found after */
+ /* if looking for next one, we will settle for one before if none found
after */
if (next && kindex == -1)
kindex = gst_qtdemux_find_keyframe (qtdemux, str, index, FALSE);
@@ -1213,8 +1213,12 @@
/* this keyframe is inside the segment, convert back to
* segment time */
seg_time = (media_time - seg->media_start) + seg->time;
- if ((!next && (seg_time < min_offset)) ||
- (next && (seg_time > min_offset)))
+
+ /* Adjust the offset based on the earliest suitable keyframe found,
+ * based on which GST_SEEK_FLAG_SNAP_* is present (indicated by
'next').
+ * For SNAP_BEFORE we look for the earliest keyframe before
desired_time,
+ * and in case of SNAP_AFTER - for the closest one after it. */
+ if (seg_time < min_offset)
min_offset = seg_time;
}
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/gst-plugins-good-1.22.1/gst/matroska/matroska-mux.c
new/gst-plugins-good-1.22.2/gst/matroska/matroska-mux.c
--- old/gst-plugins-good-1.22.1/gst/matroska/matroska-mux.c 2023-03-04
14:42:32.000000000 +0100
+++ new/gst-plugins-good-1.22.2/gst/matroska/matroska-mux.c 2023-04-11
18:29:28.000000000 +0200
@@ -180,7 +180,9 @@
COMMON_AUDIO_CAPS "; "
"audio/x-flac, "
COMMON_AUDIO_CAPS "; "
- "audio/x-opus; "
+ "audio/x-opus, "
+ "channels = (int) [ 1, 8 ], "
+ "rate = (int) { 8000, 16000, 24000, 32000, 48000 }; "
"audio/x-speex, "
COMMON_AUDIO_CAPS "; "
"audio/x-raw, "
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/gst-plugins-good-1.22.1/gst/matroska/matroska-read-common.c
new/gst-plugins-good-1.22.2/gst/matroska/matroska-read-common.c
--- old/gst-plugins-good-1.22.1/gst/matroska/matroska-read-common.c
2023-03-04 14:42:32.000000000 +0100
+++ new/gst-plugins-good-1.22.2/gst/matroska/matroska-read-common.c
2023-04-11 18:29:28.000000000 +0200
@@ -592,8 +592,9 @@
gst_structure_set (info_protect, "subsample_count", G_TYPE_UINT, 0, NULL);
}
- gst_byte_reader_get_data (&reader, 0, (const guint8 **) data_out);
*size_out = gst_byte_reader_get_remaining (&reader);
+ gst_byte_reader_get_data (&reader, *size_out, (const guint8 **) data_out);
+
return TRUE;
release_err:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/gst-plugins-good-1.22.1/gst/rtp/gstrtpjpegdepay.c
new/gst-plugins-good-1.22.2/gst/rtp/gstrtpjpegdepay.c
--- old/gst-plugins-good-1.22.1/gst/rtp/gstrtpjpegdepay.c 2023-03-04
14:42:32.000000000 +0100
+++ new/gst-plugins-good-1.22.2/gst/rtp/gstrtpjpegdepay.c 2023-04-11
18:29:28.000000000 +0200
@@ -705,7 +705,7 @@
* marker */
gst_adapter_copy (rtpjpegdepay->adapter, end, avail - 2, 2);
- if (end[0] != 0xff && end[1] != 0xd9) {
+ if (GST_READ_UINT16_BE (end) != 0xffd9) {
GST_DEBUG_OBJECT (rtpjpegdepay, "no EOI marker, adding one");
/* no EOI marker, add one */
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/gst-plugins-good-1.22.1/gst/rtp/gstrtpopusdepay.c
new/gst-plugins-good-1.22.2/gst/rtp/gstrtpopusdepay.c
--- old/gst-plugins-good-1.22.1/gst/rtp/gstrtpopusdepay.c 2023-03-04
14:42:32.000000000 +0100
+++ new/gst-plugins-good-1.22.2/gst/rtp/gstrtpopusdepay.c 2023-04-11
18:29:28.000000000 +0200
@@ -100,6 +100,8 @@
GstStructure *s;
gboolean ret;
const gchar *sprop_maxcapturerate;
+ /* Default unless overridden by sprop_maxcapturerate */
+ gint rate = 48000;
srccaps = gst_caps_new_empty_simple ("audio/x-opus");
@@ -215,19 +217,22 @@
if ((sprop_maxcapturerate =
gst_structure_get_string (s, "sprop-maxcapturerate"))) {
- gulong rate;
gchar *tailptr;
+ gulong tmp_rate;
- rate = strtoul (sprop_maxcapturerate, &tailptr, 10);
- if (rate > INT_MAX || *tailptr != '\0') {
+ tmp_rate = strtoul (sprop_maxcapturerate, &tailptr, 10);
+ if (tmp_rate > INT_MAX || *tailptr != '\0') {
GST_WARNING_OBJECT (depayload,
"Failed to parse sprop-maxcapturerate value '%s'",
sprop_maxcapturerate);
} else {
- gst_caps_set_simple (srccaps, "rate", G_TYPE_INT, rate, NULL);
+ /* Valid rate from sprop, let's use it */
+ rate = tmp_rate;
}
}
+ gst_caps_set_simple (srccaps, "rate", G_TYPE_INT, rate, NULL);
+
ret = gst_pad_set_caps (GST_RTP_BASE_DEPAYLOAD_SRCPAD (depayload), srccaps);
GST_DEBUG_OBJECT (depayload,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/gst-plugins-good-1.22.1/gst/rtpmanager/rtptwcc.c
new/gst-plugins-good-1.22.2/gst/rtpmanager/rtptwcc.c
--- old/gst-plugins-good-1.22.1/gst/rtpmanager/rtptwcc.c 2023-03-04
14:42:32.000000000 +0100
+++ new/gst-plugins-good-1.22.2/gst/rtpmanager/rtptwcc.c 2023-04-11
18:29:28.000000000 +0200
@@ -598,6 +598,20 @@
g_array_sort (twcc->recv_packets, _twcc_seqnum_sort);
+ /* Quick scan to remove duplicates */
+ prev = &g_array_index (twcc->recv_packets, RecvPacket, 0);
+ for (i = 1; i < twcc->recv_packets->len;) {
+ RecvPacket *cur = &g_array_index (twcc->recv_packets, RecvPacket, i);
+
+ if (prev->seqnum == cur->seqnum) {
+ GST_DEBUG ("Removing duplicate packet #%u", cur->seqnum);
+ g_array_remove_index (twcc->recv_packets, i);
+ } else {
+ prev = cur;
+ i += 1;
+ }
+ }
+
/* get first and last packet */
first = &g_array_index (twcc->recv_packets, RecvPacket, 0);
last =
@@ -740,6 +754,11 @@
first = &g_array_index (twcc->recv_packets, RecvPacket, 0);
packet_count = seqnum - first->seqnum + 1;
+ /* If there are a high number of duplicates, we can't use the following
+ * metrics */
+ if (received_packets > packet_count)
+ return FALSE;
+
/* check if we lost half of the threshold */
lost_packets = packet_count - received_packets;
if (received_packets >= 30 && lost_packets >= 60)
@@ -787,17 +806,6 @@
return FALSE;
}
- if (twcc->recv_packets->len > 0) {
- RecvPacket *last = &g_array_index (twcc->recv_packets, RecvPacket,
- twcc->recv_packets->len - 1);
-
- diff = gst_rtp_buffer_compare_seqnum (last->seqnum, seqnum);
- if (diff == 0) {
- GST_INFO ("Received duplicate packet (%u), dropping", seqnum);
- return FALSE;
- }
- }
-
/* store the packet for Transport-wide RTCP feedback message */
recv_packet_init (&packet, seqnum, pinfo);
g_array_append_val (twcc->recv_packets, packet);
@@ -817,6 +825,8 @@
pinfo->running_time + twcc->feedback_interval;
if (pinfo->running_time >= twcc->next_feedback_send_time) {
+ GST_LOG ("Generating feedback : Exceeded feedback interval %"
+ GST_TIME_FORMAT, GST_TIME_ARGS (twcc->feedback_interval));
rtp_twcc_manager_create_feedback (twcc);
send_feedback = TRUE;
@@ -824,6 +834,8 @@
twcc->next_feedback_send_time += twcc->feedback_interval;
}
} else if (pinfo->marker || _many_packets_some_lost (twcc, seqnum)) {
+ GST_LOG ("Generating feedback because of %s",
+ pinfo->marker ? "marker packet" : "many packets some lost");
rtp_twcc_manager_create_feedback (twcc);
send_feedback = TRUE;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/gst-plugins-good-1.22.1/gst/rtsp/gstrtspsrc.c
new/gst-plugins-good-1.22.2/gst/rtsp/gstrtspsrc.c
--- old/gst-plugins-good-1.22.1/gst/rtsp/gstrtspsrc.c 2023-03-04
14:42:32.000000000 +0100
+++ new/gst-plugins-good-1.22.2/gst/rtsp/gstrtspsrc.c 2023-04-11
18:29:28.000000000 +0200
@@ -2301,6 +2301,13 @@
outcaps = gst_caps_intersect (caps, global_caps);
gst_caps_unref (caps);
+ if (gst_caps_is_empty (outcaps)) {
+ GST_WARNING_OBJECT (src,
+ " skipping pt %d with caps conflicting with the global caps", pt);
+ gst_caps_unref (outcaps);
+ continue;
+ }
+
/* the first pt will be the default */
if (stream->ptmap->len == 0)
stream->default_pt = pt;
@@ -7721,6 +7728,7 @@
case GST_RTSP_STS_BAD_REQUEST:
case GST_RTSP_STS_NOT_FOUND:
case GST_RTSP_STS_METHOD_NOT_VALID_IN_THIS_STATE:
+ case GST_RTSP_STS_PARAMETER_NOT_UNDERSTOOD:
/* There are various non-compliant servers that don't require control
* URLs that are not resolved correctly but instead are just appended.
* See e.g.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/gst-plugins-good-1.22.1/gst-plugins-good.doap
new/gst-plugins-good-1.22.2/gst-plugins-good.doap
--- old/gst-plugins-good-1.22.1/gst-plugins-good.doap 2023-03-04
14:42:32.000000000 +0100
+++ new/gst-plugins-good-1.22.2/gst-plugins-good.doap 2023-04-11
18:29:28.000000000 +0200
@@ -34,6 +34,16 @@
<release>
<Version>
+ <revision>1.22.2</revision>
+ <branch>1.22</branch>
+ <name></name>
+ <created>2023-04-11</created>
+ <file-release
rdf:resource="https://gstreamer.freedesktop.org/src/gst-plugins-good/gst-plugins-good-1.22.2.tar.xz"
/>
+ </Version>
+ </release>
+
+ <release>
+ <Version>
<revision>1.22.1</revision>
<branch>1.22</branch>
<name></name>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/gst-plugins-good-1.22.1/meson.build
new/gst-plugins-good-1.22.2/meson.build
--- old/gst-plugins-good-1.22.1/meson.build 2023-03-04 14:42:32.000000000
+0100
+++ new/gst-plugins-good-1.22.2/meson.build 2023-04-11 18:29:28.000000000
+0200
@@ -1,5 +1,5 @@
project('gst-plugins-good', 'c',
- version : '1.22.1',
+ version : '1.22.2',
meson_version : '>= 0.62',
default_options : [ 'warning_level=1',
'buildtype=debugoptimized' ])
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/gst-plugins-good-1.22.1/po/gst-plugins-good-1.0.pot
new/gst-plugins-good-1.22.2/po/gst-plugins-good-1.0.pot
--- old/gst-plugins-good-1.22.1/po/gst-plugins-good-1.0.pot 2023-03-04
14:45:27.124386000 +0100
+++ new/gst-plugins-good-1.22.2/po/gst-plugins-good-1.0.pot 2023-04-11
18:31:02.401225600 +0200
@@ -6,9 +6,9 @@
#, fuzzy
msgid ""
msgstr ""
-"Project-Id-Version: gst-plugins-good-1.22.1\n"
+"Project-Id-Version: gst-plugins-good-1.22.2\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2023-03-04 13:45+0000\n"
+"POT-Creation-Date: 2023-04-11 17:31+0100\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <[email protected]>\n"
@@ -99,49 +99,49 @@
msgid "This file contains no playable streams."
msgstr ""
-#: gst/isomp4/qtdemux.c:556 gst/isomp4/qtdemux.c:7367 gst/isomp4/qtdemux.c:7436
-#: gst/isomp4/qtdemux.c:7742 gst/isomp4/qtdemux.c:9135
+#: gst/isomp4/qtdemux.c:556 gst/isomp4/qtdemux.c:7371 gst/isomp4/qtdemux.c:7440
+#: gst/isomp4/qtdemux.c:7746 gst/isomp4/qtdemux.c:9139
msgid "This file is invalid and cannot be played."
msgstr ""
-#: gst/isomp4/qtdemux.c:3041
+#: gst/isomp4/qtdemux.c:3045
msgid "Cannot play stream because it is encrypted with PlayReady DRM."
msgstr ""
-#: gst/isomp4/qtdemux.c:4360 gst/isomp4/qtdemux.c:8522
-#: gst/isomp4/qtdemux.c:8529 gst/isomp4/qtdemux.c:9837
-#: gst/isomp4/qtdemux.c:10279 gst/isomp4/qtdemux.c:10286
-#: gst/isomp4/qtdemux.c:13450
+#: gst/isomp4/qtdemux.c:4364 gst/isomp4/qtdemux.c:8526
+#: gst/isomp4/qtdemux.c:8533 gst/isomp4/qtdemux.c:9841
+#: gst/isomp4/qtdemux.c:10283 gst/isomp4/qtdemux.c:10290
+#: gst/isomp4/qtdemux.c:13454
msgid "This file is corrupt and cannot be played."
msgstr ""
-#: gst/isomp4/qtdemux.c:4602
+#: gst/isomp4/qtdemux.c:4606
msgid "Invalid atom size."
msgstr ""
-#: gst/isomp4/qtdemux.c:4655 gst/isomp4/qtdemux.c:4662
+#: gst/isomp4/qtdemux.c:4659 gst/isomp4/qtdemux.c:4666
msgid "Cannot query file size"
msgstr ""
-#: gst/isomp4/qtdemux.c:4671
+#: gst/isomp4/qtdemux.c:4675
msgid "Cannot demux file"
msgstr ""
-#: gst/isomp4/qtdemux.c:4711
+#: gst/isomp4/qtdemux.c:4715
msgid "This file is incomplete and cannot be played."
msgstr ""
-#: gst/isomp4/qtdemux.c:11420
+#: gst/isomp4/qtdemux.c:11424
msgid "The video in this file might not play correctly."
msgstr ""
-#: gst/rtsp/gstrtspsrc.c:7886
+#: gst/rtsp/gstrtspsrc.c:7894
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:7891
+#: gst/rtsp/gstrtspsrc.c:7899
msgid ""
"No supported stream was found. You might need to allow more transport "
"protocols or may otherwise be missing the right GStreamer RTSP extension "
@@ -213,104 +213,104 @@
msgid "Error reading %d bytes from device '%s'."
msgstr ""
-#: sys/v4l2/gstv4l2object.c:1241
+#: sys/v4l2/gstv4l2object.c:1242
#, c-format
msgid "Failed to enumerate possible video formats device '%s' can work with"
msgstr ""
-#: sys/v4l2/gstv4l2object.c:3192
+#: sys/v4l2/gstv4l2object.c:3197
#, c-format
msgid "Could not map buffers from device '%s'"
msgstr ""
-#: sys/v4l2/gstv4l2object.c:3200
+#: sys/v4l2/gstv4l2object.c:3205
#, c-format
msgid "The driver of device '%s' does not support the IO method %d"
msgstr ""
-#: sys/v4l2/gstv4l2object.c:3207
+#: sys/v4l2/gstv4l2object.c:3212
#, c-format
msgid "The driver of device '%s' does not support any known IO method."
msgstr ""
-#: sys/v4l2/gstv4l2object.c:4079
+#: sys/v4l2/gstv4l2object.c:4084
msgid "Invalid caps"
msgstr ""
-#: sys/v4l2/gstv4l2object.c:4086 sys/v4l2/gstv4l2object.c:4110
+#: sys/v4l2/gstv4l2object.c:4091 sys/v4l2/gstv4l2object.c:4115
#, c-format
msgid "Device '%s' has no supported format"
msgstr ""
-#: sys/v4l2/gstv4l2object.c:4092 sys/v4l2/gstv4l2object.c:4116
+#: sys/v4l2/gstv4l2object.c:4097 sys/v4l2/gstv4l2object.c:4121
#, c-format
msgid "Device '%s' failed during initialization"
msgstr ""
-#: sys/v4l2/gstv4l2object.c:4104
+#: sys/v4l2/gstv4l2object.c:4109
#, c-format
msgid "Device '%s' is busy"
msgstr ""
-#: sys/v4l2/gstv4l2object.c:4127
+#: sys/v4l2/gstv4l2object.c:4132
#, c-format
msgid "Device '%s' cannot capture at %dx%d"
msgstr ""
-#: sys/v4l2/gstv4l2object.c:4136
+#: sys/v4l2/gstv4l2object.c:4141
#, c-format
msgid "Device '%s' cannot capture in the specified format"
msgstr ""
-#: sys/v4l2/gstv4l2object.c:4147
+#: sys/v4l2/gstv4l2object.c:4152
#, c-format
msgid "Device '%s' does support non-contiguous planes"
msgstr ""
-#: sys/v4l2/gstv4l2object.c:4162
+#: sys/v4l2/gstv4l2object.c:4167
#, c-format
msgid "Device '%s' does not support %s interlacing"
msgstr ""
-#: sys/v4l2/gstv4l2object.c:4176
+#: sys/v4l2/gstv4l2object.c:4181
#, c-format
msgid "Device '%s' does not support %s colorimetry"
msgstr ""
-#: sys/v4l2/gstv4l2object.c:4188
+#: sys/v4l2/gstv4l2object.c:4193
#, c-format
msgid "Could not get parameters on device '%s'"
msgstr ""
-#: sys/v4l2/gstv4l2object.c:4196
+#: sys/v4l2/gstv4l2object.c:4201
msgid "Video device did not accept new frame rate setting."
msgstr ""
-#: sys/v4l2/gstv4l2object.c:4337
+#: sys/v4l2/gstv4l2object.c:4342
msgid "Video device did not provide output format."
msgstr ""
-#: sys/v4l2/gstv4l2object.c:4343
+#: sys/v4l2/gstv4l2object.c:4348
msgid "Video device returned invalid dimensions."
msgstr ""
-#: sys/v4l2/gstv4l2object.c:4351
+#: sys/v4l2/gstv4l2object.c:4356
msgid "Video device uses an unsupported interlacing method."
msgstr ""
-#: sys/v4l2/gstv4l2object.c:4358
+#: sys/v4l2/gstv4l2object.c:4363
msgid "Video device uses an unsupported pixel format."
msgstr ""
-#: sys/v4l2/gstv4l2object.c:5256
+#: sys/v4l2/gstv4l2object.c:5261
msgid "Failed to configure internal buffer pool."
msgstr ""
-#: sys/v4l2/gstv4l2object.c:5262
+#: sys/v4l2/gstv4l2object.c:5267
msgid "Video device did not suggest any buffer size."
msgstr ""
-#: sys/v4l2/gstv4l2object.c:5268
+#: sys/v4l2/gstv4l2object.c:5273
msgid "No downstream pool to import from."
msgstr ""
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/gst-plugins-good-1.22.1/po/gst-plugins-good.pot
new/gst-plugins-good-1.22.2/po/gst-plugins-good.pot
--- old/gst-plugins-good-1.22.1/po/gst-plugins-good.pot 2023-03-04
14:45:27.124386000 +0100
+++ new/gst-plugins-good-1.22.2/po/gst-plugins-good.pot 2023-04-11
18:31:02.401225600 +0200
@@ -6,9 +6,9 @@
#, fuzzy
msgid ""
msgstr ""
-"Project-Id-Version: gst-plugins-good-1.22.1\n"
+"Project-Id-Version: gst-plugins-good-1.22.2\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2023-03-04 13:45+0000\n"
+"POT-Creation-Date: 2023-04-11 17:31+0100\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <[email protected]>\n"
@@ -99,49 +99,49 @@
msgid "This file contains no playable streams."
msgstr ""
-#: gst/isomp4/qtdemux.c:556 gst/isomp4/qtdemux.c:7367 gst/isomp4/qtdemux.c:7436
-#: gst/isomp4/qtdemux.c:7742 gst/isomp4/qtdemux.c:9135
+#: gst/isomp4/qtdemux.c:556 gst/isomp4/qtdemux.c:7371 gst/isomp4/qtdemux.c:7440
+#: gst/isomp4/qtdemux.c:7746 gst/isomp4/qtdemux.c:9139
msgid "This file is invalid and cannot be played."
msgstr ""
-#: gst/isomp4/qtdemux.c:3041
+#: gst/isomp4/qtdemux.c:3045
msgid "Cannot play stream because it is encrypted with PlayReady DRM."
msgstr ""
-#: gst/isomp4/qtdemux.c:4360 gst/isomp4/qtdemux.c:8522
-#: gst/isomp4/qtdemux.c:8529 gst/isomp4/qtdemux.c:9837
-#: gst/isomp4/qtdemux.c:10279 gst/isomp4/qtdemux.c:10286
-#: gst/isomp4/qtdemux.c:13450
+#: gst/isomp4/qtdemux.c:4364 gst/isomp4/qtdemux.c:8526
+#: gst/isomp4/qtdemux.c:8533 gst/isomp4/qtdemux.c:9841
+#: gst/isomp4/qtdemux.c:10283 gst/isomp4/qtdemux.c:10290
+#: gst/isomp4/qtdemux.c:13454
msgid "This file is corrupt and cannot be played."
msgstr ""
-#: gst/isomp4/qtdemux.c:4602
+#: gst/isomp4/qtdemux.c:4606
msgid "Invalid atom size."
msgstr ""
-#: gst/isomp4/qtdemux.c:4655 gst/isomp4/qtdemux.c:4662
+#: gst/isomp4/qtdemux.c:4659 gst/isomp4/qtdemux.c:4666
msgid "Cannot query file size"
msgstr ""
-#: gst/isomp4/qtdemux.c:4671
+#: gst/isomp4/qtdemux.c:4675
msgid "Cannot demux file"
msgstr ""
-#: gst/isomp4/qtdemux.c:4711
+#: gst/isomp4/qtdemux.c:4715
msgid "This file is incomplete and cannot be played."
msgstr ""
-#: gst/isomp4/qtdemux.c:11420
+#: gst/isomp4/qtdemux.c:11424
msgid "The video in this file might not play correctly."
msgstr ""
-#: gst/rtsp/gstrtspsrc.c:7886
+#: gst/rtsp/gstrtspsrc.c:7894
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:7891
+#: gst/rtsp/gstrtspsrc.c:7899
msgid ""
"No supported stream was found. You might need to allow more transport "
"protocols or may otherwise be missing the right GStreamer RTSP extension "
@@ -213,104 +213,104 @@
msgid "Error reading %d bytes from device '%s'."
msgstr ""
-#: sys/v4l2/gstv4l2object.c:1241
+#: sys/v4l2/gstv4l2object.c:1242
#, c-format
msgid "Failed to enumerate possible video formats device '%s' can work with"
msgstr ""
-#: sys/v4l2/gstv4l2object.c:3192
+#: sys/v4l2/gstv4l2object.c:3197
#, c-format
msgid "Could not map buffers from device '%s'"
msgstr ""
-#: sys/v4l2/gstv4l2object.c:3200
+#: sys/v4l2/gstv4l2object.c:3205
#, c-format
msgid "The driver of device '%s' does not support the IO method %d"
msgstr ""
-#: sys/v4l2/gstv4l2object.c:3207
+#: sys/v4l2/gstv4l2object.c:3212
#, c-format
msgid "The driver of device '%s' does not support any known IO method."
msgstr ""
-#: sys/v4l2/gstv4l2object.c:4079
+#: sys/v4l2/gstv4l2object.c:4084
msgid "Invalid caps"
msgstr ""
-#: sys/v4l2/gstv4l2object.c:4086 sys/v4l2/gstv4l2object.c:4110
+#: sys/v4l2/gstv4l2object.c:4091 sys/v4l2/gstv4l2object.c:4115
#, c-format
msgid "Device '%s' has no supported format"
msgstr ""
-#: sys/v4l2/gstv4l2object.c:4092 sys/v4l2/gstv4l2object.c:4116
+#: sys/v4l2/gstv4l2object.c:4097 sys/v4l2/gstv4l2object.c:4121
#, c-format
msgid "Device '%s' failed during initialization"
msgstr ""
-#: sys/v4l2/gstv4l2object.c:4104
+#: sys/v4l2/gstv4l2object.c:4109
#, c-format
msgid "Device '%s' is busy"
msgstr ""
-#: sys/v4l2/gstv4l2object.c:4127
+#: sys/v4l2/gstv4l2object.c:4132
#, c-format
msgid "Device '%s' cannot capture at %dx%d"
msgstr ""
-#: sys/v4l2/gstv4l2object.c:4136
+#: sys/v4l2/gstv4l2object.c:4141
#, c-format
msgid "Device '%s' cannot capture in the specified format"
msgstr ""
-#: sys/v4l2/gstv4l2object.c:4147
+#: sys/v4l2/gstv4l2object.c:4152
#, c-format
msgid "Device '%s' does support non-contiguous planes"
msgstr ""
-#: sys/v4l2/gstv4l2object.c:4162
+#: sys/v4l2/gstv4l2object.c:4167
#, c-format
msgid "Device '%s' does not support %s interlacing"
msgstr ""
-#: sys/v4l2/gstv4l2object.c:4176
+#: sys/v4l2/gstv4l2object.c:4181
#, c-format
msgid "Device '%s' does not support %s colorimetry"
msgstr ""
-#: sys/v4l2/gstv4l2object.c:4188
+#: sys/v4l2/gstv4l2object.c:4193
#, c-format
msgid "Could not get parameters on device '%s'"
msgstr ""
-#: sys/v4l2/gstv4l2object.c:4196
+#: sys/v4l2/gstv4l2object.c:4201
msgid "Video device did not accept new frame rate setting."
msgstr ""
-#: sys/v4l2/gstv4l2object.c:4337
+#: sys/v4l2/gstv4l2object.c:4342
msgid "Video device did not provide output format."
msgstr ""
-#: sys/v4l2/gstv4l2object.c:4343
+#: sys/v4l2/gstv4l2object.c:4348
msgid "Video device returned invalid dimensions."
msgstr ""
-#: sys/v4l2/gstv4l2object.c:4351
+#: sys/v4l2/gstv4l2object.c:4356
msgid "Video device uses an unsupported interlacing method."
msgstr ""
-#: sys/v4l2/gstv4l2object.c:4358
+#: sys/v4l2/gstv4l2object.c:4363
msgid "Video device uses an unsupported pixel format."
msgstr ""
-#: sys/v4l2/gstv4l2object.c:5256
+#: sys/v4l2/gstv4l2object.c:5261
msgid "Failed to configure internal buffer pool."
msgstr ""
-#: sys/v4l2/gstv4l2object.c:5262
+#: sys/v4l2/gstv4l2object.c:5267
msgid "Video device did not suggest any buffer size."
msgstr ""
-#: sys/v4l2/gstv4l2object.c:5268
+#: sys/v4l2/gstv4l2object.c:5273
msgid "No downstream pool to import from."
msgstr ""
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/gst-plugins-good-1.22.1/sys/oss/gstossaudio.c
new/gst-plugins-good-1.22.2/sys/oss/gstossaudio.c
--- old/gst-plugins-good-1.22.1/sys/oss/gstossaudio.c 2023-03-04
14:42:32.000000000 +0100
+++ new/gst-plugins-good-1.22.2/sys/oss/gstossaudio.c 2023-04-11
18:29:28.000000000 +0200
@@ -32,10 +32,8 @@
static gboolean
plugin_init (GstPlugin * plugin)
{
- gboolean ret = FALSE;
-
- ret |= GST_ELEMENT_REGISTER (osssrc, plugin);
- ret |= GST_ELEMENT_REGISTER (osssink, plugin);
+ GST_ELEMENT_REGISTER (osssrc, plugin);
+ GST_ELEMENT_REGISTER (osssink, plugin);
return TRUE;
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/gst-plugins-good-1.22.1/sys/oss/gstosshelper.c
new/gst-plugins-good-1.22.2/sys/oss/gstosshelper.c
--- old/gst-plugins-good-1.22.1/sys/oss/gstosshelper.c 2023-03-04
14:42:32.000000000 +0100
+++ new/gst-plugins-good-1.22.2/sys/oss/gstosshelper.c 2023-04-11
18:29:28.000000000 +0200
@@ -202,7 +202,6 @@
GQueue *ranges;
int exact_rates = 0;
gboolean checking_exact_rates = TRUE;
- int n_checks = 0;
gboolean result = TRUE;
ranges = g_queue_new ();
@@ -210,7 +209,6 @@
probe->rates = g_array_new (FALSE, FALSE, sizeof (int));
probe->min = gst_oss_helper_rate_check_rate (probe, 1000);
- n_checks++;
probe->max = gst_oss_helper_rate_check_rate (probe, 100000);
/* a little bug workaround */
{
@@ -223,7 +221,6 @@
probe->max = max;
}
}
- n_checks++;
if (probe->min == -1 || probe->max == -1) {
/* This is a workaround for drivers that return -EINVAL (or another
* error) for rates outside of [8000,48000]. If this fails, the
@@ -252,7 +249,6 @@
/* FIXME ioctl returned an error. do something */
GST_DEBUG ("unexpected check_rate error");
}
- n_checks++;
if (mid == mid_ret && checking_exact_rates) {
int max_exact_matches = 20;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/gst-plugins-good-1.22.1/sys/osxvideo/cocoawindow.m
new/gst-plugins-good-1.22.2/sys/osxvideo/cocoawindow.m
--- old/gst-plugins-good-1.22.1/sys/osxvideo/cocoawindow.m 2023-03-04
14:42:32.000000000 +0100
+++ new/gst-plugins-good-1.22.2/sys/osxvideo/cocoawindow.m 2023-04-11
18:29:28.000000000 +0200
@@ -370,8 +370,8 @@
pi_texture = 0;
data = nil;
- width = frame.size.width;
- height = frame.size.height;
+ width = frame.size.width * [[NSScreen mainScreen] backingScaleFactor];
+ height = frame.size.height * [[NSScreen mainScreen] backingScaleFactor];
drawingBounds = NSMakeRect(0, 0, width, height);
GST_LOG ("Width: %d Height: %d", width, height);
@@ -395,7 +395,7 @@
- (void) reshape {
NSRect bounds;
gdouble frame_par, view_par;
- gint view_height, view_width, c_height, c_width, c_x, c_y;
+ gint view_height, view_width, c_height, c_width, c_x, c_y, scale_factor;
[super reshape];
@@ -410,6 +410,7 @@
bounds = [self bounds];
view_width = bounds.size.width;
view_height = bounds.size.height;
+ scale_factor = [[NSScreen mainScreen] backingScaleFactor];
frame_par = (gdouble) width / height;
view_par = (gdouble) view_width / view_height;
@@ -433,8 +434,8 @@
c_y = (view_height - c_height) / 2;
}
- drawingBounds = NSMakeRect(c_x, c_y, c_width, c_height);
- glViewport (c_x, c_y, (GLint) c_width, (GLint) c_height);
+ drawingBounds = NSMakeRect(c_x * scale_factor, c_y * scale_factor,
+ c_width * scale_factor, c_height * scale_factor);
}
- (void) initTextures {
@@ -544,6 +545,9 @@
/* Black background */
glClear (GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
+ glViewport ((GLint) drawingBounds.origin.x, (GLint) drawingBounds.origin.y,
+ (GLint) drawingBounds.size.width, (GLint) drawingBounds.size.height);
+
if (!initDone) {
[actualContext flushBuffer];
return;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/gst-plugins-good-1.22.1/sys/v4l2/gstv4l2object.c
new/gst-plugins-good-1.22.2/sys/v4l2/gstv4l2object.c
--- old/gst-plugins-good-1.22.1/sys/v4l2/gstv4l2object.c 2023-03-04
14:42:32.000000000 +0100
+++ new/gst-plugins-good-1.22.2/sys/v4l2/gstv4l2object.c 2023-04-11
18:29:28.000000000 +0200
@@ -1093,6 +1093,7 @@
rank = YUV_BASE_RANK + 10;
break;
case V4L2_PIX_FMT_YVU420: /* YV12, 12 bits per pixel */
+ case V4L2_PIX_FMT_YVU420M:
rank = YUV_BASE_RANK + 6;
break;
case V4L2_PIX_FMT_UYVY: /* UYVY, 16 bits per pixel */
@@ -1375,6 +1376,7 @@
format = GST_VIDEO_FORMAT_YUY2;
break;
case V4L2_PIX_FMT_YVU420:
+ case V4L2_PIX_FMT_YVU420M:
format = GST_VIDEO_FORMAT_YV12;
break;
case V4L2_PIX_FMT_UYVY:
@@ -1453,7 +1455,8 @@
case V4L2_PIX_FMT_MJPEG: /* Motion-JPEG */
case V4L2_PIX_FMT_PJPG: /* Progressive-JPEG */
case V4L2_PIX_FMT_JPEG: /* JFIF JPEG */
- structure = gst_structure_new_empty ("image/jpeg");
+ structure = gst_structure_new ("image/jpeg",
+ "parsed", G_TYPE_BOOLEAN, TRUE, NULL);
break;
case V4L2_PIX_FMT_MPEG1:
structure = gst_structure_new ("video/mpeg",
@@ -1541,6 +1544,7 @@
case V4L2_PIX_FMT_YUV420M:
case V4L2_PIX_FMT_YUYV:
case V4L2_PIX_FMT_YVU420:
+ case V4L2_PIX_FMT_YVU420M:
case V4L2_PIX_FMT_UYVY:
case V4L2_PIX_FMT_YUV422P:
case V4L2_PIX_FMT_YVYU:
@@ -1794,6 +1798,7 @@
break;
case GST_VIDEO_FORMAT_YV12:
fourcc = V4L2_PIX_FMT_YVU420;
+ fourcc_nc = V4L2_PIX_FMT_YVU420M;
break;
case GST_VIDEO_FORMAT_Y41B:
fourcc = V4L2_PIX_FMT_YUV411P;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/gst-plugins-good-1.22.1/tests/check/elements/rtpsession.c
new/gst-plugins-good-1.22.2/tests/check/elements/rtpsession.c
--- old/gst-plugins-good-1.22.1/tests/check/elements/rtpsession.c
2023-03-04 14:42:32.000000000 +0100
+++ new/gst-plugins-good-1.22.2/tests/check/elements/rtpsession.c
2023-04-11 18:29:28.000000000 +0200
@@ -3466,7 +3466,7 @@
TWCCPacket packets[] = {
{1, 4 * 32 * GST_MSECOND, FALSE},
{2, 5 * 32 * GST_MSECOND, FALSE},
- {2, 6 * 32 * GST_MSECOND, FALSE},
+ {1, 6 * 32 * GST_MSECOND, FALSE},
{3, 7 * 32 * GST_MSECOND, TRUE},
};
++++++ reduce-required-meson.patch ++++++
--- /var/tmp/diff_new_pack.vToTc8/_old 2023-04-15 22:32:15.553230564 +0200
+++ /var/tmp/diff_new_pack.vToTc8/_new 2023-04-15 22:32:15.557230587 +0200
@@ -1,10 +1,10 @@
-Index: gst-plugins-good-1.22.1/meson.build
+Index: gst-plugins-good-1.22.2/meson.build
===================================================================
---- gst-plugins-good-1.22.1.orig/meson.build
-+++ gst-plugins-good-1.22.1/meson.build
+--- gst-plugins-good-1.22.2.orig/meson.build
++++ gst-plugins-good-1.22.2/meson.build
@@ -1,6 +1,6 @@
project('gst-plugins-good', 'c',
- version : '1.22.1',
+ version : '1.22.2',
- meson_version : '>= 0.62',
+ meson_version : '>= 0.61',
default_options : [ 'warning_level=1',