Overview

Request 6118 (accepted)

Ver bump

Submit package home:zait...sentials / gstreamer...d-codecs to package Essentials / gstreamer-plugins-bad-codecs

gstreamer-plugins-bad-codecs.changes Changed
x
 
1
@@ -1,4 +1,9 @@
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
@@ -7,7 +7,7 @@
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
@@ -35,10 +35,8 @@
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
@@ -67,11 +65,9 @@
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
@@ -86,10 +82,8 @@
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
@@ -1,7 +1,7 @@
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
@@ -54,7 +54,7 @@
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
240
 
1
@@ -1,3 +1,238 @@
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
+
202
+   * gst-libs/gst/dxva/meson.build:
203
+     meson: Explicitly use cpp_std=c++11 for dxva
204
+     dxva is built unconditionally on all platforms where introspection is
205
+     enabled, so let's fix the build on macOS so that introspection can be
206
+     enabled there: https://gitlab.freedesktop.org/nirbheek/cerbero/-/jobs/65009118
207
+     Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7661>
208
+
209
+2024-10-09 20:37:10 +0300  Jordan Petridis <jordan@centricular.com>
210
+
211
+   * tests/check/elements/lc3.c:
212
+     tests/lc3: Allocate the same size for the buffer and the data
213
+     Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7640>
214
+
215
+2024-05-30 07:34:22 +0000  Weijian Pan <pwjworks@gmail.com>
216
+
217
+   * sys/applemedia/avfdeviceprovider.m:
218
+     avfdeviceprovider: Fix caps leak
219
+     Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7577>
220
+
221
+2024-09-24 17:01:10 +0200  Hugues Fruchet <hugues.fruchet@foss.st.com>
222
+
223
+   * sys/kms/gstkmsallocator.c:
224
+     kmsallocator: fix stride with planar formats
225
+     This fixes a regression introduced by the merge request
226
+     https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3801
227
+     The extrapolated stride was computed but not used, resulting in the same
228
+     stride being applied to all planes.
229
+     Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7571>
230
+
231
+2024-09-19 12:12:53 +0200  Tim-Philipp Müller <tim@centricular.com>
232
+
233
+   * meson.build:
234
+     Back to development after 1.24.8
235
+     Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7549>
236
+
237
 === release 1.24.8 ===
238
 
239
 2024-09-19 12:01:21 +0200  Tim-Philipp Müller <tim@centricular.com>
240
gst-plugins-bad-1.24.8.tar.xz/NEWS -> gst-plugins-bad-1.24.9.tar.xz/NEWS Changed
219
 
1
@@ -2,11 +2,11 @@
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
@@ -2450,8 +2450,6 @@
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
@@ -2461,6 +2459,8 @@
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
@@ -2547,6 +2547,185 @@
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
+
202
+Andoni Morales Alastruey, Arun Raghavan, Benjamin Gaignard, Corentin Damman, Dave Lucia, Edward Hervey, Elliot Chen, eri,
203
+Francisco Javier Velázquez-García, Guillaume Desmottes, He Junyan, Hugues Fruchet, Jakub Adam, James Cowgill, Jan Alexander
204
+Steffens (heftig), Jan Schmidt, Johan Sternerup, Jordan Petridis, L. E. Segovia, Mathieu Duponchelle, Nick Steel, Nicolas
205
+Dufresne, Nirbheek Chauhan, Ognyan Tonchev, Olivier Crête, Peter Stensson, Philippe Normand, Piotr Brzeziński, Sanchayan Maity,
206
+Sebastian Dröge, Shengqi Yu, Stéphane Cerveau, Théo Maillart, Thibault Saunier, Tim-Philipp Müller, Víctor Manuel Jáquez Leal,
207
+Weijian Pan, Xavier Claessens,
208
+
209
+… and many others who have contributed bug reports, translations, sent suggestions or helped testing. Thank you all!
210
+
211
+List of merge requests and issues fixed in 1.24.9
212
+
213
+-   List of Merge Requests applied in 1.24.9
214
+-   List of Issues fixed in 1.24.9
215
+
216
 Schedule for 1.26
217
 
218
 Our next major feature release will be 1.26, and 1.25 will be the unstable development version leading up to the stable 1.26
219
gst-plugins-bad-1.24.8.tar.xz/RELEASE -> gst-plugins-bad-1.24.9.tar.xz/RELEASE Changed
7
 
1
@@ -1,4 +1,4 @@
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
@@ -36081,7 +36081,7 @@
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
@@ -245349,7 +245349,7 @@
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
@@ -732,6 +732,8 @@
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
@@ -1198,19 +1200,22 @@
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
@@ -1597,6 +1602,8 @@
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
@@ -155,7 +155,7 @@
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
@@ -2585,8 +2585,18 @@
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
@@ -25,6 +25,25 @@
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
@@ -26,6 +26,26 @@
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
@@ -1515,6 +1535,7 @@
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
@@ -27,6 +27,26 @@
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
@@ -2179,6 +2199,7 @@
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
@@ -115,6 +115,9 @@
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
@@ -217,9 +220,6 @@
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
@@ -38,7 +38,8 @@
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
224
 
1
@@ -4721,9 +4721,12 @@
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
@@ -4740,8 +4743,11 @@
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
@@ -4749,7 +4755,7 @@
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
@@ -4757,8 +4763,8 @@
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
@@ -4766,7 +4772,7 @@
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
@@ -4774,8 +4780,8 @@
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
@@ -4783,15 +4789,15 @@
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
@@ -4799,15 +4805,15 @@
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
@@ -4824,9 +4830,10 @@
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
@@ -4835,7 +4842,7 @@
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
@@ -4843,9 +4850,10 @@
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
@@ -4854,7 +4862,7 @@
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
@@ -4862,10 +4870,10 @@
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
@@ -4873,7 +4881,7 @@
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
@@ -4881,8 +4889,8 @@
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
@@ -4890,15 +4898,15 @@
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
-      volume);
202
+  PARSE_MESSAGE_FIELD (msg, GST_PLAY_MESSAGE_VOLUME_CHANGED,
203
+      GST_PLAY_MESSAGE_DATA_VOLUME, G_TYPE_DOUBLE, volume);
204
 }
205
 
206
 /**
207
@@ -4906,13 +4914,13 @@
208
  * @msg: A #GstMessage
209
  * @muted: (out) (optional): the resulting audio muted state
210
  *
211
- * Parse the given @msg and extract the corresponding audio muted state
212
+ * Parse the given mute-changed @msg and extract the corresponding audio muted state
213
  *
214
  * Since: 1.20
215
  */
216
 void
217
 gst_play_message_parse_muted_changed (GstMessage * msg, gboolean * muted)
218
 {
219
-  PARSE_MESSAGE_FIELD (msg, GST_PLAY_MESSAGE_DATA_IS_MUTED, G_TYPE_BOOLEAN,
220
-      muted);
221
+  PARSE_MESSAGE_FIELD (msg, GST_PLAY_MESSAGE_MUTE_CHANGED,
222
+      GST_PLAY_MESSAGE_DATA_IS_MUTED, G_TYPE_BOOLEAN, muted);
223
 }
224
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
@@ -409,7 +409,7 @@
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
@@ -25,8 +25,8 @@
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
@@ -69,31 +69,26 @@
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
@@ -36,6 +36,9 @@
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
@@ -83,6 +86,7 @@
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
@@ -37,13 +37,13 @@
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
@@ -35,6 +35,16 @@
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
@@ -506,7 +506,12 @@
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
@@ -2261,10 +2261,24 @@
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
@@ -533,8 +533,8 @@
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
@@ -700,27 +700,31 @@
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
@@ -60,7 +60,7 @@
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
@@ -92,6 +92,7 @@
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
@@ -119,6 +120,7 @@
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
@@ -135,6 +137,7 @@
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
@@ -142,7 +145,6 @@
35
 {
36
 }
37
 
38
-
39
 static double
40
 get_frame_score (GstVideoFrame * f1, GstVideoFrame * f2)
41
 {
42
@@ -259,10 +261,15 @@
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
@@ -1,5 +1,5 @@
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
@@ -398,6 +398,17 @@
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
@@ -6,9 +6,9 @@
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
@@ -6,9 +6,9 @@
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
@@ -115,6 +115,7 @@
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
@@ -1384,6 +1384,10 @@
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
@@ -122,7 +122,7 @@
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
@@ -481,9 +481,10 @@
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
@@ -32,7 +32,7 @@
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
@@ -32,7 +32,7 @@
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
@@ -41,7 +41,7 @@
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
@@ -51,7 +51,7 @@
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
@@ -60,7 +60,7 @@
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
@@ -30,7 +30,7 @@
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
@@ -184,7 +184,6 @@
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
@@ -2325,8 +2325,8 @@
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
@@ -128,6 +128,9 @@
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
@@ -252,7 +252,7 @@
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
@@ -62,18 +62,73 @@
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
Refresh

No build results available

Refresh

No rpmlint results available

Request History
Bjørn Lie's avatar

zaitor created request 5 months ago

Ver bump


Bjørn Lie's avatar

zaitor accepted request 5 months ago

Xin