-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathChangeLog
More file actions
3126 lines (2457 loc) · 136 KB
/
ChangeLog
File metadata and controls
3126 lines (2457 loc) · 136 KB
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
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.24.6 ===
2024-07-29 16:41:37 +0100 Tim-Philipp Müller <tim@centricular.com>
* NEWS:
* RELEASE:
* gstreamer.doap:
* meson.build:
Release 1.24.6
2024-07-03 09:05:06 +0200 Guillaume Desmottes <guillaume.desmottes@onestream.live>
* plugins/elements/gstdownloadbuffer.c:
downloadbuffer: send EOS in push mode
gst_download_buffer_read_buffer() returns FLOW_EOS but it was not
handled in the 'out_flushing' goto block which uses srcresult,
so EOS was not sent downstream.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7140>
2024-07-03 09:16:47 +0200 Guillaume Desmottes <guillaume.desmottes@onestream.live>
* plugins/elements/gstdownloadbuffer.c:
downloadbuffer: initialize upstream_size when activated in push mode
Push mode flow relies on upstream_size but it was not initialized when
activated as it is when activated in pull mode.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7140>
2024-07-03 09:13:27 +0200 Guillaume Desmottes <guillaume.desmottes@onestream.live>
* plugins/elements/gstdownloadbuffer.c:
downloadbuffer: init upstream_size to -1
Code in check_upstream_size() is checking for -1 to check if
upstream_size has been set or not.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7140>
2024-07-03 09:03:59 +0200 Guillaume Desmottes <guillaume.desmottes@onestream.live>
* plugins/elements/gstdownloadbuffer.c:
downloadbuffer: properly log when receiving events
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7140>
2024-07-02 15:56:12 +0100 Tim-Philipp Müller <tim@centricular.com>
* gst/gstinfo.c:
info: remove unused valgrind header include
Follow-up to commit a2cbf75523cdf8a4df1baa7007d86ef455972245.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7129>
2024-07-01 09:24:28 +0200 Edward Hervey <edward@centricular.com>
* tests/validate/gst-tester.c:
gstreamer/gst-tester: Don't leak thread
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7123>
2024-06-29 17:12:12 +0200 Edward Hervey <edward@centricular.com>
* tools/gst-inspect.c:
gst-inspect: Fix leak of plugin/feature
Reordering changes the initial list head
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7123>
2024-06-20 15:13:27 +0300 Sebastian Dröge <sebastian@centricular.com>
* plugins/elements/gstmultiqueue.c:
* plugins/elements/gstqueue.c:
* plugins/elements/gstqueue2.c:
queue, queue2, multiqueue: Timestamps of gap events must be valid
This is checked in gst_event_new_gap() so doesn't have to be checked again here,
but simply can be asserted with a g_return_if_fail().
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7075>
2024-06-20 15:10:07 +0300 Sebastian Dröge <sebastian@centricular.com>
* plugins/elements/gstmultiqueue.c:
* plugins/elements/gstqueue.c:
* plugins/elements/gstqueue2.c:
queue: queue2: multiqueue: Don't work with segment.position if buffers have no timestamps
If the first buffers have no timestamp then the sink position would be
initialized to 0. The source pad might output this buffer, which would then
initialize the source position to 0 too.
Afterwards two buffers with a valid but huge timestamp might arrive before any
of them are output on the source pad. The first one would set the sink position
to a huge value, the second one would notice that the difference between the
huge value and 0 is certainly larger than max-size-time and consider the queue
as full.
Instead, simply don't update the times from buffers without timestamps and
assume whatever was set before is still valid, i.e. the buffer has the same
timestamp as the previous one.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7075>
2024-06-20 13:02:19 +0100 Tim-Philipp Müller <tim@centricular.com>
* meson.build:
Back to development after 1.24.5
=== release 1.24.5 ===
2024-06-20 12:54:15 +0100 Tim-Philipp Müller <tim@centricular.com>
* NEWS:
* RELEASE:
* gstreamer.doap:
* meson.build:
Release 1.24.5
2024-06-05 10:38:57 +0200 Edward Hervey <edward@centricular.com>
* gst/gstpromise.c:
* tests/check/gst/gstpromise.c:
gstpromise: Don't use g_return_* for internal checks
If assertion/checks are disabled bad things will happen and the function won't
return as expected
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6998>
2024-05-30 12:08:57 +0200 Martin Nordholts <martn@axis.com>
* gst/gstinfo.c:
gst_debug: Add missing gst_debug_log_id_literal() dummy with gst_debug=false
E.g. gst_debug_log_literal() already has a dummy variant.
gst_debug_log_id_literal() is simply missing, which can
cause link errors for project using gstreamer with
gst_debug=false.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6979>
2024-05-30 01:07:30 +0200 Samuel Thibault <samuel.thibault@ens-lyon.org>
* libs/gst/helpers/ptp/clock.rs:
* libs/gst/helpers/ptp/ffi.rs:
* libs/gst/helpers/ptp/meson.build:
* libs/gst/helpers/ptp/net.rs:
ptp-helper: Add GNU/Hurd support
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6974>
2024-05-29 13:51:27 +0300 Tim-Philipp Müller <tim@centricular.com>
* meson.build:
Back to development after 1.24.4
=== release 1.24.4 ===
2024-05-29 13:44:50 +0300 Tim-Philipp Müller <tim@centricular.com>
* NEWS:
* RELEASE:
* gstreamer.doap:
* meson.build:
Release 1.24.4
2024-05-28 13:17:39 +0300 Sebastian Dröge <sebastian@centricular.com>
* gst/parse/grammar.y.in:
gstreamer: parse: Don't assume that child proxy child objects are GstObjects
The name is already passed via the signal parameters so it doesn't have
to be retrieved again via GstObject API, which would crash on other
GObjects. Child proxy child objects can be any kind of GObject and the
code here otherwise handles this correctly already.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6951>
2024-05-28 09:06:57 +0300 Sebastian Dröge <sebastian@centricular.com>
* libs/gst/helpers/ptp/ffi.rs:
gstreamer: ptp-helper: Use u64 instead of c_ulong for ifa_flags on Solaris/Illumos
See https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3553#note_2429400
Patch by Marcel Telka <marcel@telka.sk>.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6950>
2024-05-26 12:33:02 +0300 Sebastian Dröge <sebastian@centricular.com>
* libs/gst/helpers/ptp/ffi.rs:
gstreamer: ptp-helper: Use `if_nametoindex` and `setsockopt` on Solaris / Illumos too
Patch by Marcel Telka <marcel@telka.sk>.
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3552
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6947>
2024-05-26 12:31:33 +0300 Sebastian Dröge <sebastian@centricular.com>
* libs/gst/helpers/ptp/net.rs:
gstreamer: ptp-helper: Don't import `Context` trait multiple times unnecessarily
This only affected the Solaris / Illumos code path.
Patch by Marcel Telka <marcel@telka.sk>.
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3551
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6947>
2024-05-26 12:27:54 +0300 Sebastian Dröge <sebastian@centricular.com>
* libs/gst/helpers/ptp/ffi.rs:
* libs/gst/helpers/ptp/net.rs:
gstreamer: ptp-helper: Use `c_ulong` for `ifa_flags` on Solaris/Illumos
Based on a patch by Marcel Telka <marcel@telka.sk>.
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3553
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6947>
2024-05-26 12:24:33 +0300 Sebastian Dröge <sebastian@centricular.com>
* gst/meson.build:
* libs/gst/net/meson.build:
* meson.build:
* tests/check/meson.build:
* tests/misc/meson.build:
gstreamer: Solaris/Illumos require linking to libnsl / libsocket for various socket APIs
Patch by Tim Mooney <Tim.Mooney@ndsu.edu> from OpenIndiana/oi-userland
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6947>
2024-05-17 11:03:51 +0300 Sebastian Dröge <sebastian@centricular.com>
* gst/gstclock.h:
clock: Fix 32 bit assertions in GST_TIME_TO_TIMEVAL and GST_TIME_TO_TIMESPEC
On various 32 bit systems, time_t is actually 64 bits while long is
still only 32 bits. The macro would wrongly trigger its assertion in
this case if a value with more than 68 years worth of seconds is
converted.
Examples are various newer 32 bit platforms and old ones that are
compiled with -D_TIME_BITS=64.
Also statically assert that time_t is either 32 or 64 bits. Other values
might need adjustments in the macro.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6919>
2024-05-21 21:50:47 +0300 Jordan Petridis <jordan@centricular.com>
* tests/check/gst/gststructure.c:
tests/check: Avoid using "bool" for the variable name
Glib 2.82 will be aliasing [1] TRUE and FALSE to the C99
definitions, which means it will be including stdbool.h
As such, having variables named "bool" causes issues
since it conflicts with the symbol defined in stdbool.h
[1] https://gitlab.gnome.org/GNOME/glib/-/merge_requests/4001
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6896>
2024-05-17 23:03:19 +0900 Seungha Yang <seungha@centricular.com>
* meson.build:
* plugins/elements/gstfilesrc.c:
filesrc: Don't abort on _get_osfhandle()
_get_osfhandle() expects valid fd and CRT will abort program
if given paramerter is invalid. The fd can be invalidated
in various way, file was deleted by other process after
we open a file. To avoid it, our own exception
handler must be installed so that _get_osfhandle() can return
INVALID_HANDLE_VALUE if fd is invalid.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6879>
2024-05-14 23:30:56 +0200 Alexander Slobodeniuk <aslobodeniuk@fluendo.com>
* gst/gstsystemclock.c:
systemclock: fix usage of __STDC_NO_ATOMICS__
__STDC_NO_ATOMICS doesn't seem to exist. In fact the only compiler
I've found that sets any of those is msvc, but it sets
__STDC_NO_ATOMICS__, not __STDC_NO_ATOMICS.
__STDC_NO_ATOMICS__ is the one documented by C11 standard.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6856>
2024-04-30 00:36:59 +0100 Tim-Philipp Müller <tim@centricular.com>
* meson.build:
Back to development after 1.24.3
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6772>
=== release 1.24.3 ===
2024-04-30 00:15:23 +0100 Tim-Philipp Müller <tim@centricular.com>
* NEWS:
* RELEASE:
* gstreamer.doap:
* meson.build:
Release 1.24.3
2024-04-10 16:29:15 +0300 Sebastian Dröge <sebastian@centricular.com>
* libs/gst/helpers/ptp/parse.rs:
ptp: Silence warning about some unused trait methods
These are not used yet but will likely be useful in the future.
Rust 1.79 (nightly) is warning about them being unused.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6606>
2024-04-10 00:04:02 +0100 Tim-Philipp Müller <tim@centricular.com>
* meson.build:
Back to development after 1.24.2
=== release 1.24.2 ===
2024-04-09 21:48:55 +0100 Tim-Philipp Müller <tim@centricular.com>
* NEWS:
* RELEASE:
* gstreamer.doap:
* meson.build:
Release 1.24.2
2024-04-02 11:54:52 -0400 Xavier Claessens <xavier.claessens@collabora.com>
* plugins/elements/gstclocksync.c:
clocksync: Proxy allocation queries
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6525>
2024-03-27 16:55:10 +0000 L. E. Segovia <amy@centricular.com>
* gst/gstsystemclock.c:
* meson.build:
gst: clock: Block futex_time64 usage on Android API level < 30
This syscall is seccomp blocked on all lower API levels:
https://github.com/aosp-mirror/platform_bionic/commit/ee7bc3002dc3127faac110167d28912eb0e86a20
While at it, also fix all direct tests on __NR_futex_time64 and
__NR_futex so that they refer to the results available in
config.h.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6518>
2024-03-26 19:40:04 +0530 Taruntej Kanakamalla <taruntej@asymptotic.io>
* libs/gst/net/gstptpclock.c:
net/gstptpclock: fix double free of domain data during deinit
The attempt to free the domain data is happeing twice during the ptp deinit.
Once while iterating through the list domain_data and second while iterating
through the list domain_clocks, so this is crashing the application
trying to gst_ptp_deinit
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6457>
2024-03-27 17:05:09 +0200 Sebastian Dröge <sebastian@centricular.com>
* libs/gst/base/gstbasesrc.c:
basesrc: Clear submitted buffer lists consistently with buffers
And handle the case of a NULL buffer being returned cleanly, which is
valid as long as a buffer list is returned instead. Previously this
would cause an assertion because of calling gst_buffer_unref() with
NULL.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6463>
2024-03-26 14:28:28 +0100 Arnaud Vrac <avrac@freebox.fr>
* plugins/elements/gstinputselector.c:
inputselector: fix possible clock leak on shutdown
Avoid leaking a GstClock object on shutdown, bail out before taking the ref when
not playing.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6455>
2024-03-22 01:38:06 +0100 Tim-Philipp Müller <tim@centricular.com>
* meson.build:
Back to development
=== release 1.24.1 ===
2024-03-21 21:47:53 +0100 Tim-Philipp Müller <tim@centricular.com>
* NEWS:
* RELEASE:
* gstreamer.doap:
* meson.build:
Release 1.24.1
2024-03-19 08:57:43 -0400 Thomas Goodwin <thomas.goodwin@laerdal.com>
* tests/check/tools/gstinspect.c:
* tools/gst-inspect.c:
gst-inspect: fix --atleast-version to be implicitly applied to --exists
The --atleast-version implies --exists, but the implementation in
earlier commits had the version check applied any time the --exists was
checked, and the default value of the major and minor versions were set
to the GStreamer major and minor versions. The resulting behavior would
have gst-inspect return '1' if the plugin's version didn't match
gstreamer's even when --atleast-version was not specified in the command
line args. The change in this patch removes that behavior and adds
tests to verify that if --exists is specified WITHOUT --atleast-version
the version check will NOT be applied. If both arguments are specified
and the version does not match the arg-supplied version number, a new
return code of '2' is used to uniquely identify the failure.
Fixes #3246
Signed-off-by: Thomas Goodwin <thomas.goodwin@laerdal.com>
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6414>
2024-03-13 19:12:48 +0200 Sebastian Dröge <sebastian@centricular.com>
* libs/gst/net/gstptpclock.c:
ptp: Initialize expected DELAY_REQ seqnum to an invalid value
This allows distinguishing pending syncs that didn't have a DELAY_REQ
sent from ones that did but used a seqnum of 0, like the very first one.
Specifically, if the first one or more syncs are still pending and we
send the first DELAY_REQ for a later pending sync, then the DELAY_RESP
would've been wrongly associated to the very first pending sync because
of the seqnum.
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3383
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6365>
2024-03-11 15:10:25 +0100 Antonio Larrosa <alarrosa@suse.com>
* gst/gstregistry.c:
* libs/gst/net/gstptpclock.c:
registry, ptp: Canonicalize the library path returned by dladdr
On systems using UsrMerge (like openSUSE or Fedora), /lib64 is
a symlink to /usr/lib64. So dladdr is returning the path to
the gstreamer library in /lib64 in priv_gst_get_relocated_libgstreamer.
Later gst_plugin_loader_spawn tries to build the path to the
gst-plugin-scanner helper from /lib64 and ends up trying to use
/lib64/../libexec/gstreamer-1.0/gst-plugin-scanner which doesn't exist.
By canonicalizing the path with a call to realpath, gst-plugin-scanner
is found correctly under
/usr/lib64/../libexec/gstreamer-1.0/gst-plugin-scanner
Similar change applied to gstreamer/libs/gst/net/gstptpclock.c
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6343>
2024-02-27 18:59:41 +0530 Nirbheek Chauhan <nirbheek@centricular.com>
* gst/gsturi.c:
gsturi: Sort by feature name to break a feature rank tie
This matches autoplug in other places such as decodebin, otherwise we
will pick "randomly" based on the order in which plugins are
registered, which is mostly dependent on the order in which readdir()
returns items.
So let's make it predictable.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6342>
2024-03-08 17:05:34 +1100 Jan Schmidt <jan@centricular.com>
* plugins/elements/gstidentity.c:
identity: Don't refuse seeks unless single-segment=true
identity only needs to configure the internal seek segment if it's
aggregating upstream segments into 1. If it's not, don't break
other seek behaviour by refusing (for example) instant-rate change
seeks.
Fixes: #3363
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6314>
2024-02-25 04:26:21 +1100 Jan Schmidt <jan@centricular.com>
* gst/gstsegment.c:
gstsegment: Don't use g_return_val_if_fail()
Don't use g_return_val_if_fail() to catch the
open-ended segment or empty segment cases in
gst_segment_to_running_time_full()
g_return_val_if_fail() is for programmer errors,
and can be compiled out with a flag.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6275>
2024-03-05 15:10:45 +0200 Sebastian Dröge <sebastian@centricular.com>
* libs/gst/helpers/ptp/meson.build:
ptp: Don't install test executable
And handle it like all our other test executables.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6268>
2024-03-05 13:45:27 +0000 Tim-Philipp Müller <tim@centricular.com>
* meson.build:
Back to development
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6264>
=== release 1.24.0 ===
2024-03-04 23:51:42 +0000 Tim-Philipp Müller <tim@centricular.com>
* NEWS:
* README.md:
* RELEASE:
* gstreamer.doap:
* meson.build:
Release 1.24.0
2024-02-26 09:27:40 +0100 Edward Hervey <edward@centricular.com>
* README.md:
* RELEASE:
docs: Use Discourse and Matrix as prefered communication channels
Part of: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6220
2024-02-26 09:26:44 +0100 Edward Hervey <edward@centricular.com>
* .gitlab/issue_templates/Bug.md:
gitlab_template: Remove duplicate entry and remove mention of IRC
Part of: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6220
2024-02-21 12:20:19 +0100 Arnaud Vrac <avrac@freebox.fr>
* plugins/elements/gstqueue2.c:
queue2: post 100% buffering message even when waiting for space to be freed
In the case where the queue shrinks due to a property change and the queue
becomes full, we would set the waiting_del flag, which would prevent posting the
100% buffering message on the bus. Since the pipeline is not aware of the new
buffering value, in the common case where the pipeline is paused during
buffering, it would never resume.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6165>
2024-02-21 12:17:45 +0100 Arnaud Vrac <avrac@freebox.fr>
* plugins/elements/gstqueue2.c:
queue2: move gst_queue2_get_buffering_message code to the only call site
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6165>
2024-02-21 12:05:18 +0100 Arnaud Vrac <avrac@freebox.fr>
* plugins/elements/gstqueue2.c:
* plugins/elements/gstqueue2.h:
queue2: remove redundant check to avoid posting the same buffering value twice
Remove the percent_changed check to determine whether a buffering message should
be posted. The check on the last posted buffering value is sufficient, and the
removal doesn't introduce additional complexity.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6165>
2024-02-21 11:41:32 +0100 Arnaud Vrac <avrac@freebox.fr>
* plugins/elements/gstqueue2.c:
queue2: consolidate buffering message posting code
No need to copy paste the code, simply call the common gst_queue2_post_buffering
function.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6165>
2024-02-21 11:17:13 +0100 Arnaud Vrac <avrac@freebox.fr>
* plugins/elements/gstqueue2.c:
queue2: make sure update_buffering is called with the lock taken
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6165>
=== release 1.23.90 ===
2024-02-23 18:20:11 +0000 Tim-Philipp Müller <tim@centricular.com>
* NEWS:
* RELEASE:
* gstreamer.doap:
* meson.build:
Release 1.23.90
2024-02-21 16:56:48 +0100 Jochen Henneberg <jh@henneberg-systemdesign.com>
* libs/gst/helpers/ptp/main.rs:
ptp-helper: Allow sync to master clock on same host
If we drop all messages with the same clock id as ours we will also
drop all messages coming from a PTP clock on our host since both clock
ids are build from the same MAC address.
At least for Linux we do not see our own messages anyway since the
network stack can well distinguish between multicast send from our
socket or from another socket on the same machine. To make sure that
this works for all supported platforms just drop delay requests since
this is the only message that is sent from the GStreamer PTP clock.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6172>
2023-01-28 01:11:45 +0000 Tim-Philipp Müller <tim@centricular.com>
* tools/gst-inspect.c:
gst-inspect: print plugin error/warning/info status messages
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3832>
2023-01-27 19:08:37 +0000 Tim-Philipp Müller <tim@centricular.com>
* gst/gst_private.h:
* gst/gstplugin.c:
* gst/gstplugin.h:
* gst/gstregistrybinary.h:
* gst/gstregistrychunks.c:
* tests/check/gst/gstplugin.c:
plugin: add API for plugins to provide status info messages
This can be used to store informational messages, errors or
warnings which can later be shown to the user in gst-inspect-1.0,
which can be useful for plugins that expose elements dynamically
based on external libraries or hardware capabilities.
Status messages can then provide an indication as to why a
plugin doesn't have any elements listed, for example.
Plus unit test to make sure code paths are exercised a little.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3832>
2024-01-29 19:47:11 +0000 Tim-Philipp Müller <tim@centricular.com>
* gst/gstobject.c:
* gst/gstobject.h:
* tests/check/gst/gstbin.c:
gstobject: add CONSTRUCTED flag
This can be used later by base class APIs to know whether they're
called from a subclass instance init function (where the object
isn't properly constructed yet and one should only really poke
at the instance structure but not much else) or after object
construction has been finished.
Fix up GstBin unit test for CONSTRUCTED flag addition.
See https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/2794
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6150>
2024-02-20 08:54:11 +0100 Edward Hervey <edward@centricular.com>
* gst/gstmeta.c:
meta: Skip gst_meta_info_new in gir
```
gstmeta.c:500: Warning: Gst: gst_meta_info_new: return value: Invalid
non-constant return of bare structure or union; register as boxed type or (skip)
```
Skip this for now
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6147>
2024-02-19 12:25:01 +0000 Philippe Normand <philn@igalia.com>
* gst/gstprotection.c:
protection: Document `original-media-type` caps field
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6142>
2024-02-16 17:06:52 +0100 Guillaume Desmottes <guillaume.desmottes@onestream.live>
* docs/gst-hotdoc-plugins-scanner.c:
docs: initialize values when GST_PLUGIN_API_FLAG_IGNORE_ENUM_MEMBERS is set
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5491>
2024-02-15 09:21:15 -0500 Xavier Claessens <xavier.claessens@collabora.com>
* gst/gstbus.c:
bus: do not leak message on invalid handler return value
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6124>
2024-02-15 09:15:50 -0500 Xavier Claessens <xavier.claessens@collabora.com>
* gst/gstbus.c:
bus: do not leak messages if there is no async handler
This does not typically happen because "enable-async" property is TRUE
by default. The only place where it is set to FALSE is in GstBin where a
sync handler is used and always returns GST_BUS_DROP.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6124>
2024-02-15 09:18:20 -0500 Xavier Claessens <xavier.claessens@collabora.com>
* gst/gstbus.c:
bus: warn when message queue grows too much
It usually means application is not handling messages causing memory
consumption to grow infinitely.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3313>
2024-02-15 16:38:53 +0000 Tim-Philipp Müller <tim@centricular.com>
* meson.build:
Back to development
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6126>
=== release 1.23.2 ===
2024-02-15 15:37:17 +0000 Tim-Philipp Müller <tim@centricular.com>
* NEWS:
* RELEASE:
* gstreamer.doap:
* meson.build:
Release 1.23.2
2024-02-14 00:35:55 +0000 Tim-Philipp Müller <tim@centricular.com>
* po/LINGUAS:
* po/fr.po:
* po/lv.po:
* po/nl.po:
* po/sv.po:
* po/tr.po:
gstreamer: update translations
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6113>
2024-02-03 11:51:27 +0000 Philippe Normand <philn@igalia.com>
* gst/gsttaglist.c:
* gst/gsttaglist.h:
taglist: Register new tag for container specific track ID
Unique identifier for the audio, video or text track this tag is associated
with. The mappings for several container formats are defined in the [Sourcing
In-band Media Resource Tracks from Media Containers into HTML
specification](https://dev.w3.org/html5/html-sourcing-inband-tracks).
Based on previous patch by Brendan Long.
Fixes #45
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6041>
2024-02-10 00:34:18 +0900 Seungha Yang <seungha@centricular.com>
* gst/gstpluginloader-win32.c:
pluginloader-win32: Early terminate if plugin loader binary is not installed
External plugin loader support for Windows is introduced
in this dev cycle. Since helper binary was not required (useless)
before this version, people may not ship the binary
with new GStreamer version, then they will observe warning message.
Instead of displaying the warning at plugin loading time,
checks helper bin earlier and disable external plugin loader
if helper binary is not installed.
Fixes: https://gitlab.freedesktop.org/gstreamer/cerbero/-/issues/448
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6083>
2023-12-18 15:39:07 -0500 Xavier Claessens <xavier.claessens@collabora.com>
* gst/gstmeta.c:
* gst/gststructure.c:
* gst/gststructure.h:
* gst/gstvalue.c:
* tests/check/gst/gststructure.c:
structure: Allow STRICT flag only in _serialize_full()
The STRICT flag makes _serialize() nullable which is an API break for
bindings. Forbid it and add _serialize_full() that accepts it and is
properly annotated.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5829>
2021-11-10 13:26:33 +0100 Guillaume Desmottes <guillaume.desmottes@onestream.live>
* libs/gst/base/gstbasesrc.c:
basesrc: add FIXME 2.0 about automatic_eos
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1334>
2024-02-06 18:09:02 +0000 Tim-Philipp Müller <tim@centricular.com>
* meson.build:
Back to development
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6066>
=== release 1.23.1 ===
2024-02-06 16:37:19 +0000 Tim-Philipp Müller <tim@centricular.com>
* NEWS:
* RELEASE:
* gstreamer.doap:
* meson.build:
Release 1.23.1
2024-02-05 09:27:54 +0100 Tim-Philipp Müller <tim@centricular.com>
* meson_options.txt:
meson_options.txt: fix meson warning about default bool values being a string
2024-02-05 18:37:59 +0200 Sebastian Dröge <sebastian@centricular.com>
* gst/gstpad.c:
pad: Copy over seqnum when creating a new segment event for applying pad offset
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6057>
2024-02-06 10:02:03 +0200 Sebastian Dröge <sebastian@centricular.com>
* gst/gstutils.c:
utils: Remove unnecessary const-removal casts from gst_util_filename_compare()
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6063>
2024-02-06 09:48:17 +0200 Sebastian Dröge <sebastian@centricular.com>
* gst/gstutils.c:
utils: Annotate gst_util_filename_compare() parameters as filenames
They're not UTF-8 strings.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6063>
2024-01-26 19:12:18 +0100 Piotr Brzeziński <piotr@centricular.com>
* gst/gstmacos.m:
macos: Fix gst_macos_main() terminating whole process before returning a value
Removes the usage of [NSApp terminate] to avoid killing the process and thus never actually returning a value.
The new way is just to use [NSApp stop] and send an event, since stop only happens after an event is processed.
Unlike terminate, stop will only halt the event loop, not the whole process.
This uses an NSApplicationDelegate to listen for NSApp finishing the launch process, and then signals the 'main' thread
to proceed. That makes sure to never call [NSApp stop] before NSApp is actually running, which could happen if the
provided 'main' function finished quickly enough.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6005>
2024-01-29 16:10:38 -0300 Thibault Saunier <tsaunier@igalia.com>
* libs/gst/base/gstbasesrc.c:
basesrc: Lower verbosity of often happening warning
decodebin(3) runs a scheduling query before pads are activated which
ultimately triggers basesrc->start which will automatically call
`gst_base_src_start_complete` for any source that is not marked as
'async'. This calls will harmlessly bail out in `not_activated_yet`
so we should not warn in that case.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6011>
2024-01-23 15:28:50 +0100 Guillaume Desmottes <guillaume.desmottes@onestream.live>
* gst/gstpad.c:
core: pad: call tracer query-post hook after probes
Tracers are likely interested about the end result of the query, so
after probes have been caled.
Fix a bug where the buffer-lateness tracer was reporting a wrong latency
when pad probes increased the latency.
Also call the tracer hook if the pad has no query function.
Fix https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/issues/486
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5963>
2023-11-21 19:54:32 -0300 Thibault Saunier <tsaunier@igalia.com>
* libs/gst/base/gstbasesink.c:
basesink: Preroll on out of segment buffers when not dropping them
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5980>
2024-01-28 11:15:01 +0000 Tim-Philipp Müller <tim@centricular.com>
* meson.build:
meson: bump Meson requirement to >= 1.1 for all modules
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6002>
2023-08-31 18:55:58 -0400 Thibault Saunier <tsaunier@igalia.com>
* libs/gst/helpers/gst_gdb.py:
gdb: Fix the way we wrap segments
Without that we end up with a reference to a GBoxed instead of the actual segment making the rest of the code fail
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5986>
2023-08-31 18:55:14 -0400 Thibault Saunier <tsaunier@igalia.com>
* libs/gst/helpers/gst_gdb.py:
gdb: Fix issue with undeclared variable
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5986>
2023-08-31 18:53:46 -0400 Thibault Saunier <tsaunier@igalia.com>
* libs/gst/helpers/glib_gobject_helper.py:
* libs/gst/helpers/gst_gdb.py:
gdb: Handle the case where the fundamental type table is optimized out
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5986>
2023-08-31 18:52:58 -0400 Thibault Saunier <tsaunier@igalia.com>
* libs/gst/helpers/glib_gobject_helper.py:
* libs/gst/helpers/gst_gdb.py:
gdb: Fix python style
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5986>
2023-08-31 18:43:46 -0400 Thibault Saunier <tsaunier@igalia.com>
* libs/gst/helpers/glib_gobject_helper.py:
gdb: Workaround optimized out quark_seq_id
On fedora 38 (and it was the case in previous releases), the
quark_seq_id is optimized out so getting quarks from the
global variable always failed. This patch works around that by assuming
it is a valid quark whenever the quark_seq_id is not accessible.
This issue often manifested as Python Exception <class 'TypeError'>:
can only concatenate str (not "NoneType") to str when debugging as
other parts of the code assume that getting the quark for a GType name
will work.
Same as https://gitlab.gnome.org/GNOME/glib/-/merge_requests/3559
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5986>
2024-01-17 15:57:43 +0100 Jonas K Danielsson <jonas.danielsson@spiideo.com>
* gst/gstutils.c:
* gst/gstutils.h:
gstutils: Add g_util_filename_compare
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4491>
2023-04-24 09:28:22 +0200 Guillaume Desmottes <guillaume.desmottes@onestream.live>
* gst/gstpipeline.c:
* gst/gstpipeline.h:
core: pipeline: add gst_pipeline_get_configured_latency()
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4472>
2023-04-21 17:49:50 +0200 Guillaume Desmottes <guillaume.desmottes@onestream.live>
* gst/gstpipeline.c:
* gst/gstpipeline.h:
core: pipeline: add gst_pipeline_is_live()
Convenient API for applications wanting to check if a pipeline is live
or not. Save them from checking the change_state return value or sending
latency queries.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4472>
2023-04-21 17:44:43 +0200 Guillaume Desmottes <guillaume.desmottes@onestream.live>
* gst/gstpipeline.c:
core: pipeline: protect priv->is_live with object lock
It's supposed to be according to the comment where it's defined.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4472>
2023-08-30 10:56:19 -0600 Scott Moreau <oreaus@gmail.com>
* tools/gst-launch.c:
gst-launch: accept option to set program name
The option --prog-name="PROGRAM-NAME" can be passed to set the program name.
The program name is used by gtk and gstreamer to set the class or app-id.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5263>
2023-04-05 08:48:36 -0400 Xavier Claessens <xavier.claessens@collabora.com>
* gst/gstobject.h:
* gst/gstpad.h:
* tests/check/gst/gstobject.c:
gstpad, gstobject: Add GMutexLocker helper
Add GST_OBJECT_AUTO_LOCK() and GST_PAD_STREAM_AUTO_LOCK() to simplify
g_autoptr(GMutexLocker) usage.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4300>
2024-01-05 14:32:00 +0100 Stéphane Cerveau <scerveau@igalia.com>
* gst/gstutils.c:
* gst/gstutils.h:
gstutils: add gst_util_ceil_log2
Move ceil_log2 from nalutils.* to gstutils.*
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5888>
2023-12-29 10:15:49 +0200 Sebastian Dröge <sebastian@centricular.com>
* libs/gst/helpers/ptp/io.rs:
ptp-helper: Allow unused `Stderr` export
It's not used when building tests and would otherwise cause a warning.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5872>
2023-12-18 16:33:07 -0500 Olivier Crête <olivier.crete@collabora.com>
* gst/gstbuffer.c:
* gst/gstmeta.c:
* gst/gstmeta.h:
meta: Add API to register metas in two steps
And also remove the specific registration APIs for
serializable meta.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5830>
2023-12-18 13:40:53 -0500 Olivier Crête <olivier.crete@collabora.com>
* gst/gstbufferpool.c:
* gst/gstmeta.c:
* gst/gstmeta.h:
meta: Move the clear operation to its own vfunc
Some transforms always assumed that the transformation was some kind
of copy. So adding a "clear" operation didn't work out in practice.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5830>
2023-12-01 12:10:36 -0500 Nicolas Dufresne <nicolas.dufresne@collabora.com>
* libs/gst/base/gstbaseparse.c:
doc: baseparse: Clarify consumed vs output size
When we finish a frame, we pass a size which semantic can easily be confused.
Improve the documentation to clarify that the parameter size is the amount of
input data being consumed and, if set, the output_buffer size can differ.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5754>
2023-12-15 17:47:02 -0500 Xavier Claessens <xavier.claessens@collabora.com>
* gst/gstmeta.c:
meta: gst_meta_serialize() is not introspectable
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5355>
2023-09-18 19:24:35 -0400 Xavier Claessens <xavier.claessens@collabora.com>
* gst/gst.h:
* gst/gstbuffer.c:
* gst/gstbuffer.h:
* gst/gstbytearrayinterface.h:
* gst/gstmeta.c:
* gst/gstmeta.h:
* gst/meson.build:
* tests/check/gst/gstbuffer.c:
* tests/check/gst/gstmeta.c:
meta: Add serialize/deserialize API
This allows metas to be serialized to be transmitted or stored. This is
intended to be used for example by gdppay or unixfdsink.
Implemented on GstCustomMeta, GstVideoMeta, GstReferenceTimestampMeta,
and GstAudioMeta.
Sponsored-by: Netflix Inc.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5355>
2023-09-20 15:34:40 -0400 Xavier Claessens <xavier.claessens@collabora.com>
* gst/gststructure.c:
* gst/gststructure.h:
* tests/check/gst/gststructure.c:
structure: Add GST_SERIALIZE_FLAG_STRICT
It makes serialization succeed only if all values have a type that can
be deserialized.
Sponsored-by: Netflix Inc.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5355>
2023-09-24 14:48:36 -0400 Xavier Claessens <xavier.claessens@collabora.com>
* gst/gstbuffer.c:
buffer: Remove trailing space
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5355>
2023-12-01 08:21:03 -0500 Xavier Claessens <xavier.claessens@collabora.com>
* gst/gstplugin.c:
devenv: Whitelist all plugins to be able to run tests
Meson devenv already overrides GST_PLUGIN_PATH and
GST_PLUGIN_SYSTEM_PATH so only built plugins can be found. That means
unit tests are allowed to use every plugins.
This makes easier to run some unit tests under devenv instead of through
"meson test".
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5748>
2023-12-05 14:01:50 +0200 Vivia Nikolaidou <vivia@ahiru.eu>
* plugins/elements/gstmultiqueue.c:
multiqueue: Don't stop dropping when an internal queue is empty
It is racy and may cause us to accidentally keep forwarding data past
the EOS. The only reason to stop dropping would be when we encounter a
stream-start, segment, or segment-done event, either in push_one
(already queued) or in the sink pad's event function.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5766>
2023-12-10 03:25:57 +1100 Jan Schmidt <jan@centricular.com>
* plugins/elements/gstmultiqueue.c:
multiqueue: Ignore queue fullness for most events
Use gst_data_queue_push_force() for most events so they
are immediately enqueued. Only gap events and actual buffer
data will now block when the queue is full.
This fixes a problem with non-flushing seek handling
where events following a segment-done event would block
if they precede the SEGMENT event, since only SEGMENT
events would clear the 'eos' state of the multiqueue
queue.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5801>
2023-12-12 23:55:04 +0100 Alexander Slobodeniuk <aslobodeniuk@fluendo.com>
* libs/gst/base/gstaggregator.c:
* tests/check/libs/aggregator.c:
aggregator: fix use-after-free in queries processing
Test included.
The problem appears when aggregator drops the query while