We truncated the diff of some files because they were too big.
If you want to see the full diff for every file, click here.
Changes of Revision 27
gstreamer-plugins-bad-codecs.changes
Changed
x
1
2
-------------------------------------------------------------------
3
+Thu Nov 7 08:53:42 UTC 2024 - Bjørn Lie <zaitor@opensuse.org>
4
+
5
+- Update to version 1.24.9
6
+
7
+-------------------------------------------------------------------
8
Sat Sep 28 08:31:55 UTC 2024 - Bjørn Lie <zaitor@opensuse.org>
9
10
- Update to version 1.24.8
11
gstreamer-plugins-bad-codecs.spec
Changed
44
1
2
%define _version 1.24.0
3
4
Name: gstreamer-plugins-bad-codecs
5
-Version: 1.24.8
6
+Version: 1.24.9
7
Release: 0
8
Summary: Codecs/plugins for gstreamer-plugins-bad
9
License: LGPL-2.1-or-later
10
11
BuildRequires: pkgconfig(gstreamer-video-1.0) >= %{_version}
12
BuildRequires: pkgconfig(gstreamer-codecparsers-1.0) >= %{_version}
13
BuildRequires: pkgconfig(libde265) >= 0.9
14
-#BuildRequires: pkgconfig(libmodplug)
15
BuildRequires: pkgconfig(libopenaptx)
16
BuildRequires: pkgconfig(librtmp)
17
-#BuildRequires: pkgconfig(vo-aacenc) >= 0.1.0
18
BuildRequires: pkgconfig(x265)
19
20
Provides: gstreamer-plugins-bad-orig-addon = %{version}
21
22
-Dorc=enabled \
23
-Dfaac=enabled \
24
-Dfaad=enabled \
25
- -Dmodplug=disabled \
26
-Drtmp=enabled \
27
-Dx265=enabled \
28
-Dopenaptx=enabled \
29
- -Dvoaacenc=disabled \
30
%{nil}
31
%meson_build
32
33
34
%{_libdir}/gstreamer-%{gst_branch}/libgstde265.so
35
%{_libdir}/gstreamer-%{gst_branch}/libgstfaac.so
36
%{_libdir}/gstreamer-%{gst_branch}/libgstfaad.so
37
-#%%{_libdir}/gstreamer-%%{gst_branch}/libgstmodplug.so
38
%{_libdir}/gstreamer-%{gst_branch}/libgstopenaptx.so
39
%{_libdir}/gstreamer-%{gst_branch}/libgstrtmp.so
40
-#%%{_libdir}/gstreamer-%%{gst_branch}/libgstvoaacenc.so
41
%{_libdir}/gstreamer-%{gst_branch}/libgstx265.so
42
43
%changelog
44
build_what_we_need_only.patch
Changed
21
1
2
diff -Nur gst-plugins-bad-1.24.0-orig/ext/meson.build gst-plugins-bad-1.24.0/ext/meson.build
3
---- gst-plugins-bad-1.24.0-orig/ext/meson.build 2024-03-05 00:51:42.000000000 +0100
4
-+++ gst-plugins-bad-1.24.0/ext/meson.build 2024-06-28 08:53:47.922413595 +0200
5
-@@ -1,79 +1,7 @@
6
+--- gst-plugins-bad-1.24.8-orig/ext/meson.build 2024-11-07 10:01:22.608511550 +0100
7
++++ gst-plugins-bad-1.24.8/ext/meson.build 2024-11-07 10:11:02.453058906 +0100
8
+@@ -1,79 +1,6 @@
9
-subdir('aes')
10
-subdir('analyticsoverlay')
11
-subdir('assrender')
12
13
-subdir('opus')
14
-subdir('qroverlay')
15
-subdir('qt6d3d11')
16
- subdir('resindvd')
17
+-subdir('resindvd')
18
-subdir('rsvg')
19
subdir('rtmp')
20
-subdir('sbc')
21
gst-plugins-bad-1.24.8.tar.xz/ChangeLog -> gst-plugins-bad-1.24.9.tar.xz/ChangeLog
Changed
201
1
2
+=== release 1.24.9 ===
3
+
4
+2024-10-30 20:33:30 +0000 Tim-Philipp Müller <tim@centricular.com>
5
+
6
+ * NEWS:
7
+ * RELEASE:
8
+ * gst-plugins-bad.doap:
9
+ * meson.build:
10
+ Release 1.24.9
11
+
12
+2024-10-29 11:29:05 +0100 Edward Hervey <edward@centricular.com>
13
+
14
+ * ext/srt/gstsrtobject.c:
15
+ srt: Don't attempt to reconnect on authentication failures
16
+ This is a fatal issue which can't be recovered
17
+ Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1550
18
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7797>
19
+
20
+2024-10-14 11:26:20 +0200 Emil Ljungdahl <emillj@axis.com>
21
+
22
+ * ext/webrtc/gstwebrtcbin.c:
23
+ webrtcbin: Clean up bin elements when datachannel is removed
24
+ When a datachannel within a session is removed after proper close,
25
+ reference to the error_ignore_bin elements of the datachannel
26
+ appsrc/appsink were left in webrtcbin.
27
+ This caused the bin-objects to be left and not freed until the whole
28
+ webrtc session was terminated. Among other things that includes a thread
29
+ from the appsrc.
30
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7791>
31
+
32
+2024-09-24 13:55:39 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
33
+
34
+ * docs/plugins/gst_plugins_cache.json:
35
+ * gst-libs/gst/wayland/gstwlvideoformat.c:
36
+ * gst-libs/gst/wayland/gstwlvideoformat.h:
37
+ wayland: Add NV15 support
38
+ This format, which maps to NV12_10LE40 in GStreamer is produced by Rockchip
39
+ video decoders when decoding 4:2:0 10 bit content.
40
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7789>
41
+
42
+2024-10-22 23:41:13 +0900 Seungha Yang <seungha@centricular.com>
43
+
44
+ * gst-libs/gst/codecs/gstvp8decoder.c:
45
+ vp8decoder: Fix resolution change handling
46
+ Do not store resolution in set_format() so that resolution change
47
+ can be detected on keyframe as intended.
48
+ Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3928
49
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7787>
50
+
51
+2024-10-25 16:37:15 +0300 Sebastian Dröge <sebastian@centricular.com>
52
+
53
+ * gst/rtmp2/gstrtmp2sink.c:
54
+ rtmp2sink: Initialize base_ts / last_ts with the actual first observed timestamp
55
+ Initializing it with zero can falsely trigger the overflow / underflow detection
56
+ code if the first observed timestamp is a big integer.
57
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7786>
58
+
59
+2024-09-30 15:51:04 +0300 Sebastian Dröge <sebastian@centricular.com>
60
+
61
+ * gst/mpegtsdemux/mpegtspacketizer.c:
62
+ mpegtsdemux: Handle PTS/DTS wraparound with ignore-pcr=true
63
+ The wraparound handling code assumes that the PCR gets updated regularly for
64
+ being able to detect wraparounds. With ignore-pcr=true that was not the case and
65
+ it stayed initialized at 1h forever.
66
+ To avoid this problem, update the fake PCR whenever the PTS advanced by more
67
+ than 5s, and also detect wraparounds in these fake PCRs.
68
+ Problem can be reproduced with
69
+ $ gst-launch-1.0 videotestsrc pattern=black ! video/x-raw,framerate=1/5 ! \
70
+ x264enc speed-preset=ultrafast tune=zerolatency ! mpegtsmux ! \
71
+ tsdemux ignore-pcr=true ! fakesink
72
+ which restarts timestamps at 0 after around 26h30m.
73
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7763>
74
+
75
+2024-10-26 11:42:48 +0300 Sebastian Dröge <sebastian@centricular.com>
76
+
77
+ * gst-libs/gst/play/gstplay.c:
78
+ * gst-libs/gst/play/gstplay.h:
79
+ play: Improve play message API inconsistencies
80
+ * Check for the correct message type when parsing
81
+ * Use correct field name for warning message details
82
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7779>
83
+
84
+2024-05-28 04:14:15 +0530 Nirbheek Chauhan <nirbheek@centricular.com>
85
+
86
+ * gst-libs/gst/va/meson.build:
87
+ * meson.build:
88
+ * sys/msdk/gstmsdkallocator_libva.c:
89
+ * sys/msdk/gstmsdkcaps.c:
90
+ * sys/msdk/gstmsdkdec.c:
91
+ * sys/msdk/gstmsdkenc.c:
92
+ * sys/msdk/gstmsdkvpp.c:
93
+ * sys/msdk/gstmsdkvpputil.c:
94
+ * sys/msdk/meson.build:
95
+ msdk: Fix libdrm dependency detection and usage
96
+ drm_fourcc.h should be picked up via the pkgconfig include, not the
97
+ system includedir directly.
98
+ Also consolidate the libdrm usage in va and msdk.
99
+ All this allows it to be picked up consistently (via the subproject,
100
+ for example).
101
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7760>
102
+
103
+2024-05-27 18:50:23 +0530 Nirbheek Chauhan <nirbheek@centricular.com>
104
+
105
+ * gst-libs/gst/va/meson.build:
106
+ meson: Don't use fallback: kwarg for libva deps
107
+ This will cause a fallback even when the `va` option is `auto`, not
108
+ giving the user a chance to provide the dependency via the system, and
109
+ likely building this feature unnecessarily.
110
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7760>
111
+
112
+2024-05-27 18:43:33 +0530 Nirbheek Chauhan <nirbheek@centricular.com>
113
+
114
+ * gst-libs/gst/va/gstvavideoformat.h:
115
+ va: Fix libdrm include
116
+ The libdrm/ prefix should not be used, it will be provided by the
117
+ pkgconfig file. Also HAVE_LIBDRM is necessary.
118
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7760>
119
+
120
+2024-10-23 14:28:30 +0200 Peter Stensson <petest@axis.com>
121
+
122
+ * gst/codectimestamper/gstcodectimestamper.c:
123
+ * tests/check/elements/h264timestamper.c:
124
+ codectimestamper: Fix gint wraparound in pts_compare_func
125
+ The diff between compared timestamps might be outside the gint range
126
+ resulting in wrong sorting results. This patch corrects that by
127
+ comparing the timestamps and then returning -1, 0 or 1 depending on the
128
+ result.
129
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7737>
130
+
131
+2024-10-24 14:40:23 +0200 Andoni Morales Alastruey <ylatuya@gmail.com>
132
+
133
+ * sys/applemedia/vtdec.c:
134
+ vtdec: add support for level 6 6.1 and 6.2
135
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7735>
136
+
137
+2024-10-11 11:58:37 -0400 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
138
+
139
+ * gst-libs/gst/codecparsers/gsth264bitwriter.c:
140
+ * gst-libs/gst/codecparsers/gsth265bitwriter.c:
141
+ h26xbitwriter: false have_space if aligning fails on aud
142
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7697>
143
+
144
+2024-10-15 16:44:27 +0800 He Junyan <junyan.he@intel.com>
145
+
146
+ * sys/va/gstvaav1enc.c:
147
+ vaav1enc: Do not enable palette mode by default
148
+ Palette mode should only be enabled only when we know that the content
149
+ of the picture is simple. For example, only white letters on black
150
+ screen in SCC mode. So, by default, we need to disable it.
151
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7696>
152
+
153
+2024-09-27 18:01:53 +0200 Benjamin Gaignard <benjamin.gaignard@collabora.com>
154
+
155
+ * sys/kms/gstkmssink.c:
156
+ kmssink: Add IMX-DCSS auto-detection
157
+ Add IMX DCSS display controller into list of
158
+ auto-detected modules.
159
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7695>
160
+
161
+2024-10-09 12:32:34 -0400 Francisco Javier Velázquez-García <francisco.velazquez@appear.net>
162
+
163
+ * ext/srt/gstsrtsink.c:
164
+ srtsink: Add guard for null error when SRT open fails
165
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7687>
166
+
167
+2024-10-09 12:08:10 -0400 Francisco Javier Velázquez-García <francisco.velazquez@appear.net>
168
+
169
+ * ext/srt/gstsrtobject.c:
170
+ srtsink: Register SRT listen callback before binding socket
171
+ This change https://github.com/Haivision/srt/pull/2683 forces us to
172
+ call `srt_listen_callback` before `srt_listen`.
173
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7687>
174
+
175
+2024-10-11 12:07:27 -0400 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
176
+
177
+ * gst-libs/gst/codecparsers/gstav1bitwriter.c:
178
+ * gst-libs/gst/codecparsers/gsth264bitwriter.c:
179
+ * gst-libs/gst/codecparsers/gsth265bitwriter.c:
180
+ codecparsers: add debug categories to bitwriters
181
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7667>
182
+
183
+2024-10-09 17:16:46 -0400 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
184
+
185
+ * tests/check/elements/vapostproc.c:
186
+ tests: va: fix vapostproc test for DMABuf
187
+ Now it picks the first format in the template srcpad list and do
188
+ the convertion. Also the format size is reduced because not all
189
+ drives support 4K as DMABuf (radeonsi).
190
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7654>
191
+
192
+2024-10-14 15:31:54 +0200 Stéphane Cerveau <scerveau@igalia.com>
193
+
194
+ * gst/videofilters/gstscenechange.c:
195
+ scenechange: fix memory leak
196
+ A reference to the last buffer(oldbuf) was kept
197
+ leading to a memory leak on stop.
198
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7666>
199
+
200
+2024-10-13 23:04:58 +0530 Nirbheek Chauhan <nirbheek@centricular.com>
201
gst-plugins-bad-1.24.8.tar.xz/NEWS -> gst-plugins-bad-1.24.9.tar.xz/NEWS
Changed
201
1
2
3
GStreamer 1.24.0 was originally released on 4 March 2024.
4
5
-The latest bug-fix release in the stable 1.24 series is 1.24.8 and was released on 19 September 2024.
6
+The latest bug-fix release in the stable 1.24 series is 1.24.9 and was released on 30 October 2024.
7
8
See https://gstreamer.freedesktop.org/releases/1.24/ for the latest version of this document.
9
10
-Last updated: Thursday 19 September 2024, 00:30 UTC (log)
11
+Last updated: Wednesday 30 October 2024, 20:00 UTC (log)
12
13
## Introduction
14
15
16
- decodebin3: Fix collection identity check
17
- encodebin: Fix pad removal
18
- glimagesink: Fix cannot resize viewport when video size changed in caps
19
-- v4l2bufferpool: actually queue back the empty buffer flagged LAST
20
-- v4l2videoenc: unref buffer pool after usage properly
21
- video: Don’t overshoot QoS earliest time by a factor of 2
22
- meson: gst-play: link to libm
23
24
25
- matroskamux: Include end padding in the block duration for Opus streams, fixing firefox compatibility
26
- osxaudio: Avoid dangling pointer on shutdown
27
- splitmuxsink: Override LATENCY query to pretend to downstream that we’re not live
28
+- v4l2bufferpool: actually queue back the empty buffer flagged LAST
29
+- v4l2videoenc: unref buffer pool after usage properly
30
- v4l2: encoder: Add dynamic framerate support
31
32
gst-plugins-bad
33
34
- List of Merge Requests applied in 1.24.8
35
- List of Issues fixed in 1.24.8
36
37
+1.24.9
38
+
39
+The ninth 1.24 bug-fix release (1.24.9) was released on 30 October 2024.
40
+
41
+This release only contains bugfixes and a security fix and it should be safe to update from 1.24.x.
42
+
43
+Highlighted bugfixes in 1.24.9
44
+
45
+- gst-rtsp-server security fix
46
+- GstAggregator start time selection and latency query fixes for force-live mode
47
+- audioconvert: fix dynamic handling of mix matrix, and accept custom upstream event for setting one
48
+- encodebin: fix parser selection for encoders that support multiple codecs
49
+- flvmux improvments for pipelines where timestamps don’t start at 0
50
+- glcontext: egl: Unrestrict the support base DRM formats
51
+- kms: Add IMX-DCSS auto-detection in sink and fix stride with planar formats in allocator
52
+- macOS main application event loop fixes
53
+- mpegtsdemux: Handle PTS/DTS wraparound with ignore-pcr=true
54
+- playbin3, decodebin3, parsebin, urisourcebin: fix races, and improve stability and stream-collection handling
55
+- rtpmanager: fix early RTCP SR generation for sparse streams like metadata
56
+- qml6glsrc: Reduce capture delay
57
+- qtdemux: fix parsing of rotation matrix with 180 degree rotation
58
+- rtpav1depay: added wait-for-keyframe and request-keyframe properties
59
+- srt: make work with newer libsrt versions and don’t re-connect on authentication failure
60
+- v4l2 fixes and improvement
61
+- webrtcsink, webrtcbin and whepsrc fixes
62
+- cerbero: fix Python 3.13 compatibility, g-i with newer setuptools, bootstrap on Arch Linux; iOS build fixes
63
+- Ship qroverlay plugin in binary packages - Various bug fixes, memory leak fixes, and other stability and reliability
64
+ improvements
65
+- Various bug fixes, build fixes, memory leak fixes, and other stability and reliability improvements
66
+
67
+gstreamer
68
+
69
+- aggregator: fix start time selection first with force-live
70
+- aggregator: fix live query when force-live is TRUE
71
+- parse-launch: Make sure children are bins before recursing in
72
+- macos: Fix race conditions in cocoa/application main event loop
73
+- multiqueue: Do not unref the query we get in pad->query
74
+
75
+gst-plugins-base
76
+
77
+- audioconvert: fix dynamic handling of mix matrix, accept custom upstream event for setting one
78
+- playback: Fix a variety of decodebin3/parsebin/urisourcebin races
79
+- playbin3: prevent crashing trying to play a corrupted mp4 file (WARNING : HIGH PITCHED CORRUPTED SOUND)
80
+- urisourcebin: Ensure all stream-start are handled
81
+- urisourcebin: Allow more cases for posting stream-collection
82
+- decodebin3: Make update/posting of collection messages atomic
83
+- decodebin3: send selected stream message as long as not all the tracks can’t select decoders
84
+- urisourcebin/parsebin: Improve collection creation and handling
85
+- encodebasebin: Miscellaneous fixes
86
+- allocators: drmdumb: Fix bpp value for P010
87
+- gldownload: use gst_gl_sync_meta_wait_cpu()
88
+- Revert “meson: Fix invalid include flag in uninstalled gl pc file”
89
+- gl: Fix configure error when libdrm is a subproject
90
+- glcontext: egl: Unrestrict the support base DRM formats
91
+- exiftag: Check the result of gst_date_time_new_local_time(), fixes criticals with malformed EXIF tags
92
+
93
+gst-plugins-good
94
+
95
+- flvmux: Use first running time on the initial header instead of 0
96
+- rtpmanager: skip RTPSources which are not ready in the RTCP generation
97
+- rtppassthroughpay: Fix reading clock-rate and payload type from caps
98
+- qml6glsrc: Reduce capture delay
99
+- qtdemux: fix parsing of matrix with 180 rotation
100
+- qtdemux: Check fourcc of a second CEA608 atom instead of assuming it’s cdt2
101
+- qtdemux: Skip zero-sized boxes instead of stopping to look at further boxes
102
+- twcc: Handle wrapping of reference time
103
+- v4l2object: append non colorimetry structure to probed caps
104
+- v4l2: Various fixes and improvement
105
+
106
+gst-plugins-bad
107
+
108
+- avfdeviceprovider: Fix leak from the GstCaps
109
+- codecparsers: add debug categories to bitwriters
110
+- codectimestamper: Fix gint wraparound in pts_compare_func
111
+- dvxa: Explicitly use cpp_std=c++11
112
+- GstPlay: message parsing and documentation improvements
113
+- h26xbitwriter: false have_space if aligning fails on aud
114
+- kmsallocator: fix stride with planar formats
115
+- kmssink: Add IMX-DCSS auto-detection
116
+- mpegtsdemux: Handle PTS/DTS wraparound with ignore-pcr=true
117
+- rtmp2sink: Initialize base_ts / last_ts with the actual first observed timestamp
118
+- scenechange: fix memory leak
119
+- srtsink: Register SRT listen callback before binding socket
120
+- srt: Don’t attempt to reconnect on authentication failures
121
+- tests: va: fix vapostproc test for DMABuf
122
+- tests: lc3: Allocate the same size for the buffer and the data
123
+- va: Fix libdrm include, plus meson and wrap changes
124
+- vaav1enc: Do not enable palette mode by default
125
+- vp8decoder: Fix resolution change handling
126
+- vtdec: add support for level 6 6.1 and 6.2
127
+- wayland: Add NV15 support
128
+- webrtcbin: Clean up bin elements when datachannel is removed
129
+
130
+gst-plugins-ugly
131
+
132
+- No changes
133
+
134
+GStreamer Rust plugins
135
+
136
+- Build: turn lto off for dev profile for faster dev builds
137
+- fmp4 hls_live example: Don’t set header-update-mode=update, no need to update the header in live mode
138
+- gtk4paintablesink: Don’t check for a GL context when filtering dmabuf caps
139
+- livesync: Log latency query results when handling latency query too
140
+- onvifmetadatapay: Set output caps earlier, so upstream can send gap events earlier
141
+- rtpav1depay: Add wait-for-keyframe and request-keyframe properties
142
+- spotify: tweak dependencies
143
+- transcriberbin: fix panic during gst-inspect-1.0 -u
144
+- webrtcsink: fix segment format mismatch with remote offer
145
+- webrtcsink: fix assertions when finalizing
146
+- webrtcsink: Fix typo in “turn-servers” property description
147
+- whepsrc: Fix incorrect default caps
148
+
149
+gst-libav
150
+
151
+- avviddec: Unlock video decoder stream lock temporarily while finishing frames
152
+
153
+gst-rtsp-server
154
+
155
+- rtsp-server: Remove pointless assertions that can happen if client provides invalid rates (security fix)
156
+
157
+gstreamer-vaapi
158
+
159
+- No changes
160
+
161
+gstreamer-sharp
162
+
163
+- No changes
164
+
165
+gst-omx
166
+
167
+- No changes
168
+
169
+gst-python
170
+
171
+- No changes
172
+
173
+gst-editing-services
174
+
175
+- ges: Fix name of GESFrameCompositionMeta API type (which caused gobject-introspection failures at build time)
176
+
177
+gst-devtools, gst-validate + gst-integration-testsuites
178
+
179
+- validate: Ignore flaky dash playbin3 issue
180
+- validate: Blacklist more netsim tests
181
+
182
+gst-examples
183
+
184
+- No changes
185
+
186
+Development build environment
187
+
188
+- No changes
189
+
190
+Cerbero build tool and packaging changes in 1.24.9
191
+
192
+- Fix Python 3.13 compatibility
193
+- gobject-introspection: Import patch to build against newer setuptools
194
+- Switch from wget to curl on Fedora 40 and newer
195
+- bootstrap: Add missing dependencies on Arch Linux
196
+- harfbuzz: Add CXXFLAGS to fix broken build on iOS
197
+- openssl.recipe: Stop using non-existent domain in primary tarball url
198
+- gst-plugins-bad: ship qroverlay plugin
199
+
200
+Contributors to 1.24.9
201
gst-plugins-bad-1.24.8.tar.xz/RELEASE -> gst-plugins-bad-1.24.9.tar.xz/RELEASE
Changed
7
1
2
-This is GStreamer gst-plugins-bad 1.24.8.
3
+This is GStreamer gst-plugins-bad 1.24.9.
4
5
The GStreamer team is thrilled to announce a new major feature release
6
of your favourite cross-platform multimedia framework!
7
gst-plugins-bad-1.24.8.tar.xz/docs/plugins/gst_plugins_cache.json -> gst-plugins-bad-1.24.9.tar.xz/docs/plugins/gst_plugins_cache.json
Changed
19
1
2
"long-name": "Gtk Wayland Video Sink",
3
"pad-templates": {
4
"sink": {
5
- "caps": "video/x-raw:\n format: { AYUV, RGBA, ARGB, BGRA, ABGR, P010_10LE, v308, RGBx, xRGB, BGRx, xBGR, RGB, BGR, Y42B, NV16, NV61, YUY2, YVYU, UYVY, I420, YV12, NV12, NV21, Y41B, YUV9, YVU9, BGR16, RGB16 }\n width: 1, 2147483647 \n height: 1, 2147483647 \n framerate: 0/1, 2147483647/1 \n\nvideo/x-raw(memory:DMABuf):\n format: DMA_DRM\n width: 1, 2147483647 \n height: 1, 2147483647 \n framerate: 0/1, 2147483647/1 \n",
6
+ "caps": "video/x-raw:\n format: { AYUV, RGBA, ARGB, BGRA, ABGR, P010_10LE, NV12_10LE40, v308, RGBx, xRGB, BGRx, xBGR, RGB, BGR, Y42B, NV16, NV61, YUY2, YVYU, UYVY, I420, YV12, NV12, NV21, Y41B, YUV9, YVU9, BGR16, RGB16 }\n width: 1, 2147483647 \n height: 1, 2147483647 \n framerate: 0/1, 2147483647/1 \n\nvideo/x-raw(memory:DMABuf):\n format: DMA_DRM\n width: 1, 2147483647 \n height: 1, 2147483647 \n framerate: 0/1, 2147483647/1 \n",
7
"direction": "sink",
8
"presence": "always"
9
}
10
11
"long-name": "wayland video sink",
12
"pad-templates": {
13
"sink": {
14
- "caps": "video/x-raw:\n format: { AYUV, RGBA, ARGB, BGRA, ABGR, P010_10LE, v308, RGBx, xRGB, BGRx, xBGR, RGB, BGR, Y42B, NV16, NV61, YUY2, YVYU, UYVY, I420, YV12, NV12, NV21, Y41B, YUV9, YVU9, BGR16, RGB16 }\n width: 1, 2147483647 \n height: 1, 2147483647 \n framerate: 0/1, 2147483647/1 \n\nvideo/x-raw(memory:DMABuf):\n format: DMA_DRM\n width: 1, 2147483647 \n height: 1, 2147483647 \n framerate: 0/1, 2147483647/1 \n",
15
+ "caps": "video/x-raw:\n format: { AYUV, RGBA, ARGB, BGRA, ABGR, P010_10LE, NV12_10LE40, v308, RGBx, xRGB, BGRx, xBGR, RGB, BGR, Y42B, NV16, NV61, YUY2, YVYU, UYVY, I420, YV12, NV12, NV21, Y41B, YUV9, YVU9, BGR16, RGB16 }\n width: 1, 2147483647 \n height: 1, 2147483647 \n framerate: 0/1, 2147483647/1 \n\nvideo/x-raw(memory:DMABuf):\n format: DMA_DRM\n width: 1, 2147483647 \n height: 1, 2147483647 \n framerate: 0/1, 2147483647/1 \n",
16
"direction": "sink",
17
"presence": "always"
18
}
19
gst-plugins-bad-1.24.8.tar.xz/ext/srt/gstsrtobject.c -> gst-plugins-bad-1.24.9.tar.xz/ext/srt/gstsrtobject.c
Changed
50
1
2
* Boolean to choose whether to automatically reconnect. If TRUE, an element
3
* in caller mode will try to reconnect instead of reporting an error.
4
*
5
+ * This will be ignored for authentication failures.
6
+ *
7
* Since: 1.22
8
*
9
*/
10
11
}
12
poll_added = TRUE;
13
14
- GST_DEBUG_OBJECT (srtobject->element, "Starting to listen on bind socket");
15
- if (srt_listen (sock, 1) == SRT_ERROR) {
16
- g_set_error (error, GST_RESOURCE_ERROR,
17
- GST_RESOURCE_ERROR_OPEN_READ_WRITE, "Cannot listen on bind socket: %s",
18
- srt_getlasterror_str ());
19
- goto failed;
20
- }
21
-
22
srtobject->sock = sock;
23
24
/* Register the SRT listen callback */
25
if (srt_listen_callback (srtobject->sock,
26
(srt_listen_callback_fn *) srt_listen_callback_func, srtobject)) {
27
+ g_set_error (error, GST_RESOURCE_ERROR,
28
+ GST_RESOURCE_ERROR_OPEN_READ_WRITE,
29
+ "Failed to register SRT listen callback: %s", srt_getlasterror_str ());
30
+ goto failed;
31
+ }
32
+
33
+ GST_DEBUG_OBJECT (srtobject->element, "Starting to listen on bind socket");
34
+ if (srt_listen (sock, 1) == SRT_ERROR) {
35
+ g_set_error (error, GST_RESOURCE_ERROR,
36
+ GST_RESOURCE_ERROR_OPEN_READ_WRITE, "Cannot listen on bind socket: %s",
37
+ srt_getlasterror_str ());
38
goto failed;
39
}
40
41
42
g_set_error (&internal_error, GST_RESOURCE_ERROR,
43
GST_RESOURCE_ERROR_NOT_AUTHORIZED,
44
"Failed to authenticate: %" REASON_FORMAT, REASON_ARGS (reason));
45
+ /* Failure to authenticate are fatal */
46
+ auto_reconnect = FALSE;
47
} else {
48
g_set_error (&internal_error, GST_RESOURCE_ERROR,
49
GST_RESOURCE_ERROR_READ,
50
gst-plugins-bad-1.24.8.tar.xz/ext/srt/gstsrtsink.c -> gst-plugins-bad-1.24.9.tar.xz/ext/srt/gstsrtsink.c
Changed
10
1
2
if (!ret) {
3
/* ensure error is posted since state change will fail */
4
GST_ELEMENT_ERROR (self, RESOURCE, OPEN_WRITE, (NULL),
5
- ("Failed to open SRT: %s", error->message));
6
+ ("Failed to open SRT: %s", error ? error->message : "Unknown error"));
7
g_clear_error (&error);
8
}
9
10
gst-plugins-bad-1.24.8.tar.xz/ext/webrtc/gstwebrtcbin.c -> gst-plugins-bad-1.24.9.tar.xz/ext/webrtc/gstwebrtcbin.c
Changed
22
1
2
3
if (found == FALSE) {
4
GST_FIXME_OBJECT (webrtc, "Received close for unknown data channel");
5
- } else if (found_pending == FALSE) {
6
- webrtc->priv->data_channels_closed++;
7
+ } else {
8
+ gst_element_set_locked_state (channel->src_bin, TRUE);
9
+ gst_element_set_state (channel->src_bin, GST_STATE_NULL);
10
+ gst_bin_remove (GST_BIN (webrtc), channel->src_bin);
11
+
12
+ gst_element_set_locked_state (channel->sink_bin, TRUE);
13
+ gst_element_set_state (channel->sink_bin, GST_STATE_NULL);
14
+ gst_bin_remove (GST_BIN (webrtc), channel->sink_bin);
15
+
16
+ if (found_pending == FALSE) {
17
+ webrtc->priv->data_channels_closed++;
18
+ }
19
}
20
DC_UNLOCK (webrtc);
21
}
22
gst-plugins-bad-1.24.8.tar.xz/gst-libs/gst/codecparsers/gstav1bitwriter.c -> gst-plugins-bad-1.24.9.tar.xz/gst-libs/gst/codecparsers/gstav1bitwriter.c
Changed
27
1
2
#include "gstav1bitwriter.h"
3
#include <gst/base/gstbitwriter.h>
4
5
+#ifndef GST_DISABLE_GST_DEBUG
6
+#define GST_CAT_DEFAULT gst_av1_debug_category_get()
7
+static GstDebugCategory *
8
+gst_av1_debug_category_get (void)
9
+{
10
+ static gsize cat_gonce = 0;
11
+
12
+ if (g_once_init_enter (&cat_gonce)) {
13
+ GstDebugCategory *cat = NULL;
14
+
15
+ GST_DEBUG_CATEGORY_INIT (cat, "bitwriter_av1", 0, "av1 bitwriter library");
16
+
17
+ g_once_init_leave (&cat_gonce, (gsize) cat);
18
+ }
19
+
20
+ return (GstDebugCategory *) cat_gonce;
21
+}
22
+#endif /* GST_DISABLE_GST_DEBUG */
23
+
24
#define WRITE_BITS_UNCHECK(bw, val, nbits) \
25
(nbits <= 8 ? gst_bit_writer_put_bits_uint8 (bw, val, nbits) : \
26
(nbits <= 16 ? gst_bit_writer_put_bits_uint16 (bw, val, nbits) : \
27
gst-plugins-bad-1.24.8.tar.xz/gst-libs/gst/codecparsers/gsth264bitwriter.c -> gst-plugins-bad-1.24.9.tar.xz/gst-libs/gst/codecparsers/gsth264bitwriter.c
Changed
36
1
2
#include <gst/codecparsers/nalutils.h>
3
#include <gst/base/gstbitwriter.h>
4
5
+#ifndef GST_DISABLE_GST_DEBUG
6
+#define GST_CAT_DEFAULT gst_h264_debug_category_get()
7
+static GstDebugCategory *
8
+gst_h264_debug_category_get (void)
9
+{
10
+ static gsize cat_gonce = 0;
11
+
12
+ if (g_once_init_enter (&cat_gonce)) {
13
+ GstDebugCategory *cat = NULL;
14
+
15
+ GST_DEBUG_CATEGORY_INIT (cat, "bitwriter_h264", 0,
16
+ "h264 bitwriter library");
17
+
18
+ g_once_init_leave (&cat_gonce, (gsize) cat);
19
+ }
20
+
21
+ return (GstDebugCategory *) cat_gonce;
22
+}
23
+#endif /* GST_DISABLE_GST_DEBUG */
24
+
25
/******************************** Utils ********************************/
26
#define SIGNED(val) (2 * ABS(val) - ((val) > 0))
27
28
29
/* Add trailings. */
30
WRITE_BITS (&bw, 1, 1);
31
if (!gst_bit_writer_align_bytes (&bw, 0)) {
32
+ have_space = FALSE;
33
goto error;
34
}
35
36
gst-plugins-bad-1.24.8.tar.xz/gst-libs/gst/codecparsers/gsth265bitwriter.c -> gst-plugins-bad-1.24.9.tar.xz/gst-libs/gst/codecparsers/gsth265bitwriter.c
Changed
36
1
2
#include <gst/base/gstbitwriter.h>
3
#include <math.h>
4
5
+#ifndef GST_DISABLE_GST_DEBUG
6
+#define GST_CAT_DEFAULT gst_h265_debug_category_get()
7
+static GstDebugCategory *
8
+gst_h265_debug_category_get (void)
9
+{
10
+ static gsize cat_gonce = 0;
11
+
12
+ if (g_once_init_enter (&cat_gonce)) {
13
+ GstDebugCategory *cat = NULL;
14
+
15
+ GST_DEBUG_CATEGORY_INIT (cat, "bitwriter_h265", 0,
16
+ "h265 bitwriter library");
17
+
18
+ g_once_init_leave (&cat_gonce, (gsize) cat);
19
+ }
20
+
21
+ return (GstDebugCategory *) cat_gonce;
22
+}
23
+#endif /* GST_DISABLE_GST_DEBUG */
24
+
25
/******************************** Utils ********************************/
26
#define SIGNED(val) (2 * ABS(val) - ((val) > 0))
27
28
29
/* Add trailings. */
30
WRITE_BITS (&bw, 1, 1);
31
if (!gst_bit_writer_align_bytes (&bw, 0)) {
32
+ have_space = FALSE;
33
goto error;
34
}
35
36
gst-plugins-bad-1.24.8.tar.xz/gst-libs/gst/codecs/gstvp8decoder.c -> gst-plugins-bad-1.24.9.tar.xz/gst-libs/gst/codecs/gstvp8decoder.c
Changed
21
1
2
3
gst_vp8_parser_init (&priv->parser);
4
priv->wait_keyframe = TRUE;
5
+ priv->had_sequence = FALSE;
6
+ priv->width = 0;
7
+ priv->height = 0;
8
9
priv->output_queue =
10
gst_queue_array_new_for_struct (sizeof (GstVp8DecoderOutputFrame), 1);
11
12
13
self->input_state = gst_video_codec_state_ref (state);
14
15
- priv->width = GST_VIDEO_INFO_WIDTH (&state->info);
16
- priv->height = GST_VIDEO_INFO_HEIGHT (&state->info);
17
-
18
query = gst_query_new_latency ();
19
if (gst_pad_peer_query (GST_VIDEO_DECODER_SINK_PAD (self), query))
20
gst_query_parse_latency (query, &priv->is_live, NULL, NULL);
21
gst-plugins-bad-1.24.8.tar.xz/gst-libs/gst/dxva/meson.build -> gst-plugins-bad-1.24.9.tar.xz/gst-libs/gst/dxva/meson.build
Changed
11
1
2
version : libversion,
3
soversion : soversion,
4
install : true,
5
- dependencies : gstvideo_dep, gstcodecs_dep
6
+ dependencies : gstvideo_dep, gstcodecs_dep,
7
+ override_options: 'cpp_std=c++11',
8
)
9
10
library_def = {'lib': gstdxva}
11
gst-plugins-bad-1.24.8.tar.xz/gst-libs/gst/play/gstplay.c -> gst-plugins-bad-1.24.9.tar.xz/gst-libs/gst/play/gstplay.c
Changed
201
1
2
return g_str_equal (gst_structure_get_name (data), GST_PLAY_MESSAGE_DATA);
3
}
4
5
-#define PARSE_MESSAGE_FIELD(msg, field, value_type, value) G_STMT_START { \
6
+#define PARSE_MESSAGE_FIELD(msg, expected_msg_type, field, value_type, value) G_STMT_START { \
7
const GstStructure *data = NULL; \
8
+ GstPlayMessage msg_type; \
9
g_return_if_fail (gst_play_is_play_message (msg)); \
10
+ gst_play_message_parse_type (msg, &msg_type); \
11
+ g_return_if_fail (msg_type == expected_msg_type); \
12
data = gst_message_get_structure (msg); \
13
gst_structure_get (data, field, value_type, value, NULL); \
14
} G_STMT_END
15
16
void
17
gst_play_message_parse_type (GstMessage * msg, GstPlayMessage * type)
18
{
19
- PARSE_MESSAGE_FIELD (msg, GST_PLAY_MESSAGE_DATA_TYPE,
20
- GST_TYPE_PLAY_MESSAGE, type);
21
+ const GstStructure *data = NULL;
22
+ g_return_if_fail (gst_play_is_play_message (msg));
23
+ data = gst_message_get_structure (msg);
24
+ gst_structure_get (data, GST_PLAY_MESSAGE_DATA_TYPE, GST_TYPE_PLAY_MESSAGE,
25
+ type, NULL);
26
}
27
28
/**
29
30
* @msg: A #GstMessage
31
* @duration: (out) (optional): the resulting duration
32
*
33
- * Parse the given duration @msg and extract the corresponding #GstClockTime
34
+ * Parse the given duration-changed @msg and extract the corresponding #GstClockTime
35
*
36
* Since: 1.20
37
*/
38
39
gst_play_message_parse_duration_updated (GstMessage * msg,
40
GstClockTime * duration)
41
{
42
- PARSE_MESSAGE_FIELD (msg, GST_PLAY_MESSAGE_DATA_DURATION,
43
- GST_TYPE_CLOCK_TIME, duration);
44
+ PARSE_MESSAGE_FIELD (msg, GST_PLAY_MESSAGE_DURATION_CHANGED,
45
+ GST_PLAY_MESSAGE_DATA_DURATION, GST_TYPE_CLOCK_TIME, duration);
46
}
47
48
/**
49
50
* @msg: A #GstMessage
51
* @position: (out) (optional): the resulting position
52
*
53
- * Parse the given position @msg and extract the corresponding #GstClockTime
54
+ * Parse the given position-updated @msg and extract the corresponding #GstClockTime
55
*
56
* Since: 1.20
57
*/
58
59
gst_play_message_parse_position_updated (GstMessage * msg,
60
GstClockTime * position)
61
{
62
- PARSE_MESSAGE_FIELD (msg, GST_PLAY_MESSAGE_DATA_POSITION,
63
- GST_TYPE_CLOCK_TIME, position);
64
+ PARSE_MESSAGE_FIELD (msg, GST_PLAY_MESSAGE_POSITION_UPDATED,
65
+ GST_PLAY_MESSAGE_DATA_POSITION, GST_TYPE_CLOCK_TIME, position);
66
}
67
68
/**
69
70
* @msg: A #GstMessage
71
* @state: (out) (optional): the resulting play state
72
*
73
- * Parse the given state @msg and extract the corresponding #GstPlayState
74
+ * Parse the given state-changed @msg and extract the corresponding #GstPlayState
75
*
76
* Since: 1.20
77
*/
78
void
79
gst_play_message_parse_state_changed (GstMessage * msg, GstPlayState * state)
80
{
81
- PARSE_MESSAGE_FIELD (msg, GST_PLAY_MESSAGE_DATA_PLAY_STATE,
82
- GST_TYPE_PLAY_STATE, state);
83
+ PARSE_MESSAGE_FIELD (msg, GST_PLAY_MESSAGE_STATE_CHANGED,
84
+ GST_PLAY_MESSAGE_DATA_PLAY_STATE, GST_TYPE_PLAY_STATE, state);
85
}
86
87
/**
88
89
* @msg: A #GstMessage
90
* @percent: (out) (optional): the resulting buffering percent
91
*
92
- * Parse the given buffering-percent @msg and extract the corresponding value
93
+ * Parse the given buffering @msg and extract the corresponding value
94
*
95
* Since: 1.20
96
*/
97
void
98
gst_play_message_parse_buffering_percent (GstMessage * msg, guint * percent)
99
{
100
- PARSE_MESSAGE_FIELD (msg, GST_PLAY_MESSAGE_DATA_BUFFERING_PERCENT,
101
- G_TYPE_UINT, percent);
102
+ PARSE_MESSAGE_FIELD (msg, GST_PLAY_MESSAGE_BUFFERING,
103
+ GST_PLAY_MESSAGE_DATA_BUFFERING_PERCENT, G_TYPE_UINT, percent);
104
}
105
106
/**
107
108
gst_play_message_parse_error (GstMessage * msg, GError ** error,
109
GstStructure ** details)
110
{
111
- PARSE_MESSAGE_FIELD (msg, GST_PLAY_MESSAGE_DATA_ERROR, G_TYPE_ERROR, error);
112
- PARSE_MESSAGE_FIELD (msg, GST_PLAY_MESSAGE_DATA_ERROR_DETAILS,
113
- GST_TYPE_STRUCTURE, details);
114
+ PARSE_MESSAGE_FIELD (msg, GST_PLAY_MESSAGE_ERROR, GST_PLAY_MESSAGE_DATA_ERROR,
115
+ G_TYPE_ERROR, error);
116
+ PARSE_MESSAGE_FIELD (msg, GST_PLAY_MESSAGE_ERROR,
117
+ GST_PLAY_MESSAGE_DATA_ERROR_DETAILS, GST_TYPE_STRUCTURE, details);
118
}
119
120
/**
121
122
* @error: (out) (optional) (transfer full): the resulting warning
123
* @details: (out) (optional) (nullable) (transfer full): A #GstStructure containing additional details about the warning
124
*
125
- * Parse the given error @msg and extract the corresponding #GError warning
126
+ * Parse the given warning @msg and extract the corresponding #GError
127
*
128
* Since: 1.20
129
*/
130
131
gst_play_message_parse_warning (GstMessage * msg, GError ** error,
132
GstStructure ** details)
133
{
134
- PARSE_MESSAGE_FIELD (msg, GST_PLAY_MESSAGE_DATA_WARNING, G_TYPE_ERROR, error);
135
- PARSE_MESSAGE_FIELD (msg, GST_PLAY_MESSAGE_DATA_WARNING, GST_TYPE_STRUCTURE,
136
- details);
137
+ PARSE_MESSAGE_FIELD (msg, GST_PLAY_MESSAGE_WARNING,
138
+ GST_PLAY_MESSAGE_DATA_WARNING, G_TYPE_ERROR, error);
139
+ PARSE_MESSAGE_FIELD (msg, GST_PLAY_MESSAGE_WARNING,
140
+ GST_PLAY_MESSAGE_DATA_WARNING_DETAILS, GST_TYPE_STRUCTURE, details);
141
}
142
143
/**
144
145
* @width: (out) (optional): the resulting video width
146
* @height: (out) (optional): the resulting video height
147
*
148
- * Parse the given @msg and extract the corresponding video dimensions
149
+ * Parse the given video-dimensions-changed @msg and extract the corresponding video dimensions
150
*
151
* Since: 1.20
152
*/
153
154
gst_play_message_parse_video_dimensions_changed (GstMessage * msg,
155
guint * width, guint * height)
156
{
157
- PARSE_MESSAGE_FIELD (msg, GST_PLAY_MESSAGE_DATA_VIDEO_WIDTH,
158
- G_TYPE_UINT, width);
159
- PARSE_MESSAGE_FIELD (msg, GST_PLAY_MESSAGE_DATA_VIDEO_HEIGHT,
160
- G_TYPE_UINT, height);
161
+ PARSE_MESSAGE_FIELD (msg, GST_PLAY_MESSAGE_VIDEO_DIMENSIONS_CHANGED,
162
+ GST_PLAY_MESSAGE_DATA_VIDEO_WIDTH, G_TYPE_UINT, width);
163
+ PARSE_MESSAGE_FIELD (msg, GST_PLAY_MESSAGE_VIDEO_DIMENSIONS_CHANGED,
164
+ GST_PLAY_MESSAGE_DATA_VIDEO_HEIGHT, G_TYPE_UINT, height);
165
}
166
167
/**
168
169
* @msg: A #GstMessage
170
* @info: (out) (optional) (transfer full): the resulting media info
171
*
172
- * Parse the given @msg and extract the corresponding media information
173
+ * Parse the given media-info-updated @msg and extract the corresponding media information
174
*
175
* Since: 1.20
176
*/
177
178
gst_play_message_parse_media_info_updated (GstMessage * msg,
179
GstPlayMediaInfo ** info)
180
{
181
- PARSE_MESSAGE_FIELD (msg, GST_PLAY_MESSAGE_DATA_MEDIA_INFO,
182
- GST_TYPE_PLAY_MEDIA_INFO, info);
183
+ PARSE_MESSAGE_FIELD (msg, GST_PLAY_MESSAGE_MEDIA_INFO_UPDATED,
184
+ GST_PLAY_MESSAGE_DATA_MEDIA_INFO, GST_TYPE_PLAY_MEDIA_INFO, info);
185
}
186
187
/**
188
189
* @msg: A #GstMessage
190
* @volume: (out) (optional): the resulting audio volume
191
*
192
- * Parse the given @msg and extract the corresponding audio volume
193
+ * Parse the given volume-changed @msg and extract the corresponding audio volume
194
*
195
* Since: 1.20
196
*/
197
void
198
gst_play_message_parse_volume_changed (GstMessage * msg, gdouble * volume)
199
{
200
- PARSE_MESSAGE_FIELD (msg, GST_PLAY_MESSAGE_DATA_VOLUME, G_TYPE_DOUBLE,
201
gst-plugins-bad-1.24.8.tar.xz/gst-libs/gst/play/gstplay.h -> gst-plugins-bad-1.24.9.tar.xz/gst-libs/gst/play/gstplay.h
Changed
10
1
2
GstPlaySnapshotFormat format, const GstStructure * config);
3
4
GST_PLAY_API
5
-gboolean gst_play_is_play_message (GstMessage *msg);
6
+gboolean gst_play_is_play_message (GstMessage *msg);
7
8
GST_PLAY_API
9
void gst_play_message_parse_type (GstMessage *msg, GstPlayMessage *type);
10
gst-plugins-bad-1.24.8.tar.xz/gst-libs/gst/va/gstvavideoformat.h -> gst-plugins-bad-1.24.9.tar.xz/gst-libs/gst/va/gstvavideoformat.h
Changed
12
1
2
#include <gst/video/video.h>
3
#include <va/va.h>
4
5
-#ifndef G_OS_WIN32
6
-#include <libdrm/drm_fourcc.h>
7
+#ifdef HAVE_LIBDRM
8
+#include <drm_fourcc.h>
9
#else
10
/**
11
* DRM_FORMAT_INVALID: (skip) (attributes doc.skip=true)
12
gst-plugins-bad-1.24.8.tar.xz/gst-libs/gst/va/meson.build -> gst-plugins-bad-1.24.9.tar.xz/gst-libs/gst/va/meson.build
Changed
36
1
2
libva_req = '>= 1.18'
3
endif
4
5
-libva_dep = dependency('libva', version: libva_req, required: va_required,
6
- fallback: 'libva', 'libva_dep')
7
+libva_dep = dependency('libva', version: libva_req, required: va_required)
8
if not libva_dep.found()
9
subdir_done()
10
endif
11
12
if host_system == 'linux'
13
- libva_drm_dep = dependency('libva-drm', version: libva_req, required: va_required,
14
- fallback: 'libva', 'libva_drm_dep')
15
+ libva_drm_dep = dependency('libva-drm', version: libva_req, required: va_required)
16
if not libva_drm_dep.found()
17
subdir_done()
18
endif
19
platform_deps += libva_drm_dep
20
21
- libdrm_dep = dependency('libdrm', version: '>=2.4', required: get_option('drm'))
22
if libdrm_dep.found()
23
platform_deps += libdrm_dep
24
- extra_args += '-DHAVE_LIBDRM'
25
endif
26
27
va_sources += va_linux_sources
28
va_headers += va_linux_headers
29
else
30
- libva_win32_dep = dependency('libva-win32', version: libva_req, required: va_required,
31
- fallback: 'libva', 'libva_win32_dep')
32
+ libva_win32_dep = dependency('libva-win32', version: libva_req, required: va_required)
33
if not libva_win32_dep.found()
34
subdir_done()
35
endif
36
gst-plugins-bad-1.24.8.tar.xz/gst-libs/gst/wayland/gstwlvideoformat.c -> gst-plugins-bad-1.24.9.tar.xz/gst-libs/gst/wayland/gstwlvideoformat.c
Changed
19
1
2
#ifndef WL_SHM_FORMAT_P010
3
#define WL_SHM_FORMAT_P010 DRM_FORMAT_P010
4
#endif
5
+#ifndef WL_SHM_FORMAT_NV15
6
+#define WL_SHM_FORMAT_NV15 DRM_FORMAT_NV15
7
+#endif
8
9
#define GST_CAT_DEFAULT gst_wl_videoformat_debug
10
GST_DEBUG_CATEGORY_STATIC (GST_CAT_DEFAULT);
11
12
{WL_SHM_FORMAT_NV16, DRM_FORMAT_NV16, GST_VIDEO_FORMAT_NV16},
13
{WL_SHM_FORMAT_NV61, DRM_FORMAT_NV61, GST_VIDEO_FORMAT_NV61},
14
{WL_SHM_FORMAT_P010, DRM_FORMAT_P010, GST_VIDEO_FORMAT_P010_10LE},
15
+ {WL_SHM_FORMAT_NV15, DRM_FORMAT_NV15, GST_VIDEO_FORMAT_NV12_10LE40},
16
{WL_SHM_FORMAT_YUV410, DRM_FORMAT_YUV410, GST_VIDEO_FORMAT_YUV9},
17
{WL_SHM_FORMAT_YVU410, DRM_FORMAT_YVU410, GST_VIDEO_FORMAT_YVU9},
18
{WL_SHM_FORMAT_YUV411, DRM_FORMAT_YUV411, GST_VIDEO_FORMAT_Y41B},
19
gst-plugins-bad-1.24.8.tar.xz/gst-libs/gst/wayland/gstwlvideoformat.h -> gst-plugins-bad-1.24.9.tar.xz/gst-libs/gst/wayland/gstwlvideoformat.h
Changed
21
1
2
* Since: 1.24
3
*/
4
#if G_BYTE_ORDER == G_BIG_ENDIAN
5
-#define GST_WL_VIDEO_FORMATS "{ AYUV, RGBA, ARGB, BGRA, ABGR, P010_10LE, v308, " \
6
- "RGBx, xRGB, BGRx, xBGR, RGB, BGR, Y42B, NV16, NV61, YUY2, YVYU, UYVY, " \
7
- "I420, YV12, NV12, NV21, Y41B, YUV9, YVU9, BGR16, RGB16 }"
8
+#define GST_WL_VIDEO_FORMATS "{ AYUV, RGBA, ARGB, BGRA, ABGR, P010_10LE, " \
9
+ "NV12_10LE40, v308, RGBx, xRGB, BGRx, xBGR, RGB, BGR, Y42B, NV16, NV61, " \
10
+ "YUY2, YVYU, UYVY, I420, YV12, NV12, NV21, Y41B, YUV9, YVU9, BGR16, RGB16 }"
11
#elif G_BYTE_ORDER == G_LITTLE_ENDIAN
12
-#define GST_WL_VIDEO_FORMATS "{ AYUV, RGBA, ARGB, BGRA, ABGR, P010_10LE, v308, " \
13
- "RGBx, xRGB, BGRx, xBGR, RGB, BGR, Y42B, NV16, NV61, YUY2, YVYU, UYVY, " \
14
- "I420, YV12, NV12, NV21, Y41B, YUV9, YVU9, BGR16, RGB16 }"
15
+#define GST_WL_VIDEO_FORMATS "{ AYUV, RGBA, ARGB, BGRA, ABGR, P010_10LE, " \
16
+ "NV12_10LE40, v308, RGBx, xRGB, BGRx, xBGR, RGB, BGR, Y42B, NV16, NV61, " \
17
+ "YUY2, YVYU, UYVY, I420, YV12, NV12, NV21, Y41B, YUV9, YVU9, BGR16, RGB16 }"
18
#endif
19
20
GST_WL_API
21
gst-plugins-bad-1.24.8.tar.xz/gst-plugins-bad.doap -> gst-plugins-bad-1.24.9.tar.xz/gst-plugins-bad.doap
Changed
18
1
2
3
<release>
4
<Version>
5
+ <revision>1.24.9</revision>
6
+ <branch>1.24</branch>
7
+ <name></name>
8
+ <created>2024-10-30</created>
9
+ <file-release rdf:resource="https://gstreamer.freedesktop.org/src/gst-plugins-bad/gst-plugins-bad-1.24.9.tar.xz" />
10
+ </Version>
11
+ </release>
12
+
13
+ <release>
14
+ <Version>
15
<revision>1.24.8</revision>
16
<branch>1.24</branch>
17
<name></name>
18
gst-plugins-bad-1.24.8.tar.xz/gst/codectimestamper/gstcodectimestamper.c -> gst-plugins-bad-1.24.9.tar.xz/gst/codectimestamper/gstcodectimestamper.c
Changed
15
1
2
static gint
3
pts_compare_func (const GstClockTime * a, const GstClockTime * b)
4
{
5
- return (*a) - (*b);
6
+ if (*a < *b)
7
+ return -1;
8
+ else if (*a > *b)
9
+ return 1;
10
+ else
11
+ return 0;
12
}
13
14
static GstFlowReturn
15
gst-plugins-bad-1.24.8.tar.xz/gst/mpegtsdemux/mpegtspacketizer.c -> gst-plugins-bad-1.24.9.tar.xz/gst/mpegtsdemux/mpegtspacketizer.c
Changed
30
1
2
PACKETIZER_GROUP_LOCK (packetizer);
3
pcrtable = get_pcr_table (packetizer, pcr_pid);
4
5
- if (!GST_CLOCK_TIME_IS_VALID (pcrtable->base_time) && pcr_pid == 0x1fff &&
6
- GST_CLOCK_TIME_IS_VALID (packetizer->last_in_time)) {
7
- pcrtable->base_time = packetizer->last_in_time;
8
- pcrtable->base_pcrtime = pts;
9
+ if (pcr_pid == 0x1fff && GST_CLOCK_TIME_IS_VALID (packetizer->last_in_time)) {
10
+ if (!GST_CLOCK_TIME_IS_VALID (pcrtable->base_time)) {
11
+ pcrtable->base_time = packetizer->last_in_time;
12
+ pcrtable->base_pcrtime = pts;
13
+ } else if (check_diff) {
14
+ /* Handle discont and wraparound */
15
+ guint64 tmp_pts = pts + pcrtable->pcroffset + packetizer->extra_shift;
16
+ if (pcrtable->base_pcrtime < tmp_pts
17
+ && tmp_pts - pcrtable->base_pcrtime >= 5 * GST_SECOND) {
18
+ guint64 diff = tmp_pts - pcrtable->base_pcrtime - 2 * GST_SECOND;
19
+
20
+ pcrtable->base_time += diff;
21
+ pcrtable->base_pcrtime += diff;
22
+ } else if (pcrtable->base_pcrtime > tmp_pts
23
+ && pcrtable->base_pcrtime > PCR_GST_MAX_VALUE / 2) {
24
+ pcrtable->pcroffset += PCR_GST_MAX_VALUE;
25
+ }
26
+ }
27
}
28
29
/* Use clock skew if present */
30
gst-plugins-bad-1.24.8.tar.xz/gst/rtmp2/gstrtmp2sink.c -> gst-plugins-bad-1.24.9.tar.xz/gst/rtmp2/gstrtmp2sink.c
Changed
63
1
2
self->running = TRUE;
3
self->cancellable = g_cancellable_new ();
4
self->stream_id = 0;
5
- self->last_ts = 0;
6
- self->base_ts = 0;
7
+ self->last_ts = GST_CLOCK_TIME_NONE;
8
+ self->base_ts = GST_CLOCK_TIME_NONE;
9
10
if (async) {
11
gst_task_start (self->task);
12
13
14
/* flvmux timestamps roll over after about 49 days */
15
timestamp = header.timestamp;
16
- if (timestamp + self->base_ts + G_MAXINT32 < self->last_ts) {
17
- GST_WARNING_OBJECT (self, "Timestamp regression %" G_GUINT64_FORMAT
18
- " -> %" G_GUINT64_FORMAT "; assuming overflow", self->last_ts,
19
- timestamp + self->base_ts);
20
- self->base_ts += G_MAXUINT32;
21
- self->base_ts += 1;
22
- } else if (timestamp + self->base_ts > self->last_ts + G_MAXINT32) {
23
- GST_WARNING_OBJECT (self, "Timestamp jump %" G_GUINT64_FORMAT
24
- " -> %" G_GUINT64_FORMAT "; assuming underflow", self->last_ts,
25
- timestamp + self->base_ts);
26
- if (self->base_ts > 0) {
27
- self->base_ts -= G_MAXUINT32;
28
- self->base_ts -= 1;
29
- } else {
30
- GST_WARNING_OBJECT (self, "Cannot regress further;"
31
- " forcing timestamp to zero");
32
- timestamp = 0;
33
+ if (self->base_ts == GST_CLOCK_TIME_NONE) {
34
+ self->last_ts = self->base_ts = timestamp;
35
+ } else {
36
+ if (timestamp + self->base_ts + G_MAXINT32 < self->last_ts) {
37
+ GST_WARNING_OBJECT (self, "Timestamp regression %" G_GUINT64_FORMAT
38
+ " -> %" G_GUINT64_FORMAT "; assuming overflow", self->last_ts,
39
+ timestamp + self->base_ts);
40
+ self->base_ts += G_MAXUINT32;
41
+ self->base_ts += 1;
42
+ } else if (timestamp + self->base_ts > self->last_ts + G_MAXINT32) {
43
+ GST_WARNING_OBJECT (self, "Timestamp jump %" G_GUINT64_FORMAT
44
+ " -> %" G_GUINT64_FORMAT "; assuming underflow", self->last_ts,
45
+ timestamp + self->base_ts);
46
+ if (self->base_ts > 0) {
47
+ self->base_ts -= G_MAXUINT32;
48
+ self->base_ts -= 1;
49
+ } else {
50
+ GST_WARNING_OBJECT (self, "Cannot regress further;"
51
+ " forcing timestamp to zero");
52
+ timestamp = 0;
53
+ }
54
}
55
+ timestamp += self->base_ts;
56
+ self->last_ts = timestamp;
57
}
58
- timestamp += self->base_ts;
59
- self->last_ts = timestamp;
60
61
gst_buffer_unmap (buffer, &info);
62
}
63
gst-plugins-bad-1.24.8.tar.xz/gst/videofilters/gstscenechange.c -> gst-plugins-bad-1.24.9.tar.xz/gst/videofilters/gstscenechange.c
Changed
60
1
2
* terms of accuracy, schro's implementation has about 2-3 false positives
3
* or false negatives per 100 scene changes. This implementation has
4
* about 5 per 100. The threshold is tuned for minimum total false
5
- * positives or negatives, on the assumption that the badness of a
6
+ * positives or negatives, on the assumption that the badness of a
7
* false negative is the same as a false positive.
8
*
9
* This algorithm is pretty much at its limit for error rate. I
10
11
12
static GstFlowReturn gst_scene_change_transform_frame_ip (GstVideoFilter *
13
filter, GstVideoFrame * frame);
14
+static gboolean gst_scenechange_stop (GstBaseTransform * base);
15
16
#undef TESTING
17
#ifdef TESTING
18
19
gst_scene_change_class_init (GstSceneChangeClass * klass)
20
{
21
GstVideoFilterClass *video_filter_class = GST_VIDEO_FILTER_CLASS (klass);
22
+ GstBaseTransformClass *trans_class = GST_BASE_TRANSFORM_CLASS (klass);
23
24
gst_element_class_add_pad_template (GST_ELEMENT_CLASS (klass),
25
gst_pad_template_new ("src", GST_PAD_SRC, GST_PAD_ALWAYS,
26
27
video_filter_class->transform_frame_ip =
28
GST_DEBUG_FUNCPTR (gst_scene_change_transform_frame_ip);
29
30
+ trans_class->stop = GST_DEBUG_FUNCPTR (gst_scenechange_stop);
31
}
32
33
static void
34
35
{
36
}
37
38
-
39
static double
40
get_frame_score (GstVideoFrame * f1, GstVideoFrame * f2)
41
{
42
43
return GST_FLOW_OK;
44
}
45
46
+static gboolean
47
+gst_scenechange_stop (GstBaseTransform * base)
48
+{
49
+ GstSceneChange *scenechange = GST_SCENE_CHANGE (base);
50
51
+ gst_clear_buffer (&scenechange->oldbuf);
52
53
-
54
-
55
+ return TRUE;
56
+}
57
58
#ifdef TESTING
59
/* This is from ds's personal collection. No, you can't have it. */
60
gst-plugins-bad-1.24.8.tar.xz/meson.build -> gst-plugins-bad-1.24.9.tar.xz/meson.build
Changed
26
1
2
project('gst-plugins-bad', 'c', 'cpp',
3
- version : '1.24.8',
4
+ version : '1.24.9',
5
meson_version : '>= 1.1',
6
default_options : 'warning_level=1',
7
'buildtype=debugoptimized' )
8
9
cdata.set('HAVE_X11', 1)
10
endif
11
12
+# Optional dep of msdk and va
13
+if host_system not in 'darwin', 'ios', 'android', 'windows'
14
+ libdrm_dep = dependency('libdrm', version : '>=2.4.50',
15
+ required : get_option('drm').enabled() or get_option('msdk').enabled(),
16
+ )
17
+ cdata.set('HAVE_LIBDRM', libdrm_dep.found())
18
+else
19
+ libdrm_dep = dependency('', required: false)
20
+endif
21
+
22
+
23
#
24
# Solaris and Illumos distros split a lot of networking-related code
25
# into '-lsocket -lnsl'. Anything that calls socketpair(), getifaddr(),
26
gst-plugins-bad-1.24.8.tar.xz/po/gst-plugins-bad-1.0.pot -> gst-plugins-bad-1.24.9.tar.xz/po/gst-plugins-bad-1.0.pot
Changed
13
1
2
#, fuzzy
3
msgid ""
4
msgstr ""
5
-"Project-Id-Version: gst-plugins-bad-1.24.8\n"
6
+"Project-Id-Version: gst-plugins-bad-1.24.9\n"
7
"Report-Msgid-Bugs-To: \n"
8
-"POT-Creation-Date: 2024-09-19 12:02+0200\n"
9
+"POT-Creation-Date: 2024-10-30 20:34+0000\n"
10
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
11
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
12
"Language-Team: LANGUAGE <LL@li.org>\n"
13
gst-plugins-bad-1.24.8.tar.xz/po/gst-plugins-bad.pot -> gst-plugins-bad-1.24.9.tar.xz/po/gst-plugins-bad.pot
Changed
13
1
2
#, fuzzy
3
msgid ""
4
msgstr ""
5
-"Project-Id-Version: gst-plugins-bad-1.24.8\n"
6
+"Project-Id-Version: gst-plugins-bad-1.24.9\n"
7
"Report-Msgid-Bugs-To: \n"
8
-"POT-Creation-Date: 2024-09-19 12:02+0200\n"
9
+"POT-Creation-Date: 2024-10-30 20:34+0000\n"
10
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
11
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
12
"Language-Team: LANGUAGE <LL@li.org>\n"
13
gst-plugins-bad-1.24.8.tar.xz/sys/applemedia/avfdeviceprovider.m -> gst-plugins-bad-1.24.9.tar.xz/sys/applemedia/avfdeviceprovider.m
Changed
9
1
2
result = g_list_prepend (result, gst_object_ref_sink (gst_device));
3
4
gst_structure_free (props);
5
+ gst_caps_unref (caps);
6
}
7
8
result = g_list_reverse (result);
9
gst-plugins-bad-1.24.8.tar.xz/sys/applemedia/vtdec.c -> gst-plugins-bad-1.24.9.tar.xz/sys/applemedia/vtdec.c
Changed
12
1
2
case 51:
3
case 52:
4
return 184320;
5
+ case 60:
6
+ case 61:
7
+ case 62:
8
+ return 696320;
9
default:
10
GST_ERROR_OBJECT (vtdec, "unknown level %d", level);
11
return -1;
12
gst-plugins-bad-1.24.8.tar.xz/sys/kms/gstkmsallocator.c -> gst-plugins-bad-1.24.9.tar.xz/sys/kms/gstkmsallocator.c
Changed
10
1
2
/* Overwrite the video info's stride and offset using the pitch calculcated
3
* by the kms driver. */
4
stride = gst_video_format_info_extrapolate_stride (vinfo->finfo, i, pitch);
5
- GST_VIDEO_INFO_PLANE_STRIDE (vinfo, i) = pitch;
6
+ GST_VIDEO_INFO_PLANE_STRIDE (vinfo, i) = stride;
7
GST_VIDEO_INFO_PLANE_OFFSET (vinfo, i) = offs;
8
9
/* Note that we cannot negotiate special padding betweem each planes,
10
gst-plugins-bad-1.24.8.tar.xz/sys/kms/gstkmssink.c -> gst-plugins-bad-1.24.9.tar.xz/sys/kms/gstkmssink.c
Changed
15
1
2
kms_open (gchar ** driver)
3
{
4
static const char *drivers = { "i915", "radeon", "nouveau", "vmwgfx",
5
- "exynos", "amdgpu", "imx-drm", "imx-lcdif", "rockchip", "atmel-hlcdc",
6
- "msm", "xlnx", "vc4", "meson", "stm", "sun4i-drm", "mxsfb-drm", "tegra",
7
- "tidss", "xilinx_drm", /* DEPRECATED. Replaced by xlnx */
8
+ "exynos", "amdgpu", "imx-dcss", "imx-drm", "imx-lcdif", "rockchip",
9
+ "atmel-hlcdc", "msm", "xlnx", "vc4", "meson", "stm", "sun4i-drm",
10
+ "mxsfb-drm", "tegra", "tidss",
11
+ "xilinx_drm", /* DEPRECATED. Replaced by xlnx */
12
};
13
int i, fd = -1;
14
15
gst-plugins-bad-1.24.8.tar.xz/sys/msdk/gstmsdkallocator_libva.c -> gst-plugins-bad-1.24.9.tar.xz/sys/msdk/gstmsdkallocator_libva.c
Changed
10
1
2
3
#include <va/va.h>
4
#include <va/va_drmcommon.h>
5
-#include <libdrm/drm_fourcc.h>
6
+#include <drm_fourcc.h>
7
#include <unistd.h>
8
#include "gstmsdkallocator.h"
9
#include "gstmsdkallocator_libva.h"
10
gst-plugins-bad-1.24.8.tar.xz/sys/msdk/gstmsdkcaps.c -> gst-plugins-bad-1.24.9.tar.xz/sys/msdk/gstmsdkcaps.c
Changed
10
1
2
#include "gstmsdkcaps.h"
3
4
#ifndef _WIN32
5
-#include <libdrm/drm_fourcc.h>
6
+#include <drm_fourcc.h>
7
#include <gst/video/video-info-dma.h>
8
#include "gstmsdkallocator_libva.h"
9
#include <gst/va/gstvavideoformat.h>
10
gst-plugins-bad-1.24.8.tar.xz/sys/msdk/gstmsdkdec.c -> gst-plugins-bad-1.24.9.tar.xz/sys/msdk/gstmsdkdec.c
Changed
10
1
2
#include "gstmsdkcaps.h"
3
4
#ifndef _WIN32
5
-#include <libdrm/drm_fourcc.h>
6
+#include <drm_fourcc.h>
7
#include <gst/va/gstvaallocator.h>
8
#include <gst/va/gstvavideoformat.h>
9
#else
10
gst-plugins-bad-1.24.8.tar.xz/sys/msdk/gstmsdkenc.c -> gst-plugins-bad-1.24.9.tar.xz/sys/msdk/gstmsdkenc.c
Changed
10
1
2
#include "gstmsdkcaps.h"
3
4
#ifndef _WIN32
5
-#include <libdrm/drm_fourcc.h>
6
+#include <drm_fourcc.h>
7
#include "gstmsdkallocator_libva.h"
8
#include <gst/va/gstvaallocator.h>
9
#else
10
gst-plugins-bad-1.24.8.tar.xz/sys/msdk/gstmsdkvpp.c -> gst-plugins-bad-1.24.9.tar.xz/sys/msdk/gstmsdkvpp.c
Changed
10
1
2
#include "gstmsdkallocator.h"
3
4
#ifndef _WIN32
5
-#include <libdrm/drm_fourcc.h>
6
+#include <drm_fourcc.h>
7
#include "gstmsdkallocator_libva.h"
8
#include <gst/va/gstvaallocator.h>
9
#include <gst/va/gstvavideoformat.h>
10
gst-plugins-bad-1.24.8.tar.xz/sys/msdk/gstmsdkvpputil.c -> gst-plugins-bad-1.24.9.tar.xz/sys/msdk/gstmsdkvpputil.c
Changed
10
1
2
#include "gstmsdkcaps.h"
3
4
#ifndef _WIN32
5
-#include <libdrm/drm_fourcc.h>
6
+#include <drm_fourcc.h>
7
#include <gst/va/gstvavideoformat.h>
8
#else
9
#include <gst/d3d11/gstd3d11.h>
10
gst-plugins-bad-1.24.8.tar.xz/sys/msdk/meson.build -> gst-plugins-bad-1.24.9.tar.xz/sys/msdk/meson.build
Changed
9
1
2
else
3
libdl_dep = cc.find_library('dl', required: get_option('msdk'))
4
libgudev_dep = dependency('gudev-1.0', required: get_option('msdk'), allow_fallback: true)
5
- libdrm_dep = dependency('libdrm', required: get_option('msdk'))
6
msdk_deps = declare_dependency(dependencies: gstva_dep, libdl_dep, libgudev_dep, libdrm_dep)
7
msdk_deps_found = gstva_dep.found() and libdl_dep.found() and libgudev_dep.found() and libdrm_dep.found()
8
endif
9
gst-plugins-bad-1.24.8.tar.xz/sys/va/gstvaav1enc.c -> gst-plugins-bad-1.24.9.tar.xz/sys/va/gstvaav1enc.c
Changed
12
1
2
/* not enable it now. */
3
self->features.enable_warped_motion = FALSE;
4
// (features.bits.support_warped_motion != 0);
5
- self->features.enable_palette_mode =
6
- (features.bits.support_palette_mode != 0);
7
+ self->features.enable_palette_mode = FALSE;
8
+ // (features.bits.support_palette_mode != 0);
9
self->features.enable_dual_filter =
10
(features.bits.support_dual_filter != 0);
11
self->features.enable_jnt_comp = (features.bits.support_jnt_comp != 0);
12
gst-plugins-bad-1.24.8.tar.xz/tests/check/elements/h264timestamper.c -> gst-plugins-bad-1.24.9.tar.xz/tests/check/elements/h264timestamper.c
Changed
11
1
2
GST_BUFFER_PTS (buffer) = 0;
3
fail_unless_equals_int (gst_harness_push (h, buffer), GST_FLOW_OK);;
4
buffer = gst_buffer_new_memdup (h264_idrframe, G_N_ELEMENTS (h264_idrframe));
5
+ GST_BUFFER_PTS (buffer) = 3 * GST_SECOND;
6
+ fail_unless_equals_int (gst_harness_push (h, buffer), GST_FLOW_OK);;
7
+ buffer = gst_buffer_new_memdup (h264_idrframe, G_N_ELEMENTS (h264_idrframe));
8
GST_BUFFER_PTS (buffer) = GST_CLOCK_TIME_NONE;
9
fail_unless_equals_int (gst_harness_push (h, buffer), GST_FLOW_OK);;
10
buffer = gst_buffer_new_memdup (h264_idrframe, G_N_ELEMENTS (h264_idrframe));
11
gst-plugins-bad-1.24.8.tar.xz/tests/check/elements/lc3.c -> gst-plugins-bad-1.24.9.tar.xz/tests/check/elements/lc3.c
Changed
10
1
2
create_test_buffer (guint64 num, guint64 size)
3
{
4
GstBuffer *buffer;
5
- guint64 *data = g_malloc (sizeof (guint64));
6
+ guint64 *data = g_malloc (size);
7
8
*data = num;
9
10
gst-plugins-bad-1.24.8.tar.xz/tests/check/elements/vapostproc.c -> gst-plugins-bad-1.24.9.tar.xz/tests/check/elements/vapostproc.c
Changed
77
1
2
3
GST_END_TEST;
4
5
+static GstCaps *
6
+get_drmdma_format (void)
7
+{
8
+ GstElement *vpp;
9
+ GstCaps *templ, *allowed_caps, *drm_caps = NULL;
10
+ GstPad *srcpad;
11
+ guint i;
12
+
13
+ vpp = gst_element_factory_make ("vapostproc", NULL);
14
+ if (!vpp)
15
+ return NULL;
16
+ srcpad = gst_element_get_static_pad (vpp, "src");
17
+ fail_unless (srcpad != NULL);
18
+ templ = gst_pad_get_pad_template_caps (srcpad);
19
+ fail_unless (templ != NULL);
20
+
21
+ allowed_caps = gst_caps_normalize (templ);
22
+
23
+ for (i = 0; i < gst_caps_get_size (allowed_caps); ++i) {
24
+ GstStructure *new_structure;
25
+ GstStructure *structure;
26
+
27
+ /* non-dmabuf caps don't describe drm-format: skip them */
28
+ structure = gst_caps_get_structure (allowed_caps, i);
29
+ if (!gst_structure_has_field (structure, "drm-format"))
30
+ continue;
31
+
32
+ drm_caps = gst_caps_new_empty ();
33
+ new_structure = gst_structure_copy (structure);
34
+ gst_structure_set (new_structure, "framerate", GST_TYPE_FRACTION,
35
+ 1, 1, NULL);
36
+ gst_structure_remove_field (new_structure, "width");
37
+ gst_structure_remove_field (new_structure, "height");
38
+ gst_caps_append_structure (drm_caps, new_structure);
39
+ gst_caps_set_features_simple (drm_caps,
40
+ gst_caps_features_new_single ("memory:DMABuf"));
41
+
42
+ GST_DEBUG ("have caps %" GST_PTR_FORMAT, drm_caps);
43
+ /* should be fixed without width/height */
44
+ fail_unless (gst_caps_is_fixed (drm_caps));
45
+ break;
46
+ }
47
+
48
+ gst_caps_unref (allowed_caps);
49
+ gst_object_unref (srcpad);
50
+ gst_object_unref (vpp);
51
+
52
+ return drm_caps;
53
+}
54
+
55
GST_START_TEST (dmabuf_copy)
56
{
57
GstHarness *h;
58
GstBuffer *buf, *buf_copy;
59
gboolean ret;
60
+ GstCaps *drm_caps;
61
62
h = gst_harness_new_parse ("videotestsrc num-buffers=1 ! "
63
"video/x-raw, width=(int)1024, height=(int)768 ! vapostproc");
64
ck_assert (h);
65
66
- gst_harness_set_sink_caps_str (h,
67
- "video/x-raw(memory:DMABuf), format=(string)NV12, width=(int)3840, height=(int)2160");
68
+ drm_caps = get_drmdma_format ();
69
+ ck_assert (drm_caps);
70
+ gst_caps_set_simple (drm_caps, "width", G_TYPE_INT, 1600, "height",
71
+ G_TYPE_INT, 1200, NULL);
72
+
73
+ gst_harness_set_sink_caps (h, drm_caps);
74
75
gst_harness_add_propose_allocation_meta (h, GST_VIDEO_META_API_TYPE, NULL);
76
gst_harness_play (h);
77