File: ChangeLog

package info (click to toggle)
gst-plugins-bad1.0 1.26.10-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 69,996 kB
  • sloc: ansic: 722,568; cpp: 278,154; objc: 3,556; xml: 3,351; sh: 1,095; python: 508; makefile: 175; java: 75
file content (15993 lines) | stat: -rw-r--r-- 710,654 bytes parent folder | download
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
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
1652
1653
1654
1655
1656
1657
1658
1659
1660
1661
1662
1663
1664
1665
1666
1667
1668
1669
1670
1671
1672
1673
1674
1675
1676
1677
1678
1679
1680
1681
1682
1683
1684
1685
1686
1687
1688
1689
1690
1691
1692
1693
1694
1695
1696
1697
1698
1699
1700
1701
1702
1703
1704
1705
1706
1707
1708
1709
1710
1711
1712
1713
1714
1715
1716
1717
1718
1719
1720
1721
1722
1723
1724
1725
1726
1727
1728
1729
1730
1731
1732
1733
1734
1735
1736
1737
1738
1739
1740
1741
1742
1743
1744
1745
1746
1747
1748
1749
1750
1751
1752
1753
1754
1755
1756
1757
1758
1759
1760
1761
1762
1763
1764
1765
1766
1767
1768
1769
1770
1771
1772
1773
1774
1775
1776
1777
1778
1779
1780
1781
1782
1783
1784
1785
1786
1787
1788
1789
1790
1791
1792
1793
1794
1795
1796
1797
1798
1799
1800
1801
1802
1803
1804
1805
1806
1807
1808
1809
1810
1811
1812
1813
1814
1815
1816
1817
1818
1819
1820
1821
1822
1823
1824
1825
1826
1827
1828
1829
1830
1831
1832
1833
1834
1835
1836
1837
1838
1839
1840
1841
1842
1843
1844
1845
1846
1847
1848
1849
1850
1851
1852
1853
1854
1855
1856
1857
1858
1859
1860
1861
1862
1863
1864
1865
1866
1867
1868
1869
1870
1871
1872
1873
1874
1875
1876
1877
1878
1879
1880
1881
1882
1883
1884
1885
1886
1887
1888
1889
1890
1891
1892
1893
1894
1895
1896
1897
1898
1899
1900
1901
1902
1903
1904
1905
1906
1907
1908
1909
1910
1911
1912
1913
1914
1915
1916
1917
1918
1919
1920
1921
1922
1923
1924
1925
1926
1927
1928
1929
1930
1931
1932
1933
1934
1935
1936
1937
1938
1939
1940
1941
1942
1943
1944
1945
1946
1947
1948
1949
1950
1951
1952
1953
1954
1955
1956
1957
1958
1959
1960
1961
1962
1963
1964
1965
1966
1967
1968
1969
1970
1971
1972
1973
1974
1975
1976
1977
1978
1979
1980
1981
1982
1983
1984
1985
1986
1987
1988
1989
1990
1991
1992
1993
1994
1995
1996
1997
1998
1999
2000
2001
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
2026
2027
2028
2029
2030
2031
2032
2033
2034
2035
2036
2037
2038
2039
2040
2041
2042
2043
2044
2045
2046
2047
2048
2049
2050
2051
2052
2053
2054
2055
2056
2057
2058
2059
2060
2061
2062
2063
2064
2065
2066
2067
2068
2069
2070
2071
2072
2073
2074
2075
2076
2077
2078
2079
2080
2081
2082
2083
2084
2085
2086
2087
2088
2089
2090
2091
2092
2093
2094
2095
2096
2097
2098
2099
2100
2101
2102
2103
2104
2105
2106
2107
2108
2109
2110
2111
2112
2113
2114
2115
2116
2117
2118
2119
2120
2121
2122
2123
2124
2125
2126
2127
2128
2129
2130
2131
2132
2133
2134
2135
2136
2137
2138
2139
2140
2141
2142
2143
2144
2145
2146
2147
2148
2149
2150
2151
2152
2153
2154
2155
2156
2157
2158
2159
2160
2161
2162
2163
2164
2165
2166
2167
2168
2169
2170
2171
2172
2173
2174
2175
2176
2177
2178
2179
2180
2181
2182
2183
2184
2185
2186
2187
2188
2189
2190
2191
2192
2193
2194
2195
2196
2197
2198
2199
2200
2201
2202
2203
2204
2205
2206
2207
2208
2209
2210
2211
2212
2213
2214
2215
2216
2217
2218
2219
2220
2221
2222
2223
2224
2225
2226
2227
2228
2229
2230
2231
2232
2233
2234
2235
2236
2237
2238
2239
2240
2241
2242
2243
2244
2245
2246
2247
2248
2249
2250
2251
2252
2253
2254
2255
2256
2257
2258
2259
2260
2261
2262
2263
2264
2265
2266
2267
2268
2269
2270
2271
2272
2273
2274
2275
2276
2277
2278
2279
2280
2281
2282
2283
2284
2285
2286
2287
2288
2289
2290
2291
2292
2293
2294
2295
2296
2297
2298
2299
2300
2301
2302
2303
2304
2305
2306
2307
2308
2309
2310
2311
2312
2313
2314
2315
2316
2317
2318
2319
2320
2321
2322
2323
2324
2325
2326
2327
2328
2329
2330
2331
2332
2333
2334
2335
2336
2337
2338
2339
2340
2341
2342
2343
2344
2345
2346
2347
2348
2349
2350
2351
2352
2353
2354
2355
2356
2357
2358
2359
2360
2361
2362
2363
2364
2365
2366
2367
2368
2369
2370
2371
2372
2373
2374
2375
2376
2377
2378
2379
2380
2381
2382
2383
2384
2385
2386
2387
2388
2389
2390
2391
2392
2393
2394
2395
2396
2397
2398
2399
2400
2401
2402
2403
2404
2405
2406
2407
2408
2409
2410
2411
2412
2413
2414
2415
2416
2417
2418
2419
2420
2421
2422
2423
2424
2425
2426
2427
2428
2429
2430
2431
2432
2433
2434
2435
2436
2437
2438
2439
2440
2441
2442
2443
2444
2445
2446
2447
2448
2449
2450
2451
2452
2453
2454
2455
2456
2457
2458
2459
2460
2461
2462
2463
2464
2465
2466
2467
2468
2469
2470
2471
2472
2473
2474
2475
2476
2477
2478
2479
2480
2481
2482
2483
2484
2485
2486
2487
2488
2489
2490
2491
2492
2493
2494
2495
2496
2497
2498
2499
2500
2501
2502
2503
2504
2505
2506
2507
2508
2509
2510
2511
2512
2513
2514
2515
2516
2517
2518
2519
2520
2521
2522
2523
2524
2525
2526
2527
2528
2529
2530
2531
2532
2533
2534
2535
2536
2537
2538
2539
2540
2541
2542
2543
2544
2545
2546
2547
2548
2549
2550
2551
2552
2553
2554
2555
2556
2557
2558
2559
2560
2561
2562
2563
2564
2565
2566
2567
2568
2569
2570
2571
2572
2573
2574
2575
2576
2577
2578
2579
2580
2581
2582
2583
2584
2585
2586
2587
2588
2589
2590
2591
2592
2593
2594
2595
2596
2597
2598
2599
2600
2601
2602
2603
2604
2605
2606
2607
2608
2609
2610
2611
2612
2613
2614
2615
2616
2617
2618
2619
2620
2621
2622
2623
2624
2625
2626
2627
2628
2629
2630
2631
2632
2633
2634
2635
2636
2637
2638
2639
2640
2641
2642
2643
2644
2645
2646
2647
2648
2649
2650
2651
2652
2653
2654
2655
2656
2657
2658
2659
2660
2661
2662
2663
2664
2665
2666
2667
2668
2669
2670
2671
2672
2673
2674
2675
2676
2677
2678
2679
2680
2681
2682
2683
2684
2685
2686
2687
2688
2689
2690
2691
2692
2693
2694
2695
2696
2697
2698
2699
2700
2701
2702
2703
2704
2705
2706
2707
2708
2709
2710
2711
2712
2713
2714
2715
2716
2717
2718
2719
2720
2721
2722
2723
2724
2725
2726
2727
2728
2729
2730
2731
2732
2733
2734
2735
2736
2737
2738
2739
2740
2741
2742
2743
2744
2745
2746
2747
2748
2749
2750
2751
2752
2753
2754
2755
2756
2757
2758
2759
2760
2761
2762
2763
2764
2765
2766
2767
2768
2769
2770
2771
2772
2773
2774
2775
2776
2777
2778
2779
2780
2781
2782
2783
2784
2785
2786
2787
2788
2789
2790
2791
2792
2793
2794
2795
2796
2797
2798
2799
2800
2801
2802
2803
2804
2805
2806
2807
2808
2809
2810
2811
2812
2813
2814
2815
2816
2817
2818
2819
2820
2821
2822
2823
2824
2825
2826
2827
2828
2829
2830
2831
2832
2833
2834
2835
2836
2837
2838
2839
2840
2841
2842
2843
2844
2845
2846
2847
2848
2849
2850
2851
2852
2853
2854
2855
2856
2857
2858
2859
2860
2861
2862
2863
2864
2865
2866
2867
2868
2869
2870
2871
2872
2873
2874
2875
2876
2877
2878
2879
2880
2881
2882
2883
2884
2885
2886
2887
2888
2889
2890
2891
2892
2893
2894
2895
2896
2897
2898
2899
2900
2901
2902
2903
2904
2905
2906
2907
2908
2909
2910
2911
2912
2913
2914
2915
2916
2917
2918
2919
2920
2921
2922
2923
2924
2925
2926
2927
2928
2929
2930
2931
2932
2933
2934
2935
2936
2937
2938
2939
2940
2941
2942
2943
2944
2945
2946
2947
2948
2949
2950
2951
2952
2953
2954
2955
2956
2957
2958
2959
2960
2961
2962
2963
2964
2965
2966
2967
2968
2969
2970
2971
2972
2973
2974
2975
2976
2977
2978
2979
2980
2981
2982
2983
2984
2985
2986
2987
2988
2989
2990
2991
2992
2993
2994
2995
2996
2997
2998
2999
3000
3001
3002
3003
3004
3005
3006
3007
3008
3009
3010
3011
3012
3013
3014
3015
3016
3017
3018
3019
3020
3021
3022
3023
3024
3025
3026
3027
3028
3029
3030
3031
3032
3033
3034
3035
3036
3037
3038
3039
3040
3041
3042
3043
3044
3045
3046
3047
3048
3049
3050
3051
3052
3053
3054
3055
3056
3057
3058
3059
3060
3061
3062
3063
3064
3065
3066
3067
3068
3069
3070
3071
3072
3073
3074
3075
3076
3077
3078
3079
3080
3081
3082
3083
3084
3085
3086
3087
3088
3089
3090
3091
3092
3093
3094
3095
3096
3097
3098
3099
3100
3101
3102
3103
3104
3105
3106
3107
3108
3109
3110
3111
3112
3113
3114
3115
3116
3117
3118
3119
3120
3121
3122
3123
3124
3125
3126
3127
3128
3129
3130
3131
3132
3133
3134
3135
3136
3137
3138
3139
3140
3141
3142
3143
3144
3145
3146
3147
3148
3149
3150
3151
3152
3153
3154
3155
3156
3157
3158
3159
3160
3161
3162
3163
3164
3165
3166
3167
3168
3169
3170
3171
3172
3173
3174
3175
3176
3177
3178
3179
3180
3181
3182
3183
3184
3185
3186
3187
3188
3189
3190
3191
3192
3193
3194
3195
3196
3197
3198
3199
3200
3201
3202
3203
3204
3205
3206
3207
3208
3209
3210
3211
3212
3213
3214
3215
3216
3217
3218
3219
3220
3221
3222
3223
3224
3225
3226
3227
3228
3229
3230
3231
3232
3233
3234
3235
3236
3237
3238
3239
3240
3241
3242
3243
3244
3245
3246
3247
3248
3249
3250
3251
3252
3253
3254
3255
3256
3257
3258
3259
3260
3261
3262
3263
3264
3265
3266
3267
3268
3269
3270
3271
3272
3273
3274
3275
3276
3277
3278
3279
3280
3281
3282
3283
3284
3285
3286
3287
3288
3289
3290
3291
3292
3293
3294
3295
3296
3297
3298
3299
3300
3301
3302
3303
3304
3305
3306
3307
3308
3309
3310
3311
3312
3313
3314
3315
3316
3317
3318
3319
3320
3321
3322
3323
3324
3325
3326
3327
3328
3329
3330
3331
3332
3333
3334
3335
3336
3337
3338
3339
3340
3341
3342
3343
3344
3345
3346
3347
3348
3349
3350
3351
3352
3353
3354
3355
3356
3357
3358
3359
3360
3361
3362
3363
3364
3365
3366
3367
3368
3369
3370
3371
3372
3373
3374
3375
3376
3377
3378
3379
3380
3381
3382
3383
3384
3385
3386
3387
3388
3389
3390
3391
3392
3393
3394
3395
3396
3397
3398
3399
3400
3401
3402
3403
3404
3405
3406
3407
3408
3409
3410
3411
3412
3413
3414
3415
3416
3417
3418
3419
3420
3421
3422
3423
3424
3425
3426
3427
3428
3429
3430
3431
3432
3433
3434
3435
3436
3437
3438
3439
3440
3441
3442
3443
3444
3445
3446
3447
3448
3449
3450
3451
3452
3453
3454
3455
3456
3457
3458
3459
3460
3461
3462
3463
3464
3465
3466
3467
3468
3469
3470
3471
3472
3473
3474
3475
3476
3477
3478
3479
3480
3481
3482
3483
3484
3485
3486
3487
3488
3489
3490
3491
3492
3493
3494
3495
3496
3497
3498
3499
3500
3501
3502
3503
3504
3505
3506
3507
3508
3509
3510
3511
3512
3513
3514
3515
3516
3517
3518
3519
3520
3521
3522
3523
3524
3525
3526
3527
3528
3529
3530
3531
3532
3533
3534
3535
3536
3537
3538
3539
3540
3541
3542
3543
3544
3545
3546
3547
3548
3549
3550
3551
3552
3553
3554
3555
3556
3557
3558
3559
3560
3561
3562
3563
3564
3565
3566
3567
3568
3569
3570
3571
3572
3573
3574
3575
3576
3577
3578
3579
3580
3581
3582
3583
3584
3585
3586
3587
3588
3589
3590
3591
3592
3593
3594
3595
3596
3597
3598
3599
3600
3601
3602
3603
3604
3605
3606
3607
3608
3609
3610
3611
3612
3613
3614
3615
3616
3617
3618
3619
3620
3621
3622
3623
3624
3625
3626
3627
3628
3629
3630
3631
3632
3633
3634
3635
3636
3637
3638
3639
3640
3641
3642
3643
3644
3645
3646
3647
3648
3649
3650
3651
3652
3653
3654
3655
3656
3657
3658
3659
3660
3661
3662
3663
3664
3665
3666
3667
3668
3669
3670
3671
3672
3673
3674
3675
3676
3677
3678
3679
3680
3681
3682
3683
3684
3685
3686
3687
3688
3689
3690
3691
3692
3693
3694
3695
3696
3697
3698
3699
3700
3701
3702
3703
3704
3705
3706
3707
3708
3709
3710
3711
3712
3713
3714
3715
3716
3717
3718
3719
3720
3721
3722
3723
3724
3725
3726
3727
3728
3729
3730
3731
3732
3733
3734
3735
3736
3737
3738
3739
3740
3741
3742
3743
3744
3745
3746
3747
3748
3749
3750
3751
3752
3753
3754
3755
3756
3757
3758
3759
3760
3761
3762
3763
3764
3765
3766
3767
3768
3769
3770
3771
3772
3773
3774
3775
3776
3777
3778
3779
3780
3781
3782
3783
3784
3785
3786
3787
3788
3789
3790
3791
3792
3793
3794
3795
3796
3797
3798
3799
3800
3801
3802
3803
3804
3805
3806
3807
3808
3809
3810
3811
3812
3813
3814
3815
3816
3817
3818
3819
3820
3821
3822
3823
3824
3825
3826
3827
3828
3829
3830
3831
3832
3833
3834
3835
3836
3837
3838
3839
3840
3841
3842
3843
3844
3845
3846
3847
3848
3849
3850
3851
3852
3853
3854
3855
3856
3857
3858
3859
3860
3861
3862
3863
3864
3865
3866
3867
3868
3869
3870
3871
3872
3873
3874
3875
3876
3877
3878
3879
3880
3881
3882
3883
3884
3885
3886
3887
3888
3889
3890
3891
3892
3893
3894
3895
3896
3897
3898
3899
3900
3901
3902
3903
3904
3905
3906
3907
3908
3909
3910
3911
3912
3913
3914
3915
3916
3917
3918
3919
3920
3921
3922
3923
3924
3925
3926
3927
3928
3929
3930
3931
3932
3933
3934
3935
3936
3937
3938
3939
3940
3941
3942
3943
3944
3945
3946
3947
3948
3949
3950
3951
3952
3953
3954
3955
3956
3957
3958
3959
3960
3961
3962
3963
3964
3965
3966
3967
3968
3969
3970
3971
3972
3973
3974
3975
3976
3977
3978
3979
3980
3981
3982
3983
3984
3985
3986
3987
3988
3989
3990
3991
3992
3993
3994
3995
3996
3997
3998
3999
4000
4001
4002
4003
4004
4005
4006
4007
4008
4009
4010
4011
4012
4013
4014
4015
4016
4017
4018
4019
4020
4021
4022
4023
4024
4025
4026
4027
4028
4029
4030
4031
4032
4033
4034
4035
4036
4037
4038
4039
4040
4041
4042
4043
4044
4045
4046
4047
4048
4049
4050
4051
4052
4053
4054
4055
4056
4057
4058
4059
4060
4061
4062
4063
4064
4065
4066
4067
4068
4069
4070
4071
4072
4073
4074
4075
4076
4077
4078
4079
4080
4081
4082
4083
4084
4085
4086
4087
4088
4089
4090
4091
4092
4093
4094
4095
4096
4097
4098
4099
4100
4101
4102
4103
4104
4105
4106
4107
4108
4109
4110
4111
4112
4113
4114
4115
4116
4117
4118
4119
4120
4121
4122
4123
4124
4125
4126
4127
4128
4129
4130
4131
4132
4133
4134
4135
4136
4137
4138
4139
4140
4141
4142
4143
4144
4145
4146
4147
4148
4149
4150
4151
4152
4153
4154
4155
4156
4157
4158
4159
4160
4161
4162
4163
4164
4165
4166
4167
4168
4169
4170
4171
4172
4173
4174
4175
4176
4177
4178
4179
4180
4181
4182
4183
4184
4185
4186
4187
4188
4189
4190
4191
4192
4193
4194
4195
4196
4197
4198
4199
4200
4201
4202
4203
4204
4205
4206
4207
4208
4209
4210
4211
4212
4213
4214
4215
4216
4217
4218
4219
4220
4221
4222
4223
4224
4225
4226
4227
4228
4229
4230
4231
4232
4233
4234
4235
4236
4237
4238
4239
4240
4241
4242
4243
4244
4245
4246
4247
4248
4249
4250
4251
4252
4253
4254
4255
4256
4257
4258
4259
4260
4261
4262
4263
4264
4265
4266
4267
4268
4269
4270
4271
4272
4273
4274
4275
4276
4277
4278
4279
4280
4281
4282
4283
4284
4285
4286
4287
4288
4289
4290
4291
4292
4293
4294
4295
4296
4297
4298
4299
4300
4301
4302
4303
4304
4305
4306
4307
4308
4309
4310
4311
4312
4313
4314
4315
4316
4317
4318
4319
4320
4321
4322
4323
4324
4325
4326
4327
4328
4329
4330
4331
4332
4333
4334
4335
4336
4337
4338
4339
4340
4341
4342
4343
4344
4345
4346
4347
4348
4349
4350
4351
4352
4353
4354
4355
4356
4357
4358
4359
4360
4361
4362
4363
4364
4365
4366
4367
4368
4369
4370
4371
4372
4373
4374
4375
4376
4377
4378
4379
4380
4381
4382
4383
4384
4385
4386
4387
4388
4389
4390
4391
4392
4393
4394
4395
4396
4397
4398
4399
4400
4401
4402
4403
4404
4405
4406
4407
4408
4409
4410
4411
4412
4413
4414
4415
4416
4417
4418
4419
4420
4421
4422
4423
4424
4425
4426
4427
4428
4429
4430
4431
4432
4433
4434
4435
4436
4437
4438
4439
4440
4441
4442
4443
4444
4445
4446
4447
4448
4449
4450
4451
4452
4453
4454
4455
4456
4457
4458
4459
4460
4461
4462
4463
4464
4465
4466
4467
4468
4469
4470
4471
4472
4473
4474
4475
4476
4477
4478
4479
4480
4481
4482
4483
4484
4485
4486
4487
4488
4489
4490
4491
4492
4493
4494
4495
4496
4497
4498
4499
4500
4501
4502
4503
4504
4505
4506
4507
4508
4509
4510
4511
4512
4513
4514
4515
4516
4517
4518
4519
4520
4521
4522
4523
4524
4525
4526
4527
4528
4529
4530
4531
4532
4533
4534
4535
4536
4537
4538
4539
4540
4541
4542
4543
4544
4545
4546
4547
4548
4549
4550
4551
4552
4553
4554
4555
4556
4557
4558
4559
4560
4561
4562
4563
4564
4565
4566
4567
4568
4569
4570
4571
4572
4573
4574
4575
4576
4577
4578
4579
4580
4581
4582
4583
4584
4585
4586
4587
4588
4589
4590
4591
4592
4593
4594
4595
4596
4597
4598
4599
4600
4601
4602
4603
4604
4605
4606
4607
4608
4609
4610
4611
4612
4613
4614
4615
4616
4617
4618
4619
4620
4621
4622
4623
4624
4625
4626
4627
4628
4629
4630
4631
4632
4633
4634
4635
4636
4637
4638
4639
4640
4641
4642
4643
4644
4645
4646
4647
4648
4649
4650
4651
4652
4653
4654
4655
4656
4657
4658
4659
4660
4661
4662
4663
4664
4665
4666
4667
4668
4669
4670
4671
4672
4673
4674
4675
4676
4677
4678
4679
4680
4681
4682
4683
4684
4685
4686
4687
4688
4689
4690
4691
4692
4693
4694
4695
4696
4697
4698
4699
4700
4701
4702
4703
4704
4705
4706
4707
4708
4709
4710
4711
4712
4713
4714
4715
4716
4717
4718
4719
4720
4721
4722
4723
4724
4725
4726
4727
4728
4729
4730
4731
4732
4733
4734
4735
4736
4737
4738
4739
4740
4741
4742
4743
4744
4745
4746
4747
4748
4749
4750
4751
4752
4753
4754
4755
4756
4757
4758
4759
4760
4761
4762
4763
4764
4765
4766
4767
4768
4769
4770
4771
4772
4773
4774
4775
4776
4777
4778
4779
4780
4781
4782
4783
4784
4785
4786
4787
4788
4789
4790
4791
4792
4793
4794
4795
4796
4797
4798
4799
4800
4801
4802
4803
4804
4805
4806
4807
4808
4809
4810
4811
4812
4813
4814
4815
4816
4817
4818
4819
4820
4821
4822
4823
4824
4825
4826
4827
4828
4829
4830
4831
4832
4833
4834
4835
4836
4837
4838
4839
4840
4841
4842
4843
4844
4845
4846
4847
4848
4849
4850
4851
4852
4853
4854
4855
4856
4857
4858
4859
4860
4861
4862
4863
4864
4865
4866
4867
4868
4869
4870
4871
4872
4873
4874
4875
4876
4877
4878
4879
4880
4881
4882
4883
4884
4885
4886
4887
4888
4889
4890
4891
4892
4893
4894
4895
4896
4897
4898
4899
4900
4901
4902
4903
4904
4905
4906
4907
4908
4909
4910
4911
4912
4913
4914
4915
4916
4917
4918
4919
4920
4921
4922
4923
4924
4925
4926
4927
4928
4929
4930
4931
4932
4933
4934
4935
4936
4937
4938
4939
4940
4941
4942
4943
4944
4945
4946
4947
4948
4949
4950
4951
4952
4953
4954
4955
4956
4957
4958
4959
4960
4961
4962
4963
4964
4965
4966
4967
4968
4969
4970
4971
4972
4973
4974
4975
4976
4977
4978
4979
4980
4981
4982
4983
4984
4985
4986
4987
4988
4989
4990
4991
4992
4993
4994
4995
4996
4997
4998
4999
5000
5001
5002
5003
5004
5005
5006
5007
5008
5009
5010
5011
5012
5013
5014
5015
5016
5017
5018
5019
5020
5021
5022
5023
5024
5025
5026
5027
5028
5029
5030
5031
5032
5033
5034
5035
5036
5037
5038
5039
5040
5041
5042
5043
5044
5045
5046
5047
5048
5049
5050
5051
5052
5053
5054
5055
5056
5057
5058
5059
5060
5061
5062
5063
5064
5065
5066
5067
5068
5069
5070
5071
5072
5073
5074
5075
5076
5077
5078
5079
5080
5081
5082
5083
5084
5085
5086
5087
5088
5089
5090
5091
5092
5093
5094
5095
5096
5097
5098
5099
5100
5101
5102
5103
5104
5105
5106
5107
5108
5109
5110
5111
5112
5113
5114
5115
5116
5117
5118
5119
5120
5121
5122
5123
5124
5125
5126
5127
5128
5129
5130
5131
5132
5133
5134
5135
5136
5137
5138
5139
5140
5141
5142
5143
5144
5145
5146
5147
5148
5149
5150
5151
5152
5153
5154
5155
5156
5157
5158
5159
5160
5161
5162
5163
5164
5165
5166
5167
5168
5169
5170
5171
5172
5173
5174
5175
5176
5177
5178
5179
5180
5181
5182
5183
5184
5185
5186
5187
5188
5189
5190
5191
5192
5193
5194
5195
5196
5197
5198
5199
5200
5201
5202
5203
5204
5205
5206
5207
5208
5209
5210
5211
5212
5213
5214
5215
5216
5217
5218
5219
5220
5221
5222
5223
5224
5225
5226
5227
5228
5229
5230
5231
5232
5233
5234
5235
5236
5237
5238
5239
5240
5241
5242
5243
5244
5245
5246
5247
5248
5249
5250
5251
5252
5253
5254
5255
5256
5257
5258
5259
5260
5261
5262
5263
5264
5265
5266
5267
5268
5269
5270
5271
5272
5273
5274
5275
5276
5277
5278
5279
5280
5281
5282
5283
5284
5285
5286
5287
5288
5289
5290
5291
5292
5293
5294
5295
5296
5297
5298
5299
5300
5301
5302
5303
5304
5305
5306
5307
5308
5309
5310
5311
5312
5313
5314
5315
5316
5317
5318
5319
5320
5321
5322
5323
5324
5325
5326
5327
5328
5329
5330
5331
5332
5333
5334
5335
5336
5337
5338
5339
5340
5341
5342
5343
5344
5345
5346
5347
5348
5349
5350
5351
5352
5353
5354
5355
5356
5357
5358
5359
5360
5361
5362
5363
5364
5365
5366
5367
5368
5369
5370
5371
5372
5373
5374
5375
5376
5377
5378
5379
5380
5381
5382
5383
5384
5385
5386
5387
5388
5389
5390
5391
5392
5393
5394
5395
5396
5397
5398
5399
5400
5401
5402
5403
5404
5405
5406
5407
5408
5409
5410
5411
5412
5413
5414
5415
5416
5417
5418
5419
5420
5421
5422
5423
5424
5425
5426
5427
5428
5429
5430
5431
5432
5433
5434
5435
5436
5437
5438
5439
5440
5441
5442
5443
5444
5445
5446
5447
5448
5449
5450
5451
5452
5453
5454
5455
5456
5457
5458
5459
5460
5461
5462
5463
5464
5465
5466
5467
5468
5469
5470
5471
5472
5473
5474
5475
5476
5477
5478
5479
5480
5481
5482
5483
5484
5485
5486
5487
5488
5489
5490
5491
5492
5493
5494
5495
5496
5497
5498
5499
5500
5501
5502
5503
5504
5505
5506
5507
5508
5509
5510
5511
5512
5513
5514
5515
5516
5517
5518
5519
5520
5521
5522
5523
5524
5525
5526
5527
5528
5529
5530
5531
5532
5533
5534
5535
5536
5537
5538
5539
5540
5541
5542
5543
5544
5545
5546
5547
5548
5549
5550
5551
5552
5553
5554
5555
5556
5557
5558
5559
5560
5561
5562
5563
5564
5565
5566
5567
5568
5569
5570
5571
5572
5573
5574
5575
5576
5577
5578
5579
5580
5581
5582
5583
5584
5585
5586
5587
5588
5589
5590
5591
5592
5593
5594
5595
5596
5597
5598
5599
5600
5601
5602
5603
5604
5605
5606
5607
5608
5609
5610
5611
5612
5613
5614
5615
5616
5617
5618
5619
5620
5621
5622
5623
5624
5625
5626
5627
5628
5629
5630
5631
5632
5633
5634
5635
5636
5637
5638
5639
5640
5641
5642
5643
5644
5645
5646
5647
5648
5649
5650
5651
5652
5653
5654
5655
5656
5657
5658
5659
5660
5661
5662
5663
5664
5665
5666
5667
5668
5669
5670
5671
5672
5673
5674
5675
5676
5677
5678
5679
5680
5681
5682
5683
5684
5685
5686
5687
5688
5689
5690
5691
5692
5693
5694
5695
5696
5697
5698
5699
5700
5701
5702
5703
5704
5705
5706
5707
5708
5709
5710
5711
5712
5713
5714
5715
5716
5717
5718
5719
5720
5721
5722
5723
5724
5725
5726
5727
5728
5729
5730
5731
5732
5733
5734
5735
5736
5737
5738
5739
5740
5741
5742
5743
5744
5745
5746
5747
5748
5749
5750
5751
5752
5753
5754
5755
5756
5757
5758
5759
5760
5761
5762
5763
5764
5765
5766
5767
5768
5769
5770
5771
5772
5773
5774
5775
5776
5777
5778
5779
5780
5781
5782
5783
5784
5785
5786
5787
5788
5789
5790
5791
5792
5793
5794
5795
5796
5797
5798
5799
5800
5801
5802
5803
5804
5805
5806
5807
5808
5809
5810
5811
5812
5813
5814
5815
5816
5817
5818
5819
5820
5821
5822
5823
5824
5825
5826
5827
5828
5829
5830
5831
5832
5833
5834
5835
5836
5837
5838
5839
5840
5841
5842
5843
5844
5845
5846
5847
5848
5849
5850
5851
5852
5853
5854
5855
5856
5857
5858
5859
5860
5861
5862
5863
5864
5865
5866
5867
5868
5869
5870
5871
5872
5873
5874
5875
5876
5877
5878
5879
5880
5881
5882
5883
5884
5885
5886
5887
5888
5889
5890
5891
5892
5893
5894
5895
5896
5897
5898
5899
5900
5901
5902
5903
5904
5905
5906
5907
5908
5909
5910
5911
5912
5913
5914
5915
5916
5917
5918
5919
5920
5921
5922
5923
5924
5925
5926
5927
5928
5929
5930
5931
5932
5933
5934
5935
5936
5937
5938
5939
5940
5941
5942
5943
5944
5945
5946
5947
5948
5949
5950
5951
5952
5953
5954
5955
5956
5957
5958
5959
5960
5961
5962
5963
5964
5965
5966
5967
5968
5969
5970
5971
5972
5973
5974
5975
5976
5977
5978
5979
5980
5981
5982
5983
5984
5985
5986
5987
5988
5989
5990
5991
5992
5993
5994
5995
5996
5997
5998
5999
6000
6001
6002
6003
6004
6005
6006
6007
6008
6009
6010
6011
6012
6013
6014
6015
6016
6017
6018
6019
6020
6021
6022
6023
6024
6025
6026
6027
6028
6029
6030
6031
6032
6033
6034
6035
6036
6037
6038
6039
6040
6041
6042
6043
6044
6045
6046
6047
6048
6049
6050
6051
6052
6053
6054
6055
6056
6057
6058
6059
6060
6061
6062
6063
6064
6065
6066
6067
6068
6069
6070
6071
6072
6073
6074
6075
6076
6077
6078
6079
6080
6081
6082
6083
6084
6085
6086
6087
6088
6089
6090
6091
6092
6093
6094
6095
6096
6097
6098
6099
6100
6101
6102
6103
6104
6105
6106
6107
6108
6109
6110
6111
6112
6113
6114
6115
6116
6117
6118
6119
6120
6121
6122
6123
6124
6125
6126
6127
6128
6129
6130
6131
6132
6133
6134
6135
6136
6137
6138
6139
6140
6141
6142
6143
6144
6145
6146
6147
6148
6149
6150
6151
6152
6153
6154
6155
6156
6157
6158
6159
6160
6161
6162
6163
6164
6165
6166
6167
6168
6169
6170
6171
6172
6173
6174
6175
6176
6177
6178
6179
6180
6181
6182
6183
6184
6185
6186
6187
6188
6189
6190
6191
6192
6193
6194
6195
6196
6197
6198
6199
6200
6201
6202
6203
6204
6205
6206
6207
6208
6209
6210
6211
6212
6213
6214
6215
6216
6217
6218
6219
6220
6221
6222
6223
6224
6225
6226
6227
6228
6229
6230
6231
6232
6233
6234
6235
6236
6237
6238
6239
6240
6241
6242
6243
6244
6245
6246
6247
6248
6249
6250
6251
6252
6253
6254
6255
6256
6257
6258
6259
6260
6261
6262
6263
6264
6265
6266
6267
6268
6269
6270
6271
6272
6273
6274
6275
6276
6277
6278
6279
6280
6281
6282
6283
6284
6285
6286
6287
6288
6289
6290
6291
6292
6293
6294
6295
6296
6297
6298
6299
6300
6301
6302
6303
6304
6305
6306
6307
6308
6309
6310
6311
6312
6313
6314
6315
6316
6317
6318
6319
6320
6321
6322
6323
6324
6325
6326
6327
6328
6329
6330
6331
6332
6333
6334
6335
6336
6337
6338
6339
6340
6341
6342
6343
6344
6345
6346
6347
6348
6349
6350
6351
6352
6353
6354
6355
6356
6357
6358
6359
6360
6361
6362
6363
6364
6365
6366
6367
6368
6369
6370
6371
6372
6373
6374
6375
6376
6377
6378
6379
6380
6381
6382
6383
6384
6385
6386
6387
6388
6389
6390
6391
6392
6393
6394
6395
6396
6397
6398
6399
6400
6401
6402
6403
6404
6405
6406
6407
6408
6409
6410
6411
6412
6413
6414
6415
6416
6417
6418
6419
6420
6421
6422
6423
6424
6425
6426
6427
6428
6429
6430
6431
6432
6433
6434
6435
6436
6437
6438
6439
6440
6441
6442
6443
6444
6445
6446
6447
6448
6449
6450
6451
6452
6453
6454
6455
6456
6457
6458
6459
6460
6461
6462
6463
6464
6465
6466
6467
6468
6469
6470
6471
6472
6473
6474
6475
6476
6477
6478
6479
6480
6481
6482
6483
6484
6485
6486
6487
6488
6489
6490
6491
6492
6493
6494
6495
6496
6497
6498
6499
6500
6501
6502
6503
6504
6505
6506
6507
6508
6509
6510
6511
6512
6513
6514
6515
6516
6517
6518
6519
6520
6521
6522
6523
6524
6525
6526
6527
6528
6529
6530
6531
6532
6533
6534
6535
6536
6537
6538
6539
6540
6541
6542
6543
6544
6545
6546
6547
6548
6549
6550
6551
6552
6553
6554
6555
6556
6557
6558
6559
6560
6561
6562
6563
6564
6565
6566
6567
6568
6569
6570
6571
6572
6573
6574
6575
6576
6577
6578
6579
6580
6581
6582
6583
6584
6585
6586
6587
6588
6589
6590
6591
6592
6593
6594
6595
6596
6597
6598
6599
6600
6601
6602
6603
6604
6605
6606
6607
6608
6609
6610
6611
6612
6613
6614
6615
6616
6617
6618
6619
6620
6621
6622
6623
6624
6625
6626
6627
6628
6629
6630
6631
6632
6633
6634
6635
6636
6637
6638
6639
6640
6641
6642
6643
6644
6645
6646
6647
6648
6649
6650
6651
6652
6653
6654
6655
6656
6657
6658
6659
6660
6661
6662
6663
6664
6665
6666
6667
6668
6669
6670
6671
6672
6673
6674
6675
6676
6677
6678
6679
6680
6681
6682
6683
6684
6685
6686
6687
6688
6689
6690
6691
6692
6693
6694
6695
6696
6697
6698
6699
6700
6701
6702
6703
6704
6705
6706
6707
6708
6709
6710
6711
6712
6713
6714
6715
6716
6717
6718
6719
6720
6721
6722
6723
6724
6725
6726
6727
6728
6729
6730
6731
6732
6733
6734
6735
6736
6737
6738
6739
6740
6741
6742
6743
6744
6745
6746
6747
6748
6749
6750
6751
6752
6753
6754
6755
6756
6757
6758
6759
6760
6761
6762
6763
6764
6765
6766
6767
6768
6769
6770
6771
6772
6773
6774
6775
6776
6777
6778
6779
6780
6781
6782
6783
6784
6785
6786
6787
6788
6789
6790
6791
6792
6793
6794
6795
6796
6797
6798
6799
6800
6801
6802
6803
6804
6805
6806
6807
6808
6809
6810
6811
6812
6813
6814
6815
6816
6817
6818
6819
6820
6821
6822
6823
6824
6825
6826
6827
6828
6829
6830
6831
6832
6833
6834
6835
6836
6837
6838
6839
6840
6841
6842
6843
6844
6845
6846
6847
6848
6849
6850
6851
6852
6853
6854
6855
6856
6857
6858
6859
6860
6861
6862
6863
6864
6865
6866
6867
6868
6869
6870
6871
6872
6873
6874
6875
6876
6877
6878
6879
6880
6881
6882
6883
6884
6885
6886
6887
6888
6889
6890
6891
6892
6893
6894
6895
6896
6897
6898
6899
6900
6901
6902
6903
6904
6905
6906
6907
6908
6909
6910
6911
6912
6913
6914
6915
6916
6917
6918
6919
6920
6921
6922
6923
6924
6925
6926
6927
6928
6929
6930
6931
6932
6933
6934
6935
6936
6937
6938
6939
6940
6941
6942
6943
6944
6945
6946
6947
6948
6949
6950
6951
6952
6953
6954
6955
6956
6957
6958
6959
6960
6961
6962
6963
6964
6965
6966
6967
6968
6969
6970
6971
6972
6973
6974
6975
6976
6977
6978
6979
6980
6981
6982
6983
6984
6985
6986
6987
6988
6989
6990
6991
6992
6993
6994
6995
6996
6997
6998
6999
7000
7001
7002
7003
7004
7005
7006
7007
7008
7009
7010
7011
7012
7013
7014
7015
7016
7017
7018
7019
7020
7021
7022
7023
7024
7025
7026
7027
7028
7029
7030
7031
7032
7033
7034
7035
7036
7037
7038
7039
7040
7041
7042
7043
7044
7045
7046
7047
7048
7049
7050
7051
7052
7053
7054
7055
7056
7057
7058
7059
7060
7061
7062
7063
7064
7065
7066
7067
7068
7069
7070
7071
7072
7073
7074
7075
7076
7077
7078
7079
7080
7081
7082
7083
7084
7085
7086
7087
7088
7089
7090
7091
7092
7093
7094
7095
7096
7097
7098
7099
7100
7101
7102
7103
7104
7105
7106
7107
7108
7109
7110
7111
7112
7113
7114
7115
7116
7117
7118
7119
7120
7121
7122
7123
7124
7125
7126
7127
7128
7129
7130
7131
7132
7133
7134
7135
7136
7137
7138
7139
7140
7141
7142
7143
7144
7145
7146
7147
7148
7149
7150
7151
7152
7153
7154
7155
7156
7157
7158
7159
7160
7161
7162
7163
7164
7165
7166
7167
7168
7169
7170
7171
7172
7173
7174
7175
7176
7177
7178
7179
7180
7181
7182
7183
7184
7185
7186
7187
7188
7189
7190
7191
7192
7193
7194
7195
7196
7197
7198
7199
7200
7201
7202
7203
7204
7205
7206
7207
7208
7209
7210
7211
7212
7213
7214
7215
7216
7217
7218
7219
7220
7221
7222
7223
7224
7225
7226
7227
7228
7229
7230
7231
7232
7233
7234
7235
7236
7237
7238
7239
7240
7241
7242
7243
7244
7245
7246
7247
7248
7249
7250
7251
7252
7253
7254
7255
7256
7257
7258
7259
7260
7261
7262
7263
7264
7265
7266
7267
7268
7269
7270
7271
7272
7273
7274
7275
7276
7277
7278
7279
7280
7281
7282
7283
7284
7285
7286
7287
7288
7289
7290
7291
7292
7293
7294
7295
7296
7297
7298
7299
7300
7301
7302
7303
7304
7305
7306
7307
7308
7309
7310
7311
7312
7313
7314
7315
7316
7317
7318
7319
7320
7321
7322
7323
7324
7325
7326
7327
7328
7329
7330
7331
7332
7333
7334
7335
7336
7337
7338
7339
7340
7341
7342
7343
7344
7345
7346
7347
7348
7349
7350
7351
7352
7353
7354
7355
7356
7357
7358
7359
7360
7361
7362
7363
7364
7365
7366
7367
7368
7369
7370
7371
7372
7373
7374
7375
7376
7377
7378
7379
7380
7381
7382
7383
7384
7385
7386
7387
7388
7389
7390
7391
7392
7393
7394
7395
7396
7397
7398
7399
7400
7401
7402
7403
7404
7405
7406
7407
7408
7409
7410
7411
7412
7413
7414
7415
7416
7417
7418
7419
7420
7421
7422
7423
7424
7425
7426
7427
7428
7429
7430
7431
7432
7433
7434
7435
7436
7437
7438
7439
7440
7441
7442
7443
7444
7445
7446
7447
7448
7449
7450
7451
7452
7453
7454
7455
7456
7457
7458
7459
7460
7461
7462
7463
7464
7465
7466
7467
7468
7469
7470
7471
7472
7473
7474
7475
7476
7477
7478
7479
7480
7481
7482
7483
7484
7485
7486
7487
7488
7489
7490
7491
7492
7493
7494
7495
7496
7497
7498
7499
7500
7501
7502
7503
7504
7505
7506
7507
7508
7509
7510
7511
7512
7513
7514
7515
7516
7517
7518
7519
7520
7521
7522
7523
7524
7525
7526
7527
7528
7529
7530
7531
7532
7533
7534
7535
7536
7537
7538
7539
7540
7541
7542
7543
7544
7545
7546
7547
7548
7549
7550
7551
7552
7553
7554
7555
7556
7557
7558
7559
7560
7561
7562
7563
7564
7565
7566
7567
7568
7569
7570
7571
7572
7573
7574
7575
7576
7577
7578
7579
7580
7581
7582
7583
7584
7585
7586
7587
7588
7589
7590
7591
7592
7593
7594
7595
7596
7597
7598
7599
7600
7601
7602
7603
7604
7605
7606
7607
7608
7609
7610
7611
7612
7613
7614
7615
7616
7617
7618
7619
7620
7621
7622
7623
7624
7625
7626
7627
7628
7629
7630
7631
7632
7633
7634
7635
7636
7637
7638
7639
7640
7641
7642
7643
7644
7645
7646
7647
7648
7649
7650
7651
7652
7653
7654
7655
7656
7657
7658
7659
7660
7661
7662
7663
7664
7665
7666
7667
7668
7669
7670
7671
7672
7673
7674
7675
7676
7677
7678
7679
7680
7681
7682
7683
7684
7685
7686
7687
7688
7689
7690
7691
7692
7693
7694
7695
7696
7697
7698
7699
7700
7701
7702
7703
7704
7705
7706
7707
7708
7709
7710
7711
7712
7713
7714
7715
7716
7717
7718
7719
7720
7721
7722
7723
7724
7725
7726
7727
7728
7729
7730
7731
7732
7733
7734
7735
7736
7737
7738
7739
7740
7741
7742
7743
7744
7745
7746
7747
7748
7749
7750
7751
7752
7753
7754
7755
7756
7757
7758
7759
7760
7761
7762
7763
7764
7765
7766
7767
7768
7769
7770
7771
7772
7773
7774
7775
7776
7777
7778
7779
7780
7781
7782
7783
7784
7785
7786
7787
7788
7789
7790
7791
7792
7793
7794
7795
7796
7797
7798
7799
7800
7801
7802
7803
7804
7805
7806
7807
7808
7809
7810
7811
7812
7813
7814
7815
7816
7817
7818
7819
7820
7821
7822
7823
7824
7825
7826
7827
7828
7829
7830
7831
7832
7833
7834
7835
7836
7837
7838
7839
7840
7841
7842
7843
7844
7845
7846
7847
7848
7849
7850
7851
7852
7853
7854
7855
7856
7857
7858
7859
7860
7861
7862
7863
7864
7865
7866
7867
7868
7869
7870
7871
7872
7873
7874
7875
7876
7877
7878
7879
7880
7881
7882
7883
7884
7885
7886
7887
7888
7889
7890
7891
7892
7893
7894
7895
7896
7897
7898
7899
7900
7901
7902
7903
7904
7905
7906
7907
7908
7909
7910
7911
7912
7913
7914
7915
7916
7917
7918
7919
7920
7921
7922
7923
7924
7925
7926
7927
7928
7929
7930
7931
7932
7933
7934
7935
7936
7937
7938
7939
7940
7941
7942
7943
7944
7945
7946
7947
7948
7949
7950
7951
7952
7953
7954
7955
7956
7957
7958
7959
7960
7961
7962
7963
7964
7965
7966
7967
7968
7969
7970
7971
7972
7973
7974
7975
7976
7977
7978
7979
7980
7981
7982
7983
7984
7985
7986
7987
7988
7989
7990
7991
7992
7993
7994
7995
7996
7997
7998
7999
8000
8001
8002
8003
8004
8005
8006
8007
8008
8009
8010
8011
8012
8013
8014
8015
8016
8017
8018
8019
8020
8021
8022
8023
8024
8025
8026
8027
8028
8029
8030
8031
8032
8033
8034
8035
8036
8037
8038
8039
8040
8041
8042
8043
8044
8045
8046
8047
8048
8049
8050
8051
8052
8053
8054
8055
8056
8057
8058
8059
8060
8061
8062
8063
8064
8065
8066
8067
8068
8069
8070
8071
8072
8073
8074
8075
8076
8077
8078
8079
8080
8081
8082
8083
8084
8085
8086
8087
8088
8089
8090
8091
8092
8093
8094
8095
8096
8097
8098
8099
8100
8101
8102
8103
8104
8105
8106
8107
8108
8109
8110
8111
8112
8113
8114
8115
8116
8117
8118
8119
8120
8121
8122
8123
8124
8125
8126
8127
8128
8129
8130
8131
8132
8133
8134
8135
8136
8137
8138
8139
8140
8141
8142
8143
8144
8145
8146
8147
8148
8149
8150
8151
8152
8153
8154
8155
8156
8157
8158
8159
8160
8161
8162
8163
8164
8165
8166
8167
8168
8169
8170
8171
8172
8173
8174
8175
8176
8177
8178
8179
8180
8181
8182
8183
8184
8185
8186
8187
8188
8189
8190
8191
8192
8193
8194
8195
8196
8197
8198
8199
8200
8201
8202
8203
8204
8205
8206
8207
8208
8209
8210
8211
8212
8213
8214
8215
8216
8217
8218
8219
8220
8221
8222
8223
8224
8225
8226
8227
8228
8229
8230
8231
8232
8233
8234
8235
8236
8237
8238
8239
8240
8241
8242
8243
8244
8245
8246
8247
8248
8249
8250
8251
8252
8253
8254
8255
8256
8257
8258
8259
8260
8261
8262
8263
8264
8265
8266
8267
8268
8269
8270
8271
8272
8273
8274
8275
8276
8277
8278
8279
8280
8281
8282
8283
8284
8285
8286
8287
8288
8289
8290
8291
8292
8293
8294
8295
8296
8297
8298
8299
8300
8301
8302
8303
8304
8305
8306
8307
8308
8309
8310
8311
8312
8313
8314
8315
8316
8317
8318
8319
8320
8321
8322
8323
8324
8325
8326
8327
8328
8329
8330
8331
8332
8333
8334
8335
8336
8337
8338
8339
8340
8341
8342
8343
8344
8345
8346
8347
8348
8349
8350
8351
8352
8353
8354
8355
8356
8357
8358
8359
8360
8361
8362
8363
8364
8365
8366
8367
8368
8369
8370
8371
8372
8373
8374
8375
8376
8377
8378
8379
8380
8381
8382
8383
8384
8385
8386
8387
8388
8389
8390
8391
8392
8393
8394
8395
8396
8397
8398
8399
8400
8401
8402
8403
8404
8405
8406
8407
8408
8409
8410
8411
8412
8413
8414
8415
8416
8417
8418
8419
8420
8421
8422
8423
8424
8425
8426
8427
8428
8429
8430
8431
8432
8433
8434
8435
8436
8437
8438
8439
8440
8441
8442
8443
8444
8445
8446
8447
8448
8449
8450
8451
8452
8453
8454
8455
8456
8457
8458
8459
8460
8461
8462
8463
8464
8465
8466
8467
8468
8469
8470
8471
8472
8473
8474
8475
8476
8477
8478
8479
8480
8481
8482
8483
8484
8485
8486
8487
8488
8489
8490
8491
8492
8493
8494
8495
8496
8497
8498
8499
8500
8501
8502
8503
8504
8505
8506
8507
8508
8509
8510
8511
8512
8513
8514
8515
8516
8517
8518
8519
8520
8521
8522
8523
8524
8525
8526
8527
8528
8529
8530
8531
8532
8533
8534
8535
8536
8537
8538
8539
8540
8541
8542
8543
8544
8545
8546
8547
8548
8549
8550
8551
8552
8553
8554
8555
8556
8557
8558
8559
8560
8561
8562
8563
8564
8565
8566
8567
8568
8569
8570
8571
8572
8573
8574
8575
8576
8577
8578
8579
8580
8581
8582
8583
8584
8585
8586
8587
8588
8589
8590
8591
8592
8593
8594
8595
8596
8597
8598
8599
8600
8601
8602
8603
8604
8605
8606
8607
8608
8609
8610
8611
8612
8613
8614
8615
8616
8617
8618
8619
8620
8621
8622
8623
8624
8625
8626
8627
8628
8629
8630
8631
8632
8633
8634
8635
8636
8637
8638
8639
8640
8641
8642
8643
8644
8645
8646
8647
8648
8649
8650
8651
8652
8653
8654
8655
8656
8657
8658
8659
8660
8661
8662
8663
8664
8665
8666
8667
8668
8669
8670
8671
8672
8673
8674
8675
8676
8677
8678
8679
8680
8681
8682
8683
8684
8685
8686
8687
8688
8689
8690
8691
8692
8693
8694
8695
8696
8697
8698
8699
8700
8701
8702
8703
8704
8705
8706
8707
8708
8709
8710
8711
8712
8713
8714
8715
8716
8717
8718
8719
8720
8721
8722
8723
8724
8725
8726
8727
8728
8729
8730
8731
8732
8733
8734
8735
8736
8737
8738
8739
8740
8741
8742
8743
8744
8745
8746
8747
8748
8749
8750
8751
8752
8753
8754
8755
8756
8757
8758
8759
8760
8761
8762
8763
8764
8765
8766
8767
8768
8769
8770
8771
8772
8773
8774
8775
8776
8777
8778
8779
8780
8781
8782
8783
8784
8785
8786
8787
8788
8789
8790
8791
8792
8793
8794
8795
8796
8797
8798
8799
8800
8801
8802
8803
8804
8805
8806
8807
8808
8809
8810
8811
8812
8813
8814
8815
8816
8817
8818
8819
8820
8821
8822
8823
8824
8825
8826
8827
8828
8829
8830
8831
8832
8833
8834
8835
8836
8837
8838
8839
8840
8841
8842
8843
8844
8845
8846
8847
8848
8849
8850
8851
8852
8853
8854
8855
8856
8857
8858
8859
8860
8861
8862
8863
8864
8865
8866
8867
8868
8869
8870
8871
8872
8873
8874
8875
8876
8877
8878
8879
8880
8881
8882
8883
8884
8885
8886
8887
8888
8889
8890
8891
8892
8893
8894
8895
8896
8897
8898
8899
8900
8901
8902
8903
8904
8905
8906
8907
8908
8909
8910
8911
8912
8913
8914
8915
8916
8917
8918
8919
8920
8921
8922
8923
8924
8925
8926
8927
8928
8929
8930
8931
8932
8933
8934
8935
8936
8937
8938
8939
8940
8941
8942
8943
8944
8945
8946
8947
8948
8949
8950
8951
8952
8953
8954
8955
8956
8957
8958
8959
8960
8961
8962
8963
8964
8965
8966
8967
8968
8969
8970
8971
8972
8973
8974
8975
8976
8977
8978
8979
8980
8981
8982
8983
8984
8985
8986
8987
8988
8989
8990
8991
8992
8993
8994
8995
8996
8997
8998
8999
9000
9001
9002
9003
9004
9005
9006
9007
9008
9009
9010
9011
9012
9013
9014
9015
9016
9017
9018
9019
9020
9021
9022
9023
9024
9025
9026
9027
9028
9029
9030
9031
9032
9033
9034
9035
9036
9037
9038
9039
9040
9041
9042
9043
9044
9045
9046
9047
9048
9049
9050
9051
9052
9053
9054
9055
9056
9057
9058
9059
9060
9061
9062
9063
9064
9065
9066
9067
9068
9069
9070
9071
9072
9073
9074
9075
9076
9077
9078
9079
9080
9081
9082
9083
9084
9085
9086
9087
9088
9089
9090
9091
9092
9093
9094
9095
9096
9097
9098
9099
9100
9101
9102
9103
9104
9105
9106
9107
9108
9109
9110
9111
9112
9113
9114
9115
9116
9117
9118
9119
9120
9121
9122
9123
9124
9125
9126
9127
9128
9129
9130
9131
9132
9133
9134
9135
9136
9137
9138
9139
9140
9141
9142
9143
9144
9145
9146
9147
9148
9149
9150
9151
9152
9153
9154
9155
9156
9157
9158
9159
9160
9161
9162
9163
9164
9165
9166
9167
9168
9169
9170
9171
9172
9173
9174
9175
9176
9177
9178
9179
9180
9181
9182
9183
9184
9185
9186
9187
9188
9189
9190
9191
9192
9193
9194
9195
9196
9197
9198
9199
9200
9201
9202
9203
9204
9205
9206
9207
9208
9209
9210
9211
9212
9213
9214
9215
9216
9217
9218
9219
9220
9221
9222
9223
9224
9225
9226
9227
9228
9229
9230
9231
9232
9233
9234
9235
9236
9237
9238
9239
9240
9241
9242
9243
9244
9245
9246
9247
9248
9249
9250
9251
9252
9253
9254
9255
9256
9257
9258
9259
9260
9261
9262
9263
9264
9265
9266
9267
9268
9269
9270
9271
9272
9273
9274
9275
9276
9277
9278
9279
9280
9281
9282
9283
9284
9285
9286
9287
9288
9289
9290
9291
9292
9293
9294
9295
9296
9297
9298
9299
9300
9301
9302
9303
9304
9305
9306
9307
9308
9309
9310
9311
9312
9313
9314
9315
9316
9317
9318
9319
9320
9321
9322
9323
9324
9325
9326
9327
9328
9329
9330
9331
9332
9333
9334
9335
9336
9337
9338
9339
9340
9341
9342
9343
9344
9345
9346
9347
9348
9349
9350
9351
9352
9353
9354
9355
9356
9357
9358
9359
9360
9361
9362
9363
9364
9365
9366
9367
9368
9369
9370
9371
9372
9373
9374
9375
9376
9377
9378
9379
9380
9381
9382
9383
9384
9385
9386
9387
9388
9389
9390
9391
9392
9393
9394
9395
9396
9397
9398
9399
9400
9401
9402
9403
9404
9405
9406
9407
9408
9409
9410
9411
9412
9413
9414
9415
9416
9417
9418
9419
9420
9421
9422
9423
9424
9425
9426
9427
9428
9429
9430
9431
9432
9433
9434
9435
9436
9437
9438
9439
9440
9441
9442
9443
9444
9445
9446
9447
9448
9449
9450
9451
9452
9453
9454
9455
9456
9457
9458
9459
9460
9461
9462
9463
9464
9465
9466
9467
9468
9469
9470
9471
9472
9473
9474
9475
9476
9477
9478
9479
9480
9481
9482
9483
9484
9485
9486
9487
9488
9489
9490
9491
9492
9493
9494
9495
9496
9497
9498
9499
9500
9501
9502
9503
9504
9505
9506
9507
9508
9509
9510
9511
9512
9513
9514
9515
9516
9517
9518
9519
9520
9521
9522
9523
9524
9525
9526
9527
9528
9529
9530
9531
9532
9533
9534
9535
9536
9537
9538
9539
9540
9541
9542
9543
9544
9545
9546
9547
9548
9549
9550
9551
9552
9553
9554
9555
9556
9557
9558
9559
9560
9561
9562
9563
9564
9565
9566
9567
9568
9569
9570
9571
9572
9573
9574
9575
9576
9577
9578
9579
9580
9581
9582
9583
9584
9585
9586
9587
9588
9589
9590
9591
9592
9593
9594
9595
9596
9597
9598
9599
9600
9601
9602
9603
9604
9605
9606
9607
9608
9609
9610
9611
9612
9613
9614
9615
9616
9617
9618
9619
9620
9621
9622
9623
9624
9625
9626
9627
9628
9629
9630
9631
9632
9633
9634
9635
9636
9637
9638
9639
9640
9641
9642
9643
9644
9645
9646
9647
9648
9649
9650
9651
9652
9653
9654
9655
9656
9657
9658
9659
9660
9661
9662
9663
9664
9665
9666
9667
9668
9669
9670
9671
9672
9673
9674
9675
9676
9677
9678
9679
9680
9681
9682
9683
9684
9685
9686
9687
9688
9689
9690
9691
9692
9693
9694
9695
9696
9697
9698
9699
9700
9701
9702
9703
9704
9705
9706
9707
9708
9709
9710
9711
9712
9713
9714
9715
9716
9717
9718
9719
9720
9721
9722
9723
9724
9725
9726
9727
9728
9729
9730
9731
9732
9733
9734
9735
9736
9737
9738
9739
9740
9741
9742
9743
9744
9745
9746
9747
9748
9749
9750
9751
9752
9753
9754
9755
9756
9757
9758
9759
9760
9761
9762
9763
9764
9765
9766
9767
9768
9769
9770
9771
9772
9773
9774
9775
9776
9777
9778
9779
9780
9781
9782
9783
9784
9785
9786
9787
9788
9789
9790
9791
9792
9793
9794
9795
9796
9797
9798
9799
9800
9801
9802
9803
9804
9805
9806
9807
9808
9809
9810
9811
9812
9813
9814
9815
9816
9817
9818
9819
9820
9821
9822
9823
9824
9825
9826
9827
9828
9829
9830
9831
9832
9833
9834
9835
9836
9837
9838
9839
9840
9841
9842
9843
9844
9845
9846
9847
9848
9849
9850
9851
9852
9853
9854
9855
9856
9857
9858
9859
9860
9861
9862
9863
9864
9865
9866
9867
9868
9869
9870
9871
9872
9873
9874
9875
9876
9877
9878
9879
9880
9881
9882
9883
9884
9885
9886
9887
9888
9889
9890
9891
9892
9893
9894
9895
9896
9897
9898
9899
9900
9901
9902
9903
9904
9905
9906
9907
9908
9909
9910
9911
9912
9913
9914
9915
9916
9917
9918
9919
9920
9921
9922
9923
9924
9925
9926
9927
9928
9929
9930
9931
9932
9933
9934
9935
9936
9937
9938
9939
9940
9941
9942
9943
9944
9945
9946
9947
9948
9949
9950
9951
9952
9953
9954
9955
9956
9957
9958
9959
9960
9961
9962
9963
9964
9965
9966
9967
9968
9969
9970
9971
9972
9973
9974
9975
9976
9977
9978
9979
9980
9981
9982
9983
9984
9985
9986
9987
9988
9989
9990
9991
9992
9993
9994
9995
9996
9997
9998
9999
10000
10001
10002
10003
10004
10005
10006
10007
10008
10009
10010
10011
10012
10013
10014
10015
10016
10017
10018
10019
10020
10021
10022
10023
10024
10025
10026
10027
10028
10029
10030
10031
10032
10033
10034
10035
10036
10037
10038
10039
10040
10041
10042
10043
10044
10045
10046
10047
10048
10049
10050
10051
10052
10053
10054
10055
10056
10057
10058
10059
10060
10061
10062
10063
10064
10065
10066
10067
10068
10069
10070
10071
10072
10073
10074
10075
10076
10077
10078
10079
10080
10081
10082
10083
10084
10085
10086
10087
10088
10089
10090
10091
10092
10093
10094
10095
10096
10097
10098
10099
10100
10101
10102
10103
10104
10105
10106
10107
10108
10109
10110
10111
10112
10113
10114
10115
10116
10117
10118
10119
10120
10121
10122
10123
10124
10125
10126
10127
10128
10129
10130
10131
10132
10133
10134
10135
10136
10137
10138
10139
10140
10141
10142
10143
10144
10145
10146
10147
10148
10149
10150
10151
10152
10153
10154
10155
10156
10157
10158
10159
10160
10161
10162
10163
10164
10165
10166
10167
10168
10169
10170
10171
10172
10173
10174
10175
10176
10177
10178
10179
10180
10181
10182
10183
10184
10185
10186
10187
10188
10189
10190
10191
10192
10193
10194
10195
10196
10197
10198
10199
10200
10201
10202
10203
10204
10205
10206
10207
10208
10209
10210
10211
10212
10213
10214
10215
10216
10217
10218
10219
10220
10221
10222
10223
10224
10225
10226
10227
10228
10229
10230
10231
10232
10233
10234
10235
10236
10237
10238
10239
10240
10241
10242
10243
10244
10245
10246
10247
10248
10249
10250
10251
10252
10253
10254
10255
10256
10257
10258
10259
10260
10261
10262
10263
10264
10265
10266
10267
10268
10269
10270
10271
10272
10273
10274
10275
10276
10277
10278
10279
10280
10281
10282
10283
10284
10285
10286
10287
10288
10289
10290
10291
10292
10293
10294
10295
10296
10297
10298
10299
10300
10301
10302
10303
10304
10305
10306
10307
10308
10309
10310
10311
10312
10313
10314
10315
10316
10317
10318
10319
10320
10321
10322
10323
10324
10325
10326
10327
10328
10329
10330
10331
10332
10333
10334
10335
10336
10337
10338
10339
10340
10341
10342
10343
10344
10345
10346
10347
10348
10349
10350
10351
10352
10353
10354
10355
10356
10357
10358
10359
10360
10361
10362
10363
10364
10365
10366
10367
10368
10369
10370
10371
10372
10373
10374
10375
10376
10377
10378
10379
10380
10381
10382
10383
10384
10385
10386
10387
10388
10389
10390
10391
10392
10393
10394
10395
10396
10397
10398
10399
10400
10401
10402
10403
10404
10405
10406
10407
10408
10409
10410
10411
10412
10413
10414
10415
10416
10417
10418
10419
10420
10421
10422
10423
10424
10425
10426
10427
10428
10429
10430
10431
10432
10433
10434
10435
10436
10437
10438
10439
10440
10441
10442
10443
10444
10445
10446
10447
10448
10449
10450
10451
10452
10453
10454
10455
10456
10457
10458
10459
10460
10461
10462
10463
10464
10465
10466
10467
10468
10469
10470
10471
10472
10473
10474
10475
10476
10477
10478
10479
10480
10481
10482
10483
10484
10485
10486
10487
10488
10489
10490
10491
10492
10493
10494
10495
10496
10497
10498
10499
10500
10501
10502
10503
10504
10505
10506
10507
10508
10509
10510
10511
10512
10513
10514
10515
10516
10517
10518
10519
10520
10521
10522
10523
10524
10525
10526
10527
10528
10529
10530
10531
10532
10533
10534
10535
10536
10537
10538
10539
10540
10541
10542
10543
10544
10545
10546
10547
10548
10549
10550
10551
10552
10553
10554
10555
10556
10557
10558
10559
10560
10561
10562
10563
10564
10565
10566
10567
10568
10569
10570
10571
10572
10573
10574
10575
10576
10577
10578
10579
10580
10581
10582
10583
10584
10585
10586
10587
10588
10589
10590
10591
10592
10593
10594
10595
10596
10597
10598
10599
10600
10601
10602
10603
10604
10605
10606
10607
10608
10609
10610
10611
10612
10613
10614
10615
10616
10617
10618
10619
10620
10621
10622
10623
10624
10625
10626
10627
10628
10629
10630
10631
10632
10633
10634
10635
10636
10637
10638
10639
10640
10641
10642
10643
10644
10645
10646
10647
10648
10649
10650
10651
10652
10653
10654
10655
10656
10657
10658
10659
10660
10661
10662
10663
10664
10665
10666
10667
10668
10669
10670
10671
10672
10673
10674
10675
10676
10677
10678
10679
10680
10681
10682
10683
10684
10685
10686
10687
10688
10689
10690
10691
10692
10693
10694
10695
10696
10697
10698
10699
10700
10701
10702
10703
10704
10705
10706
10707
10708
10709
10710
10711
10712
10713
10714
10715
10716
10717
10718
10719
10720
10721
10722
10723
10724
10725
10726
10727
10728
10729
10730
10731
10732
10733
10734
10735
10736
10737
10738
10739
10740
10741
10742
10743
10744
10745
10746
10747
10748
10749
10750
10751
10752
10753
10754
10755
10756
10757
10758
10759
10760
10761
10762
10763
10764
10765
10766
10767
10768
10769
10770
10771
10772
10773
10774
10775
10776
10777
10778
10779
10780
10781
10782
10783
10784
10785
10786
10787
10788
10789
10790
10791
10792
10793
10794
10795
10796
10797
10798
10799
10800
10801
10802
10803
10804
10805
10806
10807
10808
10809
10810
10811
10812
10813
10814
10815
10816
10817
10818
10819
10820
10821
10822
10823
10824
10825
10826
10827
10828
10829
10830
10831
10832
10833
10834
10835
10836
10837
10838
10839
10840
10841
10842
10843
10844
10845
10846
10847
10848
10849
10850
10851
10852
10853
10854
10855
10856
10857
10858
10859
10860
10861
10862
10863
10864
10865
10866
10867
10868
10869
10870
10871
10872
10873
10874
10875
10876
10877
10878
10879
10880
10881
10882
10883
10884
10885
10886
10887
10888
10889
10890
10891
10892
10893
10894
10895
10896
10897
10898
10899
10900
10901
10902
10903
10904
10905
10906
10907
10908
10909
10910
10911
10912
10913
10914
10915
10916
10917
10918
10919
10920
10921
10922
10923
10924
10925
10926
10927
10928
10929
10930
10931
10932
10933
10934
10935
10936
10937
10938
10939
10940
10941
10942
10943
10944
10945
10946
10947
10948
10949
10950
10951
10952
10953
10954
10955
10956
10957
10958
10959
10960
10961
10962
10963
10964
10965
10966
10967
10968
10969
10970
10971
10972
10973
10974
10975
10976
10977
10978
10979
10980
10981
10982
10983
10984
10985
10986
10987
10988
10989
10990
10991
10992
10993
10994
10995
10996
10997
10998
10999
11000
11001
11002
11003
11004
11005
11006
11007
11008
11009
11010
11011
11012
11013
11014
11015
11016
11017
11018
11019
11020
11021
11022
11023
11024
11025
11026
11027
11028
11029
11030
11031
11032
11033
11034
11035
11036
11037
11038
11039
11040
11041
11042
11043
11044
11045
11046
11047
11048
11049
11050
11051
11052
11053
11054
11055
11056
11057
11058
11059
11060
11061
11062
11063
11064
11065
11066
11067
11068
11069
11070
11071
11072
11073
11074
11075
11076
11077
11078
11079
11080
11081
11082
11083
11084
11085
11086
11087
11088
11089
11090
11091
11092
11093
11094
11095
11096
11097
11098
11099
11100
11101
11102
11103
11104
11105
11106
11107
11108
11109
11110
11111
11112
11113
11114
11115
11116
11117
11118
11119
11120
11121
11122
11123
11124
11125
11126
11127
11128
11129
11130
11131
11132
11133
11134
11135
11136
11137
11138
11139
11140
11141
11142
11143
11144
11145
11146
11147
11148
11149
11150
11151
11152
11153
11154
11155
11156
11157
11158
11159
11160
11161
11162
11163
11164
11165
11166
11167
11168
11169
11170
11171
11172
11173
11174
11175
11176
11177
11178
11179
11180
11181
11182
11183
11184
11185
11186
11187
11188
11189
11190
11191
11192
11193
11194
11195
11196
11197
11198
11199
11200
11201
11202
11203
11204
11205
11206
11207
11208
11209
11210
11211
11212
11213
11214
11215
11216
11217
11218
11219
11220
11221
11222
11223
11224
11225
11226
11227
11228
11229
11230
11231
11232
11233
11234
11235
11236
11237
11238
11239
11240
11241
11242
11243
11244
11245
11246
11247
11248
11249
11250
11251
11252
11253
11254
11255
11256
11257
11258
11259
11260
11261
11262
11263
11264
11265
11266
11267
11268
11269
11270
11271
11272
11273
11274
11275
11276
11277
11278
11279
11280
11281
11282
11283
11284
11285
11286
11287
11288
11289
11290
11291
11292
11293
11294
11295
11296
11297
11298
11299
11300
11301
11302
11303
11304
11305
11306
11307
11308
11309
11310
11311
11312
11313
11314
11315
11316
11317
11318
11319
11320
11321
11322
11323
11324
11325
11326
11327
11328
11329
11330
11331
11332
11333
11334
11335
11336
11337
11338
11339
11340
11341
11342
11343
11344
11345
11346
11347
11348
11349
11350
11351
11352
11353
11354
11355
11356
11357
11358
11359
11360
11361
11362
11363
11364
11365
11366
11367
11368
11369
11370
11371
11372
11373
11374
11375
11376
11377
11378
11379
11380
11381
11382
11383
11384
11385
11386
11387
11388
11389
11390
11391
11392
11393
11394
11395
11396
11397
11398
11399
11400
11401
11402
11403
11404
11405
11406
11407
11408
11409
11410
11411
11412
11413
11414
11415
11416
11417
11418
11419
11420
11421
11422
11423
11424
11425
11426
11427
11428
11429
11430
11431
11432
11433
11434
11435
11436
11437
11438
11439
11440
11441
11442
11443
11444
11445
11446
11447
11448
11449
11450
11451
11452
11453
11454
11455
11456
11457
11458
11459
11460
11461
11462
11463
11464
11465
11466
11467
11468
11469
11470
11471
11472
11473
11474
11475
11476
11477
11478
11479
11480
11481
11482
11483
11484
11485
11486
11487
11488
11489
11490
11491
11492
11493
11494
11495
11496
11497
11498
11499
11500
11501
11502
11503
11504
11505
11506
11507
11508
11509
11510
11511
11512
11513
11514
11515
11516
11517
11518
11519
11520
11521
11522
11523
11524
11525
11526
11527
11528
11529
11530
11531
11532
11533
11534
11535
11536
11537
11538
11539
11540
11541
11542
11543
11544
11545
11546
11547
11548
11549
11550
11551
11552
11553
11554
11555
11556
11557
11558
11559
11560
11561
11562
11563
11564
11565
11566
11567
11568
11569
11570
11571
11572
11573
11574
11575
11576
11577
11578
11579
11580
11581
11582
11583
11584
11585
11586
11587
11588
11589
11590
11591
11592
11593
11594
11595
11596
11597
11598
11599
11600
11601
11602
11603
11604
11605
11606
11607
11608
11609
11610
11611
11612
11613
11614
11615
11616
11617
11618
11619
11620
11621
11622
11623
11624
11625
11626
11627
11628
11629
11630
11631
11632
11633
11634
11635
11636
11637
11638
11639
11640
11641
11642
11643
11644
11645
11646
11647
11648
11649
11650
11651
11652
11653
11654
11655
11656
11657
11658
11659
11660
11661
11662
11663
11664
11665
11666
11667
11668
11669
11670
11671
11672
11673
11674
11675
11676
11677
11678
11679
11680
11681
11682
11683
11684
11685
11686
11687
11688
11689
11690
11691
11692
11693
11694
11695
11696
11697
11698
11699
11700
11701
11702
11703
11704
11705
11706
11707
11708
11709
11710
11711
11712
11713
11714
11715
11716
11717
11718
11719
11720
11721
11722
11723
11724
11725
11726
11727
11728
11729
11730
11731
11732
11733
11734
11735
11736
11737
11738
11739
11740
11741
11742
11743
11744
11745
11746
11747
11748
11749
11750
11751
11752
11753
11754
11755
11756
11757
11758
11759
11760
11761
11762
11763
11764
11765
11766
11767
11768
11769
11770
11771
11772
11773
11774
11775
11776
11777
11778
11779
11780
11781
11782
11783
11784
11785
11786
11787
11788
11789
11790
11791
11792
11793
11794
11795
11796
11797
11798
11799
11800
11801
11802
11803
11804
11805
11806
11807
11808
11809
11810
11811
11812
11813
11814
11815
11816
11817
11818
11819
11820
11821
11822
11823
11824
11825
11826
11827
11828
11829
11830
11831
11832
11833
11834
11835
11836
11837
11838
11839
11840
11841
11842
11843
11844
11845
11846
11847
11848
11849
11850
11851
11852
11853
11854
11855
11856
11857
11858
11859
11860
11861
11862
11863
11864
11865
11866
11867
11868
11869
11870
11871
11872
11873
11874
11875
11876
11877
11878
11879
11880
11881
11882
11883
11884
11885
11886
11887
11888
11889
11890
11891
11892
11893
11894
11895
11896
11897
11898
11899
11900
11901
11902
11903
11904
11905
11906
11907
11908
11909
11910
11911
11912
11913
11914
11915
11916
11917
11918
11919
11920
11921
11922
11923
11924
11925
11926
11927
11928
11929
11930
11931
11932
11933
11934
11935
11936
11937
11938
11939
11940
11941
11942
11943
11944
11945
11946
11947
11948
11949
11950
11951
11952
11953
11954
11955
11956
11957
11958
11959
11960
11961
11962
11963
11964
11965
11966
11967
11968
11969
11970
11971
11972
11973
11974
11975
11976
11977
11978
11979
11980
11981
11982
11983
11984
11985
11986
11987
11988
11989
11990
11991
11992
11993
11994
11995
11996
11997
11998
11999
12000
12001
12002
12003
12004
12005
12006
12007
12008
12009
12010
12011
12012
12013
12014
12015
12016
12017
12018
12019
12020
12021
12022
12023
12024
12025
12026
12027
12028
12029
12030
12031
12032
12033
12034
12035
12036
12037
12038
12039
12040
12041
12042
12043
12044
12045
12046
12047
12048
12049
12050
12051
12052
12053
12054
12055
12056
12057
12058
12059
12060
12061
12062
12063
12064
12065
12066
12067
12068
12069
12070
12071
12072
12073
12074
12075
12076
12077
12078
12079
12080
12081
12082
12083
12084
12085
12086
12087
12088
12089
12090
12091
12092
12093
12094
12095
12096
12097
12098
12099
12100
12101
12102
12103
12104
12105
12106
12107
12108
12109
12110
12111
12112
12113
12114
12115
12116
12117
12118
12119
12120
12121
12122
12123
12124
12125
12126
12127
12128
12129
12130
12131
12132
12133
12134
12135
12136
12137
12138
12139
12140
12141
12142
12143
12144
12145
12146
12147
12148
12149
12150
12151
12152
12153
12154
12155
12156
12157
12158
12159
12160
12161
12162
12163
12164
12165
12166
12167
12168
12169
12170
12171
12172
12173
12174
12175
12176
12177
12178
12179
12180
12181
12182
12183
12184
12185
12186
12187
12188
12189
12190
12191
12192
12193
12194
12195
12196
12197
12198
12199
12200
12201
12202
12203
12204
12205
12206
12207
12208
12209
12210
12211
12212
12213
12214
12215
12216
12217
12218
12219
12220
12221
12222
12223
12224
12225
12226
12227
12228
12229
12230
12231
12232
12233
12234
12235
12236
12237
12238
12239
12240
12241
12242
12243
12244
12245
12246
12247
12248
12249
12250
12251
12252
12253
12254
12255
12256
12257
12258
12259
12260
12261
12262
12263
12264
12265
12266
12267
12268
12269
12270
12271
12272
12273
12274
12275
12276
12277
12278
12279
12280
12281
12282
12283
12284
12285
12286
12287
12288
12289
12290
12291
12292
12293
12294
12295
12296
12297
12298
12299
12300
12301
12302
12303
12304
12305
12306
12307
12308
12309
12310
12311
12312
12313
12314
12315
12316
12317
12318
12319
12320
12321
12322
12323
12324
12325
12326
12327
12328
12329
12330
12331
12332
12333
12334
12335
12336
12337
12338
12339
12340
12341
12342
12343
12344
12345
12346
12347
12348
12349
12350
12351
12352
12353
12354
12355
12356
12357
12358
12359
12360
12361
12362
12363
12364
12365
12366
12367
12368
12369
12370
12371
12372
12373
12374
12375
12376
12377
12378
12379
12380
12381
12382
12383
12384
12385
12386
12387
12388
12389
12390
12391
12392
12393
12394
12395
12396
12397
12398
12399
12400
12401
12402
12403
12404
12405
12406
12407
12408
12409
12410
12411
12412
12413
12414
12415
12416
12417
12418
12419
12420
12421
12422
12423
12424
12425
12426
12427
12428
12429
12430
12431
12432
12433
12434
12435
12436
12437
12438
12439
12440
12441
12442
12443
12444
12445
12446
12447
12448
12449
12450
12451
12452
12453
12454
12455
12456
12457
12458
12459
12460
12461
12462
12463
12464
12465
12466
12467
12468
12469
12470
12471
12472
12473
12474
12475
12476
12477
12478
12479
12480
12481
12482
12483
12484
12485
12486
12487
12488
12489
12490
12491
12492
12493
12494
12495
12496
12497
12498
12499
12500
12501
12502
12503
12504
12505
12506
12507
12508
12509
12510
12511
12512
12513
12514
12515
12516
12517
12518
12519
12520
12521
12522
12523
12524
12525
12526
12527
12528
12529
12530
12531
12532
12533
12534
12535
12536
12537
12538
12539
12540
12541
12542
12543
12544
12545
12546
12547
12548
12549
12550
12551
12552
12553
12554
12555
12556
12557
12558
12559
12560
12561
12562
12563
12564
12565
12566
12567
12568
12569
12570
12571
12572
12573
12574
12575
12576
12577
12578
12579
12580
12581
12582
12583
12584
12585
12586
12587
12588
12589
12590
12591
12592
12593
12594
12595
12596
12597
12598
12599
12600
12601
12602
12603
12604
12605
12606
12607
12608
12609
12610
12611
12612
12613
12614
12615
12616
12617
12618
12619
12620
12621
12622
12623
12624
12625
12626
12627
12628
12629
12630
12631
12632
12633
12634
12635
12636
12637
12638
12639
12640
12641
12642
12643
12644
12645
12646
12647
12648
12649
12650
12651
12652
12653
12654
12655
12656
12657
12658
12659
12660
12661
12662
12663
12664
12665
12666
12667
12668
12669
12670
12671
12672
12673
12674
12675
12676
12677
12678
12679
12680
12681
12682
12683
12684
12685
12686
12687
12688
12689
12690
12691
12692
12693
12694
12695
12696
12697
12698
12699
12700
12701
12702
12703
12704
12705
12706
12707
12708
12709
12710
12711
12712
12713
12714
12715
12716
12717
12718
12719
12720
12721
12722
12723
12724
12725
12726
12727
12728
12729
12730
12731
12732
12733
12734
12735
12736
12737
12738
12739
12740
12741
12742
12743
12744
12745
12746
12747
12748
12749
12750
12751
12752
12753
12754
12755
12756
12757
12758
12759
12760
12761
12762
12763
12764
12765
12766
12767
12768
12769
12770
12771
12772
12773
12774
12775
12776
12777
12778
12779
12780
12781
12782
12783
12784
12785
12786
12787
12788
12789
12790
12791
12792
12793
12794
12795
12796
12797
12798
12799
12800
12801
12802
12803
12804
12805
12806
12807
12808
12809
12810
12811
12812
12813
12814
12815
12816
12817
12818
12819
12820
12821
12822
12823
12824
12825
12826
12827
12828
12829
12830
12831
12832
12833
12834
12835
12836
12837
12838
12839
12840
12841
12842
12843
12844
12845
12846
12847
12848
12849
12850
12851
12852
12853
12854
12855
12856
12857
12858
12859
12860
12861
12862
12863
12864
12865
12866
12867
12868
12869
12870
12871
12872
12873
12874
12875
12876
12877
12878
12879
12880
12881
12882
12883
12884
12885
12886
12887
12888
12889
12890
12891
12892
12893
12894
12895
12896
12897
12898
12899
12900
12901
12902
12903
12904
12905
12906
12907
12908
12909
12910
12911
12912
12913
12914
12915
12916
12917
12918
12919
12920
12921
12922
12923
12924
12925
12926
12927
12928
12929
12930
12931
12932
12933
12934
12935
12936
12937
12938
12939
12940
12941
12942
12943
12944
12945
12946
12947
12948
12949
12950
12951
12952
12953
12954
12955
12956
12957
12958
12959
12960
12961
12962
12963
12964
12965
12966
12967
12968
12969
12970
12971
12972
12973
12974
12975
12976
12977
12978
12979
12980
12981
12982
12983
12984
12985
12986
12987
12988
12989
12990
12991
12992
12993
12994
12995
12996
12997
12998
12999
13000
13001
13002
13003
13004
13005
13006
13007
13008
13009
13010
13011
13012
13013
13014
13015
13016
13017
13018
13019
13020
13021
13022
13023
13024
13025
13026
13027
13028
13029
13030
13031
13032
13033
13034
13035
13036
13037
13038
13039
13040
13041
13042
13043
13044
13045
13046
13047
13048
13049
13050
13051
13052
13053
13054
13055
13056
13057
13058
13059
13060
13061
13062
13063
13064
13065
13066
13067
13068
13069
13070
13071
13072
13073
13074
13075
13076
13077
13078
13079
13080
13081
13082
13083
13084
13085
13086
13087
13088
13089
13090
13091
13092
13093
13094
13095
13096
13097
13098
13099
13100
13101
13102
13103
13104
13105
13106
13107
13108
13109
13110
13111
13112
13113
13114
13115
13116
13117
13118
13119
13120
13121
13122
13123
13124
13125
13126
13127
13128
13129
13130
13131
13132
13133
13134
13135
13136
13137
13138
13139
13140
13141
13142
13143
13144
13145
13146
13147
13148
13149
13150
13151
13152
13153
13154
13155
13156
13157
13158
13159
13160
13161
13162
13163
13164
13165
13166
13167
13168
13169
13170
13171
13172
13173
13174
13175
13176
13177
13178
13179
13180
13181
13182
13183
13184
13185
13186
13187
13188
13189
13190
13191
13192
13193
13194
13195
13196
13197
13198
13199
13200
13201
13202
13203
13204
13205
13206
13207
13208
13209
13210
13211
13212
13213
13214
13215
13216
13217
13218
13219
13220
13221
13222
13223
13224
13225
13226
13227
13228
13229
13230
13231
13232
13233
13234
13235
13236
13237
13238
13239
13240
13241
13242
13243
13244
13245
13246
13247
13248
13249
13250
13251
13252
13253
13254
13255
13256
13257
13258
13259
13260
13261
13262
13263
13264
13265
13266
13267
13268
13269
13270
13271
13272
13273
13274
13275
13276
13277
13278
13279
13280
13281
13282
13283
13284
13285
13286
13287
13288
13289
13290
13291
13292
13293
13294
13295
13296
13297
13298
13299
13300
13301
13302
13303
13304
13305
13306
13307
13308
13309
13310
13311
13312
13313
13314
13315
13316
13317
13318
13319
13320
13321
13322
13323
13324
13325
13326
13327
13328
13329
13330
13331
13332
13333
13334
13335
13336
13337
13338
13339
13340
13341
13342
13343
13344
13345
13346
13347
13348
13349
13350
13351
13352
13353
13354
13355
13356
13357
13358
13359
13360
13361
13362
13363
13364
13365
13366
13367
13368
13369
13370
13371
13372
13373
13374
13375
13376
13377
13378
13379
13380
13381
13382
13383
13384
13385
13386
13387
13388
13389
13390
13391
13392
13393
13394
13395
13396
13397
13398
13399
13400
13401
13402
13403
13404
13405
13406
13407
13408
13409
13410
13411
13412
13413
13414
13415
13416
13417
13418
13419
13420
13421
13422
13423
13424
13425
13426
13427
13428
13429
13430
13431
13432
13433
13434
13435
13436
13437
13438
13439
13440
13441
13442
13443
13444
13445
13446
13447
13448
13449
13450
13451
13452
13453
13454
13455
13456
13457
13458
13459
13460
13461
13462
13463
13464
13465
13466
13467
13468
13469
13470
13471
13472
13473
13474
13475
13476
13477
13478
13479
13480
13481
13482
13483
13484
13485
13486
13487
13488
13489
13490
13491
13492
13493
13494
13495
13496
13497
13498
13499
13500
13501
13502
13503
13504
13505
13506
13507
13508
13509
13510
13511
13512
13513
13514
13515
13516
13517
13518
13519
13520
13521
13522
13523
13524
13525
13526
13527
13528
13529
13530
13531
13532
13533
13534
13535
13536
13537
13538
13539
13540
13541
13542
13543
13544
13545
13546
13547
13548
13549
13550
13551
13552
13553
13554
13555
13556
13557
13558
13559
13560
13561
13562
13563
13564
13565
13566
13567
13568
13569
13570
13571
13572
13573
13574
13575
13576
13577
13578
13579
13580
13581
13582
13583
13584
13585
13586
13587
13588
13589
13590
13591
13592
13593
13594
13595
13596
13597
13598
13599
13600
13601
13602
13603
13604
13605
13606
13607
13608
13609
13610
13611
13612
13613
13614
13615
13616
13617
13618
13619
13620
13621
13622
13623
13624
13625
13626
13627
13628
13629
13630
13631
13632
13633
13634
13635
13636
13637
13638
13639
13640
13641
13642
13643
13644
13645
13646
13647
13648
13649
13650
13651
13652
13653
13654
13655
13656
13657
13658
13659
13660
13661
13662
13663
13664
13665
13666
13667
13668
13669
13670
13671
13672
13673
13674
13675
13676
13677
13678
13679
13680
13681
13682
13683
13684
13685
13686
13687
13688
13689
13690
13691
13692
13693
13694
13695
13696
13697
13698
13699
13700
13701
13702
13703
13704
13705
13706
13707
13708
13709
13710
13711
13712
13713
13714
13715
13716
13717
13718
13719
13720
13721
13722
13723
13724
13725
13726
13727
13728
13729
13730
13731
13732
13733
13734
13735
13736
13737
13738
13739
13740
13741
13742
13743
13744
13745
13746
13747
13748
13749
13750
13751
13752
13753
13754
13755
13756
13757
13758
13759
13760
13761
13762
13763
13764
13765
13766
13767
13768
13769
13770
13771
13772
13773
13774
13775
13776
13777
13778
13779
13780
13781
13782
13783
13784
13785
13786
13787
13788
13789
13790
13791
13792
13793
13794
13795
13796
13797
13798
13799
13800
13801
13802
13803
13804
13805
13806
13807
13808
13809
13810
13811
13812
13813
13814
13815
13816
13817
13818
13819
13820
13821
13822
13823
13824
13825
13826
13827
13828
13829
13830
13831
13832
13833
13834
13835
13836
13837
13838
13839
13840
13841
13842
13843
13844
13845
13846
13847
13848
13849
13850
13851
13852
13853
13854
13855
13856
13857
13858
13859
13860
13861
13862
13863
13864
13865
13866
13867
13868
13869
13870
13871
13872
13873
13874
13875
13876
13877
13878
13879
13880
13881
13882
13883
13884
13885
13886
13887
13888
13889
13890
13891
13892
13893
13894
13895
13896
13897
13898
13899
13900
13901
13902
13903
13904
13905
13906
13907
13908
13909
13910
13911
13912
13913
13914
13915
13916
13917
13918
13919
13920
13921
13922
13923
13924
13925
13926
13927
13928
13929
13930
13931
13932
13933
13934
13935
13936
13937
13938
13939
13940
13941
13942
13943
13944
13945
13946
13947
13948
13949
13950
13951
13952
13953
13954
13955
13956
13957
13958
13959
13960
13961
13962
13963
13964
13965
13966
13967
13968
13969
13970
13971
13972
13973
13974
13975
13976
13977
13978
13979
13980
13981
13982
13983
13984
13985
13986
13987
13988
13989
13990
13991
13992
13993
13994
13995
13996
13997
13998
13999
14000
14001
14002
14003
14004
14005
14006
14007
14008
14009
14010
14011
14012
14013
14014
14015
14016
14017
14018
14019
14020
14021
14022
14023
14024
14025
14026
14027
14028
14029
14030
14031
14032
14033
14034
14035
14036
14037
14038
14039
14040
14041
14042
14043
14044
14045
14046
14047
14048
14049
14050
14051
14052
14053
14054
14055
14056
14057
14058
14059
14060
14061
14062
14063
14064
14065
14066
14067
14068
14069
14070
14071
14072
14073
14074
14075
14076
14077
14078
14079
14080
14081
14082
14083
14084
14085
14086
14087
14088
14089
14090
14091
14092
14093
14094
14095
14096
14097
14098
14099
14100
14101
14102
14103
14104
14105
14106
14107
14108
14109
14110
14111
14112
14113
14114
14115
14116
14117
14118
14119
14120
14121
14122
14123
14124
14125
14126
14127
14128
14129
14130
14131
14132
14133
14134
14135
14136
14137
14138
14139
14140
14141
14142
14143
14144
14145
14146
14147
14148
14149
14150
14151
14152
14153
14154
14155
14156
14157
14158
14159
14160
14161
14162
14163
14164
14165
14166
14167
14168
14169
14170
14171
14172
14173
14174
14175
14176
14177
14178
14179
14180
14181
14182
14183
14184
14185
14186
14187
14188
14189
14190
14191
14192
14193
14194
14195
14196
14197
14198
14199
14200
14201
14202
14203
14204
14205
14206
14207
14208
14209
14210
14211
14212
14213
14214
14215
14216
14217
14218
14219
14220
14221
14222
14223
14224
14225
14226
14227
14228
14229
14230
14231
14232
14233
14234
14235
14236
14237
14238
14239
14240
14241
14242
14243
14244
14245
14246
14247
14248
14249
14250
14251
14252
14253
14254
14255
14256
14257
14258
14259
14260
14261
14262
14263
14264
14265
14266
14267
14268
14269
14270
14271
14272
14273
14274
14275
14276
14277
14278
14279
14280
14281
14282
14283
14284
14285
14286
14287
14288
14289
14290
14291
14292
14293
14294
14295
14296
14297
14298
14299
14300
14301
14302
14303
14304
14305
14306
14307
14308
14309
14310
14311
14312
14313
14314
14315
14316
14317
14318
14319
14320
14321
14322
14323
14324
14325
14326
14327
14328
14329
14330
14331
14332
14333
14334
14335
14336
14337
14338
14339
14340
14341
14342
14343
14344
14345
14346
14347
14348
14349
14350
14351
14352
14353
14354
14355
14356
14357
14358
14359
14360
14361
14362
14363
14364
14365
14366
14367
14368
14369
14370
14371
14372
14373
14374
14375
14376
14377
14378
14379
14380
14381
14382
14383
14384
14385
14386
14387
14388
14389
14390
14391
14392
14393
14394
14395
14396
14397
14398
14399
14400
14401
14402
14403
14404
14405
14406
14407
14408
14409
14410
14411
14412
14413
14414
14415
14416
14417
14418
14419
14420
14421
14422
14423
14424
14425
14426
14427
14428
14429
14430
14431
14432
14433
14434
14435
14436
14437
14438
14439
14440
14441
14442
14443
14444
14445
14446
14447
14448
14449
14450
14451
14452
14453
14454
14455
14456
14457
14458
14459
14460
14461
14462
14463
14464
14465
14466
14467
14468
14469
14470
14471
14472
14473
14474
14475
14476
14477
14478
14479
14480
14481
14482
14483
14484
14485
14486
14487
14488
14489
14490
14491
14492
14493
14494
14495
14496
14497
14498
14499
14500
14501
14502
14503
14504
14505
14506
14507
14508
14509
14510
14511
14512
14513
14514
14515
14516
14517
14518
14519
14520
14521
14522
14523
14524
14525
14526
14527
14528
14529
14530
14531
14532
14533
14534
14535
14536
14537
14538
14539
14540
14541
14542
14543
14544
14545
14546
14547
14548
14549
14550
14551
14552
14553
14554
14555
14556
14557
14558
14559
14560
14561
14562
14563
14564
14565
14566
14567
14568
14569
14570
14571
14572
14573
14574
14575
14576
14577
14578
14579
14580
14581
14582
14583
14584
14585
14586
14587
14588
14589
14590
14591
14592
14593
14594
14595
14596
14597
14598
14599
14600
14601
14602
14603
14604
14605
14606
14607
14608
14609
14610
14611
14612
14613
14614
14615
14616
14617
14618
14619
14620
14621
14622
14623
14624
14625
14626
14627
14628
14629
14630
14631
14632
14633
14634
14635
14636
14637
14638
14639
14640
14641
14642
14643
14644
14645
14646
14647
14648
14649
14650
14651
14652
14653
14654
14655
14656
14657
14658
14659
14660
14661
14662
14663
14664
14665
14666
14667
14668
14669
14670
14671
14672
14673
14674
14675
14676
14677
14678
14679
14680
14681
14682
14683
14684
14685
14686
14687
14688
14689
14690
14691
14692
14693
14694
14695
14696
14697
14698
14699
14700
14701
14702
14703
14704
14705
14706
14707
14708
14709
14710
14711
14712
14713
14714
14715
14716
14717
14718
14719
14720
14721
14722
14723
14724
14725
14726
14727
14728
14729
14730
14731
14732
14733
14734
14735
14736
14737
14738
14739
14740
14741
14742
14743
14744
14745
14746
14747
14748
14749
14750
14751
14752
14753
14754
14755
14756
14757
14758
14759
14760
14761
14762
14763
14764
14765
14766
14767
14768
14769
14770
14771
14772
14773
14774
14775
14776
14777
14778
14779
14780
14781
14782
14783
14784
14785
14786
14787
14788
14789
14790
14791
14792
14793
14794
14795
14796
14797
14798
14799
14800
14801
14802
14803
14804
14805
14806
14807
14808
14809
14810
14811
14812
14813
14814
14815
14816
14817
14818
14819
14820
14821
14822
14823
14824
14825
14826
14827
14828
14829
14830
14831
14832
14833
14834
14835
14836
14837
14838
14839
14840
14841
14842
14843
14844
14845
14846
14847
14848
14849
14850
14851
14852
14853
14854
14855
14856
14857
14858
14859
14860
14861
14862
14863
14864
14865
14866
14867
14868
14869
14870
14871
14872
14873
14874
14875
14876
14877
14878
14879
14880
14881
14882
14883
14884
14885
14886
14887
14888
14889
14890
14891
14892
14893
14894
14895
14896
14897
14898
14899
14900
14901
14902
14903
14904
14905
14906
14907
14908
14909
14910
14911
14912
14913
14914
14915
14916
14917
14918
14919
14920
14921
14922
14923
14924
14925
14926
14927
14928
14929
14930
14931
14932
14933
14934
14935
14936
14937
14938
14939
14940
14941
14942
14943
14944
14945
14946
14947
14948
14949
14950
14951
14952
14953
14954
14955
14956
14957
14958
14959
14960
14961
14962
14963
14964
14965
14966
14967
14968
14969
14970
14971
14972
14973
14974
14975
14976
14977
14978
14979
14980
14981
14982
14983
14984
14985
14986
14987
14988
14989
14990
14991
14992
14993
14994
14995
14996
14997
14998
14999
15000
15001
15002
15003
15004
15005
15006
15007
15008
15009
15010
15011
15012
15013
15014
15015
15016
15017
15018
15019
15020
15021
15022
15023
15024
15025
15026
15027
15028
15029
15030
15031
15032
15033
15034
15035
15036
15037
15038
15039
15040
15041
15042
15043
15044
15045
15046
15047
15048
15049
15050
15051
15052
15053
15054
15055
15056
15057
15058
15059
15060
15061
15062
15063
15064
15065
15066
15067
15068
15069
15070
15071
15072
15073
15074
15075
15076
15077
15078
15079
15080
15081
15082
15083
15084
15085
15086
15087
15088
15089
15090
15091
15092
15093
15094
15095
15096
15097
15098
15099
15100
15101
15102
15103
15104
15105
15106
15107
15108
15109
15110
15111
15112
15113
15114
15115
15116
15117
15118
15119
15120
15121
15122
15123
15124
15125
15126
15127
15128
15129
15130
15131
15132
15133
15134
15135
15136
15137
15138
15139
15140
15141
15142
15143
15144
15145
15146
15147
15148
15149
15150
15151
15152
15153
15154
15155
15156
15157
15158
15159
15160
15161
15162
15163
15164
15165
15166
15167
15168
15169
15170
15171
15172
15173
15174
15175
15176
15177
15178
15179
15180
15181
15182
15183
15184
15185
15186
15187
15188
15189
15190
15191
15192
15193
15194
15195
15196
15197
15198
15199
15200
15201
15202
15203
15204
15205
15206
15207
15208
15209
15210
15211
15212
15213
15214
15215
15216
15217
15218
15219
15220
15221
15222
15223
15224
15225
15226
15227
15228
15229
15230
15231
15232
15233
15234
15235
15236
15237
15238
15239
15240
15241
15242
15243
15244
15245
15246
15247
15248
15249
15250
15251
15252
15253
15254
15255
15256
15257
15258
15259
15260
15261
15262
15263
15264
15265
15266
15267
15268
15269
15270
15271
15272
15273
15274
15275
15276
15277
15278
15279
15280
15281
15282
15283
15284
15285
15286
15287
15288
15289
15290
15291
15292
15293
15294
15295
15296
15297
15298
15299
15300
15301
15302
15303
15304
15305
15306
15307
15308
15309
15310
15311
15312
15313
15314
15315
15316
15317
15318
15319
15320
15321
15322
15323
15324
15325
15326
15327
15328
15329
15330
15331
15332
15333
15334
15335
15336
15337
15338
15339
15340
15341
15342
15343
15344
15345
15346
15347
15348
15349
15350
15351
15352
15353
15354
15355
15356
15357
15358
15359
15360
15361
15362
15363
15364
15365
15366
15367
15368
15369
15370
15371
15372
15373
15374
15375
15376
15377
15378
15379
15380
15381
15382
15383
15384
15385
15386
15387
15388
15389
15390
15391
15392
15393
15394
15395
15396
15397
15398
15399
15400
15401
15402
15403
15404
15405
15406
15407
15408
15409
15410
15411
15412
15413
15414
15415
15416
15417
15418
15419
15420
15421
15422
15423
15424
15425
15426
15427
15428
15429
15430
15431
15432
15433
15434
15435
15436
15437
15438
15439
15440
15441
15442
15443
15444
15445
15446
15447
15448
15449
15450
15451
15452
15453
15454
15455
15456
15457
15458
15459
15460
15461
15462
15463
15464
15465
15466
15467
15468
15469
15470
15471
15472
15473
15474
15475
15476
15477
15478
15479
15480
15481
15482
15483
15484
15485
15486
15487
15488
15489
15490
15491
15492
15493
15494
15495
15496
15497
15498
15499
15500
15501
15502
15503
15504
15505
15506
15507
15508
15509
15510
15511
15512
15513
15514
15515
15516
15517
15518
15519
15520
15521
15522
15523
15524
15525
15526
15527
15528
15529
15530
15531
15532
15533
15534
15535
15536
15537
15538
15539
15540
15541
15542
15543
15544
15545
15546
15547
15548
15549
15550
15551
15552
15553
15554
15555
15556
15557
15558
15559
15560
15561
15562
15563
15564
15565
15566
15567
15568
15569
15570
15571
15572
15573
15574
15575
15576
15577
15578
15579
15580
15581
15582
15583
15584
15585
15586
15587
15588
15589
15590
15591
15592
15593
15594
15595
15596
15597
15598
15599
15600
15601
15602
15603
15604
15605
15606
15607
15608
15609
15610
15611
15612
15613
15614
15615
15616
15617
15618
15619
15620
15621
15622
15623
15624
15625
15626
15627
15628
15629
15630
15631
15632
15633
15634
15635
15636
15637
15638
15639
15640
15641
15642
15643
15644
15645
15646
15647
15648
15649
15650
15651
15652
15653
15654
15655
15656
15657
15658
15659
15660
15661
15662
15663
15664
15665
15666
15667
15668
15669
15670
15671
15672
15673
15674
15675
15676
15677
15678
15679
15680
15681
15682
15683
15684
15685
15686
15687
15688
15689
15690
15691
15692
15693
15694
15695
15696
15697
15698
15699
15700
15701
15702
15703
15704
15705
15706
15707
15708
15709
15710
15711
15712
15713
15714
15715
15716
15717
15718
15719
15720
15721
15722
15723
15724
15725
15726
15727
15728
15729
15730
15731
15732
15733
15734
15735
15736
15737
15738
15739
15740
15741
15742
15743
15744
15745
15746
15747
15748
15749
15750
15751
15752
15753
15754
15755
15756
15757
15758
15759
15760
15761
15762
15763
15764
15765
15766
15767
15768
15769
15770
15771
15772
15773
15774
15775
15776
15777
15778
15779
15780
15781
15782
15783
15784
15785
15786
15787
15788
15789
15790
15791
15792
15793
15794
15795
15796
15797
15798
15799
15800
15801
15802
15803
15804
15805
15806
15807
15808
15809
15810
15811
15812
15813
15814
15815
15816
15817
15818
15819
15820
15821
15822
15823
15824
15825
15826
15827
15828
15829
15830
15831
15832
15833
15834
15835
15836
15837
15838
15839
15840
15841
15842
15843
15844
15845
15846
15847
15848
15849
15850
15851
15852
15853
15854
15855
15856
15857
15858
15859
15860
15861
15862
15863
15864
15865
15866
15867
15868
15869
15870
15871
15872
15873
15874
15875
15876
15877
15878
15879
15880
15881
15882
15883
15884
15885
15886
15887
15888
15889
15890
15891
15892
15893
15894
15895
15896
15897
15898
15899
15900
15901
15902
15903
15904
15905
15906
15907
15908
15909
15910
15911
15912
15913
15914
15915
15916
15917
15918
15919
15920
15921
15922
15923
15924
15925
15926
15927
15928
15929
15930
15931
15932
15933
15934
15935
15936
15937
15938
15939
15940
15941
15942
15943
15944
15945
15946
15947
15948
15949
15950
15951
15952
15953
15954
15955
15956
15957
15958
15959
15960
15961
15962
15963
15964
15965
15966
15967
15968
15969
15970
15971
15972
15973
15974
15975
15976
15977
15978
15979
15980
15981
15982
15983
15984
15985
15986
15987
15988
15989
15990
15991
15992
15993
=== release 1.26.10 ===

2025-12-25 15:44:26 +0100  Tim-Philipp Müller <tim@centricular.com>

	* NEWS:
	* RELEASE:
	* gst-plugins-bad.doap:
	* meson.build:
	  Release 1.26.10

2025-12-18 18:23:56 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* gst-libs/gst/codecs/gsth265decoder.c:
	* gst-libs/gst/codecs/gsth266decoder.c:
	  codecs: h265/h266dec: Do not try to output failed frames
	  "end_picture()" virtual function may fail due to various reason, one of them
	  being that a flush is happening. Since the picture failed, the subclass may have
	  flushed any picture data from it, and will likely throw an error or crash when
	  trying to output.
	  These two decoder simply didn't care unlike all the other. Use similar technique
	  as used in h264dec, which is to mark the frame as not for output.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/10431>

2025-12-18 15:38:55 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* sys/v4l2codecs/gstv4l2codecav1dec.c:
	* sys/v4l2codecs/gstv4l2codecvp9dec.c:
	  v4l2codecs: av1/vp9: Properly propagate flow ret such as FLUSHING
	  Some of the decoder would simply turn any flow return into an ERROR, which
	  can be noisy when the original flow return is FLUSHING due to a normal flush
	  condition.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/10431>

2025-12-18 15:37:38 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* sys/v4l2codecs/gstv4l2codecav1dec.c:
	* sys/v4l2codecs/gstv4l2codecvp8dec.c:
	  v4l2codecs: av1/vp9: Fix request leak on error
	  The request was not being freed property if there was an error. Typically a
	  flush / seek operation could cause this.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/10431>

2025-12-18 15:35:07 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* sys/v4l2codecs/gstv4l2codech264dec.c:
	* sys/v4l2codecs/gstv4l2codech265dec.c:
	* sys/v4l2codecs/gstv4l2codecmpeg2dec.c:
	* sys/v4l2codecs/gstv4l2codecvp8dec.c:
	  v4l2codecs: Assert and return on missing request
	  The base class isn't supposed to output a picture that has never been
	  requested or for which the request has been removed by the flush operation.
	  Make sure to crash this kind of programming error with an assert, while
	  protecting against crash in this case.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/10431>

2025-12-17 14:24:31 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst/mxf/mxfdemux.c:
	* gst/mxf/mxfdemux.h:
	  mxfdemux: Simplify timestamp tracking
	  Apart from keeping less state around this also calculates more accurate
	  timestamps because of tracking everything in terms of edit units instead of
	  nanoseconds.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/10406>

2025-12-17 11:57:01 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst/mxf/mxfdemux.h:
	  mxfdemux: Switch edit unit position tracking to unsigned integers
	  These can never become negative and the only negative number in use is
	  -1 for "unset", which maps equally well to G_MAXUINT64.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/10406>

2025-12-11 21:53:04 -0500  Aaron Boxer <aaron.boxer@collabora.com>

	* gst-libs/gst/play/gstplay.c:
	  play: do not call gst_pb_utils_get_codec_description if caps are not fixed
	  this avoids throwing a (harmless) exception when stream selection is
	  called before pipeline is linked
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/10394>

2025-12-17 18:58:14 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst/aiff/aiffparse.c:
	* gst/aiff/aiffparse.h:
	  aiffparse: Remove segment closing on non-flushing seeks
	  That's a 0.10 leftover and not necessary anymore, and can confuse downstream
	  elements unnecessarily.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/10400>

2025-12-17 18:53:26 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst/mxf/mxfdemux.c:
	* gst/mxf/mxfdemux.h:
	  mxfdemux: Remove segment closing on non-flushing seeks
	  That's a 0.10 leftover and not necessary anymore, and can confuse downstream
	  elements unnecessarily.
	  Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/4803
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/10400>

2025-12-17 10:23:25 +0900  jeongmin kwak <jeongmin.kwak@lge.com>

	* ext/aes/gstaesdec.c:
	  aesdec: use gsize for buffer sizes and fix log format
	  Replace casts with gsize in gst_aes_dec_prepare_output_buffer() and use
	  G_GSIZE_FORMAT for logging to avoid truncation and warnings.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/10398>

2025-11-28 14:40:49 +0900  jeongmin kwak <jeongmin.kwak@lge.com>

	* ext/aes/gstaesenc.c:
	  aesenc: use gsize for buffer sizes and fix log format
	  Replace casts with gsize in gst_aes_enc_prepare_output_buffer() and use
	  G_GSIZE_FORMAT for logging to avoid truncation and warnings.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/10398>

2025-12-17 11:07:18 +0900  jeongmin kwak <jeongmin.kwak@lge.com>

	* ext/hls/gsthlssink.c:
	  hlssink: Guard NULL structure and use gst_structure_has_name()
	  Prevent NULL dereference by checking gst_message_get_structure()
	  result before accessing fields. Replace strcmp() with
	  gst_structure_has_name() for safe structure name comparison.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/10395>

2025-12-16 13:05:19 +0100  François Laignel <francois@centricular.com>

	* gst/mxf/mxfdemux.c:
	  mxfdemux: send event SegmentDone for segment seeks
	  ... instead of sending an EOS event in that case.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/10391>

2025-12-13 11:29:03 +0200  Sebastian Dröge <sebastian@centricular.com>

	* ext/fdkaac/gstfdkaacdec.c:
	  fdkaacdec: Invalidate channel_types/indices when setting a known config
	  Otherwise switching from an unknown config (which is then mapped one by one) to
	  a known config and then back to the same unknown config makes it use invalid
	  cached channel positions.
	  Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/4791
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/10373>

2025-11-26 20:09:20 +0100  Jakub Adam <jakub.adam@collabora.com>

	* ext/dtls/gstdtlsdec.c:
	  dtlsdec: mark generated cert agent with GST_OBJECT_FLAG_MAY_BE_LEAKED
	  So that it is ignored by the leaks tracer.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/10371>

2025-12-09 11:12:12 +0100  Hyunjun Ko <zzoon@igalia.com>

	* gst-libs/gst/vulkan/gstvkformat.c:
	  vkformat: Add VK_FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16 format
	  Add support for VK_FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16,
	  which is the Vulkan equivalent of P010.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/10360>

2025-12-04 16:40:25 -0600  Brad Reitmeyer <brad.reitmeyer@resi.io>

	* sys/decklink/gstdecklinkvideosink.cpp:
	  decklinkvideosink: Fix frame completion callbacks for firmware 14.3+
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/10322>

2025-12-06 10:25:21 +0000  Philippe Normand <philn@igalia.com>

	* ext/webrtc/transportstream.c:
	* gst-libs/gst/webrtc/nice/nice.c:
	  webrtc: Keep a ref of the ICEStream in the TransportStream
	  By doing so we avoid potential race conditions. The libnice ICE implementation
	  was then adapted to comply with the transfer-full return value of the
	  `gst_webrtc_ice_add_stream()` vfunc.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/10318>

2025-12-05 09:19:34 +0200  Sebastian Dröge <sebastian@centricular.com>

	* sys/va/gstvabasedec.c:
	  vabasedec: Don't assert when negotiating based on a gap event before the first buffer
	  Instead fall back to the video decoder base class `decide_allocation()` until
	  the minimum number of required buffers is known, which is usually the case after
	  the codec parameters (sequence header) are read.
	  While the minimum number of buffers is known ahead of time for some codecs like AV1,
	  we still only set it once the codec parameters are parsed as otherwise an unused
	  VA buffer pool will already be created together with surface allocations for the
	  gap event. This pool will be deallocated again shortly afterwards, just to
	  create a new pool with the correct configuration.
	  Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/4779
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/10302>

2025-12-04 12:57:26 +0800  Yun Liu <yun.m.liu@intel.com>

	* gst-libs/gst/analytics/meson.build:
	  analytics: Fix build on MSVC by using libm dependency
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/10288>

2025-10-08 02:31:50 -0400  Doug Nazar <nazard@nazar.ca>

	* ext/curl/gstcurlbasesink.c:
	* ext/curl/gstcurldefaults.h:
	* ext/curl/gstcurlhttpsink.c:
	* ext/curl/gstcurlhttpsrc.c:
	  curl: Ensure set_opt() is called with a long value
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/10274>

2025-03-16 20:23:48 -0400  Doug Nazar <nazard@nazar.ca>

	* ext/curl/gstcurlhttpsrc.c:
	  curl: Fix pushing incorrect buffers after seek
	  We must stop any existing transfer when seeking or we may push buffers
	  from the old request that downstream isn't expecting, causing decode errors.
	  Fixes: https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/issues/579
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/10274>

2025-03-16 20:17:58 -0400  Doug Nazar <nazard@nazar.ca>

	* ext/curl/gstcurlhttpsrc.c:
	  curl: Cleanup logging of received headers
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/10274>

2021-05-11 23:54:49 -0400  Doug Nazar <nazard@nazar.ca>

	* ext/curl/gstcurlhttpsrc.c:
	  curl: Fix content size reported
	  During a range request, the Content-Length header only reports the
	  length transfered. The Content-Range header should report the total
	  length if known. The current code would inconsistently use either
	  or race and use the wrong length.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/10274>

2025-06-12 11:45:33 -0300  L. E. Segovia <amy@amyspark.me>

	* ext/curl/gstcurlhttpsrc.c:
	  curl: Recover missing comment
	  See https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8974#note_2955585
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/10274>

2025-05-13 12:22:08 +0000  L. E. Segovia <amy@centricular.com>

	* ext/curl/gstcurlhttpsrc.c:
	  curl: Fix wrong format specifier for macOS
	  > ../ext/curl/gstcurlhttpsrc.c:1331:11: error: format specifies type
	  > unsigned long long' but the argument has type 'curl_off_t' (aka 'long') [-Werror,-Wformat]
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/10274>

2021-05-11 23:58:54 -0400  Doug Nazar <nazard@nazar.ca>

	* ext/curl/gstcurlhttpsrc.c:
	* ext/curl/gstcurlhttpsrc.h:
	  curl: remove unused content_type field
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/10274>

2021-05-08 21:23:46 -0400  Doug Nazar <nazard@nazar.ca>

	* ext/curl/gstcurlhttpsrc.c:
	* tests/check/elements/curlhttpsrc.c:
	  curl: Reset request status on uri change
	  We need to stop the current transfer and start a new one if the uri
	  was changed. Also fix the 'test_range_get' to do 20 requests, instead
	  of one request and 19 seeks past EOS.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/10274>

2025-12-02 17:52:34 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst/midi/midiparse.c:
	  midiparse: Fix a couple of potential out-of-bounds reads
	  Also use an unsigned integer for parsing variable length integers as shifting
	  bits out of the sign bit is undefined behaviour.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/10280>

2025-11-28 15:12:37 +0200  Vivia Nikolaidou <vivia@ahiru.eu>

	* gst/mxf/mxfmpeg.c:
	  mxfmpeg: Add custom Sony picture essence coding UL
	  Sony seems to use 06.0e.2b.34.04.01.01.03.0e.06.41.02 as prefix for
	  their custom picture essence codings, and specifically the MPEG one
	  potentially uses the same semantics.
	  This comes from a file with:
	  picture essence coding 06.0e.2b.34.04.01.01.03.0e.06.41.02.01.04.03.01
	  codec 00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00
	  essence container 06.0e.2b.34.04.01.01.02.0d.01.03.01.02.04.60.01
	  which seemed to be XDCAM, aka decodable as MPEG-2.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/10271>

2022-04-01 05:54:29 +1100  Jan Schmidt <jan@centricular.com>

	* gst/mpegtsmux/gstbasetsmux.c:
	  mpegtsmux: Fix potential deadlock changing pmt-interval
	  The object lock is the innermost lock. Don't take
	  the mux->lock while holding it.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/10272>

2025-12-01 17:32:18 +0000  Tim-Philipp Müller <tim@centricular.com>

	* meson.build:
	  Back to development after 1.26.9

=== release 1.26.9 ===

2025-12-01 17:27:07 +0000  Tim-Philipp Müller <tim@centricular.com>

	* NEWS:
	* RELEASE:
	* gst-plugins-bad.doap:
	* meson.build:
	  Release 1.26.9

2025-12-01 17:58:22 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst/mxf/mxfmux.c:
	  mxfmux: Fix memset usage
	  This was supposed to clear the local, stack-allocated struct and not set another
	  pointer to NULL in a complicated way.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/10255>

2025-11-20 12:42:48 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* gst/unixfd/gstunixfdsrc.c:
	  unixfdsrc: Keep dmabuf mapped
	  The unixfdsrc has as equal use for CPU access and device access. Keeping the CPU
	  address mapping is preferable, with not down side for device access.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/10164>

2025-11-20 12:41:10 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* gst-libs/gst/va/gstvaallocator.c:
	  va: allocator: Keep dmabuf mapped
	  VA buffers are rarely access from CPU, but if this is someone use case, it is
	  preferable to keep the CPU address mapping around since this isn't cheap to
	  create each time we map/unmap the buffer.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/10164>

2025-12-01 13:00:14 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst/mpegtsdemux/tsdemux.c:
	  tsdemux: Consider DTS in private streams as audio instead of private
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/10251>

2025-11-21 15:48:05 -0500  Dominique Leroux <dominique.p.leroux@gmail.com>

	* sys/applemedia/vtdec.c:
	  vtdec: Fix race condition in decoder draining. Fluster runs were unstable
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/10231>

2025-10-15 06:49:03 +0530  Nirbheek Chauhan <nirbheek@centricular.com>

	* ext/sctp/sctpassociation.c:
	  sctp: Fix GMutex leak
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/10141>

2025-10-15 04:35:27 +0530  Nirbheek Chauhan <nirbheek@centricular.com>

	* sys/applemedia/vtenc.c:
	  vtenc: Fix a leak when setting caps
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/10141>

2025-11-21 10:59:14 +0100  Hyunjun Ko <zzoon@igalia.com>

	* gst-libs/gst/vulkan/gstvkvideo-private.c:
	* gst-libs/gst/vulkan/gstvkvideo-private.h:
	  vkvideo-private: Replace GstBuffer with GstMemory array for video sessions
	  GstBuffer has a maximum limit on the number of memories it can hold
	  (GST_BUFFER_MEM_MAX, typically 16). However, Vulkan video sessions
	  can require more memories than this limit - for example, AV1 decoding
	  on ANV requires over 30 memories.
	  This fixes AV1 decoding on ANV and any other scenarios where video
	  sessions require more than 16 memory allocations.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/10185>

2025-11-20 14:04:59 +0100  Hyunjun Ko <zzoon@igalia.com>

	* gst-libs/gst/vulkan/gstvkvideo-private.c:
	  vkvideo-private: fix to use correct index for picking a memory type
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/10185>

2025-11-21 11:41:41 +0200  Sebastian Dröge <sebastian@centricular.com>

	* sys/aja/gstajasink.cpp:
	  ajasink: Remove parity bits from ancillary meta DID/SDID before passing further
	  The GstAncillaryMeta contains the parity bits but the AJA SDK expects them
	  without.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/10171>

2025-11-20 13:48:16 +0100  Hyunjun Ko <zzoon@igalia.com>

	* ext/vulkan/vkh265dec.c:
	  vkh265dec: fix a typo
	  This fixes also H265 decoding with LTR on ANV.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/10170>

2024-03-15 23:11:20 +1100  Jan Schmidt <jan@centricular.com>

	* gst/mpegtsmux/tsmux/tsmux.c:
	  mpegtsmux: Avoid infinite recursion writing PCR packets
	  If scheduling a PCR packet from tsmux_packet_out(), or
	  already writing one, don't do the PCR checks that can
	  recurse infinitely and crash.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/10150>

2025-11-05 15:37:25 +0100  Jordan Yelloz <jordan.yelloz@collabora.com>

	* gst-libs/gst/play/gstplay.c:
	  gstplay: Fixed wrong initial configuration
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/10122>

2025-11-17 10:24:17 +0900  dongjoo.kim <dongjoo.kim@lge.com>

	* gst/mxf/mxfffv1.c:
	  mxfdemux: Fix typo on mxf_ffv1_create_caps
	  In this section, the p value cannot be NULL, so it is dead code.
	  However, if you refer to the code in mxf_ffv1_get_track_wrapping,
	  you can see that you should check desc, not p.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/10116>

2025-11-03 11:23:36 +0900  jeongmin kwak <jeongmin.kwak@lge.com>

	* gst-libs/gst/mpegts/gst-scte-section.c:
	  scte-section: fix missing cleanup and clarify event ownership on parse failure
	  Free only the allocated component when _parse_splice_component() fails,
	  leaving event cleanup to the caller to maintain proper ownership.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/10093>

2025-11-12 16:53:32 -0800  Matthew Semeniuk <megaman22342@live.ca>

	* gst-libs/gst/vulkan/gstvkqueue.h:
	  vulkan: add G_DECLS to gstvkqueue
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/10085>

2025-11-12 16:53:05 -0800  Matthew Semeniuk <megaman22342@live.ca>

	* gst-libs/gst/vulkan/gstvkcommandpool.h:
	  vulkan: add G_DECLS to gstvkcommandpool
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/10085>

2025-06-18 14:25:17 +0900  dongjoo.kim <dongjoo.kim@lge.com>

	* gst/id3tag/id3tag.c:
	  id3tag: Fix resource leak
	  When latin1 is not NULL and latin1[0] is '\0'
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/10067>

2025-10-31 16:59:45 +0900  jeongmin kwak <jeongmin.kwak@lge.com>

	* gst-libs/gst/analytics/gstanalyticsmeta.c:
	  analyticsmeta: Initialize span to avoid undefined behavior
	  Fix uninitialized scalar variable by setting 'span' when max_relation_span is non-negative.
	  Prevents potential issues when accessing adjacency matrix.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/10060>

2025-11-10 17:30:54 +0000  Tim-Philipp Müller <tim@centricular.com>

	* meson.build:
	  Back to development after 1.26.8

=== release 1.26.8 ===

2025-11-10 17:22:05 +0000  Tim-Philipp Müller <tim@centricular.com>

	* NEWS:
	* RELEASE:
	* gst-plugins-bad.doap:
	* meson.build:
	  Release 1.26.8

2025-11-10 13:21:43 +0100  Kevin Scott <kevin.scott@axis.com>

	* ext/dtls/gstdtlsconnection.c:
	  dtlsconnection: Increase DTLS MTU to 1200
	  Returning 0 defaults the MTU to 256 in OpenSSL, which is too small for some
	  handshake messages. An MTU of 1200 prevents certificate fragmentation
	  and potential message reordering. Chromium does something similar:
	  https://chromium.googlesource.com/external/webrtc/+/06b8f7e/rtc_base/openssl_stream_adapter.cc#259
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/10055>

2025-06-16 16:40:07 +0900  dongjoo.kim <dongjoo.kim@lge.com>

	* gst-libs/gst/wayland/gstwllinuxdmabuf.c:
	  wayland: Fix using uninitialized value of data.wbuf
	  There are cases which it goes to "out" without initializing data.wbuf
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/10052>

2025-11-04 13:48:12 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst/timecode/gstavwait.c:
	  avwait: Unify conditions between the different modes
	  And as part of that fix a couple of mode changes while running, e.g.
	  starting recording in video-first mode, then switching to running time mode and
	  only setting an end running time.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/10040>

2025-11-05 12:37:42 +0200  Rares Branici <rares.branici@senstar.com>

	* gst-libs/gst/d3d12/gstd3d12converter.cpp:
	  d3d12converter: Initialize video_direction
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/10024>

2025-11-05 12:37:01 +0200  Rares Branici <rares.branici@senstar.com>

	* gst-libs/gst/d3d11/gstd3d11converter.cpp:
	  d3d11converter: Initialize video_direction
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/10024>

2025-10-31 10:51:48 +0100  Loïc Le Page <llepage@igalia.com>

	* gst-libs/gst/codecparsers/gsth264parser.c:
	* tests/check/libs/h264parser.c:
	  gsth264parser: fix uint32 to int32 truncation
	  The H264 parser is using int32 to compute the framerate numerator and
	  denominator while the SPS block holding the original values used for
	  this computation are stored on uint32. On corner cases it may lead to a
	  truncation of the final values leading to an invalid framerate.
	  This patch is shifting right the numerator and denominator until both
	  values may be stored on int32. It may introduce a small computation
	  error with odd values but negligeable taking into account the huge
	  initial values > max_int32.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9973>

2025-10-31 17:20:31 +0900  jeongmin kwak <jeongmin.kwak@lge.com>

	* gst-libs/gst/mpegts/gst-scte-section.c:
	  scte-section: fix resource leak in splice component parsing
	  Free the `component` buffer in the error path of `gst_scte_section_parse()`
	  to prevent a memory leak when an error occurs after allocation.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9971>

2025-10-26 16:06:26 +0000  Jan Schmidt <jan@centricular.com>

	* gst/mpegtsmux/gstbasetsmux.c:
	* gst/mpegtsmux/tsmux/tsmuxstream.c:
	  mpegtsmux: Split large non-video PES packets
	  MPEG-TS PES packets have a maximum payload size of 65535 bytes
	  (including the header bytes). For larger incoming payloads,
	  split them into maximum-size PES packets. Video packets are
	  allowed to be unbounded
	  When breaking incoming buffers across PES packet payloads, only
	  the first should carry the incoming PTS/DTS
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9954>

2025-10-26 16:06:26 +0000  Jan Schmidt <jan@centricular.com>

	* gst/mpegtsmux/tsmux/tsmuxstream.c:
	  mpegtsmux: Use some named constants instead of hard-coded values
	  Make some code a bit more readable
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9954>

2025-10-29 14:17:28 +0900  jeongmin kwak <jeongmin.kwak@lge.com>

	* sys/v4l2codecs/gstv4l2decoder.c:
	  v4l2codecs: Free sub-request on allocation failure
	  If gst_vec_deque_pop_head() returns NULL, a new GstV4l2Request is allocated.
	  Free it on MEDIA_IOC_REQUEST_ALLOC failure to avoid memory leak.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9947>

2025-08-09 22:51:03 +0900  Seungha Yang <seungha@centricular.com>

	* sys/wasapi2/gstwasapi2activator.cpp:
	  wasapi2: Tone down activation fail log
	  If there's no endpoint available, that failure is expected error
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9896>

2025-08-05 00:41:34 +0900  Seungha Yang <seungha@centricular.com>

	* sys/wasapi2/gstwasapi2activator.cpp:
	* sys/wasapi2/gstwasapi2activator.h:
	  wasapi2: Handle GetActivateResult failure
	  Even if GetActivateResult() succeeded, activation result can fail.
	  Checks output HRESULT code as well
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9896>

2025-10-25 16:14:49 +0100  He Junyan <junyan.he@intel.com>

	* gst/videoparsers/gstav1parse.c:
	  av1parse: Fix duplicated frames issue in frame splitting
	  This fix a bug where we append two frames into one buffer despite trying to
	  split stream into unique frames.
	  Fixes #4701
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9906>

2025-04-01 14:46:23 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* gst/codecalpha/gstalphacombine.c:
	  alphacombine: Only reset once both pads are done flushing
	  Since reset also removes the blocking pad probe, this meant that the
	  new mechanism only worked if the main pads received flush-stop first.
	  Keep both pad implementation symmetrical and reset once both pads
	  have received the event.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9905>

2025-10-16 14:34:48 +0200  Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>

	* gst/mpegtsmux/tsmux/tsmux.c:
	  tsmux: Reset PUSI flag after writing stream packet
	  Otherwise we might accidentally set it on a PCR-only packet when we pad
	  the stream on a subsequent write.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9899>

2025-10-16 11:35:57 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* gst/rist/gstristsink.c:
	  ristsink: Fix double free regression
	  The rtpext element was leaked in error path and fixed in MR !9756, but the
	  rtpext owner ship is later passed to a bin using gst_bin_add(). Ref-sync the
	  rtpext element so we can unref it in finalize() function without any special
	  cases.
	  Fixes #4707
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9859>

2024-09-21 00:53:11 +0200  Michael Grzeschik <m.grzeschik@pengutronix.de>

	* sys/uvcgadget/gstuvcsink.c:
	  uvcgadget: always ensure to switch to fakesink
	  In the case we transition the uvcsink to toggle between ready and
	  playing we have to ensure to always switch between fakesink and
	  v4l2sink.
	  Using the already linked v4l2sink a second time does curr ntly not work
	  when we restart the stream and therefor switch to streaming again.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9860>

2025-10-15 11:38:29 +0200  David Maseda Neira <david.maseda@cinfo.es>

	* ext/x265/gstx265enc.c:
	  x265enc: Calculate latency based on encoder parameters
	  Estimate latency based on lookahead queue depth + bframes + number of
	  encoding threads.
	  Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/4697
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9852>

2025-10-14 18:34:39 +0100  Tim-Philipp Müller <tim@centricular.com>

	* meson.build:
	  Back to development after 1.26.7

=== release 1.26.7 ===

2025-10-14 18:25:43 +0100  Tim-Philipp Müller <tim@centricular.com>

	* NEWS:
	* RELEASE:
	* gst-plugins-bad.doap:
	* meson.build:
	  Release 1.26.7

2025-10-09 08:09:33 +0200  Branko Subasic <branko.subasic@axis.com>

	* gst/mpegtsmux/gstbasetsmux.c:
	  mpegtsmux: Properly check if pads are EOS in find_best_pad
	  In find_best_pad(), when checking if a pad is EOS we use the macro
	  GST_PAD_IS_EOS. But the aggregator pads will not propagate EOS received
	  on it's sinkpads until it has received EOS on all of them. Instead the
	  EOS event is put in the queue, which means that GST_PAD_IS_EOS will
	  return FALSE.
	  This makes find_best_pad() fail to find a best pad when all but one sink
	  pad has received EOS, and have no data left in their queues, and the
	  last one has data. The problem is solved by modifying find_best_pad() to
	  use gst_aggregator_pad_is_eos() instead.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9821>

2025-10-08 14:05:07 +0200  Branko Subasic <branko.subasic@axis.com>

	* ext/closedcaption/gstcea608mux.c:
	  cea608mux: Properly check if pads are EOS in find_best_pad
	  In find_best_pad(), when checking if a pad is EOS we use the macro
	  GST_PAD_IS_EOS. But the aggregator pads will not propagate EOS received
	  on it's sinkpads until it has received EOS on all of them. Instead the
	  EOS event is put in the queue, which means that GST_PAD_IS_EOS will
	  return FALSE.
	  This makes find_best_pad() fail to find a best pad when all but one sink
	  pad has received EOS, and have no data left in their queues, and the
	  last one has data. The problem is solved by modifying find_best_pad() to
	  use gst_aggregator_pad_is_eos() instead.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9821>

2025-10-07 12:25:07 +0100  Philippe Normand <philn@igalia.com>

	* gst-libs/gst/webrtc/nice/nice.c:
	  webrtc: nice: Fix a use-after-free and a mem leak
	  `new_candidate` was freed too early and `new_addr` wasn't freed in case of early
	  return from the on_candidate_resolved function.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9816>

2025-09-26 16:58:38 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/cuda/gstcudanvrtc.cpp:
	  cuda: Fix runtime kernel compile with CUDA 13.0
	  Instead of hardcoded value, checks compute compatibility at runtime
	  Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/4655
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9769>

2025-09-22 12:00:32 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst/mpegtsdemux/tsdemux.c:
	  tsdemux: Directly forward Opus AUs without `opus_control_header`
	  ffmpeg does the same, assuming that it's raw Opus data.
	  ZLMediaKit is producing MPEG-TS like this and probably nobody ever noticed
	  because ffmpeg allows for this, so let's work around their bugs and handle it
	  the same way as ffmpeg.
	  See https://github.com/ZLMediaKit/ZLMediaKit/issues/4461
	  Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/4645
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9765>

2025-09-25 22:42:12 -0400  Doug Nazar <nazard@nazar.ca>

	* ext/lv2/gstlv2utils.c:
	* ext/teletextdec/gstteletextdec.c:
	* gst/rist/gstristsink.c:
	* gst/rist/gstristsrc.c:
	* sys/decklink/gstdecklinkvideosink.cpp:
	* sys/uvcgadget/gstuvcsink.c:
	  gst: Fix a few small leaks
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9761>

2025-09-24 19:37:00 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12convert.cpp:
	  d3d12convert: Fix crop meta support
	  When in/output caps are identical, even if downstream didn't propose
	  pool, always respond to support crop meta
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9743>

2025-09-23 09:06:09 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst/mpegtsmux/gstbasetsmux.c:
	  tsmux: Write a full Opus channel configuration if no matching Vorbis one is found
	  Instead of simply failing negotiation despite the stream being supported.
	  Without this the following pipeline will fail:
	  audiotestsrc is-live=true ! audio/x-raw,channels=8 ! opusenc ! mpegtsmux ! fakesink
	  opusenc selects the Vorbis channel layout family but a channel-mapping that is
	  not one of the ones supported by the short MPEG-TS Opus channel configurations.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9733>

2025-09-22 10:09:48 +0800  Cheah, Vincent Beng Keat <vincent.beng.keat.cheah@intel.com>

	* sys/va/gstvacompositor.c:
	  vacompositor: Correct scale-method properties
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9726>

2025-09-08 17:50:32 -0400  Doug Nazar <nazard@nazar.ca>

	* ext/closedcaption/gstcea608mux.c:
	* gst/audiomixmatrix/gstaudiomixmatrix.c:
	* gst/debugutils/gsttestsrcbin.c:
	  gst: Don't use g_assert() around production code
	  If G_DISABLE_ASSERT is defined the code will not be compiled.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9721>

2025-09-16 19:00:47 +0530  Nirbheek Chauhan <nirbheek@centricular.com>

	* ext/isac/meson.build:
	  isac: Suppress warning about -Wno-virtual-dtor on Fedora
	  The absl pkgconfig files on Fedora contain -Wnon-virtual-dtor in
	  Cflags: even though pc files should not contain -W flags. Worse, our
	  plugin is written in C but that's a C++ argument so GCC emits
	  a warning about that.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9715>

2025-09-16 16:38:22 -0700  Xavier Claessens <xclaessens@netflix.com>

	* gst/unixfd/gstunixfd.c:
	* tests/check/elements/unixfd.c:
	  unixfd: Fix case of buffer with big payload
	  In the case a buffer has big meta serialization, for example if it
	  contains a GstBuffer, the payload cannot be sent/received in a single
	  call.
	  Idealy we should serialize metas into a memfd in that case, instead of
	  writing the data on the socket.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9706>

2025-09-16 15:24:22 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12deinterlace.cpp:
	  d3d12deinterlace: Fix passthrough handling
	  Don't try to convert buffer when passthrough is enabled
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9696>

2025-09-14 13:19:28 +0100  Tim-Philipp Müller <tim@centricular.com>

	* meson.build:
	  Back to development after 1.26.6

=== release 1.26.6 ===

2025-09-14 13:13:58 +0100  Tim-Philipp Müller <tim@centricular.com>

	* NEWS:
	* RELEASE:
	* gst-plugins-bad.doap:
	* meson.build:
	  Release 1.26.6

2025-09-12 21:35:58 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d12/gstd3d12memory-private.h:
	* gst-libs/gst/d3d12/gstd3d12memory.cpp:
	* sys/dwrite/gstdwriterender_d3d12.cpp:
	  dwrite: Fix D3D12 critical warning
	  When using convert + blend mode, the final render target resource
	  is also used as a source resource owned by our fence data storage.
	  As a result, the resource may not be writable if the conversion
	  command has not yet finished. To address this, add a private
	  method that allows setting the fence without a writability check
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9686>

2025-07-23 11:37:15 -0400  Xavier Claessens <xclaessens@netflix.com>

	* tests/check/elements/mpegtsmux.c:
	  mpegtsmux: Caps event fails with stream type change error
	  If mpegtsmux receives the same caps again, it wrongly claims the stream
	  type changed:
	  error: Stream type change from 06 to 8f not supported
	  This adds a unit test that demonstrate the issue in the very hacky way.
	  I have seen this happening with the below pipeline when upstream caps
	  changes. Since the caps filter fixates the caps received by opusenc and
	  mpegtsmux, the stream type cannot change.
	  ...
	  ! audioconvert
	  ! audio/x-raw,format=S16LE,channels=2,rate=48000
	  ! opusenc bitrate=128000
	  ! mpegtsmux
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9678>

2025-08-07 14:31:38 +1000  Jan Schmidt <jan@centricular.com>

	* gst/mpegtsmux/gstbasetsmux.c:
	  mpegtsmux: Use 'internal' stream_type to detect codec changes
	  The TsMuxStream internal_stream_type field stores the original
	  'full' stream type (such as Opus), while the stream_type field
	  stores the value that will actually be written into the MPEG-TS
	  packets according to the codec mappings. When checking if
	  input caps are changing stream type, check the original type.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9678>

2025-09-05 08:25:22 +0200  Ola Fornander <ola.fornander@axis.com>

	* ext/curl/gstcurlsmtpsink.c:
	  curlsmtpsink: adapt to date formatting issue
	  In glib 2.73.1, padding for %e in gdatetime was changed from "space"
	  to the Unicode character (U+2007). This violates rfc5322 (Internet
	  Message Format), which states that a message shall be composed of
	  characters in the range of 1 through 127 and interpreted as US-ASCII
	  characters. Hence, when using g_date_time_format, it is necessary to
	  instead write %_e to enforce space padding.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9645>

2025-09-02 09:06:20 +0530  Nirbheek Chauhan <nirbheek@centricular.com>

	* ext/openh264/meson.build:
	  meson: Avoid pulling in gtest for openh264
	  Emits a big warning about wrapdbv1 and the updated wrap fails to build
	  on Windows. We don't need the tests anyway.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9637>

2025-09-01 21:02:22 +0530  Nirbheek Chauhan <nirbheek@centricular.com>

	* ext/analyticsoverlay/meson.build:
	* ext/avtp/meson.build:
	* ext/codec2json/meson.build:
	* ext/iqa/meson.build:
	* ext/mdns/meson.build:
	* ext/openh264/meson.build:
	* ext/openjpeg/meson.build:
	* ext/qroverlay/meson.build:
	* ext/soundtouch/meson.build:
	* gst-libs/gst/webrtc/nice/meson.build:
	* meson.build:
	* sys/tinyalsa/meson.build:
	  meson: Convert all remaining fallback: usages to [provide]
	  Only commonly-used plugin deps like pango, orc, openh264, libvpx,
	  libnice are enabled by default.
	  Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1788
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9637>

2025-08-26 20:17:36 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* ext/vulkan/vkh264dec.c:
	* ext/vulkan/vkh265dec.c:
	  vulkanh26xdec: fix discont state handling
	  It fixes a couple tests in fluster for H.265 decoding.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9613>

2025-08-17 15:58:22 -0400  Daniel Morin <daniel.morin@collabora.com>

	* gst-libs/gst/analytics/gsttensormeta.c:
	  analytics: always add GstTensorMeta
	  Always add GstTensorMeta to buffer instead of re-using existing GstTensorMeta
	  when it's already present. The reason for the change is when we have cascaded
	  inference elements overwriting (tflite) or leaking (ONNX) GstTensorMeta when we
	  have cascaded inferences. We didn't create and API to append to GstTensorMeta
	  and I think it's more convenient to have a new GstTensorMeta for each
	  inferences. It's also more clear that a group of tensor was produced by one
	  inference but doesn't limit tensordecoders from using tensors produced by
	  multiple inference. I don't see much value in having all tensors data always
	  inside one GstTensorMeta since appending would mean re-allocation of the tensors
	  array anyway.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9601>

2025-08-19 11:15:29 +0100  Ian Napier <ian@digitaledgesubsea.com>

	* sys/decklink/gstdecklink.h:
	* sys/decklink/gstdecklinkvideosrc.cpp:
	  decklinkvideosrc: fix decklinkvideosrc becomes unrecoverable if it fails to start streaming
	  See #2611
	  When transitioning to PLAYING we call IDeckLinkInput::StartStreams() (via GstDecklinkInput::start_streams). This can
	  fail for various reasons, including if the hardware device is already in use.
	  Previously, we logged StartStreams() failure as an element error but otherwise continued to successfully transition to
	  PLAYING. Now, if StartStreams() returns an error we fail the state change.
	  If StartStreams() fails then a subsequent call to StopStreams(), when transitioning PAUSED to READY, will also fail.
	  Previously, if StopStreams() failed then the state change also failed. Unfortunately this prevented the element from
	  later being disposed, which in turn meant the associated hardware resources was never freed. Consequently, if a
	  decklinkvideosrc failed to transition PAUSED to READY, then the associated hardware device could not subsequently be
	  used by any other decklinkvideosrc.
	  Now, we log an element error if StopStreams() fails but otherwise consider the state change to have succeeded. This
	  means that the element can be disposed and the associated hardware resource released.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9592>

2025-08-15 13:02:57 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* ext/vulkan/vkh264dec.c:
	* ext/vulkan/vkh265dec.c:
	  vulkanh26xdec: fix debug category name
	  This is a regression from merge request !78011
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9562>

2025-08-15 12:06:45 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* ext/vulkan/vkh264dec.c:
	* ext/vulkan/vkh265dec.c:
	  vulkanh26xdec: re-negotiate after FLUSH
	  Vulkan decoders also have the same issue as VA decoders fixed in !9457, where
	  FLUSH event doesn't renegotiate downstream the pipeline.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9562>

2025-08-14 15:55:41 +0200  Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>

	* tests/check/elements/cccombiner.c:
	  tests: cccombiner: Test durationless buffers
	  Crashes without the previous fix.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9559>

2025-07-17 14:40:47 +0200  Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>

	* ext/closedcaption/gstcccombiner.c:
	  cccombiner: Don't crash when first frame has no duration
	  Aggregate again so the code above can determine the end time or EOS.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9559>

2025-07-17 14:29:07 +0200  Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>

	* ext/closedcaption/gstcccombiner.c:
	  cccombiner: Avoid dividing by zero framerate
	  This was broken in b29262e662b86cd76225894f7504ee505125fa49.
	  The `gst_util_uint64_scale` emitted a critical warning and returned
	  `GST_CLOCK_TIME_NONE`, so beyond removing the warning this fix does not
	  change behavior.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9559>

2025-08-12 21:27:53 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* tests/check/libs/vkimagebufferpool.c:
	  test: vkimagebufferpool: silence validation
	  The validation complained with
	  VUID-VkImageCreateInfo-usage-requiredbitmask]:
	  vkCreateImage(): pCreateInfo->usage is zero.
	  This patch force to use the internal defaults in vkimagebufferpool if no usage
	  is defined.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9546>

2025-08-12 14:24:12 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/vulkan/gstvkphysicaldevice.c:
	  vkphysicaldevice: silence validation for features
	  With merge request !9438 the validation layer started to complain with
	  VUID-VkDeviceCreateInfo-pNext-02829
	  This patch fixes this ill-usage of Vulkan API, by removing the feature enabling
	  of sampler ycbcr conversion, since it was promoted since Vulkan 1.1, and in
	  GStreamer is only used in Vulkan Video operations, which are only enabled in
	  Vulkan 1.3+.
	  Also, these features detection and enabling were moved to a function called when
	  filling the physical device data, in order to check the API version of the
	  device driver before adding the enabling of the feature.
	  Finally, the getters were adapted to use the version feature structure if the
	  device driver version matches.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9546>

2025-08-11 22:54:29 +1000  Jan Schmidt <jan@centricular.com>

	* ext/hls/m3u8.c:
	  hlsdemux: Fix parsing of byterange and init map directives
	  Don't reuse the same offset and size variables when reading
	  the byterange out of a MAP directive, as it can overwrite
	  values from a pending BYTERANGE directive for the next
	  fragment URI.
	  Fixes problems where the EXT-X-MAP directive has been written
	  into the playlist between an EXT-X-BYTERANGE and the fragment
	  URI it applies to.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9541>

2025-08-08 17:38:33 +0800  Qian Hu (胡骞) <qian.hu@mediatek.com>

	* gst-libs/gst/wayland/gstwldisplay.c:
	  waylandsink: add some error handler for event dispatch
	  if wl client got last_error, wl_display_dispatch_queue_pending
	  will return -1, may lead to unhandled case, we should quit.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9537>

2025-08-08 07:13:24 +0200  Jan Alexander Steffens (heftig) <heftig@archlinux.org>

	* tests/check/elements/zbar.c:
	  zbar: tests: Handle symbol-bytes as not null-terminated
	  Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/4592
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9514>

2025-08-07 19:15:29 +0100  Tim-Philipp Müller <tim@centricular.com>

	* meson.build:
	  Back to development after 1.26.5

=== release 1.26.5 ===

2025-08-07 19:06:46 +0100  Tim-Philipp Müller <tim@centricular.com>

	* NEWS:
	* RELEASE:
	* gst-plugins-bad.doap:
	* meson.build:
	  Release 1.26.5

2025-08-07 13:58:27 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/codecparsers/gstav1parser.c:
	  av1parser: Don't error out on "currently" undefined seq-level indices
	  They might very well be defined in the future and that shouldn't affect the
	  parsing in any way. Specifically, ffmpeg with `av1_nvenc` seems to create
	  `GST_AV1_SEQ_LEVEL_7_3` currently and parsing such streams would fail otherwise.
	  Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/4589
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9504>

2025-08-01 14:55:12 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/vulkan/gstvkphysicaldevice-private.h:
	* gst-libs/gst/vulkan/gstvkphysicaldevice.c:
	  vkphysicaldevice: enable sampler ycbcr, sync2 and timeline semaphore features
	  For the features VkPhysicalDeviceSamplerYcbcrConversionFeaturesKHR,
	  VkPhysicalDeviceSynchronization2Features and
	  VkPhisicalDeviceTimelineSemaphoreFeatures
	  The Vulkan specification states:
	  If the `VkPhysicalDeviceXXXFeatures` structure is included in the `pNext`
	  chain of the `VkPhysicalDeviceFeatures2` structure passed to
	  `vkGetPhysicalDeviceFeatures2`, it is filled in to indicate whether each
	  corresponding feature is supported. If the application wishes to use a
	  `VkDevice` with any features described by `VkPhysicalDeviceXXXFeatures`,
	  it **must** add an instance of the structure, with the desired feature members
	  set to `VK_TRUE`, to the `pNext` chain of `VkDeviceCreateInfo` when creating
	  the `VkDevice`.
	  And that was missing in the code.
	  Strangely, that functionality doesn't have a Valid-Usage ID assigned, so it
	  isn't caught by the validation layer.
	  This patch adds the structures in the physical devices to get them and later set
	  them in the device creation.
	  In order to link these features, videomaintenance1, and others to come, without
	  knowing if Vulkan 1.3 features are chained in the device properties structure, a
	  static and inlined function was added in gstvkphysicaldevice-private.h. It was
	  added in a header file to avoid compiler warnings if it's not used because of
	  old Vulkan headers.
	  Also the value dump videomaintenance1 was moved to another function to pack
	  there all these queried features.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9489>

2025-08-01 11:52:17 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* sys/va/gstvaav1enc.c:
	* sys/va/gstvah264enc.c:
	* sys/va/gstvah265enc.c:
	* sys/va/gstvavp8enc.c:
	* sys/va/gstvavp9enc.c:
	  vaXXXenc: fix potential race condition
	  VA encoders, at reconfiguration, have to check if the rate-control was changed
	  by the user, but since user parameters setting are in another thread, the
	  comparison was racy.
	  This patch locks the object to compare the current rate-control with the one set
	  by the user.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9484>

2025-05-29 13:20:59 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/vulkan/gstvkdevice.c:
	  vulkan: ycbcr conversion extension got promoted in 1.1.0
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9482>

2025-08-01 01:03:10 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12screencapturedevice.cpp:
	  d3d12screencapturedevice: Avoid false device removal on monitor reconfiguration
	  Post device-changed instead of device-removed/device-added when
	  only HMONITOR or display position changed without actual device change.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9481>

2025-07-30 15:50:56 +0400  Marc-André Lureau <marcandre.lureau@redhat.com>

	* gst-libs/gst/d3d12/meson.build:
	* sys/d3d12/meson.build:
	  meson: d3d12: Add support for MinGW DirectXMath package
	  This is a similar issue that was found for d3d11:
	  https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6495
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9473>

2025-07-29 11:42:54 +0100  Philippe Normand <philn@igalia.com>

	* sys/va/gstvavp9dec.c:
	  vavp9dec: Always chain to parent class negotiate vmethod
	  When the base videodecoder class re-attempts a negotiation after flush, the
	  vabasedec `need_negotiation` flag isn't necessarily set to TRUE, because in that
	  situation the input state hasn't changed.
	  By always chaining up we are sure that buffer pool negotiation will always be
	  attempted.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9461>

2025-07-29 11:42:44 +0100  Philippe Normand <philn@igalia.com>

	* sys/va/gstvajpegdec.c:
	  vajpegdec: Always chain to parent class negotiate vmethod
	  When the base videodecoder class re-attempts a negotiation after flush, the
	  vabasedec `need_negotiation` flag isn't necessarily set to TRUE, because in that
	  situation the input state hasn't changed.
	  By always chaining up we are sure that buffer pool negotiation will always be
	  attempted.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9461>

2025-07-29 11:42:33 +0100  Philippe Normand <philn@igalia.com>

	* sys/va/gstvaav1dec.c:
	  vaav1dec: Always chain to parent class negotiate vmethod
	  When the base videodecoder class re-attempts a negotiation after flush, the
	  vabasedec `need_negotiation` flag isn't necessarily set to TRUE, because in that
	  situation the input state hasn't changed.
	  By always chaining up we are sure that buffer pool negotiation will always be
	  attempted.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9461>

2025-07-28 12:52:22 +0100  Philippe Normand <philn@igalia.com>

	* sys/va/gstvabasedec.c:
	  vabasedec: Instrument negotiate function with debug statements
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9461>

2025-07-28 12:49:36 +0100  Philippe Normand <philn@igalia.com>

	* sys/va/gstvabasedec.c:
	  vabasedec: Always chain to parent class negotiate vmethod
	  When the base videodecoder class re-attempts a negotiation after flush, the
	  vabasedec `need_negotiation` flag isn't necessarily set to TRUE, because in that
	  situation the input state hasn't changed.
	  By always chaining up we are sure that buffer pool negotiation will always be
	  attempted.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9461>

2025-07-28 12:45:25 +0100  Philippe Normand <philn@igalia.com>

	* sys/va/gstvah264dec.c:
	  vah264dec: Spelling fix in warning debug statement
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9461>

2025-07-28 12:44:48 +0100  Philippe Normand <philn@igalia.com>

	* gst-libs/gst/codecs/gsth264decoder.c:
	  h264decoder: Spelling fix in warning debug statement
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9461>

2025-07-24 18:16:51 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* sys/va/gstvaav1enc.c:
	* sys/va/gstvah264enc.c:
	* sys/va/gstvah265enc.c:
	* sys/va/gstvajpegenc.c:
	* sys/va/gstvavp8enc.c:
	* sys/va/gstvavp9enc.c:
	  vaXXXenc: calculate latency with corrected framerate
	  Fixes: #4558
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9447>

2025-06-29 22:52:37 +0900  Seungha Yang <seungha@centricular.com>

	* sys/wasapi2/gstwasapi2ringbuffer.cpp:
	  wasapi2: Fix various MinGW build warnings
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9428>

2025-06-29 20:45:51 +0900  Seungha Yang <seungha@centricular.com>

	* sys/wasapi2/AsyncOperations.h:
	* sys/wasapi2/gstwasapi2client.cpp:
	* sys/wasapi2/gstwasapi2client.h:
	* sys/wasapi2/gstwasapi2util.cpp:
	* sys/wasapi2/meson.build:
	  waapi2: Remove unused WinRT deps and implementations
	  Removing unused WinRT API based implementations
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9428>

2025-06-29 01:46:44 +0900  Seungha Yang <seungha@centricular.com>

	* sys/wasapi2/gstwasapi2object.cpp:
	* sys/wasapi2/gstwasapi2object.h:
	* sys/wasapi2/gstwasapi2ringbuffer.cpp:
	* sys/wasapi2/gstwasapi2ringbuffer.h:
	* sys/wasapi2/gstwasapi2sink.c:
	* sys/wasapi2/gstwasapi2src.c:
	* sys/wasapi2/meson.build:
	  wasapi2: Port to IMMDevice based device selection
	  Because of a couple of issues reported related to WinRT device
	  enumeration, porting to IMMDevice device id based device selection.
	  Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/4311
	  Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3936
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9428>

2025-06-27 21:36:53 +0900  Seungha Yang <seungha@centricular.com>

	* sys/wasapi2/gstwasapi2activator.cpp:
	* sys/wasapi2/gstwasapi2activator.h:
	* sys/wasapi2/gstwasapi2client.cpp:
	* sys/wasapi2/gstwasapi2device.c:
	* sys/wasapi2/gstwasapi2device.cpp:
	* sys/wasapi2/gstwasapi2device.h:
	* sys/wasapi2/gstwasapi2enumerator.cpp:
	* sys/wasapi2/gstwasapi2enumerator.h:
	* sys/wasapi2/gstwasapi2util.cpp:
	* sys/wasapi2/gstwasapi2util.h:
	* sys/wasapi2/meson.build:
	* sys/wasapi2/plugin.cpp:
	  wasapi2: Implement IMMDeviceEnumerator based enumerator
	  ... and merge wasapi2{capture,render}deviceprovider into single
	  wasapi2deviceprovider since we can enumerate input/output audio
	  devices at once using IMMDeviceEnumerator
	  This is a preparation for complete porting to Win32 API
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9428>

2025-06-01 00:02:16 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12graphicscapture.cpp:
	* sys/d3d12/gstd3d12graphicscapture.h:
	* sys/d3d12/plugin.cpp:
	  d3d12screencapturesrc: Fix OS handle leaks/random crash in WGC mode
	  Multiple DispatcherQueues per thread seems to be causing OS handle leak
	  and random crashes were observed. Instead of creating
	  thread/DispatcherQueue per GstD3D12GraphicsCapture object,
	  reuse only single thread and DispatcherQueue
	  Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/4351
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9424>

2025-07-16 15:33:19 +0200  Tim-Philipp Müller <tim@centricular.com>

	* meson.build:
	  Back to development after 1.26.4

=== release 1.26.4 ===

2025-07-16 15:26:21 +0200  Tim-Philipp Müller <tim@centricular.com>

	* NEWS:
	* RELEASE:
	* gst-plugins-bad.doap:
	* meson.build:
	  Release 1.26.4

2025-07-09 02:52:27 -0400  Doug Nazar <nazard@nazar.ca>

	* ext/avtp/gstavtpcrfbase.c:
	* ext/avtp/gstavtpcrfbase.h:
	  avtp: crf: Setup socket during state change to ensure we handle failure
	  Previously the socket would be created in the thread, which take some
	  time to start. As the tests were so short they would usually pass as
	  they don't actually use the socket.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9374>

2025-07-09 02:51:11 -0400  Doug Nazar <nazard@nazar.ca>

	* tests/check/elements/avtpcrfcheck.c:
	* tests/check/elements/avtpcrfsync.c:
	  avtp: crf: tests: Only run tests if packet socket is available
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9374>

2025-07-09 00:47:58 +0200  Mathieu Duponchelle <mathieu@centricular.com>

	* gst/rtmp2/rtmp/rtmpclient.c:
	  rtmp2src: don't send window acknowledgement size commands twice
	  This causes servers such as AWS MediaLive to drop the connection, and
	  the message flow chart as documented in the "spec" always has the
	  server sending it first, and the client replying to it on reception of
	  the Set Peer Bandwidth, which we do since 286a3829b637.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9372>

2025-07-09 00:44:36 +0200  Mathieu Duponchelle <mathieu@centricular.com>

	* gst/rtmp2/gstrtmp2locationhandler.c:
	  rtmp2src: fix playback of URIs without a playpath
	  ffmpeg manages to play RTMP URLs in the form:
	  ```
	  protocol://servername:port/appname
	  ```
	  and does not require a second component to the path, adapt our code to
	  allow using such URLs as `tcUrl`.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9372>

2025-07-09 12:21:31 +0200  Piotr Brzeziński <piotr@centricular.com>

	* sys/applemedia/vtenc.c:
	  vtenc: Fix negotiation failure with profile=main-422-10
	  Previous version passed just enough data to the parser to detect
	  main/main-10, but main-422-10 is one of the range extensions profiles.
	  Those need a few more bits to be accurately detected, and since those
	  were just uinitialized memory previously, we'd incorrectly end up with
	  main or main-10 when the encoder was in fact giving us 4:2:2 10bit
	  output.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9371>

2025-07-07 11:59:18 +0200  Hanna Weiß <hweiss@igalia.com>

	* gst-libs/gst/vulkan/gstvkfullscreenquad.c:
	  vulkan: Fix drawing too many triangles in fullscreenquad
	  was using a index buffer for triangle list but drawn as strip
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9370>

2025-06-17 06:38:59 -0400  Doug Nazar <nazard@nazar.ca>

	* ext/openh264/gstopenh264enc.cpp:
	  openh264: Ensure src_pic is initialized before use
	  valgrind was showing reads of uninitialized memory and the
	  library examples all memset the structure before use.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9362>

2025-07-07 10:12:52 +1000  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/vulkan/gstvkfullscreenquad.c:
	  vulkanfullscreenquad: add locks for synchronisation
	  Now all API can be accessed from any thread.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9357>

2025-05-31 03:35:27 -0400  Doug Nazar <nazard@nazar.ca>

	* gst/transcode/gst-cpu-throttling-clock.c:
	  cpu-throttling-clock: fix race between async callback and unscheduling
	  It's possible that the callback is already scheduled to run on another
	  thread when we unschedule it during dispose and we would then access
	  a freed object.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9347>

2025-05-30 19:15:56 -0400  Doug Nazar <nazard@nazar.ca>

	* tests/check/elements/h266parse.c:
	  h266parse: test: Pass correct size argument to va_arg function
	  sizeof(int) != sizeof (gsize)
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9347>

2025-05-30 15:23:03 -0400  Doug Nazar <nazard@nazar.ca>

	* tests/check/libs/analyticsmeta.c:
	  analytics: tests: Copy correct size of array to buffer
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9347>

2025-05-30 15:20:41 -0400  Doug Nazar <nazard@nazar.ca>

	* sys/decklink/gstdecklink.cpp:
	  decklink: Fix a memory leak
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9347>

2025-05-30 15:21:58 -0400  Doug Nazar <nazard@nazar.ca>

	* tests/check/elements/webrtcbin.c:
	  webrtc: tests: Fix a few memory leaks
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9347>

2025-05-30 15:20:02 -0400  Doug Nazar <nazard@nazar.ca>

	* gst/camerabin2/gstcamerabin2.c:
	  camerabin: Fix a memory leak
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9347>

2025-05-28 08:45:40 -0400  Doug Nazar <nazard@nazar.ca>

	* gst/codecalpha/gstalphacombine.c:
	  alphacombine: fix memory leaks
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9343>

2025-05-28 08:44:01 -0400  Doug Nazar <nazard@nazar.ca>

	* gst/transcode/gst-cpu-throttling-clock.c:
	  cpu-throttling-clock: free clock when finished
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9343>

2025-07-05 03:10:51 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12screencapturedevice.cpp:
	  d3d12screencapture: Add support for monitor add/remove in device provider
	  Update device list on WM_DISPLAYCHANGE event
	  Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/4521
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9333>

2025-07-04 10:56:27 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* gst/videoparsers/gstvp9parse.c:
	  Revert "vp9parse: Always default to super-frame"
	  This reverts commit fd1428d3ebf937d7656c3788df3ef3ff85fecc31.
	  As reported in #4524, this changes cause regressions. The problem is due to a
	  bug in how vp9parse interact with parsebin, presenting downstream negotiation of
	  alignment to work. This revert to being stuck using frame alignment always,
	  which fortunately works with libvpx, though less efficient.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9331>

2025-05-07 14:02:05 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* gst/videoparsers/gstvp9parse.c:
	  vp9parse: Only show the last frame of a super frame
	  Only the last frame of a super frame should be displayed by default. When
	  converting from super frame to frame, mark all frames as decode only except the
	  last one. This fixes vp90-2-22-svc_1280x720_3.ivf conformance test with
	  stateless decoders such as VA.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9327>

2025-05-07 13:48:04 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* gst/videoparsers/gstvp9parse.c:
	  vp9parse: Always default to super-frame
	  Sort the list of structure before truncating so that we don't prefer
	  "frame"" alignment over "super-frame" in some cases.
	  Fixes vp90-2-22-svc_1280x720_3.ivf conformance test when using libvpx based
	  decoder.
	  Fixes #4371
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9327>

2025-05-07 10:29:10 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* gst/videoparsers/gstvp9parse.c:
	  vp9parse: Fix typo Aligment vs Alignment
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9327>

2025-07-02 22:38:41 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst/tensordecoders/gstssdobjectdetector.c:
	  ssdobjectdetector: Use correct tensor data index for the scores
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9324>

2025-06-27 10:06:34 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* sys/v4l2codecs/gstv4l2codech265dec.c:
	  v4l2codecs: h265dec: Fail when frame cropping is needed while using DMABuf
	  It is not possible to do frame cropping when DMABuf caps feature is negotiated.
	  The VideoInfo size is zero, resulting in empty destination buffers, and video
	  convert library may not understand what the format actually is.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9315>

2025-06-27 10:00:37 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* sys/v4l2codecs/gstv4l2codech265dec.c:
	  v4l2codecs: h265dec: Avoid cropping for zero top/left alignments
	  If the conformance window does not requires cropping the top or left of the
	  window, we can use GstVideoMeta to crop in a zero-copy fashion. If a copy
	  is needed, the frame copy can also handle it, and is a lot faster.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9315>

2025-06-27 09:49:00 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* sys/v4l2codecs/gstv4l2codecav1dec.c:
	* sys/v4l2codecs/gstv4l2codech264dec.c:
	* sys/v4l2codecs/gstv4l2codech265dec.c:
	* sys/v4l2codecs/gstv4l2codecmpeg2dec.c:
	* sys/v4l2codecs/gstv4l2codecvp8dec.c:
	* sys/v4l2codecs/gstv4l2codecvp9dec.c:
	  v4l2codecs: dec: Remove has_videometa member
	  Now that the code is properly located, this member is not needed
	  anymore.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9315>

2025-06-27 09:37:06 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* sys/v4l2codecs/gstv4l2codecav1dec.c:
	* sys/v4l2codecs/gstv4l2codech264dec.c:
	* sys/v4l2codecs/gstv4l2codech265dec.c:
	* sys/v4l2codecs/gstv4l2codecmpeg2dec.c:
	* sys/v4l2codecs/gstv4l2codecvp8dec.c:
	* sys/v4l2codecs/gstv4l2codecvp9dec.c:
	  v4l2codecs: dec: Move copy_frames logic inside decide_allocation
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9315>

2025-06-22 03:23:59 -0400  Doug Nazar <nazard@nazar.ca>

	* ext/avtp/gstavtpvfdepaybase.c:
	  avtp: Fix memory leak
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9314>

2025-06-22 03:22:27 -0400  Doug Nazar <nazard@nazar.ca>

	* ext/srt/gstsrtsrc.c:
	  srt: Fix warning about uninitialized memory
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9314>

2025-06-22 03:20:35 -0400  Doug Nazar <nazard@nazar.ca>

	* gst-libs/gst/codecparsers/gstvc1parser.c:
	  vc1parser: Fix warning about printing uninitialized variables
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9314>

2025-06-22 03:16:55 -0400  Doug Nazar <nazard@nazar.ca>

	* gst/proxy/gstproxysrc.c:
	  proxysrc: Fix order freeing pads
	  Free pads from bottom of parent tree first else with GST_DEBUG
	  enabled it would access freed memory printing object info.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9314>

2025-06-22 03:14:39 -0400  Doug Nazar <nazard@nazar.ca>

	* tests/check/elements/avtpcvfpay.c:
	  avtpcvfpay: tests: Initialize codec memory
	  If GST_DEBUG was enabled we would print unintialized memory
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9314>

2025-06-25 09:30:15 -0600  David Monge <david.monge@ridgerun.com>

	* gst/mpegtsmux/tsmux/tsmuxstream.c:
	  mpegtsmux: fix double free caused by shared PMT descriptor
	  The PMT descriptor was owned by the stream object but also added to
	  the descriptors array without copying, leading to a double free and
	  core dump during cleanup
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9303>

2025-06-26 21:29:34 +0100  Tim-Philipp Müller <tim@centricular.com>

	* meson.build:
	  Back to development after 1.26.3

=== release 1.26.3 ===

2025-06-26 21:25:24 +0100  Tim-Philipp Müller <tim@centricular.com>

	* NEWS:
	* RELEASE:
	* gst-plugins-bad.doap:
	* meson.build:
	  Release 1.26.3

2025-06-24 21:40:26 +0800  He Junyan <junyan.he@intel.com>

	* gst-libs/gst/codecparsers/gsth266parser.c:
	* gst-libs/gst/codecparsers/gsth266parser.h:
	  h266parser: Fix overflow when parsing subpic_level_info
	  1. non_subpic_layers_fraction, ref_level_idc and ref_level_fraction_minus1
	  fields should not have the GST_H266_MAX_SUBLAYERS limitation.
	  2. Should check max_sublayers_minus1, no more than GST_H266_MAX_SUBLAYERS-1
	  Fixes ZDI-CAN-27381, CVE-2025-6663
	  Closes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/4503
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9295>

2025-06-25 16:24:44 +0200  Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>

	* ext/srt/gstsrtsink.c:
	* ext/srt/gstsrtsink.h:
	  srtsink: Fix header buffer filtering
	  Cleans up the code and fixes two issues:
	  - If there are no streamheaders in the caps but we have `HEADER`
	  buffers, it would run `gst_buffer_list_foreach` with `self->headers`
	  being `NULL`.
	  - The code forgot to unmap the buffer if it decided to ignore it.
	  Fixes: 0a562a92d7ee38d8919d1b802add84d3c93b59eb
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9286>

2025-06-21 07:12:29 -0400  Doug Nazar <nazard@nazar.ca>

	* ext/analyticsoverlay/gstobjectdetectionoverlay.c:
	  analyticsoverlay: Fix memory leak
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9271>

2025-06-21 07:11:29 -0400  Doug Nazar <nazard@nazar.ca>

	* tests/check/elements/dashsink.c:
	  dashsink: test: Minor cleanups
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9271>

2025-06-21 07:10:54 -0400  Doug Nazar <nazard@nazar.ca>

	* ext/dash/gstdashsink.c:
	  dashsink: Fix memory leak
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9271>

2025-06-23 10:22:57 +1000  Matthew Waters <matthew@centricular.com>

	* sys/decklink/gstdecklink.cpp:
	* sys/decklink/gstdecklink.h:
	* sys/decklink/gstdecklinkvideosink.cpp:
	  decklink/clock: remove clock_offset
	  It is completely unused and only ever initialized to 0.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9269>

2025-06-18 14:20:32 +1000  Matthew Waters <matthew@centricular.com>

	* sys/decklink/gstdecklinkvideosink.cpp:
	* sys/decklink/gstdecklinkvideosink.h:
	  decklink: calculate internal using values closer to the current clock times
	  In a previous version of the clock time conversion code, scheduled playback used
	  to be started (from 0) when transitioning to PLAYING and stopped when
	  transitioning PLAYING->PAUSED. This worked fine when converting running times
	  using the internal clock.  However, now the decklink clock will produce values
	  that are monotonically increasing and do not reset to 0 at the same moments as
	  running time anymore. This means that the clock adjustments could attempt to
	  convert a small running time based on a large clock time e.g. after pausing
	  for many hours. As the adjustment code is a simple linear interpolation based on
	  the current clock times (large) using the provided value (small), the small
	  differences in the rate could result in very large differences in the
	  output time.
	  Fix by instead using both internal and external clock times based on the values
	  that gst_clock_get_calibration() will return. By doing so, small changes in the
	  rate calculations between the internal and external clock times will not result
	  in potentially large differences in the output internal time from
	  gst_clock_unadjust_with_calibration().
	  Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/4197
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9269>

2025-06-18 14:04:14 +0200  Edward Hervey <edward@centricular.com>

	* gst/mpegtsdemux/tsdemux.c:
	  tsdemux: Allow access unit parsing failures
	  * Refactor the various Access Unit extraction calls into a single function
	  * Allow the access unit parsing to fail, but emit a warning
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9258>

2025-06-16 18:38:30 +0530  Nirbheek Chauhan <nirbheek@centricular.com>

	* sys/androidmedia/gstamc-codeclist.h:
	* sys/androidmedia/gstamc.c:
	* sys/androidmedia/gstamc.h:
	* sys/androidmedia/jni/gstamc-codeclist-jni.c:
	  amc: Overhaul hw-accelerated video codecs detection
	  Android 10 (API 29) added support for isHardwareAccelerated() to
	  MediaCodecInfo to detect whether a particular MediaCodec is backed by
	  hardware or not. We can now use that to ensure that the video hw-codec
	  is PRIMARY+1 on Android, since using a software codec for video is
	  simply not feasible most of the time.
	  If we're not able to detect isHardwareAccelerated(), perhaps because
	  the Android API version is too old, we try to use the codec name as
	  a fallback.
	  Also rank PRIMARY+1 the c2.android c2.exynos and c2.amlogic audio
	  codecs alongside OMX.google, because they are known-good.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9257>

2025-06-17 03:32:24 +0530  Nirbheek Chauhan <nirbheek@centricular.com>

	* sys/androidmedia/gstamc.c:
	  amc: Log under GST_FIXME for audio encoders
	  We don't support audio encoders yet, so log that correctly.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9257>

2025-06-16 18:36:31 +0530  Nirbheek Chauhan <nirbheek@centricular.com>

	* sys/androidmedia/gstamc.c:
	  amc: Improve codec registration logging
	  Most of the messages can be printed with INFO threshold since they are
	  only printed on plugin registration.
	  Fix printing of codec caps, since GST_PTR_FORMAT truncates the output
	  in almost every case that I saw.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9257>

2025-06-16 18:34:39 +0530  Nirbheek Chauhan <nirbheek@centricular.com>

	* sys/androidmedia/gstamc.c:
	  amc: Print error messages when registering plugins
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9257>

2025-02-20 21:59:31 +0000  Ben Butterworth <24711048+ben-xD@users.noreply.github.com>

	* gst/mpegtsdemux/tsdemux.c:
	  mpegts: handle MPEG2-TS with KLV metadata safely by preventing out of bounds
	  Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3896
	  @slomo, as requested on https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3896#note_2780065
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9251>

2024-07-26 14:23:10 +1000  Matthew Waters <matthew@centricular.com>

	* ext/webrtc/gstwebrtcbin.c:
	  webrtcbin: disconnect signal ICE handlers on dispose
	  It is entirely possible that the in progress may still provide some state
	  updates until the ICE object is destroyed, these state updates should
	  not really be done when webrtcbin is in the process of destroying itself
	  and access freed data.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9249>

2025-06-13 12:35:17 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* ext/vulkan/vkupload.c:
	  vkupload: use gst_buffer_find_memory() to select memory
	  We never implemented correctly the selection of memories in a buffer given the
	  plane.
	  This patch uses gst_buffer_find_memory() for that. The offset is checked via the
	  video meta either in the input and output buffers, or the default offset given
	  the format and size.
	  This patch also requests the video meta option for the output buffers.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9243>

2025-06-13 11:28:35 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/vulkan/gstvkimagebufferpool.c:
	  vkimagebufferpool: set video meta to buffers if requested
	  This patch adds the possibility to attach video metas to allocated buffers if
	  API users request that option.
	  The main reason to add this meta is for the future usage of
	  gst_buffer_find_memory(), where the requested offset determines the memory
	  index.
	  In the case of multi-memory Vulkan images the offset of every component is
	  larger than the default offset determined by the format and frame size, because
	  of the buffer minimum size and memory alignment determined by the used driver.
	  Then, the offset is set in the buffer video meta.
	  In the case of single memory Vulkan images, the default offset is set in the
	  video meta.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9243>

2025-06-13 11:27:49 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/vulkan/gstvkimagebufferpool.c:
	  vkimagebufferpool: remove unused variable
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9243>

2024-12-13 19:08:30 +1100  Jan Schmidt <jan@centricular.com>

	* gst/mpegtsdemux/tsdemux.c:
	  tsdemux: Send new-segment before GAP
	  If adding a sparse stream and sending a gap event to bring it
	  up to speed, make sure to send the new segment event first
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9235>

2025-06-10 22:17:46 +1000  Matthew Waters <matthew@centricular.com>

	* sys/decklink/gstdecklinkvideosink.cpp:
	  decklinkvideosink: show preroll frame correctly
	  Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/4254
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9238>

2025-06-16 13:39:55 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* tests/check/elements/vkupload.c:
	* tests/check/meson.build:
	  test: vulkanupload unit test
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9228>

2025-06-13 14:36:25 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* ext/vulkan/vkupload.c:
	  vulkanupload: fix regression for uploading VulkanBuffer
	  Merge request !5651 introduced a regression for uploading VulkanBuffer. It can
	  be verified by
	  gst-launch-1.0 videotestsrc ! video/x-raw, format=NV12 ! vulkanupload ! \
	  video/x-raw\(memory:VulkanBuffer\) ! fakesink
	  Nobody has complained about this regression, so we assume it's a very niche
	  use-case.
	  This patch solve the regression by instantiating a different buffer pool
	  depending on the output cap features, and configuring it accordingly.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9228>

2025-06-10 12:53:05 +0100  Philippe Normand <philn@igalia.com>

	* gst-libs/gst/transcoder/gsttranscoder.c:
	  transcoder: Fix uritranscodebin reference handling
	  Make sure the reference is not floating, because the get_pipeline function
	  returns a transfer-full reference.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9203>

2025-06-06 16:24:19 +0200  Jakub Adam <jakub.adam@collabora.com>

	* ext/soundtouch/meson.build:
	  meson: fix building -bad tests with disabled soundtouch
	  Fixes an error from Meson:
	  ../subprojects/gst-plugins-bad/tests/validate/meson.build:16:93: ERROR:
	  Unknown variable "soundtouch_dep"
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9192>

2025-05-12 11:31:32 +0100  Glyn Davies <glyn@solet.io>

	* gst/mpegtsmux/tsmux/tsmuxstream.c:
	  mpegtsmux: Corrections around Teletext handling
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9183>

2025-05-22 10:11:36 -0400  Julian Bouzas <julian.bouzas@collabora.com>

	* ext/lcevcdecoder/gstlcevcdec.c:
	  lcevcdec: Check for errors after receiving all enhanced and base pictures
	  The LCEVC_ReceiveDecoderBase() and LCEVC_ReceiveDecoderPicture() APIs from the
	  LCEVCdec SDK can return LCEVC_Error if the enhancement data is wrong. This
	  change improves the lcevcdec element to check for those errors and stop the
	  pipeline when that happens.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9177>

2025-06-04 17:56:39 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d11/gstd3d11decoder.cpp:
	  d3d11decoder: Use interlace info in input caps
	  ... instead of relying on only parsed values from bitstream.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9174>

2025-06-04 17:55:51 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12decoder.cpp:
	  d3d12decoder: Use interlace info in input caps
	  ... instead of relying on only parsed values from bitstream.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9174>

2025-06-04 03:49:19 +0900  Seungha Yang <seungha@centricular.com>

	* sys/nvcodec/gstnvdecoder.cpp:
	* sys/nvcodec/gstnvh265dec.cpp:
	  nvdec: Use interlace info in input caps
	  ... instead of relying on only parsed values from bitstream.
	  Also parses HEVC specific interlace information
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9174>

2025-06-02 00:59:52 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d11/gstd3d11compositor.cpp:
	  d3d11compositor: Fix negative position handling
	  Negative positions should be cropped out
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9161>

2025-06-01 23:38:27 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12compositor.cpp:
	  d3d12compositor: Fix negative position handling
	  Negative positions should be cropped out
	  Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/4249
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9161>

2025-06-01 22:55:53 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12compositor.cpp:
	  d3d12compositor: Fix critical warnings
	  compositor will record rendering commands using multiple threads
	  (i.e., blending commands are recoded using thread pool, and
	  background one is recorded on aggregate thread).
	  And there can be temporary refcount increase (so not writable).
	  Updates fence once all rendering commands have been submitted.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9159>

2025-06-01 22:50:30 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d12/gstd3d12converter-unpack.cpp:
	  d3d12converter: Fix fallback upload process
	  Fixing typo
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9159>

2025-05-30 12:41:06 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst/bayer/gstrgb2bayer.c:
	  rgb2bayer: Use gst_structure_has_name() instead of g_str_equal() for simplicity
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9150>

2025-05-30 12:40:42 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst/bayer/gstbayer2rgb.c:
	  bayer2rgb: Use gst_structure_has_name() instead of strcmp() for clarity
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9150>

2025-05-30 12:33:09 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst/bayer/gstbayer2rgb.c:
	  bayer2rgb: Fix RGB stride calculation
	  This fixes a regression introduced in 4c92d4096e9.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9150>

2025-05-30 00:03:12 +0100  Tim-Philipp Müller <tim@centricular.com>

	* meson.build:
	  Back to development after 1.26.2

=== release 1.26.2 ===

2025-05-29 23:56:43 +0100  Tim-Philipp Müller <tim@centricular.com>

	* NEWS:
	* RELEASE:
	* gst-plugins-bad.doap:
	* meson.build:
	  Release 1.26.2

2025-05-30 00:07:25 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12dxgicapture.cpp:
	  d3d12screencapturesrc: Fix desktop handle leak
	  Calling CloseDesktop() on a handle that is currently in use will fail.
	  Close the handle after current desktop handle change
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9140>

2025-05-29 14:30:42 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst/dvbsuboverlay/gstdvbsuboverlay.c:
	  dvbsuboverlay: Actually make use of subtitle running time instead of using PTS
	  Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/4446
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9129>

2025-05-27 13:47:27 -0400  Daniel Morin <daniel.morin@collabora.com>

	* gst-libs/gst/webrtc/rtpsender.c:
	  rtpsender: fix 'priority' GValue get/set
	  - 'priority' is declared as enum, we need to use g_value_[get|set]_enum()
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9110>

2025-05-26 18:25:58 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d12/meson.build:
	  d3d12: Enable GIR for MSVC build as well
	  cerbero issue should be fixed by
	  https://gitlab.freedesktop.org/gstreamer/cerbero/-/merge_requests/1824
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9095>

2025-05-26 18:24:01 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d12/gstd3d12memory.h:
	  d3d12memory: Make D3D12 map flags inspectable
	  GIR scanner does not seem to be able to infer integer value
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9095>

2025-05-21 10:03:09 -0400  Doug Nazar <nazard@nazar.ca>

	* ext/wpe/gstwpesrcbin.cpp:
	* gst/rist/gstristsink.c:
	* gst/sdp/gstsdpsrc.c:
	  gstreamer: Ensure we free the template
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9101>

2025-05-21 10:10:25 -0400  Doug Nazar <nazard@nazar.ca>

	* gst/mpegtsdemux/tsdemux.c:
	  tsdemux: Ensure AC3 descriptor is long enough before accessing
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9101>

2025-05-26 19:07:22 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/play/gstplay.c:
	  play: Improve stream selection
	  - Unset stream ids if a collection does not contain them
	  - Automatically select a default stream of a type if the stream type is
	  enabled but no stream is selected yet when receiving the stream collection
	  - Warn if there's a collection update via streams-selected and if there are
	  unexpected streams being selected, or actually selected streams not being
	  found
	  - Improve debug output a bit
	  Among other things this also makes sure that we don't forget a selected stream
	  id when disabling a track so that when enabling it again later the same one can
	  be enabled again.
	  See https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/4344
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9100>

2025-05-20 22:32:36 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d12/meson.build:
	  d3d12: Generate gir file
	  Prerequisite for rust binding
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9096>

2025-05-22 19:12:03 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d12/gstd3d12device.cpp:
	* gst-libs/gst/d3d12/gstd3d12memory.cpp:
	  d3d12: Fix docs annotations
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9096>

2025-05-26 17:20:05 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d12/gstd3d12memory.cpp:
	  d3d12memory: Allow set_fence() only against writable memory
	  Setting a fence to memory should only be allowed on the side
	  that modified that memory or has the right to modify it
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9094>

2025-05-14 14:36:49 -0400  Doug Nazar <nazard@nazar.ca>

	* gst/videoframe_audiolevel/gstvideoframe-audiolevel.c:
	  videoframe-audiolevel: Switch to GST_AUDIO_NE()
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9089>

2025-05-14 14:36:01 -0400  Doug Nazar <nazard@nazar.ca>

	* ext/musepack/gstmusepackdec.c:
	  musepack: Switch to GST_AUDIO_NE()
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9089>

2025-05-12 18:27:06 -0400  Olivier Crête <olivier.crete@collabora.com>

	* tests/check/elements/h264parse.c:
	  h264parse test: Ensure avc3 caps include a codec_data
	  The avc3 caps without a codec_data are just totally invalid
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9087>

2025-05-08 19:20:13 -0400  Olivier Crête <olivier.crete@collabora.com>

	* gst/videoparsers/gsth264parse.c:
	  h264parse: Require codec_data when receiving stream-format=avc or avc3
	  It's not really possible to safely interpret the content afterwards if
	  it's missing.
	  Even for AVC3, the codec_data doesn't need to contain a SPS/PPS, but
	  it still needs to be present to tell downstream elements about the size
	  of the nal unit length field.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9087>

2025-05-08 19:16:13 -0400  Olivier Crête <olivier.crete@collabora.com>

	* gst/videoparsers/gsth264parse.c:
	  h264parse: Never output stream-format=avc/avc3 caps without codec_data
	  It's not possible to interpret further buffers without knowing the nal_length_size
	  field, so avc1/avc3 caps without the codec_data aren't valid, don't push them out.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9087>

2025-05-12 16:40:05 -0400  Olivier Crête <olivier.crete@collabora.com>

	* tests/check/elements/h264parse.c:
	  h264parse test: Send PPS in SPS parsing test
	  Without the PPS, the codec_data can not be created
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9087>

2025-05-13 19:37:59 -0400  Doug Nazar <nazard@nazar.ca>

	* gst/transcode/gsturitranscodebin.c:
	  uritranscodebin: Free various props before being set
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9088>

2025-05-13 19:35:58 -0400  Doug Nazar <nazard@nazar.ca>

	* gst/transcode/gsttranscodebin.c:
	  transcodebin: Free various props before being set
	  Also disable setting filters more than once.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9088>

2025-05-13 19:34:59 -0400  Doug Nazar <nazard@nazar.ca>

	* gst-libs/gst/vulkan/gstvkwindow.c:
	  vulkan: Free various props before being set
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9088>

2025-05-13 19:23:53 -0400  Doug Nazar <nazard@nazar.ca>

	* gst-libs/gst/transcoder/gsttranscoder.c:
	  transcoder: Free various props before during cleanup
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9088>

2025-05-13 19:15:21 -0400  Doug Nazar <nazard@nazar.ca>

	* gst-libs/gst/player/gstplayer-g-main-context-signal-dispatcher.c:
	* gst-libs/gst/player/gstplayer.c:
	* gst-libs/gst/transcoder/gsttranscoder.c:
	* gst-libs/gst/vulkan/gstvkdevice.c:
	* gst-libs/gst/vulkan/gstvkoperation.c:
	* gst-libs/gst/vulkan/gstvkphysicaldevice.c:
	* gst-libs/gst/webrtc/rtptransceiver.c:
	* sys/applemedia/videotexturecache-gl.m:
	* sys/applemedia/videotexturecache-vulkan.mm:
	* sys/d3d11/gstd3d11dxgicapture.cpp:
	* sys/d3d11/gstd3d11window.cpp:
	* sys/d3d11/gstd3d11winrtcapture.cpp:
	* sys/va/gstvadecoder.c:
	* sys/va/gstvaencoder.c:
	* sys/va/gstvafilter.c:
	* sys/webview2/gstwebview2object.cpp:
	  all: Annotate *_set_property() contructor only props without free
	  Properties that are marked constructor only aren't required to be freed
	  before g_value_dup_*() as they can only be called once during construction.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9088>

2025-03-30 19:44:22 -0400  Doug Nazar <nazard@nazar.ca>

	* gst-libs/gst/vulkan/wayland/gstvkdisplay_wayland.c:
	  vulkan/wayland: Init debug category before usage
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9086>

2025-05-27 00:03:05 +0900  Seungha Yang <seungha@centricular.com>

	* sys/nvcodec/gstnvencoder.cpp:
	  nvencoder: Fix GstNvEncTask leak on non-flow-ok return
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9084>

2025-05-26 23:17:15 +0900  Seungha Yang <seungha@centricular.com>

	* sys/nvcodec/gstnvencoder.cpp:
	  nvencoder: Fix GstVideoCodecFrame leak on non-flow-ok return
	  ... and use gst_video_encoder_release_frame() to drop frame
	  instead of gst_video_encoder_finish_frame()
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9084>

2025-05-24 14:42:32 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* gst/codecalpha/gstalphacombine.c:
	  alphacombine: Fix seeking after EOS
	  The alpha_eos state was not being reset on flush-stop, as a side effect
	  flushing seek after EOS did not work.
	  Fixes #4442
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9079>

2025-03-30 01:43:33 -0400  Doug Nazar <nazard@nazar.ca>

	* tests/check/elements/dash_mpd.c:
	  dash: mpdclient: Re-enable test now that mpdclient is fixed
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9068>

2025-03-30 01:41:10 -0400  Doug Nazar <nazard@nazar.ca>

	* ext/dash/gstmpdclient.c:
	  dash: mpdclient: Don't pass terminating NUL to adapter
	  libxml2 will complain if it detects any characters after the valid
	  XML, including a NUL byte.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9068>

2025-05-21 20:29:06 +0530  Nirbheek Chauhan <nirbheek@centricular.com>

	* meson_options.txt:
	  meson: Add a monorepo-wide qt-method option and yield to it
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9063>

2025-05-21 20:23:01 +0530  Nirbheek Chauhan <nirbheek@centricular.com>

	* ext/qt6d3d11/meson.build:
	* meson_options.txt:
	* tests/examples/qt6d3d11/meson.build:
	  meson: Fix qt detection for qt6d3d11 plugin
	  This now matches the code for the qml6gl plugin.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9063>

2025-05-19 20:38:56 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d12/meson.build:
	  d3d12: Fix gstreamer-full subproject build with gcc
	  Since default option "cpp_std=c++14" is not applied automatically
	  in case that gstreamer is used as a meson subproject, specify
	  cpp_std option explicitly
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9033>

2025-05-13 08:20:53 -0400  Doug Nazar <nazard@nazar.ca>

	* tests/check/elements/audiovisualizer.c:
	  audiovisualizer: Change test to use native endian audio format
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9025>

2025-05-13 01:40:57 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12decoder.cpp:
	  d3d12decoder: Workaround for NVIDIA crash on resolution change
	  Recent NVIDIA driver seems to crash on resolution change
	  if ID3D12VideoDecoder and ID3D12VideoDecodeCommandList are reused.
	  Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/4415
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8977>

2025-05-02 15:46:26 +0200  Alexander Slobodeniuk <aslobodeniuk@fluendo.com>

	* gst/removesilence/gstremovesilence.c:
	  removesilence: canonicalize property names
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8962>

2025-05-02 10:08:31 +0200  Alexander Slobodeniuk <aslobodeniuk@fluendo.com>

	* ext/opencv/gsthanddetect.cpp:
	  handdetect: canonicalize property names
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8962>

2025-05-02 08:56:19 +0200  Alexander Slobodeniuk <aslobodeniuk@fluendo.com>

	* ext/aes/gstaesdec.c:
	* ext/chromaprint/gstchromaprint.c:
	* ext/iqa/iqa.c:
	* ext/openal/gstopenalsink.c:
	* ext/openal/gstopenalsrc.c:
	* ext/opencv/gstcvtracker.cpp:
	* ext/opencv/gsthanddetect.cpp:
	* ext/opencv/gstsegmentation.cpp:
	* ext/qroverlay/gstbaseqroverlay.c:
	* ext/qroverlay/gstdebugqroverlay.c:
	* ext/sndfile/gstsfsrc.c:
	* ext/spandsp/gsttonegeneratesrc.c:
	* ext/x265/gstx265enc.c:
	* gst-libs/gst/mse/gstsourcebuffer.c:
	* gst-libs/gst/transcoder/gsttranscoder-signal-adapter.c:
	* gst-libs/gst/uridownloader/gstfragment.c:
	* gst/accurip/gstaccurip.c:
	* gst/proxy/gstproxysrc.c:
	* gst/removesilence/gstremovesilence.c:
	* sys/bluez/gsta2dpsink.c:
	* sys/bluez/gstavdtpsink.c:
	* sys/bluez/gstavdtpsrc.c:
	* sys/directshow/dshowvideosink.cpp:
	* sys/directshow/gstdshowvideosrc.cpp:
	* sys/directsound/gstdirectsoundsrc.c:
	* sys/dvb/gstdvbsrc.c:
	* sys/fbdev/gstfbdevsink.c:
	* sys/kms/gstkmsallocator.c:
	  properties: add G_PARAM_STATIC_STRINGS where missing
	  "Hold on, I know you need to generate the registry, but let me just
	  create copies of all those strings first", Framework whispered
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8962>

2025-05-08 19:23:54 +0900  Seungha Yang <seungha@centricular.com>

	* tests/examples/cuda/cudamemory-sync.c:
	* tests/examples/cuda/meson.build:
	  examples: cuda: Fix build with old CUDA SDK
	  Some symbols are not available in old cuda headers.
	  Use our stub headers instead
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8961>

2025-05-08 19:18:32 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/cuda/gstcudanvrtc.cpp:
	  cuda: Fix runtime PTX compile
	  Handle extra option args
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8961>

2025-05-05 17:51:55 +0000  L. E. Segovia <amy@centricular.com>

	* ext/curl/gstcurlfilesink.c:
	* ext/curl/gstcurlhttpsink.c:
	* ext/curl/gstcurlsmtpsink.c:
	  curl: Fix build with MSVC
	  See https://gitlab.freedesktop.org/gstreamer/cerbero/-/merge_requests/1740#note_2895537
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8946>

2025-03-11 15:02:03 +0100  Pablo García <pgarcia@fluendo.com>

	* ext/curl/gstcurlbasesink.c:
	  curl: use CURL_SOCKET_BAD to ensure cross-platform
	  Solves this error in Windows build:
	  ../ext/curl/gstcurlbasesink.c:1154:14: error: comparison of unsigned
	  expression in '< 0' is always false [-Werror=type-limits]
	  1154 |   if (curlfd < 0) {
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8958>

2025-05-01 15:16:22 -0400  Olivier Crête <olivier.crete@collabora.com>

	* ext/lcevcdecoder/gstlcevcdec.c:
	  lcevcdec: Use portable printf formatting macros
	  This should fix 32bit builds
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8927>

2025-05-01 15:30:28 -0400  Olivier Crête <olivier.crete@collabora.com>

	* ext/lcevcencoder/gstlcevcencoder.c:
	  lcevcenc: Use portable printf formatting macros
	  This should fix 32bit builds
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8927>

2025-04-03 02:24:13 +0530  Nirbheek Chauhan <nirbheek@centricular.com>

	* tests/check/meson.build:
	  gst-examples: Port all webrtc examples to libsoup-3.0
	  Also do some indent changes, and add `static` while we're at it.
	  And move the libsoup wrap to 3.6.5, add nghttp2 wrap
	  We need to disable libsoup 3.0 tests because they fail to build on
	  Windows.
	  Closes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1115
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8919>

2025-04-01 17:58:14 +0530  Nirbheek Chauhan <nirbheek@centricular.com>

	* tests/check/meson.build:
	  meson: Add include_type: 'system' everywhere to squelch wrap warnings
	  Wrap dependencies add a ton of warnings with the latest GCC in Fedora
	  42. Squelch them by specifying that these dependencies are not
	  a part of the gstreamer project, and should be treated as system deps.
	  libsoup needs some porting work for the bump, and vorbis/lame are
	  already at their latest releases.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8919>

2025-02-08 22:44:47 +0800  Zhao, Gang <gang.zhao.42@gmail.com>

	* gst/midi/midiparse.c:
	  midiparse: Quit parsing if error occurred
	  Invalid midi files will crash gstreamer or let it enter infinite
	  loop. Fixed it by quit parsing if error is encountered.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8918>

2025-02-03 13:53:09 +0800  Zhao, Gang <gang.zhao.42@gmail.com>

	* gst/midi/midiparse.c:
	* gst/midi/midiparse.h:
	  midiparse: Consider tempo change when calculating duration
	  Midi meta event set tempo would change tempo. Should consider tempo
	  change when calculating buffer PTS / duration.
	  Save tempo change to a list and calculate duration according to the
	  list.
	  Fixed #4158
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8918>

2025-04-24 07:48:12 +0200  Jochen Henneberg <jochen@centricular.com>

	* sys/va/gstvah264enc.c:
	  va: Fix H264 profile decision logic
	  The current logic would choose 'baseline' profiles only in case that
	  these profiles appear in the list first.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8893>

2025-04-24 20:26:57 +0100  Tim-Philipp Müller <tim@centricular.com>

	* meson.build:
	  Back to development after 1.26.1
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8890>

=== release 1.26.1 ===

2025-04-24 20:20:14 +0100  Tim-Philipp Müller <tim@centricular.com>

	* NEWS:
	* RELEASE:
	* gst-plugins-bad.doap:
	* meson.build:
	  Release 1.26.1

2025-03-15 23:48:52 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/codecparsers/gsth265parser.c:
	  h265parser: Fix num_long_term_pics bound check
	  As defined in the spec 7.4.7.1, calculates allowed maximum
	  value of num_long_term_pics
	  Fixes ZDI-CAN-26596
	  Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/4285
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8885>

2025-03-15 22:39:44 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/codecparsers/gsth265parser.c:
	  h265parser: Fix max_dec_pic_buffering_minus1 bound check
	  Allowed max value is MaxDpbSize - 1
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8885>

2025-04-17 17:28:17 +0200  Stéphane Cerveau <scerveau@igalia.com>

	* sys/va/gstvaav1enc.c:
	  vaav1enc: fix mem leaks in _av1_decide_profile
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8876>

2025-04-15 16:46:23 +0200  Stéphane Cerveau <scerveau@igalia.com>

	* sys/va/gstvavp9enc.c:
	  vavp9enc: fix mem leaks in _vp9_decide_profile
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8876>

2025-04-23 09:28:16 +0300  Sebastian Dröge <sebastian@centricular.com>

	* sys/aja/plugin.cpp:
	  aja: Use the correct location of the AJA NTV2 SDK in the docs
	  Also there is no longer a proprietary version of it.
	  Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/4381
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8875>

2025-04-21 22:59:18 +0200  Jakub Adam <jakub.adam@collabora.com>

	* sys/va/gstvavpp.c:
	  vapostproc: fix wrong video orientation after restarting the element
	  After READY -> NULL -> READY state change, the configured video
	  orientation didn't get applied on the new GstVaFilter instance.
	  Resettig prev_direction to default value in update_properties ensures
	  gst_va_filter_set_orientation() isn't inadvertently skipped.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8872>

2025-04-17 04:40:12 -0600  Jordan Yelloz <jordan.yelloz@collabora.com>

	* gst-libs/gst/mse/gstsourcebuffer.c:
	  gstsourcebuffer: Reverted ownership change for append method
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8864>

2025-04-16 21:17:07 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d12/gstd3d12converter.cpp:
	  d3d12converter: Fix cropping when automatic mipmap is enabled
	  Update vertex buffer and viewport of extra shader pipeline as well
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8853>

2025-04-10 15:44:54 -0400  Daniel Morin <daniel.morin@collabora.com>

	* docs/plugins/gst_plugins_cache.json:
	* gst/tensordecoders/gstssdobjectdetector.c:
	  tensordecoders: updating element classification
	  - `TensorDecoder` is clashing with media decoder which cause decodebin use it.
	  Replacing with `Tensordecoder` to avoid clash
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8839>

2025-04-10 14:23:59 +0200  Carlos Bentzen <cadubentzen@igalia.com>

	* gst-libs/gst/codecs/gsth266decoder.c:
	  h266decoder: fix leak parsing SEI messages
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8817>

2025-04-08 15:08:11 -0400  Detlev Casanova <detlev.casanova@collabora.com>

	* sys/v4l2codecs/gstv4l2codech264dec.c:
	* sys/v4l2codecs/gstv4l2codech265dec.c:
	* sys/v4l2codecs/gstv4l2codecmpeg2dec.c:
	  v4l2codecs: Unref the frame before leaving on error
	  In h264, h265 and mpeg2, make sure that dec_submit_bitstream() doesn't leak
	  a frame when dec_ensure_output_buffer() fails.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8804>

2025-04-08 09:30:31 -0400  Detlev Casanova <detlev.casanova@collabora.com>

	* sys/v4l2codecs/gstv4l2codecav1dec.c:
	* sys/v4l2codecs/gstv4l2codecvp9dec.c:
	  v4l2codecs: av1,vp9: Use temporary variable for buffer
	  This makes the end_picture() function handle the frame in the same way
	  as in vp8, which also fixes a frame leak when
	  gst_buffer_pool_acquire_buffer() fails.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8804>

2025-04-09 09:01:22 -0400  Xavier Claessens <xclaessens@netflix.com>

	* sys/va/meson.build:
	  Revert "va: h266 requires libva 2.22.0"
	  This reverts commit 8c017c79c5736c9e45e635df210e08550287646d.
	  1.22 was the correct pkg-config version. It's only the subproject
	  version that was wrong. Since we bumped libva.wrap to 2.22 version, h266
	  is now always available when using the subproject.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8802>

2025-04-07 17:45:28 -0400  Xavier Claessens <xclaessens@netflix.com>

	* sys/va/meson.build:
	  va: h266 requires libva 2.22.0
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8793>

2025-04-04 12:18:24 +0200  Guillaume Desmottes <guillaume.desmottes@onestream.live>

	* gst/codecalpha/gstalphacombine.c:
	  alphacombine: unblock when alpha sink is eos
	  If the alpha sink receives EOS while the other thread was waiting for a
	  alpha buffer it was stuck waiting forever.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8790>

2025-04-02 09:58:26 +0200  Guillaume Desmottes <guillaume.desmottes@onestream.live>

	* gst/codecalpha/gstalphadecodebin.c:
	* sys/v4l2codecs/gstv4l2codecalphadecodebin.c:
	* sys/va/gstvacodecalphadecodebin.c:
	  alphadecodebin: use a multiqueue instead of a couple of queues
	  Fix gapless playback as queues are no longer stopped after the first
	  eos.
	  Co-authored-by: Nicolas Dufresne <nicolas.dufresne@collabora.com>
	  Fix #4165
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8790>

2025-03-30 13:04:12 +0300  Razvan Grigore <razvan.grigore@vampirebyte.ro>

	* ext/webrtc/gstwebrtcbin.c:
	  webrtcbin: add missing warning for caps missmatch
	  This helps debug cases when the remote is offerer and m-line does not match with already existing transceivers.
	  In this case, it will create new ones with sendrecv direction without any warning.
	  Similar with code from _create_answer_task
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8784>

2025-04-03 16:30:52 -0400  Olivier Crête <olivier.crete@collabora.com>

	* docs/plugins/gst_plugins_cache.json:
	  bad: Update va docs, adding new elements
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8778>

2025-04-04 12:54:27 -0400  Olivier Crête <olivier.crete@collabora.com>

	* sys/va/gstvacodecalphadecodebin.h:
	* sys/va/gstvafilter.c:
	* sys/va/gstvavpp.c:
	* sys/va/meson.build:
	  va: Add since markers
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8778>

2025-04-04 13:20:35 -0400  Olivier Crête <olivier.crete@collabora.com>

	* docs/plugins/gst_plugins_cache.json:
	* sys/va/gstvaav1enc.c:
	* sys/va/gstvah265enc.c:
	* sys/va/gstvavp8enc.c:
	* sys/va/gstvavp9enc.c:
	  va: Remove GstVaFeature marking as a plugin API
	  It's part of the libgstva library and it's documented there, no need
	  to duplicate it as it confuses hotdoc.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8778>

2025-04-03 17:39:45 -0400  Olivier Crête <olivier.crete@collabora.com>

	* sys/va/gstvah264enc.c:
	* sys/va/gstvah265enc.c:
	* sys/va/gstvavp8dec.c:
	* sys/va/gstvavp9dec.c:
	  va: Add doc section for vah26xlpenc and codecalpha element
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8778>

2025-04-03 16:31:30 -0400  Olivier Crête <olivier.crete@collabora.com>

	* docs/plugins/gst_plugins_cache.json:
	  bad: Update wpesrc docs
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8778>

2025-04-03 17:45:57 -0400  Olivier Crête <olivier.crete@collabora.com>

	* ext/wpe/gstwpevideosrc.cpp:
	  wpevideosrc: Fix typo in doc
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8778>

2025-04-03 16:22:08 -0400  Olivier Crête <olivier.crete@collabora.com>

	* docs/plugins/gst_plugins_cache.json:
	  bad: Update qsv docs
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8778>

2025-04-04 13:20:09 -0400  Olivier Crête <olivier.crete@collabora.com>

	* sys/qsv/gstqsvdecoder.cpp:
	* sys/qsv/gstqsvencoder.cpp:
	  qsv: Add since marker to device-path property
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8778>

2025-04-03 16:07:20 -0400  Olivier Crête <olivier.crete@collabora.com>

	* docs/plugins/gst_plugins_cache.json:
	* ext/onnx/gstonnx.c:
	* ext/onnx/gstonnxclient.h:
	* ext/onnx/gstonnxinference.cpp:
	  bad: Add onnxinference to the docs
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8778>

2025-04-01 16:10:52 +0530  Nirbheek Chauhan <nirbheek@centricular.com>

	* gst-libs/gst/webrtc/ice.c:
	* gst-libs/gst/webrtc/icestream.c:
	  docs: Fix GstWebRTCICE* class documentation
	  IceStream is not an actual object, it's GstWebRTCICEStream
	  Some `Returns:` annotations were improperly formatted and not taking
	  effect.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8771>

2025-04-03 09:54:19 -0400  Xavier Claessens <xclaessens@netflix.com>

	* gst/unixfd/gstunixfdsrc.c:
	  unixfd: Fix wrong memory size when offset > 0
	  This is a backport of !8025 that does not require new API.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8770>

2024-09-10 01:13:25 +0200  Michael Grzeschik <m.grzeschik@pengutronix.de>

	* sys/uvcgadget/gstuvcsink.c:
	* sys/uvcgadget/gstuvcsink.h:
	* sys/uvcgadget/uvc.c:
	  uvcsink: Respond to control requests with proper error handling
	  The complete handling on the control interface is currently dead.
	  We return with EOPNOTSUPP for the caller to know that a response
	  to such requests is not valid. The host however may ask
	  control interface why these control requests were not available.
	  For this the UVC_VC_REQUEST_ERROR_CODE_CONTROL is used. As an overall
	  exception for the control interface we just always return 0x06 as
	  an response which is representing "not implemented".
	  This patch is a necessary feature to properly pass the UVC Functionality
	  Test of the USB3CV Compliance Software.
	  Fixes: 69c17461392d ('uvcgadget: Properly implement GET_INFO control responses')
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8760>

2025-03-31 18:54:28 +0200  Piotr Brzeziński <piotr@centricular.com>

	* sys/applemedia/avfvideosrc.m:
	  avfvideosrc: Guess reasonable framerate values for some 3rd party devices
	  For some third-party devices macOS sometimes reports silly framerates,
	  like 750003/6250 instead of 120/1. To avoid users having to exactly
	  pecify those values, we instead report the closest reasonable value in
	  caps. If it ends up being chosen, the additional logic in
	  setDeviceCaps() will reverse that process and pass the actual supported
	  value back to AVF, as most often the rounding causes us to fall just
	  outside the accepted threshold.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8756>

2025-03-31 21:56:51 +0900  Seungha Yang <seungha@centricular.com>

	* ext/closedcaption/gsth264ccextractor.c:
	* ext/closedcaption/gsth265ccextractor.c:
	  h264ccextractor,h265ccextractor: Handle gap with unknown pts
	  Fixing critical warngins
	  gst_event_new_gap: assertion 'GST_CLOCK_TIME_IS_VALID (timestamp)' failed
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8752>

2025-02-18 14:12:49 -0700  Jordan Yelloz <jordan.yelloz@collabora.com>

	* docs/plugins/gst_plugins_cache.json:
	  mse: Updated documentation cache
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8751>

2025-02-18 13:08:38 -0700  Jordan Yelloz <jordan.yelloz@collabora.com>

	* gst-libs/gst/mse/gstmsesrc-private.h:
	* gst-libs/gst/mse/gstmsesrc.c:
	  gstmsesrc: Added locking, improved seek implementation
	  The position is no longer duplicated across each pad and pad's segment. The
	  position is now only updated if it changes in the direction of playback so that
	  quickly repeated forward seeks do not cause the stream to seek from 0.
	  Reverse playback is expressly disallowed and an unnecessary extra flush of track
	  when seeking was removed.
	  A background task was added to periodically check on the current position and
	  the media source's buffering levels to keep the ready state up-to-date. The
	  source buffer no longer needs to trigger this update, it will happen whenever
	  the element state is READY or higher.
	  Finally, added proper error reporting when failing to push a buffer and improved
	  debug logging.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8751>

2025-02-18 13:08:38 -0700  Jordan Yelloz <jordan.yelloz@collabora.com>

	* gst-libs/gst/mse/gstappendpipeline.c:
	  gstappendpipeline: Added name to background task
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8751>

2025-02-18 13:08:37 -0700  Jordan Yelloz <jordan.yelloz@collabora.com>

	* gst-libs/gst/mse/gstsourcebufferlist.c:
	  gstsourcebufferlist: Added locking
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8751>

2025-02-18 13:08:37 -0700  Jordan Yelloz <jordan.yelloz@collabora.com>

	* gst-libs/gst/mse/gstsourcebuffer.c:
	  gstsourcebuffer: Added locking, re-worked track feed task
	  Since the sample map/track buffer now iterates samples in batches corresponding
	  to each coded frame group, the logic to feed the tracks is simpler. For media
	  without delta frames, it's a special case where the coded frame groups are all
	  size 1.
	  Now, all it does is skip data until the keyframe group containing the seek point
	  is found, then feed the track queue with the current sample and all future
	  samples until EOS or cancellation.
	  Resync of the iterator when the underlying track is modified is not necessary
	  because the outer loop attempts to resume feeding track data from where it was
	  interrupted in case of modification.
	  Also, the track feed task struct now holds a weak ref to its parent source
	  buffer to allow the task to cancel itself in any situation where the source
	  buffer is destroyed before the task is shut down.
	  Media parsing activity in the append pipeline no longer triggers ready state
	  recalculation on the msesrc since the msesrc now has a background task that
	  updates the ready state periodically when it's active which is more efficient in
	  cases where there is a high volume of samples being processed by the media
	  parser.
	  Finally, updated to adapt to track buffer API changes. Some functions previously
	  passed in a lower bound for sample timestamps. Now the source buffer is
	  responsible for clipping samples within a desired range of time.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8751>

2025-02-18 13:08:37 -0700  Jordan Yelloz <jordan.yelloz@collabora.com>

	* gst-libs/gst/mse/gstsourcebuffer.c:
	  gstsourcebuffer: Added name to track feed task
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8751>

2025-02-18 13:08:37 -0700  Jordan Yelloz <jordan.yelloz@collabora.com>

	* gst-libs/gst/mse/gstsourcebuffer.c:
	  gstsourcebuffer: Moved misplaced documentation comment
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8751>

2025-02-18 13:08:37 -0700  Jordan Yelloz <jordan.yelloz@collabora.com>

	* gst-libs/gst/mse/gstmediasourcetrackbuffer.c:
	* tests/check/libs/mse.c:
	  gstmediasourcetrackbuffer: Improved buffered ranges calculation
	  Now when the buffered list is requested, the tolerance for merging two ranges
	  when there's a small gap between them is MAX(0.1sec, max frame duration * 2).
	  Previously it was hardcoded to 0.01sec. The specification suggests that it
	  could be something like the max frame duration * 2.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8751>

2025-02-18 13:08:37 -0700  Jordan Yelloz <jordan.yelloz@collabora.com>

	* gst-libs/gst/mse/gstmediasourcetrackbuffer-private.h:
	* gst-libs/gst/mse/gstmediasourcetrackbuffer.c:
	  gstmediasourcetrackbuffer: Added method to wait until any new data
	  The source buffer currently has a thread for each track that feeds the track
	  with all data in the track buffer until EOS is reached.
	  Each pass over the track buffer currently waits for the EOS to appear when it's
	  done iterating the track buffer which is too restrictive.
	  When the source buffer reaches the end of the track buffer, it should wait for
	  any new data to be processed -- not just an EOS -- then check for cancellation
	  if the deadline expires without new data.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8751>

2025-02-18 13:08:37 -0700  Jordan Yelloz <jordan.yelloz@collabora.com>

	* gst-libs/gst/mse/gstmediasourcetrackbuffer-private.h:
	* gst-libs/gst/mse/gstmediasourcetrackbuffer.c:
	  gstmediasourcetrackbuffer: Removed start time filtering from sample iterator
	  This adapts to the changes to the sample map since gst_iterator_filter() is a
	  simpler way for callers to clip the returned samples to a desired time range.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8751>

2025-02-18 13:08:37 -0700  Jordan Yelloz <jordan.yelloz@collabora.com>

	* gst-libs/gst/mse/gstmediasourcetrackbuffer-private.h:
	* gst-libs/gst/mse/gstmediasourcetrackbuffer.c:
	  gstmediasourcetrackbuffer: Removed unused code
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8751>

2025-02-18 13:08:37 -0700  Jordan Yelloz <jordan.yelloz@collabora.com>

	* gst-libs/gst/mse/gstmediasourcetrack-private.h:
	* gst-libs/gst/mse/gstmediasourcetrack.c:
	* tests/check/libs/mse.c:
	  gstmediasourcetrack: Removed unused try_push() method
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8751>

2025-02-18 13:08:37 -0700  Jordan Yelloz <jordan.yelloz@collabora.com>

	* gst-libs/gst/mse/gstmediasourcetrack.c:
	* tests/check/libs/mse.c:
	  gstmediasourcetrack: Ref the sample inside push() method
	  This simplifies cleanup for the caller since the push method already cleans up
	  the sample when it is consumed by playback or if it fails to be added to the
	  queue.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8751>

2025-02-18 13:08:37 -0700  Jordan Yelloz <jordan.yelloz@collabora.com>

	* gst-libs/gst/mse/gstmediasourcesamplemap-private.h:
	* gst-libs/gst/mse/gstmediasourcesamplemap.c:
	* tests/check/libs/mse.c:
	  gstmediasourcesamplemap: Re-worked sample iteration and removal
	  Both operations now work on coded frame groups (GOPs). This simplifies queueing
	  of video data. There is rarely any point of dealing with individual video frames
	  when iterating in DTS order, it's most meaningful to decode or delete whole
	  coded frame groups at a time, so the sample map will now do that when iterating
	  by DTS. When iterating in PTS order, the existing behavior is preserved since
	  that is used for informational purposes, not media processing.
	  A new private boxed type for coded frame groups was added to provide each data
	  item to the source buffer. Another possible solution would be creation of a new
	  GstSample representing the whole group by merging all the samples in a group
	  into a single sample containing a GstBufferList.
	  Also, start time filtering was removed from the API since gst_iterator_filter()
	  can be used by callers to achieve the same result.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8751>

2025-02-18 13:08:37 -0700  Jordan Yelloz <jordan.yelloz@collabora.com>

	* gst-libs/gst/mse/gstmediasource.c:
	  gstmediasource: Added locking
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8751>

2025-02-18 13:08:37 -0700  Jordan Yelloz <jordan.yelloz@collabora.com>

	* gst-libs/gst/mse/gstmediasource.c:
	  gstmediasource: Added caller-allocates annotation to get_live_seekable_range()
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8751>

2025-02-18 13:08:37 -0700  Jordan Yelloz <jordan.yelloz@collabora.com>

	* gst-libs/gst/mse/gstmselogging-private.h:
	* gst-libs/gst/mse/gstmselogging.c:
	  gstmselogging: Added helper function to get nicknames of enum values
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8751>

2025-03-27 15:38:42 +0100  Guillaume Desmottes <guillaume.desmottes@onestream.live>

	* gst/codecalpha/gstalphadecodebin.c:
	  codecalpha: name both queues
	  Make it easier to debug from logs.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8750>

2025-03-21 11:41:11 +0900  Dongyun Seo <dongyun.seo@lge.com>

	* gst-libs/gst/vulkan/gstvkformat.c:
	  vkformat: fix build error
	  fix build error when VK_KHR_format_feature_flags2 is not defined.
	  Co-authored-by: Victor Jaquez vjaquez@igalia.com
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8749>

2025-03-25 03:04:52 +0900  Seungha Yang <seungha@centricular.com>

	* ext/closedcaption/gstcodecccinserter.c:
	  codecccinserter: Fix event double free
	  Need to steal GstVideoCodecFrame.events before unref
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8707>

2025-03-25 03:02:57 +0900  Seungha Yang <seungha@centricular.com>

	* ext/closedcaption/gsth265reorder.c:
	  h265ccinserter: Fix broken SPS/PPS link
	  Apply the same h265decoder change to h265ccinserter
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8707>

2025-03-25 02:09:49 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/codecs/gsth265decoder.c:
	  h265decoder: Fix broken SPS/PPS link
	  Because of 2 pass nalu handling in decoder, link between
	  slice header and SPS/PPS can be broken at the second pass
	  if SPS/PPS got updated after slice header in the same AU
	  Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/4323
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8707>

2025-03-25 02:41:29 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/codecparsers/gsth265parser-private.h:
	* gst-libs/gst/codecparsers/gsth265parser.c:
	  h265parser: Add private method to update slice header
	  Adding a method to allow linking already parsed slice header
	  with parser's own sps/pps
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8707>

2025-03-25 01:58:42 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/codecparsers/gsth265parser.c:
	  h265parser: Allow updating SPS/PPS without parent parameter set
	  h265parser defers linking parameter sets until slice header is parsed.
	  Thus valid SPS/PPS parsed by h265parser can have no linked
	  parent parameter set. Apply this behavior to
	  gst_h265_parser_update_{sps,pps} too
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8707>

2025-03-29 19:03:13 +0200  Artem Martus <artemmartus2012@gmail.com>

	* ext/webrtc/gstwebrtcbin.c:
	* tests/check/elements/webrtcbin.c:
	  webrtcbin: ensure RTX entry for all formats
	  Properly implement RFC 4588 by ensuring each media format
	  has its own RTX payload type with unique 'apt' parameter,
	  rather than only mapping the first format.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8742>

2025-03-30 13:10:42 +0300  Sebastian Dröge <sebastian@centricular.com>

	* sys/va/gstvacaps.c:
	  va: Skip codecs that report maximum width or height lower than minimum
	  This happens on F42 with the JPEG decoders for some reason and trying to
	  actually use them with any resolution simply gives a "resolution not supported"
	  error.
	  A minimum of 64 is correctly reported though and trying to create caps with an
	  int range of [64, 0] gives critical warnings.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8737>

2025-03-14 22:03:53 -0400  Doug Nazar <nazard@nazar.ca>

	* sys/bluez/gsta2dpsink.c:
	  a2dpsink: Free various props during cleanup
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8714>

2025-03-14 22:01:44 -0400  Doug Nazar <nazard@nazar.ca>

	* sys/aja/gstajasink.cpp:
	* sys/aja/gstajasrc.cpp:
	  aja: Free various props during cleanup
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8714>

2025-03-14 22:01:05 -0400  Doug Nazar <nazard@nazar.ca>

	* gst/librfb/gstrfbsrc.c:
	* gst/librfb/rfbdecoder.c:
	  rfbsrc: Free various props before being set & during cleanup
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8714>

2025-03-14 21:59:13 -0400  Doug Nazar <nazard@nazar.ca>

	* gst/frei0r/gstfrei0r.c:
	  frei0r: Free various props before being set
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8714>

2025-03-14 21:58:14 -0400  Doug Nazar <nazard@nazar.ca>

	* gst/faceoverlay/gstfaceoverlay.c:
	  faceoverlay: Free various props during cleanup
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8714>

2025-03-14 19:38:54 -0400  Doug Nazar <nazard@nazar.ca>

	* ext/wayland/gstwaylandsink.c:
	  waylandsink: Free various props before being set
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8714>

2025-03-14 19:38:03 -0400  Doug Nazar <nazard@nazar.ca>

	* ext/qroverlay/gstdebugqroverlay.c:
	* ext/qroverlay/gstqroverlay.c:
	  qroverlay: Free various props before set & during cleanup
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8714>

2025-03-14 19:37:39 -0400  Doug Nazar <nazard@nazar.ca>

	* ext/openal/gstopenalsrc.c:
	  openalsrc: Free various props before being set
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8714>

2025-03-14 19:35:49 -0400  Doug Nazar <nazard@nazar.ca>

	* ext/lcevcencoder/gstlcevcencoder.c:
	  lcevcencoder: Free various props before during cleanup
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8714>

2025-03-14 19:25:48 -0400  Doug Nazar <nazard@nazar.ca>

	* ext/dash/gstmpdadaptationsetnode.c:
	* ext/dash/gstmpdperiodnode.c:
	* ext/dash/gstmpdrepresentationbasenode.c:
	* ext/dash/gstmpdrepresentationnode.c:
	* ext/dash/gstmpdsegmenttemplatenode.c:
	* ext/dash/gstmpdsegmenturlnode.c:
	  dash: Free various props before set & during cleanup
	  In addition several members were being freed via xmlFree() even though
	  being created via g_value_dup_string(). Switch to g_free().
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8714>

2025-03-14 19:22:20 -0400  Doug Nazar <nazard@nazar.ca>

	* ext/curl/gstcurlhttpsrc.c:
	  curlhttpsrc: Free various props before set & during cleanup
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8714>

2025-03-14 19:14:43 -0400  Doug Nazar <nazard@nazar.ca>

	* ext/gtk/gstgtkwaylandsink.c:
	* gst-libs/gst/mse/gstmediasourcetrack.c:
	* gst-libs/gst/va/gstvadisplay_drm.c:
	* sys/directshow/dshowdeviceprovider.cpp:
	* sys/directsound/gstdirectsounddevice.c:
	* sys/mediafoundation/gstmfdevice.cpp:
	* sys/uvch264/gstuvch264deviceprovider.c:
	* sys/wasapi/gstwasapidevice.c:
	* sys/wasapi2/gstwasapi2device.c:
	* sys/winks/ksdeviceprovider.c:
	  all: Annotate *_set_property() contructor only props without free
	  Properties that are marked constructor only aren't required to be freed
	  before g_value_dup_string() as they can only be called once during construction.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8714>

2025-03-23 00:19:50 +0100  Jan Tojnar <jtojnar@gmail.com>

	* gst-libs/gst/analytics/meson.build:
	  gst-analytics: Add gst-video to Requires in pkg-config
	  `gst/analytics/analytics.h` includes `gst/analytics/gstanalyticssegmentationmtd.h`,
	  which in turn `gst/video/video-info.h` but `gst-video-1.0` was only listed
	  in `Requires.private` field of `gst-analytics-1.0.pc`.
	  This would cause projects linking against `gst-analytics-1.0.pc` to fail to find
	  the headers when using alternative interpretation of pkg-config specification
	  that only considers private dependencies for include path during static builds,
	  such as the case e.g. on Nix.
	  https://gitlab.freedesktop.org/pkg-config/pkg-config/-/issues/28
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8708>

2025-03-26 15:32:05 +0200  Sebastian Dröge <sebastian@centricular.com>

	* ext/dash/gstdashsink.c:
	  dashsink: Make sure to use a non-NULL pad name when requesting a pad from splitmuxsink
	  If the caller passed in "audio_%u" instead of a concrete pad name into
	  gst_element_request_pad_simple() then the pad name will be NULL. In that case
	  use the pad template name for requesting the pad from splitmuxsink.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8711>

2025-03-13 16:27:44 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* ext/vulkan/vkh264dec.c:
	* ext/vulkan/vkh265dec.c:
	* ext/vulkan/vksink.c:
	  vulkan: fix memory leak at dynamic registering
	  Also it cleans up a bit the code.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8650>

2025-03-13 17:22:12 +0100  Piotr Brzeziński <piotr@centricular.com>

	* sys/applemedia/vtenc.c:
	  vtenc: Reset restart flag when creating session in set_format()
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8644>

2025-03-06 17:23:11 +0100  Piotr Brzeziński <piotr@centricular.com>

	* sys/applemedia/vtenc.c:
	* sys/applemedia/vtenc.h:
	  vtenc: Avoid deadlocking when changing properties on the fly
	  VT supports changing properties on the fly, and old code attempted to
	  support that. Perhaps 10 years ago that worked, but these days
	  VTSessionSetProperty will always wait for the output callback to finish
	  before proceeding. This means that it's very prone to deadlocking, as
	  property setters will take the object lock, the callback thread will
	  take the stream lock, and the main (streaming) thread attempts to take
	  both, resulting in a deadlock.
	  New version uses something similar to other encoders (e.g. x264enc) -
	  changing a property when a session is already created will just flag it
	  to be reconfigured upon the next encode call. This is done in similar
	  fashion to how restarting the session upon an error works.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8644>

2025-01-22 15:02:03 +0100  Marc Leeman <marc.leeman@gmail.com>

	* gst-libs/gst/cuda/meson.build:
	  meson.build: test for and link against libatomic if it exists
	  It's needed on some platforms for some subset (or all) atomic operations and
	  checking for the cases when it's actually needed is quite complex.
	  Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/4300
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8647>

2025-03-08 12:07:11 +0000  Philippe Normand <philn@igalia.com>

	* gst/codecalpha/gstalphacombine.c:
	  alphacombine: De-couple flush-start/stop events handling
	  There is no guarantee that any FLUSH_STOP event is preceded by a FLUSH_START.
	  The element now stops flushing once it has received a FLUSH_STOP on all its sink
	  pads.
	  Fixes #4174
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8629>

2025-03-11 20:23:16 +0000  Tim-Philipp Müller <tim@centricular.com>

	* meson.build:
	  Back to development after 1.26.0
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8618>

=== release 1.26.0 ===

2025-03-11 20:14:44 +0000  Tim-Philipp Müller <tim@centricular.com>

	* NEWS:
	* README.md:
	* RELEASE:
	* gst-plugins-bad.doap:
	* meson.build:
	  Release 1.26.0

2025-02-21 18:20:06 +0100  Ruben Gonzalez <rgonzalez@fluendo.com>

	* sys/va/gstvacompositor.c:
	  vacompositor: Add missing GST_VIDEO_CROP_META_API_TYPE
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8537>

2025-03-07 09:54:35 +0100  Carlo Caione <ccaione@baylibre.com>

	* sys/uvcgadget/uvc.c:
	  uvcgadget: Properly implement GET_INFO control responses
	  According to the UVC 1.5 specification, section 4.1.2, the GET_INFO request
	  must return a bitmap indicating supported operations for the control.
	  Value 0x00 indicates that neither GET nor SET operations are supported.
	  This patch fixes control handling in the UVC gadget implementation to properly
	  respond to GET_INFO requests with the correct bitmap, allowing host systems
	  to properly detect supported control operations (none in this case).
	  The pipeline I'm using to test this is:
	  gst-launch-1.0 videotestsrc ! uvcsink v4l2sink::device=/dev/video0
	  This is the equivalent of [0] but the difference is that we are now returning
	  0x00 instead of 0x03.
	  Without this change the host in my case is unable to probe the UVC gadget at
	  all, automatically disconnecting the device after a few seconds.
	  Following is the log when the gadget is not working (without this fix):
	  usb 1-1.2: new high-speed USB device number 73 using xhci_hcd
	  usb 1-1.2: New USB device found, idVendor=0525, idProduct=a4a2, bcdDevice= 5.15
	  usb 1-1.2: New USB device strings: Mfr=1, Product=2, SerialNumber=3
	  usb 1-1.2: Product: UVC Gadget
	  usb 1-1.2: Manufacturer: localhost.localdomain
	  usb 1-1.2: SerialNumber: 0123456789
	  usb 1-1.2: Found UVC 1.10 device UVC Gadget (0525:a4a2)
	  usb 1-1.2: Failed to query (GET_INFO) UVC control 2 on unit 1: -110 (exp. 1).
	  usb 1-1.2: UVC non compliance - GET_DEF(PROBE) not supported. Enabling workaround.
	  uvcvideo 1-1.2:1.1: Failed to query (129) UVC probe control : -71 (exp. 34).
	  uvcvideo 1-1.2:1.1: Failed to initialize the device (-71).
	  cdc_subset 1-1.2:1.0: probe with driver cdc_subset failed with error -22
	  cdc_subset 1-1.2:1.1: probe with driver cdc_subset failed with error -22
	  usb 1-1.2: USB disconnect, device number 73
	  With the fix the USB device is correctly probed:
	  usb 1-1.2: new high-speed USB device number 88 using xhci_hcd
	  usb 1-1.2: New USB device found, idVendor=0525, idProduct=a4a2, bcdDevice= 5.15
	  usb 1-1.2: New USB device strings: Mfr=1, Product=2, SerialNumber=3
	  usb 1-1.2: Product: UVC Gadget
	  usb 1-1.2: Manufacturer: localhost.localdomain
	  usb 1-1.2: SerialNumber: 0123456789
	  usb 1-1.2: Found UVC 1.10 device UVC Gadget (0525:a4a2)
	  [0] camera/uvc-gadget@0df9d3ad
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8572>

2025-03-06 10:22:00 +0100  Benjamin Gaignard <benjamin.gaignard@collabora.com>

	* sys/v4l2codecs/gstv4l2decoder.c:
	  v4l2codecs: Fix caps leak after sorting caps
	  gst_v4l2_format_sort_caps() create a new caps which need to be
	  release to avoid leak.
	  Co-authored-by: Robert Mader <robert.mader@posteo.de>
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8583>

2025-03-04 11:04:56 +0100  Benjamin Gaignard <benjamin.gaignard@collabora.com>

	* sys/v4l2codecs/gstv4l2codecav1dec.c:
	* sys/v4l2codecs/gstv4l2codech264dec.c:
	* sys/v4l2codecs/gstv4l2codech265dec.c:
	* sys/v4l2codecs/gstv4l2codecmpeg2dec.c:
	* sys/v4l2codecs/gstv4l2codecvp8dec.c:
	* sys/v4l2codecs/gstv4l2codecvp9dec.c:
	  v4l2codecs: Release sink allocator when deciding allocation
	  All decoders have the same design pattern in decide allocation
	  and forgot to release sink allocator before allocating a new one.
	  Fixing the memory leak by clearing sink allocator before creating
	  the new one.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8583>

2025-03-04 11:02:16 +0100  Benjamin Gaignard <benjamin.gaignard@collabora.com>

	* sys/v4l2codecs/gstv4l2codecallocator.c:
	  v4l2codecs: allocator: Fix buffers leak when using remove buffers
	  When removing buffers from v4l2 queue do not forget to release
	  the memory on gstreamer side.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8583>

2025-03-07 01:09:23 +0900  Seungha Yang <seungha@centricular.com>

	* ext/closedcaption/gsth264ccextractor.c:
	* ext/closedcaption/gsth265ccextractor.c:
	  h264ccextractor,h265ccextractor: Do not resend caps per output buffer
	  Send caps event only when it's required
	  Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/4281
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8596>

2025-03-06 11:24:28 +0100  Pablo García <pgarcia@fluendo.com>

	* ext/curl/gstcurlbasesink.c:
	* ext/curl/gstcurlfilesink.c:
	* ext/curl/gstcurlftpsink.c:
	* ext/curl/gstcurlhttpsink.c:
	* ext/curl/gstcurlsmtpsink.c:
	* ext/curl/gstcurltlssink.c:
	  curl: replace #if with #ifdef (part 2)
	  Continuation of 47d1262402c81a9054e618052deeff7414b4f75d, that is not enough.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8595>

2025-03-03 11:30:38 +0100  Stéphane Cerveau <scerveau@igalia.com>

	* gst-libs/gst/vulkan/gstvkimagememory.c:
	* gst-libs/gst/vulkan/gstvkoperation.c:
	  vulkan/operation: fix timeline semaphore extension detection
	  As for synchronization2, the timeline semaphore has been
	  been promoted in 1.2 and does not have to be enabled explicitely.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8554>

2025-03-03 12:59:02 +1100  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/vulkan/gstvkoperation.c:
	  vulkan/operation: fix synchronization2 extension detection
	  The synchronization2 extension is a core part of Vulkan 1.3.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8554>

2025-02-25 21:22:32 +1100  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/vulkan/gstvkdevice.c:
	  vulkan/device: only enable relevant extensions
	  Extensions can have a minimum set of dependencies (e.g. API version) and may
	  also be promoted to core in a later version.  Don't explicitly enable extensions
	  that fail to meet their requirements or that have been promoted to the core API.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8554>

2025-02-25 21:17:57 +1100  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/vulkan/gstvkoperation.c:
	  vulkan/operation: retrieve function pointers directly from the device
	  The instance API version supported may not be of the same version supported by
	  the device. It is possible that the function that is returned may be non-0
	  but not functional due to the requested API version of the instance limiting the
	  availability of calling the returned function.
	  Can be reproduced by running a pipeline with GST_VULKAN_INSTANCE_API_VERSION=1.1
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8554>

2025-02-25 21:04:35 +1100  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/vulkan/gstvkinstance.c:
	  vulkan/instance: allow the requested api version to be larger than the supported
	  Since Vulkan 1.1, the requested API version is the maximum API version that the
	  application is expecting to use. It is also possible for individual devices
	  (backed by potentially different drivers) may support a higher or lower API
	  version than the instance.  Both cases (higher and lower) should be supported
	  and as such, it is not an error to request an API version that is larger than
	  the instance supported API version.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8554>

2025-02-25 20:57:15 +1100  Matthew Waters <matthew@centricular.com>

	* ext/vulkan/gstvulkan.c:
	  vulkan: plugin: add debug for why an instance fails to open
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8554>

2025-02-25 20:55:09 +1100  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/vulkan/gstvkformat.c:
	* gst-libs/gst/vulkan/gstvkformat.h:
	* gst-libs/gst/vulkan/gstvkimagebufferpool.c:
	* tests/check/libs/vkformat.c:
	  vkformat: fix format_from_video_info_2 to actually runtime check versions and extensions
	  If the vulkan plugin was compiled against a newer version than the supported
	  vulkan runtime instance or device, then it was possible for format retrieval to
	  fail.  Failure was due to unconditionally using newer extensions and features
	  without runtime checking them.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8554>

2025-02-25 20:09:48 +1100  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/vulkan/gstvkdecoder-private.c:
	* gst-libs/gst/vulkan/gstvkinstance.c:
	* gst-libs/gst/vulkan/gstvkinstance.h:
	* gst-libs/gst/vulkan/gstvkphysicaldevice.c:
	* tests/check/libs/vkdevice.c:
	  vulkan: fix device related API version checks
	  The API version exposed by a particular device can be completely different from
	  what is exported by the parent instance.  Since Vulkan 1.1 it is also possible
	  to use newer device API than supported by the instance API version (with the
	  appropriate version checks).
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8554>

2025-02-25 14:57:33 +1100  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/vulkan/gstvkphysicaldevice.c:
	* gst-libs/gst/vulkan/gstvkphysicaldevice.h:
	* tests/check/libs/vkdevice.c:
	  vulkan/physicaldevice: add methods for retrieving and checking against an API version
	  Most version checks should actually be done against the device API version and
	  not the instance API version.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8554>

2025-03-05 11:07:38 +0100  Pablo García <pgarcia@fluendo.com>

	* ext/curl/gstcurlbasesink.c:
	* ext/curl/gstcurlfilesink.c:
	* ext/curl/gstcurlftpsink.c:
	* ext/curl/gstcurlhttpsink.c:
	* ext/curl/gstcurlsmtpsink.c:
	* ext/curl/gstcurltlssink.c:
	  curl: replace #if with #ifdef
	  Using #if instead of #ifdef was causing some issues when cross-compiling, like:
	  ../ext/curl/gstcurlsmtpsink.c:54:5: error: "HAVE_SYS_SOCKET_H" is not
	  defined, evaluates to 0 [-Werror=undef]
	  54 | #if HAVE_SYS_SOCKET_H
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8589>

2025-03-05 13:29:20 +0100  Pablo García <pgarcia@fluendo.com>

	* ext/curl/gstcurlbasesink.c:
	* ext/curl/gstcurlfilesink.c:
	* ext/curl/gstcurlftpsink.c:
	* ext/curl/gstcurlhttpsink.c:
	* ext/curl/gstcurlhttpsrc.h:
	* ext/curl/gstcurlsftpsink.c:
	* ext/curl/gstcurlsmtpsink.c:
	* ext/curl/gstcurlsshsink.c:
	* ext/curl/gstcurltlssink.c:
	  curl: remove unnecesary reference to unistd.h
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8589>

2025-02-21 16:24:58 -0600  Christopher Degawa <ccom@randomderp.com>

	* docs/plugins/gst_plugins_cache.json:
	* ext/svtav1/gstsvtav1enc.c:
	  svtav1enc: update to use SVT-AV1 3.0.0 API changes
	  Signed-off-by: Christopher Degawa <ccom@randomderp.com>
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8539>

2025-03-04 14:33:29 +0100  Branko Subasic <branko@axis.com>

	* ext/voamrwbenc/meson.build:
	  voamrwbenc: Do not install anything unless dependency found
	  If the dependency for the plugin is not found then nothing should be
	  installed, neither the element nor documentation.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8586>

2025-03-04 22:08:46 +0100  Carlos Bentzen <cadubentzen@igalia.com>

	* gst/videoparsers/gsth266parse.c:
	  h266parse: clear cache values with memset
	  Fixes a stack overflow on Windows/MSVC.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8588>

2025-03-04 15:01:24 +0530  Nirbheek Chauhan <nirbheek@centricular.com>

	* ext/opencv/meson.build:
	* gst-libs/gst/opencv/meson.build:
	  meson: Replace disabler dependencies with not-found dependencies
	  If a plugin gets disabled due to a `disabler()` dependency, the plugin
	  docs build itself will get disabled because `all_plugins_paths` will
	  become a disabler.
	  This was actually happening with opencv on systems that don't have
	  opencv available, and could happen with libsoup too if the build files
	  change in the future.
	  Let's avoid wasting hours of debugging for people. A not-found
	  dependency has the same effect.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8582>

2024-12-17 20:48:46 +0100  Stéphane Cerveau <scerveau@igalia.com>

	* tests/check/elements/dashsink.c:
	* tests/check/meson.build:
	  tests: add dashsink unit test
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7916>

2024-12-20 14:54:01 +0100  Stéphane Cerveau <scerveau@igalia.com>

	* ext/dash/gstdashsink.c:
	  dashsink: use gst_dash_sink_reset
	  To be able to use the properties properly,
	  the element should be reset by gst_dash_sink_reset
	  during the state change from READY_PAUSED and PAUSED_READY.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7916>

2024-12-19 18:22:06 +0100  Stéphane Cerveau <scerveau@igalia.com>

	* ext/dash/gstdashsink.c:
	  dashsink: send element message on event
	  On new mpd update and new segment written, send
	  an element message to signal the event.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7916>

2024-11-18 12:26:25 +0100  Stéphane Cerveau <scerveau@igalia.com>

	* docs/plugins/gst_plugins_cache.json:
	* ext/dash/gstdashsink.c:
	  dashsink: cleanup the teardown process
	  The stream was keeping a reference to the sink, preventing
	  it to be removed properly by the pipleline bin.
	  Clean up and simplify the code to get the stream from the pad.
	  Add more mutex protection against add/remove requested pad.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7916>

2025-02-28 13:06:34 -0300  Denis Yuji Shimizu <denis.shimizu@collabora.com>

	* ext/analyticsoverlay/gstobjectdetectionoverlay.c:
	  analytics: objectdetectionoverlay: improve event handling
	  This change ensures that the `GST_EVENT_EOS`,
	  `GST_EVENT_FLUSH_START` and `GST_EVENT_FLUSH_STOP`
	  events are forwarded to the sink downstream.
	  The logging message for `GST_EVENT_FLUSH_START`
	  has also been fixed.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8576>

2025-02-28 14:22:07 +0900  Dongyun Seo <dongyun.seo@lge.com>

	* ext/soundtouch/gstpitch.cc:
	  pitch: fix build error
	  fix build error due to sound integer sample caps
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8570>

2025-02-28 11:29:56 +0900  Elliot Chen <elliot.chen@nxp.com>

	* gst-libs/gst/play/gstplay.c:
	  gstplay: support disabling the selected track at startup
	  In some cases, need to disable some type tracks at startup before
	  receiving the stream collection message. And fix printing error log
	  in this case.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8568>

2025-02-26 10:39:06 +0100  Robert Mader <robert.mader@collabora.com>

	* tests/examples/waylandsink/main.c:
	  waylandsink/demo: Use playbin3 instead of playbin
	  Video looping currently does not work reliably with the later
	  and playbin3 is generally considered the better choice.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8561>

2025-02-21 19:00:42 -0500  Olivier Crête <olivier.crete@collabora.com>

	* ext/avtp/gstavtpsrc.c:
	* ext/avtp/gstavtpsrc.h:
	* ext/avtp/meson.build:
	  avtpsrc: Use GSocket to have cancellable wait
	  Otherwise it would block forever when there is no sender.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8550>

2025-02-21 08:37:03 +0100  Roberto Viola <rviola@vicomtech.org>

	* ext/dash/gstmpdperiodnode.c:
	  dashsink: fix period duration in dynamic MPD
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8531>

2025-02-21 09:35:37 +0800  Qian Hu (胡骞) <qian.hu@mediatek.com>

	* gst-libs/gst/wayland/gstwldisplay.c:
	  wayland: leverage unified object destruction for wl_callback
	  This patch refactors gst_wl_display_callback_destroy() to use the
	  recently introduced gst_wl_display_object_destroy() helper. Previously,
	  the function manually handled wl_callback destruction with explicit
	  lock/unlock calls and direct invocation of wl_callback_destroy().
	  Switching to gst_wl_display_object_destroy() unifies the destruction
	  process across similar objects, reducing code duplication and potential
	  errors.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8242>

2025-02-24 09:53:48 +0800  Qian Hu (胡骞) <qian.hu@mediatek.com>

	* gst-libs/gst/wayland/gstwlwindow.c:
	  wayland: fix crash issue during stop flow
	  when received xdg config event fron wayland server,
	  gst_wl_display_thread_run will call handle_xdg_surface_configure
	  which protected by priv->sync_mutex.
	  and in handle_xdg_surface_configure, configure_mutex also is locked
	  but if waylandsink set state from paused to ready, that will dispose
	  wlwindow, which will try to clear configure_mutex, and try to destroy
	  xdg_surface,
	  that do not proteced by anything.
	  so, problem is:
	  1) if clear configure_mutex(with locked state), clear lock will abort
	  2) after xdg_surface destroy, handle_xdg_surface_config may still call
	  ack_configure, that will lead wayland server go wrong
	  so, this patch updates gst_wl_window_finalize to use the new
	  destruction function for xdg_toplevel and xdg_surface, ensuring all
	  destruction operations are properly synchronized.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8242>

2025-02-24 09:43:12 +0800  Qian Hu (胡骞) <qian.hu@mediatek.com>

	* gst-libs/gst/wayland/gstwldisplay.c:
	* gst-libs/gst/wayland/gstwldisplay.h:
	  wayland: add synchronized object destruction function
	  Introduces a new generic destruction function
	  gst_wl_display_object_destroy that ensures all
	  destruction operations are protected by
	  sync_mutex.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8242>

2025-02-23 23:52:57 +0000  Tim-Philipp Müller <tim@centricular.com>

	* meson.build:
	  Back to development after 1.25.90

=== release 1.25.90 ===

2025-02-23 23:44:10 +0000  Tim-Philipp Müller <tim@centricular.com>

	* NEWS:
	* RELEASE:
	* gst-plugins-bad.doap:
	* meson.build:
	  Release 1.25.90

2025-02-23 16:56:25 +0000  Tim-Philipp Müller <tim@centricular.com>

	* po/hr.po:
	* po/pt_BR.po:
	  gst-plugins-bad: update translations

2025-02-21 20:11:09 +0900  Seungha Yang <seungha@centricular.com>

	* sys/nvcodec/plugin.c:
	  nvcodec: Register all elements if CUDA kernel is precompiled
	  GstCudaConverter dependent element can work if CUDA kernel is
	  precompiled even if runtime compiler library is not found
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8536>

2025-02-21 19:18:01 +0900  Seungha Yang <seungha@centricular.com>

	* sys/nvcodec/gstnvjpegenc.cpp:
	* sys/nvcodec/kernel/gstnvjpegenc.cu:
	* sys/nvcodec/kernel/meson.build:
	  nvjpegenc: Add support for kernel precompile
	  Port to CUDA precompile/cache
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8536>

2025-02-21 18:40:21 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/cuda/gstcudanvrtc-private.h:
	* gst-libs/gst/cuda/gstcudanvrtc.cpp:
	* sys/nvcodec/gstcudaconverter.cpp:
	* sys/nvcodec/meson.build:
	  cudaconverter: Add support for kernel precompile and cache
	  Port to precompile/cache approach
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8536>

2025-02-20 15:26:37 +0900  Seungha Yang <seungha@centricular.com>

	* meson_options.txt:
	* sys/nvcodec/kernel/collect_ptx_headers.py:
	* sys/nvcodec/kernel/gstcudaconverter-unpack.cu:
	* sys/nvcodec/kernel/gstcudaconverter.cu:
	* sys/nvcodec/kernel/meson.build:
	* sys/nvcodec/meson.build:
	  nvcodec: Add support for CUDA kernel precompile
	  Enable build time CUDA kernel compile if nvcc is detected.
	  Precompile is disabled by default and controlled by
	  "nvcodec-cuda-precompile" build option.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8536>

2025-02-19 08:55:44 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* docs/plugins/gst_plugins_cache.json:
	* sys/v4l2codecs/gstv4l2decoder.c:
	* sys/v4l2codecs/gstv4l2format.c:
	* sys/v4l2codecs/gstv4l2format.h:
	  v4l2codecs: Sort formats to avoid quality lost
	  When the driver prefered format is not picked by downstream, the
	  decoders needs to select another format from the list. The selection
	  was currently unsorted, resulting in 10bit data often being stripped
	  to 8bit.
	  To solve this, reorder the formats in an HW preference order. This order
	  deviates slightly from the preferred order in libgstvideo. This is to
	  prefer bandwidth saving over better CPU alignment. As an example NV15 is
	  prefered over P010. We also prefer tiled over linear.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8522>

2025-02-19 08:53:13 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* docs/plugins/gst_plugins_cache.json:
	* sys/kms/gstkmsutils.c:
	  kmssink: Add NV12_10LE40 / NV15 support
	  This is needed until kmssink is ported to use libgstvideo mapping.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8525>

2025-02-20 22:20:48 +0900  Seungha Yang <seungha@centricular.com>

	* docs/plugins/gst_plugins_cache.json:
	  closedcaption: Add h264/h265 ccinserter docs
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8496>

2025-02-17 20:47:35 +0900  Seungha Yang <seungha@centricular.com>

	* ext/closedcaption/gstclosedcaption.c:
	* ext/closedcaption/gsth265ccinserter.c:
	* ext/closedcaption/gsth265ccinserter.h:
	* ext/closedcaption/gsth265reorder.c:
	* ext/closedcaption/gsth265reorder.h:
	* ext/closedcaption/meson.build:
	  closedcaption: Add h265ccinserter element
	  Adding new element for inserting closed caption SEI to H.265 stream
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8496>

2025-02-20 22:04:34 +0900  Seungha Yang <seungha@centricular.com>

	* ext/closedcaption/gstclosedcaption.c:
	* ext/closedcaption/gstcodecccinserter.c:
	* ext/closedcaption/gstcodecccinserter.h:
	* ext/closedcaption/gsth264ccinserter.c:
	* ext/closedcaption/gsth264ccinserter.h:
	* ext/closedcaption/gsth264reorder.c:
	* ext/closedcaption/gsth264reorder.h:
	* ext/closedcaption/meson.build:
	  closedcaption: Add h264ccinserter element
	  Adding new element for inserting closed caption SEI to H.264 stream
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8496>

2025-02-15 20:17:59 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/codecs/gsth264picture-private.h:
	  h264picture: Export private method symbols
	  That method will be used by plugin
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8496>

2025-02-19 18:34:41 +0900  Seungha Yang <seungha@centricular.com>

	* tests/examples/cuda/meson.build:
	* tests/examples/cuda/nvenc-extern-pool.c:
	  examples: Add example for nvenc extern-cuda-bufferpool property
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8516>

2025-02-19 17:46:34 +0900  Seungha Yang <seungha@centricular.com>

	* docs/plugins/gst_plugins_cache.json:
	* sys/nvcodec/gstnvencobject.cpp:
	* sys/nvcodec/gstnvencobject.h:
	* sys/nvcodec/gstnvencoder.cpp:
	  nvencoder: Add extern-cuda-bufferpool property
	  Add new property to support application allocated GstCudaMemory.
	  CUDA memory alloc/free is a global device synchronization point
	  as if launching CUDA kernel on default CUDA stream. To avoid the global
	  synchronization, we added stream-ordered allocation support
	  which allocates CUDA memory asynchronously.
	  However, NVENC does not allow registering the stream-ordered
	  allocated memory. Thus encoder was allocating normal CUDA
	  memory in case that input CUDA memory is stream-ordered type.
	  In this commit, newly introduced property will allow application
	  to provide encoder with GstCudaBufferPool. Application can
	  preallocate sufficient amount of CUDA memory in advance
	  to avoid global device synchronization while pipeline is running.
	  For now, this pool is used only if input CUDA memory is allocated
	  via stream-ordered-allocation
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8516>

2025-02-19 15:38:08 +0900  Seungha Yang <seungha@centricular.com>

	* sys/nvcodec/gstcudaconverter.cpp:
	  cudaconverter: Use stream ordered allocation if requested
	  ... to avoid global device synchronization
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8516>

2025-02-19 14:47:10 +0900  Seungha Yang <seungha@centricular.com>

	* sys/nvcodec/gstcudaconverter.cpp:
	  cudaconverter: Remove unnecessary CUDA memory allocation
	  We can pass struct to kernel by value
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8516>

2025-02-13 15:30:04 +1100  Matthew Waters <matthew@centricular.com>

	* ext/vulkan/vkupload.c:
	  vkupload: don't require that input memory count matches output memory count
	  It can very easily not. e.g.
	  videotestsrc ! video/x-raw,format=NV12 ! identity drop-allocation=true ! \
	  vulkanupload ! vulkancolorconvert ! vulkansink
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8530>

2025-02-18 01:33:40 +0900  Seungha Yang <seungha@centricular.com>

	* docs/plugins/gst_plugins_cache.json:
	* ext/closedcaption/gstclosedcaption.c:
	* ext/closedcaption/gsth265ccextractor.c:
	* ext/closedcaption/gsth265ccextractor.h:
	* ext/closedcaption/meson.build:
	  closedcaption: Add h265ccextractor element
	  This element will collect closed caption meta from H.265 stream
	  and output caption buffers in display order
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8500>

2025-02-18 01:14:38 +0900  Seungha Yang <seungha@centricular.com>

	* ext/closedcaption/gsth264ccextractor.c:
	  h264ccextractor: Port to GstVecDeque
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8500>

2025-02-18 10:39:24 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/mpegts/gstmpegtsdescriptor.h:
	  mpegts: Rename un-namespaced REG_TO_UINT32 macro
	  Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/4226
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8506>

2025-02-12 10:37:09 +0100  Edward Hervey <edward@centricular.com>

	* gst-libs/gst/mpegts/gst-atsc-section.c:
	* gst-libs/gst/mpegts/gst-dvb-descriptor.c:
	* gst-libs/gst/mpegts/gst-dvb-section.c:
	* gst-libs/gst/mpegts/gst-scte-section.c:
	* gst-libs/gst/mpegts/gstmpegtsdescriptor.c:
	* gst-libs/gst/mpegts/gstmpegtssection.c:
	  mpegts: Update annotations
	  Specify whether the various functions can return a NULL value
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8466>

2024-12-09 17:42:18 +0100  Benjamin Gaignard <benjamin.gaignard@collabora.com>

	* docs/plugins/gst_plugins_cache.json:
	* gst/debugutils/gstvideocodectestsink.c:
	  debugutils: videocodectestsink: Add GBR_10LE as supported pixel format
	  Add GBR_10LE in the list of supported format of the element.
	  GBR_10LE is used as output format in Fluster ARGON tests suite.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8502>

2024-12-09 10:57:30 +0100  Benjamin Gaignard <benjamin.gaignard@collabora.com>

	* gst/videoparsers/gstav1parse.c:
	  videoparsers: av1: Fix typo in debug log
	  comsumed -> consumed
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8502>

2024-12-06 14:13:22 +0100  Benjamin Gaignard <benjamin.gaignard@collabora.com>

	* gst/videoparsers/gstav1parse.c:
	  videoparsers: av1: Allow av1parse to parse annexb streams
	  Let's av1 parser do it job event it receives an annexb stream.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8502>

2025-02-13 21:10:40 +1100  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/vulkan/gstvkfence.c:
	  vkfencecache: call parent release() only after resources have been removed
	  The parent class will allow the handle to be reused at the end of the function.
	  If we are still modifying the released fence, then another thread can acquire
	  the fence while we are still clearing some of its data and produce a data race
	  or a leaked fence depending on which thread wins.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8491>

2025-02-16 20:08:58 -0500  Olivier Crête <olivier.crete@collabora.com>

	* gst-libs/gst/analytics/gstanalyticsmeta.c:
	  analyticsmeta: Make output struct annotation more explicit
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8489>

2025-02-16 20:07:48 -0500  Olivier Crête <olivier.crete@collabora.com>

	* gst-libs/gst/analytics/gstanalyticsmeta.c:
	  analyticsmeta: Avoid crash when adding Mtd with NULL Mtd structure
	  It's documented that you don't need to get the position of the Mtd
	  when adding it.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8489>

2025-02-16 21:30:42 +0100  Stéphane Cerveau <scerveau@igalia.com>

	* ext/vulkan/gstvulkan.c:
	  vulkan: register always vulkansink elements
	  vulkansink elements were enabled only if
	  the video extensions were present which
	  is breaking backward compatibility such as Android
	  or ios.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8488>

2024-12-23 15:37:17 +0100  Tim-Philipp Müller <tim@centricular.com>

	* ext/srtp/gstsrtp.c:
	* ext/srtp/gstsrtp.h:
	* ext/srtp/gstsrtpdec.c:
	* ext/srtp/gstsrtpdec.h:
	* ext/srtp/gstsrtpenc.c:
	* ext/srtp/meson.build:
	  srtp: require libsrtp2, drop support for libsrtp1
	  Even old old debian stable from 2019 ships with a
	  recent-enough libsrtp2 version.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8205>

2025-02-16 14:09:49 +0900  Seungha Yang <seungha@centricular.com>

	* ext/closedcaption/gstcccombiner.c:
	  cccombiner: Fix critical warnings
	  gst_buffer_add_video_caption_meta: assertion 'data != NULL' failed
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8486>

2025-02-16 14:36:08 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/play/gstplay.c:
	  play: Fix annotations of `parse_missing_plugins()` API
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8487>

2025-02-15 15:44:14 +0000  Tim-Philipp Müller <tim@centricular.com>

	* ext/svtjpegxs/gstsvtjpegxsenc.c:
	  svtjpegxsenc: fix copy'n'paste error in property registration
	  Doesn't change anything in practice because the default value
	  was set correctly in the instance init function.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8485>

2024-12-09 13:39:16 -0500  Arun Raghavan <arun@asymptotic.io>

	* ext/onnx/gstonnxclient.cpp:
	  onnx: Allow generic well-known names for tensors
	  This allows us to use the upstream version of the ssd_mobilenet model[1], and
	  starts setting us up to allow some tensor names by convention if we want to add
	  more decoders.
	  [1] https://github.com/onnx/models/tree/main/validated/vision/object_detection_segmentation/ssd-mobilenetv1
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8117>

2025-02-14 14:10:25 +0100  Edward Hervey <edward@centricular.com>

	* gst/mpegtsdemux/mpegtspacketizer.c:
	  mpegts: Fix PCR Discontinuity handling for HLS
	  We can only reliably use the adaptation field discontinuity flag if our input is
	  properly timestamped on a regular basis (ex: UDP, DVB, RTP, etc...).
	  For HLS and other systems which don't provide that information, we should not
	  reset the base observations. Otherwise we would potentially end up picking a
	  reference time from a long time ago.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8480>

2024-04-09 21:31:07 +0900  Seungha Yang <seungha@centricular.com>

	* docs/plugins/gst_plugins_cache.json:
	* ext/closedcaption/gstclosedcaption.c:
	* ext/closedcaption/gsth264ccextractor.c:
	* ext/closedcaption/gsth264ccextractor.h:
	* ext/closedcaption/meson.build:
	  closedcaption: Add closed caption extractor element for H.264 stream
	  Adding new h264ccextractor element. This element will extract
	  closed caption meta from H.264 stream, and output in display order.
	  For the frame reordering, this element is implemented as a subclass
	  of h264decoder but without actual frame decoding.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6580>

2025-02-14 10:29:08 +0100  Alexander Slobodeniuk <aslobodeniuk@fluendo.com>

	* sys/applemedia/avfassetsrc.m:
	  avfassetsrc: fix mutex leak
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8479>

2025-02-14 10:25:14 +0100  Alexander Slobodeniuk <aslobodeniuk@fluendo.com>

	* sys/applemedia/avfassetsrc.m:
	  avfassetsrc: fix missing GObject dispose chainup
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8479>

2025-02-10 15:01:14 +0100  Alexander Slobodeniuk <aslobodeniuk@fluendo.com>

	* sys/applemedia/videotexturecache-gl.m:
	* sys/applemedia/videotexturecache-vulkan.mm:
	  applemedia: fix chaining up GObject's constructed virtual method
	  Fixes #4224
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8446>

2025-02-13 13:03:37 +0900  Seungha Yang <seungha@centricular.com>

	* ext/closedcaption/gstcccombiner.c:
	* ext/closedcaption/gstcccombiner.h:
	* tests/check/elements/cccombiner.c:
	  cccombiner: Fix wrong caps and buffer ordering
	  If there's queued video buffer, forwards new caps event once
	  the queued video buffer is drained.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8473>

2025-02-13 10:04:16 +0800  James Oliver <james.oliver@icetana.ai>

	* sys/nvcodec/gstcudaipcserver.cpp:
	* sys/nvcodec/gstnvencobject.cpp:
	  nvcodec: fix invalidated std::set::iterator usage
	  As per the C++ standard, any usage of a std::set::iterator after it has
	  been erased from the collection results in undefined behaviour. This has
	  resulted in application crashes due to CUDA illegal address errors.
	  This commit fixes the issue by copying and incrementing the iterator
	  within any for-loops that also invoke std::set::erase.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8472>

2025-02-10 13:43:11 +0100  Alexander Slobodeniuk <aslobodeniuk@fluendo.com>

	* sys/d3d11/gstd3d11window_corewindow.cpp:
	* sys/d3d11/gstd3d11window_swapchainpanel.cpp:
	  d3d11: fix chaining up GObject's constructed virtual method
	  Fixes #4223
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8448>

2025-02-10 13:41:54 +0100  Alexander Slobodeniuk <aslobodeniuk@fluendo.com>

	* sys/wasapi/gstmmdeviceenumerator.cpp:
	  wasapi: fix chaining up GObject's constructed virtual method
	  Fixes #4223
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8448>

2025-02-10 13:41:19 +0100  Alexander Slobodeniuk <aslobodeniuk@fluendo.com>

	* sys/asio/gstasioobject.cpp:
	  asio: fix chaining up GObject's constructed virtual method
	  Fixes #4223
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8448>

2025-02-10 13:40:24 +0100  Alexander Slobodeniuk <aslobodeniuk@fluendo.com>

	* gst-libs/gst/winrt/gstwinrtdevicewatcher.cpp:
	  winrt: fix chaining up GObject's constructed virtual method
	  Fixes #4223
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8448>

2025-02-12 22:07:41 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d12/gstd3d12converter-builder.cpp:
	* gst-libs/gst/d3d12/gstd3d12converter-pack.cpp:
	* gst-libs/gst/d3d12/gstd3d12converter-unpack.cpp:
	* gst-libs/gst/d3d12/gstd3d12device.cpp:
	* gst-libs/gst/d3d12/gstd3d12mipgen.cpp:
	* sys/d3d12/gstd3d12compositor.cpp:
	* sys/d3d12/gstd3d12overlaycompositor.cpp:
	* sys/d3d12/gstd3d12testsrc.cpp:
	* sys/d3d12/gstd3d12yadif.cpp:
	  d3d12: Update root signature flags for old Windows10
	  Use root signature flags which are part of initial Direct3D12 release.
	  Old OS does not understand newly introduced flags
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8469>

2025-02-12 16:51:24 +0100  wbartel <wilhelm.bartel@streamonkey.de>

	* gst-libs/gst/webrtc/webrtc-priv.h:
	* gst-libs/gst/webrtc/webrtc.h:
	* gst-libs/gst/webrtc/webrtc_fwd.h:
	  webrtc: fix recursive G_BEGIN_DECLS and include missing sctptransport.h in webrtc.h
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8470>

2025-02-12 00:54:25 +0200  Mart Raudsepp <mart.raudsepp@globalm.media>

	* gst/mpegtsmux/gstbasetsmux.c:
	  mpegtsmux: Fix error message for PID < 0x40 to be in the claimed base 16
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8463>

2025-02-12 00:53:24 +0200  Mart Raudsepp <mart.raudsepp@globalm.media>

	* gst/mpegtsmux/gstbasetsmux.c:
	  mpegtsmux: Fix deadlock when requesting pad for PID < 0x40
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8463>

2025-02-11 00:02:50 +0100  Alexander Slobodeniuk <aslobodeniuk@fluendo.com>

	* sys/directshow/dshowdeviceprovider.cpp:
	  dshowdeviceprovider: fix missing GObject vtable chainups
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8452>

2025-02-11 00:02:05 +0100  Alexander Slobodeniuk <aslobodeniuk@fluendo.com>

	* gst/transcode/gst-cpu-throttling-clock.c:
	  cpu-throttling-clock: fix missing GObject vtable chainups
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8452>

2025-02-11 00:01:23 +0100  Alexander Slobodeniuk <aslobodeniuk@fluendo.com>

	* ext/wpe/wpe-extension/gstwpebusmsgforwarder.c:
	  wpebusmsgforwarder: fix missing GObject vtable chainups
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8452>

2025-02-11 00:00:42 +0100  Alexander Slobodeniuk <aslobodeniuk@fluendo.com>

	* ext/qroverlay/gstbaseqroverlay.c:
	  baseqroverlay: fix missing GObject vtable chainups
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8452>

2025-02-11 00:00:23 +0100  Alexander Slobodeniuk <aslobodeniuk@fluendo.com>

	* ext/codec2json/gstav12json.c:
	* ext/codec2json/gsth2642json.c:
	* ext/codec2json/gsth2652json.c:
	* ext/codec2json/gstvp82json.c:
	  codec2json: fix missing GObject vtable chainups
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8452>

2025-02-11 16:51:38 +0100  Robert Mader <robert.mader@collabora.com>

	* gst-libs/gst/wayland/gstwldisplay.c:
	  wayland: Report correct modifiers
	  Fixes: e0e7a11089 ("wayland: De-dupe filling caps format fields")
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8460>

2025-02-10 19:51:57 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12screencapturesrc.cpp:
	  d3d12screencapturesrc: Fix infinite negotiation on resolution change
	  Updates crop rect if previous capture got error. The error might
	  result from resolution change.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8444>

2025-02-10 19:34:28 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12dxgicapture.cpp:
	  d3d12screencapturesrc: Fix capturing rotated monitor
	  Acquired and reconstructed frames will have different resolution
	  if monitor is rotated. Use the copying logic of d3d11 implementation
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8444>

2025-02-07 17:48:32 +0100  Carlos Bentzen <cadubentzen@igalia.com>

	* docs/plugins/gst_plugins_cache.json:
	* gst/mpegtsmux/gstbasetsmux.c:
	* gst/mpegtsmux/gstmpegtsmux.c:
	* gst/mpegtsmux/tsmux/tsmuxstream.c:
	* gst/mpegtsmux/tsmux/tsmuxstream.h:
	  mpegtsmux: add support for VVC/H.266 video
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8435>

2025-02-06 09:11:14 +0100  Edward Hervey <edward@centricular.com>

	* gst/mpegtsdemux/mpegtspacketizer.c:
	* gst/mpegtsdemux/tsdemux.c:
	  mpegts: Take into account adaptation field discont
	  If the flag is set, there is an *expected* discontinuity:
	  * For CC, we ignore the fact it's not contiguous
	  * For PCR, we acknowledge the values aren't contiguous
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8420>

2025-01-24 13:53:36 -0500  Daniel Morin <daniel.morin@collabora.com>

	* ext/srt/gstsrtsink.c:
	* ext/srt/gstsrtsink.h:
	  srtsink: filter stream-config already sent
	  - Only sent buffer with GST_BUFFER_FLAG_HEADER if this buffer is not present in
	  the streamheader
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8373>

2025-02-10 13:16:20 +0100  Alexander Slobodeniuk <aslobodeniuk@fluendo.com>

	* sys/kms/gstkmsallocator.c:
	  kms: fix chaining up GObject's constructed virtual method
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8416>

2025-02-10 13:15:34 +0100  Alexander Slobodeniuk <aslobodeniuk@fluendo.com>

	* gst-libs/gst/mse/gstmsesrc.c:
	  msesrc: fix chaining up GObject's constructed virtual method
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8416>

2025-02-06 11:40:55 +0100  Alexander Slobodeniuk <aslobodeniuk@fluendo.com>

	* gst-libs/gst/vulkan/gstvkphysicaldevice.c:
	  vkphysicaldevice: fix chaining up GObject's constructed virtual method
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8416>

2025-02-06 11:33:50 +0100  Alexander Slobodeniuk <aslobodeniuk@fluendo.com>

	* gst/mpegtsmux/gstbasetsmux.c:
	  basetsmux: fix chaining up GObject's constructed virtual method
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8416>

2025-02-06 11:28:16 +0100  Alexander Slobodeniuk <aslobodeniuk@fluendo.com>

	* gst/rtp/gstrtpsrc.c:
	  rtpsrc: fix chaining up GObject's constructed virtual method
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8416>

2024-11-04 18:49:32 +0100  Stéphane Cerveau <scerveau@igalia.com>

	* gst-libs/gst/vulkan/gstvkutils.c:
	  vkutils: update gst_vulkan_handle_set_context doc
	  device is a GstVulkanDevice
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7011>

2024-06-11 17:25:51 +0200  Stéphane Cerveau <scerveau@igalia.com>

	* ext/vulkan/gstvulkan.c:
	* ext/vulkan/vksink.c:
	* ext/vulkan/vksink.h:
	  vksink: allow multiple device registration
	  As for decoders, the plugin can register multiple
	  device present on the system.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7011>

2024-06-04 18:49:37 +0200  Stéphane Cerveau <scerveau@igalia.com>

	* ext/vulkan/gstvulkan.c:
	* ext/vulkan/gstvulkanelement.c:
	* ext/vulkan/gstvulkanelements.h:
	* ext/vulkan/vkh264dec.c:
	* ext/vulkan/vkh264dec.h:
	* ext/vulkan/vkh265dec.c:
	* ext/vulkan/vkh265dec.h:
	  vkh26xdec: register multiple elements
	  Register the multiple devices available on the system in
	  separate features in the registry for the vulkan decoders.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7011>

2024-10-21 17:05:18 +0200  Benjamin Gaignard <benjamin.gaignard@collabora.com>

	* sys/v4l2codecs/gstv4l2codecav1dec.c:
	  v4l2codecs: av1: Allow inter-frames resolution change
	  When the stream resolution change it is needed to negotiate
	  a new pools and to update the caps.
	  Resolution change could occurs on a new sequence or a new
	  picture so move resolution change detection code in a common
	  function.
	  Only call streamoff if the resolution occur while decoding a key frame.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8064>

2024-10-21 17:03:00 +0200  Benjamin Gaignard <benjamin.gaignard@collabora.com>

	* gst-libs/gst/codecs/gstav1decoder.c:
	  codecs: av1 decoder: Drain output buffers resolution change
	  We must drain the pending output picture so that subclass can renegotiate
	  the caps. Not doing so while still renegotiating would mean that the
	  subclass would have to do an allocation query before pushing the caps.
	  Pushing the caps now without this would also not work since these caps
	  won't match the pending buffers format.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8064>

2025-02-03 12:46:29 +0000  Glyn Davies <glyn@solet.io>

	* gst/videoparsers/gsth264parse.c:
	  h264parse: Force full timestamp on all timecode updates. Was invalid between midnight and 1am
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8401>

2025-02-09 17:47:32 +0000  Tim-Philipp Müller <tim@centricular.com>

	* meson.build:
	  Back to development after 1.25.50

=== release 1.25.50 ===

2025-02-09 17:35:17 +0000  Tim-Philipp Müller <tim@centricular.com>

	* NEWS:
	* RELEASE:
	* gst-plugins-bad.doap:
	* meson.build:
	  Release 1.25.50

2025-02-08 16:53:57 +0530  Nirbheek Chauhan <nirbheek@centricular.com>

	* gst-libs/gst/opencv/meson.build:
	  opencv: Fix pkgconfig dependency name and gstopencv_dep
	  Broke in bbdf8f599633627d4727b4cab6274c6a2b486a81
	  Also print the prefix inside which we try to detect opencv's data dir.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8403>

2025-02-08 01:49:07 +0530  Nirbheek Chauhan <nirbheek@centricular.com>

	* docs/plugins/gst_plugins_cache.json:
	* ext/opencv/gsthanddetect.cpp:
	* gst-libs/gst/opencv/meson.build:
	  opencv: Fix hand detect profile paths
	  This is the same mechanism used by facedetect
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8403>

2024-12-13 09:07:48 +0000  Cheung Yik Pang <pang.cheung@harmonicinc.com>

	* sys/va/gstvavp8dec.c:
	  va: Add VP8 alpha decode bin
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8180>

2024-10-29 12:40:04 +0800  Cheung Yik Pang <pang.cheung@harmonicinc.com>

	* sys/va/gstvavp9dec.c:
	  va: Add VP9 alpha decode bin
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8180>

2024-10-29 12:39:39 +0800  Cheung Yik Pang <pang.cheung@harmonicinc.com>

	* sys/va/gstvacodecalphadecodebin.c:
	* sys/va/gstvacodecalphadecodebin.h:
	* sys/va/meson.build:
	  va: Add codec alpha decode bin base class
	  A VA-API decoder bin base class for codecs with alpha channel support.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8180>

2025-02-07 15:43:05 +0100  wbartel <wilhelm.bartel@streamonkey.de>

	* gst-libs/gst/webrtc/meson.build:
	  webrtc: fix pkg-config missing sdp dependency
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8433>

2025-02-07 08:44:53 +0100  Guillaume Desmottes <guillaume.desmottes@onestream.live>

	* gst-libs/gst/codecs/meson.build:
	  codecs: include gsth266decoder.h when building gir
	  Will hopefully fix cerbero ci job.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8430>

2025-02-05 15:27:14 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* docs/plugins/gst_plugins_cache.json:
	* sys/v4l2codecs/gstv4l2format.c:
	* sys/v4l2codecs/gstv4l2format.h:
	  v4l2codecs: Add NV12_10LE40 / NV15 support
	  NV15 is common format on RK platform and is that only uncompressed 10bit
	  format the display controller on RK3588 supports.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8426>

2023-05-22 16:15:33 +0200  Kévin Commaille <zecakeh@tedomum.fr>

	* ext/zbar/gstzbar.c:
	* tests/check/elements/zbar.c:
	  zbar: allow to get symbol as bytes
	  It would be possible to get some binary symbols with a string, but if
	  they contain NUL bytes, the string will be cut off. To fix this,
	  provide the decoded symbol as a GBytes too.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4688>

2023-05-22 16:09:28 +0200  Kévin Commaille <zecakeh@tedomum.fr>

	* docs/plugins/gst_plugins_cache.json:
	* ext/zbar/gstzbar.c:
	* ext/zbar/gstzbar.h:
	* ext/zbar/meson.build:
	  zbar: allow to enable binary mode
	  Added in zbar 0.23.1, it is a mode that prevents zbar from trying to
	  convert the binary data of QR codes to text by guessing the encoding.
	  Add a property that changes the configuration of the zbar image scanner
	  accordingly.
	  <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4688>
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4688>

2025-01-09 23:42:14 +0800  He Junyan <junyan.he@intel.com>

	* gst/videoparsers/gstav1parse.c:
	  av1parse: Handle the padding OBU correctly
	  The current av1parse can not find the edge of frame correctly if there
	  is padding OBUs inside the stream. We now use a flag seen_non_padding to
	  check whether we see some valid data after a data push. Then the padding
	  OBUs will be the part of the new frame.
	  We also refine the code logic to make the code more readable.
	  Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/4044
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8269>

2025-02-05 17:10:16 +0100  Carlos Bentzen <cadubentzen@igalia.com>

	* gst/videoparsers/gsth266parse.c:
	* gst/videoparsers/gsth266parse.h:
	  h266parse: clean up unused APS fields
	  Since APS is always carried in-band, we don't need to keep the APS
	  NALs around in the parser anymore.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8359>

2025-01-31 00:26:38 +0100  Carlos Bentzen <cadubentzen@igalia.com>

	* gst-libs/gst/codecparsers/gsth266parser.c:
	  h266parser: do not fail when extension flags are set
	  For VPS, PPS, APS, OPI and DCI, the extension flags are the last syntax
	  in the structures, and according to the spec, should be ignored if set to 1.
	  Therefore, we can just ignore them rather than failing.
	  This fixes a few failures in fluster, like in the PSEXT_A_Nokia_2 stream.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8359>

2025-01-24 12:11:28 +0100  Carlos Bentzen <cadubentzen@igalia.com>

	* tests/check/elements/h266parse.c:
	  h266parse: add tests for vvc1 and vvi1
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8359>

2025-01-24 12:10:05 +0100  Carlos Bentzen <cadubentzen@igalia.com>

	* docs/plugins/gst_plugins_cache.json:
	* gst/videoparsers/gsth266parse.c:
	  h266parse: enable vvc1 and vvi1 stream formats
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8359>

2025-01-24 12:07:21 +0100  Carlos Bentzen <cadubentzen@igalia.com>

	* gst/videoparsers/gsth266parse.c:
	  h266parse: handle packetized frames
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8359>

2025-02-05 14:17:21 +0100  Carlos Bentzen <cadubentzen@igalia.com>

	* gst/videoparsers/gsth266parse.c:
	  h266parse: don't prepend APS NALs on IDR frames
	  Instead, APS NALs can just be pushed an in-band NALs like PH and SEI.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8359>

2025-01-24 12:21:35 +0100  Carlos Bentzen <cadubentzen@igalia.com>

	* gst/videoparsers/gsth266parse.c:
	  h266parse: negotiate before handling codec_data NALs
	  If we find VPS/SPS/PPS in codec_data and call gst_h266_parse_process_nal
	  with them, we need to have negotiated before in order to correctly
	  process them with flags like h266parse->transform set or not depending
	  on the negotiation. This is important because in certain vvc1/vvi1 streams we
	  may have correct codec_data but faulty parameter sets in the stream and
	  we would want to push the parameter sets from codec_data first.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8359>

2025-02-05 14:17:45 +0100  Carlos Bentzen <cadubentzen@igalia.com>

	* gst/videoparsers/gsth266parse.c:
	  h266parse: parse codec_data
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8359>

2025-01-24 11:46:38 +0100  Carlos Bentzen <cadubentzen@igalia.com>

	* gst/videoparsers/gsth266parse.c:
	  h266parse: update IDR position in more cases
	  The IDR position should be updated if we're processing an
	  IDR frame or pushing codec NALs. Not only when picture_header_in_slice_header_flag
	  is set.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8359>

2025-01-24 11:37:10 +0100  Carlos Bentzen <cadubentzen@igalia.com>

	* gst/videoparsers/gsth266parse.c:
	  h266parse: fix typos
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8359>

2025-01-24 11:30:36 +0100  Carlos Bentzen <cadubentzen@igalia.com>

	* gst/videoparsers/gsth266parse.c:
	  h266parse: implement make_codec_data
	  implement serialization of codec_data containing VvcDecoderConfigurationRecord
	  as defined in ISO/IEC 14996-15.
	  The VPS/SPS/PPS NALs are added to the codec_data. APS NALs could be
	  optionally included as well but will be pushed in-band instead, because:
	  1. Logic is easier that way. We'd have to filter out for PREFIX_APS only
	  (SUFFIX_APS aren't allowed in codec_data).
	  2. APS NALs can also be sent for every non-keyframe slice, and often are, so just pushing
	  them in-band makes more sense to have less to keep track and avoid possible
	  duplicates.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8359>

2025-01-24 11:17:50 +0100  Carlos Bentzen <cadubentzen@igalia.com>

	* gst-libs/gst/codecparsers/gsth266parser.c:
	* gst-libs/gst/codecparsers/gsth266parser.h:
	* tests/check/libs/h266parser.c:
	  h266parser: add API to parse VVCDecoderConfigurationRecord
	  VVCDecoderConfigurationRecord is present in ISOBMFF files carrying
	  VVC/H.266 streams via the vvcC box, as defined in ISO/IEC 14496-15.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8359>

2025-02-06 08:34:46 +0530  Nirbheek Chauhan <nirbheek@centricular.com>

	* gst-libs/gst/opencv/meson.build:
	  opencv: imgcodecs.hpp is also needed to build the plugin
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8418>

2025-02-06 08:08:58 +0530  Nirbheek Chauhan <nirbheek@centricular.com>

	* ext/opencv/meson.build:
	* gst-libs/gst/opencv/meson.build:
	  meson: Modernize opencv build definitions
	  Use the fs module instead of using `run_command('test')`, simplify
	  some indentation, fix dependency management
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8418>

2025-01-03 15:15:57 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/play/gstplay.c:
	* gst-libs/gst/play/gstplay.h:
	  play: Distinguish missing plugin errors and include more details in error/warning messages
	  Include the URI (and if possible) stream-id in the messages. These are provided
	  by uridecodebin3 / decodebin3 in most cases but there is fallback code to guess
	  them otherwise.
	  For missing plugin errors also the installer details are included.
	  The URI is included in all message types.
	  Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3547
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8236>

2025-02-06 23:28:13 +0900  Seungha Yang <seungha@centricular.com>

	* docs/plugins/gst_plugins_cache.json:
	* ext/nvdswrapper/gstnvdsdewarp.cpp:
	* ext/nvdswrapper/plugin.cpp:
	  docs: Add nvdswrapper docs
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8425>

2024-12-23 11:47:26 +0100  Philippe Normand <philn@igalia.com>

	* ext/wpe/gstwpethreadedview.cpp:
	* ext/wpe/gstwpethreadedview.h:
	  wpe: Reduce gpointer usage in ThreadedView
	  Those gpointers were introduced when we had to support some old WPE API, no need
	  for them anymore.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8413>

2025-02-03 12:25:34 +0100  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* sys/v4l2codecs/plugin.c:
	  docs: v4l2codecs: Add plugin index documentation
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5555>

2023-10-25 16:28:43 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* docs/plugins/gst_plugins_cache.json:
	  doc: Push v4l2codecs documentation cache
	  These are normally autogenerated for the platform GStreamer runs on,
	  though it is convenient to have everything listed in the doc. This
	  was created with the new GST_V4L2_CODEC_GEN_DOC=1 environment.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5555>

2025-01-30 16:27:36 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* sys/v4l2codecs/gstv4l2codecalphadecodebin.c:
	* sys/v4l2codecs/gstv4l2codecalphadecodebin.h:
	* sys/v4l2codecs/gstv4l2codecav1dec.c:
	* sys/v4l2codecs/gstv4l2codech264dec.c:
	* sys/v4l2codecs/gstv4l2codech265dec.c:
	* sys/v4l2codecs/gstv4l2codecmpeg2dec.c:
	* sys/v4l2codecs/gstv4l2codecvp8dec.c:
	* sys/v4l2codecs/gstv4l2codecvp9dec.c:
	  doc: v4l2codecs: Document all decoders
	  Add the documentation blob and since marker for all decoders.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5555>

2025-01-30 23:05:58 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* sys/v4l2codecs/gstv4l2codecalphadecodebin.c:
	* sys/v4l2codecs/gstv4l2codecav1dec.c:
	* sys/v4l2codecs/gstv4l2codech264dec.c:
	* sys/v4l2codecs/gstv4l2codech265dec.c:
	* sys/v4l2codecs/gstv4l2codecmpeg2dec.c:
	* sys/v4l2codecs/gstv4l2codecvp8dec.c:
	* sys/v4l2codecs/gstv4l2codecvp9dec.c:
	* sys/v4l2codecs/gstv4l2decoder.c:
	* sys/v4l2codecs/gstv4l2decoder.h:
	  v4l2codecs: Remove uneeded per-codec abstract class
	  That subclass was not needed and was causing issues wit doc generation.
	  The only down side of removing it is that the decoder cast macro is no
	  longer type safe.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5555>

2025-01-30 20:00:55 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* sys/v4l2codecs/gstv4l2codecvp8dec.c:
	* sys/v4l2codecs/gstv4l2codecvp9dec.c:
	  v4l2codecs: Add Hardware class to alpha decoders
	  This was accidently omitted, this is needed wen filterting hardware
	  codecs.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5555>

2023-12-14 15:48:43 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* sys/v4l2codecs/gstv4l2codecalphadecodebin.c:
	* sys/v4l2codecs/gstv4l2codecalphadecodebin.h:
	  v4l2codecs: Cleanup alpha decodebin class header
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5555>

2023-12-14 15:26:27 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* sys/v4l2codecs/gstv4l2codecav1dec.c:
	* sys/v4l2codecs/gstv4l2codecav1dec.h:
	* sys/v4l2codecs/gstv4l2codech264dec.c:
	* sys/v4l2codecs/gstv4l2codech264dec.h:
	* sys/v4l2codecs/gstv4l2codech265dec.c:
	* sys/v4l2codecs/gstv4l2codech265dec.h:
	* sys/v4l2codecs/gstv4l2codecmpeg2dec.c:
	* sys/v4l2codecs/gstv4l2codecmpeg2dec.h:
	* sys/v4l2codecs/gstv4l2codecvp8dec.c:
	* sys/v4l2codecs/gstv4l2codecvp8dec.h:
	* sys/v4l2codecs/gstv4l2codecvp9dec.c:
	* sys/v4l2codecs/gstv4l2codecvp9dec.h:
	  v4l2codecs: Don't needlessly expose decoder types
	  We have explicit register functions and have no use for these types in
	  other components.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5555>

2023-12-14 15:19:56 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* sys/v4l2codecs/gstv4l2codecallocator.h:
	* sys/v4l2codecs/gstv4l2codecalphadecodebin.h:
	* sys/v4l2codecs/gstv4l2codecav1dec.h:
	* sys/v4l2codecs/gstv4l2codecdevice.h:
	* sys/v4l2codecs/gstv4l2codech264dec.h:
	* sys/v4l2codecs/gstv4l2codech265dec.h:
	* sys/v4l2codecs/gstv4l2codecmpeg2dec.h:
	* sys/v4l2codecs/gstv4l2codecpool.h:
	* sys/v4l2codecs/gstv4l2codecvp8dec.h:
	* sys/v4l2codecs/gstv4l2codecvp9dec.h:
	* sys/v4l2codecs/gstv4l2decoder.h:
	* sys/v4l2codecs/gstv4l2format.h:
	  v4l2codecs: Use pragma once
	  This is a nice cleanup and removes comment referring to D3D notably.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5555>

2023-10-24 17:07:54 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* sys/v4l2codecs/gstv4l2codecav1dec.c:
	  v4l2codecs: Enable AV1 kernel version check
	  The uAPI finally got merged into 6.5.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5555>

2023-10-24 17:04:17 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* sys/v4l2codecs/gstv4l2codecav1dec.c:
	* sys/v4l2codecs/gstv4l2codecdevice.c:
	* sys/v4l2codecs/gstv4l2codech264dec.c:
	* sys/v4l2codecs/gstv4l2codech265dec.c:
	* sys/v4l2codecs/gstv4l2codecmpeg2dec.c:
	* sys/v4l2codecs/gstv4l2codecvp8dec.c:
	* sys/v4l2codecs/gstv4l2codecvp9dec.c:
	* sys/v4l2codecs/gstv4l2decoder.c:
	* sys/v4l2codecs/gstv4l2decoder.h:
	  v4l2codecs: Add a doc generation mode
	  This is enabled through an env, it allow exposing all elements without
	  the needed driver supports. This is useful to fill the documentation cache.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5555>

2025-02-03 14:09:16 +0100  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* docs/plugins/gst_plugins_cache.json:
	* ext/gtk/gstgtkwaylandsink.c:
	* ext/wayland/gstwaylandsink.c:
	  waylandsink: Prefer DMABuf over system memory
	  Swap the template and caps query around to that the sink can describe a
	  preference for DMAbuf over system memory.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8404>

2025-02-04 17:33:23 +0100  Stéphane Cerveau <scerveau@igalia.com>

	* tests/check/libs/vkvideoencodeh265.c:
	  vkvideoencodeh265: fix PicOrderCntVal usage
	  remove `pic_order_cnt` member variable of GstVulkanH265EncodeFrame and
	  use always `pic_num` instead.
	  Intialize first `pic_num` value in test_encoder_h265_i_p.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8408>

2025-02-04 16:10:38 +0100  Stéphane Cerveau <scerveau@igalia.com>

	* tests/check/libs/vkvideoencodeh264.c:
	* tests/check/libs/vkvideoencodeh265.c:
	  vkvideoencodeh26x: tests: set constant qp
	  Set constant qp to 26 in between 0 and 51, the qp range
	  for h264 and h265.
	  minQp in case of ANV is 10 for h265
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8407>

2025-02-04 03:49:00 +0900  Seungha Yang <seungha@centricular.com>

	* sys/mediafoundation/meson.build:
	  mediafoundation: Enable MinGW build
	  Update MinGW toolchain in cerbero can support MediaFoundation
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8406>

2025-02-04 05:27:40 +0900  Seungha Yang <seungha@centricular.com>

	* sys/mediafoundation/gstmfcapturedshow.cpp:
	* sys/mediafoundation/gstmftransform.cpp:
	* sys/mediafoundation/gstmfvideobuffer.cpp:
	* sys/mediafoundation/gstmfvideobuffer.h:
	* sys/mediafoundation/gstmfvideoencoder.cpp:
	  mediafoundation: Use DEFINE_GUID instead of DECLSPEC_UUID
	  MinGW will not define IID for custom COM object
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8406>

2025-02-04 04:14:40 +0900  Seungha Yang <seungha@centricular.com>

	* sys/mediafoundation/gstmfutils.h:
	  mediafoundation: Fix GUID_NULL related MinGW build error
	  Include cguid.h for GUID_NULL
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8406>

2025-02-04 04:09:02 +0900  Seungha Yang <seungha@centricular.com>

	* sys/mediafoundation/gstmfaacenc.cpp:
	* sys/mediafoundation/gstmfcapturedshow.cpp:
	* sys/mediafoundation/gstmfmp3enc.cpp:
	* sys/mediafoundation/gstmfsourceobject.cpp:
	* sys/mediafoundation/gstmfsourcereader.cpp:
	* sys/mediafoundation/gstmftransform.cpp:
	* sys/mediafoundation/gstmfutils.cpp:
	* sys/mediafoundation/gstmfvideobuffer.cpp:
	* sys/mediafoundation/gstmfvideobuffer.h:
	* sys/mediafoundation/gstmfvideoencoder.cpp:
	* sys/mediafoundation/gstmfvideosrc.cpp:
	* sys/mediafoundation/gstmfvp9enc.cpp:
	* sys/mediafoundation/plugin.cpp:
	  mediafoundation: Fix various GCC warnings
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8406>

2024-06-28 09:32:20 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvabasedec.h:
	* sys/va/gstvah266dec.c:
	* sys/va/gstvah266dec.h:
	* sys/va/gstvaprofile.c:
	* sys/va/gstvaprofile.h:
	* sys/va/meson.build:
	* sys/va/plugin.c:
	  va: Implement the VA h266 decoder
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5865>

2024-12-20 18:13:23 +0800  He Junyan <junyan.he@intel.com>

	* gst-libs/gst/codecs/gsth266decoder.c:
	* gst-libs/gst/codecs/gsth266decoder.h:
	* gst-libs/gst/codecs/gsth266picture.c:
	* gst-libs/gst/codecs/gsth266picture.h:
	* gst-libs/gst/codecs/meson.build:
	  codecs: Add the H266/VVC decoder base class
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5865>

2025-02-04 05:27:20 +0900  Seungha Yang <seungha@centricular.com>

	* sys/mediafoundation/gstwin32devicewatcher.cpp:
	  mfdevice: Unregister device notification callback on stop
	  ... as intended
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8405>

2025-02-04 03:55:55 +0900  Seungha Yang <seungha@centricular.com>

	* sys/mediafoundation/gstmfvideoencoder.cpp:
	  mfvideoenc: Fix profile string check
	  profile_str is not std::string. Use strcmp instead
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8405>

2025-02-04 02:52:51 +0900  Seungha Yang <seungha@centricular.com>

	* sys/mediafoundation/gstmfdevice.cpp:
	  mfdevice: Fix memory leak
	  Release resources on dispose() as intended
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8405>

2025-02-03 20:39:53 +0900  Seungha Yang <seungha@centricular.com>

	* sys/dwrite/meson.build:
	* sys/nvcodec/meson.build:
	* sys/qsv/meson.build:
	  meson: Check d3d12video header for MinGW build
	  Old MinGW toolchain does not ship the header
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8400>

2025-02-03 09:39:07 +0100  Sebastian Dröge <sebastian@centricular.com>

	* ext/closedcaption/gstceaccoverlay.c:
	  cc708overlay: Deprecate element in favour of cea708overlay
	  Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3459
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8397>

2025-02-02 19:00:26 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d12/gstd3d12mipgen.cpp:
	  d3d12mipgen: Respect requested mip levels
	  Don't waste GPU power by generating more levels than requested
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8394>

2025-02-02 00:55:07 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d12/gstd3d12mipgen.cpp:
	  d3d12mipgen: Serialize root signature only once
	  ... and reuse serialized blob
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8394>

2024-06-11 17:46:11 +0200  Ruben Gonzalez <rgonzalez@fluendo.com>

	* meson.build:
	  meson: use nls option to ENABLE_NLS
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7017>

2023-09-29 18:14:52 +0200  Tim-Philipp Müller <tim@centricular.com>

	* tools/gst-app-maker:
	* tools/gst-element-maker:
	* tools/gst-project-maker:
	  bad: tools: update gst-{app,element,project}-maker for new gst-indent
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5192>

2023-09-29 18:10:09 +0200  Tim-Philipp Müller <tim@centricular.com>

	* scripts/update-orc-dist-files.py:
	  scripts: update update-orc-dist-files.py scripts for new gst-indent
	  And fix python indentation with autopep8
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5192>

2025-01-31 22:06:53 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d12/gstd3d12converter.cpp:
	  d3d12converter: Fix SRV descriptor heap size
	  Converter was allocating smaller size of descriptor heap
	  than required size when auto-mipgen is enabled
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8391>

2025-01-22 23:01:40 +0900  Seungha Yang <seungha@centricular.com>

	* tests/examples/codecparsers/meson.build:
	* tests/examples/codecparsers/parse-h264-drop-frames.c:
	  examples: Add h264parser example
	  An example to show how to detect frame type using h264parser
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8338>

2025-01-29 19:37:39 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/mpegts/gstmpegtsdescriptor.c:
	  mpegtsdescriptor: Add (transfer none) annotation to out parameter of parse_registration()
	  Out parameters are (transfer full) by default.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8380>

2025-01-09 14:27:11 +0000  Colin Kinloch <colin.kinloch@collabora.com>

	* ext/gtk/gstgtkwaylandsink.c:
	* ext/wayland/gstwaylandsink.c:
	* gst-libs/gst/wayland/gstwldisplay.c:
	* gst-libs/gst/wayland/gstwldisplay.h:
	  wayland: De-dupe filling caps format fields
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8268>

2025-01-29 09:31:54 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* sys/v4l2codecs/gstv4l2format.c:
	  v4l2codecs: format: Fix tiled stride with modifiers
	  After a bit of back and forth, we figure-out that for backward
	  compatibility we need to set the tile stride the way GStreamer
	  defines it. Sinks such as glimagesink/waylandsink translate it
	  back to the number of bytes representation used by Linux.
	  The change in !7355 when the other way around, breaking tiled
	  playback through waylandsink and glimagesink.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7892>

2025-01-10 11:29:44 +0000  Colin Kinloch <colin.kinloch@collabora.com>

	* ext/gtk/gstgtkwaylandsink.c:
	* ext/wayland/gstwaylandsink.c:
	* gst-libs/gst/wayland/gstwldisplay.c:
	* gst-libs/gst/wayland/gstwlvideoformat.c:
	* gst-libs/gst/wayland/gstwlvideoformat.h:
	  wayland: Don't filter out unrecognised DRM formats
	  There is no requirement for a base DRM format to be supported by libgstvideo
	  in order to be uploaded to.
	  The linux-dmabuf-v1 format events are DRM_FORMAT codes and don't need to
	  be converted before use with `gst_video_dma_drm_fourcc_to_string`.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8279>

2025-01-27 18:55:26 +0100  Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>

	* ext/closedcaption/ccutils.c:
	* ext/closedcaption/ccutils.h:
	* ext/closedcaption/gstcccombiner.c:
	  cccombiner: Restore QoS messaging
	  Reimplement the QoS message generation that was lost together with the
	  caption frame counting.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7996>

2025-01-23 15:34:14 +0100  Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>

	* docs/plugins/gst_plugins_cache.json:
	* ext/closedcaption/gstcccombiner.c:
	* ext/closedcaption/gstcccombiner.h:
	  cccombiner: Clean up property mutability
	  Most settings are copied from properties on the READY → PAUSED state
	  change. The recently added properties violate this scheme, and are
	  probably unsafe to change.
	  Make these properties consistently MUTABLE_READY. Also remove the unused
	  `output_padding` field.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7996>

2024-11-19 17:38:43 +0100  Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>

	* tests/check/elements/cccombiner.c:
	  tests: cccombiner: Test rescheduling 50fps to 25fps w/o overflow
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7996>

2024-11-19 17:38:43 +0100  Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>

	* ext/closedcaption/gstcccombiner.c:
	* ext/closedcaption/gstcccombiner.h:
	  cccombiner: Replace caption frame counting with max_buffer_time
	  The counting is defective when we are combining with a stream that has a
	  higher max_cea608_count (such as 60p to 30i), as we produce less caption
	  frames than we consume, leading to periodic queue drops.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7996>

2025-01-25 00:15:04 -0500  Arun Raghavan <arun@asymptotic.io>

	* ext/webrtcdsp/meson.build:
	  webrtcdsp: Use C++20 with MSVC if needed
	  The subproject fails on vs2022 builds with:
	  [...]agc2/input_volume_stats_reporter.cc(89): error C7555: use of designated initializers requires at least '/std:c++20'
	  So let's force C++20 in this case.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8270>

2025-01-09 11:37:05 -0500  Arun Raghavan <arun@asymptotic.io>

	* ext/webrtcdsp/gstwebrtcdsp.cpp:
	* ext/webrtcdsp/meson.build:
	  webrtcdsp: Bump to WebRTC AudioProcessing 2.1
	  Keep 1.0 support around so distros can manage this bump more easily.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8270>

2025-01-20 18:19:18 +0100  Andoni Morales Alastruey <ylatuya@gmail.com>

	* sys/applemedia/vtdec.c:
	  vtdec: fix seeks hangs due to a race condition draining
	  If the drain function of the decoder triggered by FLUSH_START
	  is run while the output loop is running, once the output loop
	  finished vtdec->downstream_ret will be GST_FLOW_FLUSHING instead
	  of GST_FLOW_OK, which must not be treated as an error since
	  the queue is cleaned correctly as well.
	  Fix #4179
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8328>

2025-01-23 11:50:43 +1100  Matthew Waters <matthew@centricular.com>

	* sys/nvcodec/gstcudacompositor.cpp:
	  cudacompositor: pass correct variable to debug log functions
	  Fixes spew of:
	  gst_debug_log_full_valist: assertion 'id != NULL ||
	  object == NULL || G_IS_OBJECT (object)' failed
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8345>

2025-01-23 13:20:50 +0100  Guillaume Desmottes <guillaume.desmottes@onestream.live>

	* ext/wpe/gstwpevideosrc.cpp:
	  wpe: remove glFlush() when filling buffer
	  According to https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/4162#note_2739338
	  it was introduced as workaround for tearing issues.
	  I do not experience any tearing without flushing on both nvidia and AMD
	  GPU, so I suppose it's no longer needed.
	  Slightly improve CPU usage according to my tests.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8348>

2025-01-22 19:37:02 +0900  Seungha Yang <seungha@centricular.com>

	* sys/nvcodec/gstcudacompositor.cpp:
	  cudacompositor: Fix memory leak
	  gst_cuda_compositor_upload_frame() returns buffers with increased
	  refcount already
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8335>

2025-01-17 20:46:55 +1100  Brad Hards <bradh@frogmouth.net>

	* gst/videoparsers/gsth264parse.c:
	  h264parse: add conditional values to AVCConfigurationRecord
	  This adds the data required in AVCDecoderConfigurationRecord for
	  higher profile (High variants) configurations - everything in the if(...) {...} part
	  of ISO/IEC 14496-15:2024 Section 5.3.2.1.2. (or 5.3.3.1.2 in the 2019 version).
	  Resolves an error flagged by ComplianceWarden when muxing this into ISOBMFF.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8308>

2025-01-20 03:14:22 +0900  Seungha Yang <seungha@centricular.com>

	* docs/plugins/gst_plugins_cache.json:
	* sys/nvcodec/gstcudacompositor.cpp:
	* sys/nvcodec/gstnvav1encoder.cpp:
	* sys/nvcodec/gstnvh264encoder.cpp:
	* sys/nvcodec/gstnvh265encoder.cpp:
	  docs: Update nvcodec plugin docs
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8325>

2025-01-20 21:29:52 +0900  Seungha Yang <seungha@centricular.com>

	* sys/nvcodec/gstcudaipcsink.cpp:
	* sys/nvcodec/gstcudaipcsrc.cpp:
	  cudaipc: Use empty string for address property docs
	  Since Windows and Linux have different default values,
	  use empty string when generating plugin docs
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8325>

2025-01-20 04:52:00 +0900  Seungha Yang <seungha@centricular.com>

	* sys/nvcodec/gstnvav1dec.cpp:
	* sys/nvcodec/gstnvav1encoder.cpp:
	* sys/nvcodec/gstnvdecoder.cpp:
	* sys/nvcodec/gstnvh264dec.cpp:
	* sys/nvcodec/gstnvh264encoder.cpp:
	* sys/nvcodec/gstnvh265dec.cpp:
	* sys/nvcodec/gstnvh265encoder.cpp:
	* sys/nvcodec/gstnvvp8dec.cpp:
	* sys/nvcodec/gstnvvp9dec.cpp:
	  nvcodec: Specify documentation caps
	  ... since produced caps will be different depending on OS and GPU model.
	  Also adding Y444_16LE format to decoder's GL template caps
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8325>

2025-01-20 02:55:03 +0900  Seungha Yang <seungha@centricular.com>

	* docs/plugins/gst_plugins_cache.json:
	* ext/nvcomp/gstnvcompvideoenc.cpp:
	* ext/nvcomp/plugin.cpp:
	  docs: Add nvcomp plugin docs
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8325>

2025-01-20 18:37:23 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst/mpegtsdemux/mpegtspacketizer.c:
	  tsdemux: Fix backwards PTS wraparound detection with ignore-pcr=true
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8326>

2025-01-20 13:23:50 +0100  Mathieu Duponchelle <mathieu@centricular.com>

	* docs/meson.build:
	  docs: explicitly list gir files as depends for generating configs
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8324>

2024-12-18 01:45:28 +0900  Seungha Yang <seungha@centricular.com>

	* sys/nvcodec/gstcudacompositor.cpp:
	* sys/nvcodec/gstcudacompositor.h:
	* sys/nvcodec/meson.build:
	* sys/nvcodec/plugin.c:
	  nvcodec: Add cudacompositor element
	  Adding CUDA based compositor element
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8170>

2024-12-17 00:51:47 +0900  Seungha Yang <seungha@centricular.com>

	* sys/nvcodec/gstcudaconverter.cpp:
	  cudaconverter: Add support for alpha blending
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8170>

2024-12-16 01:32:36 +0900  Seungha Yang <seungha@centricular.com>

	* sys/nvcodec/gstcudaconverter.cpp:
	* sys/nvcodec/gstcudaconverter.h:
	* sys/nvcodec/gstcudaconvertscale.c:
	* sys/nvcodec/meson.build:
	  cudaconverter: Add support for configuration update
	  Allow updating various configuration values via property
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8170>

2024-12-14 23:56:35 +0900  Seungha Yang <seungha@centricular.com>

	* sys/nvcodec/gstcudaconverter.c:
	  cudaconverter: Pass constant values as kernel argument
	  Make conversion kernel more flexible and reusable
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8170>

2024-12-14 21:44:55 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/cuda/cuda-gst.h:
	* gst-libs/gst/cuda/gstcudaloader.cpp:
	* gst-libs/gst/cuda/stub/cuda.h:
	  cuda: Load 2D memset function symbols
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8170>

2025-01-15 17:36:00 +0100  Mathieu Duponchelle <mathieu@centricular.com>

	* docs/meson.build:
	* gst-libs/gst/adaptivedemux/meson.build:
	* gst-libs/gst/analytics/meson.build:
	* gst-libs/gst/audio/meson.build:
	* gst-libs/gst/basecamerabinsrc/meson.build:
	* gst-libs/gst/codecparsers/meson.build:
	* gst-libs/gst/codecs/meson.build:
	* gst-libs/gst/cuda/meson.build:
	* gst-libs/gst/dxva/meson.build:
	* gst-libs/gst/insertbin/meson.build:
	* gst-libs/gst/mpegts/meson.build:
	* gst-libs/gst/mse/meson.build:
	* gst-libs/gst/opencv/meson.build:
	* gst-libs/gst/play/meson.build:
	* gst-libs/gst/player/meson.build:
	* gst-libs/gst/transcoder/meson.build:
	* gst-libs/gst/va/meson.build:
	* gst-libs/gst/vulkan/meson.build:
	* gst-libs/gst/webrtc/meson.build:
	* gst-libs/meson.build:
	  docs: generate hotdoc configs for libraries with our helper script
	  With this patch, configure time is identical no matter whether doc is
	  enabled or not.
	  The configuration files also now contain explicitly-listed sources with
	  no wildcards.
	  For the four libraries where hotdoc needs to use clang to generate the
	  documentation (as opposed to the rest of the libraries where hotdoc uses
	  the gir), the script will call pkg-config to determine the appropriate
	  C flags.
	  This means a side effect of this patch is that pkg-config files are now
	  generated for the gstadaptivedemux and gstopencv libraries.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8312>

2025-01-17 16:51:22 +0100  Mathieu Duponchelle <mathieu@centricular.com>

	* meson.build:
	  meson: bump minimum version to 1.4 in every subprojects
	  36c01d05797ad9c7778939c54870f979bdcbba1f bumped to 1.4 for gst-devtools
	  and the root project, but we usually keep those in sync everywhere.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8312>

2025-01-04 20:46:37 +0000  Sam James <sam@gentoo.org>

	* ext/lc3/meson.build:
	  lc3: tweak meson style
	  While this might seem a bit silly, it aids some of our infra in
	  packaging. Tweak for consistency with other use.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8239>

2025-01-06 13:28:40 +0100  Stéphane Cerveau <scerveau@igalia.com>

	* ext/vulkan/vkh264dec.c:
	  vkh264dec: enhance interlaced content support
	  - Use frame_num instead of pic_num to set the long_term_pic_num
	  fixing 10 interlaced tests in fluster test suite: JVT-AVC_V1
	  - Send the slice offset only once in case of interlaced content.
	  Fixing 5 interlaced tests in fluster test suite: JVT-AVC_V1.
	  - The default value for top and bottom field flag should be 0 in the
	  case of a progressive content.
	  - Use short and long term refs helper getter method to retrieve the
	  reference frames according its none existing and interlaced state
	  - Reorganize the find_next_slot_idx code to be easier to read.
	  Co-authored-by: Daniel Almeida <daniel.almeida@collabora.com>
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7854>

2024-06-21 16:55:05 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* ext/vulkan/vkh264dec.c:
	  vkh264dec: enable h264 interlaced decoding
	  First the slot_index shall have the same value for the first and second
	  fields.
	  Also, the reference frames are only those with both fields.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7854>

2024-06-21 16:43:52 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* ext/vulkan/vkh264dec.c:
	  vkh264dec: make GstVulkanH264Picture a reference count
	  Thus we could re-use the same structure for interlaced fields: a single bistream,
	  single output buffer and single vulkan structures.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7854>

2024-10-25 15:24:49 +0200  Stéphane Cerveau <scerveau@igalia.com>

	* ext/vulkan/vkh264dec.c:
	  vkh264dec: non existing picture are not refs
	  The non existing picture or gap picture should not be
	  considered as refs for vulkan decoder.
	  Fix fluster tests:
	  MR3_TANDBERG_B
	  MR4_TANDBERG_C
	  MR5_TANDBERG_C
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7854>

2024-10-25 12:36:43 +0200  Stéphane Cerveau <scerveau@igalia.com>

	* docs/plugins/gst_plugins_cache.json:
	* ext/vulkan/vkh264dec.c:
	  vkh264dec: support h264 extended profile
	  Extended is identical to main but allows FMO/ASO features to be used,
	  and prevent using CABAC.
	  Using similar logic to "baseline", assume that if we support main,
	  we can also do extended.
	  This fixes the following fluster vectors, which otherwise would fail when trying to link the parsebin pad.
	  BA3_SVA_C
	  MR6_BT_B
	  MR7_BT_B
	  MR8_BT_B
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7854>

2025-01-15 17:08:21 -0500  Daniel Morin <daniel.morin@collabora.com>

	* gst-libs/gst/analytics/gstanalyticssegmentationmtd.c:
	* gst-libs/gst/analytics/gstanalyticssegmentationmtd.h:
	  gst-analytics: add missing mtd segmentation API
	  - add gst_analytics_segmentation_mtd_get_mtd_type() which is required to
	  retrieve the concrete type of a generic mtd (GstAnalyticsMtd).
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8307>

2025-01-10 14:15:21 +0200  Sebastian Dröge <sebastian@centricular.com>

	* sys/decklink/gstdecklinkvideosink.cpp:
	  decklinkvideosink: Fix handling of caps framerate in auto mode
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8280>

2025-01-10 21:18:45 +0100  Carlos Bentzen <cadubentzen@igalia.com>

	* docs/plugins/gst_plugins_cache.json:
	* gst-libs/gst/mpegts/gstmpegtssection.h:
	* gst/mpegtsdemux/tsdemux.c:
	  tsdemux: add support for VVC/H.266
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4940>

2025-01-14 17:22:12 +0000  Tim-Philipp Müller <tim@centricular.com>

	* gst-libs/gst/webrtc/nice/nice.c:
	  webrtc-nice: fix compiler warning with older versions if libnice
	  warning: "HAVE_LIBNICE_CONSENT_FIX" is not defined, evaluates to 0 [-Wundef]
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8305>

2025-01-13 00:39:43 +0900  Seungha Yang <seungha@centricular.com>

	* docs/plugins/gst_plugins_cache.json:
	  d3d12: Update docs for max-mip-levels property
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8290>

2025-01-13 00:08:28 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12convert.cpp:
	* sys/d3d12/gstd3d12convert.h:
	  d3d12convert: Add max-mip-levels property
	  Add support for automatic mipmap generation depending on viewport size
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8290>

2025-01-12 23:37:58 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12swapchainsink.cpp:
	  d3d12swapchainsink: Add max-mip-level property
	  Add support for automatic mipmap generation depending on viewport size
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8290>

2025-01-12 23:22:44 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12videosink.cpp:
	* sys/d3d12/gstd3d12window.cpp:
	* sys/d3d12/gstd3d12window.h:
	  d3d12videosink: Add max-mip-level property
	  Add support for automatic mipmap generation depending on viewport size
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8290>

2025-01-10 21:57:58 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d12/gstd3d12converter.cpp:
	* gst-libs/gst/d3d12/gstd3d12converter.h:
	* gst-libs/gst/d3d12/gstd3d12mipgen-private.h:
	* gst-libs/gst/d3d12/gstd3d12mipgen.cpp:
	  d3d12converter: Add support for mipmap generation
	  Adding max-mip-levels property so that converter can generate
	  mipmap textures if render target size is smaller than
	  input texture resolution.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8290>

2025-01-10 01:59:14 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d12/gstd3d12converter.cpp:
	  d3d12converter: Refactor to support mipmap handling
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8290>

2025-01-10 21:05:45 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3dshader/gstd3dshadercache.cpp:
	* gst-libs/gst/d3dshader/gstd3dshadercache.h:
	* gst-libs/gst/d3dshader/plugin-hlsl/CSMain_mipgen_gray.hlsl:
	* gst-libs/gst/d3dshader/plugin-hlsl/hlsl.h:
	* gst-libs/gst/d3dshader/plugin-hlsl/meson.build:
	* sys/d3d12/gstd3d12mipmapping.cpp:
	  d3d12mipmapping: Add support for GRAY output
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8290>

2025-01-10 00:38:39 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d12/gstd3d12mipgen-private.h:
	* gst-libs/gst/d3d12/gstd3d12mipgen.cpp:
	* gst-libs/gst/d3dshader/gstd3dshadercache.cpp:
	* gst-libs/gst/d3dshader/gstd3dshadercache.h:
	* gst-libs/gst/d3dshader/plugin-hlsl/CSMain_mipgen_ayuv.hlsl:
	* gst-libs/gst/d3dshader/plugin-hlsl/CSMain_mipgen_vuya.hlsl:
	* gst-libs/gst/d3dshader/plugin-hlsl/hlsl.h:
	* gst-libs/gst/d3dshader/plugin-hlsl/meson.build:
	* sys/d3d12/gstd3d12mipmapping.cpp:
	  d3d12mipmapping: Skip alpha sampling if possible
	  If input format has no alpha and output format has no alpha,
	  skip alpha sampling which can reduce the number of instruction slots
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8290>

2025-01-09 23:12:05 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d12/gstd3d12-private.h:
	* gst-libs/gst/d3d12/gstd3d12mipgen-private.h:
	* gst-libs/gst/d3d12/gstd3d12mipgen.cpp:
	* gst-libs/gst/d3d12/meson.build:
	* sys/d3d12/gstd3d12mipmapping.cpp:
	* sys/d3d12/meson.build:
	  d3d12: Move mipgen to libs
	  converter object will use mipgen object
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8290>

2025-01-14 15:00:43 +0000  Tim-Philipp Müller <tim@centricular.com>

	* meson.build:
	  Back to development after 1.25.1

=== release 1.25.1 ===

2025-01-14 14:52:48 +0000  Tim-Philipp Müller <tim@centricular.com>

	* NEWS:
	* RELEASE:
	* gst-plugins-bad.doap:
	* meson.build:
	  Release 1.25.1

2024-12-20 13:28:38 -0700  Jordan Yelloz <jordan.yelloz@collabora.com>

	* sys/decklink/gstdecklink.cpp:
	  decklink: Fixed caps-building for output devices
	  When iterating through output devices, video_input_caps was being
	  updated instead of video_output_caps.
	  As a result, video output devices were being created with an empty caps object
	  and `gst-device-monitor-1.0 Video/Sink` would produce no decklink devices.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8298>

2025-01-13 22:09:02 +0100  Ruben Gonzalez <rgonzalez@fluendo.com>

	* gst/videoparsers/gsth264parse.c:
	  h264parse: drop duplicated call
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8299>

2025-01-13 12:48:52 +0000  Tim-Philipp Müller <tim@centricular.com>

	* docs/plugins/gst_plugins_cache.json:
	  docs: update vampeg2dec docs with new rank
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8295>

2025-01-13 12:46:26 +0000  Tim-Philipp Müller <tim@centricular.com>

	* docs/plugins/gst_plugins_cache.json:
	  docs: add svtjpegxs plugin
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8295>

2025-01-13 12:45:38 +0000  Tim-Philipp Müller <tim@centricular.com>

	* docs/plugins/gst_plugins_cache.json:
	* ext/openaptx/openaptx-plugin.c:
	  docs: add openaptx plugin
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8295>

2025-01-13 18:10:31 +0100  Mathieu Duponchelle <mathieu@centricular.com>

	* docs/meson.build:
	* ext/aes/meson.build:
	* ext/analyticsoverlay/meson.build:
	* ext/aom/meson.build:
	* ext/assrender/meson.build:
	* ext/avtp/meson.build:
	* ext/bs2b/meson.build:
	* ext/bz2/meson.build:
	* ext/chromaprint/meson.build:
	* ext/closedcaption/meson.build:
	* ext/codec2json/meson.build:
	* ext/colormanagement/meson.build:
	* ext/curl/meson.build:
	* ext/dash/meson.build:
	* ext/dc1394/meson.build:
	* ext/directfb/meson.build:
	* ext/dtls/meson.build:
	* ext/dts/meson.build:
	* ext/faac/meson.build:
	* ext/faad/meson.build:
	* ext/fdkaac/meson.build:
	* ext/flite/meson.build:
	* ext/fluidsynth/meson.build:
	* ext/gme/meson.build:
	* ext/gs/meson.build:
	* ext/gsm/meson.build:
	* ext/gtk/meson.build:
	* ext/hls/meson.build:
	* ext/iqa/meson.build:
	* ext/isac/meson.build:
	* ext/ladspa/meson.build:
	* ext/lc3/meson.build:
	* ext/lcevcdecoder/meson.build:
	* ext/lcevcencoder/meson.build:
	* ext/ldac/meson.build:
	* ext/libde265/meson.build:
	* ext/lv2/meson.build:
	* ext/mdns/meson.build:
	* ext/modplug/meson.build:
	* ext/mpeg2enc/meson.build:
	* ext/mplex/meson.build:
	* ext/musepack/meson.build:
	* ext/neon/meson.build:
	* ext/nvcomp/meson.build:
	* ext/nvdswrapper/meson.build:
	* ext/onnx/meson.build:
	* ext/openal/meson.build:
	* ext/openaptx/meson.build:
	* ext/opencv/meson.build:
	* ext/openexr/meson.build:
	* ext/openh264/meson.build:
	* ext/openjpeg/meson.build:
	* ext/openmpt/meson.build:
	* ext/openni2/meson.build:
	* ext/opus/meson.build:
	* ext/qroverlay/meson.build:
	* ext/qt6d3d11/meson.build:
	* ext/resindvd/meson.build:
	* ext/rsvg/meson.build:
	* ext/rtmp/meson.build:
	* ext/sbc/meson.build:
	* ext/sctp/meson.build:
	* ext/smoothstreaming/meson.build:
	* ext/sndfile/meson.build:
	* ext/soundtouch/meson.build:
	* ext/spandsp/meson.build:
	* ext/srt/meson.build:
	* ext/srtp/meson.build:
	* ext/svtav1/meson.build:
	* ext/svthevcenc/meson.build:
	* ext/svtjpegxs/meson.build:
	* ext/teletextdec/meson.build:
	* ext/ttml/meson.build:
	* ext/voaacenc/meson.build:
	* ext/voamrwbenc/meson.build:
	* ext/vulkan/meson.build:
	* ext/wayland/meson.build:
	* ext/webp/meson.build:
	* ext/webrtc/meson.build:
	* ext/webrtcdsp/meson.build:
	* ext/wildmidi/meson.build:
	* ext/wpe/meson.build:
	* ext/x265/meson.build:
	* ext/zbar/meson.build:
	* ext/zxing/meson.build:
	* gst/accurip/meson.build:
	* gst/adpcmdec/meson.build:
	* gst/adpcmenc/meson.build:
	* gst/aiff/meson.build:
	* gst/asfmux/meson.build:
	* gst/audiobuffersplit/meson.build:
	* gst/audiofxbad/meson.build:
	* gst/audiolatency/meson.build:
	* gst/audiomixmatrix/meson.build:
	* gst/audiovisualizers/meson.build:
	* gst/autoconvert/meson.build:
	* gst/bayer/meson.build:
	* gst/camerabin2/meson.build:
	* gst/codecalpha/meson.build:
	* gst/codectimestamper/meson.build:
	* gst/coloreffects/meson.build:
	* gst/debugutils/meson.build:
	* gst/dvbsubenc/meson.build:
	* gst/dvbsuboverlay/meson.build:
	* gst/dvdspu/meson.build:
	* gst/faceoverlay/meson.build:
	* gst/festival/meson.build:
	* gst/fieldanalysis/meson.build:
	* gst/freeverb/meson.build:
	* gst/frei0r/meson.build:
	* gst/gaudieffects/meson.build:
	* gst/gdp/meson.build:
	* gst/geometrictransform/meson.build:
	* gst/id3tag/meson.build:
	* gst/insertbin/meson.build:
	* gst/inter/meson.build:
	* gst/interlace/meson.build:
	* gst/ivfparse/meson.build:
	* gst/ivtc/meson.build:
	* gst/jp2kdecimator/meson.build:
	* gst/jpegformat/meson.build:
	* gst/librfb/meson.build:
	* gst/meson.build:
	* gst/midi/meson.build:
	* gst/mpegdemux/meson.build:
	* gst/mpegpsmux/meson.build:
	* gst/mpegtsdemux/meson.build:
	* gst/mpegtsmux/meson.build:
	* gst/mse/meson.build:
	* gst/mxf/meson.build:
	* gst/netsim/meson.build:
	* gst/onvif/meson.build:
	* gst/pcapparse/meson.build:
	* gst/pnm/meson.build:
	* gst/proxy/meson.build:
	* gst/rawparse/meson.build:
	* gst/removesilence/meson.build:
	* gst/rist/meson.build:
	* gst/rtmp2/meson.build:
	* gst/rtp/meson.build:
	* gst/sdp/meson.build:
	* gst/segmentclip/meson.build:
	* gst/siren/meson.build:
	* gst/smooth/meson.build:
	* gst/speed/meson.build:
	* gst/subenc/meson.build:
	* gst/switchbin/meson.build:
	* gst/tensordecoders/meson.build:
	* gst/timecode/meson.build:
	* gst/transcode/meson.build:
	* gst/unixfd/meson.build:
	* gst/videofilters/meson.build:
	* gst/videoframe_audiolevel/meson.build:
	* gst/videoparsers/meson.build:
	* gst/videosignal/meson.build:
	* gst/vmnc/meson.build:
	* gst/y4m/meson.build:
	* meson.build:
	* sys/aja/meson.build:
	* sys/amfcodec/meson.build:
	* sys/androidmedia/meson.build:
	* sys/applemedia/meson.build:
	* sys/asio/meson.build:
	* sys/bluez/meson.build:
	* sys/d3d11/meson.build:
	* sys/d3d12/meson.build:
	* sys/d3dvideosink/meson.build:
	* sys/decklink/meson.build:
	* sys/directshow/meson.build:
	* sys/directsound/meson.build:
	* sys/dvb/meson.build:
	* sys/dwrite/meson.build:
	* sys/fbdev/meson.build:
	* sys/ipcpipeline/meson.build:
	* sys/kms/meson.build:
	* sys/magicleap/meson.build:
	* sys/mediafoundation/meson.build:
	* sys/msdk/meson.build:
	* sys/nvcodec/meson.build:
	* sys/opensles/meson.build:
	* sys/qsv/meson.build:
	* sys/shm/meson.build:
	* sys/tinyalsa/meson.build:
	* sys/uvcgadget/meson.build:
	* sys/uvch264/meson.build:
	* sys/v4l2codecs/meson.build:
	* sys/va/meson.build:
	* sys/wasapi/meson.build:
	* sys/wasapi2/meson.build:
	* sys/webview2/meson.build:
	* sys/wic/meson.build:
	* sys/win32ipc/meson.build:
	* sys/winks/meson.build:
	* sys/winscreencap/meson.build:
	* tools/gst-project-maker:
	  docs: port plugins to explicit sources
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8273>

2024-02-13 10:21:15 -0500  Xavier Claessens <xavier.claessens@collabora.com>

	* sys/androidmedia/magicleap/gstamc-codec-ml.c:
	* sys/androidmedia/magicleap/gstamc-codeclist-ml.c:
	* sys/androidmedia/magicleap/gstamc-format-ml.c:
	* sys/androidmedia/magicleap/gstamc-internal-ml.h:
	* sys/androidmedia/magicleap/gstamc-ml.c:
	* sys/androidmedia/magicleap/gstamc-surfacetexture-ml.c:
	* sys/androidmedia/magicleap/gstamc-surfacetexture-ml.h:
	* sys/androidmedia/meson.build:
	  magicleap: Drop MLSDK support
	  I was used by ML1 (first gen device) which is deprecated and not
	  supported anymore. ML2 uses standard Android JNI and NDK.
	  Note that mlaudiosink element remains in bad/sys/magiclea because it
	  allows 3d spatial audio and that API is still supported by Magicleap
	  SDK.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6108>

2025-01-06 09:12:19 +0100  Edward Hervey <edward@centricular.com>

	* ext/iqa/meson.build:
	* ext/sctp/usrsctp/meson.build:
	* ext/soundtouch/meson.build:
	* ext/ttml/meson.build:
	* gst-libs/gst/vulkan/meson.build:
	* gst/dvbsubenc/meson.build:
	* meson.build:
	* sys/dwrite/libcaption/meson.build:
	* sys/qsv/libmfx/meson.build:
	* tests/check/meson.build:
	  bad: Add extra warning flags
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8229>

2025-01-11 13:40:39 +0100  Edward Hervey <edward@centricular.com>

	* sys/winscreencap/gstgdiscreencapsrc.c:
	* sys/winscreencap/gstwinscreencap.c:
	* sys/winscreencap/gstwinscreencap.h:
	  winscreencap: Don't use aggregate returns
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8229>

2025-01-11 09:07:27 +0100  Edward Hervey <edward@centricular.com>

	* sys/decklink/meson.build:
	  decklink: Ignore undef warnings in decklink API
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8229>

2025-01-10 17:24:40 +0100  Edward Hervey <edward@centricular.com>

	* ext/openni2/meson.build:
	  openni2: Ignore undef in external header
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8229>

2025-01-10 17:24:30 +0100  Edward Hervey <edward@centricular.com>

	* ext/x265/meson.build:
	  x265: Ignore undef in external headers
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8229>

2025-01-10 16:31:01 +0100  Edward Hervey <edward@centricular.com>

	* sys/amfcodec/meson.build:
	  amf: Ignore undef warnings in external headers
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8229>

2025-01-10 16:30:25 +0100  Edward Hervey <edward@centricular.com>

	* ext/spandsp/meson.build:
	  spandsp: Ignore undef issue in external headers
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8229>

2025-01-10 16:29:53 +0100  Edward Hervey <edward@centricular.com>

	* gst/transcode/gsturitranscodebin.c:
	  uritranscodebin: Fix definition usage
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8229>

2025-01-10 16:17:11 +0100  Edward Hervey <edward@centricular.com>

	* ext/sctp/sctpassociation.c:
	  sctp: Convert function to avoid aggregate return
	  It's only used locally and only to fill an existing variable
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8229>

2025-01-10 11:42:19 +0100  Edward Hervey <edward@centricular.com>

	* sys/applemedia/avfdeviceprovider.m:
	* sys/applemedia/avfvideosrc.m:
	* sys/applemedia/corevideobuffer.c:
	* sys/applemedia/videotexturecache-gl.h:
	* sys/applemedia/videotexturecache-gl.m:
	* sys/applemedia/videotexturecache-vulkan.mm:
	* sys/applemedia/videotexturecache.m:
	* sys/applemedia/vtdec.c:
	* sys/applemedia/vtenc.c:
	  applemedia: Fix usage of HAVE_IOS define
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8229>

2025-01-10 11:10:44 +0100  Edward Hervey <edward@centricular.com>

	* gst/timecode/meson.build:
	  timecode: Fix definition
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8229>

2025-01-10 11:10:25 +0100  Edward Hervey <edward@centricular.com>

	* ext/resindvd/resindvdbin.c:
	  resindvd: Fix definition
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8229>

2025-01-10 11:09:58 +0100  Edward Hervey <edward@centricular.com>

	* ext/curl/gstcurlhttpsrc.h:
	* meson.build:
	  curl: Fix definitions
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8229>

2025-01-10 10:27:51 +0100  Edward Hervey <edward@centricular.com>

	* gst-libs/gst/vulkan/gstvkdebug.c:
	  vulkan: Include api header
	  Needed for GST_VULKAN_HAVE_VIDEO_EXTENSIONS
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8229>

2025-01-06 11:03:32 +0100  Edward Hervey <edward@centricular.com>

	* ext/wpe/wpe-extension/gstwpeaudiosink.c:
	  wpeaudiosink: Check error value explicitly
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8229>

2025-01-10 15:55:42 +0100  Edward Hervey <edward@centricular.com>

	* sys/msdk/meson.build:
	  msdk: Ignore aggregate return warning
	  That's how their API is implemented
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8229>

2025-01-10 15:53:55 +0100  Edward Hervey <edward@centricular.com>

	* gst-libs/gst/d3d11/meson.build:
	* sys/d3d11/meson.build:
	  d3d11: Ignore undef issues with external headers
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8229>

2025-01-06 15:06:58 +0100  Edward Hervey <edward@centricular.com>

	* gst-libs/gst/d3d12/meson.build:
	* sys/d3d12/meson.build:
	  d3d12: Disable implicit fallthrough checks
	  There are some missing explicit fallthrough statements in the direct headers
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8229>

2025-01-06 10:36:04 +0100  Edward Hervey <edward@centricular.com>

	* gst/rtmp2/gstrtmp2locationhandler.c:
	* gst/rtmp2/rtmp/rtmpclient.c:
	* gst/rtmp2/rtmp/rtmpclient.h:
	  rtmp2: Explicitly define scheme error enum
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8229>

2025-01-06 10:28:20 +0100  Edward Hervey <edward@centricular.com>

	* ext/directfb/dfbvideosink.c:
	  dfbvideosink: Rework escape handling
	  Detected by a fallthrough.
	  * Just use if/else for clarity
	  * Remove 2002 fart joke
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8229>

2025-01-06 09:10:48 +0100  Edward Hervey <edward@centricular.com>

	* gst/mxf/mxfdemux.c:
	  mxfdemux: Fix segments iteration
	  `i >= 0` is always true since it's an unsigned integer ...
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8229>

2025-01-06 09:10:08 +0100  Edward Hervey <edward@centricular.com>

	* gst/siren/encoder.c:
	  siren: Cast shift mask to unsigned value
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8229>

2025-01-05 18:42:01 +0100  Edward Hervey <edward@centricular.com>

	* gst-libs/gst/codecparsers/gsth265parser.c:
	  h265parser: Fix unsigned value reading
	  Unsigned values are always above 0, use MAX variant for reading
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8229>

2025-01-05 12:13:23 +0100  Edward Hervey <edward@centricular.com>

	* tests/examples/ipcpipeline/ipc-play.c:
	  examples/ipcpipeline: Fix ESC handler
	  Same as for gst-play
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8229>

2025-01-05 12:12:54 +0100  Edward Hervey <edward@centricular.com>

	* tests/check/libs/play.c:
	  tests/play: Fix debug statement
	  The interval is in milliseconds, convert to nanoseconds for debugging statement
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8229>

2025-01-05 12:12:21 +0100  Edward Hervey <edward@centricular.com>

	* tests/check/elements/webrtcbin.c:
	  tests/webrtcbin: Remove useless checks with unsigned values
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8229>

2025-01-05 12:10:59 +0100  Edward Hervey <edward@centricular.com>

	* ext/closedcaption/gstcccombiner.c:
	* ext/closedcaption/gstcea608mux.c:
	  closedcaption: Use proper type for storing result
	  drop_ccp_from_cc_data() will return a negative value if there was an
	  error. Storing that in an unsigned value will cause the checks for errors to
	  never happen.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8229>

2025-01-05 12:10:21 +0100  Edward Hervey <edward@centricular.com>

	* ext/closedcaption/gstcea708decoder.c:
	  cea708decoder: Remove useless checks
	  No need to check for the type limits
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8229>

2025-01-05 12:09:28 +0100  Edward Hervey <edward@centricular.com>

	* ext/isac/gstisacdec.c:
	  isacdec: Remove impossible check
	  WebRtcIsac_DecodePlc() never returns a negative value (confirmed by
	  documentation and current/historical code)
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8229>

2025-01-05 12:09:00 +0100  Edward Hervey <edward@centricular.com>

	* ext/sctp/gstsctpdec.c:
	  sctpdec: Remove useless check
	  A uint16 will always be below ... the maximum value
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8229>

2025-01-05 11:47:11 +0100  Edward Hervey <edward@centricular.com>

	* gst-libs/gst/codecs/gstmpeg2decoder.c:
	  mpeg2decoder: Remove useless check
	  The enum is unsigned
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8229>

2025-01-05 11:43:19 +0100  Edward Hervey <edward@centricular.com>

	* gst-libs/gst/vulkan/gstvkinstance.c:
	  vkinstance: Remove useless check
	  priv->requested_api_major is unsigned
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8229>

2025-01-05 11:42:22 +0100  Edward Hervey <edward@centricular.com>

	* gst/mpegtsmux/gstbasetsmux.c:
	  basetsmux: Add explicit macro for GstClockTimeDiff handling
	  The checks in the other macro were useless for unsigned values
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8229>

2025-01-05 11:41:54 +0100  Edward Hervey <edward@centricular.com>

	* gst/mxf/mxfdemux.c:
	  mxfdemux: Remove useless check
	  values will always be positive
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8229>

2025-01-05 11:41:18 +0100  Edward Hervey <edward@centricular.com>

	* gst/speed/gstspeed.c:
	  speed: Refactor event handler
	  To avoid fallthrough issues which were tricky to fix
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8229>

2025-01-04 18:00:41 +0100  Edward Hervey <edward@centricular.com>

	* ext/fdkaac/gstfdkaacdec.c:
	* gst-libs/gst/audio/gstnonstreamaudiodecoder.c:
	* gst-libs/gst/isoff/gstisoff.c:
	* gst/aiff/aiffparse.c:
	* gst/dvbsuboverlay/gstdvbsuboverlay.c:
	* gst/mpegpsmux/psmuxstream.c:
	* gst/mpegtsdemux/mpegtsbase.c:
	* gst/mpegtsdemux/pesparse.c:
	* gst/rtmp2/rtmp/amf.c:
	* gst/rtmp2/rtmp/rtmpchunkstream.c:
	* gst/videoparsers/gsth266parse.c:
	* gst/videoparsers/gstmpeg4videoparse.c:
	* gst/videoparsers/gstmpegvideoparse.c:
	* sys/ipcpipeline/gstipcpipelinesrc.c:
	* sys/msdk/gstmsdkenc.c:
	* sys/msdk/gstmsdkh265enc.c:
	* sys/va/gstvabasedec.c:
	* sys/va/gstvabaseenc.c:
	* tests/examples/audiomixmatrix/test-audiomixmatrix.c:
	* tests/examples/waylandsink/wayland-threads.c:
	  bad: Clearly specify fallthrough in switch/case
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8229>

2025-01-09 00:42:48 +0100  Carlos Bentzen <cadubentzen@igalia.com>

	* ext/webrtc/gstwebrtcbin.c:
	* tests/check/elements/webrtcbin.c:
	  webrtc: fix duplicate payload types with RTX and multiple video codecs
	  Before this patch, there could be duplicate payload types in offers that
	  have, within a media section, multiple codecs and RTX enabled:
	  ```
	  m=video 9 UDP/TLS/RTP/SAVPF 96 97 97 <-- HAS DUPLICATES
	  a=sendrecv
	  a=rtpmap:96 VP8/90000
	  a=rtcp-fb:96 nack
	  a=rtcp-fb:96 nack pli
	  a=rtcp-fb:96 ccm fir
	  a=rtcp-fb:96 transport-cc
	  a=rtpmap:97 H264/90000
	  a=rtcp-fb:97 nack
	  a=rtcp-fb:97 nack pli
	  a=rtcp-fb:97 ccm fir
	  a=rtcp-fb:97 transport-cc
	  a=rtpmap:97 rtx/90000  <--------- PT IS DUPLICATE
	  a=fmtp:97 apt=96
	  ```
	  Fix this by populating the media_mapping array with all media formats
	  rather than only the first one. The added test case reproduces the issue,
	  which fails without this patch.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8259>

2025-01-09 11:39:11 +0100  Edward Hervey <edward@centricular.com>

	* sys/wasapi/gstwasapisink.c:
	  wasapi: Use signed value for can_frames
	  The can retrieval function can return negative values (which will be properly handled)
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8286>

2025-01-09 10:08:23 +0100  Edward Hervey <edward@centricular.com>

	* sys/amfcodec/gstamfav1enc.cpp:
	* sys/amfcodec/gstamfh264enc.cpp:
	* sys/amfcodec/gstamfh265enc.cpp:
	  amfcodec: Add missing break statement
	  Setting frame-sad would also set ltr
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8286>

2025-01-06 10:39:35 +0100  Edward Hervey <edward@centricular.com>

	* gst-libs/gst/d3d12/gstd3d12device.cpp:
	  d3d12: Add missing breaks to switch/case
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8286>

2025-01-06 09:57:33 +0100  Edward Hervey <edward@centricular.com>

	* gst-libs/gst/codecparsers/gsth265bitwriter.c:
	  h265bitwriter: Don't use type too small
	  The computed `coef_val` could exceed the maximum range of a gint8. Use a bigger
	  one, the checks after will ensure it's properly cropped/padded
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8286>

2025-01-05 12:08:24 +0100  Edward Hervey <edward@centricular.com>

	* gst-libs/gst/mpegts/gstmpegtssection.c:
	  mpegts: Add missing break
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8286>

2025-01-05 11:46:21 +0100  Edward Hervey <edward@centricular.com>

	* gst-libs/gst/mse/gstmsemediatype.c:
	  msemediabuffer: Fix ASCII character detection
	  Use glib function. The previous check was checking whether a signed int was
	  lower than its limit (which ... is always TRUE).
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8286>

2025-01-05 11:43:49 +0100  Edward Hervey <edward@centricular.com>

	* gst-libs/gst/mse/gstsourcebuffer.c:
	  msesourcebuffer: Fix unsigned value handling
	  Use the explicit valid clocktime handler instead
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8286>

2025-01-05 11:41:44 +0100  Edward Hervey <edward@centricular.com>

	* gst/rist/gstristsink.c:
	  ristsink: Add missing break
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8286>

2025-01-10 13:27:13 +0100  Ruben Gonzalez <rgonzalez@fluendo.com>

	* gst/videoparsers/gstvideoparseutils.c:
	  videoparsers: Fix indentation
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8281>

2025-01-07 12:56:13 +0200  Sebastian Dröge <sebastian@centricular.com>

	* sys/decklink/gstdecklinkaudiosink.cpp:
	  decklinkaudiosink: Don't crash if started without corresponding video sink
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8253>

2025-01-09 17:23:41 +0000  Colin Kinloch <colin.kinloch@collabora.com>

	* gst-libs/gst/wayland/gstwldisplay.c:
	  wayland: Print table split when DMABuf format changes
	  The `zwp_linux_dmabuf_v1` doesn't specify an order for modifier events
	  to be sent.
	  In my case the linear format was sent last resulting in the first item
	  in each row being the previous format.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8272>

2024-12-25 15:04:03 +0100  Philippe Normand <philn@igalia.com>

	* ext/wpe/gstwpethreadedview.cpp:
	* ext/wpe/gstwpethreadedview.h:
	* ext/wpe/gstwpevideosrc.cpp:
	  wpevideosrc: Clear cached SHM buffers after caps re-negotiation
	  Otherwise buffers not corresponding to the negotiated caps might be pushed
	  downstream.
	  Fixes #4094
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8212>

2024-12-27 13:28:18 +0100  Philippe Normand <philn@igalia.com>

	* ext/wpe/gstwpevideosrc.cpp:
	  wpevideosrc: Post progress messages on the bus
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8217>

2024-12-25 14:42:16 +0100  Philippe Normand <philn@igalia.com>

	* ext/wpe/gstwpevideosrc.cpp:
	  wpevideosrc: Handle latency queries
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8217>

2025-01-08 00:56:45 +0900  Seungha Yang <seungha@centricular.com>

	* docs/plugins/gst_plugins_cache.json:
	* sys/d3d12/gstd3d12mipmapping.cpp:
	  d3d12mipmapping: Add mip-levels property
	  Generating full levels would result in waste of GPU resource
	  depending on rendering usecase. Adding a property to make it
	  controllable
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8255>

2025-01-08 00:38:39 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12mipgen.cpp:
	* sys/d3d12/gstd3d12mipmapping.cpp:
	  d3d12mipmapping: Add YUV and 64bits output formats
	  Add support for YUV and 64bits output formats to avoid
	  colorspace conversion and bitdepth loss
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8255>

2025-01-06 15:16:02 -0600  Olivier Crête <olivier.crete@collabora.com>

	* ext/onnx/gstonnxclient.cpp:
	* gst-libs/gst/analytics/gsttensor.c:
	* gst-libs/gst/analytics/gsttensor.h:
	  analytics: Tensor dimensions are always row-major or col-major
	  Simplify by removing the extra fields, as this is what all
	  frameworks give us.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8250>

2024-12-27 20:55:56 +0100  Tim-Philipp Müller <tim@centricular.com>

	* ext/svtjpegxs/gstsvtjpegxsenc.c:
	  svtjpegxsenc: add support for interlaced video
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8219>

2024-12-27 18:02:12 +0100  Tim-Philipp Müller <tim@centricular.com>

	* ext/svtjpegxs/gstsvtjpegxsenc.c:
	  svtjpegxsenc: factor out encoding of codestream into separate function
	  Prepare for interlacing support where an interlaced image
	  is coded as two codestreams each representing a field.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8219>

2024-12-26 18:08:14 +0100  Tim-Philipp Müller <tim@centricular.com>

	* docs/plugins/gst_plugins_cache.json:
	* gst/mpegtsmux/gstbasetsmux.c:
	* gst/mpegtsmux/gstmpegtsmux.c:
	  mpegtsmux: add support for interlaced JPEG XS
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8219>

2024-12-25 22:54:16 +0100  Tim-Philipp Müller <tim@centricular.com>

	* ext/svtjpegxs/gstsvtjpegxsdec.c:
	  svtjpegxsdec: add support for interlaced video
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8219>

2024-12-25 22:40:06 +0100  Tim-Philipp Müller <tim@centricular.com>

	* ext/svtjpegxs/gstsvtjpegxsdec.c:
	  svtjpegxsdec: drop frames that had decoding errors
	  Follow-up to !8163
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8219>

2024-12-25 18:07:04 +0100  Tim-Philipp Müller <tim@centricular.com>

	* ext/svtjpegxs/gstsvtjpegxsdec.c:
	  svtjpegxsdec: factor out decoding of codestream into separate function
	  Prepare for interlacing support where an interlaced image
	  is coded as two codestreams each representing a field.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8219>

2024-12-20 13:49:47 +0000  Tim-Philipp Müller <tim@centricular.com>

	* gst/mpegtsdemux/tsdemux.c:
	  tsdemux: handle interlaced JPEG XS
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8219>

2024-12-10 15:09:24 +0100  Stéphane Cerveau <scerveau@igalia.com>

	* ext/vulkan/vkh265dec.c:
	  vkh265dec: update only vps/sps on demand and pass pps always
	  As PPS can change over the stream, the pps should be always
	  updated to avoid missing picture parameters sets.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8124>

2024-12-10 12:48:32 +0100  Stéphane Cerveau <scerveau@igalia.com>

	* ext/vulkan/vkh264dec.c:
	  vkh264dec: update only sps on demand and pass pps always
	  As PPS can change over the stream, the pps should be always
	  updated to avoid missing picture parameters sets.
	  See CABA3_TOSHIBA_E.264 in fluster resources.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8124>

2024-12-30 21:59:03 +0100  Samuel Thibault <samuel.thibault@ens-lyon.org>

	* ext/gtk/meson.build:
	* tests/examples/gtk/meson.build:
	* tests/examples/waylandsink/meson.build:
	  meson: Fix build with gtk3 but not wayland
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8222>

2025-01-04 20:30:01 +0000  Sam James <sam@gentoo.org>

	* meson_options.txt:
	  codec2json: move option to right section
	  It has an external dependency (json-glib) so should be under
	  that heading.
	  Fixes: fd588a50e415feb0ab21c4a3386bd426c8c9043b
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8238>

2025-01-04 19:52:48 +0000  Sam James <sam@gentoo.org>

	* meson_options.txt:
	  analyticsoverlay: move option to right section
	  It has an external dependency (pango/cairo) so should be under
	  that heading. Also, fix an inconsistency with the ':' style.
	  Fixes: 95464c89772e144088af54c1e8a4c1fecc45f09a
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8238>

2024-12-20 14:51:45 -0500  Daniel Morin <daniel.morin@collabora.com>

	* ext/onnx/gstonnxclient.cpp:
	* gst-libs/gst/analytics/gsttensor.c:
	* gst-libs/gst/analytics/gsttensor.h:
	  analytics: remove batch-size
	  - Batch-size will be the outer-most dimension. Presence of batch dimension can
	  be identified using `dims` and `id`.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8191>

2025-01-01 00:43:41 +0900  Seungha Yang <seungha@centricular.com>

	* docs/plugins/gst_plugins_cache.json:
	* sys/d3d12/gstd3d12dxgicapture.cpp:
	* sys/d3d12/gstd3d12graphicscapture.cpp:
	* sys/d3d12/gstd3d12screencapture.cpp:
	* sys/d3d12/gstd3d12screencapture.h:
	* sys/d3d12/gstd3d12screencapturedevice.cpp:
	* sys/d3d12/gstd3d12screencapturesrc.cpp:
	  d3d12screencapturesrc: Add support for HDR capture in DDA mode
	  Use IDXGIOutput5::DuplicateOutput1() if HDR is enabled.
	  Note that scRGB color space is not defined in GStreamer,
	  this element will output SDR tonemapped frame
	  with linear or reinhard filtering.
	  Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3834
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8227>

2025-01-01 22:15:58 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3dshader/gstd3dshadercache.cpp:
	* gst-libs/gst/d3dshader/gstd3dshadercache.h:
	* gst-libs/gst/d3dshader/plugin-hlsl/PSMain_sample_scrgb.hlsl:
	* gst-libs/gst/d3dshader/plugin-hlsl/PSMain_sample_scrgb_tonemap.hlsl:
	* gst-libs/gst/d3dshader/plugin-hlsl/hlsl.h:
	* gst-libs/gst/d3dshader/plugin-hlsl/meson.build:
	  d3dshader: Add sampling pixel shader for scRGB SRV
	  Shaders required for HDR capturing
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8227>

2024-11-22 12:46:22 +0100  Albert Sjolund <alberts@axis.com>

	* docs/plugins/gst_plugins_cache.json:
	* ext/webrtc/gstwebrtcbin.c:
	  webrtc: add new post-rtp-aux-sender signal
	  Adds a new signal to webrtcbin, to allow for placement
	  of an object after rtp, before sendbin. This is usable for
	  objects such as congestion control elements, that don't want
	  to be burdened by the synchronization requirements of rtpsession.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7940>

2024-12-26 01:33:37 +0100  Tim-Philipp Müller <tim@centricular.com>

	* gst/mpegtsdemux/tsdemux.c:
	  tsdemux: fix JPEG XS framerate handling for 29.97fps
	  .. and other framerate values with a 1.001 denominator.
	  The coded framerate denominator value is a code that maps to
	  either 1 (for 1) or 1.001 (for 2) not a direct value.
	  Before, 29.97fps would be announced as 15fps because it
	  would calculate 30/2 instead of 30/1.001.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8226>

2024-12-30 22:53:02 +0100  Samuel Thibault <samuel.thibault@ens-lyon.org>

	* meson.build:
	  meson: Also disable drm on GNU/Hurd
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8223>

2024-12-28 22:29:23 +0900  Seungha Yang <seungha@centricular.com>

	* docs/plugins/gst_plugins_cache.json:
	  docs: Update qsv plugin docs
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8220>

2024-12-28 22:26:48 +0900  Seungha Yang <seungha@centricular.com>

	* docs/plugins/gst_plugins_cache.json:
	  docs: Update d3d11 plugin docs
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8220>

2024-12-28 21:43:46 +0900  Seungha Yang <seungha@centricular.com>

	* docs/plugins/gst_plugins_cache.json:
	  docs: Update d3d12 plugin docs
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8220>

2024-12-28 21:35:44 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12compositor.cpp:
	* sys/d3d12/gstd3d12convert.cpp:
	* sys/d3d12/gstd3d12deinterlace.cpp:
	* sys/d3d12/gstd3d12memorycopy.cpp:
	* sys/d3d12/gstd3d12mipmapping.cpp:
	* sys/d3d12/gstd3d12screencapturesrc.cpp:
	* sys/d3d12/gstd3d12swapchainsink.cpp:
	* sys/d3d12/gstd3d12testsrc.cpp:
	* sys/d3d12/gstd3d12videosink.cpp:
	* sys/d3d12/gstd3d12window.cpp:
	  d3d12: Add "Since" markers
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8220>

2024-12-28 21:06:24 +0900  Seungha Yang <seungha@centricular.com>

	* docs/plugins/gst_plugins_cache.json:
	  docs: Add asio plugin docs
	  Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3745
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8220>

2024-12-28 20:42:56 +0900  Seungha Yang <seungha@centricular.com>

	* sys/asio/gstasiosink.cpp:
	* sys/asio/gstasiosrc.cpp:
	* sys/asio/plugin.c:
	  asio: Add "Since" markers and fix typos in property description
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8220>

2024-12-28 20:38:13 +0900  Seungha Yang <seungha@centricular.com>

	* docs/plugins/gst_plugins_cache.json:
	  docs: Add webview2 plugin docs
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8220>

2024-12-28 13:26:18 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/play/gstplay.c:
	  play: Fix stream id leaks on initial stream selection
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7650>

2024-12-27 19:01:21 +0200  Sebastian Dröge <sebastian@centricular.com>

	* tests/check/meson.build:
	  play: Actually check for valgrind for the tests
	  Other tests in gst-plugins-bad also assumed it to be checked.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7650>

2024-12-27 13:31:09 +0200  Sebastian Dröge <sebastian@centricular.com>

	* tests/check/libs/play.c:
	  play: Fix tests after the switch to playbin3
	  And also fix various memory leaks and other issues that always existed
	  in the tests.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7650>

2024-10-10 15:54:04 -0400  Sebastian Dröge <sebastian@centricular.com>

	* tests/check/libs/play.c:
	* tests/check/meson.build:
	  play: Port tests to libsoup 3
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7650>

2024-10-10 15:08:33 -0400  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/play/gstplay-media-info-private.h:
	* gst-libs/gst/play/gstplay-media-info.c:
	* gst-libs/gst/play/gstplay-media-info.h:
	* gst-libs/gst/play/gstplay.c:
	* gst-libs/gst/play/gstplay.h:
	  play: Add stream-id based selection of streams to match better playbin3's API
	  As part of this
	  - Add accessors for the stream ID and selection API based on the
	  stream ID
	  - Deprecate the old index-based APIs
	  - Remove playbin support
	  - Implement the track enable API based on stream selection
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7648>

2024-12-23 15:17:57 +0100  Tim-Philipp Müller <tim@centricular.com>

	* ext/srtp/gstsrtpdec.c:
	  srtpdec: fix build when libsrtp1 is being used
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8204>

2024-12-23 14:58:31 +0100  Philippe Normand <philn@igalia.com>

	* ext/wpe/wpe-extension/gstwpeextension.c:
	* ext/wpe/wpe-extension/meson.build:
	  wpe: Fix build for version 2.44
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8203>

2024-12-22 15:00:07 +0100  Philippe Normand <philn@igalia.com>

	* ext/srtp/gstsrtpdec.c:
	  srtpdec: Fix a use-after-free buffer issue
	  The gst_srtp_dec_decode_buffer() function modifies the input buffer after making
	  it writable, so the pointer might change as well, depending on the refcount of
	  the buffer.
	  This issue was detected using a netsim element upstream of the decoder in a
	  WebRTC pipeline.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8198>

2020-08-10 14:27:29 +0900  Hosang Lee <hosang10.lee@lge.com>

	* ext/smoothstreaming/gstmssdemux.c:
	  mssdemux: Use gsturi structure to form fragment urls
	  We can use gst_uri_from_string_with_base () to join base url
	  and the fragment url path.
	  The previous method of forming base url in update_base_url(),
	  by looking for the string 'manifest' or 'Manifest' is insufficient.
	  A query may include these string in their paths and thus an invalid
	  base url string will be kept.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8193>

2024-12-18 13:18:32 -0300  Thibault Saunier <tsaunier@igalia.com>

	* docs/meson.build:
	  doc: Handle gst_dep.get_variable('libexecdir') failure
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8178>

2024-12-18 12:27:30 -0300  Thibault Saunier <tsaunier@igalia.com>

	* docs/meson.build:
	  doc: Allow updating the plugins cache for all modules even if hotdoc is not present
	  This was possible for some modules but not all, for no good reason.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8178>

2024-12-20 12:52:31 +0100  Robert Mader <robert.mader@collabora.com>

	* sys/v4l2codecs/gstv4l2format.c:
	  v4l2codecs: decoder: Fix drm format query
	  A late change that slipped through as it mainly affects NC12
	  at the moment.
	  Fixes: 4b07d54931 ("v4l2codecs: decoder: Translate V4L2 formats into DRM fourcc/mod pairs")
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8188>

2023-04-18 11:37:25 +0200  Edward Hervey <edward@centricular.com>

	* docs/plugins/gst_plugins_cache.json:
	* gst/mpegtsdemux/gstmpegdesc.h:
	* gst/mpegtsdemux/tsdemux.c:
	* gst/mpegtsmux/gstbasetsmux.c:
	* gst/mpegtsmux/gstmpegtsmux.c:
	* gst/mpegtsmux/tsmux/tsmuxstream.c:
	* gst/mpegtsmux/tsmux/tsmuxstream.h:
	  mpegts: Add provisional AV1 mapping
	  The main difference with the WIP av1-in-mpegts mapping is that the payload data
	  is not startcode-escaped. Most of the rest is sensible usage of it:
	  * Custom AV1G (AV1 Gstreamer) registration descriptor instead of AV01
	  * AV1CodecConfigurationRecord is stored in the same 0x80 custom descriptor and
	  conforms fully to the isobmff spec (i.e. does not the HDR fields from the
	  provisional mpegts specification which conflict with that one).
	  * Data is stored as OBU
	  * Access Unit is the frame level (same as provisional mpegts mapping)
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4442>

2024-11-18 12:31:21 +0100  Stéphane Cerveau <scerveau@igalia.com>

	* ext/dash/gstxmlhelper.c:
	* tests/check/elements/dash_mpd.c:
	  dash: handle 0 duration in gst_xml_helper_set_prop_duration
	  Add dash_mpdparser_check_mpd_client_set_period_to_0
	  unit test to demonstrate it.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8114>

2024-12-02 11:39:11 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* gst/videoparsers/gstav1parse.c:
	  av1parse: Fix some debug trace and comment typo
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8026>

2024-12-02 11:32:13 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* gst/videoparsers/gstav1parse.c:
	  av1parse: Don't immediatly reset timestamp in presence of TD
	  When a TD is being processed, it is not always pushed immediatly. Resetting
	  the time information lead to lost of timestamp in TU to Frame conversion. The
	  TU would be formed by buffer of [TD][Frame], and the timestamp taken from
	  the TU buffer was lost then the TD was handled.
	  The handling of TS should be entirely done by the 3 functions:
	  - gst_av1_parse_handle_obu_to_obu() (direct input to output)
	  - gst_av1_parse_handle_to_big_align() Reset DTS on detected TU or TD
	  - gst_av1_parse_handle_to_small_and_equal_align() PTS on show frame, flat DTS
	  Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/commit/79312357a6ab8ebc4cfc1ed2243bdbc0660c39d5
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8026>

2024-12-20 08:18:15 +0800  He Junyan <junyan.he@intel.com>

	* gst/videoparsers/gstav1parse.c:
	  av1parse: Fix a typo in the comments about its usage
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5710>

2024-12-04 23:27:37 +0800  He Junyan <junyan.he@intel.com>

	* docs/plugins/gst_plugins_cache.json:
	  Doc: Update the plugin document for h266parse
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5710>

2024-12-13 00:00:01 +0800  He Junyan <junyan.he@intel.com>

	* tests/check/elements/h266parse.c:
	* tests/check/meson.build:
	  test: Add the h266parse element test
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5710>

2023-09-09 01:10:18 +0800  He Junyan <junyan.he@intel.com>

	* gst/videoparsers/gsth266parse.c:
	* gst/videoparsers/gsth266parse.h:
	* gst/videoparsers/gstvideoparserselements.h:
	* gst/videoparsers/meson.build:
	* gst/videoparsers/plugin.c:
	  h266parse: Add the new h266parse element
	  TODO: Need to refer to the new ISO/IEC 14496-15 for vvc1 and vvi1's
	  codec data
	  Co-authored-by: Zhong Hongcheng <spartazhc@gmail.com>
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5710>

2024-12-17 00:12:51 +0800  He Junyan <junyan.he@intel.com>

	* gst-libs/gst/codecparsers/gsth266parser.c:
	* gst-libs/gst/codecparsers/gsth266parser.h:
	  libs: codecparsers: Add the missing ilrp_idx field in H266's ref list
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5710>

2024-12-17 00:15:07 +0800  He Junyan <junyan.he@intel.com>

	* gst-libs/gst/codecparsers/gsth266parser.h:
	  libs: codecparsers: H266 GstH266RefPicListStruct's abs_delta_poc_st should be 16 bits
	  Its value range is 0~(2^15 − 1) according to the spec.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5710>

2024-12-16 11:39:10 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst/videoparsers/gstvp9parse.c:
	  vp9parse: Add video codec tag to the tag list
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8156>

2024-12-16 11:38:52 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst/videoparsers/gstav1parse.c:
	  av1parse: Add video codec tag to the tag list
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8156>

2024-11-08 12:38:09 +0100  Robert Mader <robert.mader@collabora.com>

	* sys/v4l2codecs/gstv4l2format.c:
	  v4l2codecs: format: Add V4L2_PIX_FMT_NC12
	  Which is used by the Raspberry Pi 4 and 5 for 8-bit HEVC. Adding it
	  here in order to show-case how the V4L2<->DRM translation is
	  supposed to work.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7355>

2024-08-14 02:11:06 +0200  Robert Mader <robert.mader@collabora.com>

	* sys/v4l2codecs/gstv4l2codecpool.c:
	* sys/v4l2codecs/gstv4l2decoder.c:
	* sys/v4l2codecs/gstv4l2format.c:
	* sys/v4l2codecs/gstv4l2format.h:
	* sys/v4l2codecs/linux/drm_fourcc.h:
	  v4l2codecs: decoder: Translate V4L2 formats into DRM fourcc/mod pairs
	  V4L2 and DRM choose different, incompatible ways to represent
	  tiled/compressed etc. formats. While the later uses combinations of
	  format fourccs and opaque, vendor/hardware specific modifiers, for the
	  later every such combination is a distinct new format.
	  Traditionally Gst implemented each of the V4L2 formats if needed.
	  Given the large number of tiling and compression modes, this is
	  quite work intensive - and often actually not needed.
	  In many situations Gst just needs to pass buffers from V4L2 to DRM in
	  the form of EGL, VK, Wayland or KMS.
	  Thus implement a direct translation for some V4L2 formats to DRM ones,
	  limited to the DMA_DRM API, allowing much quicker enablement of formats
	  while requiring peers to use external implementations (usually Mesa or
	  KMS) for tiling etc.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7355>

2024-12-12 14:41:08 +0100  Stéphane Cerveau <scerveau@igalia.com>

	* gst-libs/gst/vulkan/gstvkencoder-private.c:
	  vkencoder: init debug category earlier
	  The encoder has not been created if the codec is not supported by
	  the hardware, so the GST_WARNING_OBJECT will fail to find a suitable
	  category.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8138>

2024-12-12 14:40:55 +0100  Stéphane Cerveau <scerveau@igalia.com>

	* gst-libs/gst/vulkan/gstvkdecoder-private.c:
	  vkdecoder: init debug category earlier
	  The decoder has not been created if the codec is not supported by
	  the hardware, so the GST_WARNING_OBJECT will fail to find a suitable
	  category.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8138>

2024-12-16 19:01:15 +0000  Tim-Philipp Müller <tim@centricular.com>

	* ext/svtjpegxs/gstsvtjpegxsdec.c:
	  svtjpegxsdec: handle decode errors more gracefully
	  Use GST_VIDEO_DECODER_ERROR instead of just erroring out
	  unconditionally, so that the error handling behaviour is
	  determined by the "max-errors" property and we'll just
	  continue after decoding errors now instead of erroring out.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8163>

2024-12-16 17:32:20 +1100  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/cuda/gstcudacontext.cpp:
	  cuda/context: add gpu stack size property
	  Allows reducing the initial stack size of GPU threads.  Cuda should
	  automatically increase this value if a kernel requires a larger stack.
	  Can save roughly 40MB of GPU memory for a single nvh264enc instance.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8158>

2024-12-16 17:31:17 +1100  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/cuda/cuda-gst.h:
	* gst-libs/gst/cuda/gstcudaloader.cpp:
	* gst-libs/gst/cuda/stub/cuda.h:
	  cuda: add CuGet/SetCtxLimit()
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8158>

2024-12-18 13:35:53 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* gst-libs/gst/va/gstvadisplay.c:
	  va: display: Optimize out some property indirection
	  Because it was visible during some profiling, I thought it cost nothing
	  to optimize out the uneeded property get roundtrip.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8179>

2024-12-17 17:36:19 +0100  Guillaume Desmottes <guillaume.desmottes@onestream.live>

	* ext/wpe/wpe-extension/gstwpeextension.c:
	  wpe: enable console message with WPE2
	  Looks like the WebKitConsoleMessage API is now available in WPE2 as well:
	  https://webkitgtk.org/reference/webkitgtk-web-process-extension/stable/signal.WebPage.console-message-sent.html
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8169>

2024-12-16 21:41:55 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* sys/va/gstvah264dec.c:
	  va: h264dec: Allow "extended" profile decoding
	  Extended is identical to main but allows for FMO/ASO features to be
	  used, and prevent using CABAC. Using similar logic to "baseline",
	  assume that if we support main, we can also do extended.
	  This fixes the following fluster vectors, which otherwise would fail
	  when trying to link the parsebin pad.
	  - BA3_SVA_C
	  - MR6_BT_B
	  - MR7_BT_B
	  - MR8_BT_B
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8164>

2024-11-18 07:54:55 +0100  Emil Ljungdahl <emillj@axis.com>

	* ext/webrtc/gstwebrtcbin.c:
	  webrtcbin: Tear down src and sink bins before removing them from webrtc
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7900>

2024-11-15 15:00:00 +0100  Emil Ljungdahl <emillj@axis.com>

	* ext/webrtc/gstwebrtcbin.c:
	  webrtcbin: Fix potential deadlock on bin elements cleanup
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7900>

2024-12-10 13:12:18 +0530  Nirbheek Chauhan <nirbheek@centricular.com>

	* docs/plugins/gst_plugins_cache.json:
	* sys/applemedia/vtenc.c:
	* sys/applemedia/vtenc.h:
	  vtenc: Fix authors of encoder features
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8120>

2024-12-10 00:05:53 +0530  Nirbheek Chauhan <nirbheek@centricular.com>

	* docs/plugins/gst_plugins_cache.json:
	* sys/applemedia/vtenc.c:
	* sys/applemedia/vtenc.h:
	  vtenc: Fix class hierarchy in an attempt to fix property docs
	  Also fix some convention-nits in the process.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8120>

2024-12-09 15:12:57 +0530  Nirbheek Chauhan <nirbheek@centricular.com>

	* sys/applemedia/vtenc.c:
	  vtenc, osxaudio: Fix missing since markers
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8120>

2024-12-09 15:12:57 +0530  Nirbheek Chauhan <nirbheek@centricular.com>

	* docs/plugins/gst_plugins_cache.json:
	* sys/applemedia/vtenc.c:
	  vtenc: Mark rate-control enum as plugin API, and update cache
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8120>

2024-12-09 15:12:06 +0530  Nirbheek Chauhan <nirbheek@centricular.com>

	* sys/applemedia/avfvideosrc.m:
	  avfvideosrc: Add missing since markers for screen-crop properties
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8120>

2024-12-05 00:32:37 +0530  Nirbheek Chauhan <nirbheek@centricular.com>

	  docs: Update macOS plugin docs again
	  Contains the following updates:
	  * New properties on avfvideosrc: screen-crop-*
	  * H265 and H265 Alpha support in vtdec and vtenc (VideoToolbox)
	  * ProRes support in vtenc
	  * New properties on vtenc elements: rate-control, data-rate-limits,
	  max-frame-delay
	  * New plugin atenc (AudioToolbox) with support for encoding AAC
	  * Plugin move: atdec moved from -bad to -good
	  * New property on osxaudio elements: unique-id
	  * OS X -> macOS
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8120>

2024-12-06 19:13:50 +0100  Mathieu Duponchelle <mathieu@centricular.com>

	* docs/plugins/gst_plugins_cache.json:
	* ext/closedcaption/gstcccombiner.c:
	* ext/closedcaption/gstcccombiner.h:
	  cccombiner: expose new input-meta-processing type, force
	  In force mode, generated captions are discarded even if input video
	  buffers do not hold CC meta.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8091>

2024-12-02 17:12:00 +0530  Nirbheek Chauhan <nirbheek@centricular.com>

	* gst-libs/gst/cuda/meson.build:
	  meson: Improve NVMM CUDA detection
	  1. Add some comments explaining what headers and libs are expected on
	  what systems
	  2. Only look in default incdirs if no incdir is specified
	  3. Require libnvbufsurface.so on Jetson when cuda-nvmm=enabled
	  4. Require libatomic on Jetson when cuda-nvmm=enabled
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8021>

2024-12-16 00:22:47 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d12/gstd3d12descheappool.cpp:
	  d3d12: Suppress misleading leak report
	  Set may-be-leaked flag to child objects if needed,
	  since the parent object holding refcount of the child
	  will be leaked intentionally
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8152>

2024-04-07 19:23:52 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d12/gstd3d12device-private.h:
	* gst-libs/gst/d3d12/gstd3d12device.cpp:
	* sys/d3d12/gstd3d12deinterlace.cpp:
	* sys/d3d12/gstd3d12deinterlace.h:
	* sys/d3d12/gstd3d12yadif.cpp:
	* sys/d3d12/gstd3d12yadif.h:
	* sys/d3d12/meson.build:
	* sys/d3d12/plugin.cpp:
	  d3d12: Add d3d12deinterlace element
	  Adding D3D12 compute shader based deinterlace element
	  with YADIF filtering
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8140>

2024-10-09 10:02:09 -0400  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3dshader/gstd3dshadercache.cpp:
	* gst-libs/gst/d3dshader/gstd3dshadercache.h:
	* gst-libs/gst/d3dshader/plugin-hlsl/CSMain_yadif_1.hlsl:
	* gst-libs/gst/d3dshader/plugin-hlsl/CSMain_yadif_1_10.hlsl:
	* gst-libs/gst/d3dshader/plugin-hlsl/CSMain_yadif_1_12.hlsl:
	* gst-libs/gst/d3dshader/plugin-hlsl/CSMain_yadif_2.hlsl:
	* gst-libs/gst/d3dshader/plugin-hlsl/CSMain_yadif_4.hlsl:
	* gst-libs/gst/d3dshader/plugin-hlsl/hlsl.h:
	* gst-libs/gst/d3dshader/plugin-hlsl/meson.build:
	  d3dshader: Add YADIF deinterlacing compute shader code
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8140>

2024-12-11 11:53:47 +0100  Oskar Fiedot <oskar.fiedot@intel.com>

	* gst-libs/gst/analytics/gstanalyticsobjectdetectionmtd.c:
	* gst-libs/gst/analytics/gstanalyticsobjectdetectionmtd.h:
	* gst-libs/gst/analytics/meson.build:
	* tests/check/libs/analyticsmeta.c:
	  analytics: add rotation to object detection mtd
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7938>

2024-12-10 16:15:09 +0000  Philippe Normand <philn@igalia.com>

	* ext/webrtc/gstwebrtcstats.c:
	  webrtc: Simplify fmtp handling in codec stats
	  Parsing the whole caps as SDP media only to retrieve the fmtp field afterwards
	  seems a bit superfluous. By looking up the a-fmtp attribute directly the number
	  of allocations in this function gets down a bit.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8125>

2024-12-10 12:52:33 +0000  Tim-Philipp Müller <tim@centricular.com>

	* meson.build:
	  meson: unset GST_TRACERS for g-ir-scanner to avoid warnings
	  People might have GST_TRACERS=leaks set in their environment
	  by default, which will now trigger criticals during the build
	  when calling g-ir-scanner, because we unset GST_PLUGIN_SYSTEM_PATH
	  so that the scanner doesn't load any plugins.
	  Fixes #4093
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8121>

2024-12-10 13:42:41 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/vulkan/gstvkoperation.c:
	  vkoperation: enable inline query only if it's a video operation
	  This commit enables the usage of inline queries, if and only if, the
	  provided
	  pNext structure, in gst_vulkan_opeation_enable_query(), chains a
	  VK_STRUCTURE_TYPE_VIDEO_PROFILE_INFO_KHR typed structure.
	  Also it guards "gstvkvideo-private.h" include
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8112>

2024-12-09 14:45:01 +0100  Stéphane Cerveau <scerveau@igalia.com>

	* gst-libs/gst/vulkan/gstvkoperation.c:
	* gst-libs/gst/vulkan/gstvkvideo-private.c:
	* gst-libs/gst/vulkan/gstvkvideo-private.h:
	  vkvideo: add video_maintenance1 check
	  Add gst_vulkan_video_maintenance1_supported
	  to check if the video session needs
	  VK_VIDEO_SESSION_CREATE_INLINE_QUERIES_BIT_KHR
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8112>

2024-12-06 15:15:45 +0100  Armin Begovic <armin.begovic@hotmail.com>

	* docs/plugins/gst_plugins_cache.json:
	* sys/decklink/gstdecklink.cpp:
	  decklink: Add missing video modes to gst_decklink_mode_get_type()
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8110>

2024-12-06 15:15:34 +0100  Armin Begovic <armin.begovic@hotmail.com>

	* sys/decklink/gstdecklink.cpp:
	  decklink: Fix copy-paste errors regarding 8K modes
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8110>

2024-12-09 12:02:01 -0300  Thibault Saunier <tsaunier@igalia.com>

	* docs/meson.build:
	  docs: Do not try to generate cuda documentation when gir is not generated
	  On macos it is not
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8086>

2024-12-06 00:04:45 -0500  Daniel Morin <daniel.morin@collabora.com>

	* gst-libs/gst/analytics/gstanalyticsmeta.c:
	* gst-libs/gst/analytics/gstanalyticsmeta.h:
	  analytics: add _N_TO_N relation type
	  This relation type define relations between each components of two groups.
	  First component of first group relate to first component of second group,
	  Second component of second group relate to second component of second group,
	  and so on. It's a denser way to express relations in this context.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8087>

2024-11-19 10:30:09 +0100  Peter Stensson <petest@axis.com>

	* ext/curl/gstcurlhttpsink.c:
	  curlhttpsink: Set auth any for http_proxy and https_proxy
	  There was different behaviour if the proxy was configured through
	  properties or environment. For properties libcurl would be configured
	  with any auth, but for environment libcurl would default to using basic.
	  Now any auth is set for both configuration methods.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7935>

2024-11-19 07:31:20 +0100  Peter Stensson <petest@axis.com>

	* ext/curl/gstcurlhttpsink.c:
	* ext/curl/gstcurlhttpsink.h:
	  curlhttpsink: Don't set Content-Length to 0 for proxy
	  The Content-Length header would unconditionally be included when the
	  proxy property was set. This would result in requests with both
	  Content-Length and Transfer-Encoding header. Now we rely on the
	  use-content-length property in the proxy case aswell. This also makes
	  sure that Content-Type is set correctly, since before that would be
	  skipped if proxy was used.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7935>

2024-12-07 00:23:33 -0500  Daniel Morin <daniel.morin@collabora.com>

	* ext/onnx/gstonnxclient.cpp:
	  onnx: disable onnxruntime telemetry
	  Disable the telemetry feautre on onnxruntime.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8092>

2024-12-05 13:39:38 +0100  Francisco Javier Velázquez-García <francisco.velazquez@appear.net>

	* ext/zxing/gstzxing.cpp:
	  zxing: Update decode hints usage for compatibility with ZXing >= 2.2
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7879>

2024-12-04 14:33:07 -0500  Aaron Boxer <aaron.boxer@collabora.com>

	* gst/videoparsers/gsth265parse.c:
	  h265parse: reset nalparser to NULL after it is freed
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8074>

2024-08-01 14:54:11 +0000  sachin gadag <sggadag@amazon.com>

	* gst/videoparsers/gsth264parse.c:
	  h264parse: set nalparser to NULL after it is freed
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8074>

2024-12-05 06:41:35 -0500  Aaron Boxer <aaron.boxer@collabora.com>

	* gst-libs/gst/codecparsers/gsth265parser.c:
	  h265parse: remove useless NULL setting in gst_h265_parser_free
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8082>

2024-12-05 06:39:06 -0500  Aaron Boxer <aaron.boxer@collabora.com>

	* gst-libs/gst/codecparsers/gsth264parser.c:
	  h264parse: remove useless NULL setting in gst_h264_nal_parser_free
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8082>

2024-10-16 15:56:40 +0900  Aniket Hande <ahande@ftilab.com>

	* gst/mpegtsdemux/mpegtspacketizer.c:
	* gst/mpegtsdemux/mpegtspacketizer.h:
	* gst/mpegtsdemux/mpegtsparse.c:
	  tsparse: Extract and fill m2ts header for each packet
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7625>

2024-12-02 16:42:06 +0100  Stéphane Cerveau <scerveau@igalia.com>

	* gst-libs/gst/vulkan/gstvkdecoder-private.c:
	* gst-libs/gst/vulkan/gstvkencoder-private.c:
	* gst-libs/gst/vulkan/gstvkoperation.c:
	* gst-libs/gst/vulkan/gstvkoperation.h:
	  vkoperation: use inline query with video maintenance1
	  When video_maintenance1 is supported,
	  gst_vulkan_operation_begin_query will now use
	  the inline query mechanism instead of vkCmdBeginQuery
	  API.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7995>

2024-11-28 15:49:14 +0100  Stéphane Cerveau <scerveau@igalia.com>

	* gst-libs/gst/vulkan/gstvkdevice.c:
	  vkdevice: enable VK_KHR_VIDEO_MAINTENANCE_1_EXTENSION_NAME
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7995>

2024-07-29 13:49:05 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/vulkan/gstvkphysicaldevice.c:
	  vkphysicaldevice: dump if video maintenance1 is supported
	  Dump if VK_KHR_video_maintenance1 features is supported by the driver.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7995>

2024-11-28 23:17:40 +0100  Robert Mader <robert.mader@collabora.com>

	* sys/v4l2codecs/gstv4l2codecav1dec.c:
	* sys/v4l2codecs/gstv4l2codech264dec.c:
	* sys/v4l2codecs/gstv4l2codech265dec.c:
	* sys/v4l2codecs/gstv4l2codecmpeg2dec.c:
	* sys/v4l2codecs/gstv4l2codecpool.c:
	* sys/v4l2codecs/gstv4l2codecpool.h:
	* sys/v4l2codecs/gstv4l2codecvp8dec.c:
	* sys/v4l2codecs/gstv4l2codecvp9dec.c:
	* sys/v4l2codecs/gstv4l2decoder.c:
	* sys/v4l2codecs/gstv4l2decoder.h:
	  v4l2codecs: Use GstVideoInfoDmaDrm more consistently
	  This avoids some duplications and makes the DRM info available in
	  more places, which will help with future changes.
	  Also fix some error messages while on it.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8028>

2024-12-03 13:14:33 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/codecparsers/gsth264parser.c:
	  h264parse: Free SEI if parsing succeeds but alignment afterwards fails
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8056>

2024-12-03 13:10:04 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/codecparsers/gsth265parser.c:
	  h265parse: Free SEI if parsing succeeds but alignment afterwards fails
	  Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/4076
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8056>

2024-11-29 14:41:12 +0100  Jan Alexander Steffens (heftig) <heftig@archlinux.org>

	* ext/neon/meson.build:
	  meson: Drop max version bound from neon
	  Neon 0.34.0 broke the build again, but the API+ABI has been stable since
	  0.27 and the library is so-versioned.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8008>

2024-12-03 14:44:30 +0100  Guillaume Desmottes <guillaume.desmottes@onestream.live>

	* gst-libs/gst/codecparsers/gsth265parser.c:
	* gst/videoparsers/gsth265parse.c:
	  h265parse: parse unregistered SEI without user data
	  Same change as in h264parse.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7931>

2024-11-20 14:16:23 +0100  Guillaume Desmottes <guillaume.desmottes@onestream.live>

	* gst-libs/gst/codecparsers/gsth264parser.c:
	* gst/videoparsers/gsth264parse.c:
	* tests/check/elements/h264parse.c:
	  h264parse: parse unregistered SEI without user data
	  We get loads of warnings when parsing videos from users:
	  gsth264parser.c:1115:gst_h264_parser_parse_user_data_unregistered: No more remaining payload data to store
	  gsth264parse.c:646:gst_h264_parse_process_sei:<h264parse0> failed to parse one or more SEI message
	  Those are raised because of unregistered SEI without user data.
	  The spec does not explicitly state that unregistered SEI needs to have
	  data and I suppose the UUID by itself can carry valuable information.
	  FFmpeg also parses and exposes such SEI so there is no reason for us no
	  too as well.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7931>

2024-11-15 16:44:10 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst/mpegtsdemux/mpegtsbase.c:
	  tsdemux: Lower a GST_FIXME to a GST_DEBUG
	  This is not really a refcounting issue and can happen if a new program is in the
	  process of being activated that contains streams with the same PIDs.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7898>

2024-08-20 20:43:42 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/vulkan/gstvkencoder-private.c:
	* gst-libs/gst/vulkan/gstvkencoder-private.h:
	* tests/check/libs/vkvideoencodeh264.c:
	* tests/check/libs/vkvideoencodeh265.c:
	  vkencoder-private: add gst_vulkan_encoder_is_started()
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8007>

2024-11-15 12:41:15 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/vulkan/gstvkencoder-private.c:
	* gst-libs/gst/vulkan/gstvkencoder-private.h:
	  vkencoder-private: add again GST_TYPE_VULKAN_ENCODER_RATE_CONTROL_MODE
	  It was already part of the old rate control mechanism but it had wrong the
	  namespace.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8007>

2024-11-08 18:05:55 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/vulkan/gstvkencoder-private.c:
	* gst-libs/gst/vulkan/gstvkencoder-private.h:
	* tests/check/libs/vkvideoencodeh264.c:
	* tests/check/libs/vkvideoencodeh265.c:
	  vkencoder-private: implement callback to chain control rate structures
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8007>

2024-11-08 11:44:40 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/vulkan/gstvkencoder-private.c:
	* gst-libs/gst/vulkan/gstvkencoder-private.h:
	* tests/check/libs/vkvideoencodeh264.c:
	* tests/check/libs/vkvideoencodeh265.c:
	  vkencoder-private: implement callback to chain codec specific structures
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8007>

2024-09-19 16:43:09 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/vulkan/gstvkencoder-private.c:
	* gst-libs/gst/vulkan/gstvkencoder-private.h:
	* gst-libs/gst/vulkan/gstvkvideo-private.h:
	* tests/check/libs/vkvideoencodeh264.c:
	* tests/check/libs/vkvideoencodeh265.c:
	  vkencoder-private: handle quality level
	  It creates a new structure for passing the codec quality structure at _start(),
	  where it will be filled. The quality level can be set or changed according
	  encoder limits.
	  Later the quality level will be set at _update_session_parameters() and at each
	  frame encoding. That's why it has to be set at _start().
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8007>

2024-09-19 15:04:09 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/vulkan/gstvkencoder-private.c:
	  vkencoder-private: rename first_encode_cmd to session_reset
	  Since it reflect better when it's needed to be used: to reset the current
	  session.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8007>

2024-09-19 12:47:17 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/vulkan/gstvkencoder-private.c:
	  vkencoder-private: shuffle down VkVideoBeginCodingInfoKHR initialization
	  to make it more cohesive
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8007>

2024-09-05 14:52:31 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/vulkan/gstvkencoder-private.c:
	* gst-libs/gst/vulkan/gstvkencoder-private.h:
	* tests/check/libs/vkvideoencodeh264.c:
	* tests/check/libs/vkvideoencodeh265.c:
	  vkencoder-private: remove rate control handling
	  It will be reintroduced later with different approach.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8007>

2024-09-19 13:28:15 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/vulkan/gstvkencoder-private.c:
	* gst-libs/gst/vulkan/gstvkencoder-private.h:
	* tests/check/libs/vkvideoencodeh264.c:
	* tests/check/libs/vkvideoencodeh265.c:
	  vkencoder-private: enhance algorithm to get the slot index
	  The algorithm for generating the current slot index is a simple round robin,
	  nonetheless it's not assured that the next slot index it's not still used by a
	  still living encode picture.
	  This new way holds an array with the still living encode pictures and the next
	  slot index looks for a released index in the array.
	  Its downside is deallocating a picture need to be removed from the array, so the
	  helper has to be passed to the uninit() function
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8007>

2024-09-19 12:21:04 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/vulkan/gstvkencoder-private.c:
	* gst-libs/gst/vulkan/gstvkencoder-private.h:
	* tests/check/libs/vkvideoencodeh264.c:
	* tests/check/libs/vkvideoencodeh265.c:
	  vkencoder-private: add VkVideoReferenceSlotInfoKHR in GstVulkanEncoderPicture
	  And remove slotIndex since it's part of VkVideoReferenceSlotInfoKHR, simplifying
	  the reference slots array creation, and changing the tests accordingly.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8007>

2024-12-03 15:39:47 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/vulkan/gstvkencoder-private.c:
	  vkencoder-private: check for codec buffer
	  gst_vulkan_video_codec_buffer_new() can return NULL, so it's required to check
	  the returned value and bail out if needed.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8007>

2024-09-06 11:23:40 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/vulkan/gstvkencoder-private.c:
	* gst-libs/gst/vulkan/gstvkencoder-private.h:
	* tests/check/libs/vkvideoencodeh264.c:
	* tests/check/libs/vkvideoencodeh265.c:
	  vkencoder-private: avoid GstVulkanEncoderPicture allocation
	  By using it as apart of the encoder picture structure that has to initialized
	  and uninitalized.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8007>

2024-09-04 14:14:04 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/vulkan/gstvkencoder-private.c:
	* gst-libs/gst/vulkan/gstvkencoder-private.h:
	* tests/check/libs/vkvideoencodeh264.c:
	* tests/check/libs/vkvideoencodeh265.c:
	  vkencoder-private: remove width, height and fps from GstVulkanEncoderPicture
	  In GStreamer that buffer information is decoupled, holding other structures to
	  describe the stream: GstCaps. So, to keep the GStreamer design this patch
	  removes these information from GstVulkanEncoderPicture and pass to
	  gst_vulkan_encoder_encode() a pointer to GstVideoInfo.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8007>

2024-11-26 20:10:15 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/vulkan/gstvkencoder-private.c:
	* gst-libs/gst/vulkan/gstvkencoder-private.h:
	  vkencoder-private: replace packed headers with offset handling
	  Instead of holding all headers in an external array and add them into the
	  bitstream buffer before the encoding operation, adding extra memory and extra
	  copy operations, the encoder picture should specify the offset where the Vulkan
	  will start to add the bitstream slices/frame, because the element has written
	  already the headers until that offset.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8007>

2024-09-04 13:17:01 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/vulkan/gstvkencoder-private.c:
	* gst-libs/gst/vulkan/gstvkencoder-private.h:
	* tests/check/libs/vkvideoencodeh264.c:
	* tests/check/libs/vkvideoencodeh265.c:
	  vkencoder-private: remove nb_refs from GstVulkanEncoderPicture
	  That's the number of references that gst_vulkan_encoder_encode() receives to
	  process, so it has to go as a parameter, because it's part of the reference
	  list, not of the picture.
	  This commit also modified unit tests accordingly.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8007>

2024-09-04 12:31:25 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/vulkan/gstvkencoder-private.c:
	* gst-libs/gst/vulkan/gstvkencoder-private.h:
	* tests/check/libs/vkvideoencodeh264.c:
	* tests/check/libs/vkvideoencodeh265.c:
	  vkencoder-private: remove pic_num and pic_order_cnt from GstVulkanEncoderPicture
	  Since they aren't semantically part of the codec-independent encoding operation.
	  And modify unit tests accordingly.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8007>

2024-09-03 21:36:56 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/vulkan/gstvkencoder-private.c:
	* gst-libs/gst/vulkan/gstvkencoder-private.h:
	* tests/check/libs/vkvideoencodeh264.c:
	* tests/check/libs/vkvideoencodeh265.c:
	  vkencoder-private: remove is_ref member from GstVulkanEncoderPicture
	  It's not used. Modified the unit test accordingly.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8007>

2024-08-12 17:31:14 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/vulkan/gstvkencoder-private.c:
	* gst-libs/gst/vulkan/gstvkencoder-private.h:
	* tests/check/libs/vkvideoencodeh264.c:
	* tests/check/libs/vkvideoencodeh265.c:
	  vkencoder-private: don't store output data size
	  There's no need to store in encoder helper the output data size, that's
	  responsibility of the caller when an output buffer is allocated.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8007>

2024-08-22 10:51:52 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/vulkan/gstvkencoder-private.c:
	  vkencoder-private: enhance capabilities logging
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8007>

2024-08-19 17:52:10 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/vulkan/gstvkdecoder-private.c:
	* gst-libs/gst/vulkan/gstvkencoder-private.c:
	* gst-libs/gst/vulkan/gstvkvideoutils.h:
	* tests/check/libs/vkvideoencodeh264.c:
	* tests/check/libs/vkvideoencodeh265.c:
	  vulkan: store in GstVulkanVideoCapabilities encoder and decoder caps
	  The structure already stored the generic video capabilities and the specific
	  codec capabilities both for encoding an decoding. The generic decoder
	  capabilities weren't stored because it was only used internally in the decoder
	  helper object. Nonetheless, for the encoder, the elements will need the generic
	  encoder capabilities to configure the encoding. That's why it's required to
	  expose it as part of GstVulkanVideoCapabilities. And the generic decoder is
	  included for the sake of symmetry.
	  While updating the API vkvideoencodeh265 test got some code-style fixes.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8007>

2024-11-27 10:51:38 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/vulkan/gstvkencoder-private.c:
	* gst-libs/gst/vulkan/gstvkencoder-private.h:
	* tests/check/libs/vkvideoencodeh264.c:
	* tests/check/libs/vkvideoencodeh265.c:
	  vkencoder-private: rename GstVulkanEncoderPicture
	  GstVulkanEncodePicture breaks the namespace. This commit fixes it by renaming it
	  to GstVulkanEncoderPicture, also new() and free() signature functions.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8007>

2024-08-13 01:03:56 +0900  Seungha Yang <seungha@centricular.com>

	* ext/meson.build:
	* ext/nvdswrapper/gstnvdsdewarp.cpp:
	* ext/nvdswrapper/gstnvdsdewarp.h:
	* ext/nvdswrapper/meson.build:
	* ext/nvdswrapper/plugin.cpp:
	* ext/nvdswrapper/stub/cuda_runtime.h:
	* meson_options.txt:
	  nvdswrapper: Add NVIDIA DeepStream wrapper plugin
	  Adding a NVIDIA DeepStream SDK based plugin with a dewarp element
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7357>

2024-12-02 19:34:14 +0800  Pablo Sun <pablo.sun@mediatek.com>

	* sys/kms/gstkmssink.c:
	  kmssink: Add mediatek auto-detection
	  Add MediaTek display controller into list of
	  auto-detected modules.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8023>

2024-10-03 22:42:36 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/vulkan/gstvkencoder-private.c:
	  vkencoder-private: keep only one DPB view for layered DPB
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7993>

2024-09-19 12:29:23 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/vulkan/gstvkencoder-private.c:
	  vkencoder-private: increase reference slots array
	  H264 has the maximum number of refs (36) of any supported codec.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7993>

2024-09-18 16:28:41 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/vulkan/gstvkencoder-private.c:
	  vkencoder_private: move view creation to picture init
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7993>

2024-09-17 22:14:46 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/vulkan/gstvkencoder-private.c:
	  vkencoder-private: shuffle up operation and query creation
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7993>

2024-09-17 13:44:53 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/vulkan/gstvkencoder-private.c:
	  vkencoder-private: shuffle up get format to bail out better
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7993>

2024-09-17 13:43:06 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/vulkan/gstvkencoder-private.c:
	  vkencoder-private: define encoded feedback flags by removing override bit
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7993>

2024-08-27 18:32:42 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/vulkan/gstvkencoder-private.c:
	  vkencoder-private: fix parameters overrides
	  First remove validations since they will fail if there isn't a write operation.
	  It's valid to pass data without write operations.
	  Finally, it should check for hasOverride in feedback info. Nonetheless, there's
	  a NVIDIA bug returning always FALSE for hasOverride, that's why we currently
	  force it to TRUE.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7993>

2024-11-28 12:24:11 +0530  Nirbheek Chauhan <nirbheek@centricular.com>

	* sys/kms/gstkmssink.c:
	* sys/kms/gstkmssink.h:
	* sys/kms/meson.build:
	  kms: Bump libdrm requirement to 2.4.108
	  DRM modifier support requires drmModeFormatModifierBlobIterNext()
	  which was added in 2.4.108. See:
	  https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5174#note_2673883
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7991>

2022-02-18 17:19:57 +0100  Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>

	* ext/closedcaption/gstcccombiner.c:
	  cccombiner: Improve get_next_time to avoid spinning
	  Avoid aggregate getting called in a loop when timed out but we're not in
	  a state where we can produce a buffer.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1746>

2022-02-18 17:06:44 +0100  Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>

	* ext/closedcaption/gstcccombiner.c:
	* ext/closedcaption/gstcccombiner.h:
	  cccombiner: Add caption_pad field to avoid get_static_pad
	  Save a reference to the caption pad as well. This will make the
	  `get_next_time` implementation cheaper.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1746>

2024-11-26 16:27:19 +0100  Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>

	* ext/closedcaption/gstcccombiner.c:
	  cccombiner: Pass caption_pad to schedule_caption
	  Avoid having to find this pad again.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1746>

2022-02-18 17:06:44 +0100  Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>

	* ext/closedcaption/gstcccombiner.c:
	* ext/closedcaption/gstcccombiner.h:
	  cccombiner: Add video_pad field to avoid pad get/ref/unref
	  Saving a reference to this always-present pad simplifies the code and
	  avoids a lot of pad list scans and refcounting.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1746>

2024-10-03 21:04:28 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/vulkan/gstvkdecoder-private.c:
	* gst-libs/gst/vulkan/gstvkencoder-private.c:
	* gst-libs/gst/vulkan/gstvkvideo-private.c:
	* gst-libs/gst/vulkan/gstvkvideo-private.h:
	  vulkan: add gst_vulkan_video_image_create_view()
	  This function is moved from gstvkdecoder-private so it could be used by
	  gstvkencoder-private too, removing there what it should be duplicated code.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7984>

2024-11-26 21:22:25 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/vulkan/gstvkencoder-private.c:
	  vkencoder-private: fix documentation
	  The function doesn't take the reference from caller, it keeps it's own
	  reference, so transfer is none.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7974>

2024-09-06 11:22:54 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/vulkan/gstvkencoder-private.h:
	  vkencoder-private: fix code style and use gpointer
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7974>

2024-11-26 14:46:40 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/vulkan/gstvkencoder-private.c:
	  vkencoder-private: fix and complete public functions prechecks
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7974>

2024-11-26 16:22:47 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/vulkan/gstvkencoder-private.c:
	  vkencoder-private: check for layered buffer when new picture
	  And balance `if` curly brackets.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7974>

2024-10-03 22:31:54 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/vulkan/gstvkencoder-private.c:
	  vkencoder-private: early return if dpb pool or dpb buffer already exist
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7974>

2024-08-15 17:51:23 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/vulkan/gstvkencoder-private.c:
	* tests/check/libs/vkvideoencodeh265.c:
	  vkencoder-private: usage structure is provided by caller
	  As all the profile structure, it's not intended to be filled in
	  gst_vulkan_encoder_start() function, but by the caller.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7974>

2024-09-19 12:31:33 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/vulkan/gstvkencoder-private.c:
	  vkencoder-private: fix how to get bitstream buffer size
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7974>

2024-09-04 14:21:33 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/vulkan/gstvkencoder-private.c:
	  vkencoder-private: doc: fix function name
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7974>

2024-10-03 22:22:17 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/vulkan/gstvkencoder-private.c:
	  vkencoder-private: use gst_clear_object()
	  Instead of g_clear_object() for sake of coherence.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7974>

2024-09-04 14:21:04 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/vulkan/gstvkencoder-private.c:
	  vkencoder-private: fix return value to gst_vulkan_encoder_encode()
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7974>

2024-11-25 17:51:31 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/vulkan/gstvkencoder-private.c:
	  vkencoder-private: doc: remove (in) annotation
	  because it's the default one
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7974>

2024-09-05 14:53:07 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/vulkan/gstvkencoder-private.c:
	  vkencoder-private: move out indent macros
	  Outside of the structures whenever is possible, given indent limitations. In this way
	  the code has a better readability.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7974>

2024-11-26 21:34:25 +0800  Xi Ruoyao <xry111@xry111.site>

	* ext/x265/gstx265enc.c:
	  x265: Allow building with x265-4.1
	  In x265-4.1 masteringDisplayColorVolume is changed from a pointer to a
	  character array embedded in struct x265_param.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7968>

2024-11-26 16:52:05 +0530  Nirbheek Chauhan <nirbheek@centricular.com>

	* tests/check/meson.build:
	  meson: Don't unconditionally invoke the libsoup subproject
	  fallback: kwarg will invoke the specified subproject even if required:
	  false, which is not what we want here.
	  Reported at https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/4045#note_2674340
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7965>

2024-02-01 18:45:01 +0100  Mathieu Duponchelle <mathieu@centricular.com>

	* docs/plugins/gst_plugins_cache.json:
	* ext/closedcaption/gstcccombiner.c:
	* ext/closedcaption/gstcccombiner.h:
	  cccombiner: expose input-meta-processing property
	  It can be used to discard closed captions from the input pad if the
	  matching video buffer already held closed captions.
	  It is useful in a scenario where captions are generated for an AV
	  stream, but the incoming stream already has embedded captions for
	  some intervals, and those original captions should be preferred.
	  It can also be used to make sure input CC meta is always dropped,
	  the default behavior remains to append aggregated CC to whatever
	  CC meta was already present on the input video buffer
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6072>

2024-11-23 22:08:56 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d12/gstd3d12converter.cpp:
	* gst-libs/gst/d3d12/gstd3d12device-private.h:
	* gst-libs/gst/d3d12/gstd3d12device.cpp:
	  d3d12converter: Gamma LUT related enhancements
	  * Build gamma LUT using shader, instead of CPU side math then uploading
	  * Make gamma LUT sharable across multiple converters
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7951>

2024-11-23 11:47:00 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3dshader/converter-hlsl/PSMain_gamma_lut.hlsl:
	* gst-libs/gst/d3dshader/converter-hlsl/hlsl.h:
	* gst-libs/gst/d3dshader/converter-hlsl/meson.build:
	* gst-libs/gst/d3dshader/gstd3dshadercache.cpp:
	* gst-libs/gst/d3dshader/gstd3dshadercache.h:
	  d3dshader: Add shader for building gamma LUT
	  Newly added shader will be used by converter to construct
	  gamma encode/decode LUT texture
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7951>

2024-11-19 16:52:29 +0100  Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>

	* ext/closedcaption/ccutils.c:
	  ccutils: Rename wrote_first to write_field1
	  This better describes what we're doing.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7967>

2024-11-19 17:21:16 +0100  Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>

	* ext/closedcaption/ccutils.c:
	  ccutils: Fix a typo in cc_buffer_take_cea608_field2
	  There are no users of cc_buffer_take_cea608_field2, so this never was a
	  problem.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7967>

2024-11-19 16:42:11 +0100  Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>

	* ext/closedcaption/ccutils.c:
	  ccutils: Fix a typo in max_buffer_time handling
	  All users set max_buffer_time to GST_CLOCK_TIME_NONE, effectively
	  infinite, so this never was a problem.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7967>

2024-11-19 13:47:55 +0100  Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>

	* ext/closedcaption/ccutils.c:
	  ccutils: Remove broken branch
	  This branch was added in dd00dab5e9e8650f3f00660c2e611f81f1e8cd5b but is
	  never actually taken, as it requires `cc_data` to be null but
	  `cc_data_len` to be non-null. It would then dereference the null
	  `cc_data`.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7967>

2024-11-26 09:23:51 +0100  Albert Sjolund <alberts@axis.com>

	* ext/webrtc/gstwebrtcbin.c:
	  webrtc: don't crash on invalid bundle id
	  If the bundle id forwarded to connect_rtpfunnel is not valid,
	  the assertion fails and crashes the program. This is now instead
	  an error.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7963>

2024-11-22 11:31:18 -0700  Sebastien Cote <sebas642@gmail.com>

	* sys/applemedia/vtenc.c:
	  vtenc: add support for the HLG color transfer
	  Fixes #4047
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7947>

2024-11-13 16:04:44 +0100  Stéphane Cerveau <scerveau@igalia.com>

	* gst-libs/gst/vulkan/gstvkoperation.c:
	  vkoperation: update doc to skip barriers array methods
	  Some methods are using arrays of element which type can
	  vary at compile time. These methods should not
	  be introspectable as it's not possible to determine
	  the final type.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7880>

2023-10-20 23:05:01 +0800  Zhong Hongcheng <spartazhc@gmail.com>

	* tests/check/libs/h266parser.c:
	* tests/check/meson.build:
	  tests: Add the VVC(H266) parser test cases
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5003>

2024-11-21 01:17:27 +0800  He Junyan <junyan.he@intel.com>

	* gst-libs/gst/codecparsers/gsth266parser.c:
	  libs: codecparsers: Implement the VVC(H266) parser part II
	  Implement the picture header, slice header and SEI parsing functions.
	  Co-authored-by: spartazhc <spartazhc@gmail.com>
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5003>

2024-11-13 15:42:03 +0800  He Junyan <junyan.he@intel.com>

	* gst-libs/gst/codecparsers/gsth266parser.c:
	* gst-libs/gst/codecparsers/meson.build:
	  libs: codecparsers: Implement the VVC(H266) parser part I
	  Implement all the VPS, SPS and APS parsing functions.
	  Co-authored-by: spartazhc <spartazhc@gmail.com>
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5003>

2024-11-13 15:39:49 +0800  He Junyan <junyan.he@intel.com>

	* gst-libs/gst/codecparsers/gsth266parser.h:
	  libs: codecparsers: Add the VVC(H266) parser header file
	  Co-authored-by: spartazhc <spartazhc@gmail.com>
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5003>

2024-11-20 20:32:09 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d12/gstd3d12device.cpp:
	* gst-libs/gst/d3d12/gstd3d12utils.h:
	* sys/d3d12/plugin.cpp:
	  d3d12: Add gst_d3d12_flush_all_devices() method
	  ... and removing implicit flushing behavior on GstD3D12Device::finalize
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7929>

2024-11-20 10:42:13 +0200  Sebastian Dröge <sebastian@centricular.com>

	* sys/aja/gstajadeviceprovider.cpp:
	  aja: Fix infinite loop in device provider
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7928>

2024-11-14 10:59:35 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* gst-libs/gst/wayland/gstwllinuxdmabuf.c:
	  wayland: dmabuf: Translate tiled strides
	  GStreamer uses a different representation of tiled strides that needs
	  to be translated before being sent to wayland.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7849>

2024-11-14 10:59:05 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* sys/v4l2codecs/gstv4l2decoder.c:
	  v4l2codecs: Use new helpers for DRM handling
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7849>

2024-11-14 09:46:28 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* sys/v4l2codecs/gstv4l2decoder.c:
	  v4l2codecs: Fix caps string leak in v4l2codecs
	  Unlike gst_video_format_to_string(), gst_video_dma_drm_fourcc_to_string()
	  return a freshly allocated string which needs to be free.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7849>

2024-11-08 16:22:16 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* sys/v4l2codecs/gstv4l2decoder.c:
	  v4l2codecs: decoder: Fixed unset dimension in caps
	  When the driver does not implement ENUM_FRMESIZE for some specific
	  formats, the caps limiting the sizes may endup empty, which results in
	  assuming the driver can scale to any sizes.
	  Ensure that the original size is in the caps to prevent this assumption.
	  This happens with Hantro drive, since it only reply to that call if the
	  format is postprocessed.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7849>

2024-11-12 12:09:46 +0100  Benjamin Gaignard <benjamin.gaignard@collabora.com>

	* sys/v4l2codecs/gstv4l2decoder.c:
	  v4l2codecs: Use drm modifier to build caps
	  Do not only use drm fourcc to build drm-format but also
	  include the format modifier.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7849>

2024-11-07 13:06:03 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* ext/gtk/gstgtkwaylandsink.c:
	* ext/wayland/gstwaylandsink.c:
	  waylandsink: Properly handle unrecoverable errors
	  Allocation failures cannot be recovered and should lead to an error
	  being posted on the bus. Otherwise the pipeline will just stall.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7903>

2024-11-07 12:49:10 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* ext/gtk/gstgtkwaylandsink.c:
	* ext/wayland/gstwaylandsink.c:
	  waylandsink: Do not offer SHM pool when DMABuf is negotiated
	  Pools are expected to produce DMABuf when the caps are negotiated with
	  the associated caps feature. For that reason, avoid sharing the SHM pool
	  in this case.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7903>

2024-11-18 11:00:36 +0100  Stéphane Cerveau <scerveau@igalia.com>

	* ext/zbar/gstzbar.c:
	  zbar: fix documentation
	  Fix some typos and markdown cleanup.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7914>

2024-11-18 10:59:51 +0100  Stéphane Cerveau <scerveau@igalia.com>

	* ext/zxing/gstzxing.cpp:
	  zxing: update documentation
	  Fix some typos and markdown cleanup.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7914>

2024-11-13 17:00:17 +1100  Matthew Waters <matthew@centricular.com>

	* sys/uvcgadget/configfs.c:
	  uvcgadget: silence a maybe-uninitialized warning
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7875>

2024-11-13 16:59:46 +1100  Matthew Waters <matthew@centricular.com>

	* ext/fdkaac/gstfdkaacenc.c:
	  fdkaacenc: silence a maybe-unitialized warning
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7875>

2024-11-13 16:58:41 +1100  Matthew Waters <matthew@centricular.com>

	* gst/rist/gstristrtxsend.c:
	  ristrtxsend: silence a maybe-uninitialized warning
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7875>

2024-11-13 16:58:15 +1100  Matthew Waters <matthew@centricular.com>

	* ext/codec2json/gstav12json.c:
	  av12json: silence a maybe-unitialized warning
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7875>

2024-11-13 16:12:41 +1100  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/vulkan/gstvkvideoutils.c:
	  vulkan/videoutils: silence some maybe-unitialized warnings
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7875>

2024-11-16 13:20:16 +0800  He Junyan <junyan.he@intel.com>

	* docs/plugins/gst_plugins_cache.json:
	  Doc: Update the kmssink caps after adding DMA support
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5174>

2024-11-08 13:43:53 +0100  Jakub Adam <jakub.adam@collabora.com>

	* sys/kms/gstkmsbufferpool.c:
	  kmsbufferpool: Accept DMA_DRM caps in the config
	  Only linear modifier is supported due to the dumb allocator's
	  limitation.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5174>

2024-09-07 00:43:37 +0200  Jakub Adam <jakub.adam@collabora.com>

	* sys/kms/gstkmssink.c:
	  kmssink: ensure we have a valid vinfo_drm after set_caps
	  Consequently drop the check in import_dmabuf
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5174>

2024-08-29 20:58:04 +0200  Jakub Adam <jakub.adam@collabora.com>

	* sys/kms/gstkmssink.c:
	  kmssink: enumerate drm formats when IN_FORMATS not present
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5174>

2024-05-24 12:26:20 +0800  He Junyan <junyan.he@intel.com>

	* sys/kms/gstkmssink.c:
	  kmssink: Do not provide DMA buffer pool for non-linear caps
	  The dumb allocator does not support modifiers, so we can not allocate
	  non-linear buffers by ourself.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5174>

2023-08-11 18:43:57 +0800  He Junyan <junyan.he@intel.com>

	* sys/kms/gstkmssink.c:
	* sys/kms/gstkmssink.h:
	  kmssink: Handle the DMA buffer importing correctly
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5174>

2023-08-11 18:37:18 +0800  He Junyan <junyan.he@intel.com>

	* sys/kms/gstkmssink.c:
	* sys/kms/gstkmsutils.c:
	  kmssink: Add DMA kind caps into sink caps
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5174>

2023-08-11 18:32:45 +0800  He Junyan <junyan.he@intel.com>

	* sys/kms/gstkmssink.c:
	  kmssink: Add helper functions to create DMA and raw caps
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5174>

2023-08-11 18:28:49 +0800  He Junyan <junyan.he@intel.com>

	* sys/kms/gstkmssink.c:
	  kmssink: Add a helper function to collect formats and modifiers
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5174>

2023-08-11 18:02:42 +0800  He Junyan <junyan.he@intel.com>

	* sys/kms/gstkmsallocator.c:
	* sys/kms/gstkmsallocator.h:
	* sys/kms/gstkmssink.c:
	  kmssink: Add modifier to gst_kms_allocator_dmabuf_import
	  Use the new drmModeAddFB2WithModifiers() API for binding the
	  non-linear BO.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5174>

2024-11-15 11:46:14 -0300  Thibault Saunier <tsaunier@igalia.com>

	* meson.build:
	  meson: Bump minimum version to 1.3
	  Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/4025
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7899>

2024-11-12 12:12:17 +0100  Benjamin Gaignard <benjamin.gaignard@collabora.com>

	* sys/v4l2codecs/gstv4l2decoder.c:
	  v4l2codecs: Test ioctl return value and errno
	  Fix error testing when using V4L2_FMTDESC_FLAG_ENUM_ALL by using
	  both errno and the return value.
	  Fixes !7686 (merged)
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7873>

2024-11-06 12:47:32 +0100  Stéphane Cerveau <scerveau@igalia.com>

	* ext/vulkan/vkdownload.c:
	* ext/vulkan/vkh264dec.c:
	* ext/vulkan/vkh265dec.c:
	* ext/vulkan/vksink.c:
	* ext/vulkan/vkupload.c:
	* gst-libs/gst/vulkan/gstvkutils.c:
	* gst-libs/gst/vulkan/gstvkutils.h:
	* gst-libs/gst/vulkan/gstvkvideofilter.c:
	* sys/applemedia/vtdec.c:
	  vkutils: add gst_vulkan_ensure_element_device
	  In order to keep the same device across
	  the elements in the pipeline, use either the device id
	  to create the device or get the device from the context
	  set by the peer elements.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7843>

2024-11-08 10:21:19 +0100  Stéphane Cerveau <scerveau@igalia.com>

	* gst-libs/gst/vulkan/gstvkinstance.c:
	* gst-libs/gst/vulkan/gstvkinstance.h:
	  vkinstance: add gst_vulkan_instance_create_device_with_index
	  This method will allow to create a device with its device_index
	  preparing the support of multiple device.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7843>

2024-11-11 18:24:37 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/codecparsers/gsth264parser.c:
	* gst-libs/gst/codecparsers/gsth265parser.c:
	* gst-libs/gst/codecparsers/gstjpegparser.c:
	* gst-libs/gst/codecparsers/nalutils.c:
	* gst-libs/gst/codecparsers/nalutils.h:
	  codecparser: remove unused headers
	  Mainly <string.h> but also <stdlib.h> in jpegparse
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7869>

2024-11-11 17:47:48 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/codecparsers/gsth265bitwriter.c:
	* gst-libs/gst/codecparsers/gsth265parser.c:
	* gst-libs/gst/codecparsers/meson.build:
	* gst-libs/gst/codecparsers/nalutils.h:
	  codecparsers: avoid libc math library
	  Instead of the libc ceil() and pow() machinery for double types, since the
	  library uses it for unsigned integers use a simple math function for for ceil
	  division and bit left shift for integer power of two.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7869>

2024-10-09 13:47:41 -0400  Stéphane Cerveau <scerveau@igalia.com>

	* gst-libs/gst/codecparsers/gsth265bitwriter.c:
	* gst-libs/gst/codecparsers/gsth265parser.c:
	  h265parser/bitwriter: add some comments for ceil_log2 use
	  Validate that the length of field must be calculate with
	  ceil_logs2 and not bit storage.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7429>

2024-10-09 13:46:17 -0400  Stéphane Cerveau <scerveau@igalia.com>

	* gst-libs/gst/codecparsers/gsth264parser.c:
	  h264parse: use of ceil_log2 instead of bit_storage
	  According to the specification:
	  The length of the slice_group_id[ i ] syntax element is Ceil( Log2(
	  num_slice_groups_minus1 + 1 ) ) bits
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7429>

2021-07-01 13:09:04 +0200  Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>

	* gst/mpegtsmux/gstbasetsmux.c:
	  mpegtsmux: Mux timestampless buffers immediately
	  Instead of leaving them queued indefinitely, or until we're timing out
	  and it's the only buffer queued.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7870>

2024-11-12 11:01:03 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst/mpegtsmux/gstbasetsmux.c:
	  mpegtsmux: Don't time out in live mode if no timestamped next buffer is available
	  The muxer can only advance the time if it has a timestamped buffer that can be
	  output, otherwise it will just busy-wait and use up a lot of CPU.
	  Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3912
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7870>

2024-11-14 10:37:05 +0100  Stéphane Cerveau <scerveau@igalia.com>

	* docs/plugins/gst_plugins_cache.json:
	* ext/zxing/gstzxing.cpp:
	* ext/zxing/gstzxingplugin.c:
	  gst_plugins-cache: add zxing plugin
	  update documentation
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7887>

2024-11-12 09:01:49 +0100  Edward Hervey <edward@centricular.com>

	* gst/mpegtsmux/gstbasetsmux.c:
	  mpegtsmux: Post error on the bus if no mapping is found
	  This is more useful/visible
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7707>

2024-10-22 08:42:17 +0200  Edward Hervey <edward@centricular.com>

	* docs/plugins/gst_plugins_cache.json:
	* gst/mpegtsdemux/gstmpegdesc.h:
	* gst/mpegtsdemux/tsdemux.c:
	* gst/mpegtsmux/gstbasetsmux.c:
	* gst/mpegtsmux/gstbasetsmux.h:
	* gst/mpegtsmux/gstmpegtsmux.c:
	* gst/mpegtsmux/tsmux/tsmuxstream.c:
	* gst/mpegtsmux/tsmux/tsmuxstream.h:
	  mpegts: Add custom mapping for vp9
	  This is a custom mapping. There isn't much needed apart from that to store vp9
	  in mpeg-ts since the bitstream is self contained.
	  Since there are no official specification we don't want people to be mistaken in
	  believing that. Therefore that mapping is only used in the muxer if the (new)
	  property `enable-custom-mappings` is set to TRUE.
	  * The MPEG-TS Stream Type is Private Data (0x6) with the registration descriptor
	  set to `VP09`.
	  * The Access Unit are VP9 frames stored in PES packets
	  * As there is no emulation prevention byte in VP9 elementary stream, the can be
	  misdetection of PES start code. To avoid this, the start of a PES packet must
	  be signalled using the Payload Unit Start Indicator in the transport packet
	  header
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7707>

2024-11-08 10:18:09 -0300  Thibault Saunier <tsaunier@igalia.com>

	* sys/nvcodec/gstnvdecoder.cpp:
	  nvcodec: gl now supports Y444_16LE
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7858>

2024-11-12 02:06:39 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12swapchainsink.cpp:
	  d3d12swapchainsink: Fix error when the sink is reused
	  Release backbuffer just before releasing swapchain
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7867>

2024-11-05 14:34:03 +0100  Théo Maillart <tmaillart@freebox.fr>

	* gst/videoparsers/gstmpegvideoparse.c:
	  mpegvideoparse: do not set delta unit flag on unknown frame type
	  When encoding an image to mpeg2 video, with something like:
	  gst-launch-1.0 encodebin name=e profile=mpegpsmux:video/mpeg,mpegversion=2,systemstream=false ! \
	  filesink location=sample.mpg filesrc num-buffers=1 blocksize=$(stat -c%s sample.png) \
	  location=sample/dts.png ! pngdec ! e.
	  The only frame's type is set to an invalid value 0
	  The consequence is that mpegvideoparse sets the delta unit flag on the buffer because
	  it is not an I frame, then decodebin3 drops this only frame because the delta
	  unit flag is set and the decoder receives eos before it was able to receive any
	  encoded data
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7832>

2024-11-11 17:44:22 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/codecparsers/gsth264bitwriter.c:
	* gst-libs/gst/codecparsers/gsth265bitwriter.c:
	  h26Xbitwriter: use quote form directive for internal header
	  Since nalutils.h is not installed it should be included for the local path.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7868>

2024-10-11 11:57:15 -0400  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/codecparsers/gsth264bitwriter.c:
	* gst-libs/gst/codecparsers/gsth264bitwriter.h:
	* tests/check/libs/h264bitwriter.c:
	  h264bitwriter: implement gst_h264_bit_writer_filler()
	  This is required for vulkan encoder since it can only write slides after aligned
	  offsets.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7785>

2024-11-08 19:05:41 -0500  Sid Sethupathi <sid.sethupathi@gmail.com>

	* ext/gs/README.md:
	  gs: update building README
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7860>

2023-10-28 13:01:58 +0200  Diego Nieto <diego.nieto.m@outlook.com>

	* tests/check/elements/jifmux.c:
	  exiftag: handle GST_TAG_CAPTURING_LIGHT_SOURCE tag
	  This exif tag allows to specify the different light conditions
	  when taking a picture. This tag is defined in:
	  https://exiftool.org/TagNames/EXIF.html#LightSource
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5571>

2024-09-17 11:47:47 +0300  Sebastian Dröge <sebastian@centricular.com>

	* ext/closedcaption/gstccconverter.c:
	* tests/check/elements/ccconverter.c:
	  ccconverter: Don't override in_fps_entry when trying to take output
	  This allows to handle CDP streams where the framerate is not provided by the
	  caps and generally gives preference to the framerate inside the CDP packets over
	  the one in the caps.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7532>

2024-11-04 19:30:02 -0500  Olivier Crête <olivier.crete@collabora.com>

	* gst-libs/gst/analytics/gsttensor.h:
	* gst-libs/gst/analytics/gsttensormeta.c:
	* gst-libs/gst/analytics/gsttensormeta.h:
	* gst/tensordecoders/gstssdobjectdetector.c:
	  tensormeta: Add APIs to create and access GstTensorMeta contents
	  Also document those APIs better.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6000>

2024-11-04 19:29:43 -0500  Olivier Crête <olivier.crete@collabora.com>

	* gst-libs/gst/analytics/gsttensor.c:
	* gst-libs/gst/analytics/gsttensor.h:
	* gst-libs/gst/analytics/gsttensormeta.c:
	  tensor: Add APIs to create and access GstTensor contents
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6000>

2024-11-04 17:04:28 -0500  Olivier Crête <olivier.crete@collabora.com>

	* ext/onnx/gstonnxclient.cpp:
	* ext/onnx/gstonnxinference.cpp:
	* gst-libs/gst/analytics/gsttensor.h:
	* gst/tensordecoders/gstssdobjectdetector.c:
	  tensors: Use full GstTensorDataType type name in type members
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6000>

2024-10-31 16:03:31 -0400  Olivier Crête <olivier.crete@collabora.com>

	* ext/onnx/gstonnxclient.cpp:
	* gst-libs/gst/analytics/gsttensormeta.c:
	* gst-libs/gst/analytics/gsttensormeta.h:
	  analytics: Add APIs to add or get a GstTensorMeta
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6000>

2024-09-24 10:53:05 -0400  Daniel Morin <daniel.morin@collabora.com>

	* ext/onnx/gstonnxclient.cpp:
	* gst-libs/gst/analytics/gsttensor.c:
	* gst-libs/gst/analytics/gsttensor.h:
	  analytics: Adding abstraction on tensor dims
	  Tensor can be row or col major, but it's also possible that the order by we need
	  to read the tensor with more than two dimension need to be described. The
	  reserved field in GstTensorDim is there for this purpose. If we need this we
	  can add  GST_TENSOR_DIM_ORDER_INDEXED, and follow an index defining order for
	  each dimension.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6000>

2024-10-17 17:28:24 -0400  Daniel Morin <daniel.morin@collabora.com>

	* ext/onnx/gstonnxclient.cpp:
	* gst-libs/gst/analytics/gsttensor.c:
	* gst-libs/gst/analytics/gsttensor.h:
	* gst-libs/gst/analytics/gsttensormeta.c:
	* gst-libs/gst/analytics/gsttensormeta.h:
	* gst-libs/gst/analytics/meson.build:
	* gst/tensordecoders/gstssdobjectdetector.c:
	  analytics: Make GstTensor more suitable for inline allocation
	  GstTensor contained two fields (data, dims) that were dynamicallay allocated. For
	  data it's for a GstBuffer and we have pool for efficient memory management. For
	  dims it's a small array to store the dimension of the tensor. The dims field
	  can be allocated inplace by moving it at the end of the structure. This will
	  allow a better memory management when GstTensor is stored in an analytics meta
	  which will take advantage of the _clear interface for re-use.
	  - New api to allocate and free GstTensor
	  To continue to support use-cases where GstTensor is not stored in an
	  analytics-meta we provide gst_tensor_alloc, gst_tensor_alloc_n and
	  gst_tensor_free that will facilitate memory management.
	  - Make GstTensor a boxed type
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6000>

2024-07-17 14:39:42 -0400  Daniel Morin <daniel.morin@collabora.com>

	* ext/onnx/gstonnxclient.cpp:
	* ext/onnx/gstonnxinference.cpp:
	* gst-libs/gst/analytics/gsttensor.h:
	* gst-libs/gst/analytics/gsttensormeta.h:
	  analytics: Move batch to GstTensor
	  - batch_size is required to interpret the tensor depending on the tensor format
	  the batch are not necessarily memory plane therefore it's preferable to keep it
	  inside GstTensor.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6000>

2024-10-17 17:27:37 -0400  Daniel Morin <daniel.morin@collabora.com>

	* ext/onnx/gstonnxinference.cpp:
	* gst-libs/gst/analytics/gsttensor.h:
	* gst-libs/gst/analytics/gsttensormeta.h:
	* gst-libs/gst/analytics/meson.build:
	  analytics: Decouple GstTensor from GstTensorMeta
	  - To support transporting tensor as GstMeta, Analytics-Meta and Media we need to
	  decouple GstTensor from GstTensorMeta.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6000>

2024-01-25 01:09:13 -0500  Olivier Crête <olivier.crete@collabora.com>

	* docs/plugins/gst_plugins_cache.json:
	* ext/onnx/gstonnx.c:
	* ext/onnx/meson.build:
	* gst/meson.build:
	* gst/tensordecoders/gstssdobjectdetector.c:
	* gst/tensordecoders/gstssdobjectdetector.h:
	* gst/tensordecoders/gsttensordecoders.c:
	* gst/tensordecoders/meson.build:
	* meson_options.txt:
	  tensordecoders: Move decoder out of the ONNX plugin
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6000>

2024-01-24 21:12:17 -0500  Olivier Crête <olivier.crete@collabora.com>

	* ext/onnx/decoders/gstssdobjectdetector.c:
	* ext/onnx/gstonnx.c:
	* ext/onnx/gstonnxclient.h:
	* ext/onnx/meson.build:
	* gst-libs/gst/analytics/analytics.h:
	* gst-libs/gst/analytics/gsttensormeta.c:
	* gst-libs/gst/analytics/gsttensormeta.h:
	* gst-libs/gst/analytics/meson.build:
	  analytics: Move tensor meta to the analytics library
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6000>

2024-11-06 16:35:10 +0100  wbartel <wilhelm.bartel@streamonkey.de>

	* ext/webrtc/gstwebrtcbin.c:
	  webrtcbin: fix malformed docs
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7847>

2024-11-06 12:05:25 +0100  Adrien De Coninck <a.deconinck@intopix.com>

	* gst/mpegtsdemux/tsdemux.c:
	  tsdemux: validate frat before setting framerate in caps
	  From JPEG-XS part3 : "If the frame rate is unknown, the frat parameter is 0."
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7836>

2024-11-05 18:04:44 +0100  Adrien De Coninck <a.deconinck@intopix.com>

	* gst/mpegtsdemux/tsdemux.c:
	  tsdemux: use JXS_video_descriptor "frat" to set caps "framerate"
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7836>

2024-11-05 14:23:05 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst/timecode/gsttimecodestamper.c:
	  timecodestamper: Don't fail the latency query in LTC mode if we have no framerate
	  Only in LTC mode we introduce additional latency that is depending on only on a
	  property and not on the framerate, so waiting for the framerate is not necessary.
	  In all other modes no latency is introduced at all and the latency query can
	  simply be proxied.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7831>

2024-03-16 00:38:58 +0200  Mart Raudsepp <mart.raudsepp@globalm.media>

	* docs/plugins/gst_plugins_cache.json:
	* gst/mpegtsmux/gstbasetsmux.c:
	* gst/mpegtsmux/gstmpegtsmux.c:
	* gst/mpegtsmux/tsmux/tsmuxstream.c:
	* gst/mpegtsmux/tsmux/tsmuxstream.h:
	  mpegtsmux: Add support for SMPTE 302M (audio/x-smpte-302m)
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6530>

2024-11-03 17:30:40 +0000  Tim-Philipp Müller <tim@centricular.com>

	* docs/meson.build:
	  meson: bail out earlier in docs subdir if docs are disabled
	  The gst_dep.get_variable('libexecdir') may fail in some scenarios
	  (e.g. building a module alone inside an uninstalled devenv) and
	  it shouldn't really be reached in the first place if docs are
	  disabled via options.
	  Also to avoid confusing meson messages when cross-compiling or
	  doing a static build.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7818>

2024-11-03 10:42:33 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12swapchainsink.cpp:
	  d3d12swapchainsink: Add support for GstColorBalance interface
	  ... and adding hue, saturation, brightness, and contrast properties
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7817>

2024-11-03 09:20:24 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12convert.cpp:
	* sys/d3d12/gstd3d12convert.h:
	  d3d12convert: Add support for GstColorBalance interface
	  ... and adding hue, saturation, brightness, and contrast properties
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7817>

2024-11-03 06:36:32 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12convert.cpp:
	* sys/d3d12/gstd3d12videosink.cpp:
	* sys/d3d12/gstd3d12window.cpp:
	* sys/d3d12/gstd3d12window.h:
	  d3d12videosink: Add support for GstColorBalance interface
	  ... and adding hue, saturation, brightness, and contrast properties
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7817>

2024-11-03 04:00:25 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d11/gstd3d11converter.cpp:
	* gst-libs/gst/d3d12/gstd3d12converter-builder.cpp:
	* gst-libs/gst/d3d12/gstd3d12converter-builder.h:
	* gst-libs/gst/d3d12/gstd3d12converter-private.h:
	* gst-libs/gst/d3d12/gstd3d12converter.cpp:
	* gst-libs/gst/d3d12/gstd3d12converter.h:
	* gst-libs/gst/d3d12/gstd3d12device.cpp:
	* gst-libs/gst/d3dshader/converter-hlsl/PSMain_converter.hlsl:
	* gst-libs/gst/d3dshader/gstd3dshadercache.cpp:
	* gst-libs/gst/d3dshader/gstd3dshadercache.h:
	  d3d12converter: Add support for colorbalance
	  Adding support for hue, saturation, brightness, and contrast adjustment
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7817>

2024-11-03 17:37:03 +0000  Tim-Philipp Müller <tim@centricular.com>

	* po/de.po:
	* po/es.po:
	* po/hr.po:
	* po/ro.po:
	* po/sl.po:
	* po/sv.po:
	  gst-plugins-bad: update translations
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7819>

2024-11-02 03:18:26 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d11/gstd3d11converter.cpp:
	  d3d11converter: Fix constant buffer update
	  Fixing regression of
	  https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6434
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7814>

2024-08-06 18:09:58 +0200  Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>

	* gst/videoparsers/gsth264parse.c:
	* gst/videoparsers/gsth264parse.h:
	  h264parse: Fix pic_timing SEI replacement
	  The calculated position was off. I'm not sure of the exact cause;
	  possibly because we're in AU-aligned byte-stream mode, which means
	  `transform` is true.
	  Replacing the math that calculates the NALU positions with code more
	  similar to what is already in use for `idr_pos` seems to have fixed it.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7318>

2024-07-30 14:31:45 +0200  Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>

	* gst/videoparsers/gsth264parse.c:
	* gst/videoparsers/gsth265parse.c:
	  h264parse, h265parse: Support drop frame codes with counting_type 6
	  Tested with an Ateme Kyrion CM5000, which uses 6 when it drops 4 frames
	  from the code for 1080p@59.94.
	  Apply the same change to h265parse, with reference to the spec.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7316>

2024-10-27 04:26:46 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12videosink.cpp:
	* sys/d3d12/gstd3d12window-win32.cpp:
	* sys/d3d12/gstd3d12window.cpp:
	* sys/d3d12/gstd3d12window.h:
	  d3d12videosink: Add support for mouse scroll events
	  Handle WM_MOUSEHWHEEL and WM_MOUSEWHEEL events
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7774>

2024-10-29 09:49:50 +0100  Edward Hervey <edward@centricular.com>

	* gst/mpegtsdemux/tsdemux.c:
	* gst/mpegtsmux/gstbasetsmux.c:
	  mpegts: Fix bit-depth storage for jpeg-xs
	  As per ISO/IEC 21122-3 2019:
	  > Sample_Bitdepth code shall specify directly the bitdepth of the components
	  minus 1
	  Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3945
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7775>

2024-10-29 09:43:11 +0100  Edward Hervey <edward@centricular.com>

	* gst-libs/gst/mpegts/gstmpegtsdescriptor.c:
	  mpegts: Fix JPEG-XS Extension Descriptor handling
	  The initial specification for the descriptor (from H.222.0 06/21) was wrong and
	  introduced duplicate descriptor_tag/descriptor_length field.
	  This was later corrected in H.222.0 (2021) Amendment 1 (12/22)
	  Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3945
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7775>

2024-10-29 11:29:05 +0100  Edward Hervey <edward@centricular.com>

	* ext/srt/gstsrtobject.c:
	  srt: Don't attempt to reconnect on authentication failures
	  This is a fatal issue which can't be recovered
	  Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1550
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7776>

2024-10-22 22:29:51 +1100  Jan Schmidt <jan@centricular.com>

	* sys/androidmedia/gstamc-constants.h:
	* sys/androidmedia/gstamc.c:
	  androidmedia: Add more pixel format mappings
	  Add missing pixel format constants, and mappings for
	  P010, packed variants of 420 and RGBA layouts to GStreamer
	  buffer formats. This fixes problems with android decoders
	  refusing to output raw video frames with decoders that
	  announce support for these common pixel formats and
	  only allowing the 'hardware surfaces output' path.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7743>

2024-10-22 21:28:04 +1100  Jan Schmidt <jan@centricular.com>

	* sys/androidmedia/gstamc-constants.h:
	* sys/androidmedia/gstamc.c:
	  androidmedia: Add extra H.26[45] profile mappings
	  Update the android headers and add missing mappings for H.264/H.265
	  profiles that have been added in newer android releases
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7743>

2024-10-28 14:37:04 +0100  Mathieu Duponchelle <mathieu@centricular.com>

	* docs/plugins/gst_plugins_cache.json:
	* ext/closedcaption/gstcea608mux.c:
	  cea608mux: expose force-live property
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7765>

2024-10-22 18:08:19 +1100  Matthew Waters <matthew@centricular.com>

	* docs/plugins/gst_plugins_cache.json:
	* sys/decklink/gstdecklink.cpp:
	* sys/decklink/gstdecklink.h:
	* sys/decklink/gstdecklinkvideosink.cpp:
	* sys/decklink/gstdecklinkvideosrc.cpp:
	  decklink: reinstate some hardcoded colorimetry handling
	  Needed when we don't yet have an open device and are doing negotiation.
	  colorimetry=bt601 is only actually supported by decklink for PAL and NTSC
	  formats. All other formats use bt709 or above.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7742>

2024-10-22 18:06:46 +1100  Matthew Waters <matthew@centricular.com>

	* sys/decklink/gstdecklink.cpp:
	  decklink: only expose HDR colorimetry if 2020 colorspace is supported
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7742>

2024-10-22 13:23:06 +1100  Matthew Waters <matthew@centricular.com>

	* sys/decklink/gstdecklinkvideosrc.cpp:
	  decklinkvideosrc: ignore HDR metadata consisting of all zeros
	  In some cases decklinkvideosink may produce such stream when the
	  information is unknown.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7742>

2024-10-22 13:20:30 +1100  Matthew Waters <matthew@centricular.com>

	* sys/decklink/gstdecklinkvideosink.cpp:
	  decklinkvideosink: provide default values when HDR metadata is not available
	  Some file format standards don't require mastering-display-info
	  and content-light-level values to be provided.
	  Decklink however requires the static HDR metdata for the PQ transfer
	  function which we may not have.
	  CTA-861-G mentions that in this case, 0 may provided as an 'unknown'
	  value which is what we use here.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7742>

2024-10-22 13:18:58 +1100  Matthew Waters <matthew@centricular.com>

	* sys/decklink/gstdecklinkvideosink.cpp:
	  decklinkvideosink: fix incorrect EOTF value
	  Checking for mastering-display-info twice is incorrect.  One of the
	  checks should be for the content-light-level.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7742>

2024-09-24 13:55:39 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* docs/plugins/gst_plugins_cache.json:
	* gst-libs/gst/wayland/gstwlvideoformat.c:
	* gst-libs/gst/wayland/gstwlvideoformat.h:
	  wayland: Add NV15 support
	  This format, which maps to NV12_10LE40 in GStreamer is produced by Rockchip
	  video decoders when decoding 4:2:0 10 bit content.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7569>

2024-10-22 23:41:13 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/codecs/gstvp8decoder.c:
	  vp8decoder: Fix resolution change handling
	  Do not store resolution in set_format() so that resolution change
	  can be detected on keyframe as intended.
	  Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3928
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7710>

2024-10-25 16:37:15 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst/rtmp2/gstrtmp2sink.c:
	  rtmp2sink: Initialize base_ts / last_ts with the actual first observed timestamp
	  Initializing it with zero can falsely trigger the overflow / underflow detection
	  code if the first observed timestamp is a big integer.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7745>

2024-10-28 18:58:48 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* sys/va/gstvaav1enc.c:
	* sys/va/gstvavp9enc.c:
	  va{av1,vp9}enc: fix return value
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7773>

2024-05-27 09:45:00 -0400  Xavier Claessens <xavier.claessens@collabora.com>

	* tests/check/elements/unixfd.c:
	  Revert "unixfd: disable flaky test_unixfd_segment for now"
	  This reverts commit 06cd4e24578caf1e16e364eb56edbbb065b8533e.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6765>

2024-04-29 14:30:49 -0400  Xavier Claessens <xavier.claessens@collabora.com>

	* docs/plugins/gst_plugins_cache.json:
	* gst/unixfd/gstunixfdsink.c:
	* tests/check/elements/unixfd.c:
	  unixfd: Fix racy unit test by adding wait-for-connection property
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6765>

2024-10-26 11:42:48 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/play/gstplay.c:
	* gst-libs/gst/play/gstplay.h:
	  play: Improve play message API inconsistencies
	  * Consistently name parse functions according to their message type and
	  deprecate the misnamed ones,
	  * Add missing parse functions,
	  * Check for the correct message type when parsing
	  * Use correct field name for warning message details
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7754>

2024-10-25 11:10:38 -0400  Julian Bouzas <julian.bouzas@collabora.com>

	* ext/lcevcencoder/gstlcevch264enc.c:
	  lcevch264enc: Set 'byte-stream' format and 'au' alignment in output caps
	  This is because the LCEVC EIL SDK from V-Nova always outputs encoded video in
	  that format. This also avoids using the parser in some scenarios.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7750>

2024-10-21 13:32:03 +0200  Pablo García <pgarcia@fluendo.com>

	* sys/d3d11/gstd3d11videosink.cpp:
	* sys/d3d11/gstd3d11window.cpp:
	* sys/d3d11/gstd3d11window.h:
	* sys/d3d11/gstd3d11window_win32.cpp:
	  d3d11: implement mouse wheel events
	  Adittion of d3d11 support for WM_MOUSEWHEEL and WM_MOUSEHWHEEL events,
	  which are triggered when the mouse is scrolled vertically or horizontally
	  respectively.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7705>

2024-09-21 19:16:29 +0300  Jordan Petridis <jordan@centricular.com>

	* tests/check/gst-plugins-bad.supp:
	  ci: add suppressions for OpenSSL false positives
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7455>

2024-09-21 19:01:55 +0300  Jordan Petridis <jordan@centricular.com>

	* tests/check/gst-plugins-bad.supp:
	  gst-plugins-bad.supp: Remvoe gssdp leaks that have been fixed
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7455>

2024-09-20 11:02:42 +0200  Edward Hervey <edward@centricular.com>

	* sys/va/gstvacompositor.c:
	  vacompositor: Add since marker
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7455>

2024-09-04 17:57:08 +0200  Edward Hervey <edward@centricular.com>

	* gst-libs/gst/codecparsers/gstav1parser.c:
	* gst-libs/gst/codecparsers/gstav1parser.h:
	* gst-libs/gst/codecparsers/gsth264parser.c:
	* gst-libs/gst/codecparsers/gsth265parser.c:
	  codecparsers: Fix gtk-doc
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7455>

2024-09-04 10:11:40 +0200  Edward Hervey <edward@centricular.com>

	* docs/plugins/gst_plugins_cache.json:
	* ext/isac/gstisacenc.c:
	* ext/ldac/gstldacenc.c:
	* ext/svtav1/gstsvtav1enc.c:
	* ext/svthevcenc/gstsvthevcenc.c:
	  bad: Mark more types as plugin API
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7455>

2024-09-03 15:00:39 +0200  Edward Hervey <edward@centricular.com>

	* gst-libs/gst/codecparsers/gstav1parser.h:
	  docs: Fix av1parser symbols
	  Don't use un-named structures
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7455>

2024-06-28 14:24:54 +0200  Edward Hervey <edward@centricular.com>

	* docs/plugins/gst_plugins_cache.json:
	  plugins_cache: Update for fedora 40 build
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7455>

2024-09-21 18:11:20 +0300  Jordan Petridis <jordan@centricular.com>

	* docs/plugins/gst_plugins_cache.json:
	* sys/va/gstvafilter.c:
	  gstvafilter: Add back missing property comments
	  In b1cda4439bc9170b4af60ab464471f58ea770f58 the property comments
	  were removed, even though these are marked as public api.
	  Add back the comments, and a Since version for interpolation-method.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7455>

2024-10-24 09:17:54 +0200  Edward Hervey <edward@centricular.com>

	* gst-libs/gst/vulkan/gstvkdevice.c:
	* gst-libs/gst/vulkan/gstvkdisplay.c:
	* gst-libs/gst/vulkan/gstvktrash.c:
	  all: Fix closure annotations
	  This was misused almost everywhere.
	  See
	  https://gi.readthedocs.io/en/latest/annotations/giannotations.html#support-for-gobject-closures
	  and: https://www.bassi.io/articles/2023/02/20/bindable-api-2023/
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7725>

2024-10-15 16:07:42 +0200  Diego Nieto <diego.nieto.m@outlook.com>

	* gst/debugutils/gstvideocodectestsink.c:
	  debugutils: videocodectestsink: support GRAY8 and GRAY10_LE{16,32}
	  Add support for:
	  * GST_VIDEO_FORMAT_GRAY8
	  * GST_VIDEO_FORMAT_GRAY10_LE16
	  * GST_VIDEO_FORMAT_GRAY10_LE32
	  These formats are used by Fraunhofer VVC encoder and decoder.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7706>

2024-10-21 11:50:23 +0200  Carlos Falgueras García <cfalgueras@fluendo.com>

	* docs/plugins/gst_plugins_cache.json:
	  video: Add GRAY10_LE16 support
	  This adds a 10-bit variant of grayscale packed into 16 bits little-endian
	  words. The MSB 6 bits are padding and should be ignored. This format is
	  used by Fraunhofer VVC encoder and decoder libraries.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7706>

2024-10-23 14:28:30 +0200  Peter Stensson <petest@axis.com>

	* gst/codectimestamper/gstcodectimestamper.c:
	* tests/check/elements/h264timestamper.c:
	  codectimestamper: Fix gint wraparound in pts_compare_func
	  The diff between compared timestamps might be outside the gint range
	  resulting in wrong sorting results. This patch corrects that by
	  comparing the timestamps and then returning -1, 0 or 1 depending on the
	  result.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7726>

2024-10-24 14:40:23 +0200  Andoni Morales Alastruey <ylatuya@gmail.com>

	* sys/applemedia/vtdec.c:
	  vtdec: add support for level 6 6.1 and 6.2
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7729>

2024-10-22 09:13:06 -0600  Jordan Yelloz <jordan.yelloz@collabora.com>

	* gst/mpegtsmux/tsmux/tsmux.c:
	  mpegtsmux: Schedule PMT update on stream removal
	  Following the behavior of tsmux_program_add_stream(), this ensures that a PMT
	  update will also be caused by removal of a stream from a program.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7719>

2024-09-30 15:51:04 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst/mpegtsdemux/mpegtspacketizer.c:
	  mpegtsdemux: Handle PTS/DTS wraparound with ignore-pcr=true
	  The wraparound handling code assumes that the PCR gets updated regularly for
	  being able to detect wraparounds. With ignore-pcr=true that was not the case and
	  it stayed initialized at 1h forever.
	  To avoid this problem, update the fake PCR whenever the PTS advanced by more
	  than 5s, and also detect wraparounds in these fake PCRs.
	  Problem can be reproduced with
	  $ gst-launch-1.0 videotestsrc pattern=black ! video/x-raw,framerate=1/5 ! \
	  x264enc speed-preset=ultrafast tune=zerolatency ! mpegtsmux ! \
	  tsdemux ignore-pcr=true ! fakesink
	  which restarts timestamps at 0 after around 26h30m.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7588>

2024-10-24 06:10:13 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d12/gstd3d12device.cpp:
	* gst-libs/gst/d3d12/meson.build:
	* sys/d3d12/gstd3d12decoder.cpp:
	* sys/d3d12/gstd3d12decodercpbpool.cpp:
	* sys/d3d12/gstd3d12mipgen.cpp:
	* sys/d3d12/gstd3d12pluginutils.cpp:
	* sys/d3d12/gstd3d12testsrc.cpp:
	* sys/d3d12/gstd3d12window-win32.cpp:
	* sys/d3d12/meson.build:
	* sys/nvcodec/gstcudainterop_d3d12.cpp:
	  d3d12: Additional fixes for MinGW build
	  Various fixes for GCC build, including actual bug fixes
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7722>

2024-10-23 04:41:23 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d12/meson.build:
	* sys/d3d12/meson.build:
	  d3d12: Fix MinGW build with installed DirectX-Headers
	  Required for cerbero MinGW build
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7154>

2024-10-18 18:09:01 -0400  Daniel Morin <daniel.morin@collabora.com>

	* ext/onnx/decoders/gstssdobjectdetector.c:
	  tensordecoder: Correct Klass, for ssd TD
	  Tensor decoder need a specific klass to be able to auto-plug them
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7698>

2024-10-10 17:24:34 +0200  Jochen Henneberg <jochen@centricular.com>

	* tests/examples/va/vaenc-dynamic-reconfigure.c:
	  examples: va: Added VP8 encoder to dynamic reconfigure
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6959>

2024-10-10 17:22:34 +0200  Jochen Henneberg <jochen@centricular.com>

	* sys/va/gstvavp8enc.c:
	* sys/va/gstvavp8enc.h:
	* sys/va/meson.build:
	* sys/va/plugin.c:
	  va: Added VP8 encoder
	  Fixes #3430
	  Fixes #3576
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6959>

2024-10-10 17:21:25 +0200  Jochen Henneberg <jochen@centricular.com>

	* gst-libs/gst/codecparsers/gstvp8parser.h:
	  codecparsers: vp8parser: Added frame type enums
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6959>

2024-10-21 00:23:41 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12mipmapping.cpp:
	  d3d12mipmapping: Fix debug category
	  Fixing copying-and-pasting mistake
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7701>

2024-06-20 16:52:46 +0200  Benjamin Gaignard <benjamin.gaignard@collabora.com>

	* sys/v4l2codecs/gstv4l2codecav1dec.c:
	* sys/v4l2codecs/gstv4l2codecdevice.h:
	* sys/v4l2codecs/gstv4l2codech264dec.c:
	* sys/v4l2codecs/gstv4l2codech265dec.c:
	* sys/v4l2codecs/gstv4l2codecmpeg2dec.c:
	* sys/v4l2codecs/gstv4l2codecvp8dec.c:
	* sys/v4l2codecs/gstv4l2codecvp9dec.c:
	* sys/v4l2codecs/gstv4l2decoder.c:
	* sys/v4l2codecs/gstv4l2decoder.h:
	  v4l2codecs: dynamically discovers supported pixels formats
	  If the driver allows it, for each stateless decoder,
	  enumerate all the pixels formats and use this list for source
	  pad instead of a static template.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7686>

2024-06-20 16:51:07 +0200  Benjamin Gaignard <benjamin.gaignard@collabora.com>

	* sys/v4l2codecs/linux/videodev2.h:
	  v4l2codecs: Update videodev2.h with V4L2_FMTDESC_FLAG_ENUM_ALL flag
	  Add V4L2_FMTDESC_FLAG_ENUM_ALL flag to support discovering all
	  possible pixel formats.
	  Add V4L2_FMT_FLAG_META_LINE_BASED to not create a hole in flag
	  definition.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7686>

2024-10-11 11:58:37 -0400  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/codecparsers/gsth264bitwriter.c:
	* gst-libs/gst/codecparsers/gsth265bitwriter.c:
	  h26xbitwriter: false have_space if aligning fails on aud
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7655>

2024-10-18 15:10:56 +0200  Edward Hervey <edward@centricular.com>

	* ext/qroverlay/gstbaseqroverlay.c:
	  qrbaseoverlay: Add doc/since
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7692>

2024-10-15 16:44:27 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvaav1enc.c:
	  vaav1enc: Do not enable palette mode by default
	  Palette mode should only be enabled only when we know that the content
	  of the picture is simple. For example, only white letters on black
	  screen in SCC mode. So, by default, we need to disable it.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7668>

2024-09-27 18:01:53 +0200  Benjamin Gaignard <benjamin.gaignard@collabora.com>

	* sys/kms/gstkmssink.c:
	  kmssink: Add IMX-DCSS auto-detection
	  Add IMX DCSS display controller into list of
	  auto-detected modules.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7685>

2024-09-20 13:34:34 +0200  Benjamin Gaignard <benjamin.gaignard@collabora.com>

	* sys/v4l2codecs/gstv4l2codecvp9dec.c:
	  v4l2codecs: vp9: Allow inter-frames resolution change
	  When the stream resolution change it is needed to negotiate
	  a new pools and to update the caps.
	  Resolution change could occurs on a new sequence or a new
	  picture so move resolution change detection code in a common
	  function.
	  For memory allocation reasons, only allows resolution change
	  on non keyframe if the driver support remove buffer feature.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7684>

2024-09-20 10:48:39 +0200  Benjamin Gaignard <benjamin.gaignard@collabora.com>

	* sys/v4l2codecs/gstv4l2decoder.c:
	  codecs:vp9 decoder: Remove unsused info field
	  Video info field is never used so remove it.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7684>

2024-09-20 10:30:01 +0200  Benjamin Gaignard <benjamin.gaignard@collabora.com>

	* gst-libs/gst/codecs/gstvp9decoder.c:
	  codecs: vp9 decoder: Drain output buffers before resolution change
	  We must drain the pending output picture so that subclass can renegotiate
	  the caps. Not doing so while still renegotiating would mean that the
	  subclass would have to do an allocation query before pushing the caps.
	  Pushing the caps now without this would also not work since these caps
	  won't match the pending buffers format.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7684>

2024-05-27 14:28:18 +0200  Benjamin Gaignard <benjamin.gaignard@collabora.com>

	* sys/v4l2codecs/gstv4l2codecallocator.c:
	* sys/v4l2codecs/gstv4l2decoder.c:
	* sys/v4l2codecs/gstv4l2decoder.h:
	  v4l2codecs: Add remove buffers helpers
	  Add helpers function to call VIDIOC_REMOVE_BUFS ioctl.
	  If the driver support this feature buffers are removed from the queue when:
	  - the pool when is detached from the decoded.
	  - the pool is released.
	  - allocation failed.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7684>

2024-05-27 13:52:28 +0200  Benjamin Gaignard <benjamin.gaignard@collabora.com>

	* sys/v4l2codecs/gstv4l2decoder.c:
	  v4l2codecs: Do not register stateless decoder if the driver doesn't support VIDIOC_CREATE_BUFS
	  If the driver can't allocate buffers with VIDIOC_CREATE_BUFS do not
	  register it has stateless decoder.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7684>

2023-06-19 11:09:22 +0200  Benjamin Gaignard <benjamin.gaignard@collabora.com>

	* sys/v4l2codecs/gstv4l2codecallocator.c:
	* sys/v4l2codecs/gstv4l2decoder.c:
	* sys/v4l2codecs/gstv4l2decoder.h:
	  v4l2codecs: Replace VIDIOC_REQBUFS calls by VIDIOC_CREATE_BUFS
	  Use VIDIOC_CREATE_BUFS ioctl to create buffers instead of VIDIOC_REQBUFS
	  because it allows to create buffers also while streaming.
	  To prepare the introduction of VIDIOC_REMOVE_BUFFERS create
	  the buffers one per one instead of a range of them. This way
	  it can, in the futur, fill the holes.
	  gst_v4l2_decoder_request_buffers() is stil used to remove all
	  the buffers of the queue.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7684>

2024-05-07 10:48:05 +0200  Benjamin Gaignard <benjamin.gaignard@collabora.com>

	* sys/v4l2codecs/linux/videodev2.h:
	  v4l2codecs: udpate videodev2.h
	  Update videodev2.h to be aligned with kernel version v6.10
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7684>

2024-10-14 11:26:20 +0200  Emil Ljungdahl <emillj@axis.com>

	* ext/webrtc/gstwebrtcbin.c:
	  webrtcbin: Clean up bin elements when datachannel is removed
	  When a datachannel within a session is removed after proper close,
	  reference to the error_ignore_bin elements of the datachannel
	  appsrc/appsink were left in webrtcbin.
	  This caused the bin-objects to be left and not freed until the whole
	  webrtc session was terminated. Among other things that includes a thread
	  from the appsrc.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7675>

2024-10-09 12:32:34 -0400  Francisco Javier Velázquez-García <francisco.velazquez@appear.net>

	* ext/srt/gstsrtsink.c:
	  srtsink: Add guard for null error when SRT open fails
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7628>

2024-10-09 12:08:10 -0400  Francisco Javier Velázquez-García <francisco.velazquez@appear.net>

	* ext/srt/gstsrtobject.c:
	  srtsink: Register SRT listen callback before binding socket
	  This change https://github.com/Haivision/srt/pull/2683 forces us to
	  call `srt_listen_callback` before `srt_listen`.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7628>

2024-07-08 17:54:03 -0400  Daniel Morin <daniel.morin@collabora.com>

	* tests/check/libs/analyticsmeta.c:
	  test: Adding a test for segmentation analytics-meta
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6026>

2024-07-08 17:52:24 -0400  Daniel Morin <daniel.morin@collabora.com>

	* gst-libs/gst/analytics/analytics.h:
	* gst-libs/gst/analytics/gstanalyticssegmentationmtd.c:
	* gst-libs/gst/analytics/gstanalyticssegmentationmtd.h:
	* gst-libs/gst/analytics/meson.build:
	  analytics: add segmentation analytics-meta
	  - Add a new analytics-meta to store segmentation analysis result.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6026>

2024-07-08 17:47:13 -0400  Daniel Morin <daniel.morin@collabora.com>

	* gst-libs/gst/analytics/gstanalyticsmeta.c:
	* gst-libs/gst/analytics/gstanalyticsmeta.h:
	* gst-libs/gst/analytics/gstanalyticssegmentationmtd.c:
	  analytics: Allow specific analytics-meta (Mtd) to handle their clear
	  - Add mtd_meta_clear to allow specific analytics-meta to handle their clear
	  operation specific to their type.
	  - Clear mtd's attached when analytic-meta is freed. When the buffer where
	  analytics-meta is attached is not from a buffer pool
	  gst_analytics_relation_meta_clear will not be called unless we explicitly call
	  it in _free. This important otherwise _mtd_clear are not called and lead to
	  leak if embedded mtd's allocated memory
	  - Un-ref in transform if it's a copy
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6026>

2024-10-12 21:38:08 +0300  Jordan Petridis <jordan@centricular.com>

	* tests/check/elements/lc3.c:
	  lc3: tests: Zero out the buffer we allocate for the tests
	  Otherwise liblc3 will try to access the uninitialized memory
	  and it makes valgrind very sad.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7657>

2024-10-14 15:31:54 +0200  Stéphane Cerveau <scerveau@igalia.com>

	* gst/videofilters/gstscenechange.c:
	  scenechange: fix memory leak
	  A reference to the last buffer(oldbuf) was kept
	  leading to a memory leak on stop.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7662>

2024-10-11 12:07:27 -0400  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/codecparsers/gstav1bitwriter.c:
	* gst-libs/gst/codecparsers/gsth264bitwriter.c:
	* gst-libs/gst/codecparsers/gsth265bitwriter.c:
	* gst-libs/gst/codecparsers/gstvp9bitwriter.c:
	  codecparsers: add debug categories to bitwriters
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7653>

2024-10-13 23:04:58 +0530  Nirbheek Chauhan <nirbheek@centricular.com>

	* gst-libs/gst/dxva/meson.build:
	  meson: Explicitly use cpp_std=c++11 for dxva
	  dxva is built unconditionally on all platforms where introspection is
	  enabled, so let's fix the build on macOS so that introspection can be
	  enabled there: https://gitlab.freedesktop.org/nirbheek/cerbero/-/jobs/65009118
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7659>

2024-10-12 19:10:46 -0300  L. E. Segovia <amy@centricular.com>

	* gst-libs/gst/winrt/meson.build:
	* meson.build:
	* sys/dwrite/meson.build:
	* sys/wasapi2/meson.build:
	* sys/webview2/meson.build:
	* sys/wic/meson.build:
	  meson: Undefine any WINVER and _WIN32_WINNT entries before redefining them
	  Fixes Cerbero build with MinGW GCC 14, where specifying -DWINVER=0x0601 -DWINVER=0x0A00 is a hard -Werror.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7658>

2024-10-12 19:05:17 -0300  L. E. Segovia <amy@centricular.com>

	* sys/amfcodec/meson.build:
	  meson: amfcodec: fix build with MinGW GCC 14
	  >  ../sys/amfcodec/include/core/PropertyStorage.h:87:50: error: 'virtual void
	  >   amf::AMFPropertyStorage::RemoveObserver(amf::AMFPropertyStorageObserver*)' was hidden [-Werror=overloaded-virtual=]
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7658>

2024-10-12 19:01:46 -0300  L. E. Segovia <amy@centricular.com>

	* gst-libs/gst/d3d12/meson.build:
	* sys/d3d12/meson.build:
	  meson: d3d12: fix build with MinGW GCC 14
	  Also apply the d3d11 fix since both use the same header.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7658>

2024-10-12 19:01:13 -0300  L. E. Segovia <amy@centricular.com>

	* gst-libs/gst/d3d11/meson.build:
	* sys/d3d11/meson.build:
	  meson: d3d11: fix build with MinGW GCC 14
	  In my tests with the new GCC 14 compiler for Cerbero, I got the
	  following error:
	  > In file included from include/directxmath/DirectXMath.h:2275,
	  > from ../gst-libs/gst/d3d11/gstd3d11converter.cpp:46:
	  > include/directxmath/DirectXMathMatrix.inl: In function 'bool
	  >   DirectX::XMMatrixDecompose(XMVECTOR*, XMVECTOR*, XMVECTOR*, FXMMATRIX)':
	  > include/directxmath/DirectXMathMatrix.inl:1161:16:
	  >  error: variable 'aa' set but not used [-Werror=unused-but-set-variable]
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7658>

2024-08-29 20:50:59 +1000  Jan Schmidt <jan@centricular.com>

	* ext/webrtc/gstwebrtcstats.c:
	  webrtcbin: Retrieve RR stats from internal sources
	  Check and generate remote reception statistics from the info stored on
	  internal sources, as they are stored there  when running against newer rtpbin
	  since MR !7424
	  This fixes cases where statistics are incomplete when
	  peers send RR reports from a single remote ssrc, which GStreamer does
	  when bundling is enabled and other RTP stacks may too.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7425>

2024-10-04 23:37:35 +0530  Nirbheek Chauhan <nirbheek@centricular.com>

	* sys/applemedia/vtdec.c:
	  vtdec: Set input formats when we get incomplete caps
	  In some cases, decodebin3 will send us incomplete caps (not containing
	  codec_data), and then a GAP event, which will force a negotiation.
	  This segfaults due to a null pointer deref because self->input_state
	  is NULL.
	  The only possible fix is to avoid negotiating when we get incomplete
	  caps (to avoid re-negotiationg immediately afterwards, which isn't
	  supported by some muxers), but also set as much input state as
	  possible so that a renegotiation triggered by a GAP event can complete
	  successfully.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7634>

2024-10-09 17:19:42 -0400  Xavier Claessens <xclaessens@netflix.com>

	* ext/qroverlay/gstbaseqroverlay.c:
	  qroverlay: Change pixel-size to percent of width or height
	  The size is now expressed in percent of the smallest dimention. 100
	  means the biggest square that fits the render area.
	  Fixes: #3695
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7638>

2024-10-09 17:16:46 -0400  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* tests/check/elements/vapostproc.c:
	  tests: va: fix vapostproc test for DMABuf
	  Now it picks the first format in the template srcpad list and do
	  the convertion. Also the format size is reduced because not all
	  drives support 4K as DMABuf (radeonsi).
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7636>

2024-10-09 16:48:18 -0400  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d12/gstd3d12-private.h:
	* gst-libs/gst/d3d12/gstd3d12.h:
	* gst-libs/gst/d3d12/gstd3d12_fwd.h:
	* gst-libs/gst/d3d12/gstd3d12cmdallocpool.cpp:
	* gst-libs/gst/d3d12/gstd3d12cmdallocpool.h:
	* gst-libs/gst/d3d12/gstd3d12cmdlistpool.cpp:
	* gst-libs/gst/d3d12/gstd3d12cmdlistpool.h:
	* gst-libs/gst/d3d12/gstd3d12cmdqueue-private.h:
	* gst-libs/gst/d3d12/gstd3d12cmdqueue.cpp:
	* gst-libs/gst/d3d12/gstd3d12cmdqueue.h:
	* gst-libs/gst/d3d12/gstd3d12commandallocatorpool.cpp:
	* gst-libs/gst/d3d12/gstd3d12commandallocatorpool.h:
	* gst-libs/gst/d3d12/gstd3d12commandlistpool.cpp:
	* gst-libs/gst/d3d12/gstd3d12commandlistpool.h:
	* gst-libs/gst/d3d12/gstd3d12commandqueue.h:
	* gst-libs/gst/d3d12/gstd3d12converter-pack.cpp:
	* gst-libs/gst/d3d12/gstd3d12converter-unpack.cpp:
	* gst-libs/gst/d3d12/gstd3d12converter.cpp:
	* gst-libs/gst/d3d12/gstd3d12converter.h:
	* gst-libs/gst/d3d12/gstd3d12descheappool.cpp:
	* gst-libs/gst/d3d12/gstd3d12descheappool.h:
	* gst-libs/gst/d3d12/gstd3d12descriptorpool.cpp:
	* gst-libs/gst/d3d12/gstd3d12descriptorpool.h:
	* gst-libs/gst/d3d12/gstd3d12device-private.h:
	* gst-libs/gst/d3d12/gstd3d12device.cpp:
	* gst-libs/gst/d3d12/gstd3d12device.h:
	* gst-libs/gst/d3d12/gstd3d12frame.cpp:
	* gst-libs/gst/d3d12/gstd3d12frame.h:
	* gst-libs/gst/d3d12/meson.build:
	* sys/d3d12/gstd3d12compositor.cpp:
	* sys/d3d12/gstd3d12convert.cpp:
	* sys/d3d12/gstd3d12decoder.cpp:
	* sys/d3d12/gstd3d12dxgicapture.cpp:
	* sys/d3d12/gstd3d12encoder.cpp:
	* sys/d3d12/gstd3d12ipcclient.cpp:
	* sys/d3d12/gstd3d12mipgen.cpp:
	* sys/d3d12/gstd3d12mipmapping.cpp:
	* sys/d3d12/gstd3d12overlaycompositor.cpp:
	* sys/d3d12/gstd3d12swapchainsink.cpp:
	* sys/d3d12/gstd3d12testsrc.cpp:
	* sys/d3d12/gstd3d12window-swapchain-resource.h:
	* sys/d3d12/gstd3d12window-swapchain.cpp:
	* sys/d3d12/gstd3d12window.cpp:
	* sys/dwrite/gstdwriterender_d3d12.cpp:
	  d3d12: Shorten various names
	  Update names of various objects and method to be shorter, for instance
	  GstD3D12CommandAllocator is changed to GstD3D12CmdAlloc.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7642>

2024-10-09 15:46:15 -0400  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d12/gstd3d12fencedatapool.cpp:
	  d3d12: Fix typo in docs
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7642>

2024-10-09 15:19:52 -0400  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d12/gstd3d12commandqueue.cpp:
	  d3d12: Early error out on Signal() fail
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7642>

2024-10-09 20:37:10 +0300  Jordan Petridis <jordan@centricular.com>

	* tests/check/elements/lc3.c:
	  tests/lc3: Allocate the same size for the buffer and the data
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7631>

2024-10-09 16:40:05 +0300  Vivia Nikolaidou <vivia@ahiru.eu>

	* gst/mxf/mxftypes.c:
	* gst/mxf/mxftypes.h:
	  mxftypes: Add support for a few additional fields
	  According to SMPTE ST 377-1:2019
	  Currently still unused.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7626>

2024-10-09 16:25:05 +0300  Vivia Nikolaidou <vivia@ahiru.eu>

	* gst/mxf/mxftypes.c:
	  mxftypes: Check for the existence of all required fields
	  According to SMPTE ST 377-1:2019
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7626>

2024-10-09 16:23:47 +0300  Vivia Nikolaidou <vivia@ahiru.eu>

	* gst/mxf/mxfdemux.c:
	  mxfdemux: Keep tracking the offsets even when an index table was found
	  Some files may contain a partial index table, leading into a crash when
	  you try seeking in them
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7626>

2024-09-09 15:53:25 +0200  Piotr Brzeziński <piotr@centricular.com>

	* sys/applemedia/vtenc.c:
	  vtenc: Don't call drop_frame() when flushing
	  Slipped through with earlier changes to use drop/release_frame() explicitly.
	  We should only drop when something goes wrong in the encoder, and just release otherwise.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7475>

2024-08-08 10:50:23 -0400  Julian Bouzas <julian.bouzas@collabora.com>

	* ext/lcevcencoder/README.md:
	  lcevcencoder: Add README.md
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7330>

2024-08-08 10:01:24 -0400  Julian Bouzas <julian.bouzas@collabora.com>

	* ext/lcevcdecoder/README.md:
	  lcevcdecoder: Add README.md
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7330>

2023-08-25 13:30:48 -0400  Julian Bouzas <julian.bouzas@collabora.com>

	* ext/lcevcencoder/gstlcevcencoder.c:
	* ext/lcevcencoder/gstlcevcencoder.h:
	* ext/lcevcencoder/gstlcevcencoderutils.c:
	* ext/lcevcencoder/gstlcevcencoderutils.h:
	* ext/lcevcencoder/gstlcevch264enc.c:
	* ext/lcevcencoder/gstlcevch264enc.h:
	* ext/lcevcencoder/meson.build:
	* ext/lcevcencoder/plugin.c:
	* ext/meson.build:
	* meson_options.txt:
	  lcevcencoder: Add new LCEVC Encoder plugin
	  This new LCEVC encoder plugin is meant to implement all LCEVC encoder elements.
	  For now, it only implements the LCEVC H264 encoder (lcevch264enc) element. This
	  element essentially encodes raw video frames using a specific EIL plugin, and
	  outputs H264 frames with LCEVC data. Depending on the encoder properties, the
	  LCEVC data can be either part of the video stream as SEI NAL Units, or attached
	  to buffers as GstMeta.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7330>

2023-08-01 11:15:54 -0400  Julian Bouzas <julian.bouzas@collabora.com>

	* ext/lcevcdecoder/gstlcevcdecodebin.c:
	* ext/lcevcdecoder/gstlcevcdecodebin.h:
	* ext/lcevcdecoder/gstlcevch264decodebin.c:
	* ext/lcevcdecoder/gstlcevch264decodebin.h:
	* ext/lcevcdecoder/plugin.c:
	  lcevcdecoder: Add new lcevch264decodebin element
	  This new element wraps both the base H264 decoder and lcevcdec elements into a
	  bin so that LCEVC decoding works with auto-plugging elements such as decodebin.
	  By default, the H264 decoder element with higher rank is used as base decoder,
	  but any particular H264 decoder can be used by manually setting the base-decoder
	  property.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7330>

2023-08-01 11:11:18 -0400  Julian Bouzas <julian.bouzas@collabora.com>

	* ext/lcevcdecoder/gstlcevcdec.c:
	* ext/lcevcdecoder/gstlcevcdec.h:
	* ext/lcevcdecoder/gstlcevcdecutils.c:
	* ext/lcevcdecoder/gstlcevcdecutils.h:
	* ext/lcevcdecoder/meson.build:
	* ext/lcevcdecoder/plugin.c:
	* ext/meson.build:
	* meson_options.txt:
	  lcevcdecoder: Add new LCEVC Decoder plugin
	  This new LCEVC decoder plugin is meant to implement all LCEVC decoder elements.
	  For now, it only implements the LCEVC enhancement decoder (lcevcdec) element.
	  This element essentially enhances raw video frames using the LCEVC metadata
	  attached to input buffers into a higher resolution frame. The element is only
	  meant to be used after any base decoder (eg avdec_h264).
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7330>

2024-09-03 17:09:40 -0400  Julian Bouzas <julian.bouzas@collabora.com>

	* gst/videoparsers/gsth264parse.c:
	  h264parse: Wait for SEI before exposing src caps
	  This makes sure 'lcevc=false' src caps are not set before parsing SEI. It is
	  needed for decodebin2 to work properly with the LCEVC decoder.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7330>

2024-10-01 16:40:13 -0400  Olivier Crête <olivier.crete@collabora.com>

	* gst/videoparsers/gsth264parse.c:
	  h264parse: Don't fake IDR without at least an i-slice
	  There was an override to fake an IDR as soon as a SPS/PPS
	  is encountered, but that's not valid, at least an i-slice is needed.
	  Amend the visl result, as the output is slightly more correct, not
	  duplicating frame_num.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7330>

2024-08-19 12:16:49 -0400  Julian Bouzas <julian.bouzas@collabora.com>

	* gst/videoparsers/gsth264parse.c:
	* gst/videoparsers/gsth265parse.c:
	* gst/videoparsers/gstmpegvideoparse.c:
	* gst/videoparsers/gstvideoparseutils.c:
	* gst/videoparsers/gstvideoparseutils.h:
	  h264parse: attach LCEVC meta to buffers if it is present in SEI
	  This improves the h264parse element to attach LCEVC enhancement data to buffers
	  using the new GstLcevcMeta API. This metadata will eventually be used downstream
	  by LCEVC decoders to enhance the RAW video frame.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7330>

2023-07-27 16:27:29 -0400  Julian Bouzas <julian.bouzas@collabora.com>

	* gst-libs/gst/codecparsers/gstlcevcmeta.c:
	* gst-libs/gst/codecparsers/gstlcevcmeta.h:
	* gst-libs/gst/codecparsers/meson.build:
	  codecparsers: Add LCEVC metadata API
	  This new metadata API allows elements to attach LCEVC enhancement data to video
	  buffers. Usually, the video parser elements are charged to parse the LCEVC
	  enhancement data from SEI Nal units (Supplemental enhancement Information).
	  However, other elements such as demuxers can also use this API if the LCEVC
	  enhancement data of the video is stored in a separate stream in the container.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7330>

2024-09-16 23:34:15 +0900  Seungha Yang <seungha@centricular.com>

	* sys/nvcodec/gstnvdecoder.cpp:
	* sys/nvcodec/gstnvdecoder.h:
	* sys/nvcodec/plugin.c:
	  nvdecoder: Add support for D3D12 output
	  Enable D3D12 output if device can support D3D12 interop
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7529>

2024-09-16 23:24:30 +0900  Seungha Yang <seungha@centricular.com>

	* sys/nvcodec/gstcudainterop_d3d12.cpp:
	* sys/nvcodec/gstcudainterop_d3d12.h:
	* sys/nvcodec/gstnvencoder.cpp:
	  nvcodec: Add support CUDA to D3D12 memory copy
	  Adding CUDA -> D3D12 memory copy method to GstCudaD3D12Interop
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7529>

2024-09-24 23:43:07 -0700  Mengkejiergeli Ba <mengkejiergeli.ba@intel.com>

	* sys/msdk/gstmsdkenc.c:
	  msdkenc: Guard the read of thiz->initialized with the modification of this value
	  This is to avoid wrongly read/write thiz->initialized when multi-thread
	  invoking encoder init function, it is possible when user apps deploy
	  multi-thread to dynamically change encoder's settings.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7578>

2024-09-24 17:32:54 +0300  Sebastian Dröge <sebastian@centricular.com>

	* sys/aja/gstajadeviceprovider.cpp:
	  ntv2: Update to AJA NTV2 SDK 17.1.0
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7568>

2024-09-03 12:16:19 +0300  Sebastian Dröge <sebastian@centricular.com>

	* ext/nvcomp/gstnvcompvideodec.cpp:
	* ext/ttml/gstttmlparse.c:
	* ext/vulkan/vkdownload.c:
	* ext/vulkan/vkh264dec.c:
	* ext/vulkan/vkh265dec.c:
	* ext/vulkan/vkupload.c:
	* gst-libs/gst/vulkan/gstvkswapper.c:
	* gst/interlace/gstinterlace.c:
	* sys/amfcodec/gstamfav1enc.cpp:
	* sys/amfcodec/gstamfh264enc.cpp:
	* sys/amfcodec/gstamfh265enc.cpp:
	* sys/androidmedia/gstamcvideodec.c:
	* sys/applemedia/avfvideosrc.m:
	* sys/d3d11/gstd3d11convert.cpp:
	* sys/d3d11/gstd3d11decoder.cpp:
	* sys/d3d11/gstd3d11deinterlace.cpp:
	* sys/d3d11/gstd3d11download.cpp:
	* sys/d3d11/gstd3d11h265dec.cpp:
	* sys/d3d11/gstd3d11ipcsink.cpp:
	* sys/d3d11/gstd3d11screencapturesrc.cpp:
	* sys/d3d11/gstd3d11upload.cpp:
	* sys/d3d11/gstd3d11vp9dec.cpp:
	* sys/d3d12/gstd3d12convert.cpp:
	* sys/d3d12/gstd3d12decoder.cpp:
	* sys/d3d12/gstd3d12download.cpp:
	* sys/d3d12/gstd3d12h264enc.cpp:
	* sys/d3d12/gstd3d12ipcsink.cpp:
	* sys/d3d12/gstd3d12memorycopy.cpp:
	* sys/d3d12/gstd3d12screencapturesrc.cpp:
	* sys/d3d12/gstd3d12upload.cpp:
	* sys/mediafoundation/gstmfvideoencoder.cpp:
	* sys/msdk/gstmsdkcaps.c:
	* sys/msdk/gstmsdkdec.c:
	* sys/msdk/gstmsdkenc.c:
	* sys/msdk/gstmsdkvpp.c:
	* sys/msdk/gstmsdkvpputil.c:
	* sys/nvcodec/gstcudaconvertscale.c:
	* sys/nvcodec/gstcudaipcsink.cpp:
	* sys/nvcodec/gstcudamemorycopy.c:
	* sys/nvcodec/gstnvav1encoder.cpp:
	* sys/nvcodec/gstnvdec.c:
	* sys/nvcodec/gstnvdecoder.cpp:
	* sys/nvcodec/gstnvh264encoder.cpp:
	* sys/nvcodec/gstnvh265encoder.cpp:
	* sys/qsv/gstqsvav1enc.cpp:
	* sys/qsv/gstqsvdecoder.cpp:
	* sys/qsv/gstqsvh264dec.cpp:
	* sys/qsv/gstqsvh264enc.cpp:
	* sys/qsv/gstqsvh265dec.cpp:
	* sys/qsv/gstqsvh265enc.cpp:
	* sys/qsv/gstqsvjpegdec.cpp:
	* sys/qsv/gstqsvjpegenc.cpp:
	* sys/qsv/gstqsvvp9dec.cpp:
	* sys/qsv/gstqsvvp9enc.cpp:
	* sys/v4l2codecs/gstv4l2decoder.c:
	* sys/va/gstvaav1dec.c:
	* sys/va/gstvabase.c:
	* sys/va/gstvabasedec.c:
	* sys/va/gstvacaps.c:
	* sys/va/gstvacompositor.c:
	* sys/va/gstvaencoder.c:
	* sys/va/gstvafilter.c:
	* sys/va/gstvavpp.c:
	* tests/check/libs/vkimagebufferpool.c:
	* tests/check/libs/vkvideodecode.c:
	* tests/check/libs/vkvideoencodeh264.c:
	* tests/check/libs/vkvideoencodeh265.c:
	* tests/examples/d3d11/d3d11converter.cpp:
	* tests/examples/nvcodec/nvcodec.c:
	  common: Use more efficient versions of GstCapsFeatures API where possible
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7432>

2024-08-30 18:57:03 +0300  Sebastian Dröge <sebastian@centricular.com>

	* sys/va/gstvabasedec.c:
	* sys/va/gstvavpp.c:
	  common: Stop using GQuark-based GstCapsFeatures API
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7432>

2024-08-29 20:09:52 +0300  Sebastian Dröge <sebastian@centricular.com>

	* ext/curl/gstcurlhttpsrc.c:
	* ext/webrtc/gstwebrtcbin.c:
	* gst-libs/gst/player/gstplayer.c:
	* gst/debugutils/gsttestsrcbin.c:
	* sys/ipcpipeline/gstipcpipelinecomm.c:
	* sys/kms/gstkmssink.c:
	* sys/nvcodec/gstcudaconverter.c:
	* tests/check/elements/webrtcbin.c:
	* tests/examples/mxf/mxfdemux-structure.c:
	  common: Stop using GQuark-based GstStructure field name API
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7432>

2024-08-09 10:41:57 +0300  Sebastian Dröge <sebastian@centricular.com>

	* ext/svthevcenc/gstsvthevcenc.c:
	* gst-libs/gst/mpegts/gstmpegtssection.c:
	* gst-libs/gst/play/gstplay.c:
	* gst/mpegtsdemux/tsdemux.c:
	* gst/mxf/mxfaes-bwf.c:
	* gst/mxf/mxfffv1.c:
	* gst/mxf/mxfmetadata.c:
	* gst/mxf/mxfmetadata.h:
	* gst/mxf/mxfmpeg.c:
	  common: Stop using GQuark-based GstStructure name API
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7432>

2024-09-26 02:03:19 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d12/gstd3d12converter.cpp:
	* gst-libs/gst/d3d12/gstd3d12device-private.h:
	* gst-libs/gst/d3d12/gstd3d12device.cpp:
	* gst-libs/gst/d3d12/gstd3d12memory.cpp:
	* sys/d3d12/gstd3d12compositor.cpp:
	* sys/d3d12/gstd3d12decoder.cpp:
	* sys/d3d12/gstd3d12decodercpbpool.cpp:
	* sys/d3d12/gstd3d12decodercpbpool.h:
	* sys/d3d12/gstd3d12overlaycompositor.cpp:
	* sys/d3d12/gstd3d12testsrc.cpp:
	  d3d12: Fix resource allocation on old Windows version
	  D3D12_HEAP_FLAG_CREATE_NOT_ZEROED flag was introduced as of
	  Windows 10 May 2020 Update, and older versions don't understand
	  the heap flag. Checks the feature support and enables the
	  D3D12_HEAP_FLAG_CREATE_NOT_ZEROED only if it's supported by OS
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7573>

2024-05-30 07:34:22 +0000  Weijian Pan <pwjworks@gmail.com>

	* sys/applemedia/avfdeviceprovider.m:
	  avfdeviceprovider: Fix caps leak
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6966>

2024-09-24 13:31:34 +0200  Guillaume Desmottes <guillaume.desmottes@onestream.live>

	* ext/wpe/gstwpethreadedview.cpp:
	  wpe: initialize threading.ready before reading it
	  Fix Valgrind warning.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7377>

2023-12-10 23:31:32 +0100  Michael Grzeschik <m.grzeschik@pengutronix.de>

	* sys/uvcgadget/gstuvcsink.c:
	  uvcsink: make gst_v4l2uvc_fourcc_to_bare_struct work with more raw formats
	  The uvcsink was limited to only transfer YUY2 and MJPEG. For the
	  uncompressed formats there is no technical reason not to support them.
	  Since gst_video_format_to_string is already supporting more fourcc than
	  only YUY2 we use the default path in gst_v4l2uvc_fourcc_to_bare_struct
	  to create structures for more formats and bail out if the returned
	  format is not from the uncompressed type.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6037>

2024-09-24 17:01:10 +0200  Hugues Fruchet <hugues.fruchet@foss.st.com>

	* sys/kms/gstkmsallocator.c:
	  kmsallocator: fix stride with planar formats
	  This fixes a regression introduced by the merge request
	  https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3801
	  The extrapolated stride was computed but not used, resulting in the same
	  stride being applied to all planes.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7566>

2024-09-24 01:07:13 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12convert.cpp:
	* sys/d3d12/gstd3d12convert.h:
	* sys/d3d12/plugin.cpp:
	  d3d12: Add colorconvert and scale elements
	  In addition to existing d3d12convert element which supports
	  color conversion and rescale at once, adding
	  separate color-conversion-only and scale-only elements
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7560>

2024-09-20 23:46:32 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3dshader/gstd3dshadercache.cpp:
	* gst-libs/gst/d3dshader/gstd3dshadercache.h:
	* gst-libs/gst/d3dshader/plugin-hlsl/CSMain_mipgen.hlsl:
	* gst-libs/gst/d3dshader/plugin-hlsl/hlsl.h:
	* gst-libs/gst/d3dshader/plugin-hlsl/meson.build:
	* sys/d3d12/gstd3d12mipgen.cpp:
	* sys/d3d12/gstd3d12mipgen.h:
	* sys/d3d12/gstd3d12mipmapping.cpp:
	* sys/d3d12/gstd3d12mipmapping.h:
	* sys/d3d12/meson.build:
	* sys/d3d12/plugin.cpp:
	  d3d12: Add d3d12mipmapping element
	  Adding a new element for texture conversion from single mip level
	  texture to mipmapping enabled RGBA texture
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7555>

2024-09-21 04:33:02 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d12/gstd3d12converter.cpp:
	* gst-libs/gst/d3d12/gstd3d12converter.h:
	* gst-libs/gst/d3d12/gstd3d12device.cpp:
	* sys/d3d12/gstd3d12pluginutils.cpp:
	  d3d12: Use D3D12_FILTER_MIN_MAG_MIP_LINEAR filter by default
	  ... instead of D3D12_FILTER_MIN_MAG_LINEAR_MIP_POINT, since we supports
	  mipmap texture now.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7555>

2024-09-20 22:56:08 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d12/gstd3d12bufferpool.cpp:
	* gst-libs/gst/d3d12/gstd3d12memory-private.h:
	* gst-libs/gst/d3d12/gstd3d12memory.cpp:
	* gst-libs/gst/d3d12/gstd3d12memory.h:
	  d3d12: Add support for mipmap texture
	  Consider D3D12_RESOURCE_DESC.MipLevels > 1 or zero case
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7555>

2024-09-19 21:29:18 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d12/gstd3d12converter.cpp:
	  d3d12converter: Fix crash on pso update
	  Allocates D3D12_INPUT_ELEMENT_DESC memory on heap instead of using
	  stack memory for later reuse
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7550>

2024-09-19 19:31:20 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12swapchainsink.cpp:
	  d3d12swapchainsink: Add auto-resize mode
	  Automatically resize swapchain backbuffer to be identical to
	  stream resolution if user calls resize() signal with zero resolution
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7550>

2024-09-19 01:23:50 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12swapchainsink.cpp:
	  d3d12swapchainsink: Add support for MSAA
	  Adding "msaa" property and enable MSAA if supported by device
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7550>

2024-09-19 00:21:21 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12pluginutils.cpp:
	* sys/d3d12/gstd3d12pluginutils.h:
	* sys/d3d12/gstd3d12window-swapchain.cpp:
	  d3d12videosink: Use converter config for initial MSAA setup
	  Avoid redundant pso creation
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7550>

2024-09-18 23:53:23 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d12/gstd3d12converter.cpp:
	* gst-libs/gst/d3d12/gstd3d12converter.h:
	  d3d12converter: Add support initial pso DXGI_SAMPLE_DESC setting
	  Add more options for pso, in order to avoid redundant pso
	  creation when MSAA is used
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7550>

2024-09-18 19:59:13 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12swapchainsink.cpp:
	  d3d12swapchainsink: Add sampling-method property
	  Allow setting sampler filter method to use
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7550>

2024-09-18 23:24:55 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12convert.cpp:
	  d3d12convert: Use new sampler filter update method
	  ... instead of creating new converter
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7550>

2024-09-18 20:21:22 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d12/gstd3d12converter.cpp:
	  d3d12converter: Add support for sampler filter update
	  Creates new root signature and pipeline state object
	  if sampler filter method is updated
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7550>

2024-09-18 23:01:57 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d12/gstd3d12converter-builder.cpp:
	* gst-libs/gst/d3d12/gstd3d12converter-builder.h:
	* gst-libs/gst/d3d12/gstd3d12converter.cpp:
	* gst-libs/gst/d3d12/gstd3d12device-private.h:
	* gst-libs/gst/d3d12/gstd3d12device.cpp:
	  d3d12converter: Use generated sampler
	  ... instead of static ones, in order to support sampler state update
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7550>

2024-09-07 11:06:12 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvadecoder.c:
	  va: decoder: Delete all the internal locks
	  In fact, the va decoder is just a internal helper class and its access
	  is under the control of all dec elements. So far, there is no parallel
	  operation on it now.
	  At the other side, some code scan tools report race condition issues.
	  For example, the "context" field is just protected with lock at _open()
	  but is not protected at _add_param_buffer().
	  So we just delete all its lock usage.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7547>

2024-09-07 10:45:09 +0800  He Junyan <junyan.he@intel.com>

	* gst-libs/gst/codecparsers/gsth264bitwriter.c:
	  h264bitwriter: Add check for data size to avoid overflow
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7547>

2024-09-07 10:26:22 +0800  He Junyan <junyan.he@intel.com>

	* gst-libs/gst/codecparsers/gsth265bitwriter.c:
	  h265bitwriter: Add check for data size to avoid overflow
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7547>

2024-09-06 23:44:53 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvajpegenc.c:
	  va: jpegenc: Fix a memory leak when filter sink caps
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7547>

2024-09-06 23:35:59 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvabasetransform.c:
	  va: vpp: Use gst_caps_replace to operate the filter_caps
	  No need to use lock when we assign value to priv->filter_caps.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7547>

2024-09-18 16:15:49 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst/mxf/mxfmux.c:
	  mxfmux: Use gst_aggregator_update_segment() instead of randomly pushing a segment event
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7542>

2024-09-18 16:15:11 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst/mpegtsmux/gstbasetsmux.c:
	  mpegtsmux: Use gst_aggregator_push_src_event() for pushing downstream events
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7542>

2024-09-17 14:48:03 +0200  Benjamin Gaignard <benjamin.gaignard@collabora.com>

	* sys/v4l2codecs/gstv4l2codech265dec.c:
	  v4l2codecs: h265: Minimize memory allocation
	  Be smarter when allocating sink and source memory pools to reduce the
	  memory footprint. Use gst_v4l2_decoder_get_render_delay() to know the
	  need number of buffers for downstream element.
	  Handle errors in case of memory allocation failures.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7544>

2024-02-12 14:02:44 +0800  Tim Blechmann <tim@klingt.org>

	* ext/mdns/gstmicrodnsdevice.c:
	  mdns: fix thread names
	  Linux thread names are limited to 15 chars. providing long thread names
	  causes the thread name not to be applied at all
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6094>

2024-09-17 23:03:14 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12decodercpbpool.cpp:
	  d3d12decoder: Disable sub-allocated bitstream buffer
	  This sub-allocation causes decoding artifacts for some reason
	  on Intel platform
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7535>

2024-09-17 18:31:30 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst/mpegtsmux/gstbasetsmux.c:
	  mpegtsmux: Fix refcounting issue when selecting the best pad
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7538>

2024-09-06 10:44:46 +0200  Edward Hervey <edward@centricular.com>

	* docs/plugins/gst_plugins_cache.json:
	* gst/mpegtsdemux/gstmpegdesc.h:
	* gst/mpegtsdemux/tsdemux.c:
	* gst/mpegtsmux/gstbasetsmux.c:
	* gst/mpegtsmux/gstmpegtsmux.c:
	* gst/mpegtsmux/tsmux/tsmuxstream.c:
	* gst/mpegtsmux/tsmux/tsmuxstream.h:
	  mpegts: Add support for SMPTE ST-2038 ANC
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7461>

2024-09-17 10:36:58 -0400  Xavier Claessens <xclaessens@netflix.com>

	* sys/aja/gstajasinkcombiner.cpp:
	  aja: there is no need to take object lock
	  Both _sink_event() and _aggregate() vfunc are called from the source pad
	  streaming thread. There is thus no need to protect caps fields.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7536>

2024-07-15 16:10:10 +0200  Edward Hervey <edward@centricular.com>

	* docs/plugins/gst_plugins_cache.json:
	* gst-libs/gst/mpegts/gstmpegtsdescriptor.c:
	* gst-libs/gst/mpegts/gstmpegtsdescriptor.h:
	* gst-libs/gst/mpegts/gstmpegtssection.h:
	* gst/mpegtsdemux/tsdemux.c:
	* gst/mpegtsmux/gstbasetsmux.c:
	* gst/mpegtsmux/gstbasetsmuxjpegxs.c:
	* gst/mpegtsmux/gstbasetsmuxjpegxs.h:
	* gst/mpegtsmux/gstmpegtsmux.c:
	* gst/mpegtsmux/meson.build:
	* gst/mpegtsmux/tsmux/tsmuxstream.c:
	* gst/mpegtsmux/tsmux/tsmuxstream.h:
	  mpegts: Add support for JPEG-XS
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7172>

2024-08-29 14:49:59 +0200  Edward Hervey <edward@centricular.com>

	* gst/mpegtsmux/tsmux/tsmuxstream.c:
	  tsmux: Split off j2k descriptor code in separate function
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7172>

2024-08-28 11:07:32 +0200  Edward Hervey <edward@centricular.com>

	* gst-libs/gst/mpegts/gstmpegts-private.h:
	* gst-libs/gst/mpegts/gstmpegtsdescriptor.c:
	* gst-libs/gst/mpegts/gstmpegtsdescriptor.h:
	* tests/examples/mpegts/ts-parser.c:
	  mpegts: Handle ISO 13818 / ITU H.222.0 base extension descriptor
	  Previously this was hardcoded to the DVB extension descriptors (0x7f), but it
	  should also be applied for the base specification extension descriptors (0x3f)
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7172>

2024-09-11 19:07:14 +0100  Tim-Philipp Müller <tim@centricular.com>

	* docs/plugins/gst_plugins_cache.json:
	* ext/svtjpegxs/gstsvtjpegxs.c:
	* ext/svtjpegxs/gstsvtjpegxsdec.c:
	* ext/svtjpegxs/gstsvtjpegxsenc.c:
	  svtjpegxs: add to documentation
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7430>

2024-08-30 11:19:06 +0100  Tim-Philipp Müller <tim@centricular.com>

	* ext/svtjpegxs/gstsvtjpegxsenc.c:
	  svtjpegxsenc: put "codestream-length" into caps
	  So consumers can calculate the maximum bitrate (brat)
	  from that for various descriptors, in combination with
	  the framerate.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7430>

2024-08-22 14:15:35 +0100  Tim-Philipp Müller <tim@centricular.com>

	* ext/svtjpegxs/gstsvtjpegxs.c:
	* ext/svtjpegxs/gstsvtjpegxsdec.c:
	* ext/svtjpegxs/gstsvtjpegxsdec.h:
	* ext/svtjpegxs/meson.build:
	  svtjpegxs: add SVT JPEG XS decoder
	  Based on: https://github.com/OpenVisualCloud/SVT-JPEG-XS/
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7430>

2024-07-13 17:45:02 +0200  Tim-Philipp Müller <tim@centricular.com>

	* ext/meson.build:
	* ext/svtjpegxs/gstsvtjpegxs.c:
	* ext/svtjpegxs/gstsvtjpegxsenc.c:
	* ext/svtjpegxs/gstsvtjpegxsenc.h:
	* ext/svtjpegxs/meson.build:
	* meson_options.txt:
	  svtjpegxs: add SVT JPEG XS encoder
	  Based on: https://github.com/OpenVisualCloud/SVT-JPEG-XS/
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7430>

2024-09-09 00:31:21 +0900  Seungha Yang <seungha@centricular.com>

	* sys/nvcodec/gstnvav1encoder.cpp:
	* sys/nvcodec/gstnvcodecutils.cpp:
	* sys/nvcodec/gstnvcodecutils.h:
	* sys/nvcodec/gstnvencoder.cpp:
	* sys/nvcodec/gstnvencoder.h:
	* sys/nvcodec/gstnvh264encoder.cpp:
	* sys/nvcodec/gstnvh265encoder.cpp:
	* sys/nvcodec/meson.build:
	  nvencoder: Add support for d3d12 memory
	  Use d3d12 -> cuda memory copy helper object in cuda mode encoder
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7480>

2024-09-08 01:00:12 +0900  Seungha Yang <seungha@centricular.com>

	* sys/nvcodec/gstcudainterop_d3d12.cpp:
	* sys/nvcodec/gstcudainterop_d3d12.h:
	* sys/nvcodec/meson.build:
	  nvcodec: Add a helper object for d3d12 interop
	  Adding new helper object for d3d12 -> cuda memory copy
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7480>

2024-09-08 21:01:47 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d12/gstd3d12utils.cpp:
	* gst-libs/gst/d3d12/gstd3d12utils.h:
	  d3d12: Add gst_d3d12_get_copyable_footprints() method
	  This helper method will calculate buffer resource size and layout
	  required for (mutiple) texture resources to be stored in a single
	  buffer resource
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7480>

2024-09-08 00:06:58 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d12/gstd3d12commandlistpool.cpp:
	* gst-libs/gst/d3d12/gstd3d12device.cpp:
	  d3d12device: Hold compute queue
	  Compute queue will be used for async compute task or device-to-device
	  memory copy
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7480>

2024-09-14 03:12:46 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/cuda/cuda-gst.h:
	* gst-libs/gst/cuda/gstcudacontext.cpp:
	* gst-libs/gst/cuda/gstcudaloader-private.h:
	* gst-libs/gst/cuda/gstcudaloader.cpp:
	* gst-libs/gst/cuda/stub/cuda.h:
	  cuda: Load external resource interop symbols
	  Required for d3d12 interop
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7480>

2024-09-05 22:07:24 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/adaptivedemux/gstadaptivedemux.c:
	  video: Don't overshoot QoS earliest time by a factor of 2
	  By setting the earliest time to timestamp + 2 * diff there would be a difference
	  of 1 * diff between the current clock time and the earliest time the element
	  would let through in the future. If e.g. a frame is arriving 30s late at the
	  sink, then not just all frames up to that point would be dropped but also 30s of
	  frames after the current clock time.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7459>

2024-09-11 08:40:42 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst/mpegtsmux/gstbasetsmux.c:
	  mpegtsmux: Wait for data on all pads before deciding on a best pad unless timing out
	  This makes sure that if upstream has different latencies that we're still
	  outputting buffers with increasining timestamps across the different streams
	  unless buffers are arriving after the latency deadline.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7500>

2024-08-30 01:38:23 +0900  Seungha Yang <seungha@centricular.com>

	* tests/examples/cuda/cudamemorypool.c:
	* tests/examples/cuda/meson.build:
	  examples: Add application CUDA memory pool example
	  An example to show application managed CUDA memory pool usage
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7427>

2024-08-29 23:52:08 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/cuda/gstcudamemory.cpp:
	* gst-libs/gst/cuda/gstcudamemory.h:
	  cuda: Add support for application cuda memory pool
	  Adding gst_cuda_register_allocator_need_pool_callback() method
	  to support memory allocation from application's CUmemoryPool
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7427>

2024-08-29 22:18:48 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/cuda/gstcuda.h:
	* gst-libs/gst/cuda/gstcudamemorypool.cpp:
	* gst-libs/gst/cuda/gstcudamemorypool.h:
	* gst-libs/gst/cuda/meson.build:
	  cuda: Add CUDA memory pool object
	  Adding a wrapper object for CUmemoryPool handle to use the native
	  handle in a refcounted way
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7427>

2024-09-10 19:29:44 +0900  Seungha Yang <seungha@centricular.com>

	* docs/libs/cuda/index.md:
	* gst-libs/gst/cuda/gstcudabufferpool.cpp:
	* gst-libs/gst/cuda/gstcudabufferpool.h:
	* gst-libs/gst/cuda/gstcudacontext.cpp:
	  cuda: Add methods to enable stream ordered allocation
	  Adding prefer-stream-ordered-alloc property to GstCudaContext.
	  If stream ordered allocation buffer pool option is not configured
	  and this property is enabled, buffer pool will enable the stream
	  ordered allocation. Otherwise it will follow default behavior.
	  If GST_CUDA_ENABLE_STREAM_ORDERED_ALLOC env is set,
	  default behavior is enabling the stream ordered allocation.
	  Otherwise sync alloc/free method will be used.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7427>

2024-08-30 00:39:06 +0900  Seungha Yang <seungha@centricular.com>

	* sys/nvcodec/gstnvencoder.cpp:
	  nvencoder: Disable stream ordered allocation
	  Stream ordered allocation is not supported by encoder
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7427>

2024-08-29 20:24:56 +0900  Seungha Yang <seungha@centricular.com>

	* sys/nvcodec/gstcudaipcsink.cpp:
	  cudaipcsink: Disable stream ordered allocation
	  Legacy CUDA IPC does not support default CUDA memory pool
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7427>

2024-08-29 20:15:20 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/cuda/gstcuda-private.h:
	* gst-libs/gst/cuda/gstcudabufferpool.cpp:
	* gst-libs/gst/cuda/gstcudabufferpool.h:
	* gst-libs/gst/cuda/gstcudamemory.cpp:
	* gst-libs/gst/cuda/gstcudamemory.h:
	  cuda: Add support for stream ordered allocation
	  Default CUDA memory allocation will cause implicit global
	  synchronization. This stream ordered allocation can avoid it
	  since memory allocation and free operations are asynchronous
	  and executed in the associated cuda stream context
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7427>

2024-08-29 18:23:37 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/cuda/cuda-gst.h:
	* gst-libs/gst/cuda/gstcuda-private.h:
	* gst-libs/gst/cuda/gstcudacontext.cpp:
	* gst-libs/gst/cuda/gstcudaloader-private.h:
	* gst-libs/gst/cuda/gstcudaloader.cpp:
	* gst-libs/gst/cuda/stub/cuda.h:
	  cuda: Load stream ordered allocation related symbols
	  Required to support async memory allocation
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7427>

2024-08-30 14:59:14 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* gst-libs/gst/wayland/gstwldisplay.c:
	* gst-libs/gst/wayland/gstwlshmallocator.c:
	* gst-libs/gst/wayland/gstwlshmallocator.h:
	  wayland: Set a debug category for the shm allocator
	  None was set, which meant the debug was associated with default.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7482>

2024-09-09 16:27:43 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* ext/wayland/gstwaylandsink.c:
	* gst-libs/gst/wayland/gstwlcontext.c:
	* gst-libs/gst/wayland/gstwlcontext.h:
	  wayland: Fix ABI break in WL context type name
	  While transforming the internals of waylandsink into a library, the
	  context type name was accidentally changed, causing an ABI break. Change
	  it back to its original (as used by the libgstgl), and add support for
	  the misnamed version as a backward compatibility measure.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7482>

2024-09-10 00:10:21 +0530  Nirbheek Chauhan <nirbheek@centricular.com>

	* gst-libs/gst/vulkan/gstvkfullscreenquad.c:
	* gst-libs/gst/vulkan/gstvkimagebufferpool.c:
	* gst-libs/gst/vulkan/gstvkoperation.c:
	  vulkan: Fix some doc strings and also some g-i warnings
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7481>

2023-07-18 17:34:54 +0200  Michael Tretter <m.tretter@pengutronix.de>

	* sys/uvcgadget/gstuvcsink.c:
	  uvcsink: set cur_caps to upstream selected caps
	  If the UVC gadget announces multiple formats in the descriptors the uvcsink
	  doesn't select the actual format but let's the UVC hosts select the format.
	  If the GStreamer pipeline is started before a UVC host selected the format,
	  upstream decides on a format until the UVC host has decided. In this case, the
	  current format needs to be set based on the caps from the caps event to be able
	  to detect if the format selection by the UVC host requires a format change on
	  the GStreamer pipeline.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7473>

2024-09-05 15:04:33 +0200  Michael Tretter <m.tretter@pengutronix.de>

	* sys/uvcgadget/gstuvcsink.c:
	  uvcsink: skip comparison with prev_caps if they are not set
	  The uvcsink may be put into the READY state to start listening for UVC requests.
	  Therefore, the UVC host may set a streaming format before the GStreamer pipeline
	  is started and the uvcsink received a caps event. In this case, prev_caps will
	  be NULL.
	  If the EVENT_CAPS has not been received, skip the check if the format needs to
	  be changed, since the sink will be started with the format selected by the UVC
	  host, anyway.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7473>

2024-08-29 12:16:16 +0200  Edward Hervey <edward@centricular.com>

	* gst/mpegtsmux/gstatscmux.c:
	* gst/mpegtsmux/gstbasetsmux.c:
	* gst/mpegtsmux/tsmux/tsmux.c:
	* gst/mpegtsmux/tsmux/tsmuxstream.c:
	* gst/mpegtsmux/tsmux/tsmuxstream.h:
	  mpegtsmux: Cleanup TsMuxStream fields
	  Instead of using plenty of case-specific booleans:
	  * Store type as GstStreamType
	  * Store unique stream type
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7476>

2024-09-06 10:51:01 +0200  Edward Hervey <edward@centricular.com>

	* gst-libs/gst/play/gstplay.c:
	  gstplay: Name the different bus
	  Makes it clearer when reading logs which one is which
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7462>

2024-09-06 01:07:43 +0900  Seungha Yang <seungha@centricular.com>

	* sys/nvcodec/gstnvh264encoder.cpp:
	* sys/nvcodec/gstnvh265encoder.cpp:
	  nvencoder: Prefer byte-stream format over packetized
	  Since old encoder implementation supported only byte-stream,
	  prefers byte-stream format for backward compatibility.
	  Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3787
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7457>

2024-09-02 12:15:41 +0200  Michael Scherle <michael.scherle@rz.uni-freiburg.de>

	* sys/va/gstvacompositor.c:
	* sys/va/gstvafilter.c:
	* sys/va/gstvafilter.h:
	* sys/va/gstvavpp.c:
	  va: restrict interpolation & scaling property to iHD driver
	  interpolation & scaling is supported for all hardware on
	  iHD driver. But not supported in mesa driver. see:
	  <https://github.com/intel/media-driver/issues/1843>
	  <https://gitlab.freedesktop.org/mesa/mesa/-/issues/11803>
	  improvment of:
	  <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7301>
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7443>

2024-09-05 01:14:17 +0800  He Junyan <junyan.he@intel.com>

	* gst-libs/gst/va/gstvavideoformat.c:
	  va: videoformat: Correct NV21's BPP
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6022>

2024-09-02 13:18:13 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* sys/va/gstvajpegenc.c:
	  vajpegenc: set interlace-mode, colorspace and sampling in output caps
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6022>

2024-09-02 13:17:01 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/va/vasurfaceimage.c:
	  vasurfaceimage: log surface status string
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6022>

2024-01-30 23:46:36 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvajpegenc.c:
	* sys/va/gstvajpegenc.h:
	* sys/va/meson.build:
	* sys/va/plugin.c:
	  va: Implement the vajpegenc plugin
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6022>

2024-08-30 23:00:48 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvabaseenc.c:
	  va: baseenc: Check the bitrate property before get its value
	  Not all the encoders have the bitrate property, such as the jpeg enc.
	  We need to check that property before getting its value, or the glib
	  will print warnings.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6022>

2024-01-30 23:24:18 +0800  He Junyan <junyan.he@intel.com>

	* tests/check/libs/jpegbitwriter.c:
	* tests/check/meson.build:
	  tests: Add the jpeg bit code writer test case
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6022>

2024-01-30 23:14:39 +0800  He Junyan <junyan.he@intel.com>

	* gst-libs/gst/codecparsers/gstjpegbitwriter.c:
	* gst-libs/gst/codecparsers/gstjpegbitwriter.h:
	* gst-libs/gst/codecparsers/meson.build:
	  codecparsers: Implement the jpeg bit code writer
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6022>

2024-09-05 10:08:17 +0200  Edward Hervey <edward@centricular.com>

	* tests/check/elements/dash_mpd.c:
	  check: Disable failing test
	  Test hasn't been properly fixed for several years with modern libsoup, and it
	  only for the legacy adaptive demuxer.
	  Fixes #3783
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7454>

2024-08-26 14:46:59 +1000  Matthew Waters <matthew@centricular.com>

	* ext/webrtc/gstwebrtcbin.c:
	  webrtcbin: enable forward-unknown-ssrc on rtpfunnel
	  See also: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7405
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7409>

2024-09-03 20:10:42 +0900  Seungha Yang <seungha@centricular.com>

	* sys/dwrite/gstdwriterender_d3d12.cpp:
	  dwrite: Allow unlimited number of in-flight d3d12 commands
	  ... so that it can be controlled by global direct command queue.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7444>

2024-09-03 19:33:41 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12compositor.cpp:
	* sys/d3d12/gstd3d12convert.cpp:
	* sys/d3d12/gstd3d12testsrc.cpp:
	  d3d12: Add async-depth property
	  Adding a property to control the number of in-flight GPU commands
	  (default is unlimited). Note that actual maximum number is defined
	  in d3d12device's direct command queue object which is 32 now,
	  thus total number of scheduled GPU commands cannot exceed 32.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7444>

2024-09-03 17:04:49 +0200  Piotr Brzeziński <piotr@centricular.com>

	* sys/applemedia/vtenc.c:
	  vtenc: Use new release_frame/drop_frame encoder API
	  Replaces usage of gst_video_codec_frame_unref everywhere.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7173>

2024-09-03 17:00:09 +0200  Piotr Brzeziński <piotr@centricular.com>

	* sys/applemedia/vtenc.c:
	* sys/applemedia/vtenc.h:
	  vtenc: Restart encoding session when certain errors are detected
	  Sometimes under certain loads, VT can error out with kVTVideoEncoderMalfunctionErr or kVTVideoEncoderNotAvailableNowErr.
	  These have been reported to happen more often than usual if CopyProperty/SetProperty() is used close to the encode call.
	  Both can be worked around by restarting the encoding session.
	  These errors can be returned either directly from VTCompressionSessionEncodeFrame() or later in the encoding callback.
	  This patch handles both scenarios the same way - a session restart is be attempted on the next encode_frame() call.
	  If the error is returned immediately by the encode call, it's possible that some correct frames will still be given to
	  the output callback, but for simplicity (+ because I wasn't able to verify this scenario) let's just discard those.
	  In addition, this commit also simplifies the beach/drop logic in enqueue_buffer.
	  Related bug reports in other projects:
	  http://www.openradar.me/45889262
	  https://github.com/aws/amazon-chime-sdk-ios/issues/170#issuecomment-741908622
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7173>

2024-09-02 18:25:56 +0900  Hou Qi <qi.hou@nxp.com>

	* gst-libs/gst/play/gstplay.c:
	  gstplay: check whether stream is seekable before seeking when state change
	  If state is changing from playing to paused, and rate is reset to 1
	  which causes seek position is valid, current code will do seek for
	  streams that are not seekable. So need to check whether stream is
	  seekable before seeking.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7441>

2024-08-20 02:01:34 +0100  Tim-Philipp Müller <tim@centricular.com>

	* gst-libs/gst/codecs/gsth264decoder.c:
	* gst-libs/gst/glib-compat-private.h:
	* sys/va/gstvaav1enc.c:
	* sys/va/gstvah264enc.c:
	* sys/va/gstvah265enc.c:
	* sys/va/gstvavp9enc.c:
	* sys/va/meson.build:
	  gst-plugins-bad: use g_sort_array() instead of deprecated g_qsort_with_data()
	  Fixes compiler warnings with the latest GLib versions.
	  See https://gitlab.gnome.org/GNOME/glib/-/merge_requests/4127
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7384>

2024-08-30 09:52:55 +0200  Oskar Fiedot <oskar.fiedot@intel.com>

	* gst-libs/gst/analytics/gstanalyticsclassificationmtd.c:
	* gst-libs/gst/analytics/gstanalyticsclassificationmtd.h:
	* gst-libs/gst/analytics/gstanalyticsmeta.c:
	* gst-libs/gst/analytics/gstanalyticsmeta.h:
	* gst-libs/gst/analytics/gstanalyticsobjectdetectionmtd.c:
	* gst-libs/gst/analytics/gstanalyticsobjectdetectionmtd.h:
	* gst-libs/gst/analytics/gstanalyticsobjecttrackingmtd.c:
	* gst-libs/gst/analytics/gstanalyticsobjecttrackingmtd.h:
	  analytics: Change pointers in getters to const
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7403>

2024-08-29 12:01:30 +0100  Philippe Normand <philn@igalia.com>

	* ext/webrtc/gstwebrtcbin.c:
	* tests/check/elements/webrtcbin.c:
	  webrtcbin: Prevent crash when attempting to set answer on invalid SDP
	  If the pending remote description has an invalid BUNDLE group _parse_bundle()
	  triggers early return from _create_answer_task(), before ret has been
	  initialized, so it needs to be checked before attempting to call
	  gst_sdp_message_copy().
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7423>

2024-07-27 08:53:47 +0200  Edward Hervey <edward@centricular.com>

	* tests/check/gst-plugins-bad.supp:
	  bad: Add suppression for libsrt issues
	  This is not code we control
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7415>

2024-07-27 08:29:53 +0200  Edward Hervey <edward@centricular.com>

	* tests/check/elements/lc3.c:
	  check: Fix leak in lc3 test
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7415>

2024-08-27 11:52:08 +0200  Carlos Bentzen <cadubentzen@igalia.com>

	* ext/webrtc/gstwebrtcbin.c:
	* tests/check/elements/webrtcbin.c:
	  webrtcbin: fix regression with missing RTP header extensions in Answer SDP
	  webrtcsrc first creates recvonly transceivers with codec-preferences
	  and expects that after applying a remote description, the
	  previously created transceivers are used rather than having new
	  transceivers created.
	  When pairing webrtcsink + webrtcsrc, the offer sdp from webrtcsink has a media
	  section with sendonly direction. In !7156, which was implemented following
	  RFC9429 Section 5.10, we only reuse a unassociated transceiver when applying a
	  remote description if the media is sendrecv or recvonly, and that caused creation
	  of new transceivers when applying a remote offer in webrtcsrc, thus losing
	  information from codec preferences like the RTP extension headers in the
	  previously created transceivers.
	  Since the change in !7156 broke existing code from webrtcsrc, relax the condition
	  for reusing unassociated transceivers and add a test to document this behavior which
	  wasn't covered by any tests before.
	  Fixes #3753.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7417>

2024-08-21 13:23:36 +0100  Francis Quiers <fquiers@cisco.com>

	* docs/plugins/gst_plugins_cache.json:
	* ext/voamrwbenc/gstvoamrwbenc.c:
	  voamrwbenc: fix list of bitrates
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7396>

2024-08-09 09:41:07 +0000  Daniel Pendse <daniel.pendse@spiideo.com>

	* docs/plugins/gst_plugins_cache.json:
	* gst/rtmp2/rtmp/rtmpclient.c:
	* gst/rtmp2/rtmp/rtmpclient.h:
	  rtmp2: Add llnw auth support to rtmp client
	  Add support for Limelight CDN (llnw) authentication. Inspired
	  by the ffmpeg implementation of llnw auth.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7410>

2024-07-25 17:50:26 +0200  Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>

	* gst/videoparsers/gsth264parse.c:
	* gst/videoparsers/gsth265parse.c:
	  h264parse, h265parse: Fix time code calculation
	  We need to multiply for the nuit_field_based_flag before scaling, or
	  we'll lose precision and end up only adding even timecodes.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7241>

2024-08-23 16:21:43 +0200  RSWilli <bartel.wilhelm@gmail.com>

	* gst-libs/gst/webrtc/webrtc_fwd.h:
	  webrtc: fix documentation error in GstWebRTCKind
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7407>

2024-08-08 06:23:47 +0900  Seungha Yang <seungha@centricular.com>

	* docs/plugins/gst_plugins_cache.json:
	* gst/timecode/gsttimecodestamper.c:
	* gst/timecode/gsttimecodestamper.h:
	  timecodestamper: Add running-time source mode
	  Add a new source mode "running-time". This mode will convert buffer
	  running time into timecode
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7322>

2024-08-21 09:24:58 -0400  Thibault Saunier <tsaunier@igalia.com>

	* tests/validate/autovideoconvert/renegotiate/flow-expectations/log-^convert-src$-expected:
	  ci: Fail tests if we forget to checkout expectation files
	  And add missing expectation files
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7400>

2024-08-20 22:09:13 +1000  Jan Schmidt <jan@centricular.com>

	* gst-libs/gst/player/gstplayer.c:
	  gstplayer: Check GstPlayerSignalDispatcher type
	  Before trying to retrieve a GMainContext from a provided
	  GstPlayerSignalDispatcher, check that it is actually
	  GstPlayerGMainContextSignalDispatcher. If not, use the
	  default GMainContext for dispatching signals via the adapter
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7392>

2024-08-21 09:19:39 +0200  Guillaume Desmottes <guillaume.desmottes@onestream.live>

	* ext/wpe/gstwpesrcbin.cpp:
	  wpe: fix gst-launch example
	  wpesrc does not have num-buffers property but wpevideosrc does.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7389>

2024-06-07 00:01:10 +0900  Seungha Yang <seungha@centricular.com>

	* tests/examples/cuda/cuda-template.c:
	* tests/examples/cuda/meson.build:
	* tests/examples/cuda/template-plugin/cuda-transform-ip-template.c:
	* tests/examples/cuda/template-plugin/cuda-transform-ip-template.h:
	* tests/examples/cuda/template-plugin/plugin.c:
	  examples: Add CUDA based in-place transform element example
	  Adding a CUDA example element for plugin developers
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7004>

2024-08-20 19:20:34 +1000  Jan Schmidt <jan@centricular.com>

	* tests/check/elements/webrtcbin.c:
	  webrtc: Fix racy unit test
	  Don't reuse the same stats state structure across multiple
	  get-stats calls. Make each callback take a copy of the
	  non-changing fields it needs and use a local working copy
	  to avoid crashing.
	  Fixes problems with the unit test crashing sometimes for the
	  unit test introduced in MR !7338
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7387>

2024-08-20 18:57:50 +1000  Jan Schmidt <jan@centricular.com>

	* ext/webrtc/gstwebrtcstats.c:
	  webrtcbin: Always populate rtp-inbound stats fields
	  Even if there's no jitterbuffer yet for an incoming stream,
	  make sure to populate the mandatory statistics with 0 entries.
	  Fixes problems with the unit test failing sometimes for the
	  unit test introduced in MR !7338
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7387>

2024-08-05 11:46:28 +0200  Michael Scherle <michael.scherle@rz.uni-freiburg.de>

	* sys/va/gstvacompositor.c:
	* sys/va/gstvafilter.c:
	* sys/va/gstvafilter.h:
	* sys/va/gstvavpp.c:
	  va: add interpolation method for scaling
	  For description of interpolation methods, see:
	  <https://intel.github.io/libva/structVAProcPipelineParameterBuffer.html#abb95e119ed7f841f71b2afbec2104784>
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7301>

2024-08-19 14:34:28 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* sys/va/gstvabasedec.c:
	* sys/va/gstvabaseenc.c:
	* sys/va/gstvabasetransform.c:
	* sys/va/gstvacompositor.c:
	  va: don't use GST_ELEMENT_WARNING in set_context() vmethod
	  Since bins can set the context of their children elements, the set_context()
	  vmethod shouldn't call bus messages post methods, since it locks the parent
	  object, the bin, which might be already locked, leading to a deadlock.
	  Fixes: #3706
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7378>

2024-08-16 22:33:03 +1000  Jan Schmidt <jan@centricular.com>

	* ext/webrtc/gstwebrtcbin.c:
	* tests/check/elements/webrtcbin.c:
	  webrtcbin: Fix uint64 -> uint confusion for ice-candidate priority
	  ICE candidate priority is a 32-bit field and reported as such in the
	  webrtcbin statistics, but the documentation was incorrect, and the
	  unit test was looking for a uint64.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7338>

2024-08-12 22:17:14 +1000  Jan Schmidt <jan@centricular.com>

	* ext/webrtc/gstwebrtcstats.c:
	* tests/check/elements/webrtcbin.c:
	  webrtcbin: Fixes for bundled statistics generation
	  When multiple streams are bundled on the same transport,
	  the statistics would end up incorrectly generated,
	  as each pad would regenerate stats for every ssrc on the
	  transport, overwriting previous iterations and assigning
	  bogus media kind and other values to the wrong ssrc.
	  Fix by making sure each pad only loops and generates
	  statistics for the one ssrc that pad is receiving / sending.
	  Add a unit test that the codec kind field in RTP statistics
	  are now generated correctly.
	  Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/2555
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7338>

2024-07-30 21:59:53 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12swapchainsink.cpp:
	* sys/d3d12/gstd3d12swapchainsink.h:
	* sys/d3d12/meson.build:
	* sys/d3d12/plugin.cpp:
	* tests/examples/d3d12/d3d12swapchainsink-win32.cpp:
	* tests/examples/d3d12/d3d12swapchainsink-winrt.cpp:
	* tests/examples/d3d12/meson.build:
	  d3d12: Add d3d12swapchainsink element
	  Adding a new videosink element for Windows composition API based
	  applications. Unlike d3d12videosink, this element will create only
	  DXGI swapchain by using IDXGIFactory2::CreateSwapChainForComposition()
	  without actual window handle, so that video scene can be composed
	  via Windows native composition API, such as DirectComposition.
	  Note that this videosink does not support GstVideoOverlay interface
	  because of the design.
	  The swapchain created by this element can be used with
	  * DirectComposition's IDCompositionVisual in Win32 app
	  * WinRT and WinUI3's UI.Composition in Win32/UWP app
	  * UWP and WinUI3 XAML's SwapChainPanel
	  See also examples in this commit which show usage of the videosink
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7287>

2024-08-08 14:09:20 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* sys/va/gstvah264enc.c:
	  vah264enc: fix typo
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7337>

2024-08-06 10:59:32 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* sys/va/gstvaav1dec.c:
	* sys/va/gstvaav1enc.c:
	* sys/va/gstvabaseenc.c:
	* sys/va/gstvah264enc.c:
	* sys/va/gstvah265enc.c:
	* sys/va/gstvavp8dec.c:
	* sys/va/gstvavp9enc.c:
	  va: replace %d for %u format for system_frame_number guint32 variable
	  And also fixed the format for other less frequently printed variables.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7337>

2024-08-06 10:58:29 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* sys/va/gstvah264enc.c:
	  vah264enc: update b_pryamid property if it changes
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7337>

2024-08-06 10:57:56 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* sys/va/gstvah264enc.c:
	* sys/va/gstvah265enc.c:
	  vah26xenc: use gst_h26x_slice_type_to_string()
	  Rather than custom function.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7337>

2024-08-16 14:47:52 +1000  Jan Schmidt <jan@centricular.com>

	* tests/check/elements/webrtcbin.c:
	  tests/webrtcbin: Add a lock around the stats test
	  Prevent any race if both webrtcbin end up generating their
	  statistics simultaneously, however unlikely.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7365>

2024-08-16 14:46:19 +1000  Jan Schmidt <jan@centricular.com>

	* tests/check/elements/webrtcbin.c:
	  tests/webrtcbin: Fix racy rollback test
	  Prevent the default webrtc test machinery from attempting to
	  create and set an answer when we're just testing rollback
	  of the offers. Add some locking / waiting to ensure the test
	  is complete before exiting.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7365>

2024-08-16 08:58:47 +1000  Jan Schmidt <jan@centricular.com>

	* tests/check/elements/webrtcbin.c:
	  tests/webrtcbin: Use fail_unless_matches_string()
	  Use pattern matching against expected error strings that
	  might include internal element names, where the names
	  are default assigned with incrementing integers. When running
	  with CK_FORK=no, there may have been previous tests that
	  ran in the same process and incremented the counters more
	  than when running in the default fork-per-test mode.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7365>

2024-08-13 23:55:47 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvadeinterlace.c:
	  va: deinterlace: Do not use the backward reference
	  num_backward_references > 0 means we need to cache several frames
	  after the current frame. But the basetransform class does not
	  provide any _drain() kind function, so we do not have the chance
	  to push out our cached frames when EOS or set caps event comes.
	  Rather than losing the last several frames, we should just give up
	  the backward reference here.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7348>

2024-08-13 22:41:00 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvadeinterlace.c:
	  va: deinterlace: Push the forgotten leading frames if forward reference > 0
	  The current code forgets to push the first several frames if the forward
	  reference > 0. They are just cached in history array and will never be
	  deinterlaced and pushed.
	  For the first several frames, even the forward reference frames are not
	  enough, we still need to deinterlace them as normal and push them after that.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7348>

2024-08-14 19:44:40 +0800  Qian Hu (胡骞) <qian.hu@mediatek.com>

	* gst/jpegformat/gstjpegparse.c:
	  jpegparse: fix incorrect reading of transform in app14 marker
	  "adobe" in app14 marker seem not a null-terminted string. so, when
	  we use gst_byte_reader_get_string_utf8, more bytes will be read until
	  null. and "gst_byte_reader_get_uint8 (&reader, &transform)" will almost fail
	  to read transform
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7356>

2024-08-14 10:45:43 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/vulkan/gstvkencoder-private.c:
	  vkencoder-private: remove duplicated structure definition
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7354>

2024-08-14 10:30:35 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/vulkan/gstvkencoder-private.c:
	  vkencoder-private: don't override error on get_format() call
	  If gst_vulkan_video_encoder_get_format() fails it fills the error structure, so
	  it shouldn't be filled again.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7354>

2024-08-12 17:29:18 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/vulkan/gstvkencoder-private.c:
	  vkencoder-private: There's no need to store the aligned offset of 0
	  Since it's 0 too.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7354>

2024-08-12 17:27:35 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/vulkan/gstvkencoder-private.c:
	  vkencoder-private: use g_clear_pointer to unref packed headers
	  And use g_ptr_arra_unref() Instead of using the unrecommended g_ptr_array_free().
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7354>

2024-08-12 16:58:27 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/vulkan/gstvkencoder-private.c:
	  vkencoder-private: don't check twice for encoder parameter
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7354>

2024-08-12 16:57:59 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/vulkan/gstvkencoder-private.c:
	* gst-libs/gst/vulkan/gstvkencoder-private.h:
	  vkencoder-private: fix code style
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7354>

2024-07-22 21:29:38 +0800  Qian Hu (胡骞) <qian.hu@mediatek.com>

	* gst-libs/gst/codecparsers/gsth264parser.c:
	* gst-libs/gst/codecparsers/gsth265parser.c:
	* tests/check/libs/h264parser.c:
	  h26xparse: bypass check for length_size_minus_one
	  fix playback fail, when some file with length_size_minus_one == 2
	  According to the spec 2 cannot be a valid value, so that stream has a
	  bad config record. but breaking the decoding because of that, perhaps is too much.
	  and ffmpeg seem not check this
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7213>

2024-05-21 22:28:05 +0300  Jordan Petridis <jordan@centricular.com>

	* docs/plugins/gst_plugins_cache.json:
	* gst/rtmp2/gstrtmp2sink.c:
	* gst/rtmp2/gstrtmp2src.c:
	* gst/rtmp2/rtmp/amf.c:
	* gst/rtmp2/rtmp/amf.h:
	* gst/rtmp2/rtmp/rtmpclient.c:
	* gst/rtmp2/rtmp/rtmpclient.h:
	* gst/rtmp2/rtmp/rtmpconnection.c:
	* gst/rtmp2/rtmp/rtmpconnection.h:
	  rtmp2: reimplement librtmp's connection parameters for the connect packet
	  librtmp allows for attaching arbitrary AMF objects to the end of the
	  connect packet, and this is commonly used for authenticating with
	  servers.
	  Add a new property, extra-connect-args, that mimics librtmp's behavior.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7054>

2024-08-13 10:42:31 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* sys/msdk/gstmsdkav1enc.c:
	* sys/msdk/gstmsdkcontext.c:
	* sys/msdk/gstmsdkh264enc.c:
	* sys/msdk/gstmsdkh265enc.c:
	* sys/msdk/gstmsdkmpeg2enc.c:
	* sys/msdk/gstmsdkvc1dec.c:
	* sys/msdk/gstmsdkvp9enc.c:
	  msdk: replace strcmp with g_strcmp0
	  Because strcmp doesn't handle NULL.
	  Fixes: #3721
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7347>

2024-06-23 23:09:00 +0200  Marijn Suijten <marijns95@gmail.com>

	* gst-libs/gst/vulkan/gstvkutils.c:
	  vulkan: Replace open-coded precondition checks with g_return_val_if_fail
	  While analyzing gst_vulkan_get_or_create_image_view_with_info() it
	  seems obvious that this function returns NULL, and that this should be
	  covered in the return annotations.  However, closer inspection indicates
	  that this is only a precondition check when the incoming arguments are
	  incompatible with each other, and should not be considered as a function
	  that optionally returns a pointer.
	  Signify this by using precondition checks instead of an opencoded
	  if-return-NULL.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5736>

2023-11-29 23:23:46 +0100  Marijn Suijten <marijns95@gmail.com>

	* gst-libs/gst/vulkan/gstvkdevice.c:
	  vulkan: Annotate queue getter as nullable
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5736>

2023-11-29 20:05:18 +0100  Marijn Suijten <marijns95@gmail.com>

	* gst-libs/gst/vulkan/gstvkbuffermemory.c:
	* gst-libs/gst/vulkan/gstvkbuffermemory.h:
	* gst-libs/gst/vulkan/gstvkmemory.c:
	* gst-libs/gst/vulkan/gstvkmemory.h:
	* gst-libs/gst/vulkan/gstvkutils.c:
	* gst-libs/gst/vulkan/gstvkutils.h:
	  vulkan: Mark some pointers to Vulkan info structures as const
	  These pointers are only used as read-only arguments, and should not be
	  treated as mutable.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5736>

2023-11-29 19:46:49 +0100  Marijn Suijten <marijns95@gmail.com>

	* gst-libs/gst/vulkan/gstvkdecoder-private.c:
	  vulkan: Add missing `out` annotation to `decoder_out_format()`
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5736>

2023-11-28 10:54:27 +0100  Marijn Suijten <marijns95@gmail.com>

	* gst-libs/gst/vulkan/gstvkdevice.c:
	* gst-libs/gst/vulkan/gstvkdisplay.c:
	* gst-libs/gst/vulkan/gstvkinstance.c:
	* gst-libs/gst/vulkan/gstvkqueue.c:
	  vulkan: Fix context get/set annotations
	  Most notably the out annotations for gst_context_get_* were missing,
	  causing us to generate the wrong bindings for Rust.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5736>

2024-08-01 13:42:52 +1000  Jan Schmidt <jan@centricular.com>

	* ext/webrtc/gstwebrtcbin.c:
	* tests/check/elements/webrtcbin.c:
	  webrtcbin: Fix renegotiation checks
	  When checking for renegotiation against a local offer,
	  reverse the remote direction in the corresponding answer
	  to fix falsely not triggering on-negotiation needed when
	  switching (for example) from local sendrecv -> recvonly
	  against a peer that answered 'recvonly'.
	  In the other direction, when the local was the answerer,
	  renegotiation might trigger when it didn't need to -
	  whenever the local transceiver direction differs from
	  the intersected direction we chose. Instead what we want
	  is to check if the intersected direction we would now
	  choose differs from what was previously chosen.
	  This makes the behaviour in both cases match the
	  behaviour described in
	  https://www.w3.org/TR/webrtc/#dfn-check-if-negotiation-is-needed
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7303>

2024-08-08 14:36:19 +0200  Benjamin Gräf <benjamin.graef@zuehlke.com>

	* docs/plugins/gst_plugins_cache.json:
	* sys/decklink/gstdecklink.cpp:
	* sys/decklink/gstdecklink.h:
	  decklink: Add support for all modes of Quad HDMI recorder
	  By extending the GstDecklinkModeEnum with the additional modes supported by the Quad HDMI recorder,
	  we avoid using mode = 0 in case any of these resolutions is returned by the card.
	  Fixes#3713
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7302>

2024-08-08 13:18:42 +0100  Tim-Philipp Müller <tim@centricular.com>

	* gst-libs/gst/mpegts/gstmpegtsdescriptor.h:
	  mpegts: fix stray gtk-doc chunk
	  Trips up g-ir-scanner it seems:
	  gstmpegtsdescriptor.h:614: Error: GstMpegts: Skipping invalid GTK-Doc comment block
	  https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6793#note_2517855
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7324>

2024-08-08 16:37:35 +0800  Shengqi Yu <shengqi.yu@mediatek.com>

	* gst/autoconvert/gstbaseautoconvert.c:
	  baseautoconvert: correct mistake in printing log
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7323>

2024-08-07 19:14:26 +0100  Tim-Philipp Müller <tim@centricular.com>

	* docs/plugins/gst_plugins_cache.json:
	* ext/aom/gstav1enc.c:
	  aom: av1enc: restrict allowed input width and height
	  Restrict allowed input resolution to something sensible
	  in light of libaom CVE-2024-5171.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7320>

2024-08-05 22:10:28 +1000  Jan Schmidt <jan@centricular.com>

	* ext/webrtc/gstwebrtcbin.c:
	* gst-libs/gst/webrtc/rtcsessiondescription.c:
	* tests/check/elements/webrtcbin.c:
	  webrtcbin: Make basic rollbacks work
	  Fixes for basic rollback (from have-local-offer or have-remote-offer to
	  stable). Allow having no SDP attached to the webrtc session description
	  in that case, and avoid all the transceiver and ICE update logic
	  normally applied when entering the stable signalling state
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7304>

2024-08-06 22:48:16 +1000  Jan Schmidt <jan@centricular.com>

	* gst-libs/gst/webrtc/webrtc_fwd.h:
	  webrtc: Add missing G_BEGIN/END_DECLS in header
	  Fix using webrtc.h from C++ by adding the GLib begin/end
	  decls markers around the header contents in webrtc_fwd.h
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7312>

2024-08-06 10:03:55 +1000  Matthew Waters <matthew@centricular.com>

	* sys/decklink/gstdecklinkvideosrc.cpp:
	  decklink: fix win32 build error
	  This was not caught by the CI in the MR.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7307>

2024-07-22 23:55:48 +1000  Matthew Waters <matthew@centricular.com>

	* docs/plugins/gst_plugins_cache.json:
	* sys/decklink/gstdecklink.cpp:
	* sys/decklink/gstdecklink.h:
	* sys/decklink/gstdecklinkvideosink.cpp:
	* sys/decklink/gstdecklinkvideosink.h:
	* sys/decklink/gstdecklinkvideosrc.cpp:
	* sys/decklink/gstdecklinkvideosrc.h:
	  decklink: add support for HDR output and input
	  Supports PQ and HLG static metadata.
	  Support for HDR is queried from the device and selectively enabled when
	  supported.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7214>

2024-07-30 12:49:04 +1000  Jan Schmidt <jan@centricular.com>

	* docs/plugins/gst_plugins_cache.json:
	* ext/webrtc/gstwebrtcbin.c:
	* ext/webrtc/gstwebrtcbin.h:
	  webrtc: Add reuse-source-pads property
	  Add a property to avoid sending EOS on source pads when the
	  associated transceiver becomes inactive during renegotiation.
	  This allows the pads to become active again in a later
	  renegotiation.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7237>

2024-07-25 21:25:58 +1000  Jan Schmidt <jan@centricular.com>

	* gst-libs/gst/webrtc/rtptransceiver.c:
	  webrtc: Fix transceiver `current-direction` property
	  Fix a typo registering the `current-direction` property
	  that made it just be a proxy for `direction` instead.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7237>

2024-07-24 20:59:51 +1000  Jan Schmidt <jan@centricular.com>

	* ext/webrtc/gstwebrtcbin.c:
	  webrtc: Fixes for matching pads to unassociated transceivers
	  Fix an inverted condition when checking if sink pad caps match
	  the codec-preference of an unassociated transceiver, and
	  fix a condition check for transceiver media kind to
	  avoid matching sinkpad requests where caps aren't provided
	  against unassociated transceivers where the caps might
	  not match later.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7237>

2024-07-24 20:58:01 +1000  Jan Schmidt <jan@centricular.com>

	* ext/webrtc/gstwebrtcbin.c:
	  webrtcbin: tracked maximum pad serial better
	  If a sink pad with a specific index is requested, also
	  increase the maximum pad serial number if necessary, so
	  that mixing fixed sink_X requests with unspecific sink_%u
	  requests works.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7237>

2024-08-02 11:21:13 +0200  Carlos Bentzen <cadubentzen@igalia.com>

	* ext/webrtc/gstwebrtcbin.c:
	* tests/check/elements/webrtcbin.c:
	  webrtcbin: connect output stream on recv transceivers
	  With MR 7156, transceivers and transports are created earlier,
	  but for sendrecv media we could get `not-linked` errors due to
	  transportreceivebin not being connected to rtpbin yet when incoming
	  data arrives.
	  This condition wasn't being tested in elements_webrtcbin, but could be
	  reproduced in the webrtcbidirectional example. This commit now also
	  adds a test for this, so that this doesn't regress anymore.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7294>

2024-08-02 11:19:56 +0200  Carlos Bentzen <cadubentzen@igalia.com>

	* ext/webrtc/gstwebrtcbin.c:
	  webrtcbin: reverse direction from remote media
	  This had been overlooked from the spec. We need to reverse
	  the remote media direction when setting the transceiver direction.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7294>

2024-04-08 21:38:19 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvah264enc.c:
	  vah264enc: Fix intra only stream bug
	  When we set "ref-frames=0" to generate an intra only stream, the current
	  encoder just generates an assert and exit with error.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6577>

2024-04-01 16:56:23 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvah264enc.c:
	  vah264enc: Improve B pyramid mode in H264
	  If the reference frame number is bigger than 2, we can enable the
	  pyramid B mode. We do not need to assign a reference frame to each
	  pyramid level.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6577>

2024-04-01 23:54:04 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvah264enc.c:
	  va: h264enc: Make the level table aligned
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6577>

2024-08-02 05:21:34 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12dxgicapture.cpp:
	  d3d12screencapturesrc: Always release acquired frame
	  AcquireNextFrame() call should be paired with ReleaseFrame().
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7293>

2024-08-02 04:07:18 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12dxgicapture.cpp:
	  d3d12screencapturesrc: Do not recreate d3d11 device on capture error
	  Already opened d3d11 device including shader pipeline can be reused
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7293>

2024-08-02 03:02:08 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12dxgicapture.cpp:
	  d3d12screencapturesrc: Fix deadlock on error
	  Don't try to wait for non-signalled fence
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7293>

2024-07-30 09:27:49 +0000  Michael Scherle <michael.scherle@rz.uni-freiburg.de>

	* sys/msdk/gstmsdkvpp.c:
	* sys/msdk/gstmsdkvpp.h:
	* sys/msdk/msdk-enums.c:
	* sys/msdk/msdk-enums.h:
	  msdkvpp: add interpolation method
	  For description of interpolation modes, see:
	  <https://intel.github.io/libvpl/latest/API_ref/VPL_enums.html#interpolationmode>.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7278>

2024-07-03 07:58:58 -0600  Jordan Yelloz <jordan.yelloz@collabora.com>

	* gst/videoparsers/gsth265parse.c:
	  h265parse: Reject FD received before SPS
	  A previous fix, a275e1e029e9b5d88be26b8304c9a162e4567346, is correct but was too
	  permissive since it treats all un-matched NAL units the same as AU delimiters
	  even though some other NAL unit types can be encountered in the processing loop.
	  The problem this can cause is that some hardware decoders experience bad
	  performance when handling FD units that precede the SPS.
	  This change restores the original behavior for FDs so that they're ignored until
	  the SPS is received and it preserves the codec conformance test gains that the
	  fix has achieved.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7166>

2024-07-29 22:49:03 +1000  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/cuda/cuda-gst.h:
	* gst-libs/gst/cuda/gstcuda-private.h:
	* gst-libs/gst/cuda/gstcudaloader.cpp:
	* gst-libs/gst/cuda/gstcudautils.cpp:
	* gst-libs/gst/cuda/gstcudautils.h:
	* gst-libs/gst/cuda/meson.build:
	* gst-libs/gst/cuda/stub/cudaEGL.h:
	* sys/nvcodec/meson.build:
	* sys/nvcodec/plugin.c:
	  cuda/nvcodec: Add support for importing and producing embedded NVMM memory
	  As produced on the Nvidia Jetson series of devices.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7274>

2024-08-01 11:12:56 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/vulkan/gstvkimagebufferpool.c:
	  vkimagebufferpool: fix documentation grammar
	  Original-patch-by: Matthew Waters <matthew@centricular.com>
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7288>

2024-07-10 10:34:19 +0200  Carlos Bentzen <cadubentzen@igalia.com>

	* ext/webrtc/gstwebrtcbin.c:
	* ext/webrtc/webrtcsdp.c:
	* ext/webrtc/webrtcsdp.h:
	* tests/check/elements/webrtcbin.c:
	  webrtcbin: create and associate transceivers earlier in negotation
	  According to https://w3c.github.io/webrtc-pc/#set-the-session-description
	  (steps in 4.6.10.), we should be creating and associating transceivers when
	  setting session descriptions.
	  Before this commit, webrtcbin deviated from the spec:
	  1. Transceivers from sink pads where created when the sink pad was
	  requested, but not associated after setting local description, only
	  when signaling is STABLE.
	  2. Transceivers from remote offers were not created after applying the
	  the remote description, only when the answer is created, and were then
	  only associated once signaling is STABLE.
	  This commit makes webrtcbin follow the spec more closely with regards to
	  timing of transceivers creation and association.
	  A unit test is added, checking that the transceivers are created and
	  associated after every session description is set.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7156>

2024-07-29 20:59:58 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* ext/vulkan/vkupload.c:
	  vulkanupload: honor downstream pool allocation parameters
	  If a downstream buffer pool is offered, vulkanupload checks its allocation
	  parameters to honor them. Only adds to usage the TRANSFER bits, which are
	  required to upload buffers.
	  Also, fail if the buffer pool cannot be configured with the current parameters.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7219>

2024-07-29 19:06:34 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/vulkan/gstvkimagebufferpool.c:
	* gst-libs/gst/vulkan/gstvkimagebufferpool.h:
	  vkimagebufferpool: expose config_get_allocation_params()
	  Also enhanced the documentation and added a config parameter check for
	  gst_vulkan_image_buffer_pool_config_set_allocation_params()
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7219>

2024-07-26 17:13:10 +0200  Guillaume Desmottes <guillaume.desmottes@onestream.live>

	* ext/rsvg/gstrsvgoverlay.c:
	  rsvgoverlay: add debug category
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7246>

2024-07-19 14:00:45 -0400  Daniel Morin <daniel.morin@collabora.com>

	* ext/onnx/gstonnxclient.cpp:
	  onnx: fix formating
	  Code alignement was not alway consistent
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7205>

2024-07-25 17:06:39 +0200  Edward Hervey <edward@centricular.com>

	* gst-libs/gst/vulkan/gstvkvideoutils.h:
	  vulkan: Add missing since markers
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7277>

2024-07-25 16:28:04 +0200  Edward Hervey <edward@centricular.com>

	* ext/ldac/ldac-plugin.c:
	* ext/svtav1/gstsvtav1enc.c:
	* ext/svthevcenc/gstsvthevcenc.c:
	  bad: Add missing plugin since
	  These predate current stable release. Was never spotted since they weren't built
	  on the CI
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7277>

2024-07-27 06:52:49 +0530  Nirbheek Chauhan <nirbheek@centricular.com>

	* sys/applemedia/vtenc.c:
	  vtenc: Do not set the CRF/Quality parameter with ProRes
	  It's not supported with ProRes, setting the property will fail.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7232>

2024-07-27 06:52:25 +0530  Nirbheek Chauhan <nirbheek@centricular.com>

	* sys/applemedia/vtenc.c:
	  vtenc: Log warnings when setting a property fails
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7232>

2024-07-27 06:27:14 +0530  Nirbheek Chauhan <nirbheek@centricular.com>

	* sys/applemedia/vtenc.c:
	* sys/applemedia/vtenc.h:
	  vtenc: Add max-frame-delay property
	  This controls the number of frames allowed in the compression window.
	  Not all encoders and implementations support it; I've only managed to
	  successfully use it with ProRes.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7232>

2024-07-27 05:47:34 +0530  Nirbheek Chauhan <nirbheek@centricular.com>

	* sys/applemedia/vtenc.c:
	  vtenc: Support emulating CBR mode with data rate limits
	  CBR is only supported on Apple Silicon, and this "emulation" works
	  surprisingly well. We set the window size to a single frame, and don't
	  set ABR at all.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7232>

2024-07-27 05:39:53 +0530  Nirbheek Chauhan <nirbheek@centricular.com>

	* sys/applemedia/vtenc.c:
	* sys/applemedia/vtenc.h:
	  vtenc: Add new property for setting data rate limits
	  This proxies kVTCompressionPropertyKey_DataRateLimits, except it
	  only supports a single limit for now.
	  https://developer.apple.com/documentation/videotoolbox/kvtcompressionpropertykey_dataratelimits
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7232>

2024-07-25 04:36:09 +0530  Nirbheek Chauhan <nirbheek@centricular.com>

	* sys/applemedia/vtenc.c:
	* sys/applemedia/vtenc.h:
	  vtenc: Add support for constant bitrate encoding
	  Only supported on macOS 13.0+ and iOS 16.0+ on Apple Silicon.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7232>

2024-07-25 03:04:43 +0530  Nirbheek Chauhan <nirbheek@centricular.com>

	* sys/applemedia/vtenc.c:
	  vtenc: Eliminate some needless complex code
	  We do not need a helper that takes a lock to fetch the values of these
	  properties. There is no race being prevented.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7232>

2024-07-25 03:03:41 +0530  Nirbheek Chauhan <nirbheek@centricular.com>

	* sys/applemedia/vtenc.c:
	  vtenc: Fix setting of quality property
	  gst_vtenc_set_quality() will never actually set the VT compression
	  property, because it tries to set it on self->session which is not
	  initialized at this point.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7232>

2024-07-23 14:12:07 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* ext/vulkan/vkupload.c:
	  vulkanupload: comment zero value usage with VK_ACCESS_NONE
	  Zero is used only for Vulkan version prior to 1.3, because it wasn't defined
	  before.
	  Just for readability.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7247>

2024-07-26 17:26:09 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/vulkan/gstvkimagebufferpool.c:
	  vkimagebufferpool: refactor how image usage is set
	  Now that driver version is expected to be equal or superior to 1.3.275 the bug
	  in NVIDIA and RADV regarding usage is solved, we can revert commit b7ded81f7b.
	  Also this patch sets the internal usage variable after all the validation are
	  run, thus the state don't keep an invalid usage.
	  Finally, the now unused supported_usage variable is dropped.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7247>

2024-07-23 14:11:30 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/vulkan/gstvkimagebufferpool.c:
	  vkimagebufferpool: add encoding usage as video usage
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7247>

2024-07-23 14:07:26 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/vulkan/gstvkimagebufferpool.c:
	  vkimagebufferpool: reset the number of profiles at set_config()
	  Virtual method set_config() can be called several times, and if the number of
	  profiles counter isn't reset the pool will reach an error state.
	  The purpose of number of profiles is to check the number of valid vulkan video
	  profiles (two in the case of transcoding use-case, for example) so it's local to
	  set_config() virtual method.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7247>

2024-07-26 17:09:59 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/vulkan/gstvkdecoder-private.c:
	* gst-libs/gst/vulkan/gstvkencoder-private.c:
	  vulkan: encoder and decoder runtime check for driver version 1.3.275
	  Which is the one checked in meson. See commit 21ee264d65
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7247>

2024-07-29 10:29:11 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/va/gstvaallocator.c:
	  va: refactor dmabuf handle close
	  Moved the close loop into a function guarded for non-win32 platforms.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7254>

2024-07-28 02:01:24 +0900  Seungha Yang <seungha@centricular.com>

	* sys/qsv/gstqsvav1enc.cpp:
	* sys/qsv/gstqsvh264enc.cpp:
	* sys/qsv/gstqsvh265enc.cpp:
	* sys/qsv/gstqsvjpegenc.cpp:
	* sys/qsv/gstqsvvp9enc.cpp:
	  qsv: Fix critical warnings
	  Fixing warnings
	  GStreamer-CRITICAL **: 01:21:25.862: gst_value_set_int_range_step:
	  assertion 'start < end' failed
	  Although when QSV runtime reports a codec is supported, resolution query
	  fails sometimes, espeically VP9 encoder case on Windows.
	  Don't try to register an element if resolution query returned an error
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7250>

2024-07-27 02:18:45 +0530  Nirbheek Chauhan <nirbheek@centricular.com>

	* ext/svtav1/gstsvtav1enc.c:
	  svtav1enc: Fix segfault when flushing
	  gst_video_encoder_get_oldest_frame() is nullable, and will signal that
	  all frames are handled by returning NULL.
	  Fixes #3650
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7249>

2024-07-27 04:16:16 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d12/gstd3d12frame.cpp:
	  d3d12frame: Fix frame copy method
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7243>

2024-07-27 03:50:19 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d12/gstd3d12memory.cpp:
	  d3d12memory: Check heap flag before trying to create NT handle
	  CreateSharedHandle() will fail eventually if the resource was created
	  with non-shared heap. Instead of trying to create handle blindly,
	  validate resource first.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7243>

2024-07-27 03:39:22 +0900  Seungha Yang <seungha@centricular.com>

	* sys/dwrite/gstdwriterender_d3d12.cpp:
	  dwrite: Prefer d3d12 resource allocated with shared heap
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7243>

2024-07-26 02:46:46 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d12/gstd3d12fencedatapool.cpp:
	  d3d12: Suppress fence data object leak report
	  We don't release GstD3D12Device intentionally, thus
	  a GstD3D12FenceDataPool owned by a device will not be released
	  but that's expected leak.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7243>

2024-07-26 02:37:20 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d12/gstd3d12utils.cpp:
	  d3d12: Fix debug category name
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7243>

2024-07-26 02:17:07 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12memorycopy.cpp:
	  d3d12download: Do not overwrite fence of non-writable memory
	  A fence configured in GstD3D12Memory should be used only for
	  write access to be completed. And because d3d12 -> d3d11 copy path
	  is read access to d3d12 resource, we should not set fence to
	  memory. Otherwise another read access to the d3d12 resource
	  will wait for d3d11 device context's copy operation although
	  simultaneous read access is allowed.
	  Use background thread to keep d3d12 resource and wait for d3d11 device's
	  copy operation instead.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7243>

2024-07-25 22:44:51 +1000  Jan Schmidt <jan@centricular.com>

	* gst-libs/gst/va/gstvaallocator.c:
	  va: Fix dmabuf handle leaks
	  Close dmabuf handles manually when they're not going to
	  be passed into GStreamer FD memory, to avoid fd handle
	  leaks.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7240>

2024-07-08 16:42:58 -0600  Jordan Yelloz <jordan.yelloz@collabora.com>

	* gst/mpegtsmux/tsmux/tsmux.c:
	  tsmux: Adjust byte counter when adjusting bitrate
	  When configured in constant bitrate mode, the muxer computes timing information
	  using the configured bitrate and the byte counter (now = bytes sent / byterate).
	  When an application changes the bitrate in CBR mode during playback, the
	  relationship between bytes sent and bitrate is no longer valid so new timing
	  values will be off by the ratio of the old bitrate to the new bitrate.
	  Furthermore, it will upset the way that padding is generated.
	  pad_stream() works by trying to fit the byte counter to now * byterate.
	  The result is that when decreasing bitrate, the muxer stalls, waiting until the
	  byte counter is in agreement with now * byterate. Also, when increasing
	  bitrate, the padding will spike in volume until the byte counter fits with
	  now * byterate.
	  If the byte counter is scaled by the ratio of new bitrate / old bitrate when
	  adjusting bitrate, then padding is generated in a way that applications would
	  more likely expect.
	  One detail this change doesn't yet address is whether the next PCR will match up
	  optimally with the previous PCR right after the byte counter is scaled. In that
	  case, some correction may be necessary. Also, perhaps the user should be
	  prevented from changing from bitrate=0 to bitrate=nonzero during playback since
	  it's not straightforward how to scale the byte counter in that case.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7158>

2024-07-24 22:22:03 +0200  Guillaume Desmottes <guillaume.desmottes@onestream.live>

	* ext/qroverlay/gstbaseqroverlay.c:
	  qroverlay: redraw overlay when caps changes
	  The position needs to be updated as it depends of the video size.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7230>

2024-07-24 22:21:41 +0200  Guillaume Desmottes <guillaume.desmottes@onestream.live>

	* ext/qroverlay/gstbaseqroverlay.c:
	  qroverlay: add some debug logs
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7230>

2024-07-24 09:16:03 +0200  tomaszmi <257184-tomaszmi@users.noreply.gitlab.freedesktop.org>

	* ext/avtp/gstavtpsink.c:
	  avtp: Fixed Linux/Alpine 3.20 build
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7226>

2024-07-24 02:33:50 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/cuda/gstcudanvrtc.cpp:
	  cuda: Fix runtime compiler loading with old CUDA tookit
	  Fallback to PTX if CUBIN symbol is unavailable
	  Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3685
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7220>

2024-07-19 17:06:03 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/vulkan/gstvkimagebufferpool.c:
	  vkimagebufferpool: no aliased images for video decoding
	  This fix regression in validation layer introduced by commit 3a2e8d2d19
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7211>

2024-07-19 16:56:23 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/vulkan/gstvkdecoder-private.c:
	  vkdecoder: handle barrier internally for coincide references
	  This is to avoid a regression in validation layer (introduced by commit
	  916c4e70cd) when using vulkandownload
	  VUID-VkImageMemoryBarrier2-srcAccessMask-03914 ..  vkCmdPipelineBarrier2():
	  pDependencyInfo->pImageMemoryBarriers[1].srcAccessMask (VK_ACCESS_TRANSFER_READ_BIT)
	  is not supported by stage mask (VK_PIPELINE_STAGE_2_VIDEO_DECODE_BIT_KHR)
	  since vulkandownload set DPB memories' access mask to
	  VK_ACCESS_TRANSFER_READ_BIT, while they are retain by the DPB queue, so when
	  they are used as DPB after been shown, this validation error is raised.
	  Must of the barrier values are set ignoring the previous state of the vulkan
	  images.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7211>

2023-12-21 09:32:25 +0100  Stéphane Cerveau <scerveau@igalia.com>

	* ext/vulkan/vkdownload.c:
	* ext/vulkan/vkupload.c:
	  vulkan{up,down}load: check for a graphics family queue
	  Vulkan queue retrieved from peer elements should be a graphics family one.
	  Otherwise, get a compatible queue from the given device.
	  Co-Authored-By: Víctor Jáquez <vjaquez@igalia.com>
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7162>

2024-07-19 01:14:20 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12av1dec.cpp:
	* sys/d3d12/gstd3d12av1dec.h:
	* sys/d3d12/gstd3d12decoder.cpp:
	* sys/d3d12/gstd3d12decoder.h:
	* sys/d3d12/gstd3d12h264dec.cpp:
	* sys/d3d12/gstd3d12h264dec.h:
	* sys/d3d12/gstd3d12h265dec.cpp:
	* sys/d3d12/gstd3d12h265dec.h:
	* sys/d3d12/gstd3d12mpeg2dec.cpp:
	* sys/d3d12/gstd3d12mpeg2dec.h:
	* sys/d3d12/gstd3d12vp8dec.cpp:
	* sys/d3d12/gstd3d12vp8dec.h:
	* sys/d3d12/gstd3d12vp9dec.cpp:
	* sys/d3d12/gstd3d12vp9dec.h:
	* sys/d3d12/plugin.cpp:
	  d3d12decoder: Add support for d3d11 output again
	  Although d3d12download supports d3d12 to d3d11 texture copy,
	  this feature might be useful if an application is not ready to d3d12
	  support and it expects output type of decodebin(3) is d3d11.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7208>

2024-07-18 23:51:23 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12screencapturesrc.cpp:
	* sys/d3d12/meson.build:
	* sys/d3d12/plugin.cpp:
	  meson: d3d12: Use configuration file
	  Move defines to config header
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7208>

2023-11-14 14:39:29 +0800  Mengkejiergeli Ba <mengkejiergeli.ba@intel.com>

	* sys/msdk/gstmsdkcontext.c:
	  msdk: Add new driver name "xe"
	  Intel has released a new graphic driver named "xe" for
	  newer Gen12/Xe graphics (i.e. from Lunar Lake).
	  This patch add "xe" name when getting device in gst-msdk plugins.
	  See xe driver public in
	  https://github.com/torvalds/linux/tree/master/drivers/gpu/drm/xe
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7178>

2024-07-19 17:05:13 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/vulkan/gstvkoperation.c:
	  vkoperation: fix documentation
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7203>

2024-03-19 20:04:15 -0300  L. E. Segovia <amy@centricular.com>

	* ext/isac/meson.build:
	  isac: Work around upstream having no shared library support for MSVC
	  None of the symbols in webrtc-audio-coding-1 are marked with
	  `__declspec(dllexport)`, rendering the library usable only if
	  it was built with GCC/Clang.
	  The only fix available (as the pulseaudio copy has not been updated
	  with Google's upstream) is to ensure the fallback builds statically.
	  Although this change will also affect webrtcdsp's dependency on
	  webrtc-audio-processing-1, it does not break its compilation.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6407>

2024-07-12 10:34:56 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/vulkan/gstvkimagebufferpool.c:
	  vkimagebufferpool: reset buffer's access flags
	  The access flags are kept around the operations, but when the buffer is
	  released, the access flag should be reset to its original value, since queue
	  transfers can be done along the pipeline and, when reusing the buffer, the new
	  queue might not support the latest access flag.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7165>

2024-07-12 10:06:03 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* ext/vulkan/vkh264dec.c:
	  vulkanh264dec: set access NONE at buffer pool allocation parameters
	  Since the decoding queue might not have transfer capabilities.
	  This change also applies to unit test.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7165>

2024-07-11 13:05:28 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* ext/vulkan/vkdownload.c:
	* ext/vulkan/vkupload.c:
	* gst-libs/gst/vulkan/gstvkdecoder-private.c:
	* gst-libs/gst/vulkan/gstvkencoder-private.c:
	* gst-libs/gst/vulkan/gstvkimagebufferpool.c:
	* gst-libs/gst/vulkan/gstvkoperation.c:
	* gst-libs/gst/vulkan/gstvkoperation.h:
	* tests/check/libs/vkvideodecode.c:
	* tests/check/libs/vkvideoencodeh264.c:
	* tests/check/libs/vkvideoencodeh265.c:
	  vulkan: add source pipeline stage to _operation_add_frame_barrier()
	  Instead of dragging the last destination pipeline stage as current barrier
	  source pipeline stage (which isn't a valid semantic) this patch adds a parameter
	  to gst_vulkan_operation_add_frame_barrier() to set the source pipeline stage to
	  define the barrier.
	  The previous logic brought problems particularly with queue transfers, when the
	  new queue doesn't support the stage set during a previous operation in a
	  different queue.
	  Now the operation API is closer to Vulkan semantics.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7165>

2024-07-12 18:10:12 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* ext/vulkan/vkupload.c:
	* tests/check/libs/vkvideodecode.c:
	* tests/check/libs/vkvideoencodeh264.c:
	* tests/check/libs/vkvideoencodeh265.c:
	  vulkan: fix wrong stages or access in barriers
	  While working on !7165 we found out that some parameters for barriers were wrong
	  or the destination pipeline stage was too coarse.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7200>

2024-06-27 22:25:42 +1000  Matthew Waters <matthew@centricular.com>

	* sys/decklink/gstdecklinkvideosink.cpp:
	* sys/decklink/gstdecklinkvideosink.h:
	  decklinkvideosink: schedule frames before they need to be displayed
	  This removes most occurances of 'late' frame notifications produced by
	  decklink.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7107>

2024-07-18 23:00:16 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d12/gstd3d12converter-pack.cpp:
	* gst-libs/gst/d3d12/gstd3d12converter-unpack.cpp:
	  d3d12converter: Update internal method names
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7193>

2024-07-18 03:30:23 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12compositor.cpp:
	* sys/d3d12/gstd3d12convert.cpp:
	* sys/d3d12/gstd3d12decoder.cpp:
	* sys/d3d12/gstd3d12ipcclient.cpp:
	* sys/d3d12/gstd3d12testsrc.cpp:
	  d3d12: Always allocate output texture using shared heap
	  ... if downstream preference is unknown (e.g., no proposed
	  buffer pool by downstream), so that produced textures can be
	  shareable with other APIs such as d3d11 or vulkan, or other processes
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7193>

2024-07-16 23:08:39 +0200  Robert Mader <robert.mader@posteo.de>

	* sys/va/gstvabase.c:
	  vabase: Stop aligning VideoInfo during DMABUF import
	  Doing so resets the stride from the VideoMeta and it wasn't done before
	  the commit below. While on it, drop the plane size check as we can't
	  reliably predict the correct size when using DRM modifiers.
	  Fixes: 89b0a6fa23 ("va: refactor buffer import")
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7187>

2024-07-17 12:45:31 +0200  Robert Mader <robert.mader@posteo.de>

	* sys/va/gstvabase.c:
	  vabase: Use correct VideoInfo during DMABUF import
	  The changes to the VideoInfo, notably the stride from the VideoMeta,
	  were lost. Avoid such mistakes by explicitly using the VideoInfo from
	  drm_info.
	  Fixes: 9f5b2c4e25 ("va: use GstVideoInfoDmaDrm when importing buffers")
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7187>

2024-07-17 23:44:09 +0530  Nirbheek Chauhan <nirbheek@centricular.com>

	* sys/applemedia/avfdeviceprovider.m:
	* sys/applemedia/avfvideosrc.h:
	* sys/applemedia/avfvideosrc.m:
	  avfdeviceprovider: Fix debug category initialization
	  The device monitor calls into avfvideosrc functions without
	  initializing the debug category, which causes multiple criticals.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7192>

2024-07-16 03:31:33 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d12/gstd3d12commandqueue-private.h:
	* gst-libs/gst/d3d12/gstd3d12commandqueue.cpp:
	* gst-libs/gst/d3d12/gstd3d12commandqueue.h:
	* gst-libs/gst/d3d12/gstd3d12converter.cpp:
	* gst-libs/gst/d3d12/gstd3d12device.cpp:
	* gst-libs/gst/d3d12/gstd3d12device.h:
	* gst-libs/gst/d3d12/gstd3d12memory.cpp:
	* sys/d3d12/gstd3d12compositor.cpp:
	* sys/d3d12/gstd3d12convert.cpp:
	* sys/d3d12/gstd3d12decoder.cpp:
	* sys/d3d12/gstd3d12dxgicapture.cpp:
	* sys/d3d12/gstd3d12encoder.cpp:
	* sys/d3d12/gstd3d12testsrc.cpp:
	* sys/d3d12/gstd3d12window-swapchain-resource.h:
	* sys/d3d12/gstd3d12window-swapchain.cpp:
	* sys/dwrite/gstdwriterender_d3d12.cpp:
	* sys/webview2/gstwebview2src.cpp:
	  d3d12: Remove unnecessary event handles
	  null event NT handle to ID3D12Fence::SetEventOnCompletion()
	  will block the calling CPU thread already, thus it has no point that
	  creating an event NT handle in order to immediate wait for fence at CPU-side.
	  Note that passing a valid event NT handle to the fence API might be useful
	  when we need to wait for the fence value later (or timeout is required),
	  or want to wait for multiple fences at once via WaitForMultipleObjects().
	  But it's not a considered use case for now.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7176>

2024-07-16 04:21:09 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12window.cpp:
	  d3d12videosink: Fix mouse event handling
	  GstD3D12Window.priv.input_info is referenced by mouse event handler
	  in order to calculate corresponding original position
	  if scene is rotated/flipped by the videosink.
	  Fixing regression introduced by recent d3d12videosink refactoring
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7177>

2024-07-15 12:44:52 +0200  Robert Mader <robert.mader@posteo.de>

	* sys/va/plugin.c:
	  va: Blocklist i965 driver for encoding
	  The driver - AKA intel-vaapi-driver - has been unmaintained for four years
	  now and encoding appears to be broken in various cases. As it's unlikely
	  that the situation will improve, blocklist the driver for encoding.
	  Decoding appears to be stable enough to keep it enabled.
	  The driver can still be used by setting the `GST_VA_ALL_DRIVERS` env
	  variable.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7170>

2024-07-05 11:36:04 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/vulkan/gstvkdebug.c:
	* gst-libs/gst/vulkan/gstvkformat.c:
	  vulkan: remove beta extensions guard for encode operations
	  This is not needed anymore since encoder operations are not beta anymore.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7179>

2024-07-16 23:07:50 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12compositor.cpp:
	  d3d12compositor: Fix transparent background mode with YUV output
	  In case of YUV format without alpha channel, zero clear value
	  for each channle will result in green color. Use calculated black
	  background color with alpha=0 for transparent background mode instead.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7181>

2024-07-16 20:38:41 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d11/gstd3d11compositor.cpp:
	  d3d11compositor: Fix transparent background mode with YUV output
	  In case of YUV format without alpha channel, zero clear value
	  for each channle will result in green color. Use calculated black
	  background color with alpha=0 for transparent background mode instead.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7181>

2024-07-11 17:23:43 +0300  Sebastian Dröge <sebastian@centricular.com>

	* sys/aja/gstajasrc.cpp:
	  ajasrc: Fix handling of timestamps and don't rely on driver frame counters
	  The driver frame counters (processed, dropped, buffer level) are not
	  always correct apparently, and don't allow reliably assigning a frame
	  number to captured frames.
	  Instead of relying on them, count the number of frames directly here and
	  detect dropped frames based on the capture times of the frames: if more
	  than 1.75 frame durations are between two frames, then there must've
	  been a dropped frame.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7163>

2024-07-03 22:57:58 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/codecs/gsth264decoder.c:
	  h264decoder: Update output frame duration when second field frame is discarded
	  In case of an interlaced stream, if each field picture belongs to
	  different GstVideoCodecFrame, updates output frame's duration
	  based on discarded second field picture's timestamp information.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7132>

2024-07-13 00:04:10 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12window-swapchain.cpp:
	  d3d12videosink: Clear cached buffer on format change
	  Otherwise converter will try to read memory of which layout/format
	  might be different from configured converter pipeline
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7167>

2024-07-12 12:34:52 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/va/gstvadisplay.c:
	  vadisplay: fix minor version check
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7164>

2024-04-17 12:21:43 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/vulkan/gstvkimagebufferpool.c:
	  vkimagebufferpool: set image creation flags in needed
	  set ALIAS bit if the usage is for both sampled and storage.
	  set MUTABLE_FORMAT and EXTENDED_USAGE bits if the image is a multiplane YUV and
	  uses multiple memories.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6798>

2024-04-17 12:15:07 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/vulkan/gstvkformat.c:
	* gst-libs/gst/vulkan/gstvkformat.h:
	  vkformat: add gst_vulkan_format_get_map function
	  This will be used later to compare the format selected by
	  gst_vulkan_format_from_video_info_2(), to verify if it's multiple memory buffer
	  or not.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6798>

2024-01-25 11:14:23 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* ext/vulkan/vkupload.c:
	  vulkanupload: request storage usage for bufferpool
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6798>

2024-01-22 17:28:06 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/vulkan/gstvkimagebufferpool.c:
	  vkimagebufferpool: define a default usage
	  Define a default usage and use it instead of repeating the same bitwise
	  addition.
	  Therefore, when usage is defined as zero, the usage is defined with the
	  format's supported usage and the default usage, now without the storage
	  bit, but with color and input attachment bits.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6798>

2024-04-17 12:17:45 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/vulkan/gstvkformat.c:
	  vkformat: unward G8_B8R8_2PLANE_420_UNORM
	  Since it exists since VK_VERSION_1_1. It should be ignored by usage flags or the
	  no_multiplane parameter.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6798>

2024-07-04 02:02:42 +0200  Robert Mader <robert.mader@posteo.de>

	* gst-libs/gst/wayland/gstwlwindow.c:
	  waylandsink: Fix surface cropping for rotated streams
	  The wp_viewport source rectangle is applied in surface-local coordinates
	  after buffer_transform and buffer_scale. Therefore we need to swap width
	  and height for 90/270 deg. rotations.
	  This fixes playback of rotated videos such as portrait videos from
	  mobile devices.
	  See also: https://wayland.app/protocols/viewporter#wp_viewport
	  Fixes: 0b648f9a2d ("waylandsink: Crop surfaces to their display width height")
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7136>

2024-07-08 15:30:45 +0200  Ruben Gonzalez <rgonzalez@fluendo.com>

	* ext/vulkan/vkh265dec.c:
	  vkh265dec: Fix H.264 ref in logs
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7146>

2024-07-05 00:29:05 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12memorycopy.cpp:
	  d3d12memorycopy: Enhance d3d12 to d3d11 copy
	  If a d3d12 memory holds non-direct-queue fence but the fence was
	  created with D3D12_FENCE_FLAG_SHARED flag, use the fence instead of
	  waiting for fence at CPU side. Note that d3d12ipcsrc or
	  d3d12screencapture elements will hold such sharable fence.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7139>

2024-07-01 16:59:23 +0530  Nirbheek Chauhan <nirbheek@centricular.com>

	* sys/applemedia/videotexturecache-vulkan.mm:
	  applemedia: Disable some deprecation errors
	  This needs significant work to use the new Metal→Vulkan integration
	  extension `VK_EXT_metal_objects`
	  ```
	  MoltenVK/mvk_deprecated_api.h:132:1: note: 'vkGetMTLDeviceMVK' has been explicitly marked deprecated here
	  MVK_DEPRECATED_USE_MTL_OBJS
	  ^
	  MoltenVK/mvk_deprecated_api.h:74:52: note: expanded from macro 'MVK_DEPRECATED_USE_MTL_OBJS'
	  #define MVK_DEPRECATED_USE_MTL_OBJS   VKAPI_ATTR [[deprecated("Use the VK_EXT_metal_objects extension instead.")]]
	  ^
	  ../sys/applemedia/videotexturecache-vulkan.mm:303:20: error: 'vkSetMTLTextureMVK' is deprecated:
	  Use the VK_EXT_metal_objects extension instead.
	  VkResult err = vkSetMTLTextureMVK (memory->vulkan_mem.image, texture);
	  ^
	  MoltenVK/mvk_deprecated_api.h:151:1: note: 'vkSetMTLTextureMVK' has been explicitly marked deprecated here
	  MVK_DEPRECATED_USE_MTL_OBJS
	  ^
	  MoltenVK/mvk_deprecated_api.h:74:52: note: expanded from macro 'MVK_DEPRECATED_USE_MTL_OBJS'
	  #define MVK_DEPRECATED_USE_MTL_OBJS   VKAPI_ATTR [[deprecated("Use the VK_EXT_metal_objects extension instead.")]]
	  ^
	  2 errors generated.
	  ```
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7091>

2024-06-28 17:19:46 +0530  Nirbheek Chauhan <nirbheek@centricular.com>

	* ext/vulkan/vkh264dec.c:
	* ext/vulkan/vkh265dec.c:
	* gst-libs/gst/vulkan/gstvkencoder-private.c:
	  vk-video: Fix uint64_t string format errors
	  With clang on macOS:
	  ```
	  error: format specifies type 'long' but the argument has type 'uint64_t' (aka 'unsigned long long')
	  ...
	  error: format specifies type 'unsigned long' but the argument has type 'VkImageView' (aka 'unsigned long long')
	  ```
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7091>

2024-06-23 04:27:42 +0530  Nirbheek Chauhan <nirbheek@centricular.com>

	* gst-libs/gst/vulkan/meson.build:
	* sys/applemedia/meson.build:
	  meson: Find MoltenVK with the objc++ compiler everywhere
	  When building for iOS in Cerbero, as of MoltenVK SDK 1.3.283, we have
	  to statically link to libMoltenVK since it no longer ships a dylib.
	  This requires linking to libc++, so we find the dep with the objc++
	  compiler to ensure that meson uses the right linker.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7091>

2024-06-23 04:25:01 +0530  Nirbheek Chauhan <nirbheek@centricular.com>

	* sys/applemedia/meson.build:
	  meson: Fix some confusing code in applemedia's build file
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7091>

2024-06-23 04:20:59 +0530  Nirbheek Chauhan <nirbheek@centricular.com>

	* sys/applemedia/meson.build:
	  meson: Fix vulkan automagic in applemedia plugin
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7091>

2024-06-23 04:13:31 +0530  Nirbheek Chauhan <nirbheek@centricular.com>

	* gst-libs/gst/vulkan/meson.build:
	  meson: Fix vulkan library build on iOS
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7091>

2024-06-23 04:11:48 +0530  Nirbheek Chauhan <nirbheek@centricular.com>

	* gst-libs/gst/vulkan/meson.build:
	  meson: Use / instead of join_paths for vulkan
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7091>

2024-06-23 03:46:39 +0530  Nirbheek Chauhan <nirbheek@centricular.com>

	* gst-libs/gst/vulkan/meson.build:
	* meson_options.txt:
	  meson: Fix automagic dependency checks in gstvulkan
	  Windowing, in particular, was getting silently disabled.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7091>

2024-07-05 18:17:38 +0530  Taruntej Kanakamalla <taruntej@asymptotic.io>

	* tests/check/elements/lc3.c:
	  lc3: remove bitstream comparison in the tests
	  since the encoded output is changing based on version
	  it does not make sense to check the output bitstream with a fixed
	  bytearray since the version in the target might vary. So sticking
	  to checking the number of output buffers and encoded frame size
	  similar to the other tests
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7141>

2024-07-02 13:00:14 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* sys/va/gstvavpp.c:
	  vavpp: simplify gst_va_vpp_transform_caps()
	  The code is simplified by using GQuarks for looking for caps features, and
	  removing inner loops.
	  Also, it's used the pad template caps to compare with the incoming caps because
	  is cheaper at the beginning of negotiation, where the pad template caps is used.
	  And, since the ANY caps where removed, there's no need to check for an initial
	  intersection.
	  Finally, the completion of caps features is done through a loop.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6698>

2024-06-26 22:19:52 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvadeinterlace.c:
	  vadeinterlace: Do not append ANY caps into pad template
	  Just like the vapostproc, we delete the ANY caps in pad template to
	  avoid unexpected negotiation.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6698>

2024-04-20 16:40:21 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvavpp.c:
	  vapostproc: Do not append ANY caps into pad template
	  The ANY caps in pad template caps seems to mess up the DMA negotiation.
	  The command of:
	  GST_GL_API=opengl gst-launch-1.0 -vf videotestsrc ! video/x-raw,format=NV12 !
	  vapostproc ! "video/x-raw(memory:DMABuf)" ! glimagesink
	  fails to negotiate, but in fact, the vapostproc can convert the input NV12
	  formant into the RGBA format to render.
	  The ANY may help the passthough mode, but we should make the negotiate correct
	  first.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6698>

2024-06-27 14:05:46 +0800  Lim, Siew Hoon <siew.hoon.lim@intel.com>

	* sys/va/gstvacompositor.c:
	  vacompositor: Initialize the allocation related variables in decide_allocation()
	  Prevent garbage value has been pass thru and causing
	  pipeline fail to run later on.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7097>

2024-06-27 13:59:40 +0800  Lim, Siew Hoon <siew.hoon.lim@intel.com>

	* sys/va/gstvabasedec.c:
	  vabasedec: Initialize the allocation related variables in decide_allocation()
	  Prevent garbage value has been pass thru and causing
	  pipeline fail to run.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7097>

2024-06-25 14:38:12 +0800  Lim, Siew Hoon <siew.hoon.lim@intel.com>

	* sys/va/gstvabasetransform.c:
	  vabasetranform: Initialize the allocation related variables in decide_allocation()
	  Prevent garbage value has been pass thru and causing
	  pipeline fail to run.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7097>

2024-04-16 23:59:58 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvah265enc.c:
	  vah265enc: Set the trellis only when HW supports it
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6663>

2024-04-17 00:03:48 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvah264enc.c:
	  vah264enc: Init missing fields in reset_state()
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6663>

2024-04-16 23:50:58 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvah264enc.c:
	  vah264enc: Set the trellis only when HW supports it
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6663>

2024-04-16 18:13:06 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvabaseenc.c:
	  va: baseenc: Set the trellis parameter anyway
	  The driver may enable trellis by default. So we should also set the
	  trellis info to driver even when the trellis option is turned off.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6663>

2024-07-02 15:26:55 -0500  jadarve <juanda0718@gmail.com>

	* gst-libs/gst/mpegts/gstmpegtsdescriptor.h:
	  doc: fix Since marker
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6793>

2024-07-02 14:55:25 -0500  jadarve <juanda0718@gmail.com>

	* gst-libs/gst/mpegts/gstmpegtsdescriptor.h:
	  mpegts: Added missing function prototype
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6793>

2024-07-02 14:25:59 -0500  jadarve <juanda0718@gmail.com>

	* gst-libs/gst/mpegts/gstmpegtsdescriptor.h:
	  doc: fix docstrings
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6793>

2024-07-02 10:14:38 -0500  jadarve <juanda0718@gmail.com>

	* gst-libs/gst/mpegts/gstmpegtsdescriptor.h:
	  doc: fix single line Since comments
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6793>

2024-07-02 09:10:27 -0500  jadarve <juanda0718@gmail.com>

	* gst-libs/gst/mpegts/gstmpegtsdescriptor.h:
	  doc: fix Since marker for gst_mpegts_descriptor_from_metadata_pointer
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6793>

2024-06-27 15:44:54 -0500  jadarve <juanda0718@gmail.com>

	* gst-libs/gst/mpegts/gstmpegtsdescriptor.h:
	  doc: update docstrings
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6793>

2024-06-27 15:20:47 -0500  jadarve <juanda0718@gmail.com>

	* docs/plugins/gst_plugins_cache.json:
	  doc: update plugin cache
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6793>

2024-06-04 15:39:12 -0500  jadarve <juanda0718@gmail.com>

	* gst/mpegtsdemux/gstmpegdesc.h:
	* gst/mpegtsmux/gstbasetsmux.c:
	* gst/mpegtsmux/gstmpegtsmux.c:
	* gst/mpegtsmux/tsmux/tsmux.c:
	* gst/mpegtsmux/tsmux/tsmuxstream.c:
	* gst/mpegtsmux/tsmux/tsmuxstream.h:
	  mpegtsmux: mux meta/x-id3
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6793>

2024-06-04 14:39:05 -0500  jadarve <juanda0718@gmail.com>

	* gst-libs/gst/mpegts/gstmpegtsdescriptor.c:
	* gst-libs/gst/mpegts/gstmpegtsdescriptor.h:
	  mpegts: use GstMpegtsMetadataApplicationFormat in metadata descriptor
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6793>

2024-06-04 14:31:48 -0500  jadarve <juanda0718@gmail.com>

	* gst-libs/gst/mpegts/gstmpegtsdescriptor.c:
	* gst-libs/gst/mpegts/gstmpegtsdescriptor.h:
	  mpegts: added metadata pointer descriptor
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6793>

2024-06-04 13:53:26 -0500  jadarve <juanda0718@gmail.com>

	* gst-libs/gst/mpegts/gst-metadata-descriptor.c:
	* gst-libs/gst/mpegts/gst-metadata-descriptor.h:
	* gst-libs/gst/mpegts/gst-mpegtspesmetadatameta.c:
	* gst-libs/gst/mpegts/gst-mpegtspesmetadatameta.h:
	* gst-libs/gst/mpegts/gstmpegtsdescriptor.c:
	* gst-libs/gst/mpegts/gstmpegtsdescriptor.h:
	* gst-libs/gst/mpegts/meson.build:
	* gst-libs/gst/mpegts/mpegts.h:
	  mpegts: moved metadata descriptors to gstmpegtsdescriptor
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6793>

2023-04-07 14:40:58 -0400  Chris Spoelstra <cs.spoelstra@gmail.com>

	* docs/plugins/gst_plugins_cache.json:
	* ext/srt/gstsrtobject.c:
	  srtsrc: fix case fallthrough of authentication param
	  Add missing breaks to two case statements.
	  Also adds a missing lock of srtobject->element when getting the value
	  of PROP_AUTHENTICATION.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4367>

2024-06-29 23:02:21 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12memorycopy.cpp:
	* sys/d3d12/gstd3d12memorycopy.h:
	* sys/d3d12/meson.build:
	* sys/d3d12/plugin.cpp:
	  d3d12: Add support for resource copy between d3d11 and d3d12
	  If driver can support cross-api resource sharing, use device-to-device
	  resource copy in d3d12upload/download elements.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7119>

2024-06-29 21:37:57 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d12/gstd3d12bufferpool.cpp:
	  d3d12bufferpool: Use shared heap by default
	  ... to make cross-api resource sharing possible
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7119>

2024-06-27 09:55:41 +0300  Sebastian Dröge <sebastian@centricular.com>

	* sys/aja/gstajasrc.cpp:
	  ajasrc: Drop some frames after signal recovery
	  After signal recovery the capture times for the next frames are simply
	  wrong. Experimentally this affected 2-3 frames and seemed to be related
	  to the buffer fill level after signal recovery, so drop at least 5
	  frames and up to fill level + 1 frames in this situation.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7106>

2024-06-27 09:30:27 +0300  Sebastian Dröge <sebastian@centricular.com>

	* sys/aja/gstajasrc.cpp:
	  ajasrc: Reset clock after signal loss or signal change
	  Otherwise timestamps would continue as if there was no gap, and the next
	  frames until the clock has compensated would be all too late.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7106>

2024-06-27 15:32:01 -0400  Thibault Saunier <tsaunier@igalia.com>

	* gst-libs/gst/analytics/meson.build:
	* gst-libs/gst/mse/meson.build:
	  meson: Remove duplicated library definitions for gstmse and gstanalytics
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7109>

2024-06-28 02:33:03 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d12/gstd3d12commandallocatorpool.cpp:
	* gst-libs/gst/d3d12/gstd3d12commandallocatorpool.h:
	  d3d12commandallocatorpool: Remove unused methods
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7108>

2024-06-27 22:58:12 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12decoder.cpp:
	* sys/d3d12/gstd3d12decodercpbpool.cpp:
	* sys/d3d12/gstd3d12decodercpbpool.h:
	* sys/d3d12/meson.build:
	  d3d12decoder: Use sub-allocated bitstream buffer
	  Since a buffer resource will occupy at least 64KB,
	  allocating upload resource per decoding command might not be
	  an optimal approach. Instead, use sub-region of a upload resource
	  for multiple decoding command if sub-regions are not overlapped
	  each other.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7108>

2024-06-26 16:09:26 +0200  Guillaume Desmottes <guillaume.desmottes@onestream.live>

	* gst/rtmp2/rtmp/amf.c:
	  rtmp2: guard against calling gst_amf_node_get_type() with NULL
	  gst_amf_node_get_type() raises a CRITICAL if called with a NULL node.
	  All callers were checking for this except those.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7103>

2020-04-08 10:40:42 -0400  Xavier Claessens <xavier.claessens@collabora.com>

	* meson.build:
	* meson_options.txt:
	  build: Add missing common options that are yielding in subprojects
	  - Align `glib_debug`, `glib_assert` and `glib_checks` options with GLib,
	  otherwise glib subproject won't inherit their value. Previous names
	  and values are preserved using Meson's deprecation mechanism.
	  - Add `extra-checks` and `benchmarks` options in the main project so it
	  can be inherited in GStreamer subprojects.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1165>

2024-05-13 18:52:28 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvaav1enc.c:
	  vaav1enc: Move repeat header data to a dedicated buffer
	  When enable parallel encoding, it is possible that the unshown frame
	  is not output but it is already be marked as a repeated frame header.
	  So we need to use a dedicated buffer to hold the repeat frame header,
	  don't mix it with the orignal frame data.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6867>

2024-06-25 20:08:54 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d11/gstd3d11device-private.h:
	* gst-libs/gst/d3d11/gstd3d11device.cpp:
	* gst-libs/gst/d3d11/meson.build:
	* sys/qsv/plugin.cpp:
	  qsv: Check d3d shared resource tier using D3D11 API
	  We can check the tier using d3d11 API. Thus, don't need to
	  create d3d12 device
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7099>

2024-06-02 11:40:04 +0300  Jan Schmidt <jan@centricular.com>

	* ext/hls/m3u8.c:
	  adaptivedemux: Fix handling closed caption streams
	  Fix a typo "CLOSED_CAPTION" -> "CLOSED-CAPTION" and
	  a broken if statement that always bailed out for
	  closed captions
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6985>

2024-06-25 22:19:26 +1000  Jan Schmidt <jan@centricular.com>

	* ext/webrtcdsp/gstwebrtcdsp.cpp:
	  webrtcdsp: Enable multi_channel processing
	  Enable multi_channel processing in webrtc-audio-processing when the
	  input or output has multiple channels.
	  Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3220
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7100>

2024-06-24 16:00:45 +0200  Piotr Brzeziński <piotr@centricular.com>

	* sys/applemedia/vtenc.c:
	  vtenc: Fix redistribute latency spam
	  Just a quick fix to only report the maximum noticed delay (measured by frames inside the encoder) instead of changing
	  the reported latency every time the number there changes, which is way too often.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7094>

2024-06-24 20:49:19 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d12/gstd3d12converter-unpack.cpp:
	  d3d12converter: Make sure data upload before executing compute shader
	  Use read d3d12 map, so that upload can happen if needed
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7093>

2024-06-24 20:07:37 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d12/gstd3d12-private.h:
	* gst-libs/gst/d3d12/gstd3d12converter.cpp:
	* gst-libs/gst/d3d12/gstd3d12format.cpp:
	* gst-libs/gst/d3dshader/gstd3dshadercache.cpp:
	  d3d12: Add ARGB64_LE format support
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7093>

2024-06-24 17:53:24 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d12/gstd3d12-private.h:
	* gst-libs/gst/d3d12/gstd3d12bufferpool.cpp:
	* gst-libs/gst/d3d12/gstd3d12converter.cpp:
	* gst-libs/gst/d3d12/gstd3d12format.cpp:
	* gst-libs/gst/d3dshader/converter-hlsl/PSMain_converter.hlsl:
	* gst-libs/gst/d3dshader/gstd3dshadercache.cpp:
	  d3d12: Add AV12 format support
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7093>

2024-06-24 01:41:03 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d12/gstd3d12-private.h:
	* gst-libs/gst/d3d12/gstd3d12converter.cpp:
	* gst-libs/gst/d3d12/gstd3d12format.cpp:
	* gst-libs/gst/d3dshader/gstd3dshadercache.cpp:
	  d3d12: Add NV16, NV61, and NV24 format support
	  Can reuse NV12 shader for the formats
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7093>

2024-06-24 00:29:23 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d12/gstd3d12-private.h:
	* gst-libs/gst/d3d12/gstd3d12converter.cpp:
	* gst-libs/gst/d3dshader/converter-hlsl/PSMain_converter.hlsl:
	* gst-libs/gst/d3dshader/gstd3dshadercache.cpp:
	  d3d12: Add A420, A422 and A444 format support
	  Adding A420/A422/A444 and its 10/12/16 bits format support
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7093>

2024-06-23 23:05:20 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d12/gstd3d12-private.h:
	* gst-libs/gst/d3d12/gstd3d12bufferpool.cpp:
	* gst-libs/gst/d3d12/gstd3d12converter.cpp:
	* gst-libs/gst/d3dshader/gstd3dshadercache.cpp:
	  d3d12: Add YUV 4:1:0 and 4:1:1 format support
	  Adding Y41B, YUV9, and YVU9 format support
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7093>

2024-06-21 18:38:04 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12videosink.cpp:
	* sys/d3d12/gstd3d12window-swapchain.cpp:
	* sys/d3d12/gstd3d12window-swapchain.h:
	* sys/d3d12/gstd3d12window-win32.cpp:
	* sys/d3d12/gstd3d12window-win32.h:
	* sys/d3d12/gstd3d12window.cpp:
	* sys/d3d12/gstd3d12window.h:
	  d3d12videosink: Present on GstVideoOverlay::expose()
	  ... so that updated backbuffer can be swapped and presented
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7079>

2024-06-23 22:16:36 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d12/gstd3d12-private.h:
	* gst-libs/gst/d3d12/gstd3d12converter-pack.cpp:
	* gst-libs/gst/d3d12/gstd3d12converter-unpack.cpp:
	* gst-libs/gst/d3d12/gstd3d12device.cpp:
	* gst-libs/gst/d3d12/gstd3d12format.cpp:
	  d3d12: Add v216, v210, r210, v308, IYU2, RGB, BGR format support
	  Reuse the compute shader implemented for d3d11
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7092>

2024-06-23 22:14:23 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d12/gstd3d12-private.h:
	* gst-libs/gst/d3d12/gstd3d12converter-pack.cpp:
	* gst-libs/gst/d3d12/gstd3d12converter-unpack.cpp:
	  d3d12: Add support for UYVY, VYUY, and YVYU
	  Use already implemented compute shaders
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7092>

2024-06-23 22:13:32 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d12/gstd3d12-private.h:
	* gst-libs/gst/d3d12/gstd3d12converter-pack.cpp:
	* gst-libs/gst/d3d12/gstd3d12converter-unpack.cpp:
	* gst-libs/gst/d3d12/gstd3d12device.cpp:
	* gst-libs/gst/d3dshader/converter-hlsl/PSMain_converter.hlsl:
	* gst-libs/gst/d3dshader/gstd3dshadercache.cpp:
	  d3d12: Add RGB{16,15} and BGR{16,15} format support
	  d3d12 device can support B5G6R5_UNORM and B5G5R5A1_UNORM formats
	  in pixel shader. If the format is not supported by device,
	  U16_UINT format with compute shader will be used, like d3d11converter
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7092>

2024-06-23 22:00:40 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d12/gstd3d12-private.h:
	* gst-libs/gst/d3d12/gstd3d12converter-pack.cpp:
	* gst-libs/gst/d3d12/gstd3d12format.cpp:
	  d3d12: Add BGRA64 and BGR10A2 format support
	  Map BGRA64 and BGR10A2 to Y416 and Y410, respectively,
	  since it's possible RGB space decoder output
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7092>

2024-06-23 02:01:50 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d12/gstd3d12-private.h:
	* gst-libs/gst/d3d12/gstd3d12converter-pack.cpp:
	* gst-libs/gst/d3d12/gstd3d12converter-unpack.cpp:
	* gst-libs/gst/d3d12/gstd3d12converter-unpack.h:
	* gst-libs/gst/d3d12/gstd3d12converter.cpp:
	* gst-libs/gst/d3d12/meson.build:
	  d3d12: Add support for DXGI native packed YUV formats
	  Adding YUY2, Y210, Y216, and Y416 format support
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7092>

2024-06-23 00:34:53 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d12/gstd3d12converter-pack.cpp:
	* gst-libs/gst/d3d12/gstd3d12converter-pack.h:
	* gst-libs/gst/d3d12/gstd3d12converter.cpp:
	* gst-libs/gst/d3d12/meson.build:
	* sys/d3d12/gstd3d12convert.cpp:
	* sys/d3d12/gstd3d12testsrc.cpp:
	  d3d12converter: Fix Y410 conversion
	  Adding format conversion helper and use compute shader in case that
	  output format does not support RTV.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7088>

2024-06-23 01:18:54 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d12/gstd3d12frame.cpp:
	* gst-libs/gst/d3d12/gstd3d12frame.h:
	* gst-libs/gst/d3d12/gstd3d12memory.cpp:
	* gst-libs/gst/d3d12/gstd3d12memory.h:
	  d3d12memory: Add support for UAV descriptor cache
	  Cache shader invisible UAV descriptor in memory
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7088>

2024-06-22 01:36:43 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d12/gstd3d12device.cpp:
	* gst-libs/gst/d3d12/gstd3d12format-private.h:
	* gst-libs/gst/d3d12/gstd3d12format.cpp:
	* gst-libs/gst/d3d12/gstd3d12format.h:
	  d3d12: Format table refactoring
	  Hide format table from header. This is a preparation for compute
	  shader based format support
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7088>

2024-06-21 00:06:12 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d12/gstd3d12converter.cpp:
	  d3d12converter: Upload shader buffer resources earlier
	  Schedule (semi-)static resource upload at converter creation time.
	  And use single resource for all vertex, index, and constant
	  buffers, since separate resources will waste GPU memory.
	  Note that size and address of a committed resource are 64K aligned
	  even if requested buffer size is small.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7081>

2024-06-20 22:18:02 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d12/gstd3d12converter.cpp:
	  d3d12converter: Make gamma remap work as intended
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7073>

2024-06-20 20:44:56 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d12/gstd3d12device.cpp:
	  d3d12device: Don't warn for out of range device index
	  It can happen during enumeration as well, and it's expected error
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7070>

2024-06-20 20:34:33 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d12/gstd3d12device.cpp:
	  d3d12device: Dump device feature support
	  ... and use CD3DX12FeatureSupport helper class in d3dx12.h
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7070>

2024-06-20 00:09:16 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d12/gstd3d12device.cpp:
	  d3d12device: Prevent too many in-flight GPU commands
	  Even if each element is checking its own in-flight commands,
	  total number of commands can get larger in case of complex pipeline.
	  Limits total number of in-flight commands at command queue level
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7066>

2024-06-20 00:07:41 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d12/gstd3d12commandqueue.cpp:
	  d3d12commandqueue: Detect device removed event
	  Early return if device removed event is detected
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7066>

2024-06-19 23:29:11 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12basefilter.cpp:
	* sys/d3d12/gstd3d12basefilter.h:
	  d3d12basefilter: Add adapter property
	  Allows initial GPU adapter selection
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7066>

2024-06-19 22:12:15 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d12/gstd3d12utils.cpp:
	* gst-libs/gst/d3d12/gstd3d12utils.h:
	* sys/d3d12/gstd3d12compositor.cpp:
	* sys/d3d12/gstd3d12convert.cpp:
	* sys/d3d12/gstd3d12decoder.cpp:
	* sys/d3d12/gstd3d12dxgicapture.cpp:
	* sys/d3d12/gstd3d12encoder.cpp:
	* sys/d3d12/gstd3d12ipcclient.cpp:
	* sys/d3d12/gstd3d12pluginutils.cpp:
	* sys/d3d12/gstd3d12pluginutils.h:
	* sys/d3d12/gstd3d12testsrc.cpp:
	  d3d12: Move fence setter helper method to gst-libs
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7057>

2024-06-19 19:06:42 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d12/gstd3d12converter.cpp:
	* gst-libs/gst/d3d12/gstd3d12converter.h:
	* sys/d3d12/gstd3d12compositor.cpp:
	* sys/d3d12/gstd3d12convert.cpp:
	* sys/d3d12/gstd3d12dxgicapture.cpp:
	* sys/d3d12/gstd3d12testsrc.cpp:
	* sys/d3d12/gstd3d12window-swapchain.cpp:
	* sys/d3d12/gstd3d12window.cpp:
	* sys/dwrite/gstdwriterender_d3d12.cpp:
	  d3d12converter: Update API signature
	  Always use device's main direct queue, and control gpu waiting
	  behavior by using boolean value
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7057>

2024-06-19 01:00:28 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d12/gstd3d12converter.cpp:
	* gst-libs/gst/d3d12/gstd3d12converter.h:
	* gst-libs/gst/d3d12/gstd3d12device.cpp:
	* gst-libs/gst/d3d12/gstd3d12frame.cpp:
	* gst-libs/gst/d3d12/gstd3d12frame.h:
	* gst-libs/gst/d3d12/gstd3d12memory.cpp:
	* gst-libs/gst/d3d12/gstd3d12memory.h:
	* gst-libs/gst/d3d12/gstd3d12utils.cpp:
	* sys/d3d12/gstd3d12compositor.cpp:
	* sys/d3d12/gstd3d12convert.cpp:
	* sys/d3d12/gstd3d12decoder.cpp:
	* sys/d3d12/gstd3d12dxgicapture.cpp:
	* sys/d3d12/gstd3d12encoder.cpp:
	* sys/d3d12/gstd3d12graphicscapture.cpp:
	* sys/d3d12/gstd3d12ipcclient.cpp:
	* sys/d3d12/gstd3d12ipcserver.cpp:
	* sys/d3d12/gstd3d12pluginutils.cpp:
	* sys/d3d12/gstd3d12pluginutils.h:
	* sys/d3d12/gstd3d12testsrc.cpp:
	* sys/d3d12/gstd3d12window.cpp:
	* sys/dwrite/gstdwriterender_d3d12.cpp:
	* sys/webview2/gstwebview2src.cpp:
	  d3d12memory: Hide fence value from header
	  Instead of exposing fence value to wait in header, user setter/getter
	  methods.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7057>

2024-06-19 00:57:11 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d12/gstd3d12device.cpp:
	* gst-libs/gst/d3d12/gstd3d12device.h:
	* gst-libs/gst/d3d12/gstd3d12memory.cpp:
	* sys/d3d12/gstd3d12encoder.cpp:
	* sys/d3d12/gstd3d12ipcsink.cpp:
	  d3d12device: Add helper method for getting fence handle
	  Add get_fence_handle() method so that caller can get command queue's
	  dedicated fence handle from device
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7057>

2024-06-18 22:59:17 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d12/gstd3d12-private.h:
	* gst-libs/gst/d3d12/gstd3d12converter.cpp:
	* gst-libs/gst/d3d12/gstd3d12device.cpp:
	* gst-libs/gst/d3d12/gstd3d12device.h:
	* gst-libs/gst/d3d12/gstd3d12fencedatapool.cpp:
	* gst-libs/gst/d3d12/gstd3d12fencedatapool.h:
	* gst-libs/gst/d3d12/gstd3d12frame.cpp:
	* gst-libs/gst/d3d12/gstd3d12memory.cpp:
	* sys/d3d12/gstd3d12compositor.cpp:
	* sys/d3d12/gstd3d12convert.cpp:
	* sys/d3d12/gstd3d12decoder.cpp:
	* sys/d3d12/gstd3d12dxgicapture.cpp:
	* sys/d3d12/gstd3d12encoder.cpp:
	* sys/d3d12/gstd3d12overlaycompositor.cpp:
	* sys/d3d12/gstd3d12testsrc.cpp:
	* sys/d3d12/gstd3d12window.cpp:
	* sys/dwrite/gstdwriterender_d3d12.cpp:
	  d3d12: Remove notify_com and notify_mini_object helper methods
	  Use private macros instead of exposing multiple APIs for the same thing
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7057>

2024-06-18 22:04:23 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d12/gstd3d12commandqueue.cpp:
	* gst-libs/gst/d3d12/gstd3d12commandqueue.h:
	* gst-libs/gst/d3d12/gstd3d12device-private.h:
	* gst-libs/gst/d3d12/gstd3d12device.cpp:
	* gst-libs/gst/d3d12/gstd3d12frame.cpp:
	* gst-libs/gst/d3d12/gstd3d12memory.cpp:
	* sys/d3d12/gstd3d12decoder.cpp:
	* sys/d3d12/gstd3d12encoder.cpp:
	* sys/d3d12/gstd3d12ipcclient.cpp:
	* sys/dwrite/gstdwriterender_d3d12.cpp:
	  d3d12commandqueue: Update API name and arguments
	  Accepts multiple fences since single command list may have
	  multiple dependent resources which are associated with
	  different GPU engines
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7057>

2024-06-18 21:48:11 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d12/gstd3d12device.cpp:
	* gst-libs/gst/d3d12/gstd3d12device.h:
	* sys/d3d12/gstd3d12compositor.cpp:
	* sys/d3d12/gstd3d12convert.cpp:
	* sys/d3d12/gstd3d12testsrc.cpp:
	* sys/dwrite/gstdwriterender_d3d12.cpp:
	  d3d12device: Use HRESULT return code if possible
	  Make function signature consistent with that of command queue
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7057>

2024-05-28 09:55:05 +0200  Stéphane Cerveau <scerveau@igalia.com>

	* ext/vulkan/vkh264dec.c:
	* ext/vulkan/vkh265dec.c:
	* gst-libs/gst/vulkan/gstvkdecoder-private.c:
	  vkdecoder: support layered and non dedicated DPB
	  As NVIDIA Amperium. In this case the each output buffer is also a DPB,
	  but using a different view layer.
	  Still pending a validation layer issue:
	  VUID-VkVideoBeginCodingInfoKHR-flags-07244
	  Co-authored-by: Victor Jaquez <vjaquez@igalia.com>
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6954>

2024-06-17 15:38:05 -0400  Daniel Morin <daniel.morin@collabora.com>

	* gst-libs/gst/analytics/gstanalyticsclassificationmtd.c:
	  analytics: Add validation on classification analytics-meta
	  - Add valiation on parameters passed to gst_analytics_cls_add_cls_mtd.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7046>

2024-06-18 09:10:16 +0200  Edward Hervey <edward@centricular.com>

	* gst/mpegtsdemux/mpegtspacketizer.c:
	  tsdemux: Fix maximum PCR/DTS values
	  * PTS/DTS are stored as 33 bit
	  * PCR is 33bit multiplied by 300
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7050>

2024-06-18 00:33:37 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12pluginutils.cpp:
	* sys/d3d12/gstd3d12pluginutils.h:
	* sys/d3d12/plugin.cpp:
	  d3d12: Promote decoder and videosink rank to primary
	  It's proven that d3d12 performs better than d3d11 while
	  consumes less resources in various cases.
	  Assign primary+ rank to decoder and videosink in case of Windows10/11,
	  so that it can be tested widely
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7045>

2024-03-22 12:32:22 +0100  Stéphane Cerveau <scerveau@igalia.com>

	* gst-libs/gst/vulkan/gstvkoperation.c:
	  vkoperation: support for query_result_status
	  query_result_status can be optional so we should not create
	  the query pool if the queue does not support it,
	  ie, AMD does not support VK_QUERY_TYPE_RESULT_STATUS_ONLY_KHR
	  In other use case such as VK_QUERY_TYPE_VIDEO_ENCODE_FEEDBACK_KHR, the
	  query pool must be created.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7043>

2024-06-17 14:55:03 +0200  Stéphane Cerveau <scerveau@igalia.com>

	* gst-libs/gst/vulkan/gstvkoperation.c:
	* gst-libs/gst/vulkan/gstvkphysicaldevice.c:
	* gst-libs/gst/vulkan/gstvkphysicaldevice.h:
	  vkphysicaldevice: rename query to query_result_status
	  As only queryResultStatusSupport can be optional,
	  the variable name should be more specific.
	  queryResultStatusSupport reports VK_TRUE if query type
	  VK_QUERY_TYPE_RESULT_STATUS_ONLY_KHR and use of
	  VK_QUERY_RESULT_WITH_STATUS_BIT_KHR are supported.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7043>

2024-06-18 05:53:19 +0800  He Junyan <junyan.he@intel.com>

	* gst-libs/gst/codecparsers/gstav1parser.c:
	  av1parse: Do not return error when expectedFrameId mismatch
	  According to the SPEC:
	  The frame id numbers (represented in display_frame_id, current_frame_id,
	  and RefFrameId[ i ]) are not needed by the decoding process, but allow
	  decoders to spot when frames have been missed and take an appropriate action.
	  So we should just print out warning and should not return error in parser when
	  mismatching. The decoder itself is already robust to handle the reference missing.
	  Fixes #3622
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7047>

2024-06-16 21:21:44 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12videosink.cpp:
	* sys/d3d12/gstd3d12window-swapchain.cpp:
	* sys/d3d12/gstd3d12window-win32.cpp:
	* sys/d3d12/gstd3d12window-win32.h:
	* sys/d3d12/gstd3d12window.cpp:
	* sys/d3d12/gstd3d12window.h:
	  d3d12videosink: Add direct-swapchain property
	  Because DXGI flip mode swapchain will disallow GDI operation
	  to a HWND once swapchain is configured, videosink has been creating
	  child window of application's window. However, since window creation
	  would take a few milliseconds, it can cause performance issue such as
	  UI freezing. Adding a property so that videosink can attach
	  DXGI swapchain diretly to application's window in order to improve
	  performance.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7013>

2024-06-13 01:34:08 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12videosink.cpp:
	  d3d12videosink: Add external-window-only property
	  Adding a new property in order to avoid unintended interanl window
	  creation.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7013>

2024-06-10 23:40:55 +0900  Seungha Yang <seungha@centricular.com>

	  d3d12videosink: Add support for window handle update
	  A large refactoring commit for adding features and improve performance
	  * Reuse internal converter and overlay compositor:
	  Converter can be reused as long as input and display formats are not
	  changed. Also overlay compositor reconstruction is required only if
	  display format is changed
	  * Don't wait for full GPU flush on resize or close:
	  D3D12 swapchain requires GPU idle in order to resize backbuffer.
	  Thus CPU side waiting is required for swapchain related commands
	  to be finished. However, don't need to wait for full GPU flushing.
	  * Support multiple sink on a single external window
	  Keep installed subclass window procedure even if there's no associated
	  our internal HWND. This will make window procedure hooking less racy.
	  Then parent HWND's message will be transferred to our internal HWNDs
	  if needed.
	  * Adding support for window handle update
	  Application can change target HWND even when videosink is playing or
	  paused state. So, users can call gst_video_overlay_set_window_handle()
	  against d3d12videosink anytime. The videosink will be able to update
	  internal state and setup resource upon requested.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7013>

2024-06-10 23:38:39 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12overlaycompositor.cpp:
	* sys/d3d12/gstd3d12overlaycompositor.h:
	* sys/d3d12/gstd3d12window.cpp:
	  d3d12overlaycompositor: Remove unused parameter
	  Don't need to check fence value of overlay buffer since
	  window uses global direct command queue
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7013>

2024-06-03 21:53:40 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12videosink.cpp:
	  d3d12videosink: Calculate display resolution only per caps change
	  Don't need to calculate it per window property update
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7013>

2024-06-05 00:20:05 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d12/gstd3d12commandqueue.cpp:
	  d3d12commandqueue: Fix deadlock on drain()
	  Don't take lock if the drain() is called from the GC thread
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7013>

2024-06-12 01:02:39 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d12/gstd3d12-private.h:
	* gst-libs/gst/d3d12/gstd3d12commandqueue.cpp:
	* gst-libs/gst/d3d12/gstd3d12device-private.h:
	* gst-libs/gst/d3d12/gstd3d12device.cpp:
	* sys/d3d12/gstd3d12decoder.cpp:
	  d3d12: Workaround for Intel iGPU decoder crash
	  Observed Intel GPU driver crash when multiple decoders are
	  configured in a process. It might be because of frequent
	  command queue alloc/free or too many in-flight decoding commands.
	  In order to make command queue persistent and limit the number of
	  in-flight command lists, holds global decoding command queue.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7019>

2024-06-12 18:28:54 +0200  Piotr Brzeziński <piotr@centricular.com>

	* sys/applemedia/vtdec.c:
	  vtdec: Use GST_VIDEO_DECODER_ERROR instead of aborting when frame has an ERROR flag
	  This was already being used in handle_frame() for errors that happen when queueing a frame for decoding,
	  let's do the same when a frame is flagged with an error in the output callback.
	  From quick testing, this makes seeking more reliable (previously, it would sometimes cause a decoding error
	  and shut the whole decoder down due to GST_FLOW_ERROR).
	  Also manually sets the max error count to actually stop processing if too many errors occur.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6446>

2024-03-26 15:24:31 +0100  Piotr Brzeziński <piotr@centricular.com>

	* sys/applemedia/vtdec.c:
	  vtdec: Handle some errors without stopping the decoder
	  ReferenceMissingErr is not critical and the simplest solution is to just ignore it. The frame has
	  the FrameDropped flag set when it occurs, so we can just drop it as usual.
	  BadDataErr is also not immediately critical, but in its case let's set the ERROR flag,
	  so the output loop can use GST_VIDEO_DECODER_ERROR to count and error out if it happens too many times.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6446>

2024-06-17 11:15:22 +0300  Sebastian Dröge <sebastian@centricular.com>

	* ext/aom/gstav1dec.c:
	  av1dec: Don't treat decoding errors as fatal and print more error details
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7040>

2024-06-11 23:33:49 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d12/gstd3d12device.cpp:
	* gst-libs/gst/d3d12/meson.build:
	  d3d12: Add support for DXGI debug layer
	  Will be enabled if GST_ENABLE_D3D12_DXGI_DEBUG env is set
	  and dxgidebug.dll is available.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7016>

2024-06-13 09:11:30 -0500  Zach van Rijn <me@zv.io>

	* gst/pcapparse/gstpcapparse.c:
	  pcapparse: Avoid unaligned memory access
	  Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3602
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7030>

2024-05-21 01:20:59 +0900  Seungha Yang <seungha@centricular.com>

	* ext/meson.build:
	* ext/nvcomp/gstnvcomp.cpp:
	* ext/nvcomp/gstnvcomp.h:
	* ext/nvcomp/gstnvcompvideodec.cpp:
	* ext/nvcomp/gstnvcompvideodec.h:
	* ext/nvcomp/gstnvcompvideoenc.cpp:
	* ext/nvcomp/gstnvcompvideoenc.h:
	* ext/nvcomp/meson.build:
	* ext/nvcomp/plugin.cpp:
	* ext/nvcomp/stub/cuda_runtime.h:
	* meson_options.txt:
	  nvcomp: Add nvCOMP library based GPU lossless compression plugin
	  Adding NVIDIA nvCOMP library based plugin for lossless raw video
	  compression/decompression. To build this plugin, user should
	  install nvCOMP SDK first and specify the SDK path via
	  "nvcomp-sdk-path" build option or NVCOMP_SDK_PATH env.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6912>

2024-05-21 18:09:12 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/cuda/cuda-gst.h:
	* gst-libs/gst/cuda/gstcudaloader.cpp:
	* gst-libs/gst/cuda/stub/cuda.h:
	  cuda: Load 1D memcpy method symbols
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6912>

2024-05-31 13:07:51 +0200  Mathieu Duponchelle <mathieu@centricular.com>

	* gst/codectimestamper/gstcodectimestamper.c:
	  codectimestamper: never set DTS to NONE
	  If we want to avoid the DTS going backward, then we can set DTS to
	  last_dts as a last resort.
	  Log a warning in this case
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6977>

2024-06-07 23:09:54 -0700  Khem Raj <raj.khem@gmail.com>

	* sys/uvcgadget/configfs.c:
	  uvcgadget: Use g_path_get_basename instead of libc basename
	  Musl does not implement GNU basename and have fixed a bug where the
	  prototype was leaked into string.h [1], which resullts in compile errors
	  with GCC-14 and Clang-17+
	  | sys/uvcgadget/configfs.c:262:21: error: call to undeclared function 'basename'
	  ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
	  |   262 |     const char *v = basename (globbuf.gl_pathv[i]);
	  |       |                     ^
	  Use glib function instead makes it portable across musl and glibc on
	  linux
	  [1] https://git.musl-libc.org/cgit/musl/commit/?id=725e17ed6dff4d0cd22487bb64470881e86a92e7a
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7006>

2024-06-12 23:15:29 +1000  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/vulkan/gstvkswapper.c:
	  vulkan/swapper: expose choose_queue() in docs
	  It was missing a doc trigraph.
	  Also mark input queue argument as nullable.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7023>

2024-06-10 13:11:19 +0300  Sebastian Dröge <sebastian@centricular.com>

	* ext/aom/gstav1enc.c:
	  av1enc: Handle force-keyunit events properly by requesting keyframes
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7008>

2024-06-05 22:09:56 +0900  Seungha Yang <seungha@centricular.com>

	* sys/wasapi2/gstwasapi2client.cpp:
	  wasapi2: Adjust log level in device enumeration path
	  Audio device at requested index might not be available, but that's
	  expected case when enumerating devices.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6996>

2024-05-29 11:07:23 +0800  Mengkejiergeli Ba <mengkejiergeli.ba@intel.com>

	* sys/msdk/gstmsdkvpp.c:
	  msdkvpp: Add a huge value to inbuf pts and set mfx surface timestamp
	  It can be seen as a WA in the case of multi-channel transcoding (like
	  decoder output to two channels, one for encoder and one for vpp).
	  Normally, encoder sets min pts of a huge value to avoid negative dts,
	  while vpp set pts without this addtional huge value, which are likely to
	  cause input surface pts does not fit with encoder (since both encoder
	  and vpp accept the same buffer from decoder, means they modify the timestamp
	  of one mfx surface). So we add this huge value to vpp to ensure enc and
	  vpp set the same value to input mfx surface meanwhile does not break
	  encoder's setting min pts for dts protection.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6971>

2024-06-10 23:25:46 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12videosink.cpp:
	  d3d12videosink: Disconnect window signal handler on dispose as intended
	  Fixing typo
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7012>

2024-05-28 19:23:33 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12videosink.cpp:
	* sys/d3d12/gstd3d12window.cpp:
	  d3d12videosink: Add error-on-closed property
	  Adding a property to control error reporting behavior when output
	  window is closed in playing or paused state. This can be useful
	  for apps where an app wants to close window even if it's playing
	  a stream, and the closed window is expected.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6939>

2024-04-23 21:57:57 +0200  Stéphane Cerveau <scerveau@gmail.com>

	* gst-libs/gst/vulkan/meson.build:
	  vulkan: fix macos build
	  The VulkanSDK can be downloaded from LunarG website and can
	  be installed properly in /usr/local following:
	  https://vulkan.lunarg.com/doc/view/latest/mac/getting_started.html
	  Fixes partly #2372
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6669>

2024-06-06 19:34:03 +1000  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/vulkan/gstvkfullscreenquad.c:
	  vulkan/fullscreenquad: add check for unset video info
	  So we don't crash when set_info() is not called.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7000>

2024-06-06 17:16:30 +1000  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/vulkan/gstvkfullscreenquad.c:
	  vulkan/fullscreenquad: allow setting NULL input/output buffer to unset
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7000>

2024-06-01 02:32:22 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/cuda/gstcudanvmm-private.h:
	* gst-libs/gst/cuda/gstcudanvmm.cpp:
	* gst-libs/gst/cuda/gstcudautils.cpp:
	* gst-libs/gst/cuda/meson.build:
	* meson_options.txt:
	* sys/nvcodec/gstcudamemorycopy.c:
	* sys/nvcodec/meson.build:
	* sys/nvcodec/plugin.c:
	  cuda: Enable x86 NVMM support again
	  It was broken since memory copy helper function was moved to gst-libs.
	  Also, adding "cuda-nvmm" and "cuda-nvmm-include-path" build options
	  to en/disable NVMM support in gstcuda library
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6978>

2024-05-15 02:29:12 +0900  Seungha Yang <seungha@centricular.com>

	* tests/examples/cuda/cudamemory-sync.c:
	* tests/examples/cuda/meson.build:
	* tests/examples/meson.build:
	  examples: cuda: Add CUDA memory synchronization example
	  Add an example code for external CUDA context sharing and
	  gst_cuda_memory_sync()
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6864>

2024-06-06 12:13:05 +0200  Stéphane Cerveau <scerveau@igalia.com>

	* gst-libs/gst/vulkan/gstvkdevice.c:
	* gst-libs/gst/vulkan/meson.build:
	  vulkan: remove remaining GST_VULKAN_HAVE_VIDEO_ENCODERS
	  Some define use have been forgotten in
	  https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6992
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7001>

2024-05-17 14:12:23 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst/mxf/mxftypes.c:
	  mxf: Use GDateTime instead of gmtime()
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6872>

2024-06-04 10:10:07 +0200  Stéphane Cerveau <scerveau@igalia.com>

	* tests/check/libs/vkvideoencodeh264.c:
	* tests/check/libs/vkvideoencodeh265.c:
	* tests/check/meson.build:
	  gst-plugins-bad: tests: rename vkvideoencode tests
	  Rename vulkan encode tests to be able to use the namespace
	  libs_vkvideoencode*.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6992>

2024-06-04 09:55:26 +0200  Stéphane Cerveau <scerveau@igalia.com>

	* gst-libs/gst/vulkan/gstvkconfig.h.meson:
	* gst-libs/gst/vulkan/gstvkdevice.c:
	* gst-libs/gst/vulkan/gstvkimagebufferpool.c:
	* gst-libs/gst/vulkan/gstvkoperation.c:
	* gst-libs/gst/vulkan/gstvkvideo-private.c:
	* gst-libs/gst/vulkan/gstvkvideo-private.h:
	* gst-libs/gst/vulkan/gstvkvideoutils.c:
	* gst-libs/gst/vulkan/gstvkvideoutils.h:
	* gst-libs/gst/vulkan/meson.build:
	* tests/check/libs/vkvideoh264encode.c:
	* tests/check/libs/vkvideoh265encode.c:
	* tests/check/meson.build:
	  vulkan: remove GST_VULKAN_HAVE_VIDEO_ENCODERS
	  Use 2.3.275 as first supported SDK version
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6992>

2024-06-04 09:34:42 +0200  Stéphane Cerveau <scerveau@igalia.com>

	* gst-libs/gst/vulkan/gstvkqueue.c:
	  vkqueue: remove useless decoder include
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6992>

2024-02-14 09:43:35 -0300  Thibault Saunier <tsaunier@igalia.com>

	* gst/autoconvert/gstbaseautoconvert.c:
	  autoconvert: Fix race condition when creating sub elements
	  There was a case where the element would get destroyed while being
	  added to the hash table of elements
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6989>

2024-06-02 10:26:19 +0300  Sebastian Dröge <sebastian@centricular.com>

	* ext/dtls/gstdtlssrtpenc.c:
	  dtlssrtpenc: Don't crash if no pad name is provided when requesting a new pad
	  It is mandatory to provide a valid pad name for dtlssrtpenc.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6984>

2024-06-02 23:36:28 +1000  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/vulkan/gstvkvideofilter.c:
	* gst-libs/gst/vulkan/gstvkvideofilter.h:
	  vulkan/videofilter: add getters for queue/device/instance
	  Allows bindings to not pke at structs for this information.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6987>

2024-06-02 23:34:39 +1000  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/vulkan/gstvkfullscreenquad.c:
	* gst-libs/gst/vulkan/gstvkfullscreenquad.h:
	  vulkan/fullscreenquad: add get_queue()
	  Allows bindings to not poke at the instance struct.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6987>

2024-06-02 23:33:13 +1000  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/vulkan/gstvkfullscreenquad.c:
	* gst-libs/gst/vulkan/gstvkfullscreenquad.h:
	  vulkan/fullscreenquad: mark set_info GstVideoInfo as const
	  It's not modified by the function.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6987>

2024-06-01 22:38:11 +1000  Matthew Waters <matthew@centricular.com>

	* ext/vulkan/meson.build:
	* ext/vulkan/shaders/ayuv_to_rgb.frag:
	* ext/vulkan/shaders/meson.build:
	* ext/vulkan/shaders/nv12_to_rgb.frag:
	* ext/vulkan/shaders/rgb_to_ayuv.frag:
	* ext/vulkan/shaders/rgb_to_nv12.frag:
	* ext/vulkan/shaders/rgb_to_yuy2.frag:
	* ext/vulkan/shaders/swizzle.frag:
	* ext/vulkan/shaders/swizzle_and_clobber_alpha.frag:
	* ext/vulkan/shaders/view_convert.frag:
	* ext/vulkan/shaders/yuy2_to_rgb.frag:
	  vulkan: also support glslang as a shader compiler
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6980>

2024-06-01 21:35:26 +1000  Matthew Waters <matthew@centricular.com>

	* ext/vulkan/gstvulkan.c:
	* ext/vulkan/meson.build:
	* gst-libs/gst/vulkan/meson.build:
	  vulkan: support not having glslc available for building vulkan plugin
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6980>

2024-05-31 12:28:40 +0200  Stéphane Cerveau <scerveau@igalia.com>

	* gst-libs/gst/vulkan/gstvkutils.c:
	  vkutils: do not forget to clear context in case of error
	  The context is leaking in case of a failing instance open.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6975>

2024-05-31 12:27:30 +0200  Stéphane Cerveau <scerveau@igalia.com>

	* gst-libs/gst/vulkan/gstvkerror.c:
	  vkerror: free the error string after usage
	  g_set_error already used the var string, can clear it now.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6975>

2024-05-30 01:30:58 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d12/gstd3d12bufferpool.cpp:
	* gst-libs/gst/d3d12/gstd3d12memory.cpp:
	  d3d12memory: Fix staging buffer alignment
	  Not all GPUs can support arbitrary offset of
	  D3D12_PLACED_SUBRESOURCE_FOOTPRINT when copying GPU memory between
	  texture and buffer. Instead of calculating size/offset per plane,
	  calculate the entire size and offsets at once.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6967>

2024-05-28 04:14:15 +0530  Nirbheek Chauhan <nirbheek@centricular.com>

	* gst-libs/gst/va/meson.build:
	* meson.build:
	* sys/msdk/gstmsdkallocator_libva.c:
	* sys/msdk/gstmsdkcaps.c:
	* sys/msdk/gstmsdkdec.c:
	* sys/msdk/gstmsdkenc.c:
	* sys/msdk/gstmsdkvpp.c:
	* sys/msdk/gstmsdkvpputil.c:
	* sys/msdk/meson.build:
	  msdk: Fix libdrm dependency detection and usage
	  drm_fourcc.h should be picked up via the pkgconfig include, not the
	  system includedir directly.
	  Also consolidate the libdrm usage in va and msdk.
	  All this allows it to be picked up consistently (via the subproject,
	  for example).
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6932>

2024-05-27 18:50:23 +0530  Nirbheek Chauhan <nirbheek@centricular.com>

	* gst-libs/gst/va/meson.build:
	  meson: Don't use fallback: kwarg for libva deps
	  This will cause a fallback even when the `va` option is `auto`, not
	  giving the user a chance to provide the dependency via the system, and
	  likely building this feature unnecessarily.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6932>

2024-05-27 18:43:33 +0530  Nirbheek Chauhan <nirbheek@centricular.com>

	* gst-libs/gst/va/gstvavideoformat.h:
	  va: Fix libdrm include
	  The libdrm/ prefix should not be used, it will be provided by the
	  pkgconfig file. Also HAVE_LIBDRM is necessary.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6932>

2024-05-15 12:48:43 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* sys/msdk/gstmsdkcaps.c:
	  msdkcaps: fix ill-format string
	  This patch fixes this critical warning when registering MSDK:
	  _dma_fmt_to_dma_drm_fmts: assertion 'fmt != GST_VIDEO_FORMAT_UNKNOWN' failed
	  It was because the HEVC string with possible output formats has an extra space
	  that could not be parsed correctly.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6853>

2024-05-29 18:54:18 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12h264enc.cpp:
	  d3d12encoder: Do not print error log for not-supported feature
	  gst_d3d12_result() will print message with ERROR level if failed.
	  Use FAILED/SUCCEEDED macros instead, since not-supported feature
	  is not a critical error
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6955>

2024-04-22 17:04:09 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d12/gstd3d12memory.cpp:
	  d3d12memory: Allow null allocator in alloc()
	  Update code as documented
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6940>

2024-05-21 17:25:10 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* gst/videoparsers/gstav1parse.c:
	  av1parse: Properly transfer TU timestamp
	  When transforming from unknown alignment to frame or obu, the TU timestamp
	  was not properly transferred. Fix this by saving the TU DTS as the first
	  DTS seen within the the TU data, and the PTS as the last PTS seen in that
	  TU data. Finally, reset the TU timestamp after each TU have completed.
	  Fixes #1496
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6895>

2024-05-21 17:22:47 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* gst/videoparsers/gstav1parse.c:
	  av1parse: Only place a marker on the last frame of a TU
	  Markers are meant to indicate the buffer that ends a frame, which imply
	  something can be displayed. The dependent decode only frames should not
	  have markers. This should also fix last subframe detection.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6895>

2024-05-25 16:58:17 +0900  Seungha Yang <seungha@centricular.com>

	* sys/webview2/gstwebview2object.cpp:
	* sys/webview2/gstwebview2object.h:
	* sys/webview2/gstwebview2src.cpp:
	  webview2: Add user-data-folder property
	  Adding a propery to specify location of WebView2's user data folder
	  location.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6921>

2024-04-22 01:15:51 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d12/gstd3d12device.cpp:
	  d3d12: Add support for Device Removed Extended Data (DRED)
	  Enable DRED if "d3d12dred > GST_LEVEL_ERROR", and print
	  DRED debug information on device removed.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6718>

2024-04-16 20:37:23 +0200  Piotr Brzeziński <piotr@centricular.com>

	* sys/applemedia/vtenc.c:
	* sys/applemedia/vtenc.h:
	  vtenc: Enable HEVC with alpha encoding
	  Adds a separate vtenc_h265a element (with a _hw variant as usual) for the HEVCWithAlpha codec type.
	  Decided to go with a separate element to not break existing uses of the normal HEVC encoder.
	  The preserve_alpha property is still only used for ProRes, no need for it here because we explicitly say we want alpha
	  when using the new element.
	  For now, the HEVCWithAlpha has an issue where it does not throttle the amount of input frames queued internally.
	  I added a quick workaround where encode_frame() will block until enqueue_frame() callback notifies it that some space
	  has been freed up in the internal queue. The limit was set to 5, which should be enough I guess? Hopefully this is not
	  too prone to race conditions.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6664>

2024-03-26 18:48:17 +0100  Piotr Brzeziński <piotr@centricular.com>

	* sys/applemedia/vtenc.c:
	  vtenc: Add missing vtenc_h265 docs
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6664>

2024-05-27 15:41:23 +0900  Elliot Chen <elliot.chen@nxp.com>

	* gst/autoconvert/gstbaseautoconvert.c:
	  autovideoconvert: should not forward the allocation query if no element is selected
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6927>

2024-05-27 12:28:44 +0100  Philippe Normand <philn@igalia.com>

	* ext/webrtc/gstwebrtcbin.c:
	* ext/webrtc/webrtcsdp.c:
	* ext/webrtc/webrtcsdp.h:
	* tests/check/elements/webrtcbin.c:
	  webrtcbin: Allow session level setup attribute in SDP
	  An SDP answer can declare its setup attribute at the session level or at the
	  media level. Until this patch we were validating only the latter case and an
	  assert was raised in the former case.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6930>

2024-05-22 14:54:56 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* ext/vulkan/vkh264dec.c:
	  vulkanh264dec: code style fix
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6901>

2024-05-22 14:50:11 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* ext/vulkan/vkh265dec.c:
	  vulkanh265dec: fix reference set
	  `StdVideoDecodeH265PictureInfo.flags.IsReference` refers to section 3.132 ITU-T
	  H.265 specification:
	  reference picture: A picture that is a short-term reference picture or a
	  long-term reference picture.
	  `GstH265Picture.ref` doesn't reflect this, but we need to query the NAL type of
	  the processed slice.
	  This patch fixes the validation layer error
	  `VUID-vkCmdBeginVideoCodingKHR-slotIndex-07239` while using the NVIDIA driver.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6901>

2024-05-10 22:59:15 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12videosink.cpp:
	* sys/d3d12/gstd3d12window.cpp:
	* sys/d3d12/gstd3d12window.h:
	* sys/d3d12/meson.build:
	* tests/examples/d3d12/d3d12videosink-overlay.cpp:
	* tests/examples/d3d12/meson.build:
	  d3d12videosink: Add overlay signal to support d3d12/d3d11/d2d overlay
	  Conceptually identical to the present signal of d3d11videosink.
	  This signal will be emitted with current render target
	  (i.e., swapchain backbuffer) and command queue. Signal handler
	  can record GPU commands for an overlay image or to blend
	  an image to the render target.
	  In addition to d3d12 resources, videosink will send
	  d3d11 and d2d resources depending on "overlay-mode"
	  property, so that signal handler can render by using
	  preferred/required DirectX API.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6838>

2024-05-10 20:08:49 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12videosink.cpp:
	* sys/d3d12/gstd3d12window.cpp:
	* sys/d3d12/gstd3d12window.h:
	  d3d12videosink: Use device's main direct queue
	  The idea of using separate command queue per videosink was that
	  swapchain is bound to a command queue and we need to flush the
	  command queue when window size is changed. But the separate
	  queue does not seem to improve performance a lot.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6838>

2024-05-17 11:13:19 +0300  Sebastian Dröge <sebastian@centricular.com>

	* ext/dtls/gstdtlsconnection.c:
	  dtlsconnection: Fix overflow in timeout calculation on systems with 32 bit time_t
	  If a timeout of more than 4295s was scheduled, the calculation would
	  overflow and a too short timeout would be used instead.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6870>

2023-08-11 17:50:23 +0800  He Junyan <junyan.he@intel.com>

	* sys/kms/gstkmsallocator.c:
	  kmssink: Do not close the DRM prime handle twice
	  The prime_fds for multi planes may be the same. For example, on Intel's
	  platform, the NV12 surface may have the same FD for the plane0 and the
	  plane1. Then, the DRM_IOCTL_GEM_CLOSE will close the same handle twice
	  and get an "Invalid argument 22" error the second time.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6914>

2024-04-17 12:19:03 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/vulkan/gstvkformat.c:
	* tests/check/libs/vkformat.c:
	  vkformat: try UNORM format first and decouple them from colorimetry
	  From the spec (chapter 34, v1.3.283):
	  ````
	  UNORM: the components are unsigned normalized values in the range [0, 1]
	  SRGB: the R, G and B components are unsigned normalized value that represent
	  values using sRGB nonlinear encoding, while the A component (if one
	  exists) is a regular unsigned normalized value
	  ```
	  The difference is the storage encoding, the first one is aimed for image
	  transfers, while the second is for shaders, mostly in the swapchain stage in the
	  pipeline, and it's done automatically if needed [1].
	  As far as I have checked, other frameworks (FFmpeg, GTK+), when import or export
	  images from/to Vulkan, use exclusively UNORM formats, while SRGB formats are
	  ignored.
	  My conclusion is that Vulkan formats are related on how bits are stored in
	  memory rather their transfer functions (colorimetry).
	  This patch does two interrelated changes:
	  1. It swaps certain color format maps to try first, in both
	  gst_vulkan_format_from_video_info() and gst_vulkan_format_from_video_info_2(),
	  the UNORM formats, when comparing its usage, and later check for SRGB.
	  2. It removes the code that check for colorimetry in
	  gst_vulkan_format_from_video_info_2(), since it not storage related.
	  1. https://community.khronos.org/t/noob-difference-between-unorm-and-srgb/106132/7
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6797>

2024-05-23 19:10:10 +0900  Seungha Yang <seungha@centricular.com>

	* tests/check/libs/d3d11device.cpp:
	* tests/check/meson.build:
	  Revert "tests/d3d11: add concurrency test for gstd3d11device"
	  This reverts commit 8e0046a738070ca3c5441222da241a0582103fe7.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6904>

2024-05-23 17:29:54 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d11/gstd3d11device.cpp:
	* tests/check/libs/d3d11device.cpp:
	  Revert "d3d11device: protect device_lock vs device_new"
	  This reverts commit 926d5366b99b3498632a45147cfa329dbbf2cc30.
	  AcquireSRWLockExclusive seems to be acquiring lock in exclusive mode
	  when the same lock is combined with write lock access.
	  Reverting the commit because of this is unexpected behavior
	  and unavoidable OS bug.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6904>

2024-05-22 12:28:39 +0100  Daniel Stone <daniels@collabora.com>

	* gst-libs/gst/wayland/gstwldisplay.c:
	* gst-libs/gst/wayland/meson.build:
	  wayland: Use wl_display_create_queue_with_name
	  Wayland 1.23 and above allow us to attach names to an event queue, which
	  are printed out when debugging. Do this to make the logs easier to read.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6900>

2024-05-23 00:48:11 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/cuda/gstcudamemory.cpp:
	  cudamemory: Fix offset of subsampled planar formats
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6903>

2024-05-21 16:59:10 +0300  Sebastian Dröge <sebastian@centricular.com>

	* docs/plugins/gst_plugins_cache.json:
	* ext/aom/gstav1enc.c:
	* ext/aom/gstav1enc.h:
	  av1enc: Add timebase property to allow configuring a specific timebase
	  This mirrors the same property in vp8enc / vp9enc.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6891>

2024-05-21 16:58:26 +0300  Sebastian Dröge <sebastian@centricular.com>

	* ext/aom/gstav1enc.c:
	  av1enc: Use 1/90000 as timebase and don't use the framerate at all
	  This mirrors the behaviour in vp8enc / vp9enc and is generally more
	  useful than using any framerate from the caps as it provides some degree
	  of accuracy if the stream doesn't have timestamps perfectly according to
	  the framerate.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6891>

2024-05-21 16:46:40 +0300  Sebastian Dröge <sebastian@centricular.com>

	* ext/aom/gstav1enc.c:
	* ext/aom/gstav1enc.h:
	  av1enc: Fix last timestamp tracking so it actually works
	  This behaves exactly the same as in vp8enc / vp9enc now.
	  Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3546
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6891>

2024-05-16 20:02:25 +0900  Elliot Chen <elliot.chen@nxp.com>

	* gst/autoconvert/gstbaseautoconvert.c:
	  autovideoconvert: fix double unref
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6865>

2024-05-03 19:33:08 -0400  Olivier Crête <olivier.crete@collabora.com>

	* ext/onnx/decoders/gstssdobjectdetector.c:
	* ext/onnx/decoders/gstssdobjectdetector.h:
	  ssdobjectdetector: Add size threshold to drop too big detections
	  There is a known "failure" mode where the SSD detector finds an object
	  which is the whole frame. So skip objects which are "too big" to avoid
	  this.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6810>

2024-05-17 14:40:52 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvah264enc.c:
	* sys/va/gstvah265enc.c:
	  vah26{4,5}enc: No need to assert i>=0 in frame_setup_from_gop()
	  The value is an uint here and never be negative.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6868>

2024-05-15 15:32:43 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* sys/va/gstvah264enc.c:
	* sys/va/gstvah265enc.c:
	  vah26xenc: factorize the encoder frame setup
	  A simple removal of duplicated code.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6854>

2024-05-15 15:56:37 -0500  Brad Reitmeyer <brad.reitmeyer@resi.io>

	* docs/plugins/gst_plugins_cache.json:
	* sys/nvcodec/gstnvh264dec.cpp:
	  nvcodec: Accept progressive-high profiles for h264
	  Videos using progressive-high used to work on 1.16 before the parser added progressive-high. It looks like partial
	  support was added to nvcodec in https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1634
	  but accidentally ommited gstnvh264dec
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6862>

2024-05-16 14:51:46 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* tests/examples/va/vaenc-dynamic-reconfigure.c:
	  examples: va: add option for enabling alive stream
	  This is useful to test va encoding for live streams which should enable output
	  delay.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4359>

2024-05-16 08:35:30 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvaav1enc.c:
	* sys/va/gstvabaseenc.c:
	* sys/va/gstvabaseenc.h:
	* sys/va/gstvah264enc.c:
	* sys/va/gstvah265enc.c:
	* sys/va/gstvavp9enc.c:
	  vabaseenc: Set the correct min_buffers for propose_allocation()
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4359>

2024-04-04 22:52:23 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvaav1enc.c:
	  va: av1enc: Set preferred_output_delay value to increase performance
	  Also calculate the correct latency.
	  In live mode, preferred_output_delay is disabled.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4359>

2024-04-04 22:43:05 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvavp9enc.c:
	  va: vp9enc: Set preferred_output_delay value to increase performance
	  Also calculate the correct latency.
	  In live mode, preferred_output_delay is disabled.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4359>

2024-04-04 22:33:44 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvah265enc.c:
	  va: h265enc: Set preferred_output_delay value to increase performance
	  Also calculate the correct latency.
	  In live mode, preferred_output_delay is disabled.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4359>

2024-04-04 22:22:04 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvah264enc.c:
	  va: h264enc: Set preferred_output_delay value to increase performance
	  Also calculate the correct latency.
	  In live mode, preferred_output_delay is disabled.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4359>

2023-04-24 16:56:16 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvabaseenc.c:
	* sys/va/gstvabaseenc.h:
	  va: baseenc: Add is_live field to check the live stream
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4359>

2024-04-04 21:25:51 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvabaseenc.c:
	* sys/va/gstvabaseenc.h:
	  va: baseenc: Add a preferred_output_delay field for GPU parallel processing
	  The encoder can specify the a preferred_output_delay value to get better throughput
	  performance. The higher delay may get better HW performance, but it may increases
	  the encoder and pipeline latency.
	  When the output queue length is smaller than preferred_output_delay, the encoder
	  will not block to waiting for the encoding output. It will continue to prepare and
	  send more commands to GPU, which may improve the encoder throughput performance.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4359>

2023-04-06 19:57:29 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvabaseenc.c:
	  va: encoder: Do not continue when push_buffer gets error
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4359>

2024-04-02 22:47:58 +0800  He Junyan <junyan.he@intel.com>

	* gst-libs/gst/va/vasurfaceimage.c:
	  va: libs: Use va_check_surface_has_status() to implement va_check_surface()
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4359>

2023-04-06 19:39:04 +0800  He Junyan <junyan.he@intel.com>

	* gst-libs/gst/va/vasurfaceimage.c:
	* gst-libs/gst/va/vasurfaceimage.h:
	  va: libs: Add va_check_surface_has_status() helper function
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4359>

2023-04-06 19:33:02 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvaav1enc.c:
	* sys/va/gstvabaseenc.h:
	* sys/va/gstvah264enc.c:
	* sys/va/gstvah265enc.c:
	* sys/va/gstvavp9enc.c:
	  va: encoder: Use GstVaEncFrame as the base object for all Enc Frame
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4359>

2024-05-14 14:44:45 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst/mpegtsmux/gstbasetsmux.c:
	  mpegtsmux: Allow pads to have no caps until they receive their first buffer
	  If the muxer times out because of the latency deadline it can happen
	  that some pads have no caps yet. In that case skip creation of streams
	  for these pads and create updated section tables once the first buffer
	  arrives later.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6823>

2024-05-09 17:11:59 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst/mpegtsmux/gstbasetsmux.c:
	  mpegtsmux: Correctly time out and mux anyway in live pipelines
	  This makes sure that for sparse streams (KLV, DVB subtitles, ...) the
	  muxer does not wait until the next buffer is available for them but
	  times out on the latency deadline and outputs data.
	  For non-live pipelines it will still be necessary for upstream to
	  correctly produce gap events for sparse streams.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6823>

2024-04-28 18:26:43 +0900  Seungha Yang <seungha@centricular.com>

	* sys/nvcodec/gstnvav1encoder.cpp:
	* sys/nvcodec/gstnvav1encoder.h:
	* sys/nvcodec/gstnvencobject.cpp:
	* sys/nvcodec/gstnvencobject.h:
	* sys/nvcodec/meson.build:
	* sys/nvcodec/plugin.c:
	  nvcodec: Add AV1 encoder
	  Adding CUDA mode "nvav1enc", D3D11 mode "nvd3d11av1enc" and auto GPU
	  mode "nvautogpuav1enc" elements
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6754>

2024-04-28 18:35:56 +0900  Seungha Yang <seungha@centricular.com>

	* sys/nvcodec/gstnvh264encoder.cpp:
	* sys/nvcodec/gstnvh265encoder.cpp:
	* sys/nvcodec/plugin.c:
	  nvcodec: Rename nvcuda{h264,h265}enc to nv{h264,h265}enc
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6754>

2024-05-12 18:49:09 +0900  Seungha Yang <seungha@centricular.com>

	* sys/nvcodec/gstnvbaseenc.c:
	* sys/nvcodec/gstnvbaseenc.h:
	* sys/nvcodec/gstnvenc.c:
	* sys/nvcodec/gstnvenc.h:
	* sys/nvcodec/gstnvh264enc.c:
	* sys/nvcodec/gstnvh264enc.h:
	* sys/nvcodec/gstnvh265enc.c:
	* sys/nvcodec/gstnvh265enc.h:
	* sys/nvcodec/meson.build:
	* sys/nvcodec/plugin.c:
	  nvcodec: Remove old nvenc implementation
	  Stop shipping deprecated implementation
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6754>

2024-04-28 17:39:39 +0900  Seungha Yang <seungha@centricular.com>

	* sys/nvcodec/gstnvenc.c:
	  nvcodec: Bump minimum supported SDK version to 10.0
	  New preset (i.e., P1 ~ P7) requires SDK 10.0 or newer
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6754>

2024-04-24 01:47:51 +0900  Seungha Yang <seungha@centricular.com>

	* sys/nvcodec/cuviddec.h:
	* sys/nvcodec/gstnvenc.c:
	* sys/nvcodec/gstnvh264encoder.cpp:
	* sys/nvcodec/gstnvh265encoder.cpp:
	* sys/nvcodec/nvEncodeAPI.h:
	* sys/nvcodec/nvcuvid.h:
	  nvcodec: Update SDK header to 12.0.16
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6754>

2024-05-12 21:56:23 +0900  Seungha Yang <seungha@centricular.com>

	* sys/nvcodec/gstnvencoder.cpp:
	* sys/nvcodec/gstnvencoder.h:
	* sys/nvcodec/gstnvh264encoder.cpp:
	* sys/nvcodec/gstnvh265encoder.cpp:
	  nvencoder: Enhance lagacy encoding profile mapping
	  Updated based on the NVENC Preset Migration Guide
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6754>

2024-05-12 18:21:27 +0900  Seungha Yang <seungha@centricular.com>

	* sys/nvcodec/gstnvencoder.cpp:
	* sys/nvcodec/gstnvencoder.h:
	* sys/nvcodec/gstnvh264encoder.cpp:
	* sys/nvcodec/gstnvh265encoder.cpp:
	  nvencoder: Update property names and default value
	  ... to be the same as old NVENC elements
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6754>

2024-04-12 21:48:13 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvah265enc.c:
	  vah265enc: Let FORCE_KEYFRAME be IDR frame rather than just I frame
	  The FORCE_KEYFRAME frame which has GST_VIDEO_CODEC_FRAME_FLAG_FORCE_KEYFRAME
	  bit set should be the sync point. So we should let it be an IDR frame to begin
	  a new GOP, rather than just promote it to an I frame.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6619>

2024-04-09 23:40:41 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvah264enc.c:
	  vah264enc: Let FORCE_KEYFRAME be IDR frame rather than just I frame
	  The FORCE_KEYFRAME frame which has GST_VIDEO_CODEC_FRAME_FLAG_FORCE_KEYFRAME
	  bit set should be the sync point. So we should let it be an IDR frame to begin
	  a new GOP, rather than just promote it to an I frame.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6619>

2024-04-12 16:09:26 +0800  He Junyan <junyan.he@intel.com>

	* tests/examples/va/vaenc-dynamic-reconfigure.c:
	  examples: vaenc-dynamic: support force key frame setting
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6619>

2024-05-14 10:54:03 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvaav1enc.c:
	* sys/va/gstvabaseenc.c:
	* sys/va/gstvah264enc.c:
	* sys/va/gstvah265enc.c:
	* sys/va/gstvavp9enc.c:
	  vaenc: Allow to set the max-qp and min-qp for QVBR and ICQ modes
	  In fact, these setting can work well.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6841>

2024-05-14 10:31:05 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvah264enc.c:
	* sys/va/gstvah265enc.c:
	  vah26{4,5}enc: Set the qp_p and qp_b to qp_i value in ICQ and QVBR
	  Set the P and B frame qp to I frame value to avoid generating delta
	  QP between different frame types. For ICQ and QVBR modes, we can
	  only set the qpi value, so the qpp and qpb values should be set to
	  the same value as the qpi.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6841>

2024-05-13 21:27:05 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12decoder.cpp:
	  d3d12decoder: Fix SDK debug layer warning
	  Address below message reported by SDK debug layer.
	  ID3D12Device::CheckFeatureSupport: Unsupported Decode Profile Specified.
	  Use ID3D12VideoDevice::CheckFeatureSupport with D3D12_FEATURE_VIDEO_DECODE_PROFILES
	  to retrieve a list of supported profiles
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6839>

2024-05-11 13:29:36 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvavp9enc.c:
	  vavp9enc: Do not use base class video info to calculate coded size
	  We should use our in_info which is an adjusted value to calculate
	  that coded size.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6826>

2024-03-16 19:37:35 +0100  Mark Nauwelaerts <mnauw@users.sourceforge.net>

	* gst/dvdspu/gstdvdspu.c:
	* gst/dvdspu/gstspu-pgs.c:
	* gst/dvdspu/gstspu-pgs.h:
	  dvdspu: use multiple minimal sized PGS overlay rectangles
	  ... rather than possibly 1 large at full video size
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6413>

2024-05-12 18:15:05 +0900  Seungha Yang <seungha@centricular.com>

	* sys/nvcodec/gstnvh264encoder.cpp:
	* sys/nvcodec/gstnvh265encoder.cpp:
	  nvencoder: Fix maximum QP value setting
	  Fixing typo
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6827>

2024-05-06 14:55:32 +0300  Sebastian Dröge <sebastian@centricular.com>

	* meson_options.txt:
	* sys/aja/gstajasrc.cpp:
	* sys/aja/meson.build:
	  aja: Update to AJA NTV2 17.0.1
	  Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3289
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6808>

2024-04-15 13:38:15 +0200  Robert Mader <robert.mader@collabora.com>

	* sys/v4l2codecs/gstv4l2decoder.c:
	  v4l2codecs: decoder: Reorder caps to prefer DMA_DRM ones
	  Certain V4L2 fourccs don't (yet) have DRM counter parts, in which case
	  we can't create DMA_DRM caps for them. This is usually the case for
	  specific tilings, which are represented as modifiers for DMA formats.
	  While using these tilings is generally preferable - because of e.g.
	  lower memory usage - it can result in additional conversion steps when
	  interacting with DMA based APIs such as GL, Vulkan or KMS. In such cases
	  using a DMA compatible format usually ends up being the better option.
	  Before the addition of DMA_DRM caps, this was what playbin3 ended up
	  requesting in various cases - e.g. prefering NV12 over NV12_4L4 - but
	  the addition of DMA_DRM caps seems to confuse the selection logic.
	  As a simple and quite robust solution, assume that peers supporting
	  DMA_DRM caps always prefer these and reorder the caps accordingly.
	  In the future we plan to have a translation layer for cases where
	  there is a matching fourcc+modifier pair for a V4L2 fourcc, ensuring
	  optimal results.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6645>

2024-05-04 11:56:05 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/play/gstplay.c:
	* gst-libs/gst/player/gstplayer.c:
	  play: Mention that gst_play_new() also initialized GStreamer
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6801>

2024-05-04 11:54:16 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/play/gstplay.c:
	* gst-libs/gst/player/gstplayer.c:
	  play: Initialize debug category and error quark in class_init
	  Doing it in gst_play_new() means that bindings that directly call
	  g_object_new() with the GType wouldn't end up initializing both.
	  This affects at least the Python and GJS bindings.
	  gst_init() is nonetheless only called from gst_play_new() once because
	  calling it from class_init would likely lead to problems as that's
	  called from somewhere in the middle of GObject.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6801>

2024-05-07 10:35:26 +0200  Emil Pettersson <khwaaj@gmail.com>

	* sys/applemedia/vtdec.c:
	  vtdec: Fix deadlock when negotiating format change
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6811>

2024-03-12 14:25:31 +1100  Matthew Waters <matthew@centricular.com>

	* docs/plugins/gst_plugins_cache.json:
	* ext/closedcaption/gstcccombiner.c:
	* ext/closedcaption/gstcccombiner.h:
	  cccombiner: add support for timing out captions without EOS
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6335>

2024-05-07 11:18:10 +0200  Piotr Brzeziński <piotr@centricular.com>

	* tests/check/elements/audiovisualizer.c:
	* tests/check/meson.build:
	  audiovisualizer: Add simple pipeline unit test
	  Creates pipelines with each of our visualizer elements and runs them with 20 buffers from audiotestsrc.
	  Added after a completely broken (segfaulting) synaescope went unnoticed for a while.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6800>

2024-04-29 18:24:36 +0100  Tim-Philipp Müller <tim@centricular.com>

	* tests/check/elements/unixfd.c:
	  unixfd: disable flaky test_unixfd_segment for now
	  It's a problem with the test, and a proper fix might
	  require new API, so just disable it for now.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6813>

2024-04-18 17:07:25 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/codecs/gstav1decoder.c:
	* gst-libs/gst/codecs/gsth264decoder.c:
	* gst-libs/gst/codecs/gsth265decoder.c:
	* gst-libs/gst/codecs/gstmpeg2decoder.c:
	* gst-libs/gst/codecs/gstvp8decoder.c:
	* gst-libs/gst/codecs/gstvp9decoder.c:
	* gst-libs/gst/d3d12/gstd3d12fencedatapool.cpp:
	* gst/codectimestamper/gstcodectimestamper.c:
	* gst/mpegpsmux/psmuxstream.c:
	* sys/aja/gstajacommon.cpp:
	* sys/aja/gstajacommon.h:
	* sys/aja/gstajasink.cpp:
	* sys/aja/gstajasink.h:
	* sys/aja/gstajasrc.cpp:
	* sys/aja/gstajasrc.h:
	* sys/applemedia/vtdec.c:
	* sys/applemedia/vtdec.h:
	* sys/applemedia/vtenc.c:
	* sys/applemedia/vtenc.h:
	* sys/d3d12/gstd3d12decoder.cpp:
	* sys/d3d12/gstd3d12encoder.cpp:
	* sys/decklink/gstdecklink.cpp:
	* sys/decklink/gstdecklinkaudiosrc.cpp:
	* sys/decklink/gstdecklinkaudiosrc.h:
	* sys/decklink/gstdecklinkvideosrc.cpp:
	* sys/decklink/gstdecklinkvideosrc.h:
	* sys/mediafoundation/gstmfcapturewinrt.cpp:
	* sys/mediafoundation/gstmfsourcereader.cpp:
	* sys/v4l2codecs/gstv4l2decoder.c:
	* sys/va/gstvabaseenc.c:
	* sys/va/gstvabaseenc.h:
	  gst: Move GstQueueArray as GstVecDeque to core
	  And change lengths and indices from guint to gsize for a more correct type.
	  Also deprecate GstQueueArray and implement it in terms of GstVecDeque.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6779>

2024-05-06 20:50:21 +1000  Matthew Waters <matthew@centricular.com>

	* ext/webrtc/gstwebrtcbin.c:
	  webrtc: request-aux-sender, only sink floating refs
	  Don't add an extra ref if non-floating as that ref will never be
	  unreffed.
	  gst_bin_add() is transfer floating (alias to transfer none).
	  Fixes a leak when a non-floating ref was provided as a return value in
	  the request-aux-sender signal.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6807>

2024-05-04 19:52:59 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3dshader/converter-hlsl/PSMain_converter.hlsl:
	  d3dshader: Fix gamma and primaries conversion pixel shader
	  Fixing regression introduced by the commit of f52ecb960792257b7394a6dc3182b6747c902b5b
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6802>

2024-04-22 09:48:14 +0200  Stéphane Cerveau <scerveau@igalia.com>

	* gst-libs/gst/vulkan/gstvkvideo-private.c:
	* gst-libs/gst/vulkan/gstvkvideo-private.h:
	* gst-libs/gst/vulkan/gstvkvideoutils.c:
	* gst-libs/gst/vulkan/gstvkvideoutils.h:
	* tests/check/libs/vkvideoh265encode.c:
	* tests/check/meson.build:
	  tests: add vulkan H.265 encode
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6676>

2023-07-10 14:44:05 +0200  Stéphane Cerveau <scerveau@igalia.com>

	* gst-libs/gst/vulkan/gstvkvideoutils.c:
	* gst-libs/gst/vulkan/gstvkvideoutils.h:
	* tests/check/libs/vkcodecparams_h264.c:
	* tests/check/libs/vkcodecparams_h265.c:
	* tests/check/libs/vkvideodecode.c:
	* tests/check/libs/vkvideoh264encode.c:
	* tests/check/meson.build:
	  tests: add Vulkan H.264 encode
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6676>

2024-02-01 20:43:04 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/vulkan/gstvkconfig.h.meson:
	* gst-libs/gst/vulkan/gstvkdevice.c:
	* gst-libs/gst/vulkan/gstvkencoder-private.c:
	* gst-libs/gst/vulkan/gstvkencoder-private.h:
	* gst-libs/gst/vulkan/gstvkimagebufferpool.c:
	* gst-libs/gst/vulkan/gstvkimagebufferpool.h:
	* gst-libs/gst/vulkan/gstvkoperation.c:
	* gst-libs/gst/vulkan/gstvkoperation.h:
	* gst-libs/gst/vulkan/gstvkvideo-private.c:
	* gst-libs/gst/vulkan/gstvkvideo-private.h:
	* gst-libs/gst/vulkan/gstvkvideoutils.h:
	* gst-libs/gst/vulkan/meson.build:
	* gst-libs/gst/vulkan/vulkan_fwd.h:
	  vkencoder: add gstvkencoder helper object
	  Add a gstvkencoder class to support Vulkan encoder such as H26X
	  formats.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6676>

2024-04-27 01:13:18 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d11/gstd3d11-private.h:
	* gst-libs/gst/d3d11/gstd3d11converter.cpp:
	* gst-libs/gst/d3d11/gstd3d11device.cpp:
	* gst-libs/gst/d3dshader/gstd3dshadercache.cpp:
	  d3d11: Add support for Y216 and Y416 formats
	  We were mapping Y212 and Y412 formats to DXGI_FORMAT_{Y216,Y416}.
	  Reuse already implemented shaders for the new formats
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6745>

2024-04-27 00:37:52 +0900  Seungha Yang <seungha@centricular.com>

	* docs/plugins/gst_plugins_cache.json:
	  video: Add Y216 and Y416 formats
	  The same memory layout as Y212 and Y412 formats, respectively
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6745>

2024-05-03 22:57:57 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvah265enc.c:
	  vah265enc: Fix a memory leak when destroying the object
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6791>

2024-05-03 12:08:19 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvah265enc.c:
	  vah265enc: Use a FIFO queue to generate DTS
	  The base parse will infer the DTS by itself, so we need to make DTS
	  offset before PTS in order to avoid DTS bigger than PTS. We now use
	  a FIFO queue to store all PTS and assign it to DTS by an offset.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6791>

2024-05-02 14:18:16 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvabaseenc.c:
	* sys/va/gstvabaseenc.h:
	* sys/va/gstvah264enc.c:
	  vah264enc: Use a FIFO queue to generate DTS
	  The base parse will infer the DTS by itself, so we need to make DTS
	  offset before PTS in order to avoid DTS bigger than PTS. We now use
	  a FIFO queue to store all PTS and assign it to DTS by an offset.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6791>

2024-04-30 16:55:05 +0200  Stéphane Cerveau <scerveau@igalia.com>

	* ext/vulkan/vkh264dec.c:
	* ext/vulkan/vkh265dec.c:
	* gst-libs/gst/vulkan/gstvkdecoder-private.c:
	  vkdecoder: change dstmask in decoder frame barrier
	  Use of VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT instead of
	  specific VK_PIPELINE_STAGE_2_VIDEO_DECODE_BIT_KHR
	  Fix for VUID-vkCmdPipelineBarrier2-srcStageMask-03849
	  pDependencyInfo->pImageMemoryBarriers[0].srcStageMask
	  (VK_PIPELINE_STAGE_2_VIDEO_DECODE_BIT_KHR) is not compatible with
	  the queue family properties
	  (VK_QUEUE_GRAPHICS_BIT|VK_QUEUE_COMPUTE_BIT|VK_QUEUE_TRANSFER_BIT|
	  VK_QUEUE_SPARSE_BINDING_BIT|VK_QUEUE_PROTECTED_BIT) of this
	  command buffer. The Vulkan spec states: The srcStageMask member
	  of any element of the pMemoryBarriers, pBufferMemoryBarriers, or
	  pImageMemoryBarriers members of pDependencyInfo must only
	  include pipeline stages valid for the queue family that was
	  used to create the command pool that commandBuffer was allocated
	  from (
	  https://www.khronos.org/registry/vulkan/specs/1.3-extensions/
	  html/vkspec.html#VUID-vkCmdPipelineBarrier2-srcStageMask-03849)
	  The frame barrier should use a compatible srcStageMask for all
	  the queues.
	  Remove reset_pipeline_stage_mask as it is redundant
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6780>

2024-05-02 11:51:03 +0200  Rafael Caricio <rcaricio@netflix.com>

	* gst/videoparsers/gstav1parse.c:
	  av1parse: No default will trigger warning at compile time
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6778>

2024-05-01 13:40:06 +0200  Rafael Caricio <rcaricio@netflix.com>

	* gst/videoparsers/gstav1parse.c:
	  av1parse: Add max-level and max-tier to caps
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6778>

2024-04-30 13:24:42 +0200  Rafael Caricio <rcaricio@netflix.com>

	* gst/videoparsers/gstav1parse.c:
	  av1parse: Add level and tier to caps
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6778>

2024-02-29 12:31:47 +0100  Loïc Le Page <llepage@igalia.com>

	* ext/soundtouch/gstbpmdetect.cc:
	* ext/soundtouch/gstpitch.cc:
	* ext/soundtouch/meson.build:
	* tests/validate/meson.build:
	* tests/validate/pitch/change_pitch_properties.validatetest:
	* tests/validate/pitch/change_pitch_properties/flow-expectations/log-pitch-src-expected:
	* tests/validate/pitch/maintain_pitch_with_variable_playback_rates.validatetest:
	* tests/validate/pitch/maintain_pitch_with_variable_playback_rates/flow-expectations/log-pitch-src-expected:
	* tests/validate/pitch/pitch-test.meta:
	* tests/validate/pitch/reverse.change_pitch_properties.validatetest:
	* tests/validate/pitch/reverse.change_pitch_properties/flow-expectations/log-pitch-src-expected:
	* tests/validate/pitch/reverse.maintain_pitch_with_variable_playback_rates.validatetest:
	* tests/validate/pitch/reverse.maintain_pitch_with_variable_playback_rates/flow-expectations/log-pitch-src-expected:
	  pitch: add validate tests
	  Add pitch tests with different forward and backward playback rates.
	  Those tests depend on the libSoundTouch version to validate the buffers
	  checksums. The actual version uses libSoundTouch 2.3.2, use the
	  `--force-fallback-for=soundtouch` meson option to build using the same
	  version.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6247>

2024-02-29 12:27:23 +0100  Loïc Le Page <llepage@igalia.com>

	* tests/files/audio-8s-then-reverse.ogg:
	* tests/interactive/meson.build:
	* tests/interactive/pitch-playback-test.c:
	  pitch: add interactive test
	  Test pitch with different forward and backward playback rates.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6247>

2024-02-28 19:34:15 +0100  Loïc Le Page <llepage@igalia.com>

	* ext/soundtouch/gstpitch.cc:
	* ext/soundtouch/gstpitch.hh:
	  pitch: make it work with reverse playback
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6247>

2024-02-28 18:47:58 +0100  Loïc Le Page <llepage@igalia.com>

	* ext/soundtouch/gstpitch.cc:
	  pitch: fix multithread accesses
	  - fully protect accesses to the libsoundtouch API that is not
	  thread-safe.
	  - fully protect accesses to GstPitch members that could be read by a
	  downstream query thread while written by an upstream streaming thread
	  or a user thread.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6247>

2024-02-28 14:05:11 +0100  Loïc Le Page <llepage@igalia.com>

	* ext/soundtouch/gstpitch.cc:
	* ext/soundtouch/gstpitch.hh:
	  pitch: refactor some variables names
	  - use the `GST_PITCH_GET_PRIVATE` accessor when needed
	  - rename `out_seg_rate` to `output_rate` to use the same name as the parameter
	  - rename `seg_arate` to `segment_applied_rate` to improve readability
	  - apply gst-indent to gstpitch.hh/cc
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6247>

2024-02-28 13:21:51 +0100  Loïc Le Page <llepage@igalia.com>

	* ext/soundtouch/gstpitch.cc:
	  pitch: fix time ratio computation
	  When changing playing rate, the output segment was not correctly
	  calculated because the stream time ratio was computed using the previous
	  input segment rate instead of using the actual rate. This was producing
	  wrong results for the output segment start and end values.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6247>

2024-05-01 00:12:42 +0900  Seungha Yang <seungha@centricular.com>

	* sys/qsv/gstqsvh264dec.cpp:
	* sys/qsv/gstqsvh265dec.cpp:
	  qsvh264dec,qsvh265dec: Fix nalu leaks
	  Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3514
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6781>

2024-04-30 18:15:56 +0200  Piotr Brzeziński <piotr@centricular.com>

	* sys/applemedia/vtdec.c:
	  vtdec: Fix PAUSED->READY deadlock when output loop is running
	  Makes sure the GST_PAD_STREAM_LOCK is not taken when pad is being deactivated.
	  The lack of this was causing deadlocks when stopping the pipeline right after producing first buffers.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6783>

2024-04-30 18:08:27 +0200  Stéphane Cerveau <scerveau@igalia.com>

	* ext/vulkan/vkh264dec.c:
	* ext/vulkan/vkh265dec.c:
	  vkh26xdec: Fix stop memory leak
	  The h26xdecoder 'stop' method was not called
	  as the vulkan h26x class rewires the video decoder
	  'stop' base method to its own one.
	  It was causing some memory leaks such as dangling parser
	  and dpb in h26xdecoder base class.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6782>

2024-04-30 11:20:54 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvaav1enc.c:
	* sys/va/gstvabaseenc.c:
	* sys/va/gstvabaseenc.h:
	* sys/va/gstvavp9enc.c:
	  vabaseenc: delete the useless frame counter fields
	  They are used to calculate the PTS and DTS before, no usage now.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6773>

2024-04-30 11:12:05 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvabaseenc.c:
	  vabaseenc: Do not set the min_pts
	  Because all the va encoders improved their PTS/DTS algorithm, now
	  it is impossible to generate minus DTS. So no underflow will happen
	  and we do not need to set a 1000 hour offset now.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6773>

2024-04-26 17:12:03 +0800  Mengkejiergeli Ba <mengkejiergeli.ba@intel.com>

	* sys/msdk/gstmsdkcaps.c:
	  msdk: Add Y212 format to hevc encoder static raw caps
	  Note that static caps is used for the old MSDK dispatch.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6750>

2024-04-22 15:03:56 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvah265enc.c:
	  vah265enc: Set the correct buffer flag for output
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6703>

2024-04-22 14:44:53 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvah264enc.c:
	  vah264enc: Set the correct buffer flag for output
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6703>

2024-04-21 14:55:31 +0800  Seungha Yang <seungha@centricular.com>

	* sys/va/gstvabaseenc.c:
	  vabaseenc: Fix frame leak on error path
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6703>

2024-04-21 14:48:02 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvah265enc.c:
	  vah265enc: Do not touch the PTS of output frame
	  1. The PTS of all frames should not be changed.
	  2. Just update the DTS based on the PTS. For the frame which is not
	  reordered, the DTS is equal to PTS. For frame which is reordered,
	  the DTS is equal to previous DTS. For example:
	  Input: F0[D0, P0] -- F1[D1, P1] -- F2[D2, P2] -- F3[D3, P3]
	  Output: F0[I, D0, P0] -- F3[P, D0, P3] -- F1[B, D1, P1] -- F2[B, D2, P2]
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6703>

2024-04-21 12:51:31 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvah264enc.c:
	  vah264enc: Do not touch the PTS of output frame
	  1. The PTS of all frames should not be changed.
	  2. Just update the DTS based on the PTS. For the frame which is not
	  reordered, the DTS is equal to PTS. For frame which is reordered,
	  the DTS is equal to previous DTS. For example:
	  Input: F0[D0, P0] -- F1[D1, P1] -- F2[D2, P2] -- F3[D3, P3]
	  Output: F0[I, D0, P0] -- F3[P, D0, P3] -- F1[B, D1, P1] -- F2[B, D2, P2]
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6703>

2024-04-28 23:37:55 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12decoder.cpp:
	  d3d12decoder: Fix d3d12 resource copy
	  It was copying to self resource
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6753>

2024-04-28 23:34:37 +0900  Seungha Yang <seungha@centricular.com>

	* sys/nvcodec/gstnvh265encoder.cpp:
	  nvh265encoder: Fix crash with RGBx and BGRx
	  Both formats need to be handled in switch
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6752>

2024-04-27 22:54:14 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12ipcclient.cpp:
	  d3d12ipcclient: Fix deadlock when copying texture
	  Fixing deadlock in below case
	  * GC lock is taken by background thread, and the background thread calls
	  gst_d3d12_ipc_client_release_imported_data() which takes ipc lock
	  * ipc lock is already taken in ipc thread and trying to pushing GC data
	  via gst_d3d12_command_queue_set_notify()
	  * gst_d3d12_command_queue_set_notify() is trying to take GC lock
	  but it's already taken by background thread
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6749>

2024-04-27 22:02:59 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12ipcsink.cpp:
	  d3d12ipcsink: Handle external fence
	  Waits external fence before sending frame to peer.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6749>

2024-04-27 23:34:35 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12decoder.cpp:
	  d3d12decoder: Remove CPU-side waiting
	  Sets decoder command queue's fence to memory instead of waiting
	  from decoder's output thread. CPU-side waiting will happen
	  only if download is required.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6749>

2024-04-27 21:32:23 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12dxgicapture.cpp:
	  d3d12screencapturesrc: Fix output to non-d3d12 element
	  Configures upload/download flags to memory after write
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6749>

2024-04-27 20:23:32 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12dxgicapture.cpp:
	  d3d12screencapturesrc: Release and flush d3d11 objects before d3d12
	  Fixing device-removed error when closing pipeline
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6749>

2024-04-27 20:10:53 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d12/gstd3d12memory.cpp:
	  d3d12memory: Do not wait external fence on map()
	  Only wait for external fence if upload or download is required.
	  Waiting for external fence in case of d3d12 mapping is caller's
	  responsibility
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6749>

2024-04-27 23:30:40 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12encoder.cpp:
	  d3d12encoder: Handle external fence explicitly
	  Waits for external fence if any
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6749>

2024-04-27 19:46:51 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d12/gstd3d12converter.cpp:
	* gst-libs/gst/d3d12/gstd3d12converter.h:
	* sys/d3d12/gstd3d12compositor.cpp:
	* sys/d3d12/gstd3d12convert.cpp:
	* sys/d3d12/gstd3d12dxgicapture.cpp:
	* sys/d3d12/gstd3d12testsrc.cpp:
	* sys/d3d12/gstd3d12window.cpp:
	* sys/dwrite/gstdwriterender_d3d12.cpp:
	  d3d12converter: Add support for GPU-side external fence waiting
	  Ideally, GPU waiting should be scheduled just before executing command list.
	  But handling the case outside of converter is a bit complicated.
	  Under an assumption that constructed command list will be executed
	  immediately, schedules GPU-side waiting inside of conversion method
	  to simplify the flow.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6749>

2024-04-27 18:44:26 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d12/gstd3d12memory.h:
	  d3d12memory: Use explicit type for GST_MAP_D3D12 define
	  C++ compiler will complain about different type between int and GstMapFlags
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6749>

2024-04-27 23:29:40 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d12/gstd3d12frame.cpp:
	* gst-libs/gst/d3d12/gstd3d12frame.h:
	  d3d12frame: Extract external fence from memory and wait helper function
	  Adding gst_d3d12_frame_fence_{gpu,cpu}_wait() methods
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6749>

2024-04-27 17:54:38 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d12/gstd3d12device-private.h:
	* gst-libs/gst/d3d12/gstd3d12device.cpp:
	* gst-libs/gst/d3d12/gstd3d12frame.cpp:
	* gst-libs/gst/d3d12/gstd3d12memory.cpp:
	* sys/d3d12/gstd3d12decoder.cpp:
	* sys/d3d12/gstd3d12encoder.cpp:
	* sys/d3d12/gstd3d12ipcclient.cpp:
	* sys/dwrite/gstdwriterender_d3d12.cpp:
	  d3d12: Update copy_texture_region() method
	  Pass external fence value if any and allow passing fence
	  data so that dependent resources can be released
	  once copy is done
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6749>

2024-04-27 17:44:36 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d12/gstd3d12commandqueue.cpp:
	* gst-libs/gst/d3d12/gstd3d12commandqueue.h:
	  d3d12commandqueue: Add execute_wait_and_command_lists() method
	  ... so that GPU-side waiting and executing can be scheduled at once
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6749>

2024-04-27 17:28:47 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d12/gstd3d12memory.cpp:
	* gst-libs/gst/d3d12/gstd3d12memory.h:
	  d3d12memory: Add get_external_fence() method
	  Required for caller to wait external fence without map() method
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6749>

2024-04-27 00:07:53 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d12/gstd3d12bufferpool.cpp:
	  d3d12bufferpool: Sync all memory objects on acquire_buffer()
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6749>

2024-04-19 00:30:47 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvabaseenc.c:
	  vabaseenc: No need to call _finish_subframe()
	  After vaav1enc is aligned to TU, there is no case that generates
	  multi output for one input.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6688>

2024-04-19 00:25:25 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvavp9enc.c:
	  vavp9enc: Set the correct buffer flag for output
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6688>

2024-04-19 00:22:50 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvaav1enc.c:
	  vaav1enc: Set the correct buffer flag for output
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6688>

2024-04-19 00:14:15 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvaav1enc.c:
	  vaav1enc: Do not change the PTS/DTS of output frames
	  The AV1 encoder does not reorder the frames, so there is no need
	  to change the timestamp related meta data of output frames, just
	  inheriting it from the input frames.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6688>

2024-04-18 22:30:20 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvaav1enc.c:
	  vaav1enc: Change the alignment of output to "tu"
	  The current output alignment is "frame", which may cause some issues
	  for PTS and DTS calculation. We now change the alignment to "tu",
	  and this is also the alignment mode for av1enc and svtav1enc.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6688>

2024-04-15 09:51:53 -0400  Xavier Claessens <xavier.claessens@collabora.com>

	* gst/unixfd/gstunixfdsrc.c:
	  unixfd: Close file descriptors on error
	  After calling g_unix_fd_list_steal_fds() and before calling
	  gst_fd_allocator_alloc(), we are responsible for closing those fds.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6532>

2024-04-03 10:28:28 -0400  Xavier Claessens <xavier.claessens@collabora.com>

	* gst/unixfd/gstunixfdsink.c:
	* gst/unixfd/gstunixfdsrc.c:
	* tests/check/elements/unixfd.c:
	  unixfdsink: Take segment into account when converting timestamps
	  Also rename `calculate_timestamp()` to `to_monotonic()` and
	  `from_monotonic()` which better describe what it does.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6532>

2024-04-03 13:17:01 -0400  Xavier Claessens <xavier.claessens@collabora.com>

	* gst/unixfd/gstunixfdsrc.c:
	  unixfd: Allow sending buffers with no memories
	  There is no reason to not allow it, and it is useful for simple unit
	  test.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6532>

2024-04-25 14:13:30 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* ext/vulkan/vkh264dec.c:
	* ext/vulkan/vkh265dec.c:
	* gst-libs/gst/vulkan/gstvkdecoder-private.c:
	* gst-libs/gst/vulkan/gstvkdecoder-private.h:
	* gst-libs/gst/vulkan/gstvkqueue.c:
	* gst-libs/gst/vulkan/gstvkqueue.h:
	* gst-libs/gst/vulkan/vulkan_fwd.h:
	* tests/check/libs/vkvideodecode.c:
	  vulkan: replace gst_vulkan_queue_create_decoder() with gst_vulkan_decoder_new_from_queue()
	  The purpose of this refactor is to hide decoding code from public API.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6723>

2024-04-23 14:51:27 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/vulkan/gstvkdecoder-private.c:
	* gst-libs/gst/vulkan/gstvkdecoder-private.h:
	* gst-libs/gst/vulkan/vulkan_fwd.h:
	  vulkan: conceal unused decoder symbols
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6723>

2024-04-23 14:48:30 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* ext/vulkan/vkh264dec.c:
	* ext/vulkan/vkh265dec.c:
	* gst-libs/gst/vulkan/gstvkdecoder-private.c:
	* gst-libs/gst/vulkan/gstvkdecoder-private.h:
	* gst-libs/gst/vulkan/gstvkqueue.c:
	* gst-libs/gst/vulkan/gstvkqueue.h:
	* gst-libs/gst/vulkan/meson.build:
	* tests/check/libs/vkvideodecode.c:
	  vulkan: conceal decoder from public API
	  Since we don't want to expose video decoding API outside of GStreamer, the
	  header is removed from installation and both source files are renamed as
	  -private.
	  The header must remain in gst-libs because is referred by GstVulkanQueue,
	  which's the decoder factory.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6723>

2024-04-24 15:44:41 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/va/gstvaallocator.c:
	  vaallocator: disable derived all together for Mesa <23.3
	  First it derived mapping was disabled for P010 formats, but also there's an
	  issue with interlaced frames.
	  It would be possible to disable derived mapping only for interlaced (H.264
	  decoder and vadeinterlace) but it would spread the hacks along the code. It's
	  simpler and contained to disable derived completely for Mesa <23.3
	  Fixes: #3450
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6729>

2024-04-25 11:50:03 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/va/gstvavideoformat.c:
	  va: videoformat: use video library to get DRM fourcc
	  Instead of duplicating the GStreamer format to DRM fourcc mapping, this patch
	  uses the GstVideo library helpers. This duplicates the big O of looking for,
	  since the two lists are traversed, but it's less error prone.
	  Partially reverts commit 547f3e8622a39ce971c272f2c31eab8f1fdfbb45.
	  Fixes: #3354
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6731>

2024-04-17 18:37:30 +0900  Hou Qi <qi.hou@nxp.com>

	* gst-libs/gst/wayland/gstwlwindow.c:
	  wlwindow: free staged buffer when do gst_wl_window_finalize
	  If waylandsink received buffer rate is high which causes frame
	  drop, the cached staged buffer will be replaced when next buffer
	  needs to be rendered and be freed after redraw. But there is
	  chance to get memory leak if ended without redraw. So need to
	  free staged buffer when do gst_wl_window_finalize().
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6670>

2024-04-26 00:35:54 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12dxgicapture.cpp:
	* sys/d3d12/gstd3d12screencapturesrc.cpp:
	  d3d12screencapturesrc: Performance improvement
	  Process captured frame using d3d11 instead of d3d12, and use shared
	  fence when copying processed d3d11 texture to d3d12 resource.
	  In this way, capture CPU thread does not need to wait for fence signal.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6733>

2024-04-24 00:52:18 +0530  Nirbheek Chauhan <nirbheek@centricular.com>

	* ext/rsvg/gstrsvgdec.c:
	* ext/rsvg/gstrsvgoverlay.c:
	  rsvg: Disable deprecations instead of porting to new librsvg API
	  `rsvg_handle_get_dimensions()` and `rsvg_handle_render_cairo()` are
	  deprecated, and the replacement librsvg functions as specified in the
	  migration guide are `rsvg_handle_get_intrinsic_size_in_pixels()` and
	  `rsvg_handle_render_document()`.
	  However, those are not drop-in replacements, and actually have
	  breaking semantics for our use-case:
	  1. `intrinsic_size_in_pixels()` requires SVGs to have width+height or
	  the viewBox attribute, but `get_dimensions()` does not. It will
	  calculate the geometry based on element extents recursively.
	  2. `render_cairo()` simply renders the SVG at its intrinsic size on
	  the specified surface starting at the top-left, maintaining
	  whatever transformations have been applied to the cairo surface,
	  including distorted aspect ratio.
	  However, `render_document()` does not do that, it is specifically
	  for rendering at the specified aspect ratio inside the specified
	  viewport, and if you specify a viewPort that does not match the
	  aspect ratio of the SVG, librsvg will center it.
	  Matching the old behaviour with the new APIs is a lot of work for no
	  benefit. We'd be duplicating code that is already there in librsvg in
	  one case and undoing work that librsvg is doing in the other case.
	  The aspect ratio handling in this element is also kinda atrocious.
	  There is no option to scale the SVG while maintaining the aspect
	  ratio. Overall, element needs a rewrite.
	  Let's just disable deprecations. The API is not going anywhere.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6726>

2024-04-24 00:51:23 +0530  Nirbheek Chauhan <nirbheek@centricular.com>

	* ext/rsvg/gstrsvgdec.c:
	* ext/rsvg/gstrsvgdec.h:
	  Revert "rsvgdec: Fix uses of librsvg functions deprecated since 2.52"
	  This reverts commit b8db4739551401c653f2ae55f39d1ab77e3a5ef5.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6726>

2024-04-17 18:45:34 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/vulkan/gstvkswapper.c:
	  vkswapper: choose color space according with format
	  The swapper surfaces contains the color space for each supported format. Instead
	  of hard coding the color space, it returns the value associated with the
	  negotiated vulkan format.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6725>

2024-03-06 12:59:25 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* tests/check/libs/vkcodecparams.c:
	* tests/check/libs/vkvideodecode.c:
	  tests: vulkan: split decoder test and parameters
	  Thus they can be reused for the encoder test.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6721>

2024-04-24 14:42:31 +0900  Elliot Chen <elliot.chen@nxp.com>

	* gst-libs/gst/play/gstplay.c:
	  gstplay: query seek information again in playing state for live stream
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6681>

2024-04-24 01:02:15 +0900  Haihua Hu <jared.hu@nxp.com>

	* gst-libs/gst/wayland/gstwlwindow.c:
	  wlwindow: clear configure mutex and cond when finalize
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6722>

2024-04-23 11:00:21 +0200  Edward Hervey <edward@centricular.com>

	* tools/utils.c:
	  bad/utils: Simplify get_file_extension
	  By using g_strrstr
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6715>

2024-04-23 10:53:54 +0200  Edward Hervey <edward@centricular.com>

	* gst/mpegtsdemux/mpegtsbase.c:
	  mpegtsbase: Fix Program equality check
	  There was an issue with this equality check, which was to figure out what to do
	  with PCR pids (whether they were part of the streams present or not) and whether
	  we ignore PCR or not.
	  Turns out ... we already took care of that further up in the function.
	  The length check can be simplified by just checking whether the length of
	  the *original* PMT and the new PMT are identical. Since we don't store "magic"
	  PCR streams in those, we can just use them as-is.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6713>

2024-04-23 01:40:44 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12decoder.cpp:
	  d3d12decoder: Lock DPB while building command
	  Since DPB resource can be modified in output thread, protect
	  it when building command list.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6709>

2024-04-22 19:32:22 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12decoder.cpp:
	  d3d12decoder: Hold reference pictures in fence data
	  Keep reference pictures alive during executing decoding commands
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6709>

2024-04-22 21:52:53 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12decoder.cpp:
	* sys/d3d12/gstd3d12decoder.h:
	* sys/d3d12/gstd3d12vp9dec.cpp:
	  d3d12vp9dec: Disallow resolution change to larger size on non-keyframe
	  Intel GPU seems to be crashing if the case happens.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6709>

2024-04-21 22:38:50 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12decoder.cpp:
	  d3d12decoder: Fix potential use after free
	  A DPB buffer held by codec picture object may not be writable
	  at the moment, then gst_buffer_make_writable() will unref passed buffer.
	  Specifically, the use after free or double free can happen if:
	  * Crop meta of buffer copy is required because of non-zero
	  top-left crop position
	  * zero-copy is possible with crop meta
	  * A picture was duplicated, interlaced h264 stream for example
	  Interlaced h264 stream with non-zero top-left crop position
	  is not very common but it's possible configuration in theory.
	  Thus gst_buffer_make_writable() should be called with
	  GstVideoCodecFrame.output_buffer directly.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6706>

2024-04-21 22:07:36 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d11/gstd3d11decoder.cpp:
	  d3d11decoder: Fix potential use after free
	  A DPB buffer held by codec picture object may not be writable
	  at the moment, then gst_buffer_make_writable() will unref passed buffer.
	  Specifically, the use after free or double free can happen if:
	  * Crop meta of buffer copy is required because of non-zero
	  top-left crop position
	  * zero-copy is possible with crop meta
	  * A picture was duplicated, interlaced h264 stream for example
	  Interlaced h264 stream with non-zero top-left crop position
	  is not very common but it's possible configuration in theory.
	  Thus gst_buffer_make_writable() should be called with
	  GstVideoCodecFrame.output_buffer directly.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6706>

2024-04-16 09:50:52 +0200  Edward Hervey <edward@centricular.com>

	* gst/mpegtsdemux/mpegtsbase.c:
	  tsdemux: Disable smart program update
	  The goal of this code was, for programs which were updates (i.e. adding/removing
	  streams but not completely changing) to allow dynamic addition/removal of
	  streams without completely removing everything.
	  But this wasn't 100% tested and there are a bunch of issues which make it fail
	  in plenty of ways.
	  For now disable that feature and force the legacy "add all pads again and then
	  remove old ones" behaviour to make it switch.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6651>

2024-04-20 21:37:39 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d11/gstd3d11device-private.h:
	* gst-libs/gst/d3d11/gstd3d11device.cpp:
	* gst-libs/gst/d3d11/gstd3d11utils.cpp:
	  d3d11device: Add device-removed-reason property
	  In addition to device removed status monitoring in gst_d3d11_result()
	  method, if ID3D11Device4 interface is available,
	  an event handle will be used for device removed status update.
	  And "device-removed" signal is removed since applications can monitor
	  the device removed status via gobject notify
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6699>

2024-04-20 23:13:20 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d12/gstd3d12utils.cpp:
	  d3d12utils: Fix documentation
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6699>

2024-04-20 20:03:46 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d12/gstd3d12device-private.h:
	* gst-libs/gst/d3d12/gstd3d12device.cpp:
	* gst-libs/gst/d3d12/gstd3d12utils.cpp:
	* tests/check/libs/d3d12device.cpp:
	* tests/check/meson.build:
	  d3d12device: Add device-removed-reason property
	  Adding new property in order to notify users of device removed status.
	  Once device removed status is detected, application should release
	  all ID3D12Device objects corresponding to the adapter, including
	  GstD3D12Device object. Otherwise D3D12CreateDevice() call for the
	  adapter will fail.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6699>

2024-04-21 19:17:53 +0900  Seungha Yang <seungha@centricular.com>

	* sys/mediafoundation/gstmfsourceobject.cpp:
	  mediafoundation: Fix infinite loop in device provider
	  Initialize source state with GST_MF_DEVICE_NOT_FOUND to terminate
	  loop immediately if no available capture device is available
	  Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3492
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6704>

2024-04-18 10:18:05 +0200  Alexander Slobodeniuk <aslobodeniuk@fluendo.com>

	* gst-libs/gst/d3d11/gstd3d11device.cpp:
	* tests/check/libs/d3d11device.cpp:
	  d3d11device: protect device_lock vs device_new
	  It seems that when D3D11CreateDevice collides in time
	  with other D3D11 calls, in particular the proccess of
	  creating a shader, it can corrupt the memory in the driver.
	  D3D11 spec doesn't seem to require any thread safety from
	  D3D11CreateDevice. Following MSDN, it is supposed to be called
	  in the beginning of the proccess, while GStreamer calls it with each
	  new pipeline.
	  Such crashes in the driver were frequently reproducing on the
	  Intel UHD 630 machine.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6686>

2024-04-16 23:08:51 +0200  Alexander Slobodeniuk <aslobodeniuk@fluendo.com>

	* tests/check/libs/d3d11device.cpp:
	* tests/check/meson.build:
	  tests/d3d11: add concurrency test for gstd3d11device
	  We suspect that it's not thread safe to just create and
	  destroy the device from any thread, particularly because
	  of D3D11CreateDevice, that is not documented as thread-safe.
	  While D3D11CreateDevice is usually protected from outside
	  by the gst_d3d11_ensure_element_data, it still can cross
	  with the Release() method of another device.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6686>

2024-04-19 17:17:08 +0900  Elliot Chen <elliot.chen@nxp.com>

	* gst-libs/gst/play/gstplay.c:
	  gstplay: query duration again if previous query failed
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6668>

2024-04-19 22:40:12 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12testsrc.cpp:
	  d3d12testsrc: Use shared 11on12 device
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6697>

2024-04-19 22:26:35 +0900  Seungha Yang <seungha@centricular.com>

	* sys/dwrite/gstdwriterender_d3d12.cpp:
	  dwrite: Use shared 11on12 device
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6697>

2024-04-19 22:16:42 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d12/gstd3d12-private.h:
	* gst-libs/gst/d3d12/gstd3d12device-private.h:
	* gst-libs/gst/d3d12/gstd3d12device.cpp:
	* gst-libs/gst/d3d12/meson.build:
	* sys/d3d12/meson.build:
	  d3d12device: Hold d3d11on12 device to be shared
	  d3d11on12 device seems to be occupying a bit of GPU memory
	  Hold the instance in GstD3D12Device so that it can be shared
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6697>

2024-04-19 21:13:25 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12videosink.cpp:
	* sys/d3d12/gstd3d12window.cpp:
	  d3d12videosink: Handle mouse double click and modifier
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6693>

2024-04-19 20:44:44 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12videosink.cpp:
	  d3d12videosink: Disconnect window's signal on dispose
	  Same as the commit of 7b69d1758f77331c2801746cd91b1b6b0db9ecfb
	  but for d3d12videosink.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6692>

2024-04-19 21:17:17 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12window.cpp:
	  d3d12videosink: Handle external HWND's mouse/keyboard events
	  OS will not propagate the event to child HWND if it's handled by
	  the parent. Thus, navigation event should be handled by parent HWND's
	  event handler.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6692>

2024-04-18 09:20:13 +0300  Sebastian Dröge <sebastian@centricular.com>

	* sys/va/gstvavp9enc.c:
	  vavp9enc: Preserve PTS and other frame metadata
	  See also https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4150
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6680>

2024-03-31 00:23:31 +0900  Seungha Yang <seungha@centricular.com>

	* sys/webview2/gstwebview2object.cpp:
	  webview2: Handle double click and modifier
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6491>

2024-03-30 23:57:27 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d11/gstd3d11videosink.cpp:
	* sys/d3d11/gstd3d11window.cpp:
	* sys/d3d11/gstd3d11window.h:
	* sys/d3d11/gstd3d11window_win32.cpp:
	  d3d11videosink: Handle double click and modifier
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6491>

2024-04-17 10:58:00 +0900  Hou Qi <qi.hou@nxp.com>

	* ext/wayland/gstwaylandsink.c:
	  waylandsink: config buffer pool with query size when propose_allocation
	  If propose_allocation comes before set_caps, self->video_info
	  has not been extracted from caps and self->video_info.size is 0.
	  It causes buffer pool fail to set config . So need to use info
	  size got from query instead when propose_allocation.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6666>

2021-03-19 18:33:09 +0200  Sebastian Dröge <sebastian@centricular.com>

	* ext/rsvg/gstrsvgdec.c:
	  rsvgdec: Remove unused GObject::finalize implementation
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6613>

2024-04-11 19:54:45 -0300  L. E. Segovia <amy@centricular.com>

	* ext/rsvg/gstrsvgdec.c:
	* ext/rsvg/gstrsvgdec.h:
	  rsvgdec: Fix uses of librsvg functions deprecated since 2.52
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6613>

2021-03-11 20:18:24 +0200  Sebastian Dröge <sebastian@centricular.com>

	* ext/rsvg/gstrsvgdec.c:
	* ext/rsvg/gstrsvgdec.h:
	  rsvgdec: Negotiate resolution with downstream and scale accordingly
	  Prefer the resolution given by the input but if downstream request a
	  specific resolution then scale to this without regards to the aspect
	  ratio.
	  Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/1538
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6613>

2024-04-17 16:55:31 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* sys/v4l2codecs/gstv4l2codecav1dec.c:
	* sys/v4l2codecs/gstv4l2codech264dec.c:
	* sys/v4l2codecs/gstv4l2codech265dec.c:
	* sys/v4l2codecs/gstv4l2codecmpeg2dec.c:
	* sys/v4l2codecs/gstv4l2codecvp8dec.c:
	* sys/v4l2codecs/gstv4l2codecvp9dec.c:
	  v4l2codecs: Don't unref allocation query caps
	  The caps obtained from parsing the allocation query is borrowed and
	  should not be unreffed. This fixes criticals assertion introduced in
	  1.24.1.
	  (gst-launch-1.0:242): GStreamer-CRITICAL **: 19:48:02.667:
	  gst_mini_object_unref: assertion 'GST_MINI_OBJECT_REFCOUNT_VALUE (mini_object) > 0' failed
	  Fixes: 5189e8b95630 ("v4l2codecs: decoders: Add DMA_DRM caps support")
	  Closes #3462
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6679>

2024-04-09 17:10:20 +0800  Mengkejiergeli Ba <mengkejiergeli.ba@intel.com>

	* sys/msdk/gstmsdkcaps.c:
	* sys/msdk/gstmsdkenc.c:
	* sys/msdk/gstmsdkh265enc.c:
	  msdk: Add main-422-12 profile to hevc
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6591>

2024-04-16 22:29:15 +1000  Jan Schmidt <jan@centricular.com>

	* gst/dvbsubenc/gstdvbsubenc.c:
	  dvbsubenc: fixed some memory leaks and a crash
	  Fix leaks of internal GstBuffers, and a crash if subtitle segments end
	  up empty.
	  Based on a patch by Jurijs Satcs <jurijs.satcs@veset.tv>
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6661>

2024-04-16 23:29:26 +0200  Alexander Slobodeniuk <aslobodeniuk@fluendo.com>

	* gst-libs/gst/d3d11/gstd3d11converter.cpp:
	  d3d11converter: fix documentation for converter_new ()
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6665>

2024-04-10 20:57:16 +0900  Seungha Yang <seungha@centricular.com>

	* sys/mediafoundation/gstmfcapturedshow.cpp:
	* sys/mediafoundation/gstmfcapturedshow.h:
	* sys/mediafoundation/gstmfcapturewinrt.cpp:
	* sys/mediafoundation/gstmfcapturewinrt.h:
	* sys/mediafoundation/gstmfdevice.cpp:
	* sys/mediafoundation/gstmfsourceobject.cpp:
	* sys/mediafoundation/gstmfsourceobject.h:
	* sys/mediafoundation/gstmfsourcereader.cpp:
	* sys/mediafoundation/gstmfsourcereader.h:
	  mediafoundation: Fix device enumeration
	  Do not stop device enumerate even if a device could not be opened.
	  Otherwise the other devices listed after the failed device will not be
	  reported by device provider
	  Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3460
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6598>

2024-04-15 10:51:03 +0100  Tim-Philipp Müller <tim@centricular.com>

	* tests/check/meson.build:
	  tests: fix possible libscpp build failure in gst-plugins-bad
	  ../subprojects/gst-plugins-bad/tests/check/libs/gstlibscpp.cc:41:
	  fatal error: gst/mpegts/gstmpegts-enumtypes.h: No such file or directory
	  Could only pass the needed deps to the libscpp test, but gets
	  messier to maintain, so let's at it for consistency.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6643>

2024-04-12 09:32:13 +0100  Philippe Normand <philn@igalia.com>

	* tests/check/elements/webrtcbin.c:
	  tests: webrtcbin: Fix repaired-stream-id handling in simulcast test
	  The test was attempting to add the same stream-id extension twice, probably some
	  unfinished copy/paste.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6615>

2024-04-10 01:26:38 +0900  Seungha Yang <seungha@centricular.com>

	* sys/dwrite/gstdwritebaseoverlay.cpp:
	* sys/dwrite/gstdwriteoverlayobject.cpp:
	* sys/dwrite/gstdwriteoverlayobject.h:
	* sys/dwrite/gstdwriterender.cpp:
	* sys/dwrite/gstdwriterender.h:
	* sys/dwrite/gstdwriterender_bitmap.cpp:
	* sys/dwrite/gstdwriterender_bitmap.h:
	* sys/dwrite/gstdwriterender_d3d11.cpp:
	* sys/dwrite/gstdwriterender_d3d11.h:
	* sys/dwrite/gstdwriterender_d3d12.cpp:
	* sys/dwrite/gstdwriterender_d3d12.h:
	* sys/dwrite/meson.build:
	  dwrite: D3D12 integration
	  Adding d3d12 backend text renderer/blender by using d3d11on12 interop.
	  And subclassing renderer object per backend (i.e., d3d11, d3d12, and bitmap)
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6620>

2024-04-10 00:57:40 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12overlaycompositor.cpp:
	* sys/d3d12/gstd3d12overlaycompositor.h:
	* sys/d3d12/gstd3d12window.cpp:
	  d3d12overlaycompositor: Add support for d3d12 memory
	  Don't allocate d3d12 texture if overlay is d3d12 memory already
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6620>

2024-04-13 22:47:47 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d12/gstd3d12utils.cpp:
	* gst-libs/gst/d3d12/gstd3d12utils.h:
	* sys/d3d12/gstd3d12pluginutils.cpp:
	* sys/d3d12/gstd3d12pluginutils.h:
	  d3d12: Move gst_d3d12_buffer_copy_into method to library
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6620>

2024-04-13 22:28:31 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d12/gstd3d12converter.cpp:
	  d3d12converter: Port to GstD3D12Frame
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6620>

2024-04-13 21:46:32 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d12/gstd3d12.h:
	* gst-libs/gst/d3d12/gstd3d12_fwd.h:
	* gst-libs/gst/d3d12/gstd3d12frame.cpp:
	* gst-libs/gst/d3d12/gstd3d12frame.h:
	* gst-libs/gst/d3d12/meson.build:
	  d3d12: Add GstD3D12Frame struct and helper method
	  Adding GstD3D12Frame struct with map, unmap, and copy methods.
	  This new struct is equivalent to GstVideoFrame but gst_d3d12_frame_map()
	  method will extract D3D12 specific resource handles from memory.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6620>

2024-04-12 18:18:13 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d12/gstd3d12memory.cpp:
	  d3d12memory: Implement copy method
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6620>

2024-04-13 23:53:00 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12encoder.cpp:
	  d3d12encoder: Fix buffer pool leak
	  Add missing buffer pool release
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6628>

2024-04-10 22:01:18 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d11/gstd3d11videosink.cpp:
	* sys/d3d11/gstd3d11window.h:
	* sys/d3d11/gstd3d11window_dummy.cpp:
	  d3d11videosink: Fix rendering on keyed mutex enabled handle
	  As of the commit 69b2e1565c5d0e8b2313d52042d73c721fed7edb,
	  keyed mutex will be handled by the memory object.
	  Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3468
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6600>

2024-04-11 18:10:40 +0300  Jordan Petridis <jordan@centricular.com>

	* ext/fdkaac/meson.build:
	  fdkaac: Mark the dependency include_type as 'system'
	  When using v2.0.2 of the subproject, it triggers werror for
	  unused functions that come from the fdkaac headers.
	  This avoids errors like the following when werror is set.
	  ```
	  subprojects/fdk-aac-2.0.2/fdk-aac/FDK_audio.h:757:29: error: ‘FDKlibInfo_lookup’
	  defined but not used [-Werror=unused-function]
	  757 | static FDK_AUDIO_INLINE INT FDKlibInfo_lookup(const LIB_INFO* info,
	  ```
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6611>

2024-04-09 18:36:12 +0100  Tim-Philipp Müller <tim@centricular.com>

	* gst-libs/gst/analytics/gstanalyticsmeta.c:
	  analyticsmeta: fix g-ir-scanner warnings
	  Fix
	  gstanalyticsmeta.c:134: Warning: GstAnalytics: "@instance"
	  parameter unexpected at this location
	  warning (caused by the extraneous empty line in the doc chunk)
	  and align function arguments with documentation and header file
	  (handle -> instance).
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6585>

2024-04-06 00:41:29 +0900  Seungha Yang <seungha@centricular.com>

	* ext/closedcaption/gstccconverter.c:
	  ccconverter: Fix caps leak and remove unnecessary code
	  The removed code does the exactly same thing as the below code
	  except for leaking caps
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6548>

2024-04-09 23:35:13 +0900  Seungha Yang <seungha@centricular.com>

	* sys/qsv/gstqsvdecoder.cpp:
	  qsvdecoder: Release too old frames
	  Release too old frames manually.
	  Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3163
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6583>

2024-04-07 19:34:43 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d12/gstd3d12converter-builder.cpp:
	  d3d12converter: Simplify root signature build
	  D3DX12SerializeVersionedRootSignature() helper method will translate
	  RS 1.1 into 1.0 version if needed
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6557>

2024-04-05 21:58:51 -0400  Daniel Morin <daniel.morin@collabora.com>

	* gst-libs/gst/codecparsers/gsth264parser.h:
	  h264parser: maintain API changes
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6540>

2024-04-04 09:38:36 -0400  Daniel Morin <daniel.morin@collabora.com>

	* tests/check/elements/h264parse.c:
	  Revert "h264parse: test - AU align with SEI between frame slices"
	  This reverts commit 533f814fd9a0eff341bb8f400fff82e5f0c4c313.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6540>

2024-04-04 09:38:16 -0400  Daniel Morin <daniel.morin@collabora.com>

	* gst-libs/gst/codecparsers/gsth264parser.h:
	* gst/videoparsers/gsth264parse.c:
	* gst/videoparsers/gsth264parse.h:
	  Revert "h264parse: Improved AU boundary detection"
	  This reverts commit 49f200cb549d43067e7c6eee332cdf757a38d82a.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6540>

2024-04-04 09:38:13 -0400  Daniel Morin <daniel.morin@collabora.com>

	* gst/videoparsers/gsth264parse.c:
	  Revert "h264parse: Remove dead code"
	  This reverts commit 141cd3871592292a8a6c81c1e018610a82ecaa88.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6540>

2024-04-04 09:38:08 -0400  Daniel Morin <daniel.morin@collabora.com>

	* gst/videoparsers/gsth264parse.c:
	  Revert "h264parse: Fix AU collection"
	  This reverts commit 495390f63a710559b149e476d3289dc2f37be7f8.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6540>

2024-04-04 09:37:47 -0400  Daniel Morin <daniel.morin@collabora.com>

	* gst/videoparsers/gsth264parse.c:
	  Revert "h264parse: Remove un-needed check on SPS state"
	  This reverts commit 73dedf9a51e70868f6aa029b968f8c7ef6af530e.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6540>

2024-04-04 09:37:40 -0400  Daniel Morin <daniel.morin@collabora.com>

	* gst/videoparsers/gsth264parse.c:
	* gst/videoparsers/gsth264parse.h:
	  Revert "h264parse: use AUD to detect first VCL NAL"
	  This reverts commit 90a3b63eed22d2737dbe8e33ee931e897ccfd128.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6540>

2024-04-04 09:36:02 -0400  Daniel Morin <daniel.morin@collabora.com>

	* gst/videoparsers/gsth264parse.c:
	  Revert "h264parse: correct NAL mode backlog processing"
	  This reverts commit b2098849dc21c3615cb15b1e26bbbe77feb76476.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6540>

2024-03-29 15:37:55 +0100  Edward Hervey <edward@centricular.com>

	* gst/videoparsers/gstvideoparseutils.c:
	  videoparsers: Demote CC warning message
	  Another warning message which isn't fatal and therefore should just be a DEBUG
	  line.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6550>

2024-04-06 01:14:56 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d12/gstd3d12device.cpp:
	  d3d12device: Fix typo in object name
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6549>

2024-03-18 19:32:33 +0100  Mathieu Duponchelle <mathieu@centricular.com>

	* sys/aja/gstajasrc.cpp:
	  ajasrc: always post details about detected format
	  .. instead of only when there is a mismatch.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6438>

2024-03-30 15:57:36 +0100  Robert Mader <robert.mader@posteo.de>

	* gst/jpegformat/gstjpegparse.c:
	  jpegparse: turn some bus warnings into object ones
	  For some cameras `gst_jpeg_parse_app0()` fails on a invalid segment.
	  While this is likely a driver or firmware bug that should be addressed
	  accordingly, it's not fatal and likely does not deserve a bus message on
	  every frame, flooding journals.
	  Turn down the volume of the warnings by turning them into object
	  warnings. If we conclude that in some cases we'd still want bus
	  warnings, they can be done more fine-grained in the
	  `gst_jpeg_parse_appX()` functions.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6490>

2024-03-18 20:50:56 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* ext/vulkan/vkh265dec.c:
	  vkh265dec: add missing VPS parameter
	  and fix coded size
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6400>

2024-03-18 20:00:11 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* ext/vulkan/vkh264dec.c:
	* ext/vulkan/vkh265dec.c:
	  vkh26xdec: implement close() vmethod
	  Since a validation layer error is signaled at EOS because it's required to wait
	  for the last frame to be processed.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6400>

2024-04-03 16:44:18 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* ext/vulkan/vkh264dec.c:
	* ext/vulkan/vkh265dec.c:
	  vkh26xdec: remove unused variables
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6400>

2024-03-18 19:42:50 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* ext/vulkan/vkh265dec.c:
	  vkh265dec: fix resource info structure when layered DPB
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6400>

2024-03-27 19:45:02 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* tests/examples/va/vaenc-dynamic-reconfigure.c:
	  examples: vaenc-dynamic: support target percentage change in QVBR
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6465>

2024-03-27 19:43:28 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* tests/examples/va/vaenc-dynamic-reconfigure.c:
	  examples: vaenc-dynamic: ignore bitrate change with ICQ too
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6465>

2024-03-27 19:41:30 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* sys/va/gstvaav1enc.c:
	* sys/va/gstvah264enc.c:
	* sys/va/gstvah265enc.c:
	* sys/va/gstvavp9enc.c:
	  va: encoders: don't assert at target percentage when QVBR
	  Instead of asserting, just get the max value between the current value and 10,
	  which is the minimum required by QVBR.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6465>

2024-03-27 19:37:58 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* tests/examples/va/vaenc-dynamic-reconfigure.c:
	  examples: vaenc-dynamic: add vp9, av1 and low power tests
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6465>

2024-04-02 16:23:31 +0100  Chris Spencer <spencercw@gmail.com>

	* gst-libs/gst/vulkan/gstvkbufferpool.c:
	* gst-libs/gst/vulkan/gstvkbufferpool.h:
	  vkbufferpool: correct usage flags type
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6514>

2024-04-02 18:18:14 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* sys/msdk/gstmsdkcontext.c:
	  msdk: sink context reference
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6398>

2024-04-02 18:02:26 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* ext/gtk/gstgtkwaylandsink.c:
	  gtk: sink reference of internal wayland pool
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6398>

2024-04-02 18:00:40 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* ext/wayland/gstwaylandsink.c:
	  wayland: sink reference to internal pool
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6398>

2024-04-02 14:46:32 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* ext/dash/gstmpdadaptationsetnode.c:
	* ext/dash/gstmpdbaseurlnode.c:
	* ext/dash/gstmpdclient.c:
	* ext/dash/gstmpdcontentcomponentnode.c:
	* ext/dash/gstmpddescriptortypenode.c:
	* ext/dash/gstmpdlocationnode.c:
	* ext/dash/gstmpdmetricsnode.c:
	* ext/dash/gstmpdmetricsrangenode.c:
	* ext/dash/gstmpdperiodnode.c:
	* ext/dash/gstmpdprograminformationnode.c:
	* ext/dash/gstmpdreportingnode.c:
	* ext/dash/gstmpdrepresentationnode.c:
	* ext/dash/gstmpdrootnode.c:
	* ext/dash/gstmpdsegmentbasenode.c:
	* ext/dash/gstmpdsegmentlistnode.c:
	* ext/dash/gstmpdsegmenttemplatenode.c:
	* ext/dash/gstmpdsegmenttimelinenode.c:
	* ext/dash/gstmpdsegmenturlnode.c:
	* ext/dash/gstmpdsnode.c:
	* ext/dash/gstmpdsubrepresentationnode.c:
	* ext/dash/gstmpdsubsetnode.c:
	* ext/dash/gstmpdurltypenode.c:
	* ext/dash/gstmpdutctimingnode.c:
	  dash: sink references of all MDP objects
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6398>

2024-03-15 19:03:58 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* sys/va/gstvadecoder.c:
	* sys/va/gstvaencoder.c:
	* sys/va/gstvafilter.c:
	  va: sink reference at instantiation
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6398>

2023-12-05 12:24:01 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/vulkan/gstvkoperation.c:
	* gst-libs/gst/vulkan/gstvktrash.c:
	  vulkan: sink references at instantiation
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6398>

2024-04-02 19:00:35 +0200  eri <eri@inventati.org>

	* gst-libs/gst/play/gstplay.c:
	  play: Update `video_snapshot` to support playbin3
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6516>

2024-04-02 22:56:00 +0900  Seungha Yang <seungha@centricular.com>

	* sys/qsv/gstqsvencoder.cpp:
	  qsvencoder: Handle d3d12 context
	  GstD3D12Device objetct's internal resources are singletons per adapter
	  already though, the object itself is not a singleton.
	  Due to the singleton design (unlike other APIs such as d3d11),
	  d3d12 device context sharing is not a strict requirement
	  for zero-copy, but handles context ones to make things less noisy.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6513>

2024-04-02 22:09:57 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12decoder.cpp:
	  d3d12decoder: Always output sharable texture
	  Because shared heap's additional costs is not significant,
	  use D3D12_HEAP_FLAG_SHARED for resource can be shared over process
	  boundary. And enables render target for d3d11 interop in the process.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6513>

2024-04-02 15:57:58 +0200  Guillaume Desmottes <guillaume.desmottes@onestream.live>

	* tests/examples/webrtc/webrtcswap.c:
	  examples: set perfect-timestamp=true on opusenc
	  Fix audio streaming on Chrome, see https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1524
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6512>

2024-03-28 21:54:21 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvaav1enc.c:
	  va: av1enc: Change the set_property to make it atomic
	  The inside encoder may be set in other threads, so we should make
	  its accessing atomic.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6471>

2024-03-28 21:52:25 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvavp9enc.c:
	  va: vp9enc: Change the set_property to make it atomic
	  The inside encoder may be set in other threads, so we should make
	  its accessing atomic.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6471>

2024-03-27 19:50:19 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* sys/va/gstvaav1enc.c:
	* sys/va/gstvavp9enc.c:
	  va{vp9,av1}enc: reconfigure when properties change
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6471>

2024-03-28 21:35:07 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvah265enc.c:
	  va: h265enc: Change the set_property to make it atomic
	  The inside encoder may be set in other threads, so we should make
	  its accessing atomic.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6471>

2024-03-28 21:27:54 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvah265enc.c:
	  va: h265enc: set the reconf flag when cpb_size updated
	  This feature can be changed dynamically in playing state, so we
	  need to set reconf flag to trigger reconfig.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6471>

2024-03-28 00:00:42 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvah264enc.c:
	  va: h264enc: Change the set_property to make it atomic
	  The inside encoder may be set in other threads, so we should make
	  its accessing atomic.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6471>

2024-03-27 23:09:08 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvah264enc.c:
	  va: h264enc: set the reconf flag when cpb_size updated
	  This feature can be changed dynamically in playing state, so we
	  need to set reconf flag to trigger reconfig.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6471>

2024-04-02 18:20:43 +0900  Seungha Yang <seungha@centricular.com>

	* sys/dwrite/gstdwriteoverlayobject.cpp:
	  dwrite: Fix crash on device update
	  Selected blend mode should not be cleared on device update
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6508>

2024-03-22 01:03:11 +0900  Seungha Yang <seungha@centricular.com>

	* sys/nvcodec/gstnvencobject.cpp:
	* sys/nvcodec/gstnvh264encoder.cpp:
	* sys/nvcodec/gstnvh265encoder.cpp:
	  nvencoder: Add support for RGB formats
	  Adding RGBA, RGBx, BGRA, BGRx, VUYA and RGB10A2_LE format support for performance.
	  However, these formats are not still recommended if upstream can support
	  native YUV formats (e.g., NV12, P010) since NVENC does not expose
	  conversion related optiones. Note that VUYA format is 4:4:4 YUV format
	  already but NVENC runtime will convert it to 4:2:0 format internally
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6417>

2024-03-22 01:19:53 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/cuda/gstcudamemory.cpp:
	* sys/nvcodec/gstcudaconverter.c:
	* sys/nvcodec/gstcudaconvertscale.c:
	* sys/nvcodec/gstcudaformat.h:
	  cuda: Add support for VUYA format
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6417>

2024-04-02 01:36:28 +0900  Seungha Yang <seungha@centricular.com>

	* sys/qsv/gstqsvallocator_d3d11.cpp:
	* sys/qsv/gstqsvallocator_d3d11.h:
	* sys/qsv/gstqsvav1enc.cpp:
	* sys/qsv/gstqsvav1enc.h:
	* sys/qsv/gstqsvencoder.cpp:
	* sys/qsv/gstqsvencoder.h:
	* sys/qsv/gstqsvh264enc.cpp:
	* sys/qsv/gstqsvh264enc.h:
	* sys/qsv/gstqsvh265enc.cpp:
	* sys/qsv/gstqsvh265enc.h:
	* sys/qsv/gstqsvjpegenc.cpp:
	* sys/qsv/gstqsvjpegenc.h:
	* sys/qsv/gstqsvvp9enc.cpp:
	* sys/qsv/gstqsvvp9enc.h:
	* sys/qsv/meson.build:
	* sys/qsv/plugin.cpp:
	  qsv: Add support for d3d12 interop in encoder
	  Since QSV API does not support D3D12, try to import d3d12 resource
	  into d3d11 texture. Note that resource sharing requires
	  D3D12_SHARED_RESOURCE_COMPATIBILITY_TIER_2 for NV12 texure sharing.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6501>

2024-03-25 23:33:59 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvaav1enc.c:
	  va: av1enc: Avoid reopen encoder or renegotiate
	  If parameters remain similar enough to avoid either encoder reopening
	  or downstream renegotiation, avoid it.
	  This is going to be useful for dynamic parameters setting.
	  To check if the stream parameters changed, so the internal encoder has
	  to be closed and opened again, are required two steps:
	  1. If input caps, format, profile, chroma or rate control mode have changed.
	  2. If any of the calculated variables and element properties have changed.
	  Later on, only if the output caps also changed, the pipeline
	  is renegotiated.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6441>

2024-03-25 19:02:18 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvavp9enc.c:
	  va: vp9enc: Avoid reopen encoder or renegotiate
	  If parameters remain similar enough to avoid either encoder reopening
	  or downstream renegotiation, avoid it.
	  This is going to be useful for dynamic parameters setting.
	  To check if the stream parameters changed, so the internal encoder has
	  to be closed and opened again, are required two steps:
	  1. If input caps, format, profile, chroma or rate control mode have changed.
	  2. If any of the calculated variables and element properties have changed.
	  Later on, only if the output caps also changed, the pipeline
	  is renegotiated.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6441>

2024-03-14 23:17:32 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvaav1enc.c:
	  va: av1enc: Improve the LAST reference assignment
	  The last frame which has the smallest diff should be consider as
	  the first choice rather than the golden frame. Especially when only
	  one reference available, this way can improve the BD rate about 5
	  percentage.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6379>

2024-03-15 15:48:34 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvaav1enc.c:
	  va: av1enc: Fix the reference number setting bug
	  The current way will let the total reference number surplus the
	  reference number set by the "ref-frames" property.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6379>

2024-04-01 01:00:53 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d11/meson.build:
	  meson: d3d11: Add support for MinGW DirectXMath package
	  Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3428
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6495>

2024-04-01 22:19:21 +0900  Seungha Yang <seungha@centricular.com>

	* sys/webview2/gstwebview2object.cpp:
	* sys/webview2/gstwebview2object.h:
	* sys/webview2/gstwebview2src.cpp:
	* sys/webview2/meson.build:
	  webview2: Add support for d3d12 interop
	  Enable shared copy to D3D12 resource
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6499>

2024-04-02 00:43:20 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12graphicscapture.cpp:
	  d3d12screencapturesrc: Use gst_d3d12_memory_get_d3d11_texture()
	  ... and use fence to wait for GPU sync
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6499>

2024-04-02 00:36:45 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d12/gstd3d12_fwd.h:
	* gst-libs/gst/d3d12/gstd3d12memory.cpp:
	* gst-libs/gst/d3d12/gstd3d12memory.h:
	* gst-libs/gst/d3d12/meson.build:
	  d3d12memory: Add support for d3d11 texture caching
	  Would be useful for various D3D11 interop use cases
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6499>

2024-03-29 19:30:10 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvaav1enc.c:
	* sys/va/gstvah264enc.c:
	* sys/va/gstvah265enc.c:
	* sys/va/gstvavp9enc.c:
	  va: encoder: Fix the unit of bitrate in debug log message
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6483>

2024-03-29 18:26:49 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvavp9enc.c:
	  va: vp9enc: Adjust the coded buffer size to avoid failure
	  Some extreme case such as "videotestsrc pattern=1" can generate pure
	  white noise videoes, for which encoder may generate too big output
	  for current coded buffer size. We now consider the qindex and bitrate
	  to avoid that.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6483>

2024-03-29 18:08:54 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvavp9enc.c:
	  va: vp9enc: Fix the frame size not enough issue for super frame
	  The current code forgets to add the current last frame size into
	  the total super frame size.
	  Fixes: #3427
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6483>

2024-03-27 14:34:31 +0800  Cheah, Vincent Beng Keat <vincent.beng.keat.cheah@intel.com>

	* sys/msdk/gstmsdkallocator_libva.c:
	* sys/msdk/gstmsdkenc.c:
	  msdk: Fix mjpeg BGRx encode
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6401>

2024-03-31 21:55:51 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d12/d3d12-prelude.h:
	* gst-libs/gst/d3d12/gstd3d12-private.h:
	* gst-libs/gst/d3d12/gstd3d12.h:
	* gst-libs/gst/d3d12/gstd3d12_fwd.h:
	* gst-libs/gst/d3d12/gstd3d12bufferpool.cpp:
	* gst-libs/gst/d3d12/gstd3d12bufferpool.h:
	* gst-libs/gst/d3d12/gstd3d12commandallocatorpool.cpp:
	* gst-libs/gst/d3d12/gstd3d12commandallocatorpool.h:
	* gst-libs/gst/d3d12/gstd3d12commandlistpool.cpp:
	* gst-libs/gst/d3d12/gstd3d12commandlistpool.h:
	* gst-libs/gst/d3d12/gstd3d12commandqueue.cpp:
	* gst-libs/gst/d3d12/gstd3d12commandqueue.h:
	* gst-libs/gst/d3d12/gstd3d12compat.h:
	* gst-libs/gst/d3d12/gstd3d12converter-builder.cpp:
	* gst-libs/gst/d3d12/gstd3d12converter-builder.h:
	* gst-libs/gst/d3d12/gstd3d12converter-private.h:
	* gst-libs/gst/d3d12/gstd3d12converter.cpp:
	* gst-libs/gst/d3d12/gstd3d12converter.h:
	* gst-libs/gst/d3d12/gstd3d12descriptorpool.cpp:
	* gst-libs/gst/d3d12/gstd3d12descriptorpool.h:
	* gst-libs/gst/d3d12/gstd3d12device-private.h:
	* gst-libs/gst/d3d12/gstd3d12device.cpp:
	* gst-libs/gst/d3d12/gstd3d12device.h:
	* gst-libs/gst/d3d12/gstd3d12fencedatapool.cpp:
	* gst-libs/gst/d3d12/gstd3d12fencedatapool.h:
	* gst-libs/gst/d3d12/gstd3d12format-private.h:
	* gst-libs/gst/d3d12/gstd3d12format.cpp:
	* gst-libs/gst/d3d12/gstd3d12format.h:
	* gst-libs/gst/d3d12/gstd3d12memory-private.h:
	* gst-libs/gst/d3d12/gstd3d12memory.cpp:
	* gst-libs/gst/d3d12/gstd3d12memory.h:
	* gst-libs/gst/d3d12/gstd3d12utils.cpp:
	* gst-libs/gst/d3d12/gstd3d12utils.h:
	* gst-libs/gst/d3d12/meson.build:
	* gst-libs/gst/meson.build:
	* sys/d3d12/gstd3d12av1dec.cpp:
	* sys/d3d12/gstd3d12basefilter.h:
	* sys/d3d12/gstd3d12compositor.h:
	* sys/d3d12/gstd3d12decoder.cpp:
	* sys/d3d12/gstd3d12decoder.h:
	* sys/d3d12/gstd3d12dpbstorage.h:
	* sys/d3d12/gstd3d12encoder.cpp:
	* sys/d3d12/gstd3d12encoder.h:
	* sys/d3d12/gstd3d12encoderbufferpool.h:
	* sys/d3d12/gstd3d12format.h:
	* sys/d3d12/gstd3d12h264enc.h:
	* sys/d3d12/gstd3d12ipc.h:
	* sys/d3d12/gstd3d12ipcsink.h:
	* sys/d3d12/gstd3d12ipcsrc.h:
	* sys/d3d12/gstd3d12overlaycompositor.cpp:
	* sys/d3d12/gstd3d12overlaycompositor.h:
	* sys/d3d12/gstd3d12pluginutils.h:
	* sys/d3d12/gstd3d12screencapture.h:
	* sys/d3d12/gstd3d12screencapturedevice.h:
	* sys/d3d12/gstd3d12screencapturesrc.h:
	* sys/d3d12/gstd3d12testsrc.h:
	* sys/d3d12/gstd3d12videosink.h:
	* sys/d3d12/gstd3d12window.h:
	* sys/d3d12/meson.build:
	* sys/d3d12/plugin.cpp:
	  d3d12: Move core part to gst-libs
	  Move buffer pool, converter, and device abstraction layer to
	  public library
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6494>

2024-03-31 20:28:27 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12encoder.cpp:
	* sys/d3d12/gstd3d12graphicscapture.cpp:
	* sys/d3d12/gstd3d12ipcsink.cpp:
	* sys/d3d12/gstd3d12memory.h:
	* sys/d3d12/gstd3d12pluginutils.cpp:
	  d3d12memory: Define new D3D12 map flags
	  Define GST_MAP_READ_D3D12 and GST_MAP_READ_D3D12 flags
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6494>

2024-03-31 20:13:20 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12commandallocatorpool.cpp:
	* sys/d3d12/gstd3d12commandallocatorpool.h:
	* sys/d3d12/gstd3d12commandlistpool.cpp:
	* sys/d3d12/gstd3d12commandlistpool.h:
	* sys/d3d12/gstd3d12commandqueue.cpp:
	* sys/d3d12/gstd3d12commandqueue.h:
	* sys/d3d12/gstd3d12compositor.cpp:
	* sys/d3d12/gstd3d12convert.cpp:
	* sys/d3d12/gstd3d12converter.cpp:
	* sys/d3d12/gstd3d12decoder.cpp:
	* sys/d3d12/gstd3d12descriptorpool.cpp:
	* sys/d3d12/gstd3d12descriptorpool.h:
	* sys/d3d12/gstd3d12device.cpp:
	* sys/d3d12/gstd3d12dxgicapture.cpp:
	* sys/d3d12/gstd3d12encoder.cpp:
	* sys/d3d12/gstd3d12ipcsink.cpp:
	* sys/d3d12/gstd3d12memory.cpp:
	* sys/d3d12/gstd3d12memory.h:
	* sys/d3d12/gstd3d12overlaycompositor.cpp:
	* sys/d3d12/gstd3d12testsrc.cpp:
	* sys/d3d12/gstd3d12window.cpp:
	  d3d12: Make resource getter methods consistent
	  Returns COM pointer directly everywhere
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6494>

2024-03-31 19:21:47 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d11on12.cpp:
	* sys/d3d12/gstd3d11on12.h:
	* sys/d3d12/gstd3d12device.cpp:
	* sys/d3d12/gstd3d12device.h:
	* sys/d3d12/gstd3d12ipcclient.cpp:
	* sys/d3d12/gstd3d12testsrc.cpp:
	* sys/d3d12/meson.build:
	  d3d12: Remove device11on12 wrapping layer
	  It was added to avoid symbol conflict between DirectX-header project
	  and Windows SDK, but symbol conflict does not happen
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6494>

2024-03-31 19:06:12 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12bufferpool.cpp:
	  d3d12bufferpool: Use d3dx12.h format table
	  The format table in SDK header defines all required information
	  already.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6494>

2024-03-31 18:42:41 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12basefilter.cpp:
	* sys/d3d12/gstd3d12compositor.cpp:
	* sys/d3d12/gstd3d12convert.cpp:
	* sys/d3d12/gstd3d12converter.cpp:
	* sys/d3d12/gstd3d12decoder.cpp:
	* sys/d3d12/gstd3d12device.cpp:
	* sys/d3d12/gstd3d12device.h:
	* sys/d3d12/gstd3d12encoder.cpp:
	* sys/d3d12/gstd3d12ipcsink.cpp:
	* sys/d3d12/gstd3d12pluginutils.cpp:
	* sys/d3d12/gstd3d12screencapturesrc.cpp:
	* sys/d3d12/gstd3d12testsrc.cpp:
	* sys/d3d12/gstd3d12videosink.cpp:
	* sys/d3d12/gstd3d12window.cpp:
	  d3d12: Add a helper method for device equality check
	  GstD3D12Device object itself is not singltons anymore but
	  underlying private struct is singltons.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6494>

2024-03-06 11:24:12 +0800  Mengkejiergeli Ba <mengkejiergeli.ba@intel.com>

	* sys/msdk/gstmsdkvpputil.c:
	  msdkvpp: Set colorimetry for src caps
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6316>

2024-03-06 11:04:37 +0800  Mengkejiergeli Ba <mengkejiergeli.ba@intel.com>

	* sys/msdk/gstmsdkenc.c:
	  msdkenc: Set VideoFullRange according to input colorimetry range
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6316>

2024-04-01 00:52:16 +0300  Mart Raudsepp <leio@gentoo.org>

	* ext/voaacenc/meson.build:
	  meson: Don't confuse voaacenc plugin with bz2 one in meson variable names
	  No actual issue was observed from the previous naming duplicating bz2 one, so
	  just a correctness tweak.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6496>

2024-03-31 01:21:03 +0900  Seungha Yang <seungha@centricular.com>

	* sys/webview2/gstwebview2object.cpp:
	* sys/webview2/gstwebview2object.h:
	* sys/webview2/gstwebview2src.cpp:
	  webview2: Add support for javascript injection
	  Allow javascript injection for various custom use cases.
	  For example, scrollbars and scrolling can be disabled via
	  gst-launch-1.0 webview2src location=https://gstreamer.freedesktop.org \
	  javascript="document.querySelector('body').style.overflow='hidden'" ! ...
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6487>

2024-03-29 18:36:00 +0900  Seungha Yang <seungha@centricular.com>

	* sys/webview2/gstwebview2object.cpp:
	* sys/webview2/gstwebview2object.h:
	* sys/webview2/gstwebview2src.cpp:
	* sys/webview2/meson.build:
	  webview2: Use IContainerVisual for offscreen rendering
	  Capturing from hidden HWND fails sometimes for some reason.
	  Instead of rendering to hidden HWND, render webpage to container
	  visual and create WGC item from the container visual object.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6487>

2024-03-28 21:59:02 +0100  Alexander Slobodeniuk <aslobodeniuk@fluendo.com>

	* sys/d3d11/gstd3d11videosink.cpp:
	  d3d11videosink: disconnect signals before releasing the window
	  It might happen that the key event arrives when the d3d11videosink
	  is stopping. In case of GstD3D11WindowWin32 it can raise a
	  navigation event even when the sink is already freed, because the
	  window object's refcount may reach 0 in the window thread. In
	  other words sometimes the GstD3D11WindowWin32 lives few ms more
	  then the GstD3D11VideoSink, because it's freed asynchronously.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6476>

2024-03-29 19:34:32 +0100  Ruben Gonzalez <rgonzalez@fluendo.com>

	* ext/wpe/gstwpe.cpp:
	  wpe: avoid crash with G_DEBUG=fatal_criticals and static build
	  No plugin filenames if static build.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6484>

2024-03-01 16:12:27 +0800  Mengkejiergeli Ba <mengkejiergeli.ba@intel.com>

	* sys/msdk/gstmsdkcontext.c:
	  msdk: Fix session close failure
	  In the case of multi-channels transcoding, a context with child
	  sesseion can be parent for others, so we need to check if the
	  msdkcontext has any child session in the list to avoid session
	  leaks. Otherwise, we will see the failure of closing a parent
	  session because one of its child's child session not released.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6259>

2024-03-28 20:02:04 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d11/meson.build:
	  meson: d3d11: Disable library build if DirectXMath header was not found
	  DirectXMath header library is a hard dependency
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6468>

2023-05-15 04:56:47 +0900  Seungha Yang <seungha@centricular.com>

	* meson_options.txt:
	* sys/meson.build:
	* sys/webview2/gstwebview2object.cpp:
	* sys/webview2/gstwebview2object.h:
	* sys/webview2/gstwebview2src.cpp:
	* sys/webview2/gstwebview2src.h:
	* sys/webview2/meson.build:
	* sys/webview2/plugin.cpp:
	  webview2: Add Microsoft WebView2 based web browser source
	  Adding webview2src element
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4631>

2024-03-28 16:29:50 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvaav1enc.c:
	* sys/va/gstvavp9enc.c:
	  va: {av1, vp9}enc: Use g_free() to free frames
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6466>

2024-03-27 13:53:21 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* sys/v4l2codecs/gstv4l2codecalphadecodebin.c:
	  v4l2codecs: alphadecoder: Explicitly pass 64 bit integers as such through varargs
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6452>

2024-03-27 16:17:44 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst/codecalpha/gstalphadecodebin.c:
	  alphadecodebin: Explicitly pass 64 bit integers as such through varargs
	  Maybe fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3422
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6452>

2024-03-22 16:14:24 +0100  Piotr Brzeziński <piotr@centricular.com>

	* sys/applemedia/vtdec.c:
	  vtdec: Fix caps criticals during negotiation
	  Calling gst_pad_peer_query_caps() without a filter can give us EMPTY caps, whereas all the code below
	  assumes that's not the case. Replacing query+intersect with a filtered query ensures we always get a subset
	  of the template caps back.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6429>

2024-03-25 17:45:24 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvavp9enc.c:
	  va: vp9enc: Correct the flags for registering properties
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6437>

2024-03-25 16:05:36 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvaav1enc.c:
	  va: av1enc: Correct the flags for registering properties
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6437>

2024-03-25 15:40:52 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvaav1enc.c:
	* sys/va/gstvavp9enc.c:
	  va: {vp9, av1}enc: Do not use g_slice_new() to create frames
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6437>

2024-03-25 15:37:04 +0800  He Junyan <junyan.he@intel.com>

	* tests/check/libs/vp9bitwriter.c:
	  test: Fix several code style issues in vp9bitwriter test
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6437>

2024-03-25 15:20:27 +0800  He Junyan <junyan.he@intel.com>

	* gst-libs/gst/codecparsers/gstvp9bitwriter.c:
	* gst-libs/gst/codecparsers/gstvp9bitwriter.h:
	  vp9bitwriter: Fix several hotdoc related format issues
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6437>

2024-03-23 19:14:56 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvaav1enc.c:
	* sys/va/gstvah264enc.c:
	* sys/va/gstvah265enc.c:
	* sys/va/gstvavp9enc.c:
	  va: encoder: update the bitrate change correctly
	  We should update and notify the bitrate change at a common place,
	  no matter whether the bitrate is calculated or not.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6433>

2024-03-23 16:05:05 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvaav1enc.c:
	  va: av1enc: enable ICQ and QVBR modes
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6433>

2024-03-23 13:28:12 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvavp9enc.c:
	  va: vp9enc: enable ICQ and QVBR modes
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6433>

2024-03-23 01:05:40 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvah265enc.c:
	  va: h265enc: enable ICQ and QVBR modes
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6433>

2024-03-21 20:55:25 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvah264enc.c:
	  va: h264enc: enable ICQ and QVBR modes
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6433>

2024-03-22 23:59:25 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvaencoder.c:
	  va: encoder: Enable ICQ and QVBR mode in rate control map
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6433>

2024-03-22 23:35:55 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvabaseenc.c:
	  va: encoder: Set the quality_factor parameter in rate control
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6433>

2024-03-26 15:32:24 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst/jpegformat/gstjpegparse.c:
	  jpegparse: avi1 tag can be progressive
	  AVI1 tag in APP0 is trivalue: 0 not interleaved, 1 odd, 2 even.
	  So if avi1 is zero then the frame is progressive.
	  Also, this patch adds a couple log messages.
	  Fixes: #3414
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6445>

2024-03-26 12:46:02 +0000  Tim-Philipp Müller <tim@centricular.com>

	* tests/check/libs/gstlibscpp.cc:
	* tests/check/meson.build:
	  tests: add check to make sure -bad lib headers are C++ compiler clean
	  Only non-internal libs without external deps for now.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6440>

2024-03-22 16:35:54 +1100  Matthew Waters <matthew@centricular.com>

	* ext/closedcaption/ccutils.c:
	* ext/closedcaption/gstccconverter.c:
	* tests/check/elements/ccconverter.c:
	  ccconverter: fix cdp->cea608-raw field 1 60fps conversion
	  There was a potential busy loop occuring because when we were taking
	  data from the internal ccbuffer, we were not resetting which field had
	  written data.  This would mean that the next time data was retrieved
	  from ccbuffer, it was always from field 0 and never from field 1.
	  This only affects usage of cc_buffer_take_separated() which is only used
	  by cdp->raw cea608.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6423>

2024-03-25 00:01:38 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12.h:
	* sys/d3d12/gstd3d12_fwd.h:
	* sys/d3d12/gstd3d12commandallocatorpool.h:
	* sys/d3d12/gstd3d12commandlistpool.h:
	* sys/d3d12/gstd3d12compat.h:
	* sys/d3d12/gstd3d12compositor.cpp:
	* sys/d3d12/gstd3d12convert.cpp:
	* sys/d3d12/gstd3d12converter.cpp:
	* sys/d3d12/gstd3d12decoder.cpp:
	* sys/d3d12/gstd3d12descriptorpool.h:
	* sys/d3d12/gstd3d12device.cpp:
	* sys/d3d12/gstd3d12dxgicapture.cpp:
	* sys/d3d12/gstd3d12encoder.cpp:
	* sys/d3d12/gstd3d12encoderbufferpool.h:
	* sys/d3d12/gstd3d12fencedatapool.h:
	* sys/d3d12/gstd3d12h264enc.cpp:
	* sys/d3d12/gstd3d12ipcsink.cpp:
	* sys/d3d12/gstd3d12memory.cpp:
	* sys/d3d12/gstd3d12overlaycompositor.cpp:
	* sys/d3d12/gstd3d12overlaycompositor.h:
	* sys/d3d12/gstd3d12pluginutils.cpp:
	* sys/d3d12/gstd3d12testsrc.cpp:
	* sys/d3d12/gstd3d12window.cpp:
	* sys/d3d12/meson.build:
	  d3d12: Add support for cross-compile
	  ... and fix bunch of GCC reported warnings
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6435>

2024-03-24 22:39:20 +0900  Seungha Yang <seungha@centricular.com>

	* meson_options.txt:
	* sys/d3d12/gstd3d12screencapturesrc.cpp:
	* sys/d3d12/meson.build:
	  d3d12: Allow building without WGC support
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6435>

2024-03-24 21:11:08 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12compositor.cpp:
	* sys/d3d12/gstd3d12converter-builder.cpp:
	* sys/d3d12/gstd3d12dxgicapture.cpp:
	* sys/d3d12/gstd3d12overlaycompositor.cpp:
	* sys/d3d12/gstd3d12testsrc.cpp:
	* sys/d3d12/hlsl/PSMain_checker.hlsl:
	* sys/d3d12/hlsl/PSMain_checker_luma.hlsl:
	* sys/d3d12/hlsl/PSMain_checker_rgb.hlsl:
	* sys/d3d12/hlsl/PSMain_checker_vuya.hlsl:
	* sys/d3d12/hlsl/PSMain_color.hlsl:
	* sys/d3d12/hlsl/PSMain_converter.hlsl:
	* sys/d3d12/hlsl/PSMain_sample.hlsl:
	* sys/d3d12/hlsl/PSMain_sample_premul.hlsl:
	* sys/d3d12/hlsl/PSMain_snow.hlsl:
	* sys/d3d12/hlsl/VSMain_color.hlsl:
	* sys/d3d12/hlsl/VSMain_converter.hlsl:
	* sys/d3d12/hlsl/VSMain_coord.hlsl:
	* sys/d3d12/hlsl/VSMain_pos.hlsl:
	* sys/d3d12/hlsl/collect_hlsl_header.py:
	* sys/d3d12/hlsl/meson.build:
	* sys/d3d12/meson.build:
	  d3d12: Port to d3dshader library
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6434>

2024-03-24 19:14:16 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d11/gstd3d11compile.cpp:
	* gst-libs/gst/d3d11/gstd3d11converter-builder.cpp:
	* gst-libs/gst/d3d11/gstd3d11converter-builder.h:
	* gst-libs/gst/d3d11/gstd3d11converter-helper.cpp:
	* gst-libs/gst/d3d11/gstd3d11device-private.h:
	* gst-libs/gst/d3d11/gstd3d11device.cpp:
	* gst-libs/gst/d3d11/hlsl/CSMain_converter.hlsl:
	* gst-libs/gst/d3d11/hlsl/PSMain_converter.hlsl:
	* gst-libs/gst/d3d11/hlsl/VSMain_converter.hlsl:
	* gst-libs/gst/d3d11/hlsl/collect_hlsl_header.py:
	* gst-libs/gst/d3d11/hlsl/meson.build:
	* gst-libs/gst/d3d11/meson.build:
	* sys/d3d11/gstd3d11pluginutils.cpp:
	* sys/d3d11/hlsl/PSMain_checker.hlsl:
	* sys/d3d11/hlsl/PSMain_checker_luma.hlsl:
	* sys/d3d11/hlsl/PSMain_checker_rgb.hlsl:
	* sys/d3d11/hlsl/PSMain_checker_vuya.hlsl:
	* sys/d3d11/hlsl/PSMain_color.hlsl:
	* sys/d3d11/hlsl/PSMain_sample.hlsl:
	* sys/d3d11/hlsl/PSMain_sample_premul.hlsl:
	* sys/d3d11/hlsl/PSMain_snow.hlsl:
	* sys/d3d11/hlsl/VSMain_color.hlsl:
	* sys/d3d11/hlsl/VSMain_coord.hlsl:
	* sys/d3d11/hlsl/VSMain_pos.hlsl:
	* sys/d3d11/hlsl/gstd3d11plugin-hlsl.h:
	* sys/d3d11/hlsl/meson.build:
	* sys/d3d11/meson.build:
	  d3d11: Port to d3dshader library
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6434>

2024-03-24 01:41:48 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3dshader/converter-hlsl/CSMain_converter.hlsl:
	* gst-libs/gst/d3dshader/converter-hlsl/PSMain_converter.hlsl:
	* gst-libs/gst/d3dshader/converter-hlsl/VSMain_converter.hlsl:
	* gst-libs/gst/d3dshader/converter-hlsl/collect_hlsl_headers.py:
	* gst-libs/gst/d3dshader/converter-hlsl/hlsl.h:
	* gst-libs/gst/d3dshader/converter-hlsl/meson.build:
	* gst-libs/gst/d3dshader/d3dshader-prelude.h:
	* gst-libs/gst/d3dshader/gstd3dcompile.cpp:
	* gst-libs/gst/d3dshader/gstd3dcompile.h:
	* gst-libs/gst/d3dshader/gstd3dshader.h:
	* gst-libs/gst/d3dshader/gstd3dshadercache.cpp:
	* gst-libs/gst/d3dshader/gstd3dshadercache.h:
	* gst-libs/gst/d3dshader/meson.build:
	* gst-libs/gst/d3dshader/plugin-hlsl/PSMain_checker.hlsl:
	* gst-libs/gst/d3dshader/plugin-hlsl/PSMain_checker_luma.hlsl:
	* gst-libs/gst/d3dshader/plugin-hlsl/PSMain_checker_rgb.hlsl:
	* gst-libs/gst/d3dshader/plugin-hlsl/PSMain_checker_vuya.hlsl:
	* gst-libs/gst/d3dshader/plugin-hlsl/PSMain_color.hlsl:
	* gst-libs/gst/d3dshader/plugin-hlsl/PSMain_sample.hlsl:
	* gst-libs/gst/d3dshader/plugin-hlsl/PSMain_sample_premul.hlsl:
	* gst-libs/gst/d3dshader/plugin-hlsl/PSMain_snow.hlsl:
	* gst-libs/gst/d3dshader/plugin-hlsl/VSMain_color.hlsl:
	* gst-libs/gst/d3dshader/plugin-hlsl/VSMain_coord.hlsl:
	* gst-libs/gst/d3dshader/plugin-hlsl/VSMain_pos.hlsl:
	* gst-libs/gst/d3dshader/plugin-hlsl/collect_hlsl_headers.py:
	* gst-libs/gst/d3dshader/plugin-hlsl/hlsl.h:
	* gst-libs/gst/d3dshader/plugin-hlsl/meson.build:
	* gst-libs/gst/meson.build:
	* meson_options.txt:
	  d3dshader: Add HLSL shader library
	  Adding a new library for HLSL compile and compiled bytecode caching.
	  This library will be used by d3d11 and d3d12 library/plugin, in order to
	  reuse single HLSL code and compiled HLSL bytecode.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6434>

2024-03-23 20:25:42 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d11/gstd3d11converter.cpp:
	* gst-libs/gst/d3d11/hlsl/PSMain_converter.hlsl:
	  d3d11: Update shader to be d3d12 compatible
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6434>

2024-03-23 19:47:34 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12converter-builder.cpp:
	* sys/d3d12/hlsl/PSMain_converter.hlsl:
	* sys/d3d12/hlsl/PSMain_sample.hlsl:
	* sys/d3d12/hlsl/PSMain_sample_premul.hlsl:
	* sys/d3d12/hlsl/VSMain_converter.hlsl:
	* sys/d3d12/hlsl/meson.build:
	* sys/d3d12/meson.build:
	  d3d12: Update shader to be Shader Model 5.0 compatible
	  And use fxc HLSL compiler
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6434>

2024-03-22 12:57:33 +0100  Ruben Gonzalez <rgonzalez@fluendo.com>

	* gst/rist/gstristsrc.c:
	  ristsrc: Clean caps instead of unref
	  Fix issue unrefering null caps. Better solution than
	  ```
	  if (src->caps)
	  gst_caps_unref (src->caps);
	  ```
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6432>

2024-03-22 19:48:50 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12ipc.cpp:
	* sys/d3d12/gstd3d12ipc.h:
	* sys/d3d12/gstd3d12ipcclient.cpp:
	* sys/d3d12/gstd3d12ipcclient.h:
	* sys/d3d12/gstd3d12ipcserver.cpp:
	* sys/d3d12/gstd3d12ipcserver.h:
	* sys/d3d12/gstd3d12ipcsink.cpp:
	* sys/d3d12/gstd3d12ipcsink.h:
	* sys/d3d12/gstd3d12ipcsrc.cpp:
	* sys/d3d12/gstd3d12ipcsrc.h:
	* sys/d3d12/meson.build:
	* sys/d3d12/plugin.cpp:
	  d3d12: Add IPC elements
	  Adding d3d12ipcsink and d3d12ipcsrc elements, equivalent to D3D11 ones.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6428>

2024-03-22 22:51:54 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12pluginutils.cpp:
	* sys/d3d12/gstd3d12pluginutils.h:
	  d3d12: Add buffer copy helper method
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6428>

2024-03-22 20:45:01 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12commandqueue.cpp:
	  d3d12commandqueue: Always invoke notify asynchronously
	  Otherwise the callback thread is unpredictable
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6428>

2024-03-22 19:05:52 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12bufferpool.cpp:
	* sys/d3d12/gstd3d12compositor.cpp:
	* sys/d3d12/gstd3d12convert.cpp:
	* sys/d3d12/gstd3d12converter.cpp:
	* sys/d3d12/gstd3d12decoder.cpp:
	* sys/d3d12/gstd3d12dxgicapture.cpp:
	* sys/d3d12/gstd3d12encoder.cpp:
	* sys/d3d12/gstd3d12graphicscapture.cpp:
	* sys/d3d12/gstd3d12memory.cpp:
	* sys/d3d12/gstd3d12memory.h:
	* sys/d3d12/gstd3d12screencapturesrc.cpp:
	* sys/d3d12/gstd3d12testsrc.cpp:
	* sys/d3d12/gstd3d12window.cpp:
	  d3d12memory: Update for API interop
	  Add support for destroy notify in case of wrapped memory, and
	  allow setting external fence for interop
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6428>

2024-03-22 18:57:26 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12commandqueue.cpp:
	* sys/d3d12/gstd3d12commandqueue.h:
	* sys/d3d12/gstd3d12decoder.cpp:
	* sys/d3d12/gstd3d12device.cpp:
	* sys/d3d12/gstd3d12encoder.cpp:
	* sys/d3d12/gstd3d12window.cpp:
	  d3d12: Make primary fence sharable
	  Create primary fence with D3D12_FENCE_FLAG_SHARED flag so that
	  the fence can be shared with other APIs or processes
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6428>

2024-03-18 18:46:17 +0100  Piotr Brzeziński <piotr@centricular.com>

	* sys/applemedia/vtdec.c:
	  vtdec: Ignore output loop errors in drain() if we're flushing
	  In an early non-linked scenario, this was causing a ton of criticals about the queue array,
	  because the output callback would still fire for leftover frames that were still being processed by VT
	  at the time the output loop stopped. This makes sure they're flushed correctly as well.
	  Also renames gst_vtdec_loop to gst_vtdec_output_loop for consistency with related functions.
	  wip
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6397>

2024-03-18 18:38:41 +0100  Piotr Brzeziński <piotr@centricular.com>

	* sys/applemedia/vtdec.c:
	  vtdec: Fix a deadlock during ProRes playback
	  Sometimes a call to negotiate (and thus drain) can happen from the output loop
	  (via finish_frame()), which will tell VT to output all internal frames, but that won't succeed
	  if we happen to decide to wait for the queue to empty (because the loop is waiting for draining to finish and
	  will not make space in the queue!). This commit adds an override for the queue size limit if we're draining/flushing.
	  This bug could happen for any formats, but was especially obvious for ProRes, which has dpb_size of 0.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6397>

2024-03-19 23:37:37 +0900  Seungha Yang <seungha@centricular.com>

	* sys/asio/gstasiodeviceprovider.cpp:
	* sys/asio/gstasioobject.cpp:
	* sys/asio/gstasioringbuffer.cpp:
	* sys/asio/gstasiosink.cpp:
	* sys/asio/gstasiosrc.cpp:
	* sys/asio/gstasioutils.cpp:
	* sys/asio/meson.build:
	  asio: Add support for MinGW build
	  Drop MSVC specific bits and remove unused dependency
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6404>

2024-03-19 23:12:04 +0900  Seungha Yang <seungha@centricular.com>

	* meson_options.txt:
	* sys/asio/asio.h:
	* sys/asio/gstasioobject.cpp:
	* sys/asio/gstasioutils.h:
	* sys/asio/meson.build:
	  asio: Drop external SDK header dependency
	  Build ASIO plugin using our tiny SDK header
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6404>

2024-01-30 18:18:31 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvavp9enc.c:
	* sys/va/gstvavp9enc.h:
	* sys/va/meson.build:
	* sys/va/plugin.c:
	  va: Implement the vavp9enc plugin
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3293>

2024-03-11 23:06:44 +0800  He Junyan <junyan.he@intel.com>

	* tests/check/libs/vp9bitwriter.c:
	* tests/check/meson.build:
	  test: add vp9 bitwriter test case
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3293>

2024-01-30 18:10:12 +0800  He Junyan <junyan.he@intel.com>

	* gst-libs/gst/codecparsers/gstvp9bitwriter.c:
	* gst-libs/gst/codecparsers/gstvp9bitwriter.h:
	* gst-libs/gst/codecparsers/meson.build:
	  vp9bitwriter: Add the VP9 bit writer helper functions
	  In this first version, we only implement the "show existing frame"
	  and super frame writting. Other frame header types writting can
	  be added when needed.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3293>

2024-03-19 19:24:56 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12device.cpp:
	  d3d12device: Set debugging friendly object name
	  Build object name with DXGI adapter index
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6395>

2024-03-16 22:37:46 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12commandallocatorpool.cpp:
	* sys/d3d12/gstd3d12commandlistpool.cpp:
	* sys/d3d12/gstd3d12device.cpp:
	  d3d12: Suppress expected leak reports
	  Such leaks are expected and intended ones
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6395>

2024-03-16 20:40:58 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12-private.h:
	* sys/d3d12/gstd3d12commandqueue.cpp:
	* sys/d3d12/gstd3d12device.cpp:
	* sys/d3d12/plugin.cpp:
	  d3d12device: Keep device object permanently
	  Because ID3D12Device objects are singletons per adapter,
	  GstD3D12Device was following the API design, that is, keep track
	  of global GstD3D12Device objects and reuses it.
	  That means ID3D12Device object can be released at the time
	  when GstD3D12Device is destroyed.
	  But exetrnal APIs such as NVENC does not seem to be happy
	  with the released ID3D12Device, that could be a driver bug though.
	  Let's hold already opened ID3D12Device permanently without releasing
	  it for now.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6395>

2024-03-16 21:00:30 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12commandqueue.cpp:
	* sys/d3d12/gstd3d12commandqueue.h:
	  d3d12commandqueue: Add drain method
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6395>

2024-03-16 20:04:43 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12commandallocatorpool.cpp:
	* sys/d3d12/gstd3d12commandallocatorpool.h:
	* sys/d3d12/gstd3d12commandlistpool.cpp:
	* sys/d3d12/gstd3d12commandlistpool.h:
	* sys/d3d12/gstd3d12commandqueue.cpp:
	* sys/d3d12/gstd3d12commandqueue.h:
	* sys/d3d12/gstd3d12compositor.cpp:
	* sys/d3d12/gstd3d12convert.cpp:
	* sys/d3d12/gstd3d12converter.cpp:
	* sys/d3d12/gstd3d12decoder.cpp:
	* sys/d3d12/gstd3d12descriptorpool.cpp:
	* sys/d3d12/gstd3d12descriptorpool.h:
	* sys/d3d12/gstd3d12device.cpp:
	* sys/d3d12/gstd3d12dxgicapture.cpp:
	* sys/d3d12/gstd3d12encoder.cpp:
	* sys/d3d12/gstd3d12overlaycompositor.cpp:
	* sys/d3d12/gstd3d12testsrc.cpp:
	* sys/d3d12/gstd3d12window.cpp:
	  d3d12: Use native device handle if possible
	  Various abstraction objects such as command queue/list/allocator
	  can be constructed without GstD3D12Device
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6395>

2024-03-16 02:00:31 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12commandqueue.cpp:
	  d3d12commandqueue: Allow empty command list
	  Just increase fence value and signal the queue in that case
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6395>

2024-03-07 22:54:29 +0900  Seungha Yang <seungha@centricular.com>

	* tests/examples/d3d11/d3d11decoder-appsink2.cpp:
	* tests/examples/d3d11/meson.build:
	  examples: d3d11: Add inter-device synchronization example
	  Adding an example to demonstrate resource sharing between
	  D3D11 device and GPU synchronization
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6303>

2024-03-06 15:39:33 -0500  Ruijing Dong <ruijing.dong@amd.com>

	* sys/va/gstvaencoder.c:
	* sys/va/gstvaencoder.h:
	* sys/va/gstvah265enc.c:
	  va: enc : checking surface alignment attribute
	  Apply surface alignment attribute when availalbe,
	  also fix frame cropping issue for va h265 encoder.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6282>

2024-03-14 19:51:08 +0000  L. E. Segovia <amy@centricular.com>

	* ext/soundtouch/meson.build:
	  soundtouch: Fix build failure with Apple Clang caused by missing cpp_std
	  Apple Clang sets C++98 by default. I'm applying C++14 to account for Meson's
	  lack of support/fallback for `cpp_std=c++11`.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6374>

2024-03-16 19:32:19 +0100  Mark Nauwelaerts <mnauw@users.sourceforge.net>

	* gst/dvdspu/gstspu-pgs.c:
	  dvdspu: avoid null dereference
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6386>

2024-03-17 11:18:37 +0000  Philippe Normand <philn@igalia.com>

	* gst-libs/gst/play/gstplay.c:
	  play: Fix a critical warning in error callback
	  `on_error()` can be called with a NULL details structure, so in that situation
	  the `gst_structure_copy()` would raise a critical warning. Create an empty
	  structure instead of attempting to copy a NULL one.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6385>

2024-03-16 21:25:38 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12device.cpp:
	  d3d12: Fix SDK debug layer activation
	  Debug layer must be enabled before creating device. Otherwise
	  already opened devices before the activation will be removed
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6382>

2024-01-06 13:07:16 +0100  Robert Mader <robert.mader@collabora.com>

	* sys/v4l2codecs/gstv4l2codecav1dec.c:
	* sys/v4l2codecs/gstv4l2codech264dec.c:
	* sys/v4l2codecs/gstv4l2codech265dec.c:
	* sys/v4l2codecs/gstv4l2codecmpeg2dec.c:
	* sys/v4l2codecs/gstv4l2codecvp8dec.c:
	* sys/v4l2codecs/gstv4l2codecvp9dec.c:
	* sys/v4l2codecs/gstv4l2decoder.c:
	* sys/v4l2codecs/gstv4l2decoder.h:
	  v4l2codecs: decoders: Add DMA_DRM caps support
	  In order to simplify caps negotiations for clients and, notably, be more
	  compatible with va* decoders.
	  Crucially this allows clients to know ahead of time whether buffers will
	  actually be DMABufs.
	  Similar to GstVaBaseDec we only announce system memory caps if the peer
	  has ANY caps. Further more, and again like va decoders, we fail in
	  `decide_allocation()` if DMA_DRM caps are used without VideoMeta.
	  Apart from buggy peers this can happen e.g. when a peer with ANY caps
	  is used in combination with caps filters.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5890>

2024-02-17 06:01:41 +0100  Robert Mader <robert.mader@collabora.com>

	* sys/v4l2codecs/gstv4l2codecav1dec.c:
	* sys/v4l2codecs/gstv4l2codech264dec.c:
	* sys/v4l2codecs/gstv4l2codech265dec.c:
	* sys/v4l2codecs/gstv4l2codecmpeg2dec.c:
	* sys/v4l2codecs/gstv4l2codecvp8dec.c:
	* sys/v4l2codecs/gstv4l2codecvp9dec.c:
	* sys/v4l2codecs/gstv4l2decoder.c:
	* sys/v4l2codecs/gstv4l2decoder.h:
	  v4l2codecs: decoders: Introduce and use set_output_state helper class
	  Allowing us to avoid some code duplication. This will become more
	  important with upcoming changes to caps generation.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5890>

2024-02-17 05:43:23 +0100  Robert Mader <robert.mader@collabora.com>

	* sys/v4l2codecs/gstv4l2decoder.c:
	* sys/v4l2codecs/gstv4l2decoder.h:
	  v4l2codecs: decoder: Clean up select_src_format()
	  Most importantly rely on video info helpers instead of manual parsing
	  of caps, which will allow us to use additional helpers in the future.
	  While on it, tighen the check for supported formats - failing that
	  indicates a bug in caps negotiation - and make some style changes.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5890>

2024-02-17 04:20:16 +0100  Robert Mader <robert.mader@collabora.com>

	* sys/v4l2codecs/gstv4l2decoder.c:
	  v4l2codecs: decoder: Generalize size enumeration caps
	  By reducing the generated caps to the minimal number of fields and
	  using intersections instead of merges. This will allow us to reuse the
	  result in the future.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5890>

2024-02-16 22:48:17 +0100  Robert Mader <robert.mader@collabora.com>

	* sys/v4l2codecs/gstv4l2codecav1dec.c:
	* sys/v4l2codecs/gstv4l2codech264dec.c:
	* sys/v4l2codecs/gstv4l2codech265dec.c:
	* sys/v4l2codecs/gstv4l2codecmpeg2dec.c:
	* sys/v4l2codecs/gstv4l2codecvp8dec.c:
	* sys/v4l2codecs/gstv4l2codecvp9dec.c:
	* sys/v4l2codecs/gstv4l2decoder.c:
	* sys/v4l2codecs/gstv4l2decoder.h:
	  v4l2codecs: decoders: Use src template for negotiation filter
	  This ensures we don't create filter caps that are not supported by the
	  individual codec implementations, as well as that the resulting caps
	  have the required fields so they can be turned into a GstVideoFormat.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5890>

2024-03-14 20:25:52 +0900  Seungha Yang <seungha@centricular.com>

	* sys/asio/gstasiosink.cpp:
	* sys/asio/gstasiosrc.cpp:
	  asio: Fix {input,output}-channels property handling
	  Fixing regression introduced by the commit 06dc931b52fbd858640506616f5a1a928792b27c
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6370>

2024-03-14 00:49:45 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d11/gstd3d11device.cpp:
	  d3d11device: Fix adapter LUID comparison in wrapped device mode
	  Fix integer type mismatching
	  Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3382
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6358>

2024-02-23 00:24:14 +0100  Alexander Slobodeniuk <aslobodeniuk@fluendo.com>

	* gst-libs/gst/d3d11/gstd3d11device-private.h:
	* gst-libs/gst/d3d11/gstd3d11device.cpp:
	* gst-libs/gst/d3d11/gstd3d11utils.cpp:
	  d3d11device: raise 'device-removed' signal on DXGI_ERROR_DEVICE_REMOVED
	  When this error gets caught the GstD3D11Device object raises the new
	  "device-removed" signal. This allows to handle the error from outside:
	  stop the playback, re-create the player, replace the catched GstContext by
	  the new one.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6193>

2023-11-29 14:44:37 +0100  Michiel Westerbeek <happylinks@gmail.com>

	* sys/nvcodec/gstcudaconvertscale.c:
	* sys/va/gstvavpp.c:
	  gstcudaconvertscale, gstvavpp, videoconvertscale: downgrade 'Can't keep DAR' to debug
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5730>

2024-03-13 17:19:26 +0800  He Junyan <junyan.he@intel.com>

	* tests/check/libs/av1bitwriter.c:
	* tests/check/libs/h264bitwriter.c:
	* tests/check/libs/h265bitwriter.c:
	  test: Correct the API return type of {h264,h265,av1}bitwriter
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6354>

2024-03-13 00:42:16 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12device.cpp:
	  d3d12device: Fix IDXGIFactory2 leak
	  factory passed to gst_d3d12_device_find_adapter() method is valid
	  handle already
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6340>

2024-03-12 13:50:18 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst/videoparsers/gstvideoparseutils.c:
	  videoparsers: Don't verbosely warn about CEA_708_PROCESS_EM_DATA_FLAG not being set
	  And the same for CEA_708_PROCESS_CC_DATA_FLAG. This is not really a
	  problem and was polluting logs with warnings for every single frame.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6336>

2024-03-10 12:04:55 -0300  L. E. Segovia <amy@centricular.com>

	* sys/tinyalsa/meson.build:
	  meson: Require tinyalsa >= 1.1.0 when building its plugin
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6311>

2024-03-09 15:19:20 +0000  L. E. Segovia <amy@centricular.com>

	* sys/tinyalsa/tinyalsasink.c:
	  tinyalsasink: Fix missing const and deprecations with tinyalsa v2
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6311>

2024-03-12 00:45:15 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/cuda/gstcudabufferpool.cpp:
	* gst-libs/gst/d3d11/gstd3d11bufferpool.cpp:
	* sys/d3d12/gstd3d12bufferpool.cpp:
	  cuda,d3d11,d3d12bufferpool: Disable preallocation
	  Do not chain up to parent's GstBufferPool::start() which will do
	  preallocation. We don't want it to be preallocated
	  since there are various cases where negotiated downstream buffer pool is
	  not used at all (e.g., zero-copy decoding, IPC elements).
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6326>

2024-03-11 12:42:48 +0100  Antonio Larrosa <alarrosa@suse.com>

	* sys/va/gstvaav1enc.c:
	* sys/va/gstvah264enc.c:
	* sys/va/gstvah265enc.c:
	  va{h264,h265,av1}enc: fix potential crash on devices without rate control
	  This fixes a crash in `gst_va_h264_enc_class_init` and `gst_va_h265_enc_class_init`
	  (and probably also in gst_va_av1_enc_class_init) when calling
	  `g_object_class_install_properties (object_class, n_props, properties);`
	  When rate_control_type is 0, the following code is executed in :
	  ```
	  } else {
	  n_props--;
	  properties[PROP_RATE_CONTROL] = NULL;
	  }
	  ```
	  n_props has initially a value of N_PROPERTIES but PROP_RATE_CONTROL
	  is not the last element in the array, so it's making
	  g_object_class_install_properties fail to iterate over the
	  properties array.
	  This applies the same fix to gstvah264enc.c, gstvah265enc.c and
	  gstvaav1enc.c.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6319>

2024-03-07 12:28:58 +0100  Jurijs Satcs <jurijs.satcs@veset.tv>

	* docs/plugins/gst_plugins_cache.json:
	* gst/mpegtsmux/gstbasetsmux.c:
	* gst/mpegtsmux/tsmux/tsmux.c:
	  mpegtsmux: allow to disable SCTE NULL by setting interval to 0
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6284>

2024-02-26 14:57:32 +0100  Piotr Brzeziński <piotr@centricular.com>

	* sys/applemedia/atdec.c:
	* sys/applemedia/atdec.h:
	* sys/applemedia/meson.build:
	* sys/applemedia/plugin.m:
	  macos: Move atdec from applemedia (-bad) to osxaudio (-good)
	  osxaudio has a few helper methods potentially useful in atdec (or future atenc), like GStreamer -> CoreAudio
	  channel mapping. Doesn't make sense to duplicate them in applemedia, and atdec is the only audio-oriented
	  element there anyway.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6223>

2024-03-08 18:22:53 +1100  Matthew Waters <matthew@centricular.com>

	* docs/plugins/gst_plugins_cache.json:
	* ext/closedcaption/ccutils.c:
	* ext/closedcaption/ccutils.h:
	* ext/closedcaption/gstcccombiner.c:
	* ext/closedcaption/gstcccombiner.h:
	* ext/closedcaption/gstccconverter.c:
	* ext/closedcaption/gstcea608mux.c:
	* tests/check/elements/cccombiner.c:
	  closedcaption: produce valid cea608 padding by default
	  Cea608 (valid) padding removal is available on the input side of ccconverter
	  or configurable on cccombiner.  cccombiner can now configure whether
	  valid or invalid cea608 padding is used and for valid padding, how long
	  after valid non-padding to keep sending valid padding.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6300>

2024-03-09 20:16:22 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvaav1enc.c:
	  va: av1enc: Init the output_frame_num when resetting gf group
	  Fixes: #3359
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6308>

2024-03-06 12:15:37 +0000  Chris Spencer <spencercw@gmail.com>

	* gst-libs/gst/vulkan/gstvkmemory.c:
	  vkmemory: invalidate non-coherent memory when mapping for read
	  Mapping non-coherent memory does not implicitly invalidate the host caches.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6310>

2024-02-22 12:26:33 +0000  Chris Spencer <spencercw@gmail.com>

	* gst-libs/gst/vulkan/gstvkoperation.c:
	  vulkan/operation: use timeline semaphore fallback if sync2 not supported
	  gst_vulkan_operation_add_dependency_frame does not fall back to the
	  timeline semaphore implementation if VK_KHR_synchronization2 is compiled
	  in, but not supported by the driver.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6309>

2024-02-22 12:22:34 +0000  Chris Spencer <spencercw@gmail.com>

	* gst-libs/gst/vulkan/gstvkoperation.c:
	  vulkan/operation: add missing unlock
	  gst_vulkan_operation_add_dependency_frame does not release its lock if
	  support for VK_KHR_timeline_semaphore/VK_KHR_synchronization2 is compiled
	  in, but not supported by the driver.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6309>

2024-03-08 18:18:08 +0200  Jordan Petridis <jordan@centricular.com>

	* ext/rsvg/meson.build:
	  rsvg: Add direct dependency on cairo
	  We include cairo.h in the element so we should also
	  declare it in meson.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6306>

2024-03-07 17:36:33 +0100  François Laignel <francois@centricular.com>

	* ext/webrtc/gstwebrtcbin.c:
	* ext/webrtc/transportstream.c:
	  webrtc: add all SSRC attributes getting CAPS for a PT
	  The transport stream only returned the CAPS for the first matching PT entry
	  from the `ptmap`. Other SSRC with the same PT where not included. For a stream
	  which bundled multiple audio streams for instance, only the first SSRC was
	  knowed to the SSRC demux and downstream elements.
	  This commit adds all the `ssrc-` attributes from the matching PT entries.
	  The RTP jitter buffer can now find the CNAME corresponding its SSRC even if it
	  was not the first to be registered for a particular PT.
	  The RTP PT demux removes `ssrc-*` attributes cooresponding to other SSRCs
	  before pushing SSRC specific CAPS to downstream elements.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6119>

2024-02-23 11:00:20 +0100  François Laignel <francois@centricular.com>

	* ext/webrtc/gstwebrtcbin.c:
	  webrtcbin: RFC5576 - early CNAME support
	  See RFC5576: have CNAME available to the rtpjitterbuffer before the the first
	  RTCP SR is received, for rapid synchronization. Similar to what was done for
	  RTSP (last 2 commits) of [MR 2132].
	  [RFC5576]: https://www.rfc-editor.org/rfc/rfc5576
	  [MR 2132]: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2132
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6119>

2024-03-02 02:13:41 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12dxgicapture.cpp:
	* sys/d3d12/gstd3d12dxgicapture.h:
	* sys/d3d12/gstd3d12graphicscapture.cpp:
	* sys/d3d12/gstd3d12graphicscapture.h:
	* sys/d3d12/gstd3d12screencapture.cpp:
	* sys/d3d12/gstd3d12screencapture.h:
	* sys/d3d12/gstd3d12screencapturesrc.cpp:
	* sys/d3d12/meson.build:
	  d3d12screencapturesrc: Add support for WGC API
	  Adding support for window and monitor capturing by using
	  Windows Graphics Capture API.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6256>

2024-03-05 22:49:05 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12memory.cpp:
	* sys/d3d12/gstd3d12memory.h:
	* sys/d3d12/gstd3d12utils.cpp:
	* sys/d3d12/gstd3d12utils.h:
	  d3d12memory: Implement NT handle caching and custom user data support
	  Same as the d3d11 memory implementation.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6256>

2024-02-16 18:08:36 +0100  Mathieu Duponchelle <mathieu@centricular.com>

	* gst/onvif/gstrtponviftimestamp.c:
	* gst/onvif/gstrtponviftimestamp.h:
	  rtponviftimestamp: make sure to set E and T bits on last buffer of lists
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5173>

2024-02-28 09:30:33 +1100  Jan Schmidt <jan@centricular.com>

	* gst/onvif/gstrtponviftimestamp.c:
	  rtponviftimestamp: Use gst_segment_to_stream_time_full()
	  In the situation where playback starts from a keyframe before
	  the target playback segment, then the first buffers will be
	  outside the configured segment and gst_segment_to_stream_time()
	  will return GST_CLOCK_TIME_NONE unconditionally.
	  If drop-out-of-segment is false, the RTP buffers will not be
	  dropped, but will be sent witout ONVIF extension timestamps
	  and given GST_CLOCK_TIME_NONE timestamps on the receiver.
	  Instead, use gst_segment_to_stream_time_full() to extrapolate
	  stream time outside the segment so that such buffers still
	  get assigned their correct timestamps on the receiver.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6248>

2024-03-01 21:00:33 +1100  Jan Schmidt <jan@centricular.com>

	* gst/dvbsubenc/gstdvbsubenc-util.c:
	  dvbsubenc: Fix bottom field size calculation
	  Don't accidentally include the stuffing byte (if present)
	  into the bottom field size. It should only be included in the
	  total segment length.
	  Fixes problems with FFmpeg not rendering the subtitles
	  with a stuffing byte, giving a "Invalid object location!" error.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6250>

2024-02-28 15:51:31 +0200  Sebastian Dröge <sebastian@centricular.com>

	* sys/aja/gstajasink.cpp:
	  ajasink: Make logging between ajasrc and ajasink more consistent
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6208>

2024-02-23 12:41:44 +0200  Sebastian Dröge <sebastian@centricular.com>

	* sys/aja/gstajasrc.cpp:
	* sys/aja/gstajasrc.h:
	  ajasrc: Improve clock handling
	  Provide a clock from the source that is a monotonic system clock with
	  the rate corrected based on the measured and ideal capture rate of the
	  frames.
	  If this clock is selected as pipeline clock, then provide perfect
	  timestamps to downstream.
	  Otherwise, if the pipeline clock is the monotonic system clock, use the
	  internal clock for converting back to the monotonic system clock.
	  Otherwise, use the monotonic system clock time calculated in the above
	  case and convert that to the pipeline clock.
	  In all cases this will give a smoother time than the previous code,
	  which simply took the difference between the driver provided capture
	  time and the current real-time clock time, and applied that to the
	  current pipeline clock time.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6208>

2024-02-23 12:21:56 +0200  Sebastian Dröge <sebastian@centricular.com>

	* sys/aja/gstajasrc.cpp:
	  ajasrc: Move frame drop detection after the frame transfer
	  Otherwise there's a small window between querying the state and doing
	  the transfer in which a frame could be dropped, and we would then output
	  the frame right after the dropped one as if it was the dropped frame.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6208>

2024-02-23 12:21:04 +0200  Sebastian Dröge <sebastian@centricular.com>

	* sys/aja/gstajasrc.cpp:
	  ajasrc: Improve debug output related to frame transfers
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6208>

2024-02-26 22:19:57 +0800  He Junyan <junyan.he@intel.com>

	* sys/msdk/gstmsdkdec.c:
	* sys/msdk/gstmsdkenc.c:
	* sys/msdk/gstmsdkvpp.c:
	  MSDK: Set the job type when create context from external handle
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6221>

2024-03-01 00:08:03 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvah265enc.c:
	  vah265enc: Set backward_num to 1 in low delay mode
	  In low delay B mode, the P frame is converted as B frame with forward
	  references. For example, One P frame may refers to P-1, P-2 and P-3 in
	  list0 and refers to P-3, P-2 and P-1 in list1.
	  So the num in list0 and list1 does not reflect the forward_num and
	  backward_num. The vaapi does not provide ref num for forward or backward
	  so far. In this case, we just consider the backward_num to be 1 conservatively.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6249>

2024-01-26 23:50:08 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvah265enc.c:
	  vah265enc: Improve B pyramid mode in HEVC
	  If the reference frame number is bigger than 2, we can enable the
	  pyramid B mode. We do not need to assign a reference frame to each
	  pyramid level.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6249>

2024-01-28 23:27:48 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvah265enc.c:
	  vah265enc: Expand log2_max_pic_order_cnt if needed
	  In b_pyramid mode, B frames can be ref and prevPicOrderCntLsb can
	  be the B frame POC which is smaller than the P frame. This can cause
	  POC diff bigger than MaxPicOrderCntLsb/2 and generate wrong POC value.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6249>

2024-03-05 12:58:57 +0000  Tim-Philipp Müller <tim@centricular.com>

	* README.md:
	* RELEASE:
	* meson.build:
	  Back to development
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6261>

=== release 1.24.0 ===