Newer
Older
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
=== release 1.19.2 ===
2021-09-23 01:32:32 +0100 Tim-Philipp Müller <tim@centricular.com>
* ChangeLog:
* NEWS:
* RELEASE:
* gstreamer.doap:
* meson.build:
Release 1.19.2
2021-06-23 16:41:20 +0300 Sebastian Dröge <sebastian@centricular.com>
* plugins/elements/gstclocksync.c:
clocksync: Add some debug output to the clock waiting code
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/841>
2021-09-20 13:12:12 +0300 Sebastian Dröge <sebastian@centricular.com>
* gst/gstevent.c:
* gst/gstmessage.c:
gst: Initialize optional event/message fields when parsing
These might not exist inside the structure and then we would potentially
keep around uninitialized memory from the caller in the out parameter.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/887>
2021-09-19 21:01:21 +0800 He Junyan <junyan.he@intel.com>
* tests/check/libs/bitwriter.c:
test: bitwriter: Add a test for reset_and_get_data when not byte unaligned.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/886>
2021-09-19 22:39:09 +0800 He Junyan <junyan.he@intel.com>
* libs/gst/base/gstbitwriter.c:
bitwriter: Fix a memory leak in reset_and_get_buffer.
We should record the ownership of the data before we reset the bitwriter.
Or we will always dup the buffer data and leak the memory.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/886>
2021-09-19 00:19:43 +0800 He Junyan <junyan.he@intel.com>
* libs/gst/base/gstbitwriter.c:
bitwriter: Fix the trailing bits lost when getting its data.
In reset_and_get_data and reset_and_get_buffer, it fails to include
the trailing bits less than 8. So, when the bit_size is not byte
aligned, the trailing bits are lost in the return buffer.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/886>
2021-09-10 01:43:18 +0200 Mathieu Duponchelle <mathieu@centricular.com>
* plugins/elements/gstmultiqueue.c:
multiqueue: fix obsolete comment re initial flow status
The initial single queue srcresult is OK, it hasn't been
NOT_LINKED since 2007.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/885>
2021-09-09 20:25:25 +0200 Mathieu Duponchelle <mathieu@centricular.com>
* plugins/elements/gstmultiqueue.c:
multiqueue: never consider a queue that is not waiting
.. when computing the high id.
After a flush for instance, sq->srcresult is reset to OK,
yet it doesn't make sense to pick a non-existing position
id as the high id when a queue doesn't contain any items
in that situation either.
It is in any case completely OK to let the not-linked stream
get consumed without throttling at this stage, as any
first packet arriving on other single queues will get assigned
a higher position id.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/885>
2021-09-09 04:08:22 +0000 Andika Triwidada <andika@gmail.com>
* tools/gst-inspect.c:
add missing space
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/884>
2021-09-06 01:43:57 +1000 Jan Schmidt <jan@centricular.com>
* plugins/elements/gstmultiqueue.c:
multiqueue: Use running time of gap events for wakeups.
Use gap events to update the next_time of a queue the same
as buffers or segment events. Fixes problems where a group
consisting only of sparse streams primarily driven by
gap events would stall with a full multiqueue because
unlinked streams in the group were not being woken to
push data.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/879>
2021-08-27 13:51:07 +1000 Matthew Waters <matthew@centricular.com>
* gst/gstelement.c:
element: NULL the lists of contexts in dispose()
If dispose() is called more than once, we may double unref the list of
GstContext's.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/875>
2021-08-24 14:53:30 +0200 Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>
* gst/gstpad.c:
pad: Keep IDLE probe hook alive during immediate callback
When the probe returns GST_PAD_PROBE_REMOVE and gets called concurrently
from the streaming thread while we're in the callback here, the hook has
already been destroyed by the time we've reacquired the object lock.
Consequently, cleanup_hook gets passed an invalid pointer.
Keep another reference to the hook alive to avoid this situation.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/873>
2021-08-20 16:34:16 +0200 Edward Hervey <edward@centricular.com>
* plugins/elements/gstconcat.c:
concat: Properly propagate seqnum of segment events
Was broken by https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/819
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/871>
2021-01-10 23:37:21 +0100 Théo MAILLART <tmaillart@gmail.com>
* tests/check/gst/gstelementfactory.c:
tests: elementfactory: add element creation tests
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/736>
2021-01-29 20:36:51 +0100 Théo MAILLART <tmaillart@gmail.com>
* gst/gstelementfactory.c:
* gst/gstelementfactory.h:
elementfactory: enable construct only property passing
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/736>
2021-03-31 18:36:00 -0400 Olivier Crête <olivier.crete@collabora.com>
* docs/plugins/gst_plugins_cache.json:
* plugins/tracers/gstfactories.c:
* plugins/tracers/gstfactories.h:
* plugins/tracers/gsttracers.c:
* plugins/tracers/meson.build:
* tools/gst-stats.c:
tracer: Add new tracer to list loaded elements and other features
This new tracer will list loaded elements and plugins. This should
make it easier to generate minimal builds of GStreamer.
This also traces other features such as typefind functions, device
providers and dynamic types.
The format of the output of gst-stats should match the parameters
expected by the meson based gst-build system.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/782>
2021-04-23 15:34:26 -0400 Olivier Crête <olivier.crete@collabora.com>
* gst/gstpluginfeature.c:
* gst/gsttracerutils.c:
* gst/gsttracerutils.h:
tracers: Add tracepoint when a plugin feature it loaded
This makes it possible to trace which ones are loaded in a specific
program to make nice statistics.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/782>
2021-08-18 10:23:38 +0200 Edward Hervey <edward@centricular.com>
* gst/gstpad.c:
* tests/check/gst/gstpad.c:
pad: Ensure last flow return is set on sink pads in push mode
The last flow return field was never updated on sink pads in push mode. This
fixes it and makes it consistent.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/868>
2021-08-13 19:21:41 +0530 Nirbheek Chauhan <nirbheek@centricular.com>
* gst/gstbuffer.c:
gstbuffer: Use g_memdup2 instead of g_memdup
This was added in !826 which was created after !803 (which changes
g_memdup -> g_memdup2), but merged before it, so it slipped through.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/866>
2021-08-10 13:35:14 +0100 Tim-Philipp Müller <tim@centricular.com>
* gst/gstplugin.c:
plugin: load plugins with unknown license strings
We shouldn't fail to load plugins just because we don't
recognise the license string. It's not our job to validate
licenses, and the license list is outdated and ambiguous
anyway.
Also add MPL-2.0 to the list, and fix some defunct license
URLs in the code comments.
Get rid of the hard-coded skip index, doesn't really buy us
much versus just skipping with a few strlens, and is harder
to maintain.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/864>
2021-08-02 14:23:58 +0200 Stéphane Cerveau <scerveau@collabora.com>
* plugins/elements/gstidentity.c:
identity: provide a log to check the buffers
In order to not rely only on app to display the
message from identity, display the message in the logs
too.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/863>
2021-08-01 03:36:31 +0900 Seungha Yang <seungha@centricular.com>
* tests/examples/controller/controller-graph.c:
examples: controller-graph: Fix build with MSVC
To use macros in math.h, one needs to define _USE_MATH_DEFINES
before including the math.h file. Use glib's math define instead.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/862>
2021-05-12 00:54:43 +0900 Seungha Yang <seungha@centricular.com>
* tools/gst-launch.c:
* tools/meson.build:
gst-launch: Enable Windows high-resolution clock
Default timer precision of Windows is dependent on system, but
usually it's known to be about 15ms in worst case.
That's not an enough precision for multimedia application.
Enable high-resolution clock in gst-launch to demonstrate
the usage of Windows high-precision clock for application developers.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/817>
2021-07-23 16:20:20 +0200 Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>
* plugins/elements/gstinputselector.c:
input-selector: Use proper segments when cleaning cached buffers
We need to use the segment associated with the cached buffer, not the
current segment of the pad, otherwise we miscalculate the running time
of cached buffers from before a segment change.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/859>
2021-07-20 09:51:04 +0200 Stéphane Cerveau <scerveau@collabora.com>
* .gitlab/issue_templates/Bug.md:
gitlab: update bug template
Finetune the bug description.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/854>
2021-05-09 11:45:49 +0800 Zhao, Gang <gang.zhao.42@gmail.com>
* gst/gsturi.c:
gsturi: Set GError if uri is invalid
GError should be set if function call failed and the failed reason is
not a programmer error.
Fixed: https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/1380
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/816>
2021-05-09 11:13:48 +0800 Zhao, Gang <gang.zhao.42@gmail.com>
* gst/gsturi.c:
gsturi: Don't treat invalid format of uri as critical error
Normally uri is get from user input and invalid user input should not
be treated as critical error. Moved gst_uri_is_valid outside of
g_return_val_if_fail.
NULL uri is checked inside of gst_uri_is_valid and is correctly
treated as critical error, removed unneeded checks of NULL uri outside
of gst_uri_is_valid function.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/816>
2021-07-20 16:52:12 +0900 Seungha Yang <seungha@centricular.com>
* gst/gstsystemclock.c:
systemclock: Restore default clock mode to monotonic for non-linux system
Before the MR https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/829
Windows and macOS system clock used monotonic clock regardless of
selected clock mode. And because of clock resolution, we should prefer
monotonic over realtime unless realtime clock is selected explicitly.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/855>
2021-07-07 20:11:13 +0900 Seungha Yang <seungha@centricular.com>
* libs/gst/base/gstbasesink.c:
basesink: Don't swap rstart/rstop when stepping
Step handling is implemented based on unmodified start/stop
segment running time, and basesink takes rate into account for
stepping. This commit is partially undoing new behavior introduced by
the commit of 39b9cc554c960fec8d41f8394c41390883cadeed when stepping.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/848>
2021-07-19 20:04:16 +0530 Nirbheek Chauhan <nirbheek@centricular.com>
* libs/gst/net/gstptpclock.c:
gstptpclock: Don't leak the GList
120 bytes in 5 blocks are definitely lost in loss record 7,615 of 9,510
at 0x484486F: malloc (vg_replace_malloc.c:380)
by 0x58A2938: g_malloc (gmem.c:106)
by 0x58BA1F4: g_slice_alloc (gslice.c:1069)
by 0x588F059: g_list_prepend (glist.c:335)
by 0x5B9C5C0: select_best_master_clock (gstptpclock.c:756)
by 0x5B9CA8E: cleanup_cb (gstptpclock.c:1930)
by 0x589AD20: g_timeout_dispatch (gmain.c:4889)
by 0x589A4CE: UnknownInlinedFun (gmain.c:3337)
by 0x589A4CE: g_main_context_dispatch (gmain.c:4055)
by 0x58EE4E7: g_main_context_iterate.constprop.0 (gmain.c:4131)
by 0x5899A92: g_main_loop_run (gmain.c:4329)
by 0x5B9BA4C: ptp_helper_main (gstptpclock.c:1980)
by 0x58C8C31: g_thread_proxy (gthread.c:826)
576 bytes in 24 blocks are definitely lost in loss record 8,782 of 9,510
at 0x484486F: malloc (vg_replace_malloc.c:380)
by 0x58A2938: g_malloc (gmem.c:106)
by 0x58BA1F4: g_slice_alloc (gslice.c:1069)
by 0x588F059: g_list_prepend (glist.c:335)
by 0x5B9C5C0: select_best_master_clock (gstptpclock.c:756)
by 0x5B9EFA0: handle_announce_message (gstptpclock.c:934)
by 0x5B9EFA0: handle_ptp_message (gstptpclock.c:1765)
by 0x5B9EFA0: have_stdin_data_cb (gstptpclock.c:1851)
by 0x589A4CE: UnknownInlinedFun (gmain.c:3337)
by 0x589A4CE: g_main_context_dispatch (gmain.c:4055)
by 0x58EE4E7: g_main_context_iterate.constprop.0 (gmain.c:4131)
by 0x5899A92: g_main_loop_run (gmain.c:4329)
by 0x5B9BA4C: ptp_helper_main (gstptpclock.c:1980)
by 0x58C8C31: g_thread_proxy (gthread.c:826)
by 0x5DA4298: start_thread (pthread_create.c:481)
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/852>
2021-07-06 13:04:04 +0530 Nirbheek Chauhan <nirbheek@centricular.com>
* gst/gstpad.c:
gstpad: Don't spam INFO when default-chaining a buffer list
This is being logged for each buffer, so it should not use INFO.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/853>
2021-06-15 10:23:33 +0200 Stéphane Cerveau <scerveau@collabora.com>
* .gitlab/issue_templates/Bug.md:
gitlab: add bug template
To clarify what is expected in an issue description and avoid
issue which is just an usage issue, add a bug template in gitlab.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/836>
2021-07-08 11:48:58 +0200 Kasper Steensig Jensen <kasper.steensig@gmail.com>
* meson_options.txt:
Add meson description for tracer_hooks
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/849>
2020-05-28 08:06:59 +0200 Edward Hervey <edward@centricular.com>
* gst/gstinfo.c:
gstinfo: Improve usage of libdw for backtraces
When getting backtraces, we were always creating a new Dwfl context and then
discarding it. The problem with that is that it resulted in having to re-scan a
lot of information for every single backtrace.
In order to fix that issue, use a global on-demand Dwfl context and use it with
a lock.
Furthermore, we were scanning the mappings of the
process (dwfl_linux_proc_report) for *every single step* in the backtrace, and
that function is horrendously expensive (does sscanf on /proc/PID/maps
...). While there is a possibility that new mappings might be available (new
plugins being loaded for example), we can limit ourselves to just do it once per
backtrace.
These two modifications speed up the elements_leaks unit test (which traces all
pads with full backtraces) by a factor of 6.
Partially fixes #567
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/504>
2021-07-02 01:59:18 +1000 Jan Schmidt <jan@centricular.com>
* gst/parse/grammar.y.in:
parse: Fix a critical when using the : operator.
Fix "has no handler with id" output criticals when the :
multilink operator is used. These were caused by disconnecting
a signal handler multiple times.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/846>
2021-06-24 11:28:28 +0300 Sebastian Dröge <sebastian@centricular.com>
* libs/gst/base/gstbasesink.c:
* tests/check/gst/gstbin.c:
* tests/check/pipelines/cleanup.c:
* tests/check/pipelines/simple-launch-lines.c:
basesink: Post a latency message whenever we're ready to answer the query
Usually the latency message is only posted whenever latency of an
element changes but that might be too early as the sinks might not be
able to query the latency at that point yet.
Similarly adding a new sink should cause latency reconfiguration once
that new sink is able to report its latency.
This fixes latency configuration in pipelines where webrtcbin is the
only "sink", i.e. it is used in a sendonly session. Before, the latency
would always be configured to 0.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/843>
2021-06-24 10:00:28 +0300 Sebastian Dröge <sebastian@centricular.com>
* libs/gst/base/gstbasesrc.c:
basesrc: Print segments with GST_SEGMENT_FORMAT and not GST_PTR_FORMAT
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/842>
2021-06-22 13:02:41 +0200 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
* gst/gstpreset.c:
* gst/gstregistry.c:
Fix GI annotations.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/840>
2021-06-15 08:10:16 +0000 Corentin Damman <c.damman@intopix.com>
* COPYING:
Update COPYING to LGPL 2.1
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/835>
2021-06-09 02:35:00 +1000 Jan Schmidt <jan@centricular.com>
* gst/parse/grammar.y.in:
parse: Don't do delayed property setting for top-level properties.
If a property is supplied to gst-launch-1.0 to set on a property that
implements GstChildProxy, it would always accept any property name
and try to set it later. This means that (for example) decodebin
will accept and not complain about property names that can never exist like:
gst-launch-1.0 videotestsrc ! decodebin NON-EXISTING_PROPERTY=adsfdasf ! fakesink
Instead, only try to do deferred property setting for property names
that contain the :: separator that indicates it's a setting on a child
that might appear later.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/832>
2021-06-16 11:59:20 +0200 François Laignel <fengalin@free.fr>
* gst/gstclock.c:
* gst/gstcontrolbinding.c:
* gst/gstcontrolsource.c:
* gst/gstelement.c:
* gst/gstevent.c:
* gst/gstmessage.c:
* libs/gst/base/gstbaseparse.c:
* libs/gst/base/gstbasesink.c:
* libs/gst/base/gstbasetransform.c:
* libs/gst/check/gstharness.c:
Check mandatory ClockTime arguments
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/837>
2021-04-23 12:12:58 -0400 Doug Nazar <nazard@nazar.ca>
* gst/glib-compat-private.h:
* gst/gstregistrychunks.c:
* libs/gst/base/gstbitwriter.c:
* libs/gst/base/gstbytereader.c:
* libs/gst/base/gstbytereader.h:
* libs/gst/base/gstbytewriter.c:
* libs/gst/base/gstindex.c:
* tests/check/libs/bitwriter.c:
* tests/check/libs/bytereader.c:
* tests/check/libs/bytewriter.c:
Use g_memdup2() where available and add fallback for older GLib versions
glib 2.68 deprecates g_memdup(). Replace with g_memdup2() and
add fallback if compiling against older versions, since we
want to avoid deprecation warnings.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/803>
2021-06-07 09:29:58 +0000 Alba Mendez <me@alba.sh>
* libs/gst/base/gstbasetransform.h:
introspection: annotate ownership in more vfuncs
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/831>
2021-06-03 23:46:06 +0000 Alba Mendez <me@alba.sh>
* gst/gstbin.h:
introspection: annotate handle_message ownership
(fixup/improvement to !747) Correct the ownership
annotation for `message` in the `handle_message` vfunc,
and remove the equivalent phrase elsewhere (following
rules of !747.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/830>
2021-05-25 13:26:11 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.com>
* plugins/tracers/gstleaks.c:
tracers: leaks: log when tracer is exiting
Useful when debugging leaks to make sure that the tracer is properly
finalized (gst_deinit() being actually called, etc).
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/828>
2021-06-01 15:28:13 +0100 Tim-Philipp Müller <tim@centricular.com>
* meson.build:
Back to development
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
=== release 1.19.1 ===
2021-06-01 00:07:53 +0100 Tim-Philipp Müller <tim@centricular.com>
* ChangeLog:
* NEWS:
* README:
* RELEASE:
* gstreamer.doap:
* meson.build:
Release 1.19.1
2021-05-27 16:01:17 -0500 tyler-aicradle <tyler@safex.ai>
* gst/gstsystemclock.c:
systemclock: fall back to g_get_monotonic_time
This allows us to cover the case where we're on some unknown system that
doesn't have a known native precision monotonic time source. Sadly this
reintroduces some of the complexity removed in previous commits.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/829>
2021-05-27 09:44:29 -0500 tyler-aicradle <tyler@safex.ai>
* gst/gstsystemclock.c:
systemclock: reorg real and mono time functions for macOS and win32
This simplifies the pre-processor checks a little to make it easier to
follow the code.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/829>
2021-05-26 14:55:55 -0500 tyler-aicradle <tyler@safex.ai>
* gst/gstsystemclock.c:
systemclock: Use g_get_real_time on Windows and macOS for realtime clock
These targets previously were unable to produce wall clock times when
using GstSystemClock, this change makes it possible.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/829>
2021-05-26 12:55:42 -0500 tyler-aicradle <tyler@safex.ai>
* gst/gstsystemclock.c:
systemclock: Reorganize defined checks for parts of GstSystemClock
The gst_system_clock_get_internal_time and
gst_system_clock_get_resolution functions had some nested defined checks
making this code somewhat harder to reason about and much harder to
change. The logical meaning of the checks has changed but the actual
code coming out of the pre-processor should not have changed
significantly. The main logical change was flattening the checks for
existence of posix timing functionality, from what I can tell these
functions aren't available on Windows where they were trying to be
included. I have checked the Linux and macOS output and they are
functionally unchanged.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/829>
2021-05-24 18:27:08 +0100 Tim-Philipp Müller <tim@centricular.com>
* gst/gstbuffer.c:
* gst/gstbuffer.h:
* tests/check/gst/gstbuffer.c:
buffer: rename new gst_buffer_new_copy() to gst_buffer_new_memdup()
https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/826
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/827>
2021-05-22 19:32:55 +0100 Tim-Philipp Müller <tim@centricular.com>
* gst/gstbuffer.c:
* gst/gstbuffer.h:
* tests/check/gst/gstbuffer.c:
buffer: add gst_buffer_new_copy() convenience function
More convenient and discoverable variant of the fairly widely-used
gst_buffer_new_wrapped(g_memdup(data,size),size).
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/826>
2021-05-16 02:10:55 +0100 Tim-Philipp Müller <tim@centricular.com>
* docs/random/API:
* docs/random/LICENSE:
* docs/random/TODO-pre-0.9:
* docs/random/autoplug1:
* docs/random/autoplug2:
* docs/random/bbb/streamselection:
* docs/random/bbb/subtitles:
* docs/random/buffers:
* docs/random/caps:
* docs/random/caps.dia:
* docs/random/caps2:
* docs/random/classes.dia:
* docs/random/ds/0.9-planning:
* docs/random/ds/buffer_locking:
* docs/random/ds/bufferpools:
* docs/random/ds/categories:
* docs/random/ds/element-checklist:
* docs/random/ds/registry:
* docs/random/ds/roadmap:
* docs/random/ensonic/audiobaseclasses.txt:
* docs/random/ensonic/dparams.txt:
* docs/random/ensonic/draft-registry-change-hooks.txt:
* docs/random/ensonic/dynlink.txt:
* docs/random/ensonic/interfaces.txt:
* docs/random/ensonic/lazycaps.txt:
* docs/random/ensonic/logging.txt:
* docs/random/ensonic/media-device-daemon.txt:
* docs/random/ensonic/plugindocs.txt:
* docs/random/ensonic/receipies.txt:
* docs/random/eos:
* docs/random/error:
* docs/random/example:
* docs/random/hierarchy:
* docs/random/interfaces:
* docs/random/metadata:
* docs/random/mutability:
* docs/random/negotiation:
* docs/random/omega/EOS/chain-walkthrough:
* docs/random/omega/IDEAS:
* docs/random/omega/TODO-0.1.0:
* docs/random/omega/TYPE_FOURCC:
* docs/random/omega/build/TODO:
* docs/random/omega/caps2:
* docs/random/omega/caps3:
* docs/random/omega/debug-commit:
* docs/random/omega/eos.old:
* docs/random/omega/filterfactory:
* docs/random/omega/output_policies:
* docs/random/omega/pad-negotiation:
* docs/random/omega/padtemplates:
* docs/random/omega/plan-generation:
* docs/random/omega/sched-case:
* docs/random/omega/sched-commit1:
* docs/random/omega/sched/chains:
* docs/random/omega/sched/walkthrough-72:
* docs/random/omega/sched2:
* docs/random/omega/scheduling:
* docs/random/omega/testing/Makefile:
* docs/random/omega/testing/framework:
* docs/random/omega/testing/gstobject.c:
* docs/random/omega/testing/gstobject.txt:
* docs/random/omega/type-properties:
* docs/random/phonon-gst:
* docs/random/plugins:
* docs/random/plugins.dia:
* docs/random/porting-to-0.11.txt:
* docs/random/queue:
* docs/random/richardb/syncmail:
* docs/random/rtp:
* docs/random/signal:
* docs/random/sources:
* docs/random/status-0.11-14-jun-2011.txt:
* docs/random/styleguide:
* docs/random/testing/syntax:
* docs/random/thaytan/opengl:
* docs/random/thaytan/video-overlays:
* docs/random/thomasvs/0.10:
* docs/random/thomasvs/0.4.0:
* docs/random/thomasvs/TODO:
* docs/random/thomasvs/docreview:
* docs/random/thomasvs/features:
* docs/random/thomasvs/guadec-4:
* docs/random/thomasvs/pthread:
* docs/random/thomasvs/pwg:
* docs/random/thomasvs/registry:
* docs/random/types:
* docs/random/types2:
* docs/random/types3:
* docs/random/use-cases-0.11.txt:
* docs/random/usecases:
* docs/random/vis-transform:
* docs/random/wingo/porting-plugins-to-0.9:
* docs/random/wingo/threadsafe-properties:
* docs/random/wingo/without-factories:
* docs/random/zaheerm/dvb-interface.txt:
docs: random: clean up outdated documents
Most of these are only of historical interest, and for that it's
fine if they're maintained in the git history. They're confusing
for anyone stumbling across them expecting documentation relating
to current versions of GStreamer.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/824>
2021-05-11 21:16:01 +0200 Mathieu Duponchelle <mathieu@centricular.com>
* plugins/elements/gstconcat.c:
concat: adjust running time offsets on events
When concat adjusts the base of the segments it forwards
downstream, it needs to also adjust the running time offsets,
as GstPad does when an offset is set by the application on a pad.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/819>
2021-05-05 15:45:40 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
* libs/gst/base/gstaggregator.c:
* libs/gst/base/gstbaseparse.c:
* libs/gst/base/gstbaseparse.h:
* libs/gst/base/gstbasesink.c:
* libs/gst/base/gstbasesink.h:
* libs/gst/base/gstbasesrc.c:
* libs/gst/base/gstbasesrc.h:
* libs/gst/base/gstbasetransform.c:
doc: base: Fix reference to virtual function
The hotdoc syntax is #ClassName::function, but the code was using
without anything before.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/808>
2021-05-06 13:03:15 -0400 Doug Nazar <nazard@nazar.ca>
* libs/gst/check/gstcheck.c:
* libs/gst/check/libcheck/check.c:
* libs/gst/check/libcheck/check_run.c:
* libs/gst/check/libcheck/meson.build:
gstcheck: Ensure unused threadpool threads are stopped
Ensures that all unused threads are exited before the atexit()
handlers run.
This prevents a race with any thread that used the OpenSSL library
between it's thread cleanup routine and it's atexit() cleanup routine
which can cause a SIGSEGV.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/812>
2021-05-11 19:02:28 +0200 Mathieu Duponchelle <mathieu@centricular.com>
* plugins/elements/gstconcat.c:
concat: fix locking in SEGMENT event handler
concat->current_start_offset needs the lock taken for safe access,
as it can be accessed from outside of the streaming thread, eg
in release_pad.
An early break is also added for an error case.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/818>
2021-05-06 23:02:35 -0400 Doug Nazar <nazard@nazar.ca>
* plugins/elements/gstsparsefile.c:
sparsefile: Fix sparsefile on Win32
When switching between read/write a fseek() or fflush() is required.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/814>
2021-05-06 23:00:57 -0400 Doug Nazar <nazard@nazar.ca>
* plugins/elements/gstdownloadbuffer.c:
downloadbuffer: close file before trying to remove
On Windows, the file handles must be closed before you can delete a file.
Also, it would cause an error if you try to close an already closed handle.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/814>
2021-05-06 23:00:07 -0400 Doug Nazar <nazard@nazar.ca>
* plugins/elements/gstdownloadbuffer.c:
downloadbuffer: return flow error on read error
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/814>
2021-05-06 22:20:57 +0300 Nikolay Sivov <nsivov@codeweavers.com>
* gst/gstutils.c:
gstutils: Fix typo in the comment.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/813>
2021-05-06 12:54:46 +0200 Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>
* plugins/elements/gstmultiqueue.c:
multiqueue: Ensure peer pad exists when iterating internal links
The pads can be NULL when we're racing with pad removal, e.g. when the
pads get removed between `gst_pad_iterate_internal_links` acquiring the
parent element and `gst_multi_queue_iterate_internal_links` locking the
multiqueue.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/810>
2021-04-02 19:48:26 -0400 Chris White <cxwembedded@gmail.com>
* gst/gstchildproxy.c:
gst_child_proxy_get_property: accept G_VALUE_INIT
gst_child_proxy_get_property() can now take a value initialized to
G_VALUE_INIT. This parallels the corresponding change in
g_object_get_property(), GLib 2.60+.
https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/724#note_738531
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/809>
2021-04-22 17:53:44 +0200 François Laignel <fengalin@free.fr>
* gst/gstelement.c:
* gst/gstelement.h:
* gst/gstpadtemplate.c:
* gst/gstutils.c:
* libs/gst/check/gstcheck.c:
* libs/gst/check/gstharness.c:
* tests/check/elements/concat.c:
* tests/check/elements/funnel.c:
* tests/check/elements/multiqueue.c:
* tests/check/elements/selector.c:
* tests/check/elements/tee.c:
* tests/check/gst/gstelement.c:
* tests/check/gst/gstutils.c:
* tests/check/libs/aggregator.c:
* tests/check/libs/collectpads.c:
* tests/examples/streamiddemux/streamiddemux-stream.c:
Introduce gst_element_request_pad_simple
The name `gst_element_get_request_pad()` is confusing to people
learning GStreamer. `gst_element_request_pad_simple()` aims at
providing the exact same functionality, while making it more
explicit it is a simplified `gst_element_request_pad()`.
`gst_element_request_pad_simple()` is consistent with other
functions such as `gst_element_seek_simple`.
This commit deprecates `gst_element_get_request_pad()` so that a
compilation warning is emitted when used and incite developers
to use the more explicit `gst_element_request_pad_simple()`.
See also https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/743#note_886586
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/802>
2021-04-20 23:54:52 -0400 Doug Nazar <nazard@nazar.ca>
* libs/gst/check/gstharness.c:
harness: Fix object used to log caps warning.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/801>
2021-04-16 11:14:31 +0200 Miguel Paris <mparisdiaz@gmail.com>
* gst/gstpad.c:
pad: clear probes holding mutex
Protect clearing probes against concurrent modification which might happen
due to dispose does NOT guarantee that the object is not used anymore, as
it could be referenced again and so being continued used.
So, as in the rest of places where probes hook list is used, on dispose
it should be accessed holding the mutex "GST_OBJECT_LOCK (pad);" as
GHookList is not thread-safe.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/798>
2021-04-16 11:36:33 +0200 Edward Hervey <edward@centricular.com>
* plugins/elements/gstqueue2.c:
queue2: Refuse all serialized queries when posting buffering messages
When posting buffering messages there are no safe places or timing to avoid
deadlocks.
Previously the code was trying to be "smart" by only forwarding serialized
queries if the queue was empty ... but that could happen when queue2 hadn't yet
posted a 100% buffering message. Meaning the pipeline might be paused and
pushing a serialized query downstream might never complete.
Therefore let's completely disable forwarding of serialized queries when
`queue2` is used as a buffering element (meaning `ALLOCATION` and `DRAIN`
queries).
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/796>
2021-04-11 08:23:27 -0400 Doug Nazar <nazard@nazar.ca>
* tests/check/gst/gstpad.c:
tests: Remove invalid buffer test in test_get_allowed_caps.
Passing a non-GObject pointer causes SIGSEGV on certain architectures.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/790>
2021-04-11 10:24:01 -0400 Doug Nazar <nazard@nazar.ca>
* plugins/tracers/gstleaks.c:
leaks: Fix SIGSEGV detecting object type.
G_IS_OBJECT & GST_IS_OBJECT work by following pointers which is unsafe
on certain architectures. GstMiniObject detection however does a lookup
to see if it's a valid type derived from G_TYPE_BOXED.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/791>
2021-04-10 10:46:28 -0400 Chris White <cxwembedded@gmail.com>
* gst/gstallocator.c:
* gst/gstallocator.h:
allocator: add gst_allocation_params_new()
This permits creating GstAllocationParams instances on the heap, which
is useful for language bindings that can handle GBoxed types.
https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/683
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/788>
2021-04-07 04:46:23 -0400 Doug Nazar <nazard@nazar.ca>
* plugins/elements/gstclocksync.c:
clocksync: Fix providing system clock by default
clocksync defaults to sync=true so should advertise it by default.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/786>
2020-10-10 19:09:03 +0000 Jose Quaresma <quaresma.jose@gmail.com>
* gst/gstpluginloader.c:
gstpluginloader: when env var is set do not fall through to system plugin scanner
If we set a custom GST_PLUGIN_SCANNER env var, then we probably want to use that and only that.
Falling through to the one installed on the system is problamatic in cross-compilation
environemnts, regardless of whether one pointed to by the env var succeeded or failed.
taken from:
http://cgit.openembedded.org/openembedded-core/commit/meta/recipes-multimedia/gstreamer/gstreamer1.0/0001-gst-gstpluginloader.c-when-env-var-is-set-do-not-fal.patch?id=0db7ba34ca41b107042306d13a6f0162885c123b
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/669>
2021-03-19 13:46:13 +0100 Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>
* tools/gst-inspect-1.0.1:
* tools/gst-inspect.c:
gst-inspect: Allow overriding DEFAULT_LESS_OPTS with GST_LESS
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/777>
2021-04-06 20:56:55 +0300 Sebastian Dröge <sebastian@centricular.com>
* libs/gst/base/gstaggregator.c:
* tests/check/libs/aggregator.c:
aggregator: Release pads' peeked buffer when removing the pad or finalizing it
The peeked buffer was always reset after calling ::aggregate() but under
no other circumstances. If a pad was removed after peeking and before
::aggregate() returned then the peeked buffer would be leaked.
This can easily happen if pads are removed from the aggregator from a
pad probe downstream of the source pad but still in the source pad's
streaming thread.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/784>
2021-03-30 20:24:07 -0400 Chris White <cxwembedded@gmail.com>
* gst/gstcapsfeatures.c:
* gst/gstcapsfeatures.h:
caps: Add gst_caps_features_new_single()
For use with a single feature now that gst_caps_features_new() is
G_GNUC_NULL_TERMINATED.
https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/774#note_855357
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/774>
2021-03-27 17:10:06 -0400 Chris White <cxwembedded@gmail.com>
* gst/gsttypefind.c:
* gst/gsttypefind.h:
typefind: add gst_type_find_suggest_empty_simple()
For cases where you only need a media type and no other fields.
https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/774#note_848664
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/774>
2021-03-18 19:06:20 -0400 Chris White <cxwembedded@gmail.com>
* gst/gstcapsfeatures.h:
* gst/gstelement.c:
* gst/gstelement.h:
* gst/gsttaglist.h:
* gst/gsttracerrecord.c:
* gst/gsttracerrecord.h:
* gst/gsttypefind.h:
* libs/gst/check/gstharness.h:
gst: Add missing G_GNUC_NULL_TERMINATED markers
Functions that require NULL as their last vararg are marked so the
compiler can warn on missing NULL.
Also, document the NULL terminator for gst_make_element_message_details()
and gst_tracer_record_new().
https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/669
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/774>
2021-03-31 21:13:45 +0200 Pieter Willem Jordaan <pieterwjordaanpc@gmail.com>
* gst/gstsystemclock.c:
systemclock: Fix deadlock on clock_nanosleep
Always use the monotonic clock's diff and end time for clock_nanosleep to have predictable behaviour even with other clock types.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/779>
2021-03-26 21:00:54 +0000 Jason Carrete <jasoncarrete5@gmail.com>
* tools/gst-launch-1.0.1:
Update gst-launch-1.0.1
Fixed a small typo in the gst-launch-1.0 man page
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/780>
2021-03-19 10:33:13 +0200 Sebastian Dröge <sebastian@centricular.com>
* gst/gstbin.c:
bin: Don't special-case G_SIGNAL_RUN_CLEANUP stage in latency signal accumulator
This signal don't run the class handler in the CLEANUP stage.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/776>
2019-08-11 19:13:57 -0400 Aaron Boxer <aaron.boxer@collabora.com>
* gst/gst.c:
* tests/check/gst/gst.c:
gst: enforce gst_deinit one call per process
unit tests do not need to call deinit as it is already called in exit handler
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/236>
2019-08-11 14:20:42 -0400 Aaron Boxer <aaron.boxer@collabora.com>
* gst/gst.c:
gst: disable indent for parse_goption_arg
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/236>
2021-03-17 16:39:30 +0100 Stéphane Cerveau <scerveau@collabora.com>
* gst/gstdeviceprovider.h:
device provider: add custom register macro
This macro allows to register a device provider with
a custom function which gives more flexibility when
registering it (see v4l2 register).
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/773>
2021-03-18 14:46:15 +1100 Matthew Waters <matthew@centricular.com>
* gst/gstatomicqueue.c:
* gst/gstbuffer.c:
* gst/gstchildproxy.c:
* gst/gstdeviceprovider.c:
* gst/gstelement.c:
* gst/gstinfo.c:
* gst/gstparamspecs.c:
* gst/gstpluginloader.c:
* gst/gstpoll.c:
* gst/gstpreset.c:
* gst/gstpromise.c:
* gst/gstprotection.c:
* gst/gsttask.c:
* gst/gsturi.c:
* gst/gstvalue.c:
* libs/gst/base/gstaggregator.c:
* libs/gst/base/gstbaseparse.c:
* libs/gst/base/gstbasesink.c:
* libs/gst/base/gstbasesrc.c:
* libs/gst/base/gstbasetransform.c:
* libs/gst/base/gstflowcombiner.c:
* libs/gst/check/gstconsistencychecker.c:
* libs/gst/check/gstharness.c:
* libs/gst/controller/gsttimedvaluecontrolsource.c:
* libs/gst/net/gstnetaddressmeta.c:
* libs/gst/net/gstnetcontrolmessagemeta.c:
* plugins/elements/gstmultiqueue.c:
* plugins/elements/gstqueue2.h:
* plugins/elements/gstvalve.h:
* tests/check/gst/gstcontroller.c:
* tests/check/gst/gstmeta.c:
* tests/check/gst/gstminiobject.c:
* tests/check/gst/gstobject.c:
* tests/check/gst/gstpreset.c:
* tests/check/gst/gstprotection.c:
* tests/check/gst/gstvalue.c:
* tests/check/libs/controller.c:
* tests/examples/controller/control-sources.c:
gst: don't use volatile to mean atomic
volatile is not sufficient to provide atomic guarantees and real atomics
should be used instead. GCC 11 has started warning about using volatile
with atomic operations.
https://gitlab.gnome.org/GNOME/glib/-/merge_requests/1719
Discovered in https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/issues/868
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/775>