summaryrefslogtreecommitdiff
path: root/ChangeLog
blob: 2b62850518d4663a4e4e8bd8a7fc6275d23186e8 (plain)
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
15994
15995
15996
15997
15998
15999
16000
16001
16002
16003
16004
16005
16006
16007
16008
16009
16010
16011
16012
16013
16014
16015
16016
16017
16018
16019
16020
16021
16022
16023
16024
16025
16026
16027
16028
16029
16030
16031
16032
16033
16034
16035
16036
16037
16038
16039
16040
16041
16042
16043
16044
16045
16046
16047
16048
16049
16050
16051
16052
16053
16054
16055
16056
16057
16058
16059
16060
16061
16062
16063
16064
16065
16066
16067
16068
16069
16070
16071
16072
16073
16074
16075
16076
16077
16078
16079
16080
16081
16082
16083
16084
16085
16086
16087
16088
16089
16090
16091
16092
16093
16094
16095
16096
16097
16098
16099
16100
16101
16102
16103
16104
16105
16106
16107
16108
16109
16110
16111
16112
16113
16114
16115
16116
16117
16118
16119
16120
16121
16122
16123
16124
16125
16126
16127
16128
16129
16130
16131
16132
16133
16134
16135
16136
16137
16138
16139
16140
16141
16142
16143
16144
16145
16146
16147
16148
16149
16150
16151
16152
16153
16154
16155
16156
16157
16158
16159
16160
16161
16162
16163
16164
16165
16166
16167
16168
16169
16170
16171
16172
16173
16174
16175
16176
16177
16178
16179
16180
16181
16182
16183
16184
16185
16186
16187
16188
16189
16190
16191
16192
16193
16194
16195
16196
16197
16198
16199
16200
16201
16202
16203
16204
16205
16206
16207
16208
16209
16210
16211
16212
16213
16214
16215
16216
16217
16218
16219
16220
16221
16222
16223
16224
16225
16226
16227
16228
16229
16230
16231
16232
16233
16234
16235
16236
16237
16238
16239
16240
16241
16242
16243
16244
16245
16246
16247
16248
16249
16250
16251
16252
16253
16254
16255
16256
16257
16258
16259
16260
16261
16262
16263
16264
16265
16266
16267
16268
16269
16270
16271
16272
16273
16274
16275
16276
16277
16278
16279
16280
16281
16282
16283
16284
16285
16286
16287
16288
16289
16290
16291
16292
16293
16294
16295
16296
16297
16298
16299
16300
16301
16302
16303
16304
16305
16306
16307
16308
16309
16310
16311
16312
16313
16314
16315
16316
16317
16318
16319
16320
16321
16322
16323
16324
16325
16326
16327
16328
16329
16330
16331
16332
16333
16334
16335
16336
16337
16338
16339
16340
16341
16342
16343
16344
16345
16346
16347
16348
16349
16350
16351
16352
16353
16354
16355
16356
16357
16358
16359
16360
16361
16362
16363
16364
16365
16366
16367
16368
16369
16370
16371
16372
16373
16374
16375
16376
16377
16378
16379
16380
16381
16382
16383
16384
16385
16386
16387
16388
16389
16390
16391
16392
16393
16394
16395
16396
16397
16398
16399
16400
16401
16402
16403
16404
16405
16406
16407
16408
16409
16410
16411
16412
16413
16414
16415
16416
16417
16418
16419
16420
16421
16422
16423
16424
16425
16426
16427
16428
16429
16430
16431
16432
16433
16434
16435
16436
16437
16438
16439
16440
16441
16442
16443
16444
16445
16446
16447
16448
16449
16450
16451
16452
16453
16454
16455
16456
16457
16458
16459
16460
16461
16462
16463
16464
16465
16466
16467
16468
16469
16470
16471
16472
16473
16474
16475
16476
16477
16478
16479
16480
16481
16482
16483
16484
16485
16486
16487
16488
16489
16490
16491
16492
16493
16494
16495
16496
16497
16498
16499
16500
16501
16502
16503
16504
16505
16506
16507
16508
16509
16510
16511
16512
16513
16514
16515
16516
16517
16518
16519
16520
16521
16522
16523
16524
16525
16526
16527
16528
16529
16530
16531
16532
16533
16534
16535
16536
16537
16538
16539
16540
16541
16542
16543
16544
16545
16546
16547
16548
16549
16550
16551
16552
16553
16554
16555
16556
16557
16558
16559
16560
16561
16562
16563
16564
16565
16566
16567
16568
16569
16570
16571
16572
16573
16574
16575
16576
16577
16578
16579
16580
16581
16582
16583
16584
16585
16586
16587
16588
16589
16590
16591
16592
16593
16594
16595
16596
16597
16598
16599
16600
16601
16602
16603
16604
16605
16606
16607
16608
16609
16610
16611
16612
16613
16614
16615
16616
16617
16618
16619
16620
16621
16622
16623
16624
16625
16626
16627
16628
16629
16630
16631
16632
16633
16634
16635
16636
16637
16638
16639
16640
16641
16642
16643
16644
16645
16646
16647
16648
16649
16650
16651
16652
16653
16654
16655
16656
16657
16658
16659
16660
16661
16662
16663
16664
16665
16666
16667
16668
16669
16670
16671
16672
16673
16674
16675
16676
16677
16678
16679
16680
16681
16682
16683
16684
16685
16686
16687
16688
16689
16690
16691
16692
16693
16694
16695
16696
16697
16698
16699
16700
16701
16702
16703
16704
16705
16706
16707
16708
16709
16710
16711
16712
16713
16714
16715
16716
16717
16718
16719
16720
16721
16722
16723
16724
16725
16726
16727
16728
16729
16730
16731
16732
16733
16734
16735
16736
16737
16738
16739
16740
16741
16742
16743
16744
16745
16746
16747
16748
16749
16750
16751
16752
16753
16754
16755
16756
16757
16758
16759
16760
16761
16762
16763
16764
16765
16766
16767
16768
16769
16770
16771
16772
16773
16774
16775
16776
16777
16778
16779
16780
16781
16782
16783
16784
16785
16786
16787
16788
16789
16790
16791
16792
16793
16794
16795
16796
16797
16798
16799
16800
16801
16802
16803
16804
16805
16806
16807
16808
16809
16810
16811
16812
16813
16814
16815
16816
16817
16818
16819
16820
16821
16822
16823
16824
16825
16826
16827
16828
16829
16830
16831
16832
16833
16834
16835
16836
16837
16838
16839
16840
16841
16842
16843
16844
16845
16846
16847
16848
16849
16850
16851
16852
16853
16854
16855
16856
16857
16858
16859
16860
16861
16862
16863
16864
16865
16866
16867
16868
16869
16870
16871
16872
16873
16874
16875
16876
16877
16878
16879
16880
16881
16882
16883
16884
16885
16886
16887
16888
16889
16890
16891
16892
16893
16894
16895
16896
16897
16898
16899
16900
16901
16902
16903
16904
16905
16906
16907
16908
16909
16910
16911
16912
16913
16914
16915
16916
16917
16918
16919
16920
16921
16922
16923
16924
16925
16926
16927
16928
16929
16930
16931
16932
16933
16934
16935
16936
16937
16938
16939
16940
16941
16942
16943
16944
16945
16946
16947
16948
16949
16950
16951
16952
16953
16954
16955
16956
16957
16958
16959
16960
16961
16962
16963
16964
16965
16966
16967
16968
16969
16970
16971
16972
16973
16974
16975
16976
16977
16978
16979
16980
16981
16982
16983
16984
16985
16986
16987
16988
16989
16990
16991
16992
16993
16994
16995
16996
16997
16998
16999
17000
17001
17002
17003
17004
17005
17006
17007
17008
17009
17010
17011
17012
17013
17014
17015
17016
17017
17018
17019
17020
17021
17022
17023
17024
17025
17026
17027
17028
17029
17030
17031
17032
17033
17034
17035
17036
17037
17038
17039
17040
17041
17042
17043
17044
17045
17046
17047
17048
17049
17050
17051
17052
17053
17054
17055
17056
17057
17058
17059
17060
17061
17062
17063
17064
17065
17066
17067
17068
17069
17070
17071
17072
17073
17074
17075
17076
17077
17078
17079
17080
17081
17082
17083
17084
17085
17086
17087
17088
17089
17090
17091
17092
17093
17094
17095
17096
17097
17098
17099
17100
17101
17102
17103
17104
17105
17106
17107
17108
17109
17110
17111
17112
17113
17114
17115
17116
17117
17118
17119
17120
17121
17122
17123
17124
17125
17126
17127
17128
17129
17130
17131
17132
17133
17134
17135
17136
17137
17138
17139
17140
17141
17142
17143
17144
17145
17146
17147
17148
17149
17150
17151
17152
17153
17154
17155
17156
17157
17158
17159
17160
17161
17162
17163
17164
17165
17166
17167
17168
17169
17170
17171
17172
17173
17174
17175
17176
17177
17178
17179
17180
17181
17182
17183
17184
17185
17186
17187
17188
17189
17190
17191
17192
17193
17194
17195
17196
17197
17198
17199
17200
17201
17202
17203
17204
17205
17206
17207
17208
17209
17210
17211
17212
17213
17214
17215
17216
17217
17218
17219
17220
17221
17222
17223
17224
17225
17226
17227
17228
17229
17230
17231
17232
17233
17234
17235
17236
17237
17238
17239
17240
17241
17242
17243
17244
17245
17246
17247
17248
17249
17250
17251
17252
17253
17254
17255
17256
17257
17258
17259
17260
17261
17262
17263
17264
17265
17266
17267
17268
17269
17270
17271
17272
17273
17274
17275
17276
17277
17278
17279
17280
17281
17282
17283
17284
17285
17286
17287
17288
17289
17290
17291
17292
17293
17294
17295
17296
17297
17298
17299
17300
17301
17302
17303
17304
17305
17306
17307
17308
17309
17310
17311
17312
17313
17314
17315
17316
17317
17318
17319
17320
17321
17322
17323
17324
17325
17326
17327
17328
17329
17330
17331
17332
17333
17334
17335
17336
17337
17338
17339
17340
17341
17342
17343
17344
17345
17346
17347
17348
17349
17350
17351
17352
17353
17354
17355
17356
17357
17358
17359
17360
17361
17362
17363
17364
17365
17366
17367
17368
17369
17370
17371
17372
17373
17374
17375
17376
17377
17378
17379
17380
17381
17382
17383
17384
17385
17386
17387
17388
17389
17390
17391
17392
17393
17394
17395
17396
17397
17398
17399
17400
17401
17402
17403
17404
17405
17406
17407
17408
17409
17410
17411
17412
17413
17414
17415
17416
17417
17418
17419
17420
17421
17422
17423
17424
17425
17426
17427
17428
17429
17430
17431
17432
17433
17434
17435
17436
17437
17438
17439
17440
17441
17442
17443
17444
17445
17446
17447
17448
17449
17450
17451
17452
17453
17454
17455
17456
17457
17458
17459
17460
17461
17462
17463
17464
17465
17466
17467
17468
17469
17470
17471
17472
17473
17474
17475
17476
17477
17478
17479
17480
17481
17482
17483
17484
17485
17486
17487
17488
17489
17490
17491
17492
17493
17494
17495
17496
17497
17498
17499
17500
17501
17502
17503
17504
17505
17506
17507
17508
17509
17510
17511
17512
17513
17514
17515
17516
17517
17518
17519
17520
17521
17522
17523
17524
17525
17526
17527
17528
17529
17530
17531
17532
17533
17534
17535
17536
17537
17538
17539
17540
17541
17542
17543
17544
17545
17546
17547
17548
17549
17550
17551
17552
17553
17554
17555
17556
17557
17558
17559
17560
17561
17562
17563
17564
17565
17566
17567
17568
17569
17570
17571
17572
17573
17574
17575
17576
17577
17578
17579
17580
17581
17582
17583
17584
17585
17586
17587
17588
17589
17590
17591
17592
17593
17594
17595
17596
17597
17598
17599
17600
17601
17602
17603
17604
17605
17606
17607
17608
17609
17610
17611
17612
17613
17614
17615
17616
17617
17618
17619
17620
17621
17622
17623
17624
17625
17626
17627
17628
17629
17630
17631
17632
17633
17634
17635
17636
17637
17638
17639
17640
17641
17642
17643
17644
17645
17646
17647
17648
17649
17650
17651
17652
17653
17654
17655
17656
17657
17658
17659
17660
17661
17662
17663
17664
17665
17666
17667
17668
17669
17670
17671
17672
17673
17674
17675
17676
17677
17678
17679
17680
17681
17682
17683
17684
17685
17686
17687
17688
17689
17690
17691
17692
17693
17694
17695
17696
17697
17698
17699
17700
17701
17702
17703
17704
17705
17706
17707
17708
17709
17710
17711
17712
17713
17714
17715
17716
17717
17718
17719
17720
17721
17722
17723
17724
17725
17726
17727
17728
17729
17730
17731
17732
17733
17734
17735
17736
17737
17738
17739
17740
17741
17742
17743
17744
17745
17746
17747
17748
17749
17750
17751
17752
17753
17754
17755
17756
17757
17758
17759
17760
17761
17762
17763
17764
17765
17766
17767
17768
17769
17770
17771
17772
17773
17774
17775
17776
17777
17778
17779
17780
17781
17782
17783
17784
17785
17786
17787
17788
17789
17790
17791
17792
17793
17794
17795
17796
17797
17798
17799
17800
17801
17802
17803
17804
17805
17806
17807
17808
17809
17810
17811
17812
17813
17814
17815
17816
17817
17818
17819
17820
17821
17822
17823
17824
17825
17826
17827
17828
17829
17830
17831
17832
17833
17834
17835
17836
17837
17838
17839
17840
17841
17842
17843
17844
17845
17846
17847
17848
17849
17850
17851
17852
17853
17854
17855
17856
17857
17858
17859
17860
17861
17862
17863
17864
17865
17866
17867
17868
17869
17870
17871
17872
17873
17874
17875
17876
17877
17878
17879
17880
17881
17882
17883
17884
17885
17886
17887
17888
17889
17890
17891
17892
17893
17894
17895
17896
17897
17898
17899
17900
17901
17902
17903
17904
17905
17906
17907
17908
17909
17910
17911
17912
17913
17914
17915
17916
17917
17918
17919
17920
17921
17922
17923
17924
17925
17926
17927
17928
17929
17930
17931
17932
17933
17934
17935
17936
17937
17938
17939
17940
17941
17942
17943
17944
17945
17946
17947
17948
17949
17950
17951
17952
17953
17954
17955
17956
17957
17958
17959
17960
17961
17962
17963
17964
17965
17966
17967
17968
17969
17970
17971
17972
17973
17974
17975
17976
17977
17978
17979
17980
17981
17982
17983
17984
17985
17986
17987
17988
17989
17990
17991
17992
17993
17994
17995
17996
17997
17998
17999
18000
18001
18002
18003
18004
18005
18006
18007
18008
18009
18010
18011
18012
18013
18014
18015
18016
18017
18018
18019
18020
18021
18022
18023
18024
18025
18026
18027
18028
18029
18030
18031
18032
18033
18034
18035
18036
18037
18038
18039
18040
18041
18042
18043
18044
18045
18046
18047
18048
18049
18050
18051
18052
18053
18054
18055
18056
18057
18058
18059
18060
18061
18062
18063
18064
18065
18066
18067
18068
18069
18070
18071
18072
18073
18074
18075
18076
18077
18078
18079
18080
18081
18082
18083
18084
18085
18086
18087
18088
18089
18090
18091
18092
18093
18094
18095
18096
18097
18098
18099
18100
18101
18102
18103
18104
18105
18106
18107
18108
18109
18110
18111
18112
18113
18114
18115
18116
18117
18118
18119
18120
18121
18122
18123
18124
18125
18126
18127
18128
18129
18130
18131
18132
18133
18134
18135
18136
18137
18138
18139
18140
18141
18142
18143
18144
18145
18146
18147
18148
18149
18150
18151
18152
18153
18154
18155
18156
18157
18158
18159
18160
18161
18162
18163
18164
18165
18166
18167
18168
18169
18170
18171
18172
18173
18174
18175
18176
18177
18178
18179
18180
18181
18182
18183
18184
18185
18186
18187
18188
18189
18190
18191
18192
18193
18194
18195
18196
18197
18198
18199
18200
18201
18202
18203
18204
18205
18206
18207
18208
18209
18210
18211
18212
18213
18214
18215
18216
18217
18218
18219
18220
18221
18222
18223
18224
18225
18226
18227
18228
18229
18230
18231
18232
18233
18234
18235
18236
18237
18238
18239
18240
18241
18242
18243
18244
18245
18246
18247
18248
18249
18250
18251
18252
18253
18254
18255
18256
18257
18258
18259
18260
18261
18262
18263
18264
18265
18266
18267
18268
18269
18270
18271
18272
18273
18274
18275
18276
18277
18278
18279
18280
18281
18282
18283
18284
18285
18286
18287
18288
18289
18290
18291
18292
18293
18294
18295
18296
18297
18298
18299
18300
18301
18302
18303
18304
18305
18306
18307
18308
18309
18310
18311
18312
18313
18314
18315
18316
18317
18318
18319
18320
18321
18322
18323
18324
18325
18326
18327
18328
18329
18330
18331
18332
18333
18334
18335
18336
18337
18338
18339
18340
18341
18342
18343
18344
18345
18346
18347
18348
18349
18350
18351
18352
18353
18354
18355
18356
18357
18358
18359
18360
18361
18362
18363
18364
18365
18366
18367
18368
18369
18370
18371
18372
18373
18374
18375
18376
18377
18378
18379
18380
18381
18382
18383
18384
18385
18386
18387
18388
18389
18390
18391
18392
18393
18394
18395
18396
18397
18398
18399
18400
18401
18402
18403
18404
18405
18406
18407
18408
18409
18410
18411
18412
18413
18414
18415
18416
18417
18418
18419
18420
18421
18422
18423
18424
18425
18426
18427
18428
18429
18430
18431
18432
18433
18434
18435
18436
18437
18438
18439
18440
18441
18442
18443
18444
18445
18446
18447
18448
18449
18450
18451
18452
18453
18454
18455
18456
18457
18458
18459
18460
18461
18462
18463
18464
18465
18466
18467
18468
18469
18470
18471
18472
18473
18474
18475
18476
18477
18478
18479
18480
18481
18482
18483
18484
18485
18486
18487
18488
18489
18490
18491
18492
18493
18494
18495
18496
18497
18498
18499
18500
18501
18502
18503
18504
18505
18506
18507
18508
18509
18510
18511
18512
18513
18514
18515
18516
18517
18518
18519
18520
18521
18522
18523
18524
18525
18526
18527
18528
18529
18530
18531
18532
18533
18534
18535
18536
18537
18538
18539
18540
18541
18542
18543
18544
18545
18546
18547
18548
18549
18550
18551
18552
18553
18554
18555
18556
18557
18558
18559
18560
18561
18562
18563
18564
18565
18566
18567
18568
18569
18570
18571
18572
18573
18574
18575
18576
18577
18578
18579
18580
18581
18582
18583
18584
18585
18586
18587
18588
18589
18590
18591
18592
18593
18594
18595
18596
18597
18598
18599
18600
18601
18602
18603
18604
18605
18606
18607
18608
18609
18610
18611
18612
18613
18614
18615
18616
18617
18618
18619
18620
18621
18622
18623
18624
18625
18626
18627
18628
18629
18630
18631
18632
18633
18634
18635
18636
18637
18638
18639
18640
18641
18642
18643
18644
18645
18646
18647
18648
18649
18650
18651
18652
18653
18654
18655
18656
18657
18658
18659
18660
18661
18662
18663
18664
18665
18666
18667
18668
18669
18670
18671
18672
18673
18674
18675
18676
18677
18678
18679
18680
18681
18682
18683
18684
18685
18686
18687
18688
18689
18690
18691
18692
18693
18694
18695
18696
18697
18698
18699
18700
18701
18702
18703
18704
18705
18706
18707
18708
18709
18710
18711
18712
18713
18714
18715
18716
18717
18718
18719
18720
18721
18722
18723
18724
18725
18726
18727
18728
18729
18730
18731
18732
18733
18734
18735
18736
18737
18738
18739
18740
18741
18742
18743
18744
18745
18746
18747
18748
18749
18750
18751
18752
18753
18754
18755
18756
18757
18758
18759
18760
18761
18762
18763
18764
18765
18766
18767
18768
18769
18770
18771
18772
18773
18774
18775
18776
18777
18778
18779
18780
18781
18782
18783
18784
18785
18786
18787
18788
18789
18790
18791
18792
18793
18794
18795
18796
18797
18798
18799
18800
18801
18802
18803
18804
18805
18806
18807
18808
18809
18810
18811
18812
18813
18814
18815
18816
18817
18818
18819
18820
18821
18822
18823
18824
18825
18826
18827
18828
18829
18830
18831
18832
18833
18834
18835
18836
18837
18838
18839
18840
18841
18842
18843
18844
18845
18846
18847
18848
18849
18850
18851
18852
18853
18854
18855
18856
18857
18858
18859
18860
18861
18862
18863
18864
18865
18866
18867
18868
18869
18870
18871
18872
18873
18874
18875
18876
18877
18878
18879
18880
18881
18882
18883
18884
18885
18886
18887
18888
18889
18890
18891
18892
18893
18894
18895
18896
18897
18898
18899
18900
18901
18902
18903
18904
18905
18906
18907
18908
18909
18910
18911
18912
18913
18914
18915
18916
18917
18918
18919
18920
18921
18922
18923
18924
18925
18926
18927
18928
18929
18930
18931
18932
18933
18934
18935
18936
18937
18938
18939
18940
18941
18942
18943
18944
18945
18946
18947
18948
18949
18950
18951
18952
18953
18954
18955
18956
18957
18958
18959
18960
18961
18962
18963
18964
18965
18966
18967
18968
18969
18970
18971
18972
18973
18974
18975
18976
18977
18978
18979
18980
18981
18982
18983
18984
18985
18986
18987
18988
18989
18990
18991
18992
18993
18994
18995
18996
18997
18998
18999
19000
19001
19002
19003
19004
19005
19006
19007
19008
19009
19010
19011
19012
19013
19014
19015
19016
19017
19018
19019
19020
19021
19022
19023
19024
19025
19026
19027
19028
19029
19030
19031
19032
19033
19034
19035
19036
19037
19038
19039
19040
19041
19042
19043
19044
19045
19046
19047
19048
19049
19050
19051
19052
19053
19054
19055
19056
19057
19058
19059
19060
19061
19062
19063
19064
19065
19066
19067
19068
19069
19070
19071
19072
19073
19074
19075
19076
19077
19078
19079
19080
19081
19082
19083
19084
19085
19086
19087
19088
19089
19090
19091
19092
19093
19094
19095
19096
19097
19098
19099
19100
19101
19102
19103
19104
19105
19106
19107
19108
19109
19110
19111
19112
19113
19114
19115
19116
19117
19118
19119
19120
19121
19122
19123
19124
19125
19126
19127
19128
19129
19130
19131
19132
19133
19134
19135
19136
19137
19138
19139
19140
19141
19142
19143
19144
19145
19146
19147
19148
19149
19150
19151
19152
19153
19154
19155
19156
19157
19158
19159
19160
19161
19162
19163
19164
19165
19166
19167
19168
19169
19170
19171
19172
19173
19174
19175
19176
19177
19178
19179
19180
19181
19182
19183
19184
19185
19186
19187
19188
19189
19190
19191
19192
19193
19194
19195
19196
19197
19198
19199
19200
19201
19202
19203
19204
19205
19206
19207
19208
19209
19210
19211
19212
19213
19214
19215
19216
19217
19218
19219
19220
19221
19222
19223
19224
19225
19226
19227
19228
19229
19230
19231
19232
19233
19234
19235
19236
19237
19238
19239
19240
19241
19242
19243
19244
19245
19246
19247
19248
19249
19250
19251
19252
19253
19254
19255
19256
19257
19258
19259
19260
19261
19262
19263
19264
19265
19266
19267
19268
19269
19270
19271
19272
19273
19274
19275
19276
19277
19278
19279
19280
19281
19282
19283
19284
19285
19286
19287
19288
19289
19290
19291
19292
19293
19294
19295
19296
19297
19298
19299
19300
19301
19302
19303
19304
19305
19306
19307
19308
19309
19310
19311
19312
19313
19314
19315
19316
19317
19318
19319
19320
19321
19322
19323
19324
19325
19326
19327
19328
19329
19330
19331
19332
19333
19334
19335
19336
19337
19338
19339
19340
19341
19342
19343
19344
19345
19346
19347
19348
19349
19350
19351
19352
19353
19354
19355
19356
19357
19358
19359
19360
19361
19362
19363
19364
19365
19366
19367
19368
19369
19370
19371
19372
19373
19374
19375
19376
19377
19378
19379
19380
19381
19382
19383
19384
19385
19386
19387
19388
19389
19390
19391
19392
19393
19394
19395
19396
19397
19398
19399
19400
19401
19402
19403
19404
19405
19406
19407
19408
19409
19410
19411
19412
19413
19414
19415
19416
19417
19418
19419
19420
19421
19422
19423
19424
19425
19426
19427
19428
19429
19430
19431
19432
19433
19434
19435
19436
19437
19438
19439
19440
19441
19442
19443
19444
19445
19446
19447
19448
19449
19450
19451
19452
19453
19454
19455
19456
19457
19458
19459
19460
19461
19462
19463
19464
19465
19466
19467
19468
19469
19470
19471
19472
19473
19474
19475
19476
19477
19478
19479
19480
19481
19482
19483
19484
19485
19486
19487
19488
19489
19490
19491
19492
19493
19494
19495
19496
19497
19498
19499
19500
19501
19502
19503
19504
19505
19506
19507
19508
19509
19510
19511
19512
19513
19514
19515
19516
19517
19518
19519
19520
19521
19522
19523
19524
19525
19526
19527
19528
19529
19530
19531
19532
19533
19534
19535
19536
19537
19538
19539
19540
19541
19542
19543
19544
19545
19546
19547
19548
19549
19550
19551
19552
19553
19554
19555
19556
19557
19558
19559
19560
19561
19562
19563
19564
19565
19566
19567
19568
19569
19570
19571
19572
19573
19574
19575
19576
19577
19578
19579
19580
19581
19582
19583
19584
19585
19586
19587
19588
19589
19590
19591
19592
19593
19594
19595
19596
19597
19598
19599
19600
19601
19602
19603
19604
19605
19606
19607
19608
19609
19610
19611
19612
19613
19614
19615
19616
19617
19618
19619
19620
19621
19622
19623
19624
19625
19626
19627
19628
19629
19630
19631
19632
19633
19634
19635
19636
19637
19638
19639
19640
19641
19642
19643
19644
19645
19646
19647
19648
19649
19650
19651
19652
19653
19654
19655
19656
19657
19658
19659
19660
19661
19662
19663
19664
19665
19666
19667
19668
19669
19670
19671
19672
19673
19674
19675
19676
19677
19678
19679
19680
19681
19682
19683
19684
19685
19686
19687
19688
19689
19690
19691
19692
19693
19694
19695
19696
19697
19698
19699
19700
19701
19702
19703
19704
19705
19706
19707
19708
19709
19710
19711
19712
19713
19714
19715
19716
19717
19718
19719
19720
19721
19722
19723
19724
19725
19726
19727
19728
19729
19730
19731
19732
19733
19734
19735
19736
19737
19738
19739
19740
19741
19742
19743
19744
19745
19746
19747
19748
19749
19750
19751
19752
19753
19754
19755
19756
19757
19758
19759
19760
19761
19762
19763
19764
19765
19766
19767
19768
19769
19770
19771
19772
19773
19774
19775
19776
19777
19778
19779
19780
19781
19782
19783
19784
19785
19786
19787
19788
19789
19790
19791
19792
19793
19794
19795
19796
19797
19798
19799
19800
19801
19802
19803
19804
19805
19806
19807
19808
19809
19810
19811
19812
19813
19814
19815
19816
19817
19818
19819
19820
19821
19822
19823
19824
19825
19826
19827
19828
19829
19830
19831
19832
19833
19834
19835
19836
19837
19838
19839
19840
19841
19842
19843
19844
19845
19846
19847
19848
19849
19850
19851
19852
19853
19854
19855
19856
19857
19858
19859
19860
19861
19862
19863
19864
19865
19866
19867
19868
19869
19870
19871
19872
19873
19874
19875
19876
19877
19878
19879
19880
19881
19882
19883
19884
19885
19886
19887
19888
19889
19890
19891
19892
19893
19894
19895
19896
19897
19898
19899
19900
19901
19902
19903
19904
19905
19906
19907
19908
19909
19910
19911
19912
19913
19914
19915
19916
19917
19918
19919
19920
19921
19922
19923
19924
19925
19926
19927
19928
19929
19930
19931
19932
19933
19934
19935
19936
19937
19938
19939
19940
19941
19942
19943
19944
19945
19946
19947
19948
19949
19950
19951
19952
19953
19954
19955
19956
19957
19958
19959
19960
19961
19962
19963
19964
19965
19966
19967
19968
19969
19970
19971
19972
19973
19974
19975
19976
19977
19978
19979
19980
19981
19982
19983
19984
19985
19986
19987
19988
19989
19990
19991
19992
19993
19994
19995
19996
19997
19998
19999
20000
20001
20002
20003
20004
20005
20006
20007
20008
20009
20010
20011
20012
20013
20014
20015
20016
20017
20018
20019
20020
20021
20022
20023
20024
20025
20026
20027
20028
20029
20030
20031
20032
20033
20034
20035
20036
20037
20038
20039
20040
20041
20042
20043
20044
20045
20046
20047
20048
20049
20050
20051
20052
20053
20054
20055
20056
20057
20058
20059
20060
20061
20062
20063
20064
20065
20066
20067
20068
20069
20070
20071
20072
20073
20074
20075
20076
20077
20078
20079
20080
20081
20082
20083
20084
20085
20086
20087
20088
20089
20090
20091
20092
20093
20094
20095
20096
20097
20098
20099
20100
20101
20102
20103
20104
20105
20106
20107
20108
20109
20110
20111
20112
20113
20114
20115
20116
20117
20118
20119
20120
20121
20122
20123
20124
20125
20126
20127
20128
20129
20130
20131
20132
20133
20134
20135
20136
20137
20138
20139
20140
20141
20142
20143
20144
20145
20146
20147
20148
20149
20150
20151
20152
20153
20154
20155
20156
20157
20158
20159
20160
20161
20162
20163
20164
20165
20166
20167
20168
20169
20170
20171
20172
20173
20174
20175
20176
20177
20178
20179
20180
20181
20182
20183
20184
20185
20186
20187
20188
20189
20190
20191
20192
20193
20194
20195
20196
20197
20198
20199
20200
20201
20202
20203
20204
20205
20206
20207
20208
20209
20210
20211
20212
20213
20214
20215
20216
20217
20218
20219
20220
20221
20222
20223
20224
20225
20226
20227
20228
20229
20230
20231
20232
20233
20234
20235
20236
20237
20238
20239
20240
20241
20242
20243
20244
20245
20246
20247
20248
20249
20250
20251
20252
20253
20254
20255
20256
20257
20258
20259
20260
20261
20262
20263
20264
20265
20266
20267
20268
20269
20270
20271
20272
20273
20274
20275
20276
20277
20278
20279
20280
20281
20282
20283
20284
20285
20286
20287
20288
20289
20290
20291
20292
20293
20294
20295
20296
20297
20298
20299
20300
20301
20302
20303
20304
20305
20306
20307
20308
20309
20310
20311
20312
20313
20314
20315
20316
20317
20318
20319
20320
20321
20322
20323
20324
20325
20326
20327
20328
20329
20330
20331
20332
20333
20334
20335
20336
20337
20338
20339
20340
20341
20342
20343
20344
20345
20346
20347
20348
20349
20350
20351
20352
20353
20354
20355
20356
20357
20358
20359
20360
20361
20362
20363
20364
20365
20366
20367
20368
20369
20370
20371
20372
20373
20374
20375
20376
20377
20378
20379
20380
20381
20382
20383
20384
20385
20386
20387
20388
20389
20390
20391
20392
20393
20394
20395
20396
20397
20398
20399
20400
20401
20402
20403
20404
20405
20406
20407
20408
20409
20410
20411
20412
20413
20414
20415
20416
20417
20418
20419
20420
20421
20422
20423
20424
20425
20426
20427
20428
20429
20430
20431
20432
20433
20434
20435
20436
20437
20438
20439
20440
20441
20442
20443
20444
20445
20446
20447
20448
20449
20450
20451
20452
20453
20454
20455
20456
20457
20458
20459
20460
20461
20462
20463
20464
20465
20466
20467
20468
20469
20470
20471
20472
20473
20474
20475
20476
20477
20478
20479
20480
20481
20482
20483
20484
20485
20486
20487
20488
20489
20490
20491
20492
20493
20494
20495
20496
20497
20498
20499
20500
20501
20502
20503
20504
20505
20506
20507
20508
20509
20510
20511
20512
20513
20514
20515
20516
20517
20518
20519
20520
20521
20522
20523
20524
20525
20526
20527
20528
20529
20530
20531
20532
20533
20534
20535
20536
20537
20538
20539
20540
20541
20542
20543
20544
20545
20546
20547
20548
20549
20550
20551
20552
20553
20554
20555
20556
20557
20558
20559
20560
20561
20562
20563
20564
20565
20566
20567
20568
20569
20570
20571
20572
20573
20574
20575
20576
20577
20578
20579
20580
20581
20582
20583
20584
20585
20586
20587
20588
20589
20590
20591
20592
20593
20594
20595
20596
20597
20598
20599
20600
20601
20602
20603
20604
20605
20606
20607
20608
20609
20610
20611
20612
20613
20614
20615
20616
20617
20618
20619
20620
20621
20622
20623
20624
20625
20626
20627
20628
20629
20630
20631
20632
20633
20634
20635
20636
20637
20638
20639
20640
20641
20642
20643
20644
20645
20646
20647
20648
20649
20650
20651
20652
20653
20654
20655
20656
20657
20658
20659
20660
20661
20662
20663
20664
20665
20666
20667
20668
20669
20670
20671
20672
20673
20674
20675
20676
20677
20678
20679
20680
20681
20682
20683
20684
20685
20686
20687
20688
20689
20690
20691
20692
20693
20694
20695
20696
20697
20698
20699
20700
20701
20702
20703
20704
20705
20706
20707
20708
20709
20710
20711
20712
20713
20714
20715
20716
20717
20718
20719
20720
20721
20722
20723
20724
20725
20726
20727
20728
20729
20730
20731
20732
20733
20734
20735
20736
20737
20738
20739
20740
20741
20742
20743
20744
20745
20746
20747
20748
20749
20750
20751
20752
20753
20754
20755
20756
20757
20758
20759
20760
20761
20762
20763
20764
20765
20766
20767
20768
20769
20770
20771
20772
20773
20774
20775
20776
20777
20778
20779
20780
20781
20782
20783
20784
20785
20786
20787
20788
20789
20790
20791
20792
20793
20794
20795
20796
20797
20798
20799
20800
20801
20802
20803
20804
20805
20806
20807
20808
20809
20810
20811
20812
20813
20814
20815
20816
20817
20818
20819
20820
20821
20822
20823
20824
20825
20826
20827
20828
20829
20830
20831
20832
20833
20834
20835
20836
20837
20838
20839
20840
20841
20842
20843
20844
20845
20846
20847
20848
20849
20850
20851
20852
20853
20854
20855
20856
20857
20858
20859
20860
20861
20862
20863
20864
20865
20866
20867
20868
20869
20870
20871
20872
20873
20874
20875
20876
20877
20878
20879
20880
20881
20882
20883
20884
20885
20886
20887
20888
20889
20890
20891
20892
20893
20894
20895
20896
20897
20898
20899
20900
20901
20902
20903
20904
20905
20906
20907
20908
20909
20910
20911
20912
20913
20914
20915
20916
20917
20918
20919
20920
20921
20922
20923
20924
20925
20926
20927
20928
20929
20930
20931
20932
20933
20934
20935
20936
20937
20938
20939
20940
20941
20942
20943
20944
20945
20946
20947
20948
20949
20950
20951
20952
20953
20954
20955
20956
20957
20958
20959
20960
20961
20962
20963
20964
20965
20966
20967
20968
20969
20970
20971
20972
20973
20974
20975
20976
20977
20978
20979
20980
20981
20982
20983
20984
20985
20986
20987
20988
20989
20990
20991
20992
20993
20994
20995
20996
20997
20998
20999
21000
21001
21002
21003
21004
21005
21006
21007
21008
21009
21010
21011
21012
21013
21014
21015
21016
21017
21018
21019
21020
21021
21022
21023
21024
21025
21026
21027
21028
21029
21030
21031
21032
21033
21034
21035
21036
21037
21038
21039
21040
21041
21042
21043
21044
21045
21046
21047
21048
21049
21050
21051
21052
21053
21054
21055
21056
21057
21058
21059
21060
21061
21062
21063
21064
21065
21066
21067
21068
21069
21070
21071
21072
21073
21074
21075
21076
21077
21078
21079
21080
21081
21082
21083
21084
21085
21086
21087
21088
21089
21090
21091
21092
21093
21094
21095
21096
21097
21098
21099
21100
21101
21102
21103
21104
21105
21106
21107
21108
21109
21110
21111
21112
21113
21114
21115
21116
21117
21118
21119
21120
21121
21122
21123
21124
21125
21126
21127
21128
21129
21130
21131
21132
21133
21134
21135
21136
21137
21138
21139
21140
21141
21142
21143
21144
21145
21146
21147
21148
21149
21150
21151
21152
21153
21154
21155
21156
21157
21158
21159
21160
21161
21162
21163
21164
21165
21166
21167
21168
21169
21170
21171
21172
21173
21174
21175
21176
21177
21178
21179
21180
21181
21182
21183
21184
21185
21186
21187
21188
21189
21190
21191
21192
21193
21194
21195
21196
21197
21198
21199
21200
21201
21202
21203
21204
21205
21206
21207
21208
21209
21210
21211
21212
21213
21214
21215
21216
21217
21218
21219
21220
21221
21222
21223
21224
21225
21226
21227
21228
21229
21230
21231
21232
21233
21234
21235
21236
21237
21238
21239
21240
21241
21242
21243
21244
21245
21246
21247
21248
21249
21250
21251
21252
21253
21254
21255
21256
21257
21258
21259
21260
21261
21262
21263
21264
21265
21266
21267
21268
21269
21270
21271
21272
21273
21274
21275
21276
21277
21278
21279
21280
21281
21282
21283
21284
21285
21286
21287
21288
21289
21290
21291
21292
21293
21294
21295
21296
21297
21298
21299
21300
21301
21302
21303
21304
21305
21306
21307
21308
21309
21310
21311
21312
21313
21314
21315
21316
21317
21318
21319
21320
21321
21322
21323
21324
21325
21326
21327
21328
21329
21330
21331
21332
21333
21334
21335
21336
21337
21338
21339
21340
21341
21342
21343
21344
21345
21346
21347
21348
21349
21350
21351
21352
21353
21354
21355
21356
21357
21358
21359
21360
21361
21362
21363
21364
21365
21366
21367
21368
21369
21370
21371
21372
21373
21374
21375
21376
21377
21378
21379
21380
21381
21382
21383
21384
21385
21386
21387
21388
21389
21390
21391
21392
21393
21394
21395
21396
21397
21398
21399
21400
21401
21402
21403
21404
21405
21406
21407
21408
21409
21410
21411
21412
21413
21414
21415
21416
21417
21418
21419
21420
21421
21422
21423
21424
21425
21426
21427
21428
21429
21430
21431
21432
21433
21434
21435
21436
21437
21438
21439
21440
21441
21442
21443
21444
21445
21446
21447
21448
21449
21450
21451
21452
21453
21454
21455
21456
21457
21458
21459
21460
21461
21462
21463
21464
21465
21466
21467
21468
21469
21470
21471
21472
21473
21474
21475
21476
21477
21478
21479
21480
21481
21482
21483
21484
21485
21486
21487
21488
21489
21490
21491
21492
21493
21494
21495
21496
21497
21498
21499
21500
21501
21502
21503
21504
21505
21506
21507
21508
21509
21510
21511
21512
21513
21514
21515
21516
21517
21518
21519
21520
21521
21522
21523
21524
21525
21526
21527
21528
21529
21530
21531
21532
21533
21534
21535
21536
21537
21538
21539
21540
21541
21542
21543
21544
21545
21546
21547
21548
21549
21550
21551
21552
21553
21554
21555
21556
21557
21558
21559
21560
21561
21562
21563
21564
21565
21566
21567
21568
21569
21570
21571
21572
21573
21574
21575
21576
21577
21578
21579
21580
21581
21582
21583
21584
21585
21586
21587
21588
21589
21590
21591
21592
21593
21594
21595
21596
21597
21598
21599
21600
21601
21602
21603
21604
21605
21606
21607
21608
21609
21610
21611
21612
21613
21614
21615
21616
21617
21618
21619
21620
21621
21622
21623
21624
21625
21626
21627
21628
21629
21630
21631
21632
21633
21634
21635
21636
21637
21638
21639
21640
21641
21642
21643
21644
21645
21646
21647
21648
21649
21650
21651
21652
21653
21654
21655
21656
21657
21658
21659
21660
21661
21662
21663
21664
21665
21666
21667
21668
21669
21670
21671
21672
21673
21674
21675
21676
21677
21678
21679
21680
21681
21682
21683
21684
21685
21686
21687
21688
21689
21690
21691
21692
21693
21694
21695
21696
21697
21698
21699
21700
21701
21702
21703
21704
21705
21706
21707
21708
21709
21710
21711
21712
21713
21714
21715
21716
21717
21718
21719
21720
21721
21722
21723
21724
21725
21726
21727
21728
21729
21730
21731
21732
21733
21734
21735
21736
21737
21738
21739
21740
21741
21742
21743
21744
21745
21746
21747
21748
21749
21750
21751
21752
21753
21754
21755
21756
21757
21758
21759
21760
21761
21762
21763
21764
21765
21766
21767
21768
21769
21770
21771
21772
21773
21774
21775
21776
21777
21778
21779
21780
21781
21782
21783
21784
21785
21786
21787
21788
21789
21790
21791
21792
21793
21794
21795
21796
21797
21798
21799
21800
21801
21802
21803
21804
21805
21806
21807
21808
21809
21810
21811
21812
21813
21814
21815
21816
21817
21818
21819
21820
21821
21822
21823
21824
21825
21826
21827
21828
21829
21830
21831
21832
21833
21834
21835
21836
21837
21838
21839
21840
21841
21842
21843
21844
21845
21846
21847
21848
21849
21850
21851
21852
21853
21854
21855
21856
21857
21858
21859
21860
21861
21862
21863
21864
21865
21866
21867
21868
21869
21870
21871
21872
21873
21874
21875
21876
21877
21878
21879
21880
21881
21882
21883
21884
21885
21886
21887
21888
21889
21890
21891
21892
21893
21894
21895
21896
21897
21898
21899
21900
21901
21902
21903
21904
21905
21906
21907
21908
21909
21910
21911
21912
21913
21914
21915
21916
21917
21918
21919
21920
21921
21922
21923
21924
21925
21926
21927
21928
21929
21930
21931
21932
21933
21934
21935
21936
21937
21938
21939
21940
21941
21942
21943
21944
21945
21946
21947
21948
21949
21950
21951
21952
21953
21954
21955
21956
21957
21958
21959
21960
21961
21962
21963
21964
21965
21966
21967
21968
21969
21970
21971
21972
21973
21974
21975
21976
21977
21978
21979
21980
21981
21982
21983
21984
21985
21986
21987
21988
21989
21990
21991
21992
21993
21994
21995
21996
21997
21998
21999
22000
22001
22002
22003
22004
22005
22006
22007
22008
22009
22010
22011
22012
22013
22014
22015
22016
22017
22018
22019
22020
22021
22022
22023
22024
22025
22026
22027
22028
22029
22030
22031
22032
22033
22034
22035
22036
22037
22038
22039
22040
22041
22042
22043
22044
22045
22046
22047
22048
22049
22050
22051
22052
22053
22054
22055
22056
22057
22058
22059
22060
22061
22062
22063
22064
22065
22066
22067
22068
22069
22070
22071
22072
22073
22074
22075
22076
22077
22078
22079
22080
22081
22082
22083
22084
22085
22086
22087
22088
22089
22090
22091
22092
22093
22094
22095
22096
22097
22098
22099
22100
22101
22102
22103
22104
22105
22106
22107
22108
22109
22110
22111
22112
22113
22114
22115
22116
22117
22118
22119
22120
22121
22122
22123
22124
22125
22126
22127
22128
22129
22130
22131
22132
22133
22134
22135
22136
22137
22138
22139
22140
22141
22142
22143
22144
22145
22146
22147
22148
22149
22150
22151
22152
22153
22154
22155
22156
22157
22158
22159
22160
22161
22162
22163
22164
22165
22166
22167
22168
22169
22170
22171
22172
22173
22174
22175
22176
22177
22178
22179
22180
22181
22182
22183
22184
22185
22186
22187
22188
22189
22190
22191
22192
22193
22194
22195
22196
22197
22198
22199
22200
22201
22202
22203
22204
22205
22206
22207
22208
22209
22210
22211
22212
22213
22214
22215
22216
22217
22218
22219
22220
22221
22222
22223
22224
22225
22226
22227
22228
22229
22230
22231
22232
22233
22234
22235
22236
22237
22238
22239
22240
22241
22242
22243
22244
22245
22246
22247
22248
22249
22250
22251
22252
22253
22254
22255
22256
22257
22258
22259
22260
22261
22262
22263
22264
22265
22266
22267
22268
22269
22270
22271
22272
22273
22274
22275
22276
22277
22278
22279
22280
22281
22282
22283
22284
22285
22286
22287
22288
22289
22290
22291
22292
22293
22294
22295
22296
22297
22298
22299
22300
22301
22302
22303
22304
22305
22306
22307
22308
22309
22310
22311
22312
22313
22314
22315
22316
22317
22318
22319
22320
22321
22322
22323
22324
22325
22326
22327
22328
22329
22330
22331
22332
22333
22334
22335
22336
22337
22338
22339
22340
22341
22342
22343
22344
22345
22346
22347
22348
22349
22350
22351
22352
22353
22354
22355
22356
22357
22358
22359
22360
22361
22362
22363
22364
22365
22366
22367
22368
22369
22370
22371
22372
22373
22374
22375
22376
22377
22378
22379
22380
22381
22382
22383
22384
22385
22386
22387
22388
22389
22390
22391
22392
22393
22394
22395
22396
22397
22398
22399
22400
22401
22402
22403
22404
22405
22406
22407
22408
22409
22410
22411
22412
22413
22414
22415
22416
22417
22418
22419
22420
22421
22422
22423
22424
22425
22426
22427
22428
22429
22430
22431
22432
22433
22434
22435
22436
22437
22438
22439
22440
22441
22442
22443
22444
22445
22446
22447
22448
22449
22450
22451
22452
22453
22454
22455
22456
22457
22458
22459
22460
22461
22462
22463
22464
22465
22466
22467
22468
22469
22470
22471
22472
22473
22474
22475
22476
22477
22478
22479
22480
22481
22482
22483
22484
22485
22486
22487
22488
22489
22490
22491
22492
22493
22494
22495
22496
22497
22498
22499
22500
22501
22502
22503
22504
22505
22506
22507
22508
22509
22510
22511
22512
22513
22514
22515
22516
22517
22518
22519
22520
22521
22522
22523
22524
22525
22526
22527
22528
22529
22530
22531
22532
22533
22534
22535
22536
22537
22538
22539
22540
22541
22542
22543
22544
22545
22546
22547
22548
22549
22550
22551
22552
22553
22554
22555
22556
22557
22558
22559
22560
22561
22562
22563
22564
22565
22566
22567
22568
22569
22570
22571
22572
22573
22574
22575
22576
22577
22578
22579
22580
22581
22582
22583
22584
22585
22586
22587
22588
22589
22590
22591
22592
22593
22594
22595
22596
22597
22598
22599
22600
22601
22602
22603
22604
22605
22606
22607
22608
22609
22610
22611
22612
22613
22614
22615
22616
22617
22618
22619
22620
22621
22622
22623
22624
22625
22626
22627
22628
22629
22630
22631
22632
22633
22634
22635
22636
22637
22638
22639
22640
22641
22642
22643
22644
22645
22646
22647
22648
22649
22650
22651
22652
22653
22654
22655
22656
22657
22658
22659
22660
22661
22662
22663
22664
22665
22666
22667
22668
22669
22670
22671
22672
22673
22674
22675
22676
22677
22678
22679
22680
22681
22682
22683
22684
22685
22686
22687
22688
22689
22690
22691
22692
22693
22694
22695
22696
22697
22698
22699
22700
22701
22702
22703
22704
22705
22706
22707
22708
22709
22710
22711
22712
22713
22714
22715
22716
22717
22718
22719
22720
22721
22722
22723
22724
22725
22726
22727
22728
22729
22730
22731
22732
22733
22734
22735
22736
22737
22738
22739
22740
22741
22742
22743
22744
22745
22746
22747
22748
22749
22750
22751
22752
22753
22754
22755
22756
22757
22758
22759
22760
22761
22762
22763
22764
22765
22766
22767
22768
22769
22770
22771
22772
22773
22774
22775
22776
22777
22778
22779
22780
22781
22782
22783
22784
22785
22786
22787
22788
22789
22790
22791
22792
22793
22794
22795
22796
22797
22798
22799
22800
22801
22802
22803
22804
22805
22806
22807
22808
22809
22810
22811
22812
22813
22814
22815
22816
22817
22818
22819
22820
22821
22822
22823
22824
22825
22826
22827
22828
22829
22830
22831
22832
22833
22834
22835
22836
22837
22838
22839
22840
22841
22842
22843
22844
22845
22846
22847
22848
22849
22850
22851
22852
22853
22854
22855
22856
22857
22858
22859
22860
22861
22862
22863
22864
22865
22866
22867
22868
22869
22870
22871
22872
22873
22874
22875
22876
22877
22878
22879
22880
22881
22882
22883
22884
22885
22886
22887
22888
22889
22890
22891
22892
22893
22894
22895
22896
22897
22898
22899
22900
22901
22902
22903
22904
22905
22906
22907
22908
22909
22910
22911
22912
22913
22914
22915
22916
22917
22918
22919
22920
22921
22922
22923
22924
22925
22926
22927
22928
22929
22930
22931
22932
22933
22934
22935
22936
22937
22938
22939
22940
22941
22942
22943
22944
22945
22946
22947
22948
22949
22950
22951
22952
22953
22954
22955
22956
22957
22958
22959
22960
22961
22962
22963
22964
22965
22966
22967
22968
22969
22970
22971
22972
22973
22974
22975
22976
22977
22978
22979
22980
22981
22982
22983
22984
22985
22986
22987
22988
22989
22990
22991
22992
22993
22994
22995
22996
22997
22998
22999
23000
23001
23002
23003
23004
23005
23006
23007
23008
23009
23010
23011
23012
23013
23014
23015
23016
23017
23018
23019
23020
23021
23022
23023
23024
23025
23026
23027
23028
23029
23030
23031
23032
23033
23034
23035
23036
23037
23038
23039
23040
23041
23042
23043
23044
23045
23046
23047
23048
23049
23050
23051
23052
23053
23054
23055
23056
23057
23058
23059
23060
23061
23062
23063
23064
23065
23066
23067
23068
23069
23070
23071
23072
23073
23074
23075
23076
23077
23078
23079
23080
23081
23082
23083
23084
23085
23086
23087
23088
23089
23090
23091
23092
23093
23094
23095
23096
23097
23098
23099
23100
23101
23102
23103
23104
23105
23106
23107
23108
23109
23110
23111
23112
23113
23114
23115
23116
23117
23118
23119
23120
23121
23122
23123
23124
23125
23126
23127
23128
23129
23130
23131
23132
23133
23134
23135
23136
23137
23138
23139
23140
23141
23142
23143
23144
23145
23146
23147
23148
23149
23150
23151
23152
23153
23154
23155
23156
23157
23158
23159
23160
23161
23162
23163
23164
23165
23166
23167
23168
23169
23170
23171
23172
23173
23174
23175
23176
23177
23178
23179
23180
23181
23182
23183
23184
23185
23186
23187
23188
23189
23190
23191
23192
23193
23194
23195
23196
23197
23198
23199
23200
23201
23202
23203
23204
23205
23206
23207
23208
23209
23210
23211
23212
23213
23214
23215
23216
23217
23218
23219
23220
23221
23222
23223
23224
23225
23226
23227
23228
23229
23230
23231
23232
23233
23234
23235
23236
23237
23238
23239
23240
23241
23242
23243
23244
23245
23246
23247
23248
23249
23250
23251
23252
23253
23254
23255
23256
23257
23258
23259
23260
23261
23262
23263
23264
23265
23266
23267
23268
23269
23270
23271
23272
23273
23274
23275
23276
23277
23278
23279
23280
23281
23282
23283
23284
23285
23286
23287
23288
23289
23290
23291
23292
23293
23294
23295
23296
23297
23298
23299
23300
23301
23302
23303
23304
23305
23306
23307
23308
23309
23310
23311
23312
23313
23314
23315
23316
23317
23318
23319
23320
23321
23322
23323
23324
23325
23326
23327
23328
23329
23330
23331
23332
23333
23334
23335
23336
23337
23338
23339
23340
23341
23342
23343
23344
23345
23346
23347
23348
23349
23350
23351
23352
23353
23354
23355
23356
23357
23358
23359
23360
23361
23362
23363
23364
23365
23366
23367
23368
23369
23370
23371
23372
23373
23374
23375
23376
23377
23378
23379
23380
23381
23382
23383
23384
23385
23386
23387
23388
23389
23390
23391
23392
23393
23394
23395
23396
23397
23398
23399
23400
23401
23402
23403
23404
23405
23406
23407
23408
23409
23410
23411
23412
23413
23414
23415
23416
23417
23418
23419
23420
23421
23422
23423
23424
23425
23426
23427
23428
23429
23430
23431
23432
23433
23434
23435
23436
23437
23438
23439
23440
23441
23442
23443
23444
23445
23446
23447
23448
23449
23450
23451
23452
23453
23454
23455
23456
23457
23458
23459
23460
23461
23462
23463
23464
23465
23466
23467
23468
23469
23470
23471
23472
23473
23474
23475
23476
23477
23478
23479
23480
23481
23482
23483
23484
23485
23486
23487
23488
23489
23490
23491
23492
23493
23494
23495
23496
23497
23498
23499
23500
23501
23502
23503
23504
23505
23506
23507
23508
23509
23510
23511
23512
23513
23514
23515
23516
23517
23518
23519
23520
23521
23522
23523
23524
23525
23526
23527
23528
23529
23530
23531
23532
23533
23534
23535
23536
23537
23538
23539
23540
23541
23542
23543
23544
23545
23546
23547
23548
23549
23550
23551
23552
23553
23554
23555
23556
23557
23558
23559
23560
23561
23562
23563
23564
23565
23566
23567
23568
23569
23570
23571
23572
23573
23574
23575
23576
23577
23578
23579
23580
23581
23582
23583
23584
23585
23586
23587
23588
23589
23590
23591
23592
23593
23594
23595
23596
23597
23598
23599
23600
23601
23602
23603
23604
23605
23606
23607
23608
23609
23610
23611
23612
23613
23614
23615
23616
23617
23618
23619
23620
23621
23622
23623
23624
23625
23626
23627
23628
23629
23630
23631
23632
23633
23634
23635
23636
23637
23638
23639
23640
23641
23642
23643
23644
23645
23646
23647
23648
23649
23650
23651
23652
23653
23654
23655
23656
23657
23658
23659
23660
23661
23662
23663
23664
23665
23666
23667
23668
23669
23670
23671
23672
23673
23674
23675
23676
23677
23678
23679
23680
23681
23682
23683
23684
23685
23686
23687
23688
23689
23690
23691
23692
23693
23694
23695
23696
23697
23698
23699
23700
23701
23702
23703
23704
23705
23706
23707
23708
23709
23710
23711
23712
23713
23714
23715
23716
23717
23718
23719
23720
23721
23722
23723
23724
23725
23726
23727
23728
23729
23730
23731
23732
23733
23734
23735
23736
23737
23738
23739
23740
23741
23742
23743
23744
23745
23746
23747
23748
23749
23750
23751
23752
23753
23754
23755
23756
23757
23758
23759
23760
23761
23762
23763
23764
23765
23766
23767
23768
23769
23770
23771
23772
23773
23774
23775
23776
23777
23778
23779
23780
23781
23782
23783
23784
23785
23786
23787
23788
23789
23790
23791
23792
23793
23794
23795
23796
23797
23798
23799
23800
23801
23802
23803
23804
23805
23806
23807
23808
23809
23810
23811
23812
23813
23814
23815
23816
23817
23818
23819
23820
23821
23822
23823
23824
23825
23826
23827
23828
23829
23830
23831
23832
23833
23834
23835
23836
23837
23838
23839
23840
23841
23842
23843
23844
23845
23846
23847
23848
23849
23850
23851
23852
23853
23854
23855
23856
23857
23858
23859
23860
23861
23862
23863
23864
23865
23866
23867
23868
23869
23870
23871
23872
23873
23874
23875
23876
23877
23878
23879
23880
23881
23882
23883
23884
23885
23886
23887
23888
23889
23890
23891
23892
23893
23894
23895
23896
23897
23898
23899
23900
23901
23902
23903
23904
23905
23906
23907
23908
23909
23910
23911
23912
23913
23914
23915
23916
23917
23918
23919
23920
23921
23922
23923
23924
23925
23926
23927
23928
23929
23930
23931
23932
23933
23934
23935
23936
23937
23938
23939
23940
23941
23942
23943
23944
23945
23946
23947
23948
23949
23950
23951
23952
23953
23954
23955
23956
23957
23958
23959
23960
23961
23962
23963
23964
23965
23966
23967
23968
23969
23970
23971
23972
23973
23974
23975
23976
23977
23978
23979
23980
23981
23982
23983
23984
23985
23986
23987
23988
23989
23990
23991
23992
23993
23994
23995
23996
23997
23998
23999
24000
24001
24002
24003
24004
24005
24006
24007
24008
24009
24010
24011
24012
24013
24014
24015
24016
24017
24018
24019
24020
24021
24022
24023
24024
24025
24026
24027
24028
24029
24030
24031
24032
24033
24034
24035
24036
24037
24038
24039
24040
24041
24042
24043
24044
24045
24046
24047
24048
24049
24050
24051
24052
24053
24054
24055
24056
24057
24058
24059
24060
24061
24062
24063
24064
24065
24066
24067
24068
24069
24070
24071
24072
24073
24074
24075
24076
24077
24078
24079
24080
24081
24082
24083
24084
24085
24086
24087
24088
24089
24090
24091
24092
24093
24094
24095
24096
24097
24098
24099
24100
24101
24102
24103
24104
24105
24106
24107
24108
24109
24110
24111
24112
24113
24114
24115
24116
24117
24118
24119
24120
24121
24122
24123
24124
24125
24126
24127
24128
24129
24130
24131
24132
24133
24134
24135
24136
24137
24138
24139
24140
24141
24142
24143
24144
24145
24146
24147
24148
24149
24150
24151
24152
24153
24154
24155
24156
24157
24158
24159
24160
24161
24162
24163
24164
24165
24166
24167
24168
24169
24170
24171
24172
24173
24174
24175
24176
24177
24178
24179
24180
24181
24182
24183
24184
24185
24186
24187
24188
24189
24190
24191
24192
24193
24194
24195
24196
24197
24198
24199
24200
24201
24202
24203
24204
24205
24206
24207
24208
24209
24210
24211
24212
24213
24214
24215
24216
24217
24218
24219
24220
24221
24222
24223
24224
24225
24226
24227
24228
24229
24230
24231
24232
24233
24234
24235
24236
24237
24238
24239
24240
24241
24242
24243
24244
24245
24246
24247
24248
24249
24250
24251
24252
24253
24254
24255
24256
24257
24258
24259
24260
24261
24262
24263
24264
24265
24266
24267
24268
24269
24270
24271
24272
24273
24274
24275
24276
24277
24278
24279
24280
24281
24282
24283
24284
24285
24286
24287
24288
24289
24290
24291
24292
24293
24294
24295
24296
24297
24298
24299
24300
24301
24302
24303
24304
24305
24306
24307
24308
24309
24310
24311
24312
24313
24314
24315
24316
24317
24318
24319
24320
24321
24322
24323
24324
24325
24326
24327
24328
24329
24330
24331
24332
24333
24334
24335
24336
24337
24338
24339
24340
24341
24342
24343
24344
24345
24346
24347
24348
24349
24350
24351
24352
24353
24354
24355
24356
24357
24358
24359
24360
24361
24362
24363
24364
24365
24366
24367
24368
24369
24370
24371
24372
24373
24374
24375
24376
24377
24378
24379
24380
24381
24382
24383
24384
24385
24386
24387
24388
24389
24390
24391
24392
24393
24394
24395
24396
24397
24398
24399
24400
24401
24402
24403
24404
24405
24406
24407
24408
24409
24410
24411
24412
24413
24414
24415
24416
24417
24418
24419
24420
24421
24422
24423
24424
24425
24426
24427
24428
24429
24430
24431
24432
24433
24434
24435
24436
24437
24438
24439
24440
24441
24442
24443
24444
24445
24446
24447
24448
24449
24450
24451
24452
24453
24454
24455
24456
24457
24458
24459
24460
24461
24462
24463
24464
24465
24466
24467
24468
24469
24470
24471
24472
24473
24474
24475
24476
24477
24478
24479
24480
24481
24482
24483
24484
24485
24486
24487
24488
24489
24490
24491
24492
24493
24494
24495
24496
24497
24498
24499
24500
24501
24502
24503
24504
24505
24506
24507
24508
24509
24510
24511
24512
24513
24514
24515
24516
24517
24518
24519
24520
24521
24522
24523
24524
24525
24526
24527
24528
24529
24530
24531
24532
24533
24534
24535
24536
24537
24538
24539
24540
24541
24542
24543
24544
24545
24546
24547
24548
24549
24550
24551
24552
24553
24554
24555
24556
24557
24558
24559
24560
24561
24562
24563
24564
24565
24566
24567
24568
24569
24570
24571
24572
24573
24574
24575
24576
24577
24578
24579
24580
24581
24582
24583
24584
24585
24586
24587
24588
24589
24590
24591
24592
24593
24594
24595
24596
24597
24598
24599
24600
24601
24602
24603
24604
24605
24606
24607
24608
24609
24610
24611
24612
24613
24614
24615
24616
24617
24618
24619
24620
24621
24622
24623
24624
24625
24626
24627
24628
24629
24630
24631
24632
24633
24634
24635
24636
24637
24638
24639
24640
24641
24642
24643
24644
24645
24646
24647
24648
24649
24650
24651
24652
24653
24654
24655
24656
24657
24658
24659
24660
24661
24662
24663
24664
24665
24666
24667
24668
24669
24670
24671
24672
24673
24674
24675
24676
24677
24678
24679
24680
24681
24682
24683
24684
24685
24686
24687
24688
24689
24690
24691
24692
24693
24694
24695
24696
24697
24698
24699
24700
24701
24702
24703
24704
24705
24706
24707
24708
24709
24710
24711
24712
24713
24714
24715
24716
24717
24718
24719
24720
24721
24722
24723
24724
24725
24726
24727
24728
24729
24730
24731
24732
24733
24734
24735
24736
24737
24738
24739
24740
24741
24742
24743
24744
24745
24746
24747
24748
24749
24750
24751
24752
24753
24754
24755
24756
24757
24758
24759
24760
24761
24762
24763
24764
24765
24766
24767
24768
24769
24770
24771
24772
24773
24774
24775
24776
24777
24778
24779
24780
24781
24782
24783
24784
24785
24786
24787
24788
24789
24790
24791
24792
24793
24794
24795
24796
24797
24798
24799
24800
24801
24802
24803
24804
24805
24806
24807
24808
24809
24810
24811
24812
24813
24814
24815
24816
24817
24818
24819
24820
24821
24822
24823
24824
24825
24826
24827
24828
24829
24830
24831
24832
24833
24834
24835
24836
24837
24838
24839
24840
24841
24842
24843
24844
24845
24846
24847
24848
24849
24850
24851
24852
24853
24854
24855
24856
24857
24858
24859
24860
24861
24862
24863
24864
24865
24866
24867
24868
24869
24870
24871
24872
24873
24874
24875
24876
24877
24878
24879
24880
24881
24882
24883
24884
24885
24886
24887
24888
24889
24890
24891
24892
24893
24894
24895
24896
24897
24898
24899
24900
24901
24902
24903
24904
24905
24906
24907
24908
24909
24910
24911
24912
24913
24914
24915
24916
24917
24918
24919
24920
24921
24922
24923
24924
24925
24926
24927
24928
24929
24930
24931
24932
24933
24934
24935
24936
24937
24938
24939
24940
24941
24942
24943
24944
24945
24946
24947
24948
24949
24950
24951
24952
24953
24954
24955
24956
24957
24958
24959
24960
24961
24962
24963
24964
24965
24966
24967
24968
24969
24970
24971
24972
24973
24974
24975
24976
24977
24978
24979
24980
24981
24982
24983
24984
24985
24986
24987
24988
24989
24990
24991
24992
24993
24994
24995
24996
24997
24998
24999
25000
25001
25002
25003
25004
25005
25006
25007
25008
25009
25010
25011
25012
25013
25014
25015
25016
25017
25018
25019
25020
25021
25022
25023
25024
25025
25026
25027
25028
25029
25030
25031
25032
25033
25034
25035
25036
25037
25038
25039
25040
25041
25042
25043
25044
25045
25046
25047
25048
25049
25050
25051
25052
25053
25054
25055
25056
25057
25058
25059
25060
25061
25062
25063
25064
25065
25066
25067
25068
25069
25070
25071
25072
25073
25074
25075
25076
25077
25078
25079
25080
25081
25082
25083
25084
25085
25086
25087
25088
25089
25090
25091
25092
25093
25094
25095
25096
25097
25098
25099
25100
25101
25102
25103
25104
25105
25106
25107
25108
25109
25110
25111
25112
25113
25114
25115
25116
25117
25118
25119
25120
25121
25122
25123
25124
25125
25126
25127
25128
25129
25130
25131
25132
25133
25134
25135
25136
25137
25138
25139
25140
25141
25142
25143
25144
25145
25146
25147
25148
25149
25150
25151
25152
25153
25154
25155
25156
25157
25158
25159
25160
25161
25162
25163
25164
25165
25166
25167
25168
25169
25170
25171
25172
25173
25174
25175
25176
25177
25178
25179
25180
25181
25182
25183
25184
25185
25186
25187
25188
25189
25190
25191
25192
25193
25194
25195
25196
25197
25198
25199
25200
25201
25202
25203
25204
25205
25206
25207
25208
25209
25210
25211
25212
25213
25214
25215
25216
25217
25218
25219
25220
25221
25222
25223
25224
25225
25226
25227
25228
25229
25230
25231
25232
25233
25234
25235
25236
25237
25238
25239
25240
25241
25242
25243
25244
25245
25246
25247
25248
25249
25250
25251
25252
25253
25254
25255
25256
25257
25258
25259
25260
25261
25262
25263
25264
25265
25266
25267
25268
25269
25270
25271
25272
25273
25274
25275
25276
25277
25278
25279
25280
25281
25282
25283
25284
25285
25286
25287
25288
25289
25290
25291
25292
25293
25294
25295
25296
25297
25298
25299
25300
25301
25302
25303
25304
25305
25306
25307
25308
25309
25310
25311
25312
25313
25314
25315
25316
25317
25318
25319
25320
25321
25322
25323
25324
25325
25326
25327
25328
25329
25330
25331
25332
25333
25334
25335
25336
25337
25338
25339
25340
25341
25342
25343
25344
25345
25346
25347
25348
25349
25350
25351
25352
25353
25354
25355
25356
25357
25358
25359
25360
25361
25362
25363
25364
25365
25366
25367
25368
25369
25370
25371
25372
25373
25374
25375
25376
25377
25378
25379
25380
25381
25382
25383
25384
25385
25386
25387
25388
25389
25390
25391
25392
25393
25394
25395
25396
25397
25398
25399
25400
25401
25402
25403
25404
25405
25406
25407
25408
25409
25410
25411
25412
25413
25414
25415
25416
25417
25418
25419
25420
25421
25422
25423
25424
25425
25426
25427
25428
25429
25430
25431
25432
25433
25434
25435
25436
25437
25438
25439
25440
25441
25442
25443
25444
25445
25446
25447
25448
25449
25450
25451
25452
25453
25454
25455
25456
25457
25458
25459
25460
25461
25462
25463
25464
25465
25466
25467
25468
25469
25470
25471
25472
25473
25474
25475
25476
25477
25478
25479
25480
25481
25482
25483
25484
25485
25486
25487
25488
25489
25490
25491
25492
25493
25494
25495
25496
25497
25498
25499
25500
25501
25502
25503
25504
25505
25506
25507
25508
25509
25510
25511
25512
25513
25514
25515
25516
25517
25518
25519
25520
25521
25522
25523
25524
25525
25526
25527
25528
25529
25530
25531
25532
25533
25534
25535
25536
25537
25538
25539
25540
25541
25542
25543
25544
25545
25546
25547
25548
25549
25550
25551
25552
25553
25554
25555
25556
25557
25558
25559
25560
25561
25562
25563
25564
25565
25566
25567
25568
25569
25570
25571
25572
25573
25574
25575
25576
25577
25578
25579
25580
25581
25582
25583
25584
25585
25586
25587
25588
25589
25590
25591
25592
25593
25594
25595
25596
25597
25598
25599
25600
25601
25602
25603
25604
25605
25606
25607
25608
25609
25610
25611
25612
25613
25614
25615
25616
25617
25618
25619
25620
25621
25622
25623
25624
25625
25626
25627
25628
25629
25630
25631
25632
25633
25634
25635
25636
25637
25638
25639
25640
25641
25642
25643
25644
25645
25646
25647
25648
25649
25650
25651
25652
25653
25654
25655
25656
25657
25658
25659
25660
25661
25662
25663
25664
25665
25666
25667
25668
25669
25670
25671
25672
25673
25674
25675
25676
25677
25678
25679
25680
25681
25682
25683
25684
25685
25686
25687
25688
25689
25690
25691
25692
25693
25694
25695
25696
25697
25698
25699
25700
25701
25702
25703
25704
25705
25706
25707
25708
25709
25710
25711
25712
25713
25714
25715
25716
25717
25718
25719
25720
25721
25722
25723
25724
25725
25726
25727
25728
25729
25730
25731
25732
25733
25734
25735
25736
25737
25738
25739
25740
25741
25742
25743
25744
25745
25746
25747
25748
25749
25750
25751
25752
25753
25754
25755
25756
25757
25758
25759
25760
25761
25762
25763
25764
25765
25766
25767
25768
25769
25770
25771
25772
25773
25774
25775
25776
25777
25778
25779
25780
25781
25782
25783
25784
25785
25786
25787
25788
25789
25790
25791
25792
25793
25794
25795
25796
25797
25798
25799
25800
25801
25802
25803
25804
25805
25806
25807
25808
25809
25810
25811
25812
25813
25814
25815
25816
25817
25818
25819
25820
25821
25822
25823
25824
25825
25826
25827
25828
25829
25830
25831
25832
25833
25834
25835
25836
25837
25838
25839
25840
25841
25842
25843
25844
25845
25846
25847
25848
25849
25850
25851
25852
25853
25854
25855
25856
25857
25858
25859
25860
25861
25862
25863
25864
25865
25866
25867
25868
25869
25870
25871
25872
25873
25874
25875
25876
25877
25878
25879
25880
25881
25882
25883
25884
25885
25886
25887
25888
25889
25890
25891
25892
25893
25894
25895
25896
25897
25898
25899
25900
25901
25902
25903
25904
25905
25906
25907
25908
25909
25910
25911
25912
25913
25914
25915
25916
25917
25918
25919
25920
25921
25922
25923
25924
25925
25926
25927
25928
25929
25930
25931
25932
25933
25934
25935
25936
25937
25938
25939
25940
25941
25942
25943
25944
25945
25946
25947
25948
25949
25950
25951
25952
25953
25954
25955
25956
25957
25958
25959
25960
25961
25962
25963
25964
25965
25966
25967
25968
25969
25970
25971
25972
25973
25974
25975
25976
25977
25978
25979
25980
25981
25982
25983
25984
25985
25986
25987
25988
25989
25990
25991
25992
25993
25994
25995
25996
25997
25998
25999
26000
26001
26002
26003
26004
26005
26006
26007
26008
26009
26010
26011
26012
26013
26014
26015
26016
26017
26018
26019
26020
26021
26022
26023
26024
26025
26026
26027
26028
26029
26030
26031
26032
26033
26034
26035
26036
26037
26038
26039
26040
26041
26042
26043
26044
26045
26046
26047
26048
26049
26050
26051
26052
26053
26054
26055
26056
26057
26058
26059
26060
26061
26062
26063
26064
26065
26066
26067
26068
26069
26070
26071
26072
26073
26074
26075
26076
26077
26078
26079
26080
26081
26082
26083
26084
26085
26086
26087
26088
26089
26090
26091
26092
26093
26094
26095
26096
26097
26098
26099
26100
26101
26102
26103
26104
26105
26106
26107
26108
26109
26110
26111
26112
26113
26114
26115
26116
26117
26118
26119
26120
26121
26122
26123
26124
26125
26126
26127
26128
26129
26130
26131
26132
26133
26134
26135
26136
26137
26138
26139
26140
26141
26142
26143
26144
26145
26146
26147
26148
26149
26150
26151
26152
26153
26154
26155
26156
26157
26158
26159
26160
26161
26162
26163
26164
26165
26166
26167
26168
26169
26170
26171
26172
26173
26174
26175
26176
26177
26178
26179
26180
26181
26182
26183
26184
26185
26186
26187
26188
26189
26190
26191
26192
26193
26194
26195
26196
26197
26198
26199
26200
26201
26202
26203
26204
26205
26206
26207
26208
26209
26210
26211
26212
26213
26214
26215
26216
26217
26218
26219
26220
26221
26222
26223
26224
26225
26226
26227
26228
26229
26230
26231
26232
26233
26234
26235
26236
26237
26238
26239
26240
26241
26242
26243
26244
26245
26246
26247
26248
26249
26250
26251
26252
26253
26254
26255
26256
26257
26258
26259
26260
26261
26262
26263
26264
26265
26266
26267
26268
26269
26270
26271
26272
26273
26274
26275
26276
26277
26278
26279
26280
26281
26282
26283
26284
26285
26286
26287
26288
26289
26290
26291
26292
26293
26294
26295
26296
26297
26298
26299
26300
26301
26302
26303
26304
26305
26306
26307
26308
26309
26310
26311
26312
26313
26314
26315
26316
26317
26318
26319
26320
26321
26322
26323
26324
26325
26326
26327
26328
26329
26330
26331
26332
26333
26334
26335
26336
26337
26338
26339
26340
26341
26342
26343
26344
26345
26346
26347
26348
26349
26350
26351
26352
26353
26354
26355
26356
26357
26358
26359
26360
26361
26362
26363
26364
26365
26366
26367
26368
26369
26370
26371
26372
26373
26374
26375
26376
26377
26378
26379
26380
26381
26382
26383
26384
26385
26386
26387
26388
26389
26390
26391
26392
26393
26394
26395
26396
26397
26398
26399
26400
26401
26402
26403
26404
26405
26406
26407
26408
26409
26410
26411
26412
26413
26414
26415
26416
26417
26418
26419
26420
26421
26422
26423
26424
26425
26426
26427
26428
26429
26430
26431
26432
26433
26434
26435
26436
26437
26438
26439
26440
26441
26442
26443
26444
26445
26446
26447
26448
26449
26450
26451
26452
26453
26454
26455
26456
26457
26458
26459
26460
26461
26462
26463
26464
26465
26466
26467
26468
26469
26470
26471
26472
26473
26474
26475
26476
26477
26478
26479
26480
26481
26482
26483
26484
26485
26486
26487
26488
26489
26490
26491
26492
26493
26494
26495
26496
26497
26498
26499
26500
26501
26502
26503
26504
26505
26506
26507
26508
26509
26510
26511
26512
26513
26514
26515
26516
26517
26518
26519
26520
26521
26522
26523
26524
26525
26526
26527
26528
26529
26530
26531
26532
26533
26534
26535
26536
26537
26538
26539
26540
26541
26542
26543
26544
26545
26546
26547
26548
26549
26550
26551
26552
26553
26554
26555
26556
26557
26558
26559
26560
26561
26562
26563
26564
26565
26566
26567
26568
26569
26570
26571
26572
26573
26574
26575
26576
26577
26578
26579
26580
26581
26582
26583
26584
26585
26586
26587
26588
26589
26590
26591
26592
26593
26594
26595
26596
26597
26598
26599
26600
26601
26602
26603
26604
26605
26606
26607
26608
26609
26610
26611
26612
26613
26614
26615
26616
26617
26618
26619
26620
26621
26622
26623
26624
26625
26626
26627
26628
26629
26630
26631
26632
26633
26634
26635
26636
26637
26638
26639
26640
26641
26642
26643
26644
26645
26646
26647
26648
26649
26650
26651
26652
26653
26654
26655
26656
26657
26658
26659
26660
26661
26662
26663
26664
26665
26666
26667
26668
26669
26670
26671
26672
26673
26674
26675
26676
26677
26678
26679
26680
26681
26682
26683
26684
26685
26686
26687
26688
26689
26690
26691
26692
26693
26694
26695
26696
26697
26698
26699
26700
26701
26702
26703
26704
26705
26706
26707
26708
26709
26710
26711
26712
26713
26714
26715
26716
26717
26718
26719
26720
26721
26722
26723
26724
26725
26726
26727
26728
26729
26730
26731
26732
26733
26734
26735
26736
26737
26738
26739
26740
26741
26742
26743
26744
26745
26746
26747
26748
26749
26750
26751
26752
26753
26754
26755
26756
26757
26758
26759
26760
26761
26762
26763
26764
26765
26766
26767
26768
26769
26770
26771
26772
26773
26774
26775
26776
26777
26778
26779
26780
26781
26782
26783
26784
26785
26786
26787
26788
26789
26790
26791
26792
26793
26794
26795
26796
26797
26798
26799
26800
26801
26802
26803
26804
26805
26806
26807
26808
26809
26810
26811
26812
26813
26814
26815
26816
26817
26818
26819
26820
26821
26822
26823
26824
26825
26826
26827
26828
26829
26830
26831
26832
26833
26834
26835
26836
26837
26838
26839
26840
26841
26842
26843
26844
26845
26846
26847
26848
26849
26850
26851
26852
26853
26854
26855
26856
26857
26858
26859
26860
26861
26862
26863
26864
26865
26866
26867
26868
26869
26870
26871
26872
26873
26874
26875
26876
26877
26878
26879
26880
26881
26882
26883
26884
26885
26886
26887
26888
26889
26890
26891
26892
26893
26894
26895
26896
26897
26898
26899
26900
26901
26902
26903
26904
26905
26906
26907
26908
26909
26910
26911
26912
26913
26914
26915
26916
26917
26918
26919
26920
26921
26922
26923
26924
26925
26926
26927
26928
26929
26930
26931
26932
26933
26934
26935
26936
26937
26938
26939
26940
26941
26942
26943
26944
26945
26946
26947
26948
26949
26950
26951
26952
26953
26954
26955
26956
26957
26958
26959
26960
26961
26962
26963
26964
26965
26966
26967
26968
26969
26970
26971
26972
26973
26974
26975
26976
26977
26978
26979
26980
26981
26982
26983
26984
26985
26986
26987
26988
26989
26990
26991
26992
26993
26994
26995
26996
26997
26998
26999
27000
27001
27002
27003
27004
27005
27006
27007
27008
27009
27010
27011
27012
27013
27014
27015
27016
27017
27018
27019
27020
27021
27022
27023
27024
27025
27026
27027
27028
27029
27030
27031
27032
27033
27034
27035
27036
27037
27038
27039
27040
27041
27042
27043
27044
27045
27046
27047
27048
27049
27050
27051
27052
27053
27054
27055
27056
27057
27058
27059
27060
27061
27062
27063
27064
27065
27066
27067
27068
27069
27070
27071
27072
27073
27074
27075
27076
27077
27078
27079
27080
27081
27082
27083
27084
27085
27086
27087
27088
27089
27090
27091
27092
27093
27094
27095
27096
27097
27098
27099
27100
27101
27102
27103
27104
27105
27106
27107
27108
27109
27110
27111
27112
27113
27114
27115
27116
27117
27118
27119
27120
27121
27122
27123
27124
27125
27126
27127
27128
27129
27130
27131
27132
27133
27134
27135
27136
27137
27138
27139
27140
27141
27142
27143
27144
27145
27146
27147
27148
27149
27150
27151
27152
27153
27154
27155
27156
27157
27158
27159
27160
27161
27162
27163
27164
27165
27166
27167
27168
27169
27170
27171
27172
27173
27174
27175
27176
27177
27178
27179
27180
27181
27182
27183
27184
27185
27186
27187
27188
27189
27190
27191
27192
27193
27194
27195
27196
27197
27198
27199
27200
27201
27202
27203
27204
27205
27206
27207
27208
27209
27210
27211
27212
27213
27214
27215
27216
27217
27218
27219
27220
27221
27222
27223
27224
27225
27226
27227
27228
27229
27230
27231
27232
27233
27234
27235
27236
27237
27238
27239
27240
27241
27242
27243
27244
27245
27246
27247
27248
27249
27250
27251
27252
27253
27254
27255
27256
27257
27258
27259
27260
27261
27262
27263
27264
27265
27266
27267
27268
27269
27270
27271
27272
27273
27274
27275
27276
27277
27278
27279
27280
27281
27282
27283
27284
27285
27286
27287
27288
27289
27290
27291
27292
27293
27294
27295
27296
27297
27298
27299
27300
27301
27302
27303
27304
27305
27306
27307
27308
27309
27310
27311
27312
27313
27314
27315
27316
27317
27318
27319
27320
27321
27322
27323
27324
27325
27326
27327
27328
27329
27330
27331
27332
27333
27334
27335
27336
27337
27338
27339
27340
27341
27342
27343
27344
27345
27346
27347
27348
27349
27350
27351
27352
27353
27354
27355
27356
27357
27358
27359
27360
27361
27362
27363
27364
27365
27366
27367
27368
27369
27370
27371
27372
27373
27374
27375
27376
27377
27378
27379
27380
27381
27382
27383
27384
27385
27386
27387
27388
27389
27390
27391
27392
27393
27394
27395
27396
27397
27398
27399
27400
27401
27402
27403
27404
27405
27406
27407
27408
27409
27410
27411
27412
27413
27414
27415
27416
27417
27418
27419
27420
27421
27422
27423
27424
27425
27426
27427
27428
27429
27430
27431
27432
27433
27434
27435
27436
27437
27438
27439
27440
27441
27442
27443
27444
27445
27446
27447
27448
27449
27450
27451
27452
27453
27454
27455
27456
27457
27458
27459
27460
27461
27462
27463
27464
27465
27466
27467
27468
27469
27470
27471
27472
27473
27474
27475
27476
27477
27478
27479
27480
27481
27482
27483
27484
27485
27486
27487
27488
27489
27490
27491
27492
27493
27494
27495
27496
27497
27498
27499
27500
27501
27502
27503
27504
27505
27506
27507
27508
27509
27510
27511
27512
27513
27514
27515
27516
27517
27518
27519
27520
27521
27522
27523
27524
27525
27526
27527
27528
27529
27530
27531
27532
27533
27534
27535
27536
27537
27538
27539
27540
27541
27542
27543
27544
27545
27546
27547
27548
27549
27550
27551
27552
27553
27554
27555
27556
27557
27558
27559
27560
27561
27562
27563
27564
27565
27566
27567
27568
27569
27570
27571
27572
27573
27574
27575
27576
27577
27578
27579
27580
27581
27582
27583
27584
27585
27586
27587
27588
27589
27590
27591
27592
27593
27594
27595
27596
27597
27598
27599
27600
27601
27602
27603
27604
27605
27606
27607
27608
27609
27610
27611
27612
27613
27614
27615
27616
27617
27618
27619
27620
27621
27622
27623
27624
27625
27626
27627
27628
27629
27630
27631
27632
27633
27634
27635
27636
27637
27638
27639
27640
27641
27642
27643
27644
27645
27646
27647
27648
27649
27650
27651
27652
27653
27654
27655
27656
27657
27658
27659
27660
27661
27662
27663
27664
27665
27666
27667
27668
27669
27670
27671
27672
27673
27674
27675
27676
27677
27678
27679
27680
27681
27682
27683
27684
27685
27686
27687
27688
27689
27690
27691
27692
27693
27694
27695
27696
27697
27698
27699
27700
27701
27702
27703
27704
27705
27706
27707
27708
27709
27710
27711
27712
27713
27714
27715
27716
27717
27718
27719
27720
27721
27722
27723
27724
27725
27726
27727
27728
27729
27730
27731
27732
27733
27734
27735
27736
27737
27738
27739
27740
27741
27742
27743
27744
27745
27746
27747
27748
27749
27750
27751
27752
27753
27754
27755
27756
27757
27758
27759
27760
27761
27762
27763
27764
27765
27766
27767
27768
27769
27770
27771
27772
27773
27774
27775
27776
27777
27778
27779
27780
27781
27782
27783
27784
27785
27786
27787
27788
27789
27790
27791
27792
27793
27794
27795
27796
27797
27798
27799
27800
27801
27802
27803
27804
27805
27806
27807
27808
27809
27810
27811
27812
27813
27814
27815
27816
27817
27818
27819
27820
27821
27822
27823
27824
27825
27826
27827
27828
27829
27830
27831
27832
27833
27834
27835
27836
27837
27838
27839
27840
27841
27842
27843
27844
27845
27846
27847
27848
27849
27850
27851
27852
27853
27854
27855
27856
27857
27858
27859
27860
27861
27862
27863
27864
27865
27866
27867
27868
27869
27870
27871
27872
27873
27874
27875
27876
27877
27878
27879
27880
27881
27882
27883
27884
27885
27886
27887
27888
27889
27890
27891
27892
27893
27894
27895
27896
27897
27898
27899
27900
27901
27902
27903
27904
27905
27906
27907
27908
27909
27910
27911
27912
27913
27914
27915
27916
27917
27918
27919
27920
27921
27922
27923
27924
27925
27926
27927
27928
27929
27930
27931
27932
27933
27934
27935
27936
27937
27938
27939
27940
27941
27942
27943
27944
27945
27946
27947
27948
27949
27950
27951
27952
27953
27954
27955
27956
27957
27958
27959
27960
27961
27962
27963
27964
27965
27966
27967
27968
27969
27970
27971
27972
27973
27974
27975
27976
27977
27978
27979
27980
27981
27982
27983
27984
27985
27986
27987
27988
27989
27990
27991
27992
27993
27994
27995
27996
27997
27998
27999
28000
28001
28002
28003
28004
28005
28006
28007
28008
28009
28010
28011
28012
28013
28014
28015
28016
28017
28018
28019
28020
28021
28022
28023
28024
28025
28026
28027
28028
28029
28030
28031
28032
28033
28034
28035
28036
28037
28038
28039
28040
28041
28042
28043
28044
28045
28046
28047
28048
28049
28050
28051
28052
28053
28054
28055
28056
28057
28058
28059
28060
28061
28062
28063
28064
28065
28066
28067
28068
28069
28070
28071
28072
28073
28074
28075
28076
28077
28078
28079
28080
28081
28082
28083
28084
28085
28086
28087
28088
28089
28090
28091
28092
28093
28094
28095
28096
28097
28098
28099
28100
28101
28102
28103
28104
28105
28106
28107
28108
28109
28110
28111
28112
28113
28114
28115
28116
28117
28118
28119
28120
28121
28122
28123
28124
28125
28126
28127
28128
28129
28130
28131
28132
28133
28134
28135
28136
28137
28138
28139
28140
28141
28142
28143
28144
28145
28146
28147
28148
28149
28150
28151
28152
28153
28154
28155
28156
28157
28158
28159
28160
28161
28162
28163
28164
28165
28166
28167
28168
28169
28170
28171
28172
28173
28174
28175
28176
28177
28178
28179
28180
28181
28182
28183
28184
28185
28186
28187
28188
28189
28190
28191
28192
28193
28194
28195
28196
28197
28198
28199
28200
28201
28202
28203
28204
28205
28206
28207
28208
28209
28210
28211
28212
28213
28214
28215
28216
28217
28218
28219
28220
28221
28222
28223
28224
28225
28226
28227
28228
28229
28230
28231
28232
28233
28234
28235
28236
28237
28238
28239
28240
28241
28242
28243
28244
28245
28246
28247
28248
28249
28250
28251
28252
28253
28254
28255
28256
28257
28258
28259
28260
28261
28262
28263
28264
28265
28266
28267
28268
28269
28270
28271
28272
28273
28274
28275
28276
28277
28278
28279
28280
28281
28282
28283
28284
28285
28286
28287
28288
28289
28290
28291
28292
28293
28294
28295
28296
28297
28298
28299
28300
28301
28302
28303
28304
28305
28306
28307
28308
28309
28310
28311
28312
28313
28314
28315
28316
28317
28318
28319
28320
28321
28322
28323
28324
28325
28326
28327
28328
28329
28330
28331
28332
28333
28334
28335
28336
28337
28338
28339
28340
28341
28342
28343
28344
28345
28346
28347
28348
28349
28350
28351
28352
28353
28354
28355
28356
28357
28358
28359
28360
28361
28362
28363
28364
28365
28366
28367
28368
28369
28370
28371
28372
28373
28374
28375
28376
28377
28378
28379
28380
28381
28382
28383
28384
28385
28386
28387
28388
28389
28390
28391
28392
28393
28394
28395
28396
28397
28398
28399
28400
28401
28402
28403
28404
28405
28406
28407
28408
28409
28410
28411
28412
28413
28414
28415
28416
28417
28418
28419
28420
28421
28422
28423
28424
28425
28426
28427
28428
28429
28430
28431
28432
28433
28434
28435
28436
28437
28438
28439
28440
28441
28442
28443
28444
28445
28446
28447
28448
28449
28450
28451
28452
28453
28454
28455
28456
28457
28458
28459
28460
28461
28462
28463
28464
28465
28466
28467
28468
28469
28470
28471
28472
28473
28474
28475
28476
28477
28478
28479
28480
28481
28482
28483
28484
28485
28486
28487
28488
28489
28490
28491
28492
28493
28494
28495
28496
28497
28498
28499
28500
28501
28502
28503
28504
28505
28506
28507
28508
28509
28510
28511
28512
28513
28514
28515
28516
28517
28518
28519
28520
28521
28522
28523
28524
28525
28526
28527
28528
28529
28530
28531
28532
28533
28534
28535
28536
28537
28538
28539
28540
28541
28542
28543
28544
28545
28546
28547
28548
28549
28550
28551
28552
28553
28554
28555
28556
28557
28558
28559
28560
28561
28562
28563
28564
28565
28566
28567
28568
28569
28570
28571
28572
28573
28574
28575
28576
28577
28578
28579
28580
28581
28582
28583
28584
28585
28586
28587
28588
28589
28590
28591
28592
28593
28594
28595
28596
28597
28598
28599
28600
28601
28602
28603
28604
28605
28606
28607
28608
28609
28610
28611
28612
28613
28614
28615
28616
28617
28618
28619
28620
28621
28622
28623
28624
28625
28626
28627
28628
28629
28630
28631
28632
28633
28634
28635
28636
28637
28638
28639
28640
28641
28642
28643
28644
28645
28646
28647
28648
28649
28650
28651
28652
28653
28654
28655
28656
28657
28658
28659
28660
28661
28662
28663
28664
28665
28666
28667
28668
28669
28670
28671
28672
28673
28674
28675
28676
28677
28678
28679
28680
28681
28682
28683
28684
28685
28686
28687
28688
28689
28690
28691
28692
28693
28694
28695
28696
28697
28698
28699
28700
28701
28702
28703
28704
28705
28706
28707
28708
28709
28710
28711
28712
28713
28714
28715
28716
28717
28718
28719
28720
28721
28722
28723
28724
28725
28726
28727
28728
28729
28730
28731
28732
28733
28734
28735
28736
28737
28738
28739
28740
28741
28742
28743
28744
28745
28746
28747
28748
28749
28750
28751
28752
28753
28754
28755
28756
28757
28758
28759
28760
28761
28762
28763
28764
28765
28766
28767
28768
28769
28770
28771
28772
28773
28774
28775
28776
28777
28778
28779
28780
28781
28782
28783
28784
28785
28786
28787
28788
28789
28790
28791
28792
28793
28794
28795
28796
28797
28798
28799
28800
28801
28802
28803
28804
28805
28806
28807
28808
28809
28810
28811
28812
28813
28814
28815
28816
28817
28818
28819
28820
28821
28822
28823
28824
28825
28826
28827
28828
28829
28830
28831
28832
28833
28834
28835
28836
28837
28838
28839
28840
28841
28842
28843
28844
28845
28846
28847
28848
28849
28850
28851
28852
28853
28854
28855
28856
28857
28858
28859
28860
28861
28862
28863
28864
28865
28866
28867
28868
28869
28870
28871
28872
28873
28874
28875
28876
28877
28878
28879
28880
28881
28882
28883
28884
28885
28886
28887
28888
28889
28890
28891
28892
28893
28894
28895
28896
28897
28898
28899
28900
28901
28902
28903
28904
28905
28906
28907
28908
28909
28910
28911
28912
28913
28914
28915
28916
28917
28918
28919
28920
28921
28922
28923
28924
28925
28926
28927
28928
28929
28930
28931
28932
28933
28934
28935
28936
28937
28938
28939
28940
28941
28942
28943
28944
28945
28946
28947
28948
28949
28950
28951
28952
28953
28954
28955
28956
28957
28958
28959
28960
28961
28962
28963
28964
28965
28966
28967
28968
28969
28970
28971
28972
28973
28974
28975
28976
28977
28978
28979
28980
28981
28982
28983
28984
28985
28986
28987
28988
28989
28990
28991
28992
28993
28994
28995
28996
28997
28998
28999
29000
29001
29002
29003
29004
29005
29006
29007
29008
29009
29010
29011
29012
29013
29014
29015
29016
29017
29018
29019
29020
29021
29022
29023
29024
29025
29026
29027
29028
29029
29030
29031
29032
29033
29034
29035
29036
29037
29038
29039
29040
29041
29042
29043
29044
29045
29046
29047
29048
29049
29050
29051
29052
29053
29054
29055
29056
29057
29058
29059
29060
29061
29062
29063
29064
29065
29066
29067
29068
29069
29070
29071
29072
29073
29074
29075
29076
29077
29078
29079
29080
29081
29082
29083
29084
29085
29086
29087
29088
29089
29090
29091
29092
29093
29094
29095
29096
29097
29098
29099
29100
29101
29102
29103
29104
29105
29106
29107
29108
29109
29110
29111
29112
29113
29114
29115
29116
29117
29118
29119
29120
29121
29122
29123
29124
29125
29126
29127
29128
29129
29130
29131
29132
29133
29134
29135
29136
29137
29138
29139
29140
29141
29142
29143
29144
29145
29146
29147
29148
29149
29150
29151
29152
29153
29154
29155
29156
29157
29158
29159
29160
29161
29162
29163
29164
29165
29166
29167
29168
29169
29170
29171
29172
29173
29174
29175
29176
29177
29178
29179
29180
29181
29182
29183
29184
29185
29186
29187
29188
29189
29190
29191
29192
29193
29194
29195
29196
29197
29198
29199
29200
29201
29202
29203
29204
29205
29206
29207
29208
29209
29210
29211
29212
29213
29214
29215
29216
29217
29218
29219
29220
29221
29222
29223
29224
29225
29226
29227
29228
29229
29230
29231
29232
29233
29234
29235
29236
29237
29238
29239
29240
29241
29242
29243
29244
29245
29246
29247
29248
29249
29250
29251
29252
29253
29254
29255
29256
29257
29258
29259
29260
29261
29262
29263
29264
29265
29266
29267
29268
29269
29270
29271
29272
29273
29274
29275
29276
29277
29278
29279
29280
29281
29282
29283
29284
29285
29286
29287
29288
29289
29290
29291
29292
29293
29294
29295
29296
29297
29298
29299
29300
29301
29302
29303
29304
29305
29306
29307
29308
29309
29310
29311
29312
29313
29314
29315
29316
29317
29318
29319
29320
29321
29322
29323
29324
29325
29326
29327
29328
29329
29330
29331
29332
29333
29334
29335
29336
29337
29338
29339
29340
29341
29342
29343
29344
29345
29346
29347
29348
29349
29350
29351
29352
29353
29354
29355
29356
29357
29358
29359
29360
29361
29362
29363
29364
29365
29366
29367
29368
29369
29370
29371
29372
29373
29374
29375
29376
29377
29378
29379
29380
29381
29382
29383
29384
29385
29386
29387
29388
29389
29390
29391
29392
29393
29394
29395
29396
29397
29398
29399
29400
29401
29402
29403
29404
29405
29406
29407
29408
29409
29410
29411
29412
29413
29414
29415
29416
29417
29418
29419
29420
29421
29422
29423
29424
29425
29426
29427
29428
29429
29430
29431
29432
29433
29434
29435
29436
29437
29438
29439
29440
29441
29442
29443
29444
29445
29446
29447
29448
29449
29450
29451
29452
29453
29454
29455
29456
29457
29458
29459
29460
29461
29462
29463
29464
29465
29466
29467
29468
29469
29470
29471
29472
29473
29474
29475
29476
29477
29478
29479
29480
29481
29482
29483
29484
29485
29486
29487
29488
29489
29490
29491
29492
29493
29494
29495
29496
29497
29498
29499
29500
29501
29502
29503
29504
29505
29506
29507
29508
29509
29510
29511
29512
29513
29514
29515
29516
29517
29518
29519
29520
29521
29522
29523
29524
29525
29526
29527
29528
29529
29530
29531
29532
29533
29534
29535
29536
29537
29538
29539
29540
29541
29542
29543
29544
29545
29546
29547
29548
29549
29550
29551
29552
29553
29554
29555
29556
29557
29558
29559
29560
29561
29562
29563
29564
29565
29566
29567
29568
29569
29570
29571
29572
29573
29574
29575
29576
29577
29578
29579
29580
29581
29582
29583
29584
29585
29586
29587
29588
29589
29590
29591
29592
29593
29594
29595
29596
29597
29598
29599
29600
29601
29602
29603
29604
29605
29606
29607
29608
29609
29610
29611
29612
29613
29614
29615
29616
29617
29618
29619
29620
29621
29622
29623
29624
29625
29626
29627
29628
29629
29630
29631
29632
29633
29634
29635
29636
29637
29638
29639
29640
29641
29642
29643
29644
29645
29646
29647
29648
29649
29650
29651
29652
29653
29654
29655
29656
29657
29658
29659
29660
29661
29662
29663
29664
29665
29666
29667
29668
29669
29670
29671
29672
29673
29674
29675
29676
29677
29678
29679
29680
29681
29682
29683
29684
29685
29686
29687
29688
29689
29690
29691
29692
29693
29694
29695
29696
29697
29698
29699
29700
29701
29702
29703
29704
29705
29706
29707
29708
29709
29710
29711
29712
29713
29714
29715
29716
29717
29718
29719
29720
29721
29722
29723
29724
29725
29726
29727
29728
29729
29730
29731
29732
29733
29734
29735
29736
29737
29738
29739
29740
29741
29742
29743
29744
29745
29746
29747
29748
29749
29750
29751
29752
29753
29754
29755
29756
29757
29758
29759
29760
29761
29762
29763
29764
29765
29766
29767
29768
29769
29770
29771
29772
29773
29774
29775
29776
29777
29778
29779
29780
29781
29782
29783
29784
29785
29786
29787
29788
29789
29790
29791
29792
29793
29794
29795
29796
29797
29798
29799
29800
29801
29802
29803
29804
29805
29806
29807
29808
29809
29810
29811
29812
29813
29814
29815
29816
29817
29818
29819
29820
29821
29822
29823
29824
29825
29826
29827
29828
29829
29830
29831
29832
29833
29834
29835
29836
29837
29838
29839
29840
29841
29842
29843
29844
29845
29846
29847
29848
29849
29850
29851
29852
29853
29854
29855
29856
29857
29858
29859
29860
29861
29862
29863
29864
29865
29866
29867
29868
29869
29870
29871
29872
29873
29874
29875
29876
29877
29878
29879
29880
29881
29882
29883
29884
29885
29886
29887
29888
29889
29890
29891
29892
29893
29894
29895
29896
29897
29898
29899
29900
29901
29902
29903
29904
29905
29906
29907
29908
29909
29910
29911
29912
29913
29914
29915
29916
29917
29918
29919
29920
29921
29922
29923
29924
29925
29926
29927
29928
29929
29930
29931
29932
29933
29934
29935
29936
29937
29938
29939
29940
29941
29942
29943
29944
29945
29946
29947
29948
29949
29950
29951
29952
29953
29954
29955
29956
29957
29958
29959
29960
29961
29962
29963
29964
29965
29966
29967
29968
29969
29970
29971
29972
29973
29974
29975
29976
29977
29978
29979
29980
29981
29982
29983
29984
29985
29986
29987
29988
29989
29990
29991
29992
29993
29994
29995
29996
29997
29998
29999
30000
30001
30002
30003
30004
30005
30006
30007
30008
30009
30010
30011
30012
30013
30014
30015
30016
30017
30018
30019
30020
30021
30022
30023
30024
30025
30026
30027
30028
30029
30030
30031
30032
30033
30034
30035
30036
30037
30038
30039
30040
30041
30042
30043
30044
30045
30046
30047
30048
30049
30050
30051
30052
30053
30054
30055
30056
30057
30058
30059
30060
30061
30062
30063
30064
30065
30066
30067
30068
30069
30070
30071
30072
30073
30074
30075
30076
30077
30078
30079
30080
30081
30082
30083
30084
30085
30086
30087
30088
30089
30090
30091
30092
30093
30094
30095
30096
30097
30098
30099
30100
30101
30102
30103
30104
30105
30106
30107
30108
30109
30110
30111
30112
30113
30114
30115
30116
30117
30118
30119
30120
30121
30122
30123
30124
30125
30126
30127
30128
30129
30130
30131
30132
30133
30134
30135
30136
30137
30138
30139
30140
30141
30142
30143
30144
30145
30146
30147
30148
30149
30150
30151
30152
30153
30154
30155
30156
30157
30158
30159
30160
30161
30162
30163
30164
30165
30166
30167
30168
30169
30170
30171
30172
30173
30174
30175
30176
30177
30178
30179
30180
30181
30182
30183
30184
30185
30186
30187
30188
30189
30190
30191
30192
30193
30194
30195
30196
30197
30198
30199
30200
30201
30202
30203
30204
30205
30206
30207
30208
30209
30210
30211
30212
30213
30214
30215
30216
30217
30218
30219
30220
30221
30222
30223
30224
30225
30226
30227
30228
30229
30230
30231
30232
30233
30234
30235
30236
30237
30238
30239
30240
30241
30242
30243
30244
30245
30246
30247
30248
30249
30250
30251
30252
30253
30254
30255
30256
30257
30258
30259
30260
30261
30262
30263
30264
30265
30266
30267
30268
30269
30270
30271
30272
30273
30274
30275
30276
30277
30278
30279
30280
30281
30282
30283
30284
30285
30286
30287
30288
30289
30290
30291
30292
30293
30294
30295
30296
30297
30298
30299
30300
30301
30302
30303
30304
30305
30306
30307
30308
30309
30310
30311
30312
30313
30314
30315
30316
30317
30318
30319
30320
30321
30322
30323
30324
30325
30326
30327
30328
30329
30330
30331
30332
30333
30334
30335
30336
30337
30338
30339
30340
30341
30342
30343
30344
30345
30346
30347
30348
30349
30350
30351
30352
30353
30354
30355
30356
30357
30358
30359
30360
30361
30362
30363
30364
30365
30366
30367
30368
30369
30370
30371
30372
30373
30374
30375
30376
30377
30378
30379
30380
30381
30382
30383
30384
30385
30386
30387
30388
30389
30390
30391
30392
30393
30394
30395
30396
30397
30398
30399
30400
30401
30402
30403
30404
30405
30406
30407
30408
30409
30410
30411
30412
30413
30414
30415
30416
30417
30418
30419
30420
30421
30422
30423
30424
30425
30426
30427
30428
30429
30430
30431
30432
30433
30434
30435
30436
30437
30438
30439
30440
30441
30442
30443
30444
30445
30446
30447
30448
30449
30450
30451
30452
30453
30454
30455
30456
30457
30458
30459
30460
30461
30462
30463
30464
30465
30466
30467
30468
30469
30470
30471
30472
30473
30474
30475
30476
30477
30478
30479
30480
30481
30482
30483
30484
30485
30486
30487
30488
30489
30490
30491
30492
30493
30494
30495
30496
30497
30498
30499
30500
30501
30502
30503
30504
30505
30506
30507
30508
30509
30510
30511
30512
30513
30514
30515
30516
30517
30518
30519
30520
30521
30522
30523
30524
30525
30526
30527
30528
30529
30530
30531
30532
30533
30534
30535
30536
30537
30538
30539
30540
30541
30542
30543
30544
30545
30546
30547
30548
30549
30550
30551
30552
30553
30554
30555
30556
30557
30558
30559
30560
30561
30562
30563
30564
30565
30566
30567
30568
30569
30570
30571
30572
30573
30574
30575
30576
30577
30578
30579
30580
30581
30582
30583
30584
30585
30586
30587
30588
30589
30590
30591
30592
30593
30594
30595
30596
30597
30598
30599
30600
30601
30602
30603
30604
30605
30606
30607
30608
30609
30610
30611
30612
30613
30614
30615
30616
30617
30618
30619
30620
30621
30622
30623
30624
30625
30626
30627
30628
30629
30630
30631
30632
30633
30634
30635
30636
30637
30638
30639
30640
30641
30642
30643
30644
30645
30646
30647
30648
30649
30650
30651
30652
30653
30654
30655
30656
30657
30658
30659
30660
30661
30662
30663
30664
30665
30666
30667
30668
30669
30670
30671
30672
30673
30674
30675
30676
30677
30678
30679
30680
30681
30682
30683
30684
30685
30686
30687
30688
30689
30690
30691
30692
30693
30694
30695
30696
30697
30698
30699
30700
30701
30702
30703
30704
30705
30706
30707
30708
30709
30710
30711
30712
30713
30714
30715
30716
30717
30718
30719
30720
30721
30722
30723
30724
30725
30726
30727
30728
30729
30730
30731
30732
30733
30734
30735
30736
30737
30738
30739
30740
30741
30742
30743
30744
30745
30746
30747
30748
30749
30750
30751
30752
30753
30754
30755
30756
30757
30758
30759
30760
30761
30762
30763
30764
30765
30766
30767
30768
30769
30770
30771
30772
30773
30774
30775
30776
30777
30778
30779
30780
30781
30782
30783
30784
30785
30786
30787
30788
30789
30790
30791
30792
30793
30794
30795
30796
30797
30798
30799
30800
30801
30802
30803
30804
30805
30806
30807
30808
30809
30810
30811
30812
30813
30814
30815
30816
30817
30818
30819
30820
30821
30822
30823
30824
30825
30826
30827
30828
30829
30830
30831
30832
30833
30834
30835
30836
30837
30838
30839
30840
30841
30842
30843
30844
30845
30846
30847
30848
30849
30850
30851
30852
30853
30854
30855
30856
30857
30858
30859
30860
30861
30862
30863
30864
30865
30866
30867
30868
30869
30870
30871
30872
30873
30874
30875
30876
30877
30878
30879
30880
30881
30882
30883
30884
30885
30886
30887
30888
30889
30890
30891
30892
30893
30894
30895
30896
30897
30898
30899
30900
30901
30902
30903
30904
30905
30906
30907
30908
30909
30910
30911
30912
30913
30914
30915
30916
30917
30918
30919
30920
30921
30922
30923
30924
30925
30926
30927
30928
30929
30930
30931
30932
30933
30934
30935
30936
30937
30938
30939
30940
30941
30942
30943
30944
30945
30946
30947
30948
30949
30950
30951
30952
30953
30954
30955
30956
30957
30958
30959
30960
30961
30962
30963
30964
30965
30966
30967
30968
30969
30970
30971
30972
30973
30974
30975
30976
30977
30978
30979
30980
30981
30982
30983
30984
30985
30986
30987
30988
30989
30990
30991
30992
30993
30994
30995
30996
30997
30998
30999
31000
31001
31002
31003
31004
31005
31006
31007
31008
31009
31010
31011
31012
31013
31014
31015
31016
31017
31018
31019
31020
31021
31022
31023
31024
31025
31026
31027
31028
31029
31030
31031
31032
31033
31034
31035
31036
31037
31038
31039
31040
31041
31042
31043
31044
31045
31046
31047
31048
31049
31050
31051
31052
31053
31054
31055
31056
31057
31058
31059
31060
31061
31062
31063
31064
31065
31066
31067
31068
31069
31070
31071
31072
31073
31074
31075
31076
31077
31078
31079
31080
31081
31082
31083
31084
31085
31086
31087
31088
31089
31090
31091
31092
31093
31094
31095
31096
31097
31098
31099
31100
31101
31102
31103
31104
31105
31106
31107
31108
31109
31110
31111
31112
31113
31114
31115
31116
31117
31118
31119
31120
31121
31122
31123
31124
31125
31126
31127
31128
31129
31130
31131
31132
31133
31134
31135
31136
31137
31138
31139
31140
31141
31142
31143
31144
31145
31146
31147
31148
31149
31150
31151
31152
31153
31154
31155
31156
31157
31158
31159
31160
31161
31162
31163
31164
31165
31166
31167
31168
31169
31170
31171
31172
31173
31174
31175
31176
31177
31178
31179
31180
31181
31182
31183
31184
31185
31186
31187
31188
31189
31190
31191
31192
31193
31194
31195
31196
31197
31198
31199
31200
31201
31202
31203
31204
31205
31206
31207
31208
31209
31210
31211
31212
31213
31214
31215
31216
31217
31218
31219
31220
31221
31222
31223
31224
31225
31226
31227
31228
31229
31230
31231
31232
31233
31234
31235
31236
31237
31238
31239
31240
31241
31242
31243
31244
31245
31246
31247
31248
31249
31250
31251
31252
31253
31254
31255
31256
31257
31258
31259
31260
31261
31262
31263
31264
31265
31266
31267
31268
31269
31270
31271
31272
31273
31274
31275
31276
31277
31278
31279
31280
31281
31282
31283
31284
31285
31286
31287
31288
31289
31290
31291
31292
31293
31294
31295
31296
31297
31298
31299
31300
31301
31302
31303
31304
31305
31306
31307
31308
31309
31310
31311
31312
31313
31314
31315
31316
31317
31318
31319
31320
31321
31322
31323
31324
31325
31326
31327
31328
31329
31330
31331
31332
31333
31334
31335
31336
31337
31338
31339
31340
31341
31342
31343
31344
31345
31346
31347
31348
31349
31350
31351
31352
31353
31354
31355
31356
31357
31358
31359
31360
31361
31362
31363
31364
31365
31366
31367
31368
31369
31370
31371
31372
31373
31374
31375
31376
31377
31378
31379
31380
31381
31382
31383
31384
31385
31386
31387
31388
31389
31390
31391
31392
31393
31394
31395
31396
31397
31398
31399
31400
31401
31402
31403
31404
31405
31406
31407
31408
31409
31410
31411
31412
31413
31414
31415
31416
31417
31418
31419
31420
31421
31422
31423
31424
31425
31426
31427
31428
31429
31430
31431
31432
31433
31434
31435
31436
31437
31438
31439
31440
31441
31442
31443
31444
31445
31446
31447
31448
31449
31450
31451
31452
31453
31454
31455
31456
31457
31458
31459
31460
31461
31462
31463
31464
31465
31466
31467
31468
31469
31470
31471
31472
31473
31474
31475
31476
31477
31478
31479
31480
31481
31482
31483
31484
31485
31486
31487
31488
31489
31490
31491
31492
31493
31494
31495
31496
31497
31498
31499
31500
31501
31502
31503
31504
31505
31506
31507
31508
31509
31510
31511
31512
31513
31514
31515
31516
31517
31518
31519
31520
31521
31522
31523
31524
31525
31526
31527
31528
31529
31530
31531
31532
31533
31534
31535
31536
31537
31538
31539
31540
31541
31542
31543
31544
31545
31546
31547
31548
31549
31550
31551
31552
31553
31554
31555
31556
31557
31558
31559
31560
31561
31562
31563
31564
31565
31566
31567
31568
31569
31570
31571
31572
31573
31574
31575
31576
31577
31578
31579
31580
31581
31582
31583
31584
31585
31586
31587
31588
31589
31590
31591
31592
31593
31594
31595
31596
31597
31598
31599
31600
31601
31602
31603
31604
31605
31606
31607
31608
31609
31610
31611
31612
31613
31614
31615
31616
31617
31618
31619
31620
31621
31622
31623
31624
31625
31626
31627
31628
31629
31630
31631
31632
31633
31634
31635
31636
31637
31638
31639
31640
31641
31642
31643
31644
31645
31646
31647
31648
31649
31650
31651
31652
31653
31654
31655
31656
31657
31658
31659
31660
31661
31662
31663
31664
31665
31666
31667
31668
31669
31670
31671
31672
31673
31674
31675
31676
31677
31678
31679
31680
31681
31682
31683
31684
31685
31686
31687
31688
31689
31690
31691
31692
31693
31694
31695
31696
31697
31698
31699
31700
31701
31702
31703
31704
31705
31706
31707
31708
31709
31710
31711
31712
31713
31714
31715
31716
31717
31718
31719
31720
31721
31722
31723
31724
31725
31726
31727
31728
31729
31730
31731
31732
31733
31734
31735
31736
31737
31738
31739
31740
31741
31742
31743
31744
31745
31746
31747
31748
31749
31750
31751
31752
31753
31754
31755
31756
31757
31758
31759
31760
31761
31762
31763
31764
31765
31766
31767
31768
31769
31770
31771
31772
31773
31774
31775
31776
31777
31778
31779
31780
31781
31782
31783
31784
31785
31786
31787
31788
31789
31790
31791
31792
31793
31794
31795
31796
31797
31798
31799
31800
31801
31802
31803
31804
31805
31806
31807
31808
31809
31810
31811
31812
31813
31814
31815
31816
31817
31818
31819
31820
31821
31822
31823
31824
31825
31826
31827
31828
31829
31830
31831
31832
31833
31834
31835
31836
31837
31838
31839
31840
31841
31842
31843
31844
31845
31846
31847
31848
31849
31850
31851
31852
31853
31854
31855
31856
31857
31858
31859
31860
31861
31862
31863
31864
31865
31866
31867
31868
31869
31870
31871
31872
31873
31874
31875
31876
31877
31878
31879
31880
31881
31882
31883
31884
31885
31886
31887
31888
31889
31890
31891
31892
31893
31894
31895
31896
31897
31898
31899
31900
31901
31902
31903
31904
31905
31906
31907
31908
31909
31910
31911
31912
31913
31914
31915
31916
31917
31918
31919
31920
31921
31922
31923
31924
31925
31926
31927
31928
31929
31930
31931
31932
31933
31934
31935
31936
31937
31938
31939
31940
31941
31942
31943
31944
31945
31946
31947
31948
31949
31950
31951
31952
31953
31954
31955
31956
31957
31958
31959
31960
31961
31962
31963
31964
31965
31966
31967
31968
31969
31970
31971
31972
31973
31974
31975
31976
31977
31978
31979
31980
31981
31982
31983
31984
31985
31986
31987
31988
31989
31990
31991
31992
31993
31994
31995
31996
31997
31998
31999
32000
32001
32002
32003
32004
32005
32006
32007
32008
32009
32010
32011
32012
32013
32014
32015
32016
32017
32018
32019
32020
32021
32022
32023
32024
32025
32026
32027
32028
32029
32030
32031
32032
32033
32034
32035
32036
32037
32038
32039
32040
32041
32042
32043
32044
32045
32046
32047
32048
32049
32050
32051
32052
32053
32054
32055
32056
32057
32058
32059
32060
32061
32062
32063
32064
32065
32066
32067
32068
32069
32070
32071
32072
32073
32074
32075
32076
32077
32078
32079
32080
32081
32082
32083
32084
32085
32086
32087
32088
32089
32090
32091
32092
32093
32094
32095
32096
32097
32098
32099
32100
32101
32102
32103
32104
32105
32106
32107
32108
32109
32110
32111
32112
32113
32114
32115
32116
32117
32118
32119
32120
32121
32122
32123
32124
32125
32126
32127
32128
32129
32130
32131
32132
32133
32134
32135
32136
32137
32138
32139
32140
32141
32142
32143
32144
32145
32146
32147
32148
32149
32150
32151
32152
32153
32154
32155
32156
32157
32158
32159
32160
32161
32162
32163
32164
32165
32166
32167
32168
32169
32170
32171
32172
32173
32174
32175
32176
32177
32178
32179
32180
32181
32182
32183
32184
32185
32186
32187
32188
32189
32190
32191
32192
32193
32194
32195
32196
32197
32198
32199
32200
32201
32202
32203
32204
32205
32206
32207
32208
32209
32210
32211
32212
32213
32214
32215
32216
32217
32218
32219
32220
32221
32222
32223
32224
32225
32226
32227
32228
32229
32230
32231
32232
32233
32234
32235
32236
32237
32238
32239
32240
32241
32242
32243
32244
32245
32246
32247
32248
32249
32250
32251
32252
32253
32254
32255
32256
32257
32258
32259
32260
32261
32262
32263
32264
32265
32266
32267
32268
32269
32270
32271
32272
32273
32274
32275
32276
32277
32278
32279
32280
32281
32282
32283
32284
32285
32286
32287
32288
32289
32290
32291
32292
32293
32294
32295
32296
32297
32298
32299
32300
32301
32302
32303
32304
32305
32306
32307
32308
32309
32310
32311
32312
32313
32314
32315
32316
32317
32318
32319
32320
32321
32322
32323
32324
32325
32326
32327
32328
32329
32330
32331
32332
32333
32334
32335
32336
32337
32338
32339
32340
32341
32342
32343
32344
32345
32346
32347
32348
32349
32350
32351
32352
32353
32354
32355
32356
32357
32358
32359
32360
32361
32362
32363
32364
32365
32366
32367
32368
32369
32370
32371
32372
32373
32374
32375
32376
32377
32378
32379
32380
32381
32382
32383
32384
32385
32386
32387
32388
32389
32390
32391
32392
32393
32394
32395
32396
32397
32398
32399
32400
32401
32402
32403
32404
32405
32406
32407
32408
32409
32410
32411
32412
=== release 0.10.22 ===

2009-01-19  Jan Schmidt <jan.schmidt@sun.com>

	* configure.ac:
	  releasing 0.10.22, "I heard a disturbing sound"

2009-01-17  Tim-Philipp Müller  <tim.muller at collabora co uk>

	* gst/gstbus.c: (gst_bus_set_main_context), (gst_bus_create_watch):
	  Fix order of members in GstBusSource structure - the first member
	  must be the parent structure ie. GSource. Should make bus sources
	  attached to non-default main contexts work in all cases now (ie.
	  primarily in cases where the callback has a non-NULL user data
	  argument). Fixes #562170.

	* tests/check/gst/gstbus.c: (test_custom_main_context):
	  Add unit test for the above, based on code by
	  Justin Karneges <justin at affinix com>.

2009-01-15  Wim Taymans  <wim.taymans@collabora.co.uk>

	Patch by: Jonas Holmberg <jonas dot holmberg at axis dot com>

	* gst/gstpad.h:
	A small documentation fix.

2009-01-11  Sebastian Dröge  <sebastian.droege@collabora.co.uk>

	* gst/gstutils.h:
	Initialize g_once_init* data with 0. Fixes bug #567225.

2009-01-09  Jan Schmidt  <jan.schmidt@sun.com>

	* configure.ac:
	pre-release 0.10.21.3

2009-01-09  Wim Taymans  <wim.taymans@collabora.co.uk>

	* libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
	(gst_base_sink_wait_clock):
	* libs/gst/base/gstbasesink.h:
	Fix documentation for the wait_clock method, rename basesink -> sink
	for consistency.

2009-01-08  Stefan Kost  <ensonic@users.sf.net>

	* gst/gst.c:
	  Create a registry if there is none also when the option for
	  gst-disable-registry-update has been selected. Fixes #567002

2009-01-06  Tim-Philipp Müller  <tim.muller at collabora co uk>

	* gst/gst.c: (init_post):
	  Ref new enum type in gst_init.

	* win32/common/libgstreamer.def:
	  Add recently-added API.

2009-01-06  Tim-Philipp Müller  <tim.muller at collabora co uk>

	* docs/gst/gstreamer-sections.txt::
	* gst/gst_private.h: (GstPluginDep), (_GstPluginPrivate):
	* gst/gstplugin.c: (gst_plugin_init), (gst_plugin_finalize),
	  (gst_plugin_class_init), (gst_plugin_list_free),
	  (gst_plugin_ext_dep_get_env_vars_hash),
	  (_priv_plugin_deps_env_vars_changed),
	  (gst_plugin_ext_dep_extract_env_vars_paths),
	  (gst_plugin_ext_dep_get_hash_from_stat_entry),
	  (gst_plugin_ext_dep_direntry_matches),
	  (gst_plugin_ext_dep_scan_dir_and_match_names),
	  (gst_plugin_ext_dep_scan_path_with_filenames),
	  (gst_plugin_ext_dep_get_stat_hash),
	  (_priv_plugin_deps_files_changed), (gst_plugin_ext_dep_free),
	  (gst_plugin_ext_dep_strv_equal), (gst_plugin_ext_dep_equals),
	  (gst_plugin_add_dependency), (gst_plugin_add_dependency_simple):
	* gst/gstplugin.h: (GstPluginPrivate), (GstPluginFlags),
	  (GST_PLUGIN_DEPENDENCY_FLAG_NONE),
	  (GST_PLUGIN_DEPENDENCY_FLAG_RECURSE),
	  (GST_PLUGIN_DEPENDENCY_FLAG_PATHS_ARE_DEFAULT_ONLY),
	  (GST_PLUGIN_DEPENDENCY_FLAG_FILE_NAME_IS_SUFFIX),
	  (GstPluginDependencyFlags), (GstPluginFilter):
	* gst/gstregistry.c: (gst_registry_scan_path_level):
	* gst/gstregistrybinary.c: (gst_registry_binary_save_feature),
	  (gst_registry_binary_save_plugin_dep),
	  (gst_registry_binary_save_plugin),
	  (gst_registry_binary_load_feature),
	  (gst_registry_binary_load_plugin_dep_strv),
	  (gst_registry_binary_load_plugin_dep),
	  (gst_registry_binary_load_plugin):
	* gst/gstregistrybinary.h: (GST_MAGIC_BINARY_VERSION_STR),
	  (GstBinaryPluginElement), (_GstBinaryDep), (GstBinaryDep):
	* gst/gstregistryxml.c: (gst_registry_xml_save_plugin):
	  Add API for making a GStreamer plugin 'dependent' on external files,
	  directories or environment variables, so that GStreamer knows when
	  it needs to re-load GStreamer plugins that wrap other plugin systems.
	  Fixes bug #350477.
	  API: add gst_plugin_add_dependency()
	  API: add gst_plugin_add_dependency_simple()

2009-01-06  Tim-Philipp Müller  <tim.muller at collabora co uk>

	* docs/faq/gst-uninstalled:
	  Add libgstapp-0.10 from -base to search path and remove the old
	  lib from -bad from the search path.

2009-01-05  Wim Taymans  <wim.taymans@collabora.co.uk>

	* libs/gst/base/gstbasesink.c: (gst_base_sink_get_position_last),
	(gst_base_sink_get_position_paused), (gst_base_sink_get_position):
	Release the object lock before calling the query convert pad functions
	to avoid deadlocks.

2009-01-05  Wim Taymans  <wim.taymans@collabora.co.uk>

	* gst/gstbus.c: (gst_bus_wakeup_main_context):
	The lock order should be maincontext > OBJECT_LOCK so we need to release
	the object lock when waking up the mainloop to avoid deadlocks.

2009-01-05  Wim Taymans  <wim.taymans@collabora.co.uk>

	* gst/gstbin.c: (gst_bin_set_index_func), (gst_bin_set_clock_func),
	(gst_bin_change_state_func):
	Use an iterator to set the clock and the index so that we can release
	the object lock appropriately. Fixes #566393.

2009-01-03  Edward Hervey  <edward.hervey@collabora.co.uk>

	* libs/gst/base/gstcollectpads.c: (gst_collect_pads_available):
	Use the name of the pads instead of a pointer, helps in debugging.

2009-01-03  Edward Hervey  <edward.hervey@collabora.co.uk>

	* gst/gstindex.c: (gst_index_get_type):
	Add a debugging category for GstIndex, first little step in making
	indexing top-notch.

2009-01-03  Edward Hervey  <edward.hervey@collabora.co.uk>

	* gst/gstelement.c: (gst_element_message_full),
	(gst_element_pads_activate):
	* gst/gstobject.c: (gst_object_dispatch_properties_changed):
	* gst/gstutils.c: (gst_pad_proxy_getcaps), (gst_pad_proxy_setcaps),
	(gst_pad_add_data_probe_full), (gst_pad_add_event_probe_full),
	(gst_pad_add_buffer_probe_full), (gst_pad_remove_data_probe),
	(gst_pad_remove_event_probe), (gst_pad_remove_buffer_probe):
	Assign debug statements to relevant categories instead of the 'default'
	category so they don't get lost in debugging.

2009-01-01  Stefan Kost  <ensonic@users.sf.net>

	* gst/gstdebugutils.c:
	  Add some ideas, how to make the graph smaller.

	* gst/gstutils.c:
	  Add a comment from a debug session.

	* libs/gst/base/gstbasetransform.c:
	  Log more context.

	* libs/gst/controller/gstinterpolationcontrolsource.c:
	  Indet.

	* plugins/elements/gstcapsfilter.c:
	  Fix typo in docs.

2008-12-27  Tim-Philipp Müller  <tim.muller at collabora co uk>

	* gst/gstbus.c: (gst_bus_dispose), (gst_bus_get_property),
	  (gst_bus_wakeup_main_context), (gst_bus_set_main_context),
	  (gst_bus_post), (gst_bus_source_prepare), (gst_bus_source_finalize),
	  (gst_bus_create_watch):
	  Make GstBusSource work with non-default main contexts (#562170).

	* tests/check/gst/gstbus.c: (message_func_eos), (message_func_app),
	  (test_watch), (test_watch_with_custom_context), (gst_bus_suite):
	  Add test case for GstBusSource with a non-default main context.

	* tests/check/libs/.cvsignore:
	  Ignore more.

2008-12-27  Tim-Philipp Müller  <tim.muller at collabora co uk>

	* gst/gstregistrybinary.c: (unpack_element), (unpack_const_string),
	  (unpack_string)::
	  Wrap multi-line macros in G_STMT_{START|END}.

2008-12-20  Sebastian Dröge  <sebastian.droege@collabora.co.uk>

	* docs/gst/gstreamer-sections.txt:
	* gst/gstquark.c:
	* gst/gstquark.h:
	* gst/gstquery.c: (gst_query_new_uri), (gst_query_set_uri),
	(gst_query_parse_uri):
	* gst/gstquery.h:
	API: Add URI query type. This is useful to query the URI
	of a sink/source element and can be used by demuxers that
	need to get data from other files.
	This query should go upstream by default.
	Fixes bug #562949.
	* plugins/elements/gstfdsink.c: (gst_fd_sink_query):
	* plugins/elements/gstfdsrc.c: (gst_fd_src_class_init),
	(gst_fd_src_query):
	* plugins/elements/gstfilesink.c: (gst_file_sink_query):
	* plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
	(gst_file_src_query):
	Implement URI query.

2008-12-19  Alessandro Decina <alessandro.decina@collabora.co.uk>

	* gst/gstghostpad.c:
	* tests/check/gst/gstghostpad.c:
	Don't forward gst_pad_set_caps() on a source ghostpad to its target.
	That would cause the ghostpad to emit notify::caps two times (fist
	from gst_pad_set_caps() and after from on_src_target_notify()).

2008-12-19  Wim Taymans  <wim.taymans@collabora.co.uk>

	* tests/check/gst/gstghostpad.c: (ghost_notify_caps),
	(GST_START_TEST):
	Add some more unit-tests for the ghostpad notify signal, one of which
	currently fails.

2008-12-19  Sebastian Dröge  <sebastian.droege@collabora.co.uk>

	* win32/common/libgstreamer.def:
	Add gst_tag_setter_reset_tags to the list of exported symbols.

2008-12-17  Alessandro Decina  <alessandro.decina@collabora.co.uk>

	* gst/gstghostpad.c:
	* tests/check/gst/gstghostpad.c:
	In a source ghostpad, when caps are changed in the target pad, the
	change needs to be reflected in the ghostpad.
	Fixes #564863.

2008-12-17  Sebastian Dröge  <sebastian.droege@collabora.co.uk>

	* gst/gstutils.c: (gst_element_found_tags_for_pad):
	Add FIXME for 0.11 to set the pad as message source and not
	the element. Otherwise it's impossible to detect for which
	pad the tags were found without adding an event probe
	or something similar to the pad.

2008-12-16  Wim Taymans  <wim.taymans@collabora.co.uk>

	* docs/faq/general.xml:
	Update the faq.

2008-12-16  Stefan Kost  <ensonic@users.sf.net>

	* docs/gst/gstreamer-sections.txt:
	* gst/gsttagsetter.c:
	* gst/gsttagsetter.h:
	  Rename api added in previous commit and add since tag to docs.
	  API: gst_tag_setter_reset_tags()

2008-12-16  Stefan Kost  <ensonic@users.sf.net>

	* docs/gst/gstreamer-sections.txt:
	* gst/gsttagsetter.c:
	* gst/gsttagsetter.h:
	  Add function to reset tagsetter for element reuse.

2008-12-16  Stefan Kost  <ensonic@users.sf.net>

	* gst/gsttaglist.c:
	  Avoid copy of empty taglist.

2008-12-16  Stefan Kost  <ensonic@users.sf.net>

	* gst/gsttaglist.c:
	* tests/check/gst/gsttag.c:
	  More complete unit tests. Fix handling of empty taglists (they were
	  not merged before).

2008-12-15  Stefan Kost  <ensonic@users.sf.net>

	* gst/gsttaglist.h:
	* gst/gsttagsetter.c:
	  Update GstTagSetter and GstTagMergeMode documentation. Mention
	  that tags can come from events and from application. Fix example.

2008-12-15  Wim Taymans  <wim.taymans@collabora.co.uk>

	* docs/design/part-TODO.txt:
	Remove the seqnum entry that we implemented in 0.10 already.
	Add entry about removing the format return value for queries.

2008-12-15  Wim Taymans  <wim.taymans@collabora.co.uk>

	* libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
	(gst_base_sink_init), (gst_base_sink_set_property),
	(gst_base_sink_get_property):
	Expose the render-delay as a property so things like appsink can use it
	to tweak the synchronisation.

2008-12-10  Peter Kjellerstedt  <pkj@axis.com>

	* libs/gst/check/gstcheck.h: Allow check tests to use
	MAIN_START_THREADS()/MAIN_STOP_THREADS() multiple times. Also allows
	CK_FORK=no to be used with multiple check test that use threads.

2008-12-09  Sebastian Dröge  <sebastian.droege@collabora.co.uk>

	* gst/gstutils.c: (gst_element_get_compatible_pad):
	Fix a caps memory leak introduced by the last change.

2008-12-09  Sebastian Dröge  <sebastian.droege@collabora.co.uk>

	* gst/gstutils.c: (gst_element_get_compatible_pad):
	Check if the caps of the pads are compatible before returning
	a pad and claiming it is compatible. This, among other things,
	fixes a bug with gst-launch where an incompatible pad is chosen
	and linking fails. Fixes bug #544003.

2008-12-09  Sebastian Dröge  <sebastian.droege@collabora.co.uk>

	* libs/gst/check/gstcheck.c: (gst_check_init):
	Revert accidentially commited patch for bug #404631 which
	tries to print a backtrace if a testcase is terminated by
	a signal. This code was never activated as the corresponding
	configure.ac change wasn't committed.

2008-12-09  Sebastian Dröge  <sebastian.droege@collabora.co.uk>

	* tests/check/libs/controller.c: (GST_START_TEST):
	This test should return TRUE now as syncing an uncontrolled
	object will succeed now (there's nothing to sync).

2008-12-09  Stefan Kost  <ensonic@users.sf.net>

	* libs/gst/controller/gstcontroller.c:
	  Aggregate return value for gst_controller_sync_values(). More info in
	  logging. Always set values on first sync-call.

	* libs/gst/controller/gstcontrolsource.c:
	  Microoptimizations.

	* libs/gst/controller/gsthelper.c:
	  Fix return code and comment.

2008-12-09  Stefan Kost  <ensonic@users.sf.net>

	* tools/gst-launch.1.in:
	  Fix description of how to specify a type in caps. Fixes #553873.
	  Also ranges and list contain values and not property-assignments.

2008-12-08  Wim Taymans  <wim.taymans@collabora.co.uk>

	* plugins/elements/gsttee.c: (gst_tee_handle_buffer):
	Check for changed pads-list before checking the last returned
	GstFlowReturn because the pad could have been removed and we
	need to ignore the value in that case.

2008-12-08  Wim Taymans  <wim.taymans@collabora.co.uk>

	* libs/gst/base/gstbasetransform.c:
	(gst_base_transform_prepare_output_buffer),
	(gst_base_transform_getrange), (gst_base_transform_chain):
	* libs/gst/base/gstbasetransform.h:
	Add vmethod that is called before we start the transform and which can
	be used to configure the transform, such as dynamic properties.

2008-12-05  David Schleef  <ds@schleef.org>

	* gst/gst.c:
	Search for plugins on win32 based on the location of the
	gstreamer DLL.  Fixes #548786

2008-12-04  Sebastian Dröge  <sebastian.droege@collabora.co.uk>

	* configure.ac:
	Apparently AC_CONFIG_MACRO_DIR breaks when using more
	than one macro directory, reverting last change.

2008-12-04  Sebastian Dröge  <sebastian.droege@collabora.co.uk>

	* configure.ac:
	Set AC_CONFIG_MACRO_DIR to common/m4 to point autoconf to
	our M4 macros.

2008-11-29  Sebastian Dröge  <sebastian.droege@collabora.co.uk>

	Patch by: Cygwin Ports maintainer
	          <yselkowitz at users dot sourceforge dot net>

	* autogen.sh:
	* configure.ac:
	Require gettext 0.17 because older versions don't mix with libtool
	2.2. At build time an older gettext version will still work.
	Fixes bug #556091.

2008-11-27  Wim Taymans  <wim.taymans@collabora.co.uk>

	Patch by: 이문형 <iwings at gmail dot com>

	* gst/gstpoll.c: (gst_poll_fd_ctl_write), (gst_poll_fd_has_error):
	Adds support for FD_CONNECT event (win32). See #562258.

2008-11-24  Stefan Kost  <ensonic@users.sf.net>

	* libs/gst/base/gstbasesink.c:
	  Turn comment into gtk-doc comment.

2008-11-24  Wim Taymans  <wim.taymans@collabora.co.uk>

	* libs/gst/base/gstbasetransform.c:
	(gst_base_transform_acceptcaps):
	Revert quick accepcaps attempt, it's not fully equivalent to the old
	behaviour and thus causes regressions.

2008-11-24  Edward Hervey  <edward.hervey@collabora.co.uk>

	* plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
	Fix memory leak.

2008-11-24  Sebastian Dröge  <sebastian.droege@collabora.co.uk>

	Patch by: Simon Holm Thøgersen <odie at cs dot aau dot dk>

	* gst/gstregistry.c: (gst_registry_scan_path_level):
	Reduce the number of stat() calls for every file from three times
	to one time. Fixes bug #560360.

2008-11-22  Wim Taymans  <wim.taymans@collabora.co.uk>

	* libs/gst/base/gstbasetransform.c:
	(gst_base_transform_acceptcaps):
	Rename a variable to make the code clearer.

2008-11-21  Stefan Kost  <ensonic@users.sf.net>

	* plugins/elements/gstidentity.c:
	Don't warning on offset==-1. Taken from _check_imperfect_offset().

2008-11-21  Michael Smith <msmith@songbirdnest.com>

	* plugins/elements/gstfilesrc.c:
	  Check for localhost in URI was backwards, fix it. Fixes unit test.

2008-11-21  Wim Taymans  <wim.taymans@collabora.co.uk>

	* libs/gst/base/gstbasetransform.c: (gst_base_transform_init),
	(gst_base_transform_getcaps), (gst_base_transform_find_transform),
	(gst_base_transform_acceptcaps), (gst_base_transform_getrange):
	Add beginnings of a more optimized acceptcaps function than the default
	core one.

2008-11-21  Wim Taymans  <wim.taymans@collabora.co.uk>

	* gst/gstpad.c: (gst_pad_accept_caps):
	Avoid getting the acceptcaps function too early.

2008-11-21  Wim Taymans  <wim.taymans@collabora.co.uk>

	* tools/gst-launch.c: (event_loop):
	Make gst-launch handle LATENCY messages and make it recalculate the
	latency.

2008-11-20  Michael Smith <msmith@songbirdnest.com>

	* plugins/elements/gstfilesrc.c:
	  Use g_filename_from_uri() for URI parsing in filesrc rather than rolling
	  out own slightly incorrect version. Fixes use of some paths on
	  win32.

2008-11-20  Michael Smith <msmith@songbirdnest.com>

	* gst/gstregistrybinary.c:
	  In win32 codepath, if we fail to write the registry, create the
	  directory for it and try again, matching the behaviour in non-win32
	  codepaths.

2008-11-20  Wim Taymans  <wim.taymans@collabora.co.uk>

	* libs/gst/base/gstbasesink.c: (gst_base_sink_set_render_delay):
	Changing the render delay changes the latency and so we must post a
	latency message.

2008-11-20  Wim Taymans  <wim.taymans@collabora.co.uk>

	* gst/gstquery.c:
	* gst/gstquery.h:
	Add GstQueryType for custom queries instead of having to use the
	not-so-very-convenient registration infrastructure to register new
	types.

2008-11-19  Sebastian Dröge  <sebastian.droege@collabora.co.uk>

	Patch by: Andrew Feren <acferen at yahoo dot com>

	* gst/gstobject.c: (gst_object_default_deep_notify):
	Unref the GEnumClass after usage again. Fixes bug #561501.

2008-11-19  Wim Taymans  <wim.taymans@collabora.co.uk>

	* gst/gstbin.c: (_gst_boolean_accumulator), (gst_bin_class_init),
	(gst_bin_recalculate_latency), (gst_bin_do_latency_func),
	(gst_bin_change_state_func):
	* gst/gstbin.h:
	Add do-latency signal with the old default fallback implementation. This
	allows for custom latency calculations for when the default is not
	sufficient.
	API: GstBin::do-latency signal.

2008-11-18  Wim Taymans  <wim.taymans@collabora.co.uk>

	* win32/common/libgstreamer.def:
	Add new symbols to .def file.

2008-11-18  Wim Taymans  <wim.taymans@collabora.co.uk>

	* docs/gst/gstreamer-sections.txt:
	* gst/gstbin.c: (gst_bin_recalculate_latency),
	(gst_bin_change_state_func):
	* gst/gstbin.h:
	Add method to recalculate and redistribute the latency on a bin.
	API: gst_bin_recalculate_latency().

2008-11-18  Wim Taymans  <wim.taymans@collabora.co.uk>

	* gst/gstbuffer.h:
	Document the free_func.

2008-11-17  Sebastian Dröge  <sebastian.droege@collabora.co.uk>

	* libs/gst/controller/gstinterpolation.c:
	* libs/gst/controller/gstlfocontrolsource.c:
	Use gst_guint64_to_gdouble instead of gst_util_guint64_to_gdouble
	as it is mapped to a cast on non-win32 platforms.

2008-11-17  Stefan Kost  <ensonic@users.sf.net>

	* libs/gst/controller/gstcontroller.c:
	* libs/gst/controller/gstcontrollerprivate.h:
	  Keep last-value and only call set_property if value has changed. This
	  supresses all the g_object_notifies we would trigger otherwise. It
	  also allows the user to chage the value while there is no controller
	  change.

2008-11-17  Stefan Kost  <ensonic@users.sf.net>

	* gst/gstvalue.c:
	  Don't crash if either of the string GValues is empty.

2008-11-17  Andy Wingo  <wingo@pobox.com>

	* tools/gst-inspect.c (print_all_uri_handlers): New function,
	prints a summary of what URI schemes are supported by what
	elements.
	(main): Plumb in support for --uri-handlers or -u, and fix the
	argc check for -a and -u.

2008-11-17  Sebastian Dröge  <sebastian.droege@collabora.co.uk>

	* gst/gstutils.h:
	Add G_GNUC_PURE to gst_util_uint64_scale* and the double<->uint64
	conversion functions.

2008-11-13  Wim Taymans  <wim.taymans@collabora.co.uk>

	* gst/gstbuffer.c: (gst_buffer_finalize):
	Avoid costly typechecking for trivially correct pointers.

	* gst/gstpoll.c: (gst_poll_wait):
	Add some G_LIKELY here and there.

	* libs/gst/base/gstadapter.c: (gst_adapter_push):
	Add some debug info.

2008-11-13  Wim Taymans  <wim.taymans@collabora.co.uk>

	* docs/random/wtay/poll-timeout:
	Small tweaks.

2008-11-13  Wim Taymans  <wim.taymans@collabora.co.uk>

	* tests/old/testsuite/caps/intersection.c: (main):
	* tests/old/testsuite/plugin/loading.c: (main):
	Remove references to deprecated API g_mem_chunk*.
	Fixes #560442.

2008-11-12  Wim Taymans  <wim.taymans@collabora.co.uk>

	* tools/gst-inspect.c: (main):
	Add --plugin option. Fixes #560301.

2008-11-12  Wim Taymans  <wim.taymans@collabora.co.uk>

	* docs/random/wtay/poll-timeout:
	Quick braindump for a possible (not totally verified) atomic case.

2008-11-12  Sebastian Dröge  <sebastian.droege@collabora.co.uk>

	* gst/gstregistrybinary.c: (gst_registry_binary_write_chunk),
	(gst_registry_binary_initialize_magic),
	(gst_registry_binary_write_cache),
	(gst_registry_binary_check_magic):
	* gst/gstregistrybinary.h:
	Don't write and check a CRC for the binary registry file. It's
	guaranteed that the registry is completely written (it's first written
	to a temporary file and then moved) and if the registry was corrupted
	by some hardware failure we would have bigger problems.

	Bump binary registry version to 0.10.21.1 for this as it's an
	incompatible change and to ensure that the registry gets rebuild
	after the update.

	This saves some milliseconds for reading/writing the registry.
	Fixes bug #560399.

2008-11-11  Wim Taymans  <wim.taymans@collabora.co.uk>

	* docs/random/wtay/poll-timeout:
	Some pseudo code for how we could implement clock timeouts with GstPoll.

2008-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>

	* plugins/elements/gstfilesink.c:
	  Update Author string to match others.

2008-11-06  Wim Taymans  <wim.taymans@collabora.co.uk>

	* gst/gstvalue.c: (gst_type_is_fixed), (gst_value_is_fixed):
	Reorganize some more, be more conservative with the GST_TYPE_ARRAY not
	being fixed and inline the trivial check.

2008-11-06  Wim Taymans  <wim.taymans@collabora.co.uk>

	* gst/gstcaps.c: (gst_caps_copy), (_gst_caps_free),
	(gst_caps_merge_structure), (gst_caps_get_structure),
	(gst_caps_copy_nth), (gst_caps_set_simple),
	(gst_caps_set_simple_valist), (gst_caps_is_fixed),
	(gst_caps_is_equal_fixed), (gst_caps_intersect),
	(gst_caps_subtract), (gst_caps_normalize), (gst_caps_do_simplify),
	(gst_caps_to_string):
	Callgrind micro optimisations.
	Avoid array bounds checks and force inline of trivial function.

	* gst/gstobject.c: (gst_object_set_name_default):
	-1 is equivalent to letting glib to the strlen but then there is more
	room for optimisations and it's not our fault.

	* gst/gststructure.c: (gst_structure_id_empty_new_with_size):
	no need to clear the array, we're cool.

	* gst/gstvalue.c: (gst_type_is_fixed), (gst_value_is_fixed):
	The most common _is_fixed() check is done on fundamental glib base
	types so we check this first instead of doing a huge amount of
	useless GST_TYPE_ARRAY calls.

2008-11-06  Wim Taymans  <wim.taymans@collabora.co.uk>

	* gst/gstevent.h:
	Add a SKIP seek flag for use with advanced trickmodes.
	API: GstSeekFlags::GST_SEEK_FLAG_SKIP

2008-11-05  Wim Taymans  <wim.taymans@collabora.co.uk>

	* gst/gststructure.c: (gst_structure_id_empty_new_with_size):
	No need to memset, we can clear the value ourselves.

	* gst/gstvalue.c: (gst_type_is_fixed),
	(gst_value_get_compare_func):
	Some optimisations from a few callgrind sessions:
	When checking if a type is fixed, check for trivial fundamental types
	first before checking types for which we need to get the type followed
	by the heavy duty type checks, this reduces the amount of
	g_type_fundamental() calls a lot.
	When getting the compare function, first check for our registered types.
	If that fails, do the heavy duty g_type_is_a() checks, reduces the
	amount of g_type_is_a() considerably.

2008-11-05  Wim Taymans  <wim.taymans@collabora.co.uk>

	* docs/design/part-TODO.txt:
	Mumble something about removing GstXML.

2008-11-04  Wim Taymans  <wim.taymans@collabora.co.uk>

	* gst/gstbin.c: (gst_bin_handle_message_func):
	Get the seqnum before we dispose the message.

2008-11-04  Wim Taymans  <wim.taymans@collabora.co.uk>

	* docs/design/part-TODO.txt:
	Refer to the framestepping document.

2008-11-04  Wim Taymans  <wim.taymans@collabora.co.uk>

	* gst/gstbin.c: (bin_handle_async_start),
	(gst_bin_handle_message_func), (gst_bin_query):
	* libs/gst/base/gstbasesink.c: (gst_base_sink_render_object),
	(gst_base_sink_event), (gst_base_sink_change_state):
	* libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
	(gst_base_src_loop), (gst_base_src_change_state):
	Copy seqnums from events to messages so that they can all be related
	back to eachother.

2008-11-04  Wim Taymans  <wim.taymans@collabora.co.uk>

	* tools/gst-launch.c: (event_loop):
	Print the message seqnums.

2008-11-04  Andy Wingo  <wingo@pobox.com>

	* gst/gstutils.c (gst_util_seqnum_next): Refactor for clarity.

2008-11-04  Andy Wingo  <wingo@pobox.com>

	Add sequence numbers to events and messages. See #559250.

	* gst/gstutils.c (gst_util_seqnum_next, gst_util_seqnum_compare):
	API: New functions.

	* gst/gstevent.h:
	* gst/gstevent.c (_gst_event_copy, gst_event_new): Initialize new
	events with a new sequence number, and copy it when copying.
	(gst_event_get_seqnum, gst_event_set_seqnum): API: Accessors for
	an event's sequence number.

	* gst/gstmessage.h:
	* gst/gstmessage.c (_gst_message_copy, gst_message_new_custom):
	(gst_event_get_seqnum, gst_event_set_seqnum): API: As with events,
	so with messages.

	* docs/gst/gstreamer-sections.txt: Add new functions to the docs.

2008-11-04  Wim Taymans  <wim.taymans@collabora.co.uk>

	* docs/manual/advanced-position.xml:
	* docs/manual/basics-bins.xml:
	* docs/manual/basics-bus.xml:
	* docs/manual/basics-pads.xml:
	* docs/manual/intro-gstreamer.xml:
	* docs/manual/intro-preface.xml:
	Some Application Development Manual fixes thanks to
	Andrew Feren. Fixes #558459.

2008-11-03  Stefan Kost  <ensonic@users.sf.net>

	* gst/gstregistrybinary.c:
	  Don't bother with the GTimer if we don't output the results.

2008-11-03  Wim Taymans  <wim.taymans@collabora.co.uk>

	Patch by: David Schleef  <ds@schleef.org>

	* libs/gst/net/Makefile.am:
	Add WIN32_LIBS to libgstnet LIBADD. Fixes #557300.

2008-10-31  Stefan Kost  <ensonic@users.sf.net>

	* gst/gstregistrybinary.c:
	  Oh my, studip, stupid me. Remove double stat() call.

2008-10-31  Stefan Kost  <ensonic@users.sf.net>

	* gst/gstpreset.c:
	  Use g_unlink instead of unlink.

	* gst/gststructure.c:
	  Use glib type.

	* gst/gstutils.c:
	  Add a FIXME:.

	* gst/gsttaglist.c:
	* gst/gsttypefind.c:
	* gst/gstvalue.c:
	  Formatting & whitespaces.

2008-10-31  Stefan Kost  <ensonic@users.sf.net>

	* plugins/elements/gstidentity.c:
	  Doc typo. Use return value of parent_class->event.
  
	* plugins/elements/gsttypefindelement.c:
	  Chain up at the end for consistency.
  
2008-10-30  Stefan Kost  <ensonic@users.sf.net>

	* docs/Makefile.am:
	* docs/gst/gstreamer-docs.sgml:
	* docs/gst/gstreamer-sections.txt:
	* docs/gst/running.xml:
	* docs/libs/gstreamer-libs-docs.sgml:
	  Change to xinclude based build - its faster and easier to maintain.

2008-10-30  Stefan Kost  <ensonic@users.sf.net>

	* gst/gstregistrybinary.c:
	* gst/gstregistryxml.c:
	  Use g_unlink() as none of these are directories.

2008-10-29  Wim Taymans  <wim.taymans@collabora.co.uk>

	* gst/gstpipeline.c: (gst_pipeline_provide_clock_func):
	Some more comments.

2008-10-27  Wim Taymans  <wim.taymans@collabora.co.uk>

	* libs/gst/base/gstbasetransform.c:
	(gst_base_transform_find_transform), (gst_base_transform_getrange):
	If we have a fixate function, call it even if we already have fixed caps
	because the subclass might add some caps. Makes audioconvert add a
	default channel layout.

2008-10-24  Wim Taymans  <wim.taymans@collabora.co.uk>

	* libs/gst/base/gstbasetransform.c:
	(gst_base_transform_prepare_output_buffer),
	(gst_base_transform_getrange):
	Clear the output buffer variable.
	Cleanups to the error path in the getrange function.
	Fixes #557649.

2008-10-23  Sebastian Dröge  <slomo@circular-chaos.org>

	* plugins/elements/gstfdsrc.c: (gst_fd_src_create):
	* plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
	Use gst_buffer_try_new_and_alloc() and handle errors instead of
	using gst_buffer_new_and_alloc() which aborts if the buffer couldn't
	be allocated.

2008-10-23  Wim Taymans  <wim.taymans@collabora.co.uk>

	* gst/gstsegment.c: (gst_segment_set_newsegment_full):
	Set the last_stop to a more meaningful position when configuring the
	segment. ie. the start/stop of the segment or clipped against the
	updated segment boundaries.

	* tests/check/gst/gstsegment.c: (GST_START_TEST):
	Add some unit tests for the last_stop.

2008-10-23  Sebastian Dröge  <sebastian.droege@collabora.co.uk>

	* libs/gst/base/gstbytereader.c:
	Use GST_(READ|WRITE)_(FLOAT|DOUBLE)_(LE|BE) instead of our own
	copies of them.

2008-10-23  Sebastian Dröge  <sebastian.droege@collabora.co.uk>

	* docs/gst/gstreamer-sections.txt:
	* gst/gstutils.h:
	API: Move float endianness conversion macros from libgstfloatcast
	to core as it's useful in general, even in core. Fixes bug #555196.
	This adds GDOUBLE_FROM_BE, GDOUBLE_FROM_LE, GDOUBLE_TO_BE,
	GDOUBLE_TO_LE, GDOUBLE_SWAP_LE_BE, GFLOAT_FROM_BE, GFLOAT_FROM_LE,
	GFLOAT_TO_BE, GFLOAT_TO_LE, GFLOAT_SWAP_LE_BE.

	Also add GST_READ_ and GST_WRITE_ macros for floats and doubles:
	GST_READ_FLOAT_LE, GST_READ_FLOAT_BE, GST_READ_DOUBLE_LE,
	GST_READ_DOUBLE_BE, GST_WRITE_FLOAT_LE, GST_WRITE_FLOAT_BE,
	GST_WRITE_DOUBLE_LE, GST_WRITE_DOUBLE_BE.

2008-10-22  Sebastian Dröge  <slomo@circular-chaos.org>

	* docs/libs/gstreamer-libs-sections.txt:
	* libs/gst/base/gstbytereader.c: (gst_byte_reader_get_data),
	(gst_byte_reader_peek_data):
	* libs/gst/base/gstbytereader.h:
	* win32/common/libgstbase.def:
	API: Add gst_byte_reader_get_data and gst_byte_reader_peek_data
	to get a pointer to the data at the current position and have
	a guaranteed size.

2008-10-22  Jan Schmidt  <jan.schmidt@sun.com>

	* configure.ac:
	Fix a bug in the output of the configure script summary
	when --gst-disable-registry is supplied

2008-10-22  Jan Schmidt  <jan.schmidt@sun.com>

	* libs/gst/base/gstbitreader.c:
	* libs/gst/base/gstbytereader.c:
	Fix the names of 2 functions in the docs strings.

2008-10-21  Wim Taymans  <wim.taymans@collabora.co.uk>

	* libs/gst/base/gstbasetransform.c:
	(gst_base_transform_prepare_output_buffer),
	(gst_base_transform_buffer_alloc), (gst_base_transform_suggest):
	Protect sink_alloc caps with the sinkpad lock to avoid nasty caps
	refcount problems as seen in banshee and maybe also in farsight2.
	Remove atomic int now that we need to take the lock anyways.

2008-10-20  Wim Taymans  <wim.taymans@collabora.co.uk>

	* libs/gst/base/gstbasesink.c: (gst_base_sink_default_do_seek),
	(gst_base_sink_default_prepare_seek_segment),
	(gst_base_sink_perform_seek), (gst_base_sink_get_position_last),
	(gst_base_sink_get_position_paused), (gst_base_sink_get_position),
	(gst_base_sink_query):
	Implement more seeking in pull mode.
	Use pad convert functions to convert position to the requested format.
	Fix position/duration reporting in pull mode.
	Implement position and duration reporting in other formats than time.

	* libs/gst/base/gstbasesink.h:
	Add member to keep track of when the segment is playing.

2008-10-20  Wim Taymans  <wim.taymans@collabora.co.uk>

	* gst/gstpad.c: (gst_pad_configure_src):
	When we use gst_pad_alloc_buffer() without wanting to set the caps we
	also don't need to check if the caps are compatible because the caller
	presumably is going to perform its own custom checks. Fixes some cases
	where basetransform elements would error out when it was not needed.

2008-10-20  Wim Taymans  <wim.taymans@collabora.co.uk>

	* libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
	Update comment.

	* libs/gst/base/gstbasetransform.c:
	(gst_base_transform_handle_buffer),
	(gst_base_transform_reconfigure):
	Add some debug info.

	* win32/common/libgstbase.def:
	Add new method.

2008-10-19  Stefan Kost  <ensonic@users.sf.net>

	* libs/gst/base/gstbasesrc.c: (gst_base_src_default_do_seek);
	  Remove duplicated assignment and log a message in failure case.

2008-10-19  Tim-Philipp Müller  <tim.muller at collabora co uk>

	Patch by: Dig Ge <dig.ge.cn at gmail com>

	* tests/examples/helloworld/helloworld.c: (main):
	  Fix copy'n'paste bug in hello world example (#556900).

2008-10-17  Wim Taymans  <wim.taymans@collabora.co.uk>

	* libs/gst/base/gstbasesink.c: (gst_base_sink_pad_activate_pull),
	(gst_base_sink_query):
	Query the total number of bytes when activating the pad in pull mode.
	Implement duration query in pull mode by using the installed pad convert
	function to convert from bytes to the requested format.

2008-10-16  Wim Taymans  <wim.taymans@collabora.co.uk>

	* docs/libs/gstreamer-libs-sections.txt:
	* libs/gst/base/gstbasesink.c: (gst_base_sink_do_preroll),
	(gst_base_sink_flush_start), (gst_base_sink_flush_stop),
	(gst_base_sink_event), (gst_base_sink_perform_seek),
	(gst_base_sink_loop), (gst_base_sink_pad_activate_pull),
	(gst_base_sink_send_event), (gst_base_sink_change_state):
	* libs/gst/base/gstbasesink.h:
	Add method to commit the state in subclasses.
	Refactor the flush_start and flush_stop code because we need it for
	flushing while seeking too.
	Implement the beginnings of seeking in pull mode.
	Use the segment last_stop field for the pulling offset.
	Fix the pause method in pull mode.
	Configure the segment to BYTES for pull mode.
	API: GstBaseSink::gst_base_sink_do_preroll()

2008-10-16  Wim Taymans  <wim.taymans@collabora.co.uk>

	* libs/gst/base/gstbasesrc.c: (gst_base_src_class_init):
	Update some docs.

2008-10-14  Tim-Philipp Müller  <tim.muller at collabora co uk>

	* gst/gstquark.c: (_priv_gst_quarks_initialize):
	  Fix printf format warning.

2008-10-14  Sebastian Dröge  <slomo@circular-chaos.org>

	* plugins/elements/gsttee.c: (gst_tee_handle_buffer):
	Fix flow aggregation of tee. Error out immediately for all flow returns
	except OK and NOT_LINKED, return NOT_LINKED if all pads are not linked
	and return OK if at least one pad is linked.

	Before we errored out on "fatal" flow returns (i.e. not for WRONG_STATE)
	and otherwise returned the flow return of the last pad, which is wrong.
	
	* tests/check/elements/tee.c: (_fake_chain), (_fake_chain_error),
	(GST_START_TEST), (tee_suite):
	Add unit tests for the flow aggregation.

2008-10-13  Wim Taymans  <wim.taymans@collabora.co.uk>

	* docs/design/part-TODO.txt:
	Remove item from the todo list because it was fixed with the latency
	state change rewrites.

	* docs/design/part-seeking.txt:
	* docs/design/part-segments.txt:
	Update some docs.

	* gst/gstevent.c: (gst_event_new_new_segment_full),
	(gst_event_parse_new_segment_full), (gst_event_new_buffer_size),
	(gst_event_parse_buffer_size), (gst_event_new_qos),
	(gst_event_parse_qos), (gst_event_new_seek),
	(gst_event_parse_seek), (gst_event_new_latency),
	(gst_event_parse_latency):
	Use quarks to construct and parse events.

	* gst/gstquark.c: (_priv_gst_quarks_initialize):
	* gst/gstquark.h:
	Add some more quarks to the table.
	Emit a warning when the quark tables are not in sync.

	* tests/check/gst/gstbus.c: (GST_START_TEST):
	Add an assert.

2008-10-13  Stefan Kost  <ensonic@users.sf.net>

	* plugins/elements/Makefile.am:
	* plugins/indexers/Makefile.am:
	  Don't install static libs for plugins. Fixes #550851 for core.

2008-10-13  Wim Taymans  <wim.taymans@collabora.co.uk>

	* gst/gstbus.c: (gst_bus_source_finalize),
	(gst_bus_add_watch_full_unlocked), (gst_bus_add_watch_full),
	(gst_bus_enable_sync_message_emission),
	(gst_bus_disable_sync_message_emission),
	(gst_bus_add_signal_watch_full), (gst_bus_remove_signal_watch):
	Fix deadlock, g_source_get_id() cannot be called in finalize.
	Keep track of the watch source by keeping a pointer to the source object
	instead.
	Use the bus lock to protect access to the pointer to the current
	watch source.

2008-10-13  Sebastian Dröge  <sebastian.droege@collabora.co.uk>

	Base on Patch by: Olivier Crete <tester at tester dot ca>

	* gst/gstbus.c: (gst_bus_source_finalize),
	(gst_bus_add_watch_full), (gst_bus_add_signal_watch_full):
	Only allow one bus watch to be set at a time. This is necessary
	because the dispatcher pops the message from the bus and the second
	watcher will then get NULL or the next message (and the first won't
	get this next message then, etc). If more than one "watcher" is
	required signal watches should be used. Fixes bug #526044.

2008-10-12  Jan Schmidt  <jan.schmidt@sun.com>

	* tools/gst-launch.c:
	Change the printing of the 'buffering...' output to avoid putting
	a \r in a translateable string (flagged by the TP).

2008-10-10  Sebastian Dröge  <sebastian.droege@collabora.co.uk>

	* gst/gstxml.c:
	Clarify that the save_thyself() and restore_thyself() virtual
	functions of GstObject need to be overriden, not
	gst_object_(save|restore)_thyself() which is impossible.
	Fixes bug #555700.

2008-10-10  Wim Taymans  <wim.taymans@collabora.co.uk>

	* gst/gstpad.c: (gst_pad_get_range), (gst_pad_pull_range):
	Revert a patch from 21 months ago that broke caps negotiation in pull
	mode. Basically, having a buffer pass over a pad will trigger the
	setcaps function when caps change, just like in push mode.

2008-10-10  Wim Taymans  <wim.taymans@collabora.co.uk>

	* docs/design/part-negotiation.txt:
	Update the docs some more.

	* libs/gst/base/gsttypefindhelper.c: (helper_find_peek):
	If we pull a buffer with non-trivial caps, suggest those caps with the
	max probability.

2008-10-10  Edward Hervey  <edward.hervey@collabora.co.uk>

	* docs/design/part-TODO.txt:
	Add another limitation of pad-blocking with segment seeks not pushing
	EOS events.

2008-10-10  Jan Schmidt  <jan.schmidt@sun.com>

	* win32/common/libgstbase.def:
	* win32/common/libgstreamer.def:
	Add new symbols to the win32 defs files

2008-10-10  Wim Taymans  <wim.taymans@collabora.co.uk>

	* gst/gstbin.c: (gst_bin_remove_func), (update_degree),
	(gst_bin_handle_message_func):
	The message src can be NULL, don't try to print the object names in that
	case.

	* libs/gst/base/gstbasesink.c: (gst_base_sink_pad_activate):
	Add some more debug info.

	* tests/check/pipelines/simple-launch-lines.c: (run_pipeline),
	(GST_START_TEST):
	Add some debug.
	Fix the test, pull based sinks go ASYNC to PAUSED, just like other
	scheduling modes.

2008-10-10  Wim Taymans  <wim.taymans@collabora.co.uk>

	* docs/design/part-negotiation.txt:
	Small doc update.

	* docs/libs/gstreamer-libs-sections.txt:
	* libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
	(gst_base_sink_pad_getcaps), (gst_base_sink_pad_setcaps),
	(gst_base_sink_init), (gst_base_sink_set_blocksize),
	(gst_base_sink_get_blocksize), (gst_base_sink_set_property),
	(gst_base_sink_get_property), (gst_base_sink_needs_preroll),
	(gst_base_sink_loop), (gst_base_sink_pad_activate),
	(gst_base_sink_negotiate_pull), (gst_base_sink_pad_activate_pull),
	(gst_base_sink_change_state):
	* libs/gst/base/gstbasesink.h:
	Add blocksize property and methods to control the amount of data
	to pull.
	Negotiate first before activating upstream in pull mode so that they can
	negotiate themselves.
	When we operate in pull mode, we only accept the caps that we
	negotiated.
	Make the sink go ASYNC to PAUSED, like all other sinks.
	API: GstBaseSink::gst_base_sink_set_blocksize()
	API: GstBaseSink::gst_base_sink_get_blocksize()
	API: GstBaseSink::blocksize

	* libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
	(gst_base_src_set_live), (gst_base_src_is_live),
	(gst_base_src_set_format), (gst_base_src_query_latency),
	(gst_base_src_set_blocksize), (gst_base_src_get_blocksize),
	(gst_base_src_set_do_timestamp), (gst_base_src_get_do_timestamp),
	(gst_base_src_set_property), (gst_base_src_get_property):
	* libs/gst/base/gstbasesrc.h:
	Add typechecking in public API functions.
	Add methods to control the blocksize in subclasses.
	API: GstBaseSrc::gst_base_src_set_blocksize()
	API: GstBaseSrc::gst_base_src_get_blocksize()

2008-10-10  Edward Hervey  <edward.hervey@collabora.co.uk>

	* tests/check/gst/gstutils.c: (probe_do_nothing), (data_probe),
	(buffer_probe), (event_probe), (GST_START_TEST):
	We now see 3 events go through our pad, since basesink now sends
	upstream latency events.

2008-10-08  Wim Taymans  <wim.taymans@collabora.co.uk>

	* gst/gstpipeline.c: (gst_pipeline_change_state):
	Release the object lock before trying to flush the bus.

2008-10-08  Wim Taymans  <wim.taymans@collabora.co.uk>

	* libs/gst/base/gstbasesink.c: (gst_base_sink_send_event):
	Forward LATENCY events upstreams so that elements know about the total
	pipeline latency. Fixes #555307.

2008-10-08  Jan Schmidt  <jan.schmidt@sun.com>

	* plugins/elements/gstqueue.c:
	Allow through queries when we don't know how
	to adjust them (not TIME or BYTES), as otherwise it's
	not possible to query the current position in order
	to seek in other formats at all.

2008-10-08  Andy Wingo  <wingo@pobox.com>

	* docs/gst/gstreamer-sections.txt: Placate doc pendants.

2008-10-08  Wim Taymans  <wim.taymans@collabora.co.uk>

	* gst/gstghostpad.c:
	* gst/gstghostpad.h:
	Unbreak -good build, private is a reserved c++ keyword.

2008-10-08  Andy Wingo  <wingo@pobox.com>

	* gst/gstghostpad.h (GST_GHOST_PAD_CAST):
	* gst/gstghostpad.c (GST_GHOST_PAD_CAST): Fix unintended API
	removal: re-add GST_GHOST_PAD_CAST to the header.

	* gst/gstghostpad.h (GstProxyPad, GstProxyPadClass, GstGhostPad)
	(GstGhostPadClass): Publically expose these structures so as to
	allow easy subclassing from C. Hide the member data behind a
	private opaque data pointer.

	* gst/gstghostpad.c: Adapt to store instance data in the type
	instance's private data region, not in the public struct.

2008-10-08  Andy Wingo  <wingo@pobox.com>

	* gst/gstghostpad.c (gst_ghost_pad_construct): If we got a
	template via g_object_get(), be sure to unref it.

	* gst/gstbuffer.h (GST_BUFFER_FREE_FUNC): Fix incorrect doc.

2008-10-08  Sebastian Dröge  <sebastian.droege@collabora.co.uk>

	* gst/gstregistrybinary.c: (gst_registry_binary_write_cache):
	If we can't get a cache file don't try to save something to it.
	Dereferencing NULL pointers usually isn't a good idea.

2008-10-07  Jan Schmidt - Sun Microsystems <jan.schmidt@sun.com>

	* tests/check/Makefile.am:
	* tests/check/gst/gstabi.c:
	* tests/check/gst/struct_sparc.h:
	* tests/check/libs/libsabi.c:
	* tests/check/libs/struct_sparc.h:
	Add Sparc ABI checks

	* tests/check/gst/gstvalue.c: (GST_START_TEST):
	Cast signed integer to unsigned to avoid a compiler warning.

2008-10-07  Sebastian Dröge  <sebastian.droege@collabora.co.uk>

	* libs/gst/base/gstbytereader.c: (gst_byte_reader_get_uint24_le),
	(gst_byte_reader_get_uint24_be), (gst_byte_reader_get_int24_le),
	(gst_byte_reader_get_int24_be), (gst_byte_reader_peek_uint24_le),
	(gst_byte_reader_peek_uint24_be), (gst_byte_reader_peek_int24_le),
	(gst_byte_reader_peek_int24_be):
	Use new GST_READ_UINT24_(LE|BE) macros.

2008-10-07  Sebastian Dröge  <sebastian.droege@collabora.co.uk>

	* docs/gst/gstreamer-sections.txt:
	* gst/gstutils.h:
	Always use the unaligned variants of GST_READ_UINT* and GST_WRITE_UINT*
	as it's too easy to break the ISO C strict aliasing rules with simple
	casts to the corresponding type and this would introduce hard to debug
	bugs. Fixes bug #545714.

	API: Add GST_READ_UINT24_(LE|BE) and GST_WRITE_UINT24_(LE|BE).

2008-10-07  Tim-Philipp Müller  <tim.muller at collabora co uk>

	* gst/gstbuffer.h: (GST_BUFFER_FREE_FUNC):
	* gst/gstghostpad.c: (gst_ghost_pad_construct):
	  Add 'Since' bits to gtk-doc chunks for new API.

2008-10-06  Thijs Vermeir  <thijsvermeir@gmail.com>

	* docs/gst/gstreamer-sections.txt:
	Fix documentation

2008-10-06  Andy Wingo  <wingo@pobox.com>

	* gst/gstbuffer.h (GST_BUFFER_FREE_FUNC): New API, a free function
	that will be called on the malloc_data to free it. Basically a way
	to avoid subclassing when all you need is a different free
	function, i.e. free() instead of g_free().

	* gst/gstbuffer.c (gst_buffer_finalize): Free malloc_data via
	calling the free function.
	(gst_buffer_init): Initialize the free function to g_free.

2008-10-06  Andy Wingo  <wingo@pobox.com>

	* gst/gstghostpad.h:
	* gst/gstghostpad.c (gst_ghost_pad_construct): New function,
	finishes the initialization of ghost pad. Useful for language
	bindings and subclassers of GstGhostPad. Fixes #539108.
	(gst_ghost_pad_new_full): Use the new constructor.

2008-10-06  Wim Taymans  <wim.taymans@collabora.co.uk>

	Base on Patch by: Olivier Crete <tester at tester dot ca>

	* gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
	(gst_bin_remove_func), (update_degree),
	(gst_bin_sort_iterator_new), (gst_bin_handle_message_func):
	Keep track of pads that are being linked/unlinked and resync the state
	changes.

	* gst/gstpad.c: (gst_pad_get_direction),
	(gst_pad_set_chain_function), (gst_pad_set_getrange_function),
	(gst_pad_set_checkgetrange_function), (gst_pad_unlink),
	(gst_pad_link_prepare), (gst_pad_link),
	(gst_pad_event_default_dispatch), (gst_pad_chain), (gst_pad_push),
	(gst_pad_check_pull_range), (gst_pad_get_range),
	(gst_pad_pull_range):
	Some code cleanups, use macros to check pad direction.
	Don't need to take the lock on the pad direction.
	Post structure change when pads are linked/unlinked.
	Change some checks into _return_if_fail().

	* tests/check/gst/gstbin.c:
	(test_link_structure_change_state_changed_sync_cb),
	(GST_START_TEST), (gst_bin_suite):
	Add testcase for pad link/unlinke resync during a state change.
	Fixes #510354.

2008-10-06  Wim Taymans  <wim.taymans@collabora.co.uk>

	* docs/gst/gstreamer-sections.txt:
	* gst/gstmessage.c: (gst_message_new_structure_change),
	(gst_message_parse_structure_change):
	* gst/gstmessage.h:
	Implement STRUCTURE_CHANGED messages. These messages will be used to
	signal the parent bin of link/unlink operations that could require a
	resync when doing a state change. See ##510354.
	API: gst_message_new_structure_change()
	API: gst_message_parse_structure_change()

2008-10-06  Wim Taymans  <wim.taymans@collabora.co.uk>

	* gst/gstquark.c:
	* gst/gstquark.h:
	Add some more quarks for new message. See #510354.

2008-10-06  Sebastian Dröge  <sebastian.droege@collabora.co.uk>

	* docs/libs/gstreamer-libs-docs.sgml:
	* docs/libs/gstreamer-libs-sections.txt:
	* libs/gst/base/Makefile.am:
	* libs/gst/base/gstbitreader.c: (gst_bit_reader_new),
	(gst_bit_reader_new_from_buffer), (gst_bit_reader_free),
	(gst_bit_reader_init), (gst_bit_reader_init_from_buffer),
	(gst_bit_reader_set_pos), (gst_bit_reader_get_pos),
	(gst_bit_reader_get_remaining), (gst_bit_reader_skip),
	(gst_bit_reader_skip_to_byte):
	* libs/gst/base/gstbitreader.h:
	* libs/gst/base/gstbytereader.c: (GDOUBLE_SWAP_LE_BE),
	(GFLOAT_SWAP_LE_BE), (gst_byte_reader_new),
	(gst_byte_reader_new_from_buffer), (gst_byte_reader_free),
	(gst_byte_reader_init), (gst_byte_reader_init_from_buffer),
	(gst_byte_reader_set_pos), (gst_byte_reader_get_pos),
	(gst_byte_reader_get_remaining), (gst_byte_reader_skip),
	(gst_byte_reader_get_uint8), (gst_byte_reader_get_int8),
	(gst_byte_reader_peek_uint8), (gst_byte_reader_peek_int8),
	(gst_byte_reader_get_uint24_le), (gst_byte_reader_get_uint24_be),
	(gst_byte_reader_get_int24_le), (gst_byte_reader_get_int24_be),
	(gst_byte_reader_peek_uint24_le), (gst_byte_reader_peek_uint24_be),
	(gst_byte_reader_peek_int24_le), (gst_byte_reader_peek_int24_be):
	* libs/gst/base/gstbytereader.h:
	* tests/check/Makefile.am:
	* tests/check/libs/bitreader.c: (GST_START_TEST),
	(gst_bit_reader_suite):
	* tests/check/libs/bytereader.c: (GST_START_TEST),
	(gst_byte_reader_suite):
	API: Add bit reader and byte reader classes, including documentation
	and an extensive unit test suite. Fixes bug #553554.

2008-10-06  Wim Taymans  <wim.taymans@collabora.co.uk>

	* libs/gst/base/gstbasesink.c: (gst_base_sink_get_position),
	(gst_base_sink_query):
	Improve position reporting while flushing and other intermediate state
	changes. Fixes #553874.

2008-10-06  Wim Taymans  <wim.taymans@collabora.co.uk>

	Patch by: Antoine Tremblay <hexa00 at gmail dot com>

	* gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
	Original patch by : Simon Descaries
	Fix small refount leak in caps compatibility check.
	Fixes #551676.

2008-10-06  Stefan Kost  <ensonic@users.sf.net>

	* docs/pwg/advanced-request.xml:
	  Fix 0.8 api usage in example. Fixes #554561

	* docs/pwg/appendix-porting.xml:
	  Change 0.9 to 0.10 here.

2008-10-06  Stefan Kost  <ensonic@users.sf.net>

	* docs/manual/basics-data.xml:
	  Change "event-event interaction" to "element-element interaction".
	  Fixes #552448. Also fix sample code for seeking and do more 0.8->0.10
	  updates.

2008-10-05  Jan Schmidt  <jan.schmidt@sun.com>

	* configure.ac:
	Back to development -> 0.10.21.1

=== release 0.10.21 ===

2008-10-02  Jan Schmidt <jan.schmidt@sun.com>

	* configure.ac:
	  releasing 0.10.21, "Take These Things From Me"

2008-09-28  Jan Schmidt  <jan.schmidt@sun.com>

	* configure.ac:
	0.10.20.4 pre-release

2008-09-28  Jan Schmidt  <jan.schmidt@sun.com>

	* libs/gst/base/gstbasetransform.c:
	* plugins/elements/gstcapsfilter.c:
	* tests/check/Makefile.am:
	* tests/check/elements/.cvsignore:
	* tests/check/elements/capsfilter.c:
	Fix assertion in basetransform when the subclass chooses not to
	allocate a buffer in prepare_buffer(), and make capsfilter error out
	cleanly if requested to apply caps that don't completely specify the
	buffer. Fixes #551509

2008-09-24  Wim Taymans  <wim.taymans@collabora.co.uk>

	* libs/gst/base/gstbasetransform.c:
	(gst_base_transform_prepare_output_buffer):
	Take new caps ref because our old one might have been gone when the
	subclass performs a gst_pad_set_caps() on the srcpad. See #548764.

2008-09-15  Stefan Kost  <ensonic@users.sf.net>

	* configure.ac:
	  Do not probe availability of check unit test library when cross
	  compiling, as test would not work anyway. Also cleanup verbose output
	  of the check test. Fixes #551952.

2008-09-14  Wim Taymans  <wim.taymans@collabora.co.uk>

	Based on patch by: Antoine Tremblay <hexa00 at gmail dot com>

	* gst/gstelement.c: (gst_element_sync_state_with_parent):
	Avoid leaking the parent ref when we fail changing the state of the
	element using gst_element_sync_state_with_parent(). Fixes #551978.

2008-09-11  Tim-Philipp Müller  <tim.muller at collabora co uk>

	* docs/manual/intro-motivation.xml::
	  Remove some bits that no longer apply, update others (#551642).

2008-09-10  Jan Schmidt  <jan.schmidt@sun.com>

	* configure.ac:
	0.10.20.2 pre-release

	* po/LINGUAS:
	* po/id.po:
	* po/pt_BR.po:

	New translations.

2008-09-09  Tim-Philipp Müller  <tim.muller at collabora co uk>

	* win32/common/config.h.in:
	  Add GST_DATADIR, hard-code cpu to x86.

	* win32/common/libgstreamer.def:
	  Spaces to tabs.

2008-09-03  Tim-Philipp Müller  <tim.muller at collabora co uk>

	* gst/gsttaglist.h:
	  Fix Since: markers for new geo tags.

2008-09-02  Stefan Kost  <ensonic@users.sf.net>

	* gst/gsttaglist.h:
	  Fix actual tag name define after renaming from altitude to elevation.

2008-09-01  Wim Taymans  <wim.taymans@collabora.co.uk>

	* gst/gstpad.c: (add_unref_pad_to_list),
	(gst_pad_get_internal_links_default):
	Add fallback when calling the deprecated function on an element that
	implements the new internal_link handler.

2008-09-01  Stefan Kost  <ensonic@users.sf.net>

	* docs/gst/gstreamer-sections.txt:
	* gst/gsttaglist.c:
	* gst/gsttaglist.h:
	  Add new tags for geo location and clarify purpose of existing location
	  tag. Fixes #481169

2008-09-01  Wim Taymans  <wim.taymans@collabora.co.uk>

	Patch by: Olivier Crete <tester at tester dot ca>

	* gst/gstpad.c: (gst_pad_iterate_internal_links_default),
	(gst_pad_event_default_dispatch), (gst_pad_dispatcher):
	Use thread-safe internal links iterator. Fixes #549504.

2008-09-01  Wim Taymans  <wim.taymans@collabora.co.uk>

	Based on patch by: Olivier Crete <tester at tester dot ca>

	* docs/gst/gstreamer-sections.txt:
	* win32/common/libgstreamer.def:
	* gst/gstpad.c: (gst_pad_init),
	(gst_pad_set_iterate_internal_links_function),
	(int_link_iter_data_free), (iterate_pad),
	(gst_pad_iterate_internal_links_default),
	(gst_pad_iterate_internal_links), (gst_pad_get_internal_links):
	* gst/gstpad.h:
	Add threadsafe replacement functions for getting internal links of an
	element. Deprecate the old internal links functions.
	API:GstPad::gst_pad_set_iterate_internal_links_function()
	API:GstPad::GstPadIterIntLinkFunction
	API:GstPad::gst_pad_iterate_internal_links()
	API:GstPad::gst_pad_iterate_internal_links_default()

	* gst/gstghostpad.c: (gst_proxy_pad_do_iterate_internal_links),
	(gst_proxy_pad_init):
	Implement threadsafe internal links.

	* tests/check/elements/tee.c: (GST_START_TEST), (tee_suite):
	Unit test for internal links on tee. See #549504.

2008-08-30  Edward Hervey  <edward.hervey@collabora.co.uk>

	* tests/check/Makefile.am:
	libs/transform1 test requires libs/test_transform.c

2008-08-30  Edward Hervey  <edward.hervey@collabora.co.uk>

	* gst/gstpad.c: (gst_pad_get_internal_links_default):
	Die evil deadlock, die !

2008-08-30  Edward Hervey  <edward.hervey@collabora.co.uk>

	* gst/gstutils.c: (gst_element_get_compatible_pad):
	* tests/check/gst/gstghostpad.c: (GST_START_TEST):
	* tests/check/gst/gstpad.c: (name_is_valid), (GST_START_TEST):
	Fix all leaks due to the bug in gst_pad_template_new() by which it does
	not steal the refcount of the given caps as stated.

	REVERT THIS COMMIT ONCE FIXED !
	REVERT THIS COMMIT ONCE FIXED !
	REVERT THIS COMMIT ONCE FIXED !
	REVERT THIS COMMIT ONCE FIXED !
	REVERT THIS COMMIT ONCE FIXED !
	REVERT THIS COMMIT ONCE FIXED !

2008-08-29  Wim Taymans  <wim.taymans@collabora.co.uk>

	* gst/gstiterator.c:
	* gst/gstiterator.h:
	After 3 years it's about time to revise the documentation of the
	iterator objects.

2008-08-29  Wim Taymans  <wim.taymans@collabora.co.uk>

	* gst/gstpad.c: (gst_pad_get_internal_links_default):
	Make the internal links function less thread-unsafe and add some
	comments, dunno why.

2008-08-29  Tim-Philipp Müller  <tim.muller at collabora co uk>

	* gst/gst_private.h:
	  Include gstinfo.h even if GST_DISABLE_GST_DEBUG is defined. Fixes
	  build with --disable-gst-debug.

2008-08-28  David Schleef  <ds@schleef.org>

	* gst/gstpadtemplate.c: Revert last change, since it breaks
	  a few plugins, ffmpeg, alaw, and mulaw.  Code is correct,
	  but shouldn't be enabled until we've released fixed versions
	  of -good and -ffmpeg.

2008-08-28  Stefan Kost  <ensonic@users.sf.net>

	* gst/gstobject.c:
	  Put the gst_object_get_name() back in.

2008-08-28  Stefan Kost  <ensonic@users.sf.net>

	* gst/gstpadtemplate.c:
	  The old behaviour was that gst_pad_template_new() takes ownership of
	  the caps. As we now call g_object_new() which calls g_object_set() and
	  which copies the caps, we have to unref them to not leak them. Fixes
	  make valgrid for me.

2008-08-28  Stefan Kost  <ensonic@users.sf.net>

	* gst/gsturi.c:
	  Don't segfault on input like "tel:+1-123-555-1234".

2008-08-27  Stefan Kost  <ensonic@users.sf.net>

	* gst/gstobject.c:
	  Due to popular request also include ObjectType in
	  gst_object_get_path_string(). Makes gst-launch -v bit more useful.

2008-08-26  David Schleef  <ds@schleef.org>

	* gst/gstutils.c: Remove check in gst_pad_query_convert() that
	  src_val must be positive, because that's not a requirement.
	  This causes problems with converting negative granulepos
	  values for Dirac.
	* gst/gstquery.c: Same, gst_query_new_convert().

2008-08-25  Wim Taymans  <wim.taymans@collabora.co.uk>

	* gst/gstclock.c: (gst_clock_add_observation):
	Add some more debugging to the clock slaving code.

	* win32/common/libgstbase.def:
	Add new basetransform method.

2008-08-25  Wim Taymans  <wim.taymans@collabora.co.uk>

	* gst/gstbin.c: (gst_bin_element_set_state):
	Take the (recursive) state lock between getting the locked state of an
	element and changing the element state. This allows the application to
	lock an element's state and then change its state without races.

2008-08-25  Wim Taymans  <wim.taymans@collabora.co.uk>

	* gst/gstbin.c: (gst_bin_element_set_state):
	When an element is in the locked state we still want to update the
	base_time of the element.

2008-08-21  Wim Taymans  <wim.taymans@collabora.co.uk>

	* libs/gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
	Use the result from gst_pad_set_caps() instead of assuming the element
	always accepted the caps computed by the default negotiate function.

2008-08-20  Wim Taymans  <wim.taymans@collabora.co.uk>

	* docs/libs/gstreamer-libs-sections.txt:
	* libs/gst/base/gstbasetransform.c:
	(gst_base_transform_handle_buffer), (gst_base_transform_getrange),
	(gst_base_transform_chain), (gst_base_transform_suggest),
	(gst_base_transform_reconfigure):
	* libs/gst/base/gstbasetransform.h:
	Implement method for reconfiguring basetransform.
	API: GstBaseTransform::gst_base_transform_reconfigure()

2008-08-20  Stefan Kost  <ensonic@users.sf.net>

	patch by: Murray Cumming <murrayc@murrayc.com>

	* gst/gstutils.c:
	  Mention that this is just like gst_buffer_merge() but with extra
	  unreffing for C coders. Advise language bindings not to wrap it.
	  Fixes Bug #533856.
	  
	  Also fix file comment.

2008-08-20  Stefan Kost  <ensonic@users.sf.net>

	reviewed by: Wim Taymans <wim.taymans@collabora.co.uk>

	* plugins/elements/gstfakesink.c:
	* plugins/elements/gstfakesrc.c:
	  Call super::event() when not handling it. Fixes #544855.

2008-08-19  Michael Smith <msmith@songbirdnest.com>

	Patch by: Alessandro Decina <alessandro@nnva.org>
	* plugins/elements/gstfilesrc.c:
	  Use 64 bit variants of stat functions on win32, to enable support
	  of large files there.
	  Fixes #547277.

2008-08-19  Wim Taymans  <wim.taymans@collabora.co.uk>

	* libs/gst/base/gstbasesink.c: (gst_base_sink_render_object),
	(gst_base_sink_event), (gst_base_sink_chain_unlocked),
	(gst_base_sink_negotiate_pull), (gst_base_sink_pad_activate_pull),
	(gst_base_sink_get_position), (gst_base_sink_change_state):
	Improve position reporting in the flushing state.
	Also report the position when we are not yet prerolled but we
	have a newsegment event. Fixes #543444.
	Improve the pull-based negotiation code.

	* tests/check/elements/fakesink.c: (GST_START_TEST),
	(fakesink_suite):
	Add testcase for position reporting while flushing in PAUSED and
	PLAYING.

	* tests/check/generic/sinks.c: (GST_START_TEST):
	Update unit-test, we can now query the position as soon as we receive a
	NEWSEGMENT event.

2008-08-19  Wim Taymans  <wim.taymans@collabora.co.uk>

	Based on patch by: Jason Zhao <e3423c at motorola dot com>

	* libs/gst/base/gstbasesink.c: (gst_base_sink_render_object):
	When the subclass event handler releases the PREROLL_LOCK, we could be
	in the flushing state and we have to ignore the event. Fixes #548394.

2008-08-18  Tim-Philipp Müller  <tim.muller at collabora co uk>

	* tools/gst-launch.1.in:
	  Document GST_REGISTRY_UPDATE environment variable.

2008-08-18  Wim Taymans  <wim.taymans@collabora.co.uk>

	* libs/gst/base/gstbasetransform.c:
	(gst_base_transform_prepare_output_buffer):
	If the element is configured in passthrough mode but the
	prepare_output_buffer gave us a new output buffer, discard that buffer
	and reuse the input buffer.

2008-08-15  Wim Taymans  <wim.taymans@collabora.co.uk>

	Patch by: Ole André Vadla Ravnås  <ole.andre.ravnas at tandberg com>

	* plugins/elements/gsttee.c: (gst_tee_finalize), (gst_tee_init),
	(gst_tee_request_new_pad), (gst_tee_release_pad),
	(gst_tee_find_buffer_alloc), (gst_tee_buffer_alloc):
	* plugins/elements/gsttee.h:
	Protect pad_alloc with a new lock so that we can be sure that nothing is
	performing a pad_alloc when removing the pad. Fixes #547835.

	* tests/check/elements/tee.c: (buffer_alloc_harness_setup),
	(buffer_alloc_harness_teardown), (app_thread_func),
	(final_sinkpad_bufferalloc), (GST_START_TEST), (tee_suite):
	Added testcase for shutdown race.

2008-08-14  Thijs Vermeir  <thijsvermeir@gmail.com>

	* gst/gstpad.h:
	Add doc

2008-08-14  Wim Taymans  <wim.taymans@collabora.co.uk>

	* libs/gst/base/gstbasetransform.c:
	(gst_base_transform_prepare_output_buffer),
	(gst_base_transform_buffer_alloc):
	Go over the buffer_alloc function again and make sure we always end up
	allocating a buffer.
	Add some more docs.
	Avoid doing pad alloc when we have a pending suggestion because we
	cannot yet deal with changing caps in that case. Fixes #547728

2008-08-14  Stefan Kost  <ensonic@users.sf.net>

	patch by: Luc Pionchon <luc.pionchon@nokia.com>

	* docs/manual/advanced-clocks.xml:
	* docs/manual/clocks.png:
	* docs/manual/diagrams-clocks.svg:
	  Add one more image showing different times together with a describing
	  paragraph. Fixes #547729.

2008-08-14  Wim Taymans  <wim.taymans@collabora.co.uk>

	* win32/common/libgstbase.def:
	Add new method.

2008-08-14  Wim Taymans  <wim.taymans@collabora.co.uk>

	* libs/gst/base/gstbasetransform.c:
	(gst_base_transform_transform_caps),
	(gst_base_transform_prepare_output_buffer),
	(gst_base_transform_buffer_alloc), (gst_base_transform_suggest):
	Don't overwrite the outsize when calculating the expected size of a new
	buffer because we still need it in case we cannot process the new
	buffer.
	When converting the size of the new buffer to an upstream size, actually
	use the expected size of the buffer, not some other random value.
	Use an atomic int to signal that a new upstream caps suggestion is
	available.
	When we can convert the current buffer to a new format, check if the
	buffer size is of the expected size and allocate a new buffer of the
	expected size when this is not the case. Fixes #546883.

	* tests/check/libs/transform1.c: (GST_START_TEST):
	remove ifdeffed code from the unit test.

2008-08-12  Stefan Kost  <ensonic@users.sf.net>

	* pkgconfig/gstreamer-uninstalled.pc.in:
	* pkgconfig/gstreamer.pc.in:
	  Remove -lgstcontrol-0.10 which never worked anyway as the lib is
	  called gstcontroller-0.10.

2008-08-12  Stefan Kost  <ensonic@users.sf.net>

	* gst/gstchildproxy.h:
	* gst/gstpreset.h:
	  Remove double interface from doc-string.	  

2008-08-12  Stefan Kost  <ensonic@users.sf.net>

	* libs/gst/base/gstbasesrc.c:
	* libs/gst/base/gstbasetransform.c:
	  Fix headings in docs and gtk-doc warnings.

2008-08-11  Michael Smith <msmith@songbirdnest.com>

	* gst/gstregistrybinary.c:
	  Don't use g_mkstmp() on win32, it's unsafe if glib is using a different
	  libc.
	  Fixes #544776.

2008-08-11  Edward Hervey  <edward.hervey@collabora.co.uk>

	* libs/gst/base/gstbasetransform.c:
	(gst_base_transform_buffer_alloc):
	Fix a "may be used unitialized" warning.

2008-08-11  Stefan Kost  <ensonic@users.sf.net>

	* docs/gst/gstreamer-sections.txt:
	* gst/gstpreset.h:
	  Document preset-iface vmethods.

2008-08-11  Stefan Kost  <ensonic@users.sf.net>

	* docs/manual/advanced-interfaces.xml:
	  Turn thoughts about HAL into a note-tag. Remove mentioning that is
	  only used to discover devices.

2008-08-07  Tim-Philipp Müller  <tim.muller at collabora co uk>

	Patch by: Frederic Crozat <fcrozat@mandriva.org>

	* gst/gst.c: (init_pre):
	Make sure gettext returns translations in UTF-8 encoding rather
	than in the current locale encoding (#546822).

2008-08-07  Wim Taymans  <wim.taymans@collabora.co.uk>

	* gst/gstcaps.c: (gst_caps_structure_is_subset_field):
	Fix subset test.

	* tests/check/gst/gstcaps.c: (GST_START_TEST):
	Improve unit test subset tests and add a testcase for the subset failure
	cases.

	* tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
	Improve subtraction unit test.

2008-08-07  Stefan Kost  <ensonic@users.sf.net>

	* plugins/elements/gsttee.c:
	  Unlock, instead of locking again.

2008-08-05  Wim Taymans  <wim.taymans@collabora.co.uk>

	* gst/gstpad.h:
	Clarify the docs a bit more.

2008-08-05  Stefan Kost  <ensonic@users.sf.net>

	* tests/examples/metadata/read-metadata.c:
	  Don't leak old taglist.

2008-08-05  Wim Taymans  <wim.taymans@collabora.co.uk>

	Patch by: Olivier Crete <tester at tester dot ca>

	* gst/gststructure.c:
	(gst_structure_fixate_field_nearest_fraction):
	Avoid overflows in fixation code when dealing with MAXINT values, which
	v4l2src seems to do.
	Fixes #546328.

	* tests/check/gst/gststructure.c: (GST_START_TEST):
	Make a unit test to check the fix. 

2008-08-05  Wim Taymans  <wim.taymans@collabora.co.uk>

	* plugins/elements/gstcapsfilter.c: (copy_func),
	(gst_capsfilter_set_property):
	Use new caps suggestion feature of basetransform to request a caps
	negotiation upstream.

2008-08-05  Wim Taymans  <wim.taymans@collabora.co.uk>

	* docs/libs/gstreamer-libs-sections.txt:
	Add new function:
	API: GstBaseTransform::gst_base_transform_suggest()

	* libs/gst/base/gstbasetransform.c: (gst_base_transform_finalize),
	(gst_base_transform_init), (gst_base_transform_transform_caps),
	(gst_base_transform_transform_size),
	(gst_base_transform_configure_caps),
	(gst_base_transform_can_transform),
	(gst_base_transform_find_transform), (gst_base_transform_setcaps),
	(gst_base_transform_prepare_output_buffer),
	(gst_base_transform_buffer_alloc),
	(gst_base_transform_handle_buffer), (gst_base_transform_getrange),
	(gst_base_transform_chain), (gst_base_transform_activate),
	(gst_base_transform_set_passthrough),
	(gst_base_transform_is_passthrough),
	(gst_base_transform_set_in_place),
	(gst_base_transform_is_in_place), (gst_base_transform_update_qos),
	(gst_base_transform_set_qos_enabled),
	(gst_base_transform_is_qos_enabled),
	(gst_base_transform_set_gap_aware), (gst_base_transform_suggest),
	(gst_base_transform_reconfigure):
	* libs/gst/base/gstbasetransform.h:
	Rewrite of basetransform to perform negotiation outside of the
	buffer_alloc functions.  Fixes #545853.

	* tests/check/libs/transform1.c: (GST_START_TEST),
	(buffer_alloc_ct2):
	Update unit test.

2008-08-05  Stefan Kost  <ensonic@users.sf.net>

	* tests/check/gst/gstpreset.c:
	  Only run preset tests when $HOME is writable. Preliminary fix for
	  #545433.

2008-08-04  Wim Taymans  <wim.taymans@collabora.co.uk>

	* gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
	(gst_bin_change_state_func), (bin_handle_async_done),
	(gst_bin_handle_message_func):
	Fix race for bins that simulate ASYNC state changes by inserting
	ASYNC_START and ASYNC_DONE messages in their bus. We need to check for
	pending ASYNC messages even when the bin does not have ASYNC children.
	We note detect this behaviour because we will receive an ASYNC message
	that is originating from the bin itself. 
	Fixes races with decodebin2 state changes.

	* tests/check/gst/gstbin.c: (GST_START_TEST):
	Add some more debug.

2008-08-04  Tim-Philipp Müller  <tim.muller at collabora co uk>

	* gst/gsttaglist.c: (_gst_tag_initialize):
	  Fix typo.

2008-08-04  Stefan Kost  <ensonic@users.sf.net>

	* gst/gsttaglist.c:
	  Argh. actually save the text before committing. Now adds
	  gst_tag_merge_strings_with_comma() to gst_tag_register().

2008-08-04  Stefan Kost  <ensonic@users.sf.net>

	* gst/gsttaglist.c:
	* gst/gsttaglist.h:
	  Do as tim pointed out and actually register the new tag. Also improve
	  te docs and use gst_tag_merge_strings_with_comma() method to allow
	  retriving all keywords merged in one list.

2008-08-01  Stefan Kost  <ensonic@users.sf.net>

	* configure.ac:
	* docs/gst/gstreamer.types:
	  Revert 'accidential' change of the configure option removal. We still
	  need to generate the types file in configure --disable-load-save.

2008-08-01  Stefan Kost  <ensonic@users.sf.net>

	* docs/gst/gstreamer-sections.txt:
	* gst/gsttaglist.h:
	  Add new taglist item GST_TAG_KEYWORDS, needed for #520694 .

2008-08-01  Tim-Philipp Müller  <tim.muller at collabora co uk>

	* gst/gstpadtemplate.c:
	  (gst_pad_template_class_init), (gst_static_pad_template_get),
	  (gst_pad_template_new), (gst_pad_template_pad_created),
	  (gst_pad_template_set_property), (gst_pad_template_get_property):
	  Add "name-template", "direction", "presence" and "caps" properties,
	  so that gst_pad_template_new() is just a thin wrapper around
	  g_object_new(), which is better for bindings. (Fixes: #539772)

2008-07-31  Michael Smith <msmith@songbirdnest.com>

	* gst/gsturi.c:
	  Be more liberal in what URIs we accept.
	  Do not unescape bits of the URI for no apparent reason before passing to
	  the element. Fixes #545352.

2008-07-31  Sebastian Dröge  <sebastian.droege@collabora.co.uk>

	Patch by: Robert Schwebel <r.schwebel@pengutronix.de>

	* gst/gst.c:
	Include gstconfig.h as macros from it are used. Fixes bug #545607.

2008-07-31  Sebastian Dröge  <sebastian.droege@collabora.co.uk>

	* configure.ac:
	* docs/gst/gstreamer-sections.txt:
	* docs/gst/gstreamer.types:
	* docs/gst/gstreamer.types.in:
	* gst/Makefile.am:
	* gst/gst.c:
	* gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func):
	* gst/gstconfig.h.in:
	* gst/gstelement.c: (gst_element_get_index):
	* gst/gstregistrybinary.c: (gst_registry_binary_save_feature),
	(gst_registry_binary_load_feature),
	(gst_registry_binary_read_cache):
	* gst/gstregistryxml.c: (load_feature),
	(gst_registry_xml_read_cache), (gst_registry_xml_save_feature):
	* plugins/Makefile.am:
	* tools/gst-indent:
	* tools/gst-inspect.c: (print_index_info), (print_element_list),
	(print_plugin_features), (print_element_features):
	* tools/gst-xmlinspect.c: (print_event_masks),
	(print_element_info):
	* win32/common/gstconfig.h:
	Remove GST_DISABLE_(ENUMTYPES|INDEX|URI) everywhere.

	Disabling the indexers and URI handler code will only reduce the
	required amount of memory by a very small amount but on the other hand
	requires much more maintaince work. Apart from that many places of
	code are broken when disabling them.

	Disabling the enum types doesn't reduce the required amount of memory
	by more than a few bytes and makes it hard to fix bugs like #539772,
	i.e. use the enums as GObject properties.

2008-07-31  Wim Taymans  <wim.taymans@collabora.co.uk>

	* docs/design/part-TODO.txt:
	Add some thoughts and problems with upstream renegotiation.

2008-07-31  Wim Taymans  <wim.taymans@collabora.co.uk>

	* gst/gstpad.c: (gst_pad_acceptcaps_default),
	(gst_pad_configure_src), (gst_pad_alloc_buffer_full):
	Remove silly redundant debug.
	Add some more debug info.
	Clarify the docs regarding new caps received from pad_alloc.

2008-07-31  Wim Taymans  <wim.taymans@collabora.co.uk>

	* plugins/elements/gstcapsfilter.c: (gst_capsfilter_set_property),
	(gst_capsfilter_get_property), (gst_capsfilter_transform_caps):
	Make setting the caps more threadsafe.

2008-07-31  Wim Taymans  <wim.taymans@collabora.co.uk>

	* docs/design/part-element-transform.txt:
	Update docs.

2008-07-31  Wim Taymans  <wim.taymans@collabora.co.uk>

	* plugins/elements/gstqueue.c: (gst_queue_init),
	(gst_queue_acceptcaps):
	Add and use a custom acceptcaps function instead of falling back to the
	potentially less optimized default implementation.

2008-07-29  Tim-Philipp Müller  <tim.muller at collabora co uk>

	* gst/gstpad.c: (gst_pad_alloc_buffer_full):
	  Only sanity-check the buffer size if requested_caps == buffer_caps
	  (ie. don't take pad caps into account, they're not relevant here)

2008-07-29  Stefan Kost  <ensonic@users.sf.net>

	* plugins/elements/gsttee.c:
	* plugins/elements/gsttee.h:
	  Reverting as not everything is clear yet. Needs some general design
	  work.

2008-07-29  Stefan Kost  <ensonic@users.sf.net>

	* ChangeLog:
	  ChangeLog surgery for tee commit.

2008-07-29  Stefan Kost  <ensonic@users.sf.net>

	* docs/gst/gstreamer-sections.txt:
	  Cleanup section-file.

2008-07-29  Stefan Kost  <ensonic@users.sf.net>

	* plugins/elements/gsttee.c:
	* plugins/elements/gsttee.h:
	  Relay tag events in tee. Fixes parts of #474016.
	  Downgrades 3 reoccurring debugs to log.

2008-07-28  Michael Smith <msmith@songbirdnest.com>

	* configure.ac:
	* libs/gst/Makefile.am:
	  Build the net library if we have winsock2.

2008-07-26  Stefan Kost  <ensonic@users.sf.net>

	patch by: Luc Pionchon <luc.pionchon@nokia.com>

	* docs/manual/advanced-threads.xml:
	* docs/manual/diagrams-pipelines.svg:
	* docs/manual/hello-world.png:
	* docs/manual/linked-elements.png:
	* docs/manual/mime-world.png:
	* docs/manual/queue.png:
	* docs/manual/thread-buffering.png:
	* docs/manual/thread-synchronizing.png:
	  Replace one diagram with two separate ones and updates others.
	  Fixes #542401.

2008-07-25  Thijs Vermeir  <thijsvermeir@gmail.com>

	* gst/gstelement.h:
	Fix link in documentation.

2008-07-24  Thijs Vermeir  <thijsvermeir@gmail.com>

	* gst/gstmessage.c:
	Fix confusing documentation.

2008-07-24  Thijs Vermeir  <thijsvermeir@gmail.com>

	* libs/gst/base/gstbasesrc.h:
	revert the changes to the header file for the ABI.

2008-07-24  Thijs Vermeir  <thijsvermeir@gmail.com>

	* libs/gst/base/gstbasesrc.c:
	* libs/gst/base/gstbasesrc.h:
	Don't cache the seekable status.
	Fixes bug #544174

2008-07-24  Rene Stadler  <mail@renestadler.de>

	* docs/manual/advanced-autoplugging.xml: Add fakesink to example
	code to close the pipeline graph.  This prevents the program from
	printing internal data flow errors.

2008-07-23  Sebastian Dröge  <sebastian.droege@collabora.co.uk>

	* docs/manual/basics-bus.xml:
	Correct typo. Fixes bug #544320.

2008-07-22  Michael Smith <msmith@songbirdnest.com>

	* configure.ac:
	  Remove AC_ISC_POSIX macro; it's broken on some platforms and not needed.
	  Add check (taken from -base) for winsock, adds WIN32_LIBS
	* gst/Makefile.am:
	  Add WIN32_LIBS to LIBADD for libgstreamer. Needed now that gstpoll uses
	  winsock.
	  Define GST_EXPORTS when building libgstreamer (only used on win32)
	* gst/gst_private.h:
	* gst/gstinfo.h:
	  Use GST_EXPORT instead of locally-defined (and incorrect IMPORT_SYMBOL)
	  for symbols that we need to export in both these files.
	* gst/gstpoll.c:
	  Include gst_private.h higher up to avoid some compile problems on win32.

2008-07-22  Sebastian Dröge  <sebastian.droege@collabora.co.uk>

	* gst/gstvalue.c:
	Fix typos.

2008-07-22  Thijs Vermeir  <thijsvermeir@gmail.com>

	* gst/gstcaps.c:
	Previous commit was wrong NULL caps does not exist
	and indicate an error, so also add a FIXME to
	gst_caps_is_equal where NULL caps are accepted.

2008-07-22  Thijs Vermeir  <thijsvermeir@gmail.com>

	* gst/gstcaps.c:
	Allow passing of NULL to gst_caps_union

2008-07-21  Thijs Vermeir  <thijsvermeir@gmail.com>

	* gst/gstghostpad.c:
	Add in doc that gst_ghost_pad_set_target can accept
	NULL to clear target

2008-07-15  Michael Smith <msmith@songbirdnest.com>

	* gst/gstplugin.c:
	* gst/gstregistry.c:
	  GstRegistryPool doesn't exist; don't refer to it in docs.
	  Don't refer to functions that don't exist in docs, it's
	  unhelpful.

2008-07-12  Sebastian Dröge  <sebastian.droege@collabora.co.uk>

	* gst/gst.c:
	Fix scanning of paths given via --gst-plugin-path. Fixes bug #542175.

2008-07-12  Sebastian Dröge  <sebastian.droege@collabora.co.uk>

	Patch by: Tristan Matthews <le dot businessman at gmail dot com>

	* docs/pwg/building-testapp.xml:
	Don't use an undeclared variable in the example program.
	Fixes bug #542573.

2008-07-12  Stefan Kost  <ensonic@users.sf.net>

	* gst/gstdebugutils.c:
	  Squeeze ghost-pad links and remove <> from classname labels to save
	  more horizontal space.

2008-07-11  Stefan Kost  <ensonic@users.sf.net>

	* gst/gstdebugutils.c:
	  Give request and sometimes pads a different shpe style. Condense the
	  graphs a little more.

2008-07-09  Michael Smith <msmith@songbirdnest.com>

	* configure.ac:
	  Don't require flex and bison if the parser is disabled.

2008-07-08  Sebastian Dröge  <sebastian.droege@collabora.co.uk>

	* libs/gst/controller/gstinterpolationcontrolsource.c:
	(_list_find_sorted_custom):
	Don't use declarations after statements.

2008-07-08  Sebastian Dröge  <sebastian.droege@collabora.co.uk>

	* gst/gstchildproxy.c: (gst_child_proxy_base_init):
	Add FIXMEs for 0.11 to use GST_TYPE_OBJECT in the signature
	of the the child-added / -removed signals as GstChildProxy
	only supports GstObjects.

2008-07-07  Thijs Vermeir  <thijsvermeir@gmail.com>

	* gst/gstdebugutils.c:
	Fix memleak

2008-07-06  Sebastian Dröge  <sebastian.droege@collabora.co.uk>

	Patch by: Alessandro Decina <alessandro at nnva dot org>

	* gst/gstpoll.c:
	Fix "ignored return value" compiler warning with newer glibc.

2008-07-05  Sebastian Dröge  <sebastian.droege@collabora.co.uk>

	* gst/gstchildproxy.c:
	Fix copy&paste error in gst_child_proxy_removed() documentation.

2008-07-02  Tim-Philipp Müller  <tim.muller at collabora co uk>

	* gst/gstplugin.c: (CHECK_PLUGIN_DESC_FIELD), (gst_plugin_load_file):
	  Print error debug message if plugin description fields that should
	  be set are NULL.

	* gst/gstregistrybinary.c: (gst_registry_binary_save_const_string):
	  Don't crash if the string to serialise is NULL (it really should
	  not be, but apparently this used to work with the xml registry ...).

2008-07-02  Thijs Vermeir  <thijsvermeir@gmail.com>

	* tools/gst-plot-timeline.py:
	Fix parsing of log messages

2008-07-01  Tim-Philipp Müller  <tim.muller at collabora co uk>

	* win32/common/libgstbase.def::
	  Sort alphabetically so make check-exports doesn't barf.

2008-07-01  Stefan Kost  <ensonic@users.sf.net>

	* gst/gstevent.c:
	  Use gst_format_get_name() to improve debug output.

	* gst/gstpreset.c:
	  Remove #ifdef'ed code. Add TODO comment.

	* gst/gstsegment.c:
	  Add debug output to ease spotting format != segment.format assertions.

2008-06-30  Sebastian Dröge  <sebastian.droege@collabora.co.uk>

	* tests/check/libs/gdp.c: (gst_dp_suite):
	Also enable the GDP unit test again on PPC now that the bug
	is fixed.

2008-06-30  Sebastian Dröge  <sebastian.droege@collabora.co.uk>

	* libs/gst/dataprotocol/dataprotocol.c:
	Don't write to the same region of memory as a uint64 and uint16
	as this breaks strict aliasing rules and apparantly breaks on PPC
	and s390. Thanks to Sjoerd Simons for analysing. Fixes bug #348114.

2008-06-29  Stefan Kost  <ensonic@users.sf.net>

	* libs/gst/controller/gstinterpolationcontrolsource.c:
	  Optimize list handling. Use own find function. Exploit that fact that
	  the list is sorted. Also pass back the node before, so that we can
	  insert quickly. Have a fast path for append.

2008-06-29  Stefan Kost  <ensonic@users.sf.net>

	* docs/design/draft-framestep.txt:
	* docs/design/part-negotiation.txt:
	  Fix two typos.

2008-06-27  Stefan Kost  <ensonic@users.sf.net>

	* configure.ac:
	  Show configuration sumary after configure run. Based on patch by
	  Luc Pionchon <luc.pionchon@nokia.com>. Fixes: #540134

2008-06-27  Stefan Kost  <ensonic@users.sf.net>

	patch by: Luc Pionchon  <luc.pionchon@nokia.com>

	* docs/manual/advanced-autoplugging.xml:
	* docs/manual/advanced-threads.xml:
	* docs/manual/basics-bins.xml:
	* docs/manual/basics-elements.xml:
	* docs/manual/basics-helloworld.xml:
	* docs/manual/basics-pads.xml:
	  Add scale factor for pdf output.

	* docs/manual/intro-basics.xml:
	  Switched sections "pads" and "bins" and added a pipeline diagram.

	* docs/manual/intro-gstreamer.xml:
	  Added more info on gstreamer.

	* docs/manual/intro-motivation.xml:
	  Commented out the whole section "current problem", which sounds
	  historical and somehow osolete; it could be turned in a positive
	  way and reused to improve the design principles.

	* docs/manual/intro-preface.xml:
	  - Update URLs to library.gnome.org. 
	  - Do not mention GTK+ in preliminary reading (irrelevant). 
	  - Mention Plugin Writer's Manual and further reading only in the
	    previous section.
	  - Added a list of most relevant GObject/glib topics.

	* docs/manual/Makefile.am:
	* docs/manual/bin-element-ghost.fig:
	* docs/manual/bin-element-ghost.png:
	* docs/manual/bin-element-noghost.fig:
	* docs/manual/bin-element-noghost.png:
	* docs/manual/bin-element.fig:
	* docs/manual/bin-element.png:
	* docs/manual/filter-element-multi.fig:
	* docs/manual/filter-element-multi.png:
	* docs/manual/filter-element.fig:
	* docs/manual/filter-element.png:
	* docs/manual/gstreamer-overview.png:
	* docs/manual/hello-world.fig:
	* docs/manual/hello-world.png:
	* docs/manual/linked-elements.fig:
	* docs/manual/linked-elements.png:
	* docs/manual/mime-world.fig:
	* docs/manual/mime-world.png:
	* docs/manual/queue.fig:
	* docs/manual/queue.png:
	* docs/manual/simple-player.png:
	* docs/manual/sink-element.fig:
	* docs/manual/sink-element.png:
	* docs/manual/src-element.fig:
	* docs/manual/src-element.png:
	* docs/manual/diagrams-general.svg:
	* docs/manual/diagrams-pipelines.svg:
	  Removed .fig, added .png counterpart.
	  
	  Fixes: #539137

2008-06-26  Thijs Vermeir  <thijsvermeir@gmail.com>

	* plugins/elements/gstmultiqueue.c:
	* plugins/elements/gstmultiqueue.h:
	revert extra-size-buffers stuff, caused some race conditions
	and extra-size-buffers is not used anymore. Docs needs some updates

2008-06-26  Tim-Philipp Müller  <tim.muller at collabora co uk>

	* win32/common/config.h:
	* win32/common/gstenumtypes.c:
	* win32/common/gstenumtypes.h:
	* win32/common/gstversion.h:
	  Update win32 files.

2008-06-26  Tim-Philipp Müller  <tim.muller at collabora co uk>

	* gst/gstdebugutils.h: (GstDebugGraphDetails),
	  (GST_DEBUG_BIN_TO_DOT_FILE):
	  Add missing Since' markers to gtk-doc blurbs.

2008-06-26  Wim Taymans  <wim.taymans@collabora.co.uk>

	* tests/check/libs/transform1.c: (buffer_alloc_pt1),
	(set_caps_pt1), (GST_START_TEST), (set_caps_pt2), (transform_ip_1),
	(set_caps_1), (set_caps_ct1), (transform_ct1),
	(transform_caps_ct1), (transform_size_ct1), (buffer_alloc_ct1),
	(set_caps_ct2), (transform_ct2), (transform_caps_ct2),
	(transform_size_ct2), (buffer_alloc_ct2):
	Add some more tests with switching caps in buffer_alloc.

2008-06-25  Wim Taymans  <wim.taymans@collabora.co.uk>

	* tests/check/libs/test_transform.c: (gst_test_trans_base_init),
	(gst_test_trans_class_init), (result_sink_chain),
	(result_buffer_alloc), (gst_test_trans_new), (gst_test_trans_free),
	(gst_test_trans_push), (gst_test_trans_pop):
	* tests/check/libs/transform1.c: (buffer_alloc_pt1),
	(set_caps_pt1), (GST_START_TEST), (set_caps_pt2), (transform_ip_1),
	(set_caps_1), (set_caps_ct1), (transform_ct1),
	(transform_caps_ct1), (transform_size_ct1), (buffer_alloc_ct1),
	(set_caps_ct2), (transform_ct2), (transform_caps_ct2),
	(transform_size_ct2), (buffer_alloc_ct2),
	(gst_basetransform_suite):
	More tests, prepare for tests with switching caps in buffer_alloc.

2008-06-25  Thijs Vermeir  <thijsvermeir@gmail.com>

	* plugins/elements/gstmultiqueue.c:
	* plugins/elements/gstmultiqueue.h:
	Fix dead-lock in underrun_cb

2008-06-25  Wim Taymans  <wim.taymans@collabora.co.uk>

	* docs/design/part-states.txt:
	Fix device open/close docs.

2008-06-25  Stefan Kost  <ensonic@users.sf.net>

	* ChangeLog:
	  Mention bugnumber for last commit.

2008-06-25  Stefan Kost  <ensonic@users.sf.net>

	patch by: Luc Pionchon  <luc.pionchon@nokia.com>

	* docs/manual/manual.xml:
	- Reorganised the previous "introduction" bundle into Foreword,
	Introduction, and About GStreamer. The two first are <preface>
	docbook elements. The later is the first part of the book.
	- added intro-gstreamer.xml (content partially from
	intro-preface.xml)
	- moved appendix-win32.xml into appendix-integration.xml

	* docs/manual/intro-preface.xml: gstreamer section moved...
	* docs/manual/intro-gstreamer.xml: ...here. new file.

	* docs/manual/appendix-win32.xml: removed file. Content moved...
	* docs/manual/appendix-integration.xml: ...here.
	
	* docs/manual/highlevel-components.xml: section about GstEditor moved...
	* docs/manual/appendix-checklist.xml: ...here.
	
	Fixes: 538764

2008-06-25  Stefan Kost  <ensonic@users.sf.net>

	patch by: Luc Pionchon  <luc.pionchon@nokia.com>

	* docs/manual/basics-helloworld.xml:
	* docs/manual/hello-world.fig:
	  - Explicitely include glib.h.
	  - Do not use global variables.
	  - Use g_printerr() instead of g_print().
	  - Minor formating/renaming to increase readibility.
	  - Renamed new_pad() to on_pad_added()
	  - Improved explenatory comments.
	  - renamed ogg parser to ogg demuxer
	  - Use "autoaudiosink" instead of "alsasink".
	  Fixes: #538619

2008-06-25  Stefan Kost  <ensonic@users.sf.net>

	* ChangeLog:
	  Remove cvs conflict marker.

2008-06-25  Stefan Kost  <ensonic@users.sf.net>

	* docs/README:
	  Document that for plgin-docs we extraxt he short-desc from the element
	  details.

	* docs/design/part-states.txt:
	  Tell that devices should be closed in PAUSED -> READY.

	* docs/manual/README:
	  Document how tests in the manual are handled.

	* docs/manuals.mak:
	  Typo in comment.

2008-06-25  Wim Taymans  <wim.taymans@collabora.co.uk>

	* gst/gstbin.c: (bin_query_latency_fold):
	Only care about latency min and max when the sink is actually a live
	sink.

2008-06-25  Wim Taymans  <wim.taymans@collabora.co.uk>

	* docs/design/part-block.txt:
	Fix typo.

	* docs/design/part-element-transform.txt:
	Add notes about why transform needs to know input/output sizes.
	Add some issues that need to be solved.
	Add some more use cases.

	* tests/check/libs/test_transform.c: (gst_test_trans_base_init),
	(gst_test_trans_class_init), (result_sink_chain),
	(result_buffer_alloc), (gst_test_trans_new), (gst_test_trans_free),
	(gst_test_trans_push), (gst_test_trans_pop):
	* tests/check/libs/transform1.c: (buffer_alloc_pt1),
	(set_caps_pt1), (GST_START_TEST), (set_caps_pt2), (transform_ip_1),
	(set_caps_1), (set_caps_ct1), (transform_ct1),
	(transform_caps_ct1), (transform_size_ct1), (buffer_alloc_ct1),
	(gst_basetransform_suite):
	Add suport for different pad templates and buffer-alloc.
	Add more checks for caps and buffer-alloc.
	Add checks for proxy buffer alloc.
	Add unit test for copy transform.

2008-06-24  Tim-Philipp Müller  <tim.muller at collabora co uk>

	Patch by: Luc Pionchon  <luc.pionchon@nokia.com>

	* docs/manual/appendix-integration.xml:
	* docs/manual/appendix-licensing.xml:
	* docs/manual/basics-elements.xml:
	* docs/manual/basics-helloworld.xml:
	* docs/manual/basics-pads.xml:
	* docs/manual/highlevel-components.xml:
	* docs/manual/highlevel-xml.xml:
	* docs/manual/intro-basics.xml:
	* docs/manual/intro-preface.xml:
	  Typo and formatting fixes (#538594).

2008-06-24  Sebastian Dröge  <sebastian.droege@collabora.co.uk>

	* tests/check/gst/gstghostpad.c: (GST_START_TEST):
	Fix some memory leaks and uses of object instances that we don't
	actually own.

2008-06-22  Thijs Vermeir  <thijsvermeir@gmail.com>

	* plugins/elements/gstmultiqueue.c:
	Add functionality to extra-size-buffers property.

2008-06-22  Thijs Vermeir  <thijsvermeir@gmail.com>

	* plugins/elements/gstmultiqueue.c:
	Don't update the cur_time on GST_CLOCK_TIME_NONE (#537804) and don't
	activate the pads if they are added in STATE_NULL.

2008-06-21  Thijs Vermeir  <thijsvermeir@gmail.com>

	* docs/libs/gstreamer-libs-sections.txt:
	Add new API to doc
	* libs/gst/check/gstcheck.c:
	* libs/gst/check/gstcheck.h:
	API: gst_check_teardown_pad_by_name

2008-06-21  Thijs Vermeir  <thijsvermeir@gmail.com>

	* libs/gst/check/gstcheck.c:
	* libs/gst/check/gstcheck.h:
	Also setup request pads and allow setup pads by name (#537812)
	API: gst_check_setup_src_pad_by_name
	API: gst_check_setup_sink_pad_by_name

2008-06-20  Thomas Vander Stichele  <thomas at apestaart dot org>

	* tests/check/gst/gstbuffer.c:
	* tests/check/pipelines/parse-launch.c:
	  Use HAVE_VALGRIND_H some more.

2008-06-20  Thomas Vander Stichele  <thomas at apestaart dot org>

	* scripts/cvs-update.sh:
	  Pass arguments to make.
	  Run autoregen.sh if Makefile is not there.

2008-06-20  Thomas Vander Stichele  <thomas at apestaart dot org>

	* configure.ac:
	* gst/gstinfo.c:
	  Don't assume that <valgrind/valgrind.h> exists just because
	  the binary is there.

2008-06-20  Wim Taymans  <wim.taymans@collabora.co.uk>

	* tests/check/Makefile.am:
	* tests/check/libs/test_transform.c: (gst_test_trans_base_init),
	(gst_test_trans_class_init), (gst_test_trans_init),
	(gst_test_trans_set_data), (result_sink_chain),
	(gst_test_trans_new), (gst_test_trans_free), (gst_test_trans_push),
	(gst_test_trans_pop):
	* tests/check/libs/transform1.c: (GST_START_TEST),
	(transform_ip_1), (set_caps_1), (gst_basetransform_suite):
	Add some test basetransform element and the beginnings of various
	unit tests for it.

2008-06-20  Wim Taymans  <wim.taymans@collabora.co.uk>

	* libs/gst/base/gsttypefindhelper.c: (helper_find_peek):
	Increase code readability.
	Don't try to compare buffer offsets when ther are invalid.

2008-06-20  Tim-Philipp Müller  <tim.muller at collabora co uk>

	* docs/design/Makefile.am:
	  Dist some more design docs.

	* docs/random/moving-plugins:
	  Small addition: good plugins mustn't have functional code
	  within assertion macros.

2008-06-20  Wim Taymans  <wim.taymans@collabora.co.uk>

	* docs/design/draft-framestep.txt:
	Some ideas about a framestep API

	* docs/design/part-element-transform.txt:
	Start design and use cases for basetransform in order to get it
	fixed soon.

2008-06-20  Tim-Philipp Müller  <tim.muller at collabora co uk>

	* gst/gsttaglist.h:
	  In GST_TAG_ATTACHEMENT docs, mention that the file name needs to
	  be in UTF-8 encoding.

2008-06-20  Tim-Philipp Müller  <tim.muller at collabora co uk>

	* gst/gstbus.c:
	  Make it known that gst_bus_poll() is pure evil (fixes #538810).

2008-06-20  Stefan Kost  <ensonic@users.sf.net>

	* plugins/elements/gstcapsfilter.c:
	* plugins/elements/gstfakesink.c:
	* plugins/elements/gstfakesrc.c:
	* plugins/elements/gstfdsink.c:
	* plugins/elements/gstfdsrc.c:
	* plugins/elements/gstfilesink.c:
	* plugins/elements/gstfilesrc.c:
	* plugins/elements/gstidentity.c:
	* plugins/elements/gstmultiqueue.c:
	* plugins/elements/gstqueue.c:
	* plugins/elements/gsttee.c:
	* plugins/elements/gsttypefindelement.c:
	  Remove short_description. Add basic docs for gsttypefindelement.
	  Simplify markup for fakesrc/fdsrc.

2008-06-20  Wim Taymans  <wim.taymans@collabora.co.uk>

	* plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
	Added Since doc.

2008-06-20  Wim Taymans  <wim.taymans@collabora.co.uk>

	Patch by: Joel Larsson <tilljoel at gmail dot com>

	* docs/plugins/gstreamer-plugins.args:
	* plugins/elements/gstfdsrc.c: (gst_fd_src_class_init),
	(gst_fd_src_init), (gst_fd_src_update_fd),
	(gst_fd_src_set_property), (gst_fd_src_get_property),
	(gst_fd_src_create):
	* plugins/elements/gstfdsrc.h:
	Add timeout property like udpsrc. Fixes #538628.
	Add some more docs and example pipelines.

2008-06-20  Wim Taymans  <wim.taymans@collabora.co.uk>

	* docs/libs/gstreamer-libs-sections.txt:
	* libs/gst/base/gstbasesink.c: (gst_base_sink_init),
	(gst_base_sink_query_latency), (gst_base_sink_set_render_delay),
	(gst_base_sink_get_render_delay), (gst_base_sink_wait_eos),
	(gst_base_sink_do_sync):
	* libs/gst/base/gstbasesink.h:
	* win32/common/libgstbase.def:
	Add method to allow sinks to specify additional delay between the sync
	times and the actual rendering of the data.
	API: gst_base_sink_set_render_delay()
	API: gst_base_sink_get_render_delay()

2008-06-20  Jan Schmidt  <jan.schmidt@sun.com>

	* configure.ac:
	Bump version number back to dev -> 0.10.20.1

2008-06-20  Sebastian Dröge  <slomo@circular-chaos.org>

	* docs/gst/gstreamer-sections.txt:
	* gst/gsttaglist.c: (_gst_tag_initialize):
	* gst/gsttaglist.h:
	API: Add GST_TAG_ATTACHMENT for generic file attachments to streams.
	Fixes bug #538568.

2008-06-20  Stefan Kost  <ensonic@users.sf.net>

	* libs/gst/controller/gstcontroller.c:
	  Revert one change, that make ret value possible uninitialized.

2008-06-20  Stefan Kost  <ensonic@users.sf.net>

	* libs/gst/controller/gstcontroller.c:
	  Use freeze/thaw notify to sync notify emission a bit (its also more
	  efficient). Move debug output to LOG (is called a lot in a loop).
	  Always unset g_values if the have been initialized.

2008-06-20  Wim Taymans  <wim.taymans@collabora.co.uk>

	* libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
	(gst_base_sink_wait_eos), (gst_base_sink_event):
	If we have not seen a buffer before EOS, use the segment values to
	report the current position instead of invalid positions.

2008-06-20  Stefan Kost  <ensonic@users.sf.net>

	* docs/plugins/tmpl/.cvsignore:
	* tests/check/gst/.cvsignore:
	  Ignore more.

2008-06-20  Stefan Kost  <ensonic@users.sf.net>

	* libs/gst/controller/gstinterpolation.c:
	* libs/gst/controller/gstinterpolationcontrolsource.c:
	* tests/check/libs/controller.c:
	  Rewrite handling of default values. Fix overflow with unsigned types
	  in linear interpolation. Remove now obsolete _first_value() function.
	  Add more tests. Fixes #538201.

2008-06-20  Wim Taymans  <wim.taymans@collabora.co.uk>

	* libs/gst/base/gstbasetransform.c:
	(gst_base_transform_class_init), (gst_base_transform_init),
	(gst_base_transform_transform_caps),
	(gst_base_transform_prepare_output_buffer):
	Add debug info.
	When a buffer is writable, its metadata is also writable so we don't
	need to subbuffer (which then makes the buffer not-writable anymore).

=== release 0.10.20 ===

2008-06-18  Jan Schmidt <jan.schmidt@sun.com>

	* configure.ac:
	  releasing 0.10.20, "You Crazy Diamond"

2008-06-11  Jan Schmidt  <jan.schmidt@sun.com>

	* configure.ac:
	0.10.19.3 pre-release

2008-06-11  Jan Schmidt  <jan.schmidt@sun.com>

	* configure.ac:
	* gst/gstpreset.c:
	Rename DATADIR to GST_DATADIR to avoid build problems
	on win32. Patch By: David Schleef <ds@schleef.org>
	Fixes: #536857

2008-06-05  Sebastian Dröge  <slomo@circular-chaos.org>

	* configure.ac:
	Explicitely link with -ldl if dladdr() is found there. Before it was
	implicitely linked by the gmodule pkgconfig file but in glib 2.17.0
	-ldl has moved from Libs to Libs.private. Fixes bug #536744.

2008-06-05  Tim-Philipp Müller  <tim.muller at collabora co uk>

	* gst/gsterror.c: (_gst_stream_errors_init):
	  Fix typo (spotted by Fabricio Godoy, #536723).

2008-06-05  Jan Schmidt  <jan.schmidt@sun.com>

	* configure.ac:
	0.10.19.2 pre-release

2008-06-04  Wim Taymans  <wim.taymans@collabora.co.uk>

	* libs/gst/base/gstbasesink.c: (gst_base_sink_set_async_enabled),
	(gst_base_sink_set_ts_offset), (gst_base_sink_perform_qos):
	Add some debug.
	Make sure we don't generate invalid QoS messages.

2008-06-04  Wim Taymans  <wim.taymans@collabora.co.uk>

	* gst/gstevent.c: (gst_event_new_qos):
	Add some assert and docs for invalid input to the qos function.

2008-05-30  Wim Taymans  <wim.taymans@collabora.co.uk>

	* libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
	(gst_base_sink_get_position):
	The reported position must always be smaller than the last seen
	timestamps (or timestamp + duration for reverse).

2008-05-30  Sebastian Dröge  <slomo@circular-chaos.org>

	Patch by: Rob Bradford <rob at robster dot org dot uk>

	* gst/gstregistry.c: (gst_registry_scan_path_level):
	Don't recurse into .debug directories as some distros install
	the debugging symbols next to the plugins in .debug directories
	and dlopen() crashes on them sometimes. Fixes bug #508070.

	Add FIXME for 0.11 to not recurse into directories at all because
	it's very inconsistent to the behaviour of other PATH environment
	variables.

2008-05-29  Wim Taymans  <wim.taymans@collabora.co.uk>

	* libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
	(gst_base_sink_get_position_last), (gst_base_sink_get_position):
	Fix position query range checks in reverse playback.

2008-05-29  Sebastian Dröge  <slomo@circular-chaos.org>

	* gst/gstelement.c:
	* gst/gstelement.h:
	Deprecated gst_element_get_pad() as it can't be used sanely. It's not
	clear of the reference to the resulting pad must be released later
	or not, resulting in possible leaks. Fixes bug #533865.

2008-05-28  Wim Taymans  <wim.taymans@collabora.co.uk>

	Patch by: José Alburquerque <jaalburqu at svn dot gnome dot org>

	* gst/gstelementfactory.c:
	Small doc fix. Fixes #535285.

2008-05-28  Wim Taymans  <wim.taymans@collabora.co.uk>

	Based on patch by: Bjarne Rosengren <bjarne at axis dot com>

	* libs/gst/base/gstbasesrc.c: (gst_base_src_send_event),
	(gst_base_src_get_range), (gst_base_src_pad_get_range),
	(gst_base_src_loop), (gst_base_src_set_flushing),
	(gst_base_src_change_state):
	Make sending an EOS event to the basesrc non-blocking even if the
	implementation does blocking waits in the create function. This is done
	by unlocking the create function when EOS is sent.
	Fixes #535218.

2008-05-28  Sebastian Dröge  <slomo@circular-chaos.org>

	* tools/gst-inspect.c: (print_element_properties_info):
	If possible print the element type of GValueArray properties.

2008-05-28  Sebastian Dröge  <slomo@circular-chaos.org>

	* gst/gstiterator.c:
	Remove an unused field from the private GstListIterator struct.

2008-05-27  Stefan Kost  <ensonic@users.sf.net>

	* libs/gst/controller/gstcontroller.c:
	  Add parameter guards.

2008-05-27  Stefan Kost  <ensonic@users.sf.net>

	* tests/check/gst/gstpipeline.c:
	  Revert test change and add comment why it should not work.

2008-05-27  Stefan Kost  <ensonic@users.sf.net>

	* tests/check/gst/gstpipeline.c:
	  Extending the test a little to verify that we also get the NULL state-
	  change message.

2008-05-27  Tim-Philipp Müller  <tim.muller at collabora co uk>

	* gst/gstpreset.c: (gst_preset_default_get_meta),
	  (gst_preset_get_preset_names), (gst_preset_get_property_names),
	  (gst_preset_load_preset), (gst_preset_save_preset),
	  (gst_preset_rename_preset), (gst_preset_delete_preset),
	  (gst_preset_set_meta):
	  Add Since: markers to docs blurbs.

	* win32/common/libgstreamer.def:
	  Add recently-added API.

2008-05-27  Wim Taymans  <wim.taymans@collabora.co.uk>

	Patch by: Stefan Kost  <ensonic@users.sf.net>

	* configure.ac:
	Add DATADIR for storing presets.

	* docs/gst/gstreamer-docs.sgml:
	* docs/gst/gstreamer-sections.txt:
	* docs/gst/gstreamer.types.in:
	Add GstPreset to docs.

	* gst/Makefile.am:
	* gst/gst.h:
	* gst/gstpreset.c: (preset_get_paths), (preset_skip_property),
	(preset_open_and_parse_header), (preset_parse_version),
	(preset_merge), (preset_get_keyfile),
	(gst_preset_default_get_preset_names),
	(gst_preset_default_get_property_names),
	(gst_preset_default_load_preset),
	(gst_preset_default_save_presets_file),
	(gst_preset_default_save_preset),
	(gst_preset_default_rename_preset),
	(gst_preset_default_delete_preset), (gst_preset_default_set_meta),
	(gst_preset_default_get_meta), (gst_preset_default_randomize),
	(gst_preset_default_reset), (gst_preset_get_preset_names),
	(gst_preset_get_property_names), (gst_preset_load_preset),
	(gst_preset_save_preset), (gst_preset_rename_preset),
	(gst_preset_delete_preset), (gst_preset_set_meta),
	(gst_preset_get_meta), (gst_preset_class_init),
	(gst_preset_base_init), (gst_preset_get_type):
	* gst/gstpreset.h:
	Add GstPreset to core. Fixes #396779

	* tests/check/Makefile.am:
	* tests/check/gst/gstpreset.c: (gst_preset_test_get_property),
	(gst_preset_test_set_property), (gst_preset_test_class_init),
	(gst_preset_test_base_init), (gst_preset_test_get_type),
	(gst_preset_test_plugin_init), (GST_START_TEST),
	(remove_preset_file), (test_setup), (test_teardown),
	(gst_preset_suite):
	Add GstPreset unit tests.

2008-05-27  Wim Taymans  <wim.taymans@collabora.co.uk>

	* gst/gstpad.c: (gst_pad_event_default_dispatch):
	The default event function on a sinkpad should return TRUE when
	there are no internal links but should collect the return values from
	the internal links otherwise.

2008-05-27  Wim Taymans  <wim.taymans@collabora.co.uk>

	* plugins/elements/gsttypefindelement.c:
	(gst_type_find_element_src_event),
	(gst_type_find_element_handle_event):
	Use faster and safer _pad_push_event().

2008-05-27  Tim-Philipp Müller  <tim.muller at collabora co uk>

	* docs/gst/gstreamer-sections.txt:
	* gst/gstutils.c: (element_find_unlinked_pad),
	  (gst_bin_find_unlinked_pad), (gst_bin_find_unconnected_pad),
	* gst/gstutils.h:
	  API: add gst_bin_find_unlinked_pad()
	  API: deprecate gst_bin_find_unconnected_pad() (#401456)

2008-05-26  Peter Kjellerstedt  <pkj@axis.com>

	* gst/gstclock.c:
	* gst/gstclock.h:
	* gst/gsttask.c:
	* gst/gsttask.h:
	Fixed a bunch of typos.

2008-05-25  Tim-Philipp Müller  <tim.muller at collabora co uk>

	* gst/gstpad.h:
	* gst/gstutils.c: (gst_element_unlink), (element_find_unlinked_pad),
	  (gst_bin_find_unconnected_pad), (gst_parse_bin_from_description),
	  (gst_parse_bin_from_description_full):
	* gst/gstutils.h:
	  'unconnected pad' -> 'unlinked pad' for consistency (#401456).

2008-05-25  Tim-Philipp Müller  <tim.muller at collabora co uk>

	* docs/pwg/advanced-tagging.xml:
	  Small docs update, can't be bothered to rewrite the nonsensical
	  examples right now.

2008-05-25  Tim-Philipp Müller  <tim.muller at collabora co uk>

	* gst/gstevent.h:
	  Clarify docs for GST_SEEK_TYPE_CUR (#534505).

2008-05-25  Tim-Philipp Müller  <tim.muller at collabora co uk>

	* gst/parse/grammar.y:
	  Remove unneeded casts.

2008-05-25  Tim-Philipp Müller  <tim.muller at collabora co uk>

	* gst/parse/grammar.y:
	* tests/check/pipelines/parse-launch.c:
	  Get all missing elements from a parse launch string if possible
	  (ie. if the FATAL_ERRORS flag has been specified). Fixes #528178.

2008-05-24  Tim-Philipp Müller  <tim.muller at collabora co uk>

	* tests/check/Makefile.am:
	* tests/check/pipelines/parse-launch.c:
	  Add some unit tests for the new gst_parse_launch*_full() API.
	  (Exposes a previously-existing memory leak in the error code
	  path, so adding to VALGRIND_TO_FIX for now).

2008-05-24  Tim-Philipp Müller  <tim.muller at collabora co uk>

	* docs/gst/gstreamer-sections.txt:
	* gst/gst.c: (init_post):
	* gst/gst_private.h: (_GstParseContext):
	* gst/gstparse.c: (gst_parse_error_quark), (gst_parse_context_new),
	  (gst_parse_context_free), (gst_parse_context_get_missing_elements),
	  (gst_parse_launchv), (gst_parse_launchv_full), (gst_parse_launch),
	  (gst_parse_launch_full):
	* gst/gstparse.h: (GST_PARSE_FLAG_NONE), (GST_PARSE_FLAG_FATAL_ERRORS),
	  (GstParseFlags), (GstParseContext):
	* gst/gstutils.c: (gst_parse_bin_from_description),
	  (gst_parse_bin_from_description_full):
	* gst/gstutils.h:
	* gst/parse/grammar.y:
	* gst/parse/types.h:
	* win32/common/libgstreamer.def:
	  Add new gst_parse_*_full API (#528178):
	  API: gst_parse_launch_full()
	  API: gst_parse_launchv_full()
	  API: gst_parse_bin_from_description_full()
	  API: gst_parse_context_new()
	  API: gst_parse_context_free()
	  API: gst_parse_context_get_missing_elements()

2008-05-23  Stefan Kost  <ensonic@users.sf.net>

	patch by: Suresh Kumar P <sureshkumar.pp@gmail.com>

	* docs/faq/gst-uninstalled:
	  Also support ffmpeg in gst-uninstalled.

2008-05-22  Sebastian Dröge  <slomo@circular-chaos.org>

	* configure.ac:
	After discussion on IRC use the binary registry as default
	but allow to disable it with --disable-binary-registry.

	* win32/common/libgstreamer.def:
	Add the two new symbols for the binary registry.

2008-05-22  Tim-Philipp Müller  <tim.muller at collabora co uk>

	* gst/gstparse.c: (_gst_parse_escape), (gst_parse_launchv):
	* gst/gstutils.c: (gst_parse_bin_from_description):
	* gst/parse/grammar.y: (graph):
	  More guards against bad input; typo fix; some minor clean-ups.

2008-05-22  Sebastian Dröge  <slomo@circular-chaos.org>

	Patch by: Sjoerd Simons <sjoerd at luon dot net>

	* libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
	If nothing else can be used, use the last buffer's start time as
	the segment's last stop. Fixes bug #534258.

2008-05-21  Tim-Philipp Müller  <tim.muller at collabora co uk>

	* gst/gstpad.c: (gst_pad_alloc_buffer_full):
	  Move size sanity check to the right place: downstream may return
	  a buffer with a smaller size if the buffer caps are different than
	  the requested ones, as may happen when doing reverse negotiation.

2008-05-21  Wim Taymans  <wim.taymans@collabora.co.uk>

	* plugins/elements/gstfilesink.c: (gst_file_sink_set_location),
	(gst_file_sink_render):
	* plugins/elements/gstfilesrc.c: (gst_file_src_set_location),
	(gst_file_src_start):
	Small cleanups. Add note adbout g_fopen() on windows and why we don't
	use it yet.

2008-05-21  Wim Taymans  <wim.taymans@collabora.co.uk>

	* gst/gstpad.c: (gst_pad_load_and_link):
	* gst/gstutils.c: (gst_element_link_pads),
	(gst_element_unlink_pads):
	* libs/gst/check/gstcheck.c: (gst_check_setup_src_pad),
	(gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
	(gst_check_teardown_sink_pad),
	(gst_check_element_push_buffer_list):
	* tests/check/elements/fakesink.c: (GST_START_TEST):
	* tests/check/elements/filesink.c:
	* tests/check/elements/filesrc.c: (GST_START_TEST):
	* tests/check/elements/multiqueue.c: (setup_multiqueue),
	(mq_sinkpad_to_srcpad):
	* tests/check/elements/tee.c: (GST_START_TEST):
	* tests/check/generic/sinks.c: (GST_START_TEST):
	* tests/check/gst/gstbin.c: (GST_START_TEST):
	* tests/check/gst/gstevent.c: (GST_START_TEST):
	* tests/check/gst/gstghostpad.c: (GST_START_TEST):
	* tests/check/gst/gstpipeline.c: (GST_START_TEST):
	* tests/check/gst/gstquery.c: (GST_START_TEST):
	* tests/check/gst/gstutils.c: (GST_START_TEST):
	* tests/check/libs/basesrc.c: (GST_START_TEST):
	* tests/check/pipelines/parse-launch.c: (run_delayed_test),
	(gst_parse_test_element_change_state):
	Don't use gst_element_get_pad().

2008-05-21  Felipe Contreras  <felipe.contreras@gmail.com>

	* docs/Makefile.am:
	Fix installing plugin documentation when gtk-doc is disabled.

2008-05-21  Wim Taymans  <wim.taymans@collabora.co.uk>

	* docs/manual/advanced-autoplugging.xml:
	* docs/manual/basics-helloworld.xml:
	* docs/manual/basics-pads.xml:
	* docs/manual/highlevel-components.xml:
	Avoid using a bad function in the example code.

2008-05-21  Wim Taymans  <wim.taymans@collabora.co.uk>

	* gst/gstclock.c: (gst_clock_set_calibration):
	Fix debug of the new clock rate.

2008-05-21  Sebastian Dröge  <slomo@circular-chaos.org>

	* win32/common/libgstbase.def:
	Add gst_base_sink_wait_clock() to the exported symbols.

2008-05-20  Sebastian Dröge  <slomo@circular-chaos.org>

	Patch by: Tim-Philipp Müller  <tim.muller at collabora co uk>

	* libs/gst/base/gstbasetransform.c:
	(gst_base_transform_sink_event):
	Unref events that the GstBaseTransform::event vfunc didn't want to
	have forwarded by the base class. Closes a leak in identity.
	Fixes bug #446763.

2008-05-19  Wim Taymans  <wim.taymans@collabora.co.uk>

	* docs/libs/gstreamer-libs-sections.txt:
	* libs/gst/base/gstbasesink.c: (gst_base_sink_wait_clock):
	* libs/gst/base/gstbasesink.h:
	Expose a method that was previously used internally to synchronize
	against the clock because it can be useful for subclasses too.
	API: GstBaseSink::gst_base_sink_wait_clock()

2008-05-19  Tim-Philipp Müller  <tim.muller at collabora co uk>

	* gst/gstpad.c: (gst_pad_buffer_alloc_unchecked):
	  Add sanity check to make sure we don't get smaller buffers
	  than requested (and fallback to normal buffer alloc if we do).

2008-05-19  Wim Taymans  <wim.taymans@collabora.co.uk>

	* libs/gst/base/gstbasesink.c: (gst_base_sink_adjust_time),
	(gst_base_sink_wait_clock), (gst_base_sink_wait_eos),
	(gst_base_sink_do_sync), (gst_base_sink_chain_unlocked):
	Refactor adjusting the running_time with latency and offset into a
	separate method.
	When doing clipping, we still want to use the subclass get_times method,
	just in case the DURATION or TIMESTAMP are not set.

2008-05-19  Tim-Philipp Müller  <tim.muller at collabora co uk>

	* docs/gst/gstreamer-sections.txt:
	* gst/gsttypefind.c: (gst_type_find_suggest_simple):
	* gst/gsttypefind.h:
	* win32/common/libgstreamer.def:
	  API: add gst_type_find_suggest_simple(), #533740.

2008-05-19  Tim-Philipp Müller  <tim.muller at collabora co uk>

	* libs/gst/base/gstbasesrc.c: (gst_base_src_start):
	  Use right error code when typefinding fails, so we can use
	  the default (translated) error messages.

2008-05-19  Wim Taymans  <wim.taymans@collabora.co.uk>

	* libs/gst/base/gstbasesrc.c: (gst_base_src_get_range),
	(gst_base_src_start):
	When the subclass did not set caps on outgoing buffers, configure the
	caps we negotiated on the source pad.
	When the typefind helper does not find caps, error out properly instead
	of doing things with NULL caps.

2008-05-18  Tim-Philipp Müller  <tim.muller at collabora co uk>

	* gst/gsttypefind.h:
	  Tabs to spaces, oh yes!

2008-05-18  Tim-Philipp Müller  <tim.muller at collabora co uk>

	* tests/check/gst/gstcaps.c: (test_intersect2), (gst_caps_suite):
	  Add David's and Benjamin's tests for array intersection to the
	  unit test suite (#147931).

2008-05-18  Tim-Philipp Müller  <tim.muller at collabora co uk>

	* gst/gstevent.c:
	  Document that gst_event_new_tag() and gst_event_new_navigation()
	  take ownership of the taglist/structure passed to them. (#533635).

2008-05-17  Jan Schmidt  <jan.schmidt@sun.com>

	* docs/Makefile.am:
	Don't descend into the plugins dir if plugin docs building
	is disabled.

	* docs/README:
	Add a note about the new type:GTypeName syntax for the plugin
	documentation .types file.

2008-05-17  Sebastian Dröge  <slomo@circular-chaos.org>

	* gst/gstmessage.c: (gst_message_new_error),
	(gst_message_new_warning), (gst_message_new_info):
	* gst/gstmessage.h:
	Mark the debug string parameters as const. Fixes bug #533490.

2008-05-16  Sebastian Dröge  <slomo@circular-chaos.org>

	* libs/gst/base/gsttypefindhelper.c: (helper_find_peek):
	Sort buffer cache list by end offsets. This makes sure that we don't
	stop to search for a cached buffer that contains the requested data
	too early.
	Also read a minimum of 4k bytes instead of 512 bytes as this is a bit
	more efficient. Fixes bug #459862.

2008-05-14  Stefan Kost  <ensonic@users.sf.net>

	* gst/gstinfo.c:
	  Explain why we copy the list.

	* gst/gstpipeline.c:
	  Improve docs.

	* gst/gstutils.c:
	  Add one debug-log statement to help tracing probelms with linking pads.

2008-05-12  Stefan Kost  <ensonic@users.sf.net>

	* tests/check/gst/gstinfo.c:
	Add a test for removing the default log handler. Seems to fail under
	windows.

2008-05-14  Wim Taymans  <wim.taymans@collabora.co.uk>

	* gst/gstpad.c: (gst_pad_peer_accept_caps):
	Release pad lock before calling out to avoid a possible deadlock.

2008-05-14  Wim Taymans  <wim.taymans@collabora.co.uk>

	* gst/parse/grammar.y:
	Remove unneeded value unset.

	* tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
	Add unit test for de/serialization of caps.

2008-05-13  Sebastian Dröge  <slomo@circular-chaos.org>

	* plugins/elements/gstfakesink.c:
	(marshal_VOID__MINIOBJECT_OBJECT), (gst_fake_sink_class_init):
	* plugins/elements/gstfakesrc.c: (marshal_VOID__MINIOBJECT_OBJECT),
	(gst_fake_src_class_init):
	Use custom marshalers that take GstMiniObject as first parameter.
	Using OBJECT as parameter while a GstMiniObject is given will lead
	to assertions if built with G_ENABLE_DEBUG. Fixes bug #525532.

2008-05-13  Sebastian Dröge  <slomo@circular-chaos.org>

	* plugins/elements/gsttypefindelement.c:
	(gst_type_find_element_handle_event),
	(gst_type_find_element_send_cached_events),
	(gst_type_find_element_change_state):
	Clean up on FLUSH_STOP and not FLUSH_START. Forward both events
	immediately.

2008-05-13  Sebastian Dröge  <slomo@circular-chaos.org>

	* plugins/elements/gsttypefindelement.c:
	(gst_type_find_handle_src_query), (stop_typefinding),
	(gst_type_find_element_handle_event),
	(gst_type_find_element_send_cached_events),
	(gst_type_find_element_change_state):
	Forward FLUSH_START events immediately and clean up instead of
	caching them.

2008-05-13  Sebastian Dröge  <slomo@circular-chaos.org>

	Patch by: Sjoerd Simons <sjoerd at luon dot net>

	* libs/gst/base/gstbasetransform.c:
	(gst_base_transform_buffer_alloc):
	Check the caps of the buffer returned by gst_pad_alloc_buffer() and
	fall back to default negotiation in the chain function if the caps
	are different from what was requested. Fixes bug #526768.

2008-05-09  Tim-Philipp Müller  <tim.muller at collabora co uk>

	* gst/gstsegment.c:
	* tests/check/gst/gstsegment.c:
	  No, let's not use g_slice_{dup|copy} here, since they only exist
	  since GLib 2.14 and we still depend only on >= 2.12. Also add
	  unit test for gst_segment_copy().

2008-05-09  Tim-Philipp Müller  <tim.muller at collabora co uk>

	* gst/gstutils.h: (GST_BOILERPLATE_FULL):
	  Try to fix 'dereferencing type-punned pointer will break strict
	  aliasing rules' warnings with C++ compilers and GLib >= 2.14.0: GLib
	  changed the default GType typedef from gulong to gsize at some point,
	  but kept GType typedef'ed to gulong for C++ for ABI reasons; the
	  g_once_* functions all take a gsize * though, so work around the type
	  mismatch for C++ by doing everything in gsize and casting to GType
	  later.

2008-05-09  Jan Schmidt  <jan.schmidt@sun.com>

	* plugins/elements/gstmultiqueue.c:
	Add documentation for the signals to push our core plugin docs
	coverage back up to 100%.

2008-05-08  Ole André Vadla Ravnås  <ole.andre.ravnas at tandberg com>

	* gst/gstinfo.h (GST_FUNCTION):
	  Reverted GST_FUNCTION to the old version as we don't want the
	  full signature in C++ code. Also added support for MSVC.

2008-05-08  Sebastian Dröge  <slomo@circular-chaos.org>

	* gst/gstutils.h:
	Intern the type name string, similar to what G_DEFINE_TYPE does.

2008-05-08  Sebastian Dröge  <slomo@circular-chaos.org>

	* gst/gstutils.h:
	Make GST_BOILERPLATE thread-safe if building with GLib 2.14 or newer.

2008-05-08  Sebastian Dröge  <slomo@circular-chaos.org>

	Based on a patch by: Sjoerd Simons <sjoerd at luon dot net>

	* libs/gst/base/gstbasetransform.c:
	(gst_base_transform_buffer_alloc):
	Don't passthrough buffer allocation too easily if the caps change.
	This breaks when working in passthrough mode and upstream changes
	it's caps. Fixes bug #526768.

2008-05-07  Ole André Vadla Ravnås  <ole.andre.ravnas at tandberg com>

	* gst/gstinfo.c (gst_debug_log_valist):
	  Improved the __FILE__ part of debug output for MSVC.

2008-05-07  Ole André Vadla Ravnås  <ole.andre.ravnas at tandberg com>

	* libs/gst/base/gstbasesrc.c (gst_base_src_default_query):
	  Declaration after statement fix for compilers like MSVC.

2008-05-07  Ole André Vadla Ravnås  <ole.andre.ravnas at tandberg com>

	* win32/common/config.h.in:
	  Don't define GST_FUNCTION, if GLib supports MSVC we'd much rather
	  use the real thing than having "???" unconditionally.

2008-05-07  Ole André Vadla Ravnås  <ole.andre.ravnas at tandberg com>

	* gst/gstinfo.h (GST_FUNCTION):
	  Made GST_FUNCTION an alias for G_STRFUNC to avoid duplication.

2008-05-07  Wim Taymans  <wim.taymans@collabora.co.uk>

	* libs/gst/base/gstadapter.c: (gst_adapter_available_fast):
	Small code cleanup.

	* libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
	(gst_base_sink_set_flushing):
	* libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
	Fix some comments.

2008-05-07  Wim Taymans  <wim.taymans@collabora.co.uk>

	* plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
	(gst_fake_src_init), (gst_fake_src_set_property),
	(gst_fake_src_get_property), (gst_fake_src_start):
	* plugins/elements/gstfakesrc.h:
	Added format property to control the format of the newsegment events.
	API: GstFakeSrc:format

2008-05-06  Sebastian Dröge  <slomo@circular-chaos.org>

	* win32/common/libgstreamer.def:
	Add gst_pad_has_name() to the exported symbols.

2008-05-06  Sebastian Dröge  <slomo@circular-chaos.org>

	* gst/gstpad.c: (gst_pad_alloc_buffer_full):
	* libs/gst/base/gstbasetransform.c:
	(gst_base_transform_prepare_output_buffer):
	Don't allow negative sizes when allocating new buffers.
	Fixes bug #461253.

2008-05-05  Tim-Philipp Müller  <tim.muller at collabora co uk>

	Patch by: Sjoerd Simons <sjoerd at luon net>

	* gst/gstbus.c: (gst_bus_source_dispatch):
	  Don't print a warning if the queue is empty when we try to pop
	  here. That could happen if another thread or callback set the
	  bus to flushing between the source's check/prepare and the
	  dispatch being called (#531538).

2008-05-05  Tim-Philipp Müller  <tim.muller at collabora co uk>

	* plugins/elements/gstmultiqueue.c:
	  Small docs fix.
	
2008-05-05  Sebastian Dröge  <slomo@circular-chaos.org>

	* tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
	Add unit test for deserializing uint64s and check some really large
	numbers in the int64 test.

2008-05-04  Sebastian Dröge  <slomo@circular-chaos.org>

	* tools/gst-inspect.c: (n_print), (print_hierarchy),
	(print_interfaces), (print_element_properties_info),
	(print_signal_info):
	Use "%s" as format string instead of printing strings directly.

2008-05-04  Sebastian Dröge  <slomo@circular-chaos.org>

	* gst/gstclock.c: (gst_clock_set_calibration):
	Make some checks actually useful.

	* gst/gstregistrybinary.c: (gst_registry_binary_load_plugin):
	Remove some unused code. Unsigned integers tend to be >= 0.

2008-05-03  Tim-Philipp Müller  <tim.muller at collabora co uk>

	* gst/gstminiobject.c: (gst_value_get_mini_object):
	  Fix 'Since:' version in gst_value_dup_mini_object() docs blurb: this
	  function was not in the unscheduled 0.10.19 release.

2008-05-03  Tim-Philipp Müller  <tim.muller at collabora co uk>

	* gst/gstregistry.c: (gst_registry_scan_path_level):
	  Only print one log message per non-plugin file.

2008-05-03  Tim-Philipp Müller  <tim.muller at collabora co uk>

	* gst/gstinfo.c: (gst_debug_log_default):
	  Fix alignment of debug log columns on 64-bit.

2008-05-03  Tim-Philipp Müller  <tim.muller at collabora co uk>

	* docs/libs/Makefile.am:
	* docs/libs/gstreamer-libs-sections.txt:
	  Ignore private controller headers for docs.

2008-05-03  Sebastian Dröge  <slomo@circular-chaos.org>

	* libs/gst/controller/gstcontrollerprivate.h:
	* libs/gst/controller/gsthelper.c:
	* libs/gst/controller/gstinterpolation.c:
	* libs/gst/controller/gstinterpolationcontrolsource.c:
	(gst_interpolation_control_source_set_interpolation_mode):
	* libs/gst/controller/gstinterpolationcontrolsourceprivate.h:
	* libs/gst/controller/lib.c:
	Move some private declarations into private headers.

2008-05-02  Sebastian Dröge  <slomo@circular-chaos.org>

	* gst/gstdebugutils.c: (debug_dump_element_pad):
	Remove some code that is unused after Stefan's refactoring and uses
	uninitialized variables now, resulting in a compiler warning.

2008-05-01  Tim-Philipp Müller  <tim.muller at collabora co uk>

	* gst/gstregistry.c: (gst_registry_scan_path_level):
	  Run g_str_has_suffix() only on the file name, not the
	  entire file path.

2008-04-30  Tim-Philipp Müller  <tim.muller at collabora co uk>

	* plugins/elements/gstqueue.c: (gst_queue_leak_downstream):
	  Since we're not called only from the chain function any longer,
	  we can't assume that there's always data in the queue, so move
	  the is_full check to the beginning of the loop (otherwise we'd
	  hit the assert when changing the limit properties while the
	  queue is empty or not running yet).
	  Also, only set a discont if items were actually removed from
	  the queue.

	* tests/check/elements/queue.c: (test_leaky_downstream):
	  Test case for the above.

2008-04-30  Wim Taymans  <wim.taymans@collabora.co.uk>

	Patch by: Jonas Holmberg <jonas dot holmberg at axis dot com>

	* plugins/elements/gstqueue.c: (gst_queue_leak_downstream),
	(gst_queue_chain), (queue_capacity_change),
	(gst_queue_set_property):
	When changing thr max capacity of a leaky queue, immediatly drop buffers
	instead of waiting for a push on the sinkpad. Fixes #530637.

2008-04-30  Stefan Kost  <ensonic@users.sf.net>

	* gst/gstdebugutils.c:
	  Refactor code and fix handling of ghostpads and their proxypads.

2008-04-29  Wim Taymans  <wim.taymans@collabora.co.uk>

	* docs/gst/gstreamer-sections.txt:
	* gst/gstevent.c: (gst_event_has_name):
	* gst/gstevent.h:
	* tests/check/gst/gstevent.c: (GST_START_TEST):
	Add method to conveniently check the name of a custom event with
	gst_event_has_name().
	Reformat the event docs so that related methods are put together instead
	of the default alphabetical sort.
	Update unit test with new method.
	API: GstEvent::gst_event_has_name()

2008-04-28  Michael Smith <msmith@songbirdnest.com>

	* libs/gst/check/Makefile.am:
	  Don't add an explicit link to libgstreamer-0.10.la; it's already
	  included in GST_OBJ_LIBS.

2008-04-28  Sebastian Dröge  <slomo@circular-chaos.org>

	* gst/gst.c:
	Register GstClock type from a type-safe context. Fixes bug #530317.

2008-04-25  Michael Smith <msmith@songbirdnest.com>

	Patch by Edward Hervey <edward.hervey@collabora.co.uk>
	* tools/gst-run.c:
	  Include <unistd.h> conditionally on HAVE_UNISTD_H as elsewhere.

2008-04-25  Wim Taymans  <wim.taymans@collabora.co.uk>

	* gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
	(gst_bin_dispose):
	Use the GLib stuff to create a private structure.
	Add some locking around some dispose methods to make them a little
	safer, see #529723. Patch by: Antoine Tremblay <hexa00 at gmail dot com>

2008-04-25  Stefan Kost  <ensonic@users.sf.net>

	* libs/gst/base/gstbasesink.h:
	* libs/gst/base/gstbasesrc.h:
	* libs/gst/base/gstbasetransform.h:
	* libs/gst/base/gstcollectpads.h:
	  Fix doc typos and unify caps a bit.

2008-04-25  Stefan Kost  <ensonic@users.sf.net>

	* tools/gst-launch.1.in:
	  Forgot to also add the envvar docs here.

2008-04-25  Tim-Philipp Müller  <tim at centricular dot net>

	* gst/gst.c: (init_post), (gst_deinit):
	* tests/check/gst/gstpipeline.c: (GST_START_TEST), (pipeline_thread),
	  (test_concurrent_create), (gst_pipeline_suite):
	  Ref some more classes in gst_init() to work around thread-safety
	  issues in pre-2.16 GLibs, and add basic unit test.

2008-04-25  Wim Taymans  <wim.taymans@collabora.co.uk>

	* libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
	(gst_base_sink_send_event):
	Rearrange the latency query code. We always want to do the upstream
	query, even if we are not live so that the upstream elements can get the
	latency results too. If we fail doing the query and we are live, we
	return TRUE afterwards.

2008-04-24  Stefan Kost  <ensonic@users.sf.net>

	patch by: Jason Zhao <e3423c@motorola.com>

	* docs/gst/running.xml:
	* gst/gst.c:
	  Enable/disable scan_and_update_registry() based on commandline switch
	  or environment variable. Fixes #520468.
	  
	* ChangeLog:
	  Fix typo in my previous commit.

2008-04-24  Stefan Kost  <ensonic@users.sf.net>

	* gst/gstregistrybinary.c:
	  Add a warning if we hit unhandled factories when saving.
	  More debug logging detail, but move to LOG category.

2008-04-24  Stefan Kost  <ensonic@users.sf.net>

	* gst/gstregistry.c:
	  Tell the *truth* when improving the documentation.

2008-04-23  Sebastian Dröge  <slomo@circular-chaos.org>

	* gst/gstelementfactory.c: (gst_element_factory_make):
	Unref the factory after it was used the last time, not before.

	* gst/gstindexfactory.c: (gst_index_factory_make):
	Improve debugging a bit and don't leak a ref to the index factory with
	each call.

2008-04-23  Stefan Kost  <ensonic@users.sf.net>

	* gst/gstregistry.c:
	  Improve the documentation.

2008-04-23  Stefan Kost  <ensonic@users.sf.net>

	* gst/gstsegment.c:
	  The glib macro seems to be borked. Use g_slice_copy directly and cast
	  in the hope that this fixes the warning on 64bit.

2008-04-23  Stefan Kost  <ensonic@users.sf.net>

	* gst/gstsegment.c:
	  Document the new function. Use g_slice_dup() (no need for
	  gst_segment_init()).	  

2008-04-23  Stefan Kost  <ensonic@users.sf.net>

	* docs/gst/gstreamer-sections.txt:
	  Move GParamSepc macros to standart section.
  
	* gst/gstbin.c:
	  Dn't document _get_type - its in private section in docs anyway and
	  this doc-blob was incomplete.

	* gst/gstclock.h:
	  Fix wrong symbol names in docs.

	* gst/gstmacros.h:
	  Add once doc sentence.

	* tests/check/gst/.cvsignore:
	  Ignore more.

2008-04-21  Stefan Kost  <ensonic@users.sf.net>

	* docs/gst/Makefile.am:
	  And remove those libs here.

2008-04-21  Tim-Philipp Müller  <tim at centricular dot net>

	* docs/libs/Makefile.am:
	  Fix docs build again by adding libgstnet-0.10.so to SCANOBJ_DEPS.

2008-04-21  Wim Taymans  <wim.taymans@collabora.co.uk>

	Patch by: Olivier Crete <tester at tester dot ca>

	* plugins/elements/gstqueue.c: (gst_queue_handle_src_query):
	Add the min-threshold to the min latency if possible. Fixes #529148.

2008-04-21  Stefan Kost  <ensonic@users.sf.net>

	* docs/gst/gstreamer.types.in:
	  Stupid editor, I removed that line as it should go in yet.

2008-04-21  Stefan Kost  <ensonic@users.sf.net>

	* docs/gst/gstreamer.types.in:
	* docs/libs/gstreamer-libs.types:
	  Remove library types fro core docs and have them in libs docs.
	  Reformat and cleanup. Add comment for miniobject types.

2008-04-20  Tim-Philipp Müller  <tim at centricular dot net>

	* gst/gsturi.c: (gst_uri_get_protocol):
	  Fix leak: g_strdown operates on the string in place, while
	  g_ascii_strdown() returns a newly-allocated string.

2008-04-20  Sebastian Dröge  <slomo@circular-chaos.org>

	* tools/gst-inspect.c: (print_uri_handler_info),
	(print_element_info):
	Print the URI protocols and the URI type supported by the element.

2008-04-19  Sebastian Dröge  <slomo@circular-chaos.org>

	* gst/gsttaglist.c: (gst_tag_merge_strings_with_comma):
	Use g_value_take_string() instead of the deprecated
	g_value_set_string_take_ownership().

2008-04-19  Sebastian Dröge  <slomo@circular-chaos.org>

	* gst/gstregistrybinary.c: (_gst_crc32):
	Return the old CRC instead of 0 if we give a NULL buffer
	or a buffer with a length of 0.

2008-04-19  Sebastian Dröge  <slomo@circular-chaos.org>

	* gst/gsturi.c: (gst_uri_protocol_check_internal),
	(gst_uri_get_protocol), (gst_uri_has_protocol),
	(gst_uri_construct), (gst_uri_handler_set_uri):
	A valid URI scheme can also include '+', '-' and '.' additional
	to alphanumeric characters as per RFC 3986 Section 3.1.

	Handle URI schemes case insensitive in all places and convert
	to lower-case when constructing an URI or setting an URI with
	the GstURIHandler interface. Fixes bug #528868.
	All elements can still assume (as before) that they will
	get passed URIs with a lower-case URI scheme by the GstURIHandler
	interface.

2008-04-17  Tim-Philipp Müller  <tim at centricular dot net>

	* gst/gstcaps.c: (gst_static_caps_get):
	* gst/gstclock.c: (gst_clock_entry_new):
	  Don't use g_atomic_set_int where it's not needed.

2008-04-17  Wim Taymans  <wim.taymans@collabora.co.uk>

	* gst/gstvalue.c: (gst_value_deserialize_caps):
	* gst/parse/grammar.y:
	Fix 2 caps leaks.

2008-04-17  Sebastian Dröge  <slomo@circular-chaos.org>

	* gst/gstutils.c: (gst_atomic_int_set):
	Use g_atomic_int_set() here too instead of assignment +
	g_atomic_int_get().

2008-04-17  Sebastian Dröge  <slomo@circular-chaos.org>
	
	* gst/gstutils.c:
	* gst/gstutils.h:
	API: Deprecate gst_atomic_int_set(), g_atomic_int_set() should be used
	now that we depend on new enough GLib.

	* gst/gstcaps.c: (gst_static_caps_get):
	* gst/gstclock.c: (gst_clock_entry_new):
	* gst/gstinfo.c: (_gst_debug_init), (gst_debug_set_colored),
	(gst_debug_set_default_threshold), (_gst_debug_category_new),
	(gst_debug_category_set_threshold):
	* libs/gst/base/gstbasesink.c: (gst_base_sink_init),
	(gst_base_sink_set_qos_enabled):
	* libs/gst/net/gstnettimeprovider.c:
	(gst_net_time_provider_set_property):
	Use g_atomic_int_set() instead of gst_atomic_int_set().

2008-04-16  Stefan Kost  <ensonic@users.sf.net>

	* gst/gstquery.c:
	  Also use G_GINT64_CONSTANT for the queries.

2008-04-16  Stefan Kost  <ensonic@users.sf.net>

	* gst/gstmessage.c:
	  Use G_GINT64_CONSTANT in varargs function.

2008-04-16  Sebastian Dröge  <slomo@circular-chaos.org>

	* gst/gstregistrybinary.c: (gst_registry_binary_initialize_magic):
	Initialize the registry magic with zeroes.

2008-04-16  Sebastian Dröge  <slomo@circular-chaos.org>

	* gst/gstregistrybinary.c: (_gst_crc32),
	(gst_registry_binary_write),
	(gst_registry_binary_initialize_magic),
	(gst_registry_binary_write_cache),
	(gst_registry_binary_check_magic),
	(gst_registry_binary_read_cache):
	* gst/gstregistrybinary.h:
	Add crc32 checksum to the binary registry file and check this before
	accepting a registry file.

	Also free the data list when writing to the registry file fails.

2008-04-16  Sebastian Dröge  <slomo@circular-chaos.org>

	* gst/gstregistrybinary.c: (gst_registry_binary_save_feature),
	(gst_registry_binary_load_feature),
	(gst_registry_binary_load_plugin):
	If an element supports the Uri interface, returns a valid pointer
	to the supported URI protocols but this pointer contains nothing
	don't try to save that as it will corrupt the registry.

	Don't unref the plugin if we added it to the registry already but
	fail to load a feature as gst_registry_add_plugin() takes ownership
	of the plugin.

	Improve debugging a bit.

2008-04-16  Stefan Kost  <ensonic@users.sf.net>

	* gst/gsttaglist.h:
	  Clarify some tag item docs after discussion on irc.

2008-04-15  Stefan Kost  <ensonic@users.sf.net>

	* docs/gst/gstreamer-docs.sgml:
	  Remove commented out plugins (they have their own docs). Update
	  comments.

2008-04-15  Stefan Kost  <ensonic@users.sf.net>

	* docs/gst/gstreamer-docs.sgml:
	* docs/gst/gstreamer-sections.txt:
	* gst/gstparamspecs.c:
	* gst/gstparamspecs.h:
	  Add GST_PARAM_CONTROLLABLE and GST_PARAM_USER_SHIFT. Move paramspec
	  docs to own section.

	* gst/gstvalue.c:
	  This now only documents GValue.
	  
	* docs/libs/gstreamer-libs-sections.txt:
	* libs/gst/controller/gstcontroller.h:
	  Remove GST_PARAM_CONTROLLABLE.

2008-04-15  Stefan Kost  <ensonic@users.sf.net>

	* docs/README:
	  Correct file path. Tell about how to use -overrides.txt.
	* docs/design/draft-tagreading.txt:
	  Small design update.

2008-04-14  Sebastian Dröge  <slomo@circular-chaos.org>

	* gst/gstregistrybinary.c: (gst_registry_binary_load_feature),
	(gst_registry_binary_load_plugin):
	Fix a typo in a debug message and revert change from yesterday as
	gst_registry_add_plugin() will only fail if something is really wrong
	already and we can't survive it anyway.

2008-04-14  Tim-Philipp Müller  <tim at centricular dot net>

	* gst/gst.c: (init_post), (gst_deinit):
	  Pre-register GstGError GType from a thread-safe context
	  (fixes #527967); unref enum type classes in deinit.

2008-04-13  Tim-Philipp Müller  <tim at centricular dot net>

	Patch by: Rene Stadler <mail at renestadler de>

	* gst/gsttagsetter.c: (gst_tag_setter_merge_tags):
	  Merging an empty list with another list in KEEP_ALL mode should
	  yield an empty list as result and not the second list (#512578).

	* tests/check/gst/gsttagsetter.c:
	  Add unit test for tag merge modes and the aforementioned bug.

2008-04-13  Tim-Philipp Müller  <tim at centricular dot net>

	Patch by: Rene Stadler <mail at renestadler de>

	* gst/gsttaglist.h:
	  Fix description to match the order in the table (#512577).
  
2008-04-13  Tim-Philipp Müller  <tim at centricular dot net>

	Patch by: Kwang Yul Seo  <kwangyul.seo gmail com>

	* libs/gst/net/gstnettimepacket.h:
	* docs/libs/gstreamer-libs-sections.txt:
	  Define socklen_t as int if it's not defined yet. Fixes compilation
	  with MSVC6 and other versions where socklen_t is not defined in
	  the windows headers (#518022).

2008-04-13  Sebastian Dröge  <slomo@circular-chaos.org>

	* gst/gstregistrybinary.c: (gst_registry_binary_load_plugin):
	If gst_registry_add_plugin() fails our reference to the plugin is
	invalid so don't try to use it anymore and instead error out.

2008-04-12  Tim-Philipp Müller  <tim at centricular dot net>

	* tools/gst-xmlinspect.c: (print_element_info), (main):
	  De-cruft a bit. If no argument is specified, print all elements in
	  XML syntax rather than a freestyle list of elements like gst-inspect.
	  Also, don't print XML header chunk unless we actually have something
	  to print (ie. don't print it before an error message); print error
	  message to stderr not stdout. Remove support for printing plugin
	  info (it would just output something freestyle along the lines of
	  gst-inspect so far), which fixes #514507. Also add license header.

2008-04-11  Julien Moutte  <julien@fluendo.com>

        Mac OS X love...
	* configure.ac: Merge platform specific defines, introduce a new
	define on OS X to remember that forking when updating registry is
	unsafe.
	* docs/faq/gst-uninstalled: Updated to include gst-libs in the bad
	module.
	* gst/gst.c: Don't fork when updating registry if GST_HAVE_UNSAFE_FORK
	is defined.
	* gst/gstregistry.c: (gst_registry_scan_path_level): Fixed a bogus
	condition that leads to absolutely no plugins being registered on
	OS X.

2008-04-10  Tim-Philipp Müller  <tim at centricular dot net>

	Based on patch by: José Alburquerque <jaalburqu at svn dot gnome dot org>

	* gst/gstutils.c: (gst_pad_add_data_probe),
	  (gst_pad_add_data_probe_full), (gst_pad_add_event_probe),
	  (gst_pad_add_event_probe_full), (gst_pad_add_buffer_probe),
	  (gst_pad_add_buffer_probe_full):
	* gst/gstutils.h:
	* docs/gst/gstreamer-sections.txt:
	* win32/common/libgstreamer.def:
	  Add gst_pad_add_*_probe_full() functions with a notify callback that
	  lets the caller free the data it passes to the probe functions. This
	  is useful for bindings such as gst-python or gstreamermm (#526814).
	  API: gst_pad_add_data_probe_full
	  API: gst_pad_add_buffer_probe_full
	  API: gst_pad_add_event_probe_full

	* tests/check/gst/gstutils.c:
	  Add minimal unit test to make sure freeing the data actually works
	  as expected.

	* tests/benchmarks/.cvsignore:
	  Random cvsignore addendum.

2008-04-10  Tim-Philipp Müller  <tim at centricular dot net>

	* gst/gstdebugutils.h: (GST_DEBUG_BIN_TO_DOT_FILE_WITH_TS),
	  (GST_DEBUG_BIN_TO_DOT_FILE):
	  Mention GstDebugGraphDetails enum type in doc blurb so we get a link
	  to it in the docs (since these are macros the types of the arguments
	  won't be shown in the docs otherwise).

2008-04-10  Stefan Kost  <ensonic@users.sf.net>

	* gst/gstpad.c:
	  Do not abort on out of memory for pad_alloc_buffer.

2008-04-10  Stefan Kost  <ensonic@users.sf.net>

	* libs/gst/check/gstcheck.c:
	  Remove blank line between symbol name ad parameters to fix gtkdoc
	  warning.

2008-04-09  Tim-Philipp Müller  <tim at centricular dot net>

	Patch by:  José Alburquerque <jaalburqu at svn dot gnome dot org>

	* docs/gst/gstreamer-sections.txt:
	* gst/gstsegment.c:
	* gst/gstsegment.h:
	* win32/common/libgstreamer.def:
	  Expose gst_segment_copy() to make things easier for the c++ bindings.
	  Fixes #518932.
	  API: gst_segment_copy()

2008-04-09  Tim-Philipp Müller  <tim at centricular dot net>

	* gst/gst.c: (gst_init_get_option_group), (init_post):
	  Fix const position; ref GType classes for enum types to work
	  around thread-safety issues in GLib versions < 2.16.

2008-04-09  Wim Taymans  <wim.taymans@collabora.co.uk>

	* docs/design/part-buffering.txt:
	Fix some typos and set the estimated total for push mode to -1.

	* gst/gstquery.c: (gst_query_new_buffering):
	Set buffering-left to 0 as we're not buffering by default.

	* libs/gst/base/gstbasesrc.c: (gst_base_src_default_query):
	Implement BUFFERING query.

2008-04-09  Tim-Philipp Müller  <tim at centricular dot net>

	Based on patch by: Milosz Derezynski <internalerror gmail com>

	* gst/gsterror.c: (_gst_stream_errors_init):
	* gst/gsterror.h:
	  Add two new error codes for encrypted content. Fixes #524659.
	  API: GST_STREAM_ERROR_DECRYPT
	  API: GST_STREAM_ERROR_DECRYPT_NOKEY

2008-04-09  Tim-Philipp Müller  <tim at centricular dot net>

	* gst/gstquery.h:
	  Fix typo.

	* win32/common/libgstreamer.def:
	  Add new functions.

2008-04-09  Sebastian Dröge  <slomo@circular-chaos.org>

	* plugins/elements/gstidentity.c: (gst_identity_event),
	(gst_identity_start):
	Fix imperfect timestamp/offset checks when we get another NEWSEGMENT
	event after processing some data. Fixes bug #526042.

2008-04-08  Wim Taymans  <wim.taymans@collabora.co.uk>

	* docs/gst/gstreamer-sections.txt:
	* gst/gstquery.c: (gst_query_parse_latency),
	(gst_query_set_buffering_percent),
	(gst_query_parse_buffering_percent),
	(gst_query_set_buffering_range), (gst_query_parse_buffering_range):
	* gst/gstquery.h:
	Rename _avail -> _range
	API: gst_query_set_buffering_range
	API: gst_query_parse_buffering_range

2008-04-08  Wim Taymans  <wim.taymans@collabora.co.uk>

	* docs/design/part-buffering.txt:
	* gst/gstquark.c:
	* gst/gstquark.h:
	* gst/gstquery.c: (gst_query_parse_latency),
	(gst_query_new_buffering), (gst_query_set_buffering_percent),
	(gst_query_parse_buffering_percent):
	* gst/gstquery.h:
	Add busy field and quark for the buffering query so that the app can
	only use the query to see if buffering is in progress.

2008-04-08  Wim Taymans  <wim.taymans@collabora.co.uk>

	* docs/gst/gstreamer-sections.txt:
	* gst/gstmessage.c: (gst_message_set_buffering_stats),
	(gst_message_parse_buffering_stats):
	* gst/gstmessage.h:
	* gst/gstquery.c: (gst_query_new_latency), (gst_query_set_latency),
	(gst_query_parse_latency), (gst_query_new_buffering),
	(gst_query_set_buffering_percent),
	(gst_query_parse_buffering_percent),
	(gst_query_set_buffering_stats), (gst_query_parse_buffering_stats),
	(gst_query_set_buffering_avail), (gst_query_parse_buffering_avail):
	* gst/gstquery.h:
	Reorder the message docs and headers for clarity.
	Add aditional buffering stats API for messages.
	Add buffering query.
	Convert some leftover queries to use GstQuark.
	API: gst_message_set_buffering_stats
	API: gst_message_parse_buffering_stats
	API: GST_QUERY_BUFFERING
	API: GstBufferingMode
	API: gst_query_new_buffering
	API: gst_query_set_buffering_percent
	API: gst_query_parse_buffering_percent
	API: gst_query_set_buffering_stats
	API: gst_query_parse_buffering_stats

2008-04-08  Wim Taymans  <wim.taymans@collabora.co.uk>

	* gst/gstmessage.c: (gst_message_new_error),
	(gst_message_new_warning), (gst_message_new_info),
	(gst_message_new_buffering), (gst_message_new_state_changed),
	(gst_message_new_clock_provide), (gst_message_new_clock_lost),
	(gst_message_new_new_clock), (gst_message_new_segment_start),
	(gst_message_new_segment_done), (gst_message_new_duration),
	(gst_message_new_async_start), (gst_message_parse_buffering),
	(gst_message_parse_state_changed),
	(gst_message_parse_clock_provide), (gst_message_parse_clock_lost),
	(gst_message_parse_new_clock), (gst_message_parse_error),
	(gst_message_parse_warning), (gst_message_parse_info),
	(gst_message_parse_segment_start),
	(gst_message_parse_segment_done), (gst_message_parse_duration),
	(gst_message_parse_async_start):
	Use GstQuark for messages.

2008-04-08  Wim Taymans  <wim.taymans@collabora.co.uk>

	* gst/gstquark.c: (_priv_gst_quarks_initialize):
	* gst/gstquark.h:
	Add some more quarks needed for messages and queries.

2008-04-08  Wim Taymans  <wim.taymans@collabora.co.uk>

	* docs/design/part-buffering.txt:
	Remove the "none" buffering mode, STREAM is a good default.
	Move estimated-time to the avail query, that's when it will be needed.
	Other small typo fixes and updates.

2008-04-07  Tim-Philipp Müller  <tim at centricular dot net>

	* gst/gstindex.c: (gst_index_resolver_get_type):
	  Don't put descriptions into the nick field of a GEnumValue: it's not
	  meant for that and some language bindings rely on the nick field to
	  construct constants and the like. Fixes #526705.

2008-04-07  Tim-Philipp Müller  <tim at centricular dot net>

	* NEWS:
	* RELEASE:
	* gstreamer.doap:
	  Merge other changes from 0.10.19 release branch.

2008-04-06  Sebastian Dröge  <slomo@circular-chaos.org>

	Patch by: Damien Lespiau <damien dot lespiau at gmail dot com>

	* configure.ac:
	Actually build dlls when cross-compiling with mingw32.
	Fixes bug #526247.

2008-04-05  Sebastian Dröge  <slomo@circular-chaos.org>

	Patch by: Damien Lespiau <damien dot lespiau at gmail dot com>

	* gst/gstpoll.c:
	Fix compilation of GstPoll with mingw32. Fixes bug #526236.

2008-04-04  Wim Taymans  <wim.taymans@collabora.co.uk>

	* docs/design/draft-latency.txt:
	Fix typo.

	* docs/design/part-buffering.txt:
	Update design docs with more buffering ideas.

2008-04-03  Tim-Philipp Müller  <tim at centricular dot net>

	* configure.ac:
	  Bump version to 0.10.19.1 after the unscheduled 0.10.19 release.

2008-04-03  Stefan Kost  <ensonic@users.sf.net>

	* configure.ac:
	  Revert part that belongs to the preset patch.

2008-04-03  Stefan Kost  <ensonic@users.sf.net>

	* configure.ac:
	  Add qoutes to the define. Fixes # 525961.

2008-04-03  Sebastian Dröge  <slomo@circular-chaos.org>

	* plugins/indexers/gstfileindex.c: (_file_index_id_free),
	(gst_file_index_load), (gst_file_index_add_id),
	(gst_file_index_get_assoc_entry):
	* plugins/indexers/gstmemindex.c: (gst_mem_index_free_format),
	(gst_mem_index_free_id), (gst_mem_index_add_id),
	(gst_mem_index_index_format):
	Use GSlice when possible.

2008-04-02  Sebastian Dröge  <slomo@circular-chaos.org>

	* libs/gst/controller/gstinterpolationcontrolsource.c:
	(gst_control_point_free),
	(gst_interpolation_control_source_set_internal):
	Use GSlice for allocating the control points.

2008-04-02  Wim Taymans  <wim.taymans@collabora.co.uk>

	* plugins/elements/gsttypefindelement.c:
	(gst_type_find_element_class_init),
	(gst_type_find_element_set_property),
	(gst_type_find_element_get_property),
	(gst_type_find_element_activate):
	* plugins/elements/gsttypefindelement.h:
	Cleanup properties.
	Fix pad leak when peer query fails.
	We can still typefind when the peer returns -1.
	Add property to force caps and bypass typefinding. This will be used in
	uridecodebin.
	API::force-caps

2008-04-01  Sebastian Dröge  <slomo@circular-chaos.org>

	* configure.ac:
	Require GLib 2.12.

	* gst/glib-compat-private.h:
	* gst/gstcaps.c: (gst_caps_new_empty), (_gst_caps_free):
	* gst/gstclock.c: (gst_clock_entry_new), (_gst_clock_id_free):
	Unconditionally use GSlice for allocation.

	* gst/gstpoll.c: (gst_poll_new), (gst_poll_free):
	* gst/gstsegment.c: (gst_segment_new), (gst_segment_free):
	* gst/gststructure.c: (gst_structure_id_empty_new_with_size),
	(gst_structure_free):
	Use GSlice for allocation.

2008-04-01  Sebastian Dröge  <slomo@circular-chaos.org>

	* gst/parse/Makefile.am:
	* gst/parse/grammar.tab.pre.c:
	* gst/parse/grammar.tab.pre.h:
	* gst/parse/lex._gst_parse_yy.pre.c:
	Require a new enough flex and bison and remove the parser hacks to use
	a pre-regenerated version.

2008-04-01  Julien Moutte  <julien@fluendo.com>

	patch by: Jason Zhao <E3423C@motorola.com>

	* configure.ac: Add a configure switch to disable option parsing
	in gst_init.
	Fixes #522882.

2008-03-31  Stefan Kost  <ensonic@users.sf.net>

	* configure.ac:
	* gst/gstregistry.c:
	  MacOS has plugins under .so or under .dylib. Add detection for MacOS
	  and handle this case.

	* gst/gst.c:
	  Add a comment here describing, why we stat each plugin and not try to
	  be smart.

2008-03-31  Sebastian Dröge  <slomo@circular-chaos.org>

	* libs/gst/base/gstbasetransform.c:
	(gst_base_transform_prepare_output_buffer):
	Also unset the GAP flag on buffers if we're working inplace but
	the element is not GAP-aware.

	Mark a comment as FIXME 0.11.

2008-03-31  Stefan Kost  <ensonic@users.sf.net>

	* gst/gst.c:
	  Fix type in log message and add one to ease seeing how long registry
	  cache verification takes.

	* gst/gstregistry.c:
	  Only test plugin filenames against G_MODULE_SUFFIX.

2008-03-31  Stefan Kost  <ensonic@users.sf.net>

	* gst/gstdebugutils.c:
	  Improve handling ghost/proxy pads.

2008-03-27  Stefan Kost  <ensonic@users.sf.net>

	* docs/gst/gstreamer-sections.txt:
	* gst/gstpad.c:
	* gst/gstpad.h:
	  Expose macro to docs and fix link to it.

2008-03-27  Michael Smith <msmith@fluendo.com>

	* libs/gst/dataprotocol/dataprotocol.c:
	(gst_dp_packet_from_event_1_0):
	  When calculating GDP body CRC, use the correct pointer. 
	  Fixes part of #522401.

2008-03-24  Wim Taymans  <wim.taymans@collabora.co.uk>

	Patch by: Mark Nauwelaerts <manauw at skynet be>

	* plugins/elements/gstidentity.c: (gst_identity_class_init),
	(gst_identity_init), (gst_identity_prepare_output_buffer):
	Identity is not always a passthrough element, it can modify the buffer
	timestamps when it has a datarate and operates in single-segment mode.
	We therefore make it an in_place filter with a custom buffer prepare
	function that conditionally makes the input buffer metadata writable
	when needed.  Fixes #523985.

2008-03-24  Wim Taymans  <wim.taymans@collabora.co.uk>

	Patch by: Mark Nauwelaerts <manauw at skynet be>

	* gst/gstclock.h:
	* libs/gst/base/gstbasesrc.h:
	* libs/gst/base/gstbasetransform.c:
	* libs/gst/check/gstcheck.c:
	Small documentation fixes. Fixes #523978.

2008-03-24  Wim Taymans  <wim.taymans@collabora.co.uk>

	* plugins/elements/gstfdsink.c: (gst_fd_sink_render):
	* plugins/elements/gstfdsrc.c: (gst_fd_src_create):
	Also retry our poll_wait when we get EAGAIN. Fixes #524041.

2008-03-24  Wim Taymans  <wim.taymans@collabora.co.uk>

	* plugins/elements/gstmultiqueue.c: (single_queue_overrun_cb),
	(single_queue_underrun_cb):
	When trying to make room in the queue, bump the max allowed buffers
	bigger than the current amount of buffers in the queue. this fixes some
	nasty deadlocks in multiqueue when dynamically changing the limits of
	the queue.

2008-03-24  Wim Taymans  <wim.taymans@collabora.co.uk>

	Patch by:  José Alburquerque <jaalburqu at svn dot gnome dot org>

	* gst/gstcaps.c: (gst_caps_set_simple),
	(gst_caps_set_simple_valist), (gst_caps_intersect):
	* gst/gstcaps.h:
	Constify the field gchar * params in set_simple and friends.
	Fixes #522326.

2008-03-24  Wim Taymans  <wim.taymans@collabora.co.uk>

	* gst/gstvalue.c: (gst_value_transform_object_string):
	Transform a GstObject to a more meaningfull string that includes the
	object type in addition to its name.

2008-03-23  Stefan Kost  <ensonic@users.sf.net>

	* ChangeLog:
	  ChangeLog surgery to add bugnumber to commit.

2008-03-23  Rene Stadler  <mail@renestadler.de>

	* libs/gst/base/gstbasetransform.c:
	(gst_base_transform_set_gap_aware): Fix confusing documentation.

2008-03-23  Sebastian Dröge  <slomo@circular-chaos.org>

	* gst/gstregistrybinary.c: (gst_registry_binary_write):
	Rename constant everywhere and don't forget one occurence.

2008-03-23  Sebastian Dröge  <slomo@circular-chaos.org>

	* gst/gstregistrybinary.c: (gst_registry_binary_write):
	Align memory to the pointer size even if the architecture allows
	unaligned memory access. Unaligned memory access usually comes with
	performance penality.

2008-03-23  Sebastian Dröge  <slomo@circular-chaos.org>

	* gst/gstregistrybinary.c: (gst_registry_binary_write),
	(gst_registry_binary_check_magic),
	(gst_registry_binary_load_pad_template),
	(gst_registry_binary_load_feature),
	(gst_registry_binary_load_plugin):
	Align memory to the pointer size instead of always 32 bit. Fixes
	unaligned memory accesses on ia64 and friends.

	* gst/gstregistrybinary.h:
	Bump binary registry format version for this as it changes the
	format on those architectures that don't have unaligned access
	and 64 bit pointers.

2008-03-22  Sebastian Dröge  <slomo@circular-chaos.org>

	* docs/pwg/advanced-dparams.xml:
	* docs/pwg/building-props.xml:
	* docs/pwg/other-source.xml:
	* gst/glib-compat.h:
	* gst/gstbin.c: (gst_bin_class_init):
	* gst/gstclock.c: (gst_clock_class_init):
	* gst/gstindex.c: (gst_index_class_init):
	* gst/gstobject.c: (gst_object_class_init):
	* gst/gstpad.c: (gst_pad_class_init):
	* gst/gstpipeline.c: (gst_pipeline_class_init):
	* libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
	* libs/gst/base/gstbasesrc.c: (gst_base_src_class_init):
	* libs/gst/base/gstbasetransform.c:
	(gst_base_transform_class_init):
	* libs/gst/base/gstdataqueue.c: (gst_data_queue_class_init):
	* libs/gst/check/gstcheck.c: (_gst_check_fault_handler_restore),
	(_gst_check_fault_handler_sighandler),
	(_gst_check_fault_handler_setup), (gst_check_init):
	* libs/gst/controller/gstcontroller.c:
	(_gst_controller_class_init):
	* libs/gst/controller/gstlfocontrolsource.c:
	(gst_lfo_control_source_class_init):
	* libs/gst/net/gstnetclientclock.c:
	(gst_net_client_clock_class_init):
	* libs/gst/net/gstnettimeprovider.c:
	(gst_net_time_provider_class_init):
	* plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init):
	* plugins/elements/gstfakesink.c: (gst_fake_sink_class_init):
	* plugins/elements/gstfakesrc.c: (gst_fake_src_class_init):
	* plugins/elements/gstfdsink.c: (gst_fd_sink_class_init):
	* plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
	* plugins/elements/gstfilesink.c: (gst_file_sink_class_init):
	* plugins/elements/gstfilesrc.c: (gst_file_src_class_init):
	* plugins/elements/gstidentity.c: (gst_identity_class_init):
	* plugins/elements/gstmultiqueue.c: (gst_multi_queue_class_init):
	* plugins/elements/gstqueue.c: (gst_queue_class_init):
	* plugins/elements/gsttee.c: (gst_tee_class_init):
	* plugins/elements/gsttypefindelement.c:
	(gst_type_find_element_class_init):
	* plugins/indexers/gstfileindex.c: (gst_file_index_class_init):
	Define G_PARAM_STATIC_STRINGS if it's undefined (GLib < 2.13.0) and
	use it everywhere for GParamSpecs that use static strings (i.e. all).
	This gives us less memory usage, fewer allocations and thus less
	memory defragmentation. Fixes bug #523806.

2008-03-22  Sebastian Dröge  <slomo@circular-chaos.org>

	* gst/gstminiobject.c: (gst_value_dup_mini_object),
	(gst_param_spec_mini_object):
	* gst/gstminiobject.h:
	* win32/common/libgstreamer.def:
	* docs/gst/gstreamer-sections.txt:
	API: Add GST_IS_PARAM_SPEC_MINI_OBJECT, GST_PARAM_SPEC_MINI_OBJECT
	GST_TYPE_PARAM_MINI_OBJECT and gst_value_dup_mini_object. Also move
	GstParamSpecMiniObject into a public header for this.

	This make GstMiniObject a bit more consistent with GObject and makes
	it possible to extend the param specs.

	gst_value_dup_mini_object is mainly useful for set_property methods.

	Fixes bug #523798.

	* tools/gst-inspect.c: (print_element_properties_info):
	Print something useful for GstMiniObject properties and not just
	"unknown type".

2008-03-21  Sebastian Dröge  <slomo@circular-chaos.org>

	* docs/gst/gstreamer-sections.txt:
	* gst/gstregistrybinary.c: (gst_registry_binary_initialize_magic),
	(gst_registry_binary_check_magic):
	* gst/gstregistrybinary.h:
	Call the version GST_MAGIC_BINARY_VERSION_STR to be more consistent
	and add it to the (private part) of the docs to fix the build.

2008-03-21  Sebastian Dröge  <slomo@circular-chaos.org>

	* gst/gstregistrybinary.c: (gst_registry_binary_initialize_magic),
	(gst_registry_binary_check_magic),
	(gst_registry_binary_read_cache):
	* gst/gstregistrybinary.h:
	Don't use GST_MAJORMINOR for the binary registry version. Instead
	hardcode a value that must be changed whenever the format changes
	in an incompatible way.
	Also don't GST_ERROR when there is a version mismatch, just
	regenerate the registry silently.

2008-03-21  Jan Schmidt  <jan.schmidt@sun.com>

	* configure.ac:
	Back to development - 0.10.18.1

=== release 0.10.18 ===

2008-03-20  Jan Schmidt <jan.schmidt@sun.com>

	* configure.ac:
	  releasing 0.10.18, "So far away"

2008-03-18  Jan Schmidt  <jan.schmidt@sun.com>

	* configure.ac:
	* win32/common/config.h:
	0.10.17.4 pre-release

2008-03-18  Wim Taymans  <wim.taymans@collabora.co.uk>

	Patch by: Ole André Vadla Ravnås
	    <ole dot andre dot ravnas at tandberg dot com>

	* docs/gst/gstreamer-sections.txt:
	* gst/gstpoll.c: (gst_poll_winsock_error_to_errno),
	(gst_poll_update_winsock_event_mask),
	(gst_poll_prepare_winsock_active_sets),
	(gst_poll_collect_winsock_events), (gst_poll_new), (gst_poll_free),
	(gst_poll_add_fd_unlocked), (gst_poll_fd_ctl_write),
	(gst_poll_fd_ctl_read_unlocked), (gst_poll_fd_ignored),
	(gst_poll_fd_has_error), (gst_poll_fd_can_read_unlocked),
	(gst_poll_check_ctrl_commands), (gst_poll_wait):
	* gst/gstpoll.h:
	* win32/common/libgstreamer.def:
	Add new function gst_poll_fd_ignored() for improved Windows
	compatibility.
	Various minor fixes and cleanups. See #520808.

2008-03-17  Tim-Philipp Müller  <tim at centricular dot net>

	* gst/gstindex.c: (gst_index_entry_free):
	* gst/gstindex.h:
	  Don't free key strings which we don't own. Fixes crash in
	  gst_index_entry_free() (#522741).

	* tests/check/Makefile.am:
	* tests/check/gst/.cvsignore:
	* tests/check/gst/gstindex.c: (test_index_entries),
	  (gst_index_suite), (gst_index):
	  Add unit test for the above.

2008-03-11  Sebastian Dröge  <slomo@circular-chaos.org>

	* win32/common/libgstreamer.def:
	Remove symbols that were removed recently. Fixes bug #521740.

2008-03-11  Jan Schmidt  <jan.schmidt@sun.com>

	* configure.ac:
	* win32/common/config.h:
	0.10.17.3 pre-release

2008-03-07  Wim Taymans  <wim.taymans@collabora.co.uk>

	Patch by: Ole André Vadla Ravnås
	    <ole dot andre dot ravnas at tandberg dot com>

	* docs/gst/gstreamer-sections.txt:
	* gst/gstpoll.c: (find_index), (gst_poll_free_winsock_event),
	(gst_poll_update_winsock_event_mask), (gst_poll_new),
	(gst_poll_free), (gst_poll_fd_init), (gst_poll_add_fd_unlocked),
	(gst_poll_remove_fd), (gst_poll_fd_ctl_write),
	(gst_poll_fd_ctl_read_unlocked), (gst_poll_fd_has_closed),
	(gst_poll_fd_has_error), (gst_poll_fd_can_read_unlocked),
	(gst_poll_fd_can_write), (gst_poll_wait),
	(gst_poll_set_controllable), (gst_poll_restart),
	(gst_poll_set_flushing):
	* gst/gstpoll.h:
	* libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_new):
	* libs/gst/net/gstnettimeprovider.c: (gst_net_time_provider_start),
	(gst_net_time_provider_new):
	* plugins/elements/gstfdsink.c: (gst_fd_sink_start):
	* plugins/elements/gstfdsrc.c: (gst_fd_src_start):
	* tests/benchmarks/gstpollstress.c: (main):
	* tests/check/gst/gstpoll.c: (GST_START_TEST), (gst_poll_suite):
	Remove GstPollMode from the API, it does not make sense to let the
	application control this.
	Add support for Win32.
	Fix the testsuite. Fixes #520671.

2008-03-07  Sebastian Dröge  <slomo@circular-chaos.org>

	Patch by: Ole André Vadla Ravnås
	    <ole dot andre dot ravnas at tandberg dot com>

	* gst/gstregistrybinary.c:
	Include io.h for write() and close() when building with MSVC. Fixes
	bug #520877.

2008-03-07  Stefan Kost  <ensonic@users.sf.net>

	* configure.ac:
	* gst/gst_private.h:
	* gst/gstconfig.h.in:
	* gst/gstregistry.h:
	* gst/gstregistrybinary.c:
	* win32/common/gstconfig.h:
	  Move registry backend API to private headers where we can. Add
	  fixme-0.11 comments for the others. Add stubs for the xml backend when
	  using the binary to ensure they functions exists (they should not be
	  used though). Fixes #520756.

2008-03-04  Jan Schmidt  <jan.schmidt@sun.com>

	* configure.ac:
	* win32/common/config.h:
	0.10.17.2 prelease

2008-03-03  Edward Hervey  <edward.hervey@collabora.co.uk>

	* gst/gstregistrybinary.c: (gst_registry_binary_write),
	(gst_registry_binary_read_cache):
	* gst/gstregistryxml.c: (gst_registry_save):
	* gst/gsturi.c: (unescape_string), (gst_uri_has_protocol):
	* plugins/elements/gstfilesink.c: (gst_file_sink_open_file):
	* plugins/elements/gstfilesrc.c: (gst_file_src_map_region),
	(gst_file_src_map_small_region), (gst_file_src_create_mmap):
	Switch to using portabl gsize/gssize instead of size_t/ssize_t
	Fixes #520152

2008-03-03  Edward Hervey  <edward.hervey@collabora.co.uk>

	* gst/gstminiobject.c:
	Import gst_private.h before any other header that might include other
	glib headers. This fixes the build on windows using native compilers.

2008-03-03  Tim-Philipp Müller  <tim at centricular dot net>

	* win32/common/gstconfig.h:
	  Add here too, just for completeness.

2008-03-03  Tim-Philipp Müller  <tim at centricular dot net>

	* configure.ac:
	* gst/gstconfig.h.in:
	* gst/gstregistry.h:
	  Fix broken use of config.h-defined preprocessor directive in a public
	  header file. Add a corresponding define to gstconfig.h, since we can't
	  really remove those function declarations from the header file now
	  (or can we? and why are they there in the first place?).

2008-03-03  Andy Wingo  <wingo@pobox.com>

	* tests/check/gst/gststructure.c (GST_START_TEST): Add a check for
	the new warning.

	* gst/gststructure.c (gst_structure_from_string): Warn if
	structure_from_string didn't consume the whole string, but the
	caller did not provide an end pointer.

2008-03-01  Tim-Philipp Müller  <tim at centricular dot net>

	Patch by: Fabrizio Gennari <fabrizio.ge at tiscali it>

	* gst/gstregistryxml.c: (read_string), (load_feature):
	  Strings allocated by libxml2 should be freed with xmlFree(), not
	  with g_free(). Fixes issues on windows in certain contexts (#519698).

2008-02-29  Tim-Philipp Müller  <tim at centricular dot net>

	* gst/gstinterface.c: (gst_element_implements_interface):
	  Don't crash if the element supports the interface queried, but does
	  not implement GstImplementsInterface. Fixes #519584.

	* tests/check/Makefile.am:
	* tests/check/gst/.cvsignore:
	* tests/check/gst/gstinterface.c:
	  Add unit test for the above.

2008-02-29  Wim Taymans  <wim.taymans@collabora.co.uk>

	* libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
	Small doc update.

2008-02-29  Wim Taymans  <wim.taymans@collabora.co.uk>

	* gst/gstsegment.c: (gst_segment_set_seek),
	(gst_segment_to_stream_time):
	Improve some comment.
	Update variables where it makes more sense.

2008-02-29  Rene Stadler  <mail@renestadler.de>

	* gst/gsturi.c: (gst_uri_handler_get_protocols):
	Use the get_protocols_full vfunc if get_protocols is NULL.  Fixes
	URIHandlers implemented using language bindings.

2008-02-29  Sebastian Dröge  <slomo@circular-chaos.org>

	* gst/gstelementfactory.h:
	* tests/check/elements/fakesink.c:
	* tests/check/elements/fakesrc.c: (setup_fakesrc):
	* tests/check/elements/fdsrc.c: (setup_fdsrc):
	* tests/check/elements/filesink.c: (setup_filesink):
	* tests/check/elements/filesrc.c: (setup_filesrc):
	* tests/check/elements/identity.c: (setup_identity):
	* tests/check/elements/tee.c:
	* tests/check/generic/sinks.c:
	* tests/check/generic/states.c: (setup), (teardown):
	* tests/check/gst/gst.c:
	* tests/check/gst/gstabi.c:
	* tests/check/gst/gstbin.c:
	* tests/check/gst/gstbus.c: (pull_messages):
	* tests/check/gst/gstcaps.c:
	* tests/check/gst/gstelement.c:
	* tests/check/gst/gstevent.c:
	* tests/check/gst/gstghostpad.c:
	* tests/check/gst/gstiterator.c:
	* tests/check/gst/gstmessage.c:
	* tests/check/gst/gstminiobject.c: (my_foo_init):
	* tests/check/gst/gstobject.c: (thread_name_object),
	(gst_object_suite):
	* tests/check/gst/gstpad.c:
	* tests/check/gst/gstplugin.c:
	* tests/check/gst/gstpoll.c:
	* tests/check/gst/gstquery.c:
	* tests/check/gst/gstsegment.c:
	* tests/check/gst/gststructure.c:
	* tests/check/gst/gstsystemclock.c:
	* tests/check/gst/gsttask.c:
	* tests/check/gst/gstutils.c:
	* tests/check/gst/gstvalue.c:
	* tests/check/gst/struct_hppa.h:
	* tests/check/gst/struct_i386.h:
	* tests/check/gst/struct_ppc32.h:
	* tests/check/gst/struct_ppc64.h:
	* tests/check/gst/struct_x86_64.h:
	* tests/check/libs/adapter.c: (create_and_fill_adapter):
	* tests/check/libs/basesrc.c:
	* tests/check/libs/controller.c: (GST_START_TEST):
	* tests/check/libs/gdp.c:
	* tests/check/libs/gstnetclientclock.c:
	* tests/check/libs/gstnettimeprovider.c:
	* tests/check/libs/libsabi.c:
	* tests/check/libs/struct_hppa.h:
	* tests/check/libs/struct_i386.h:
	* tests/check/libs/struct_ppc32.h:
	* tests/check/libs/struct_ppc64.h:
	* tests/check/libs/struct_x86_64.h:
	* tests/check/pipelines/cleanup.c:
	* tests/check/pipelines/simple-launch-lines.c:
	* tests/check/pipelines/stress.c:
	And correct even more valid sparse warnings.

	* win32/common/libgstreamer.def:
	Add gst_poll_fd_init to the list of symbols.

2008-02-29  Sebastian Dröge  <slomo@circular-chaos.org>

	* gst/gstconfig.h.in:
	* libs/gst/base/gstcollectpads.c: (gst_collect_pads_read_buffer):
	* libs/gst/check/gstcheck.c: (gst_check_log_message_func),
	(gst_check_log_critical_func), (gst_check_drop_buffers),
	(gst_check_element_push_buffer_list):
	* libs/gst/controller/gstcontroller.c: (gst_controller_get),
	(gst_controller_get_type):
	* libs/gst/controller/gsthelper.c: (gst_object_control_properties),
	(gst_object_get_controller), (gst_object_get_control_source):
	* libs/gst/controller/gstinterpolationcontrolsource.c:
	(gst_interpolation_control_source_new):
	* libs/gst/controller/gstlfocontrolsource.c:
	(gst_lfo_control_source_new):
	* libs/gst/dataprotocol/dataprotocol.c:
	(gst_dp_event_from_packet_0_2):
	* plugins/elements/gstfdsrc.c:
	* plugins/elements/gstmultiqueue.c:
	* plugins/elements/gsttee.c:
	* plugins/elements/gsttypefindelement.c:
	* plugins/indexers/gstfileindex.c: (_file_index_id_save_xml),
	(gst_file_index_add_association):
	* plugins/indexers/gstmemindex.c:
	* tests/benchmarks/gstpollstress.c: (mess_some_more):
	* tests/check/elements/queue.c: (setup_queue):
	* tests/check/gst/gstpipeline.c:
	* tests/check/libs/collectpads.c: (setup), (teardown),
	(gst_collect_pads_suite):
	* tests/examples/adapter/adapter_test.c:
	* tests/examples/metadata/read-metadata.c: (make_pipeline):
	* tests/examples/xml/createxml.c:
	* tests/examples/xml/runxml.c:
	* tools/gst-inspect.c:
	* tools/gst-run.c:
	Correct all relevant warnings found by the sparse semantic code
	analyzer. This include marking several symbols static, using
	NULL instead of 0 for pointers, not using variable sized arrays
	on the stack, moving variable declarations to the beginning of
	a block and using "foo (void)" instead of "foo ()" for declarations.

2008-02-29  Sebastian Dröge  <slomo@circular-chaos.org>

	* plugins/elements/gstfdsink.c: (gst_fd_sink_update_fd):
	* plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
	Don't reset GstPollFDs, this is not necessary at all.

	* tests/check/gst/gstpoll.c: (test_poll_wait), (GST_START_TEST),
	(delayed_restart), (delayed_control):
	Use GST_POLL_FD_INIT.

2008-02-29  Wim Taymans  <wim.taymans@collabora.co.uk>

	* gst/gstpoll.c: (gst_poll_fd_init):
	* gst/gstpoll.h:
	Added Since tags.

	* plugins/elements/gstfdsink.c: (gst_fd_sink_update_fd):
	Use some more init macros.

2008-02-29  Wim Taymans  <wim.taymans@collabora.co.uk>

	* plugins/elements/gstfdsink.c: (gst_fd_sink_start):
	* plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
	Use init macros and functions.

2008-02-29  Wim Taymans  <wim.taymans@collabora.co.uk>

	* docs/gst/gstreamer-sections.txt:
	* gst/gstpoll.c: (gst_poll_fd_init):
	* gst/gstpoll.h:
	Add INIT macro and _init method for initializing the GstPollFD.

2008-02-28  Sebastian Dröge  <slomo@circular-chaos.org>

	* plugins/elements/gstfdsink.c: (gst_fd_sink_start),
	(gst_fd_sink_update_fd):
	* plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
	* tests/check/gst/gstpoll.c: (test_poll_wait), (GST_START_TEST),
	(delayed_restart), (delayed_control):
	Initialize some uninitialized variables as spotted by valgrind.

2008-02-28  Wim Taymans  <wim.taymans@collabora.co.uk>

	* tests/benchmarks/Makefile.am:
	* tests/benchmarks/gstpollstress.c: (mess_some_more), (run_test),
	(main):
	Add poll stress test.

2008-02-28  Wim Taymans  <wim.taymans@collabora.co.uk>

	Patch by: Peter Kjellerstedt <pkj at axis dot com>

	* plugins/elements/gstfdsink.c: (gst_fd_sink_render),
	(gst_fd_sink_start), (gst_fd_sink_stop), (gst_fd_sink_unlock),
	(gst_fd_sink_unlock_stop), (gst_fd_sink_update_fd):
	* plugins/elements/gstfdsink.h:
	* plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd),
	(gst_fd_src_start), (gst_fd_src_stop), (gst_fd_src_unlock),
	(gst_fd_src_unlock_stop), (gst_fd_src_create),
	(gst_fd_src_uri_set_uri):
	* plugins/elements/gstfdsrc.h:
	Port to GstPoll. See #505417.

2008-02-27  Jan Schmidt  <jan.schmidt@sun.com>

	* win32/common/libgstreamer.def:
	Add new gst_poll_ symbols to win32 defs.

2008-02-27  Wim Taymans  <wim.taymans@collabora.co.uk>

	* docs/libs/gstreamer-libs-sections.txt:
	* libs/gst/net/gstnetclientclock.c:
	(gst_net_client_clock_class_init), (gst_net_client_clock_init),
	(gst_net_client_clock_finalize), (gst_net_client_clock_do_select),
	(gst_net_client_clock_thread), (gst_net_client_clock_start),
	(gst_net_client_clock_stop), (gst_net_client_clock_new):
	* libs/gst/net/gstnetclientclock.h:
	* libs/gst/net/gstnettimeprovider.c:
	(gst_net_time_provider_class_init), (gst_net_time_provider_init),
	(gst_net_time_provider_finalize), (gst_net_time_provider_thread),
	(gst_net_time_provider_start), (gst_net_time_provider_stop),
	(gst_net_time_provider_new):
	* libs/gst/net/gstnettimeprovider.h:
	Use a private stuct to not break ABI.

2008-02-27  Wim Taymans  <wim.taymans@collabora.co.uk>

	Patch by: Peter Kjellerstedt <pkj at axis dot com>

	* libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_init),
	(gst_net_client_clock_finalize), (gst_net_client_clock_do_select),
	(gst_net_client_clock_thread), (gst_net_client_clock_start),
	(gst_net_client_clock_stop), (gst_net_client_clock_new):
	* libs/gst/net/gstnetclientclock.h:
	* libs/gst/net/gstnettimeprovider.c: (gst_net_time_provider_init),
	(gst_net_time_provider_finalize), (gst_net_time_provider_thread),
	(gst_net_time_provider_start), (gst_net_time_provider_stop),
	(gst_net_time_provider_new):
	* libs/gst/net/gstnettimeprovider.h:
	Massive code removal and cleanups because of GstPoll.
	Fixes #505417.

2008-02-27  Wim Taymans  <wim.taymans@collabora.co.uk>

	* configure.ac:
	Add checks for poll, ppoll and pselect.

	* docs/gst/gstreamer-docs.sgml:
	* docs/gst/gstreamer-sections.txt:
	Add docs for GstPoll.

	* gst/Makefile.am:
	* gst/gst.h:
	* gst/gstpoll.c: (find_index), (selectable_fds),
	(pollable_timeout), (choose_mode), (pollfd_to_fd_set),
	(fd_set_to_pollfd), (gst_poll_new), (gst_poll_free),
	(gst_poll_set_mode), (gst_poll_get_mode),
	(gst_poll_add_fd_unlocked), (gst_poll_add_fd),
	(gst_poll_remove_fd), (gst_poll_fd_ctl_write),
	(gst_poll_fd_ctl_read_unlocked), (gst_poll_fd_ctl_read),
	(gst_poll_fd_has_closed), (gst_poll_fd_has_error),
	(gst_poll_fd_can_read_unlocked), (gst_poll_fd_can_read),
	(gst_poll_fd_can_write), (gst_poll_wait),
	(gst_poll_set_controllable), (gst_poll_restart),
	(gst_poll_set_flushing):
	* gst/gstpoll.h:
	Add generic poll abstraction. We ideally don't want to have this in core
	here but in glib intead...
	This code will be used in various network elements and ultimately for
	the nanosecond precision monotonic clock (that's why it's here in core).
	It'll allow us to implement cancelable socket operations for windows too.

	* tests/check/Makefile.am:
	* tests/check/gst/gstpoll.c: (test_poll_wait), (GST_START_TEST),
	(delayed_stop), (delayed_restart), (delayed_flush),
	(delayed_control), (gst_poll_suite):
	Add GstPoll unit test.

2008-02-25  Tim-Philipp Müller  <tim at centricular dot net>

	* gst/gstfilter.c:
	  Improve documentation of gst_filter_run(). Fixes #518627.

2008-02-23  Tim-Philipp Müller  <tim at centricular dot net>

	* docs/README:
	  Add a few lines about the new 'check-inspected-versions' target.

2008-02-21  Stefan Kost  <ensonic@users.sf.net>

	* tests/check/gst/gstevent.c:
	  Add qos to the event test. Rename tcase/tsuite; is not only about
	  custom events.

2008-02-21  Stefan Kost  <ensonic@users.sf.net>

	* plugins/elements/gstqueue.c:
	  Ensure that buffer metadata is writeable, before modifying. Spotted by
	  Mike.

2008-02-20  Stefan Kost  <ensonic@users.sf.net>

	* plugins/elements/gstqueue.c:
	* plugins/elements/gstqueue.h:
	  When dropping buffers in leaky modes, mark next buffers we sent as
	  DISCONT.

2008-02-20  Tim-Philipp Müller  <tim at centricular dot net>

	* plugins/elements/gstfilesrc.c: (gst_file_src_map_region):
	  Also, if mmap() fails that would be a READ error, not OPEN_READ.

2008-02-20  Tim-Philipp Müller  <tim at centricular dot net>

	* plugins/elements/Makefile.am:
	* plugins/elements/gstbufferstore.c:
	* plugins/elements/gstbufferstore.h:
	* plugins/elements/gsttypefindelement.h:
	  Remove GstBufferStore, no idea why we were still building it.
	  It's not used anywhere and superseded by GstAdapter.

	* plugins/elements/gstfilesrc.c: (gst_file_src_map_region),
	  (gst_file_src_create_mmap):
	* plugins/indexers/gstfileindex.c: (gst_file_index_add_association):
	  Printf format fixes for 64-bit integers.

2008-02-19  Sebastian Dröge  <slomo@circular-chaos.org>

	* configure.ac:
	Don't set GST_CACHE_DIR and allow to set it by a configure parameter.
	We're not in 0.8 times anymore.

2008-02-19  Jan Schmidt  <Jan.Schmidt@sun.com>

	* libs/gst/check/gstcheck.c: (gst_check_drop_buffers),
	(gst_check_element_push_buffer_list):
	* libs/gst/check/gstcheck.h:
	Make the declaration in the header for
	gst_check_element_push_buffer_list match the implementation.

	Fix up spelling, grammar and wording of the documentation in a few
	places, and add the Since keyword to new API functions.
	Use g_list_delete_link instead of g_list_remove in
	gst_check_drop_buffers, since it's immeasurably more efficient.

	* tests/check/elements/fakesrc.c: (GST_START_TEST):
	Use new gst_check_drop_buffers function where appropriate.

	* win32/common/libgstbase.def:
	* win32/common/libgstreamer.def:
	Add new symbols gst_collect_pads_take_buffer, 
	gst_collect_pads_read_buffer, gst_index_set_resolver_full to the
	exports

	Changelog surgery to add API keyword to new gst_check API.

2008-02-19  Sebastian Dröge  <slomo@circular-chaos.org>

	* gst/parse/lex._gst_parse_yy.pre.c: (yy_get_next_buffer),
	(_gst_parse_yyensure_buffer_stack), (_gst_parse_yylex_init_extra):
	Update pre-generated flex files with flex 2.3.34.

2008-02-19  Sebastian Dröge  <slomo@circular-chaos.org>

	* gst/gstminiobject.c:
	  Add FIXME for 0.11 to make GstMiniObjectClass::copy() a bit more
	  friendly to subclasses and not require them to know all internals
	  of their parent class.

2008-02-15  Stefan Kost  <ensonic@users.sf.net>

	* docs/libs/gstreamer-libs-sections.txt:
	* libs/gst/base/gstcollectpads.c:
	* libs/gst/base/gstcollectpads.h:
	  Add sub-buffer functions to collectpads. Fixes #516187.
	  API: gst_collect_pads_take_buffer(), gst_collect_pads_read_buffer()

2008-02-15  Stefan Kost  <ensonic@users.sf.net>

	* gst/gstbuffer.c:
	  Copy selected buffer-flags when creating subbuffers.
	  Fixes #516395.

2008-02-12  Sebastian Dröge  <slomo@circular-chaos.org>

	* gst/gstbuffer.c: (gst_buffer_class_init), (gst_buffer_finalize):
	* gst/gstevent.c: (gst_event_class_init), (gst_event_finalize):
	* gst/gstmessage.c: (gst_message_class_init),
	(gst_message_finalize):
	* gst/gstquery.c: (gst_query_class_init), (gst_query_finalize):
	* plugins/elements/gstfilesrc.c: (gst_mmap_buffer_class_init),
	(gst_mmap_buffer_finalize):
	Properly chain up finalize functions to the parent class.

2008-02-11  Wim Taymans  <wim.taymans@collabora.co.uk>

	Patch by: Siavash Safi <siavash dot safi at gmail dot com>

	* gst/gstindex.c: (gst_index_finalize), (gst_index_set_resolver),
	(gst_index_set_resolver_full):
	* gst/gstindex.h:
	Add new function with option to dispose of user_data in resolver.
	Actually call the dispose function when finalizing the object and not
	just when changing the resolver/filter.
	API: GstIndex::gst_index_set_resolver_full()

	* docs/gst/gstreamer-sections.txt:
	Add new function to docs. Fixes #515469.

2008-02-11  Sebastian Dröge  <slomo@circular-chaos.org>

	* gst/gstindex.c: (gst_index_finalize):
	Chain up finalize to the parent class. Fixes leaking the GstObject
	name and other things.

2008-02-08  Jan Schmidt  <jan.schmidt@sun.com>

	* configure.ac:
	Make DISABLE_DEPRECATED defined *only* during CVS, not during
	pre-releases or releases.

	* docs/faq/gst-uninstalled:
	Add gst-plugins-gl

	* docs/random/release:
	Change one of the steps - we only upload core & base to Gnome FTP

2008-02-06  Stefan Kost  <ensonic@users.sf.net>

	* gst/gstconfig.h.in:
	  Add 'id' for example.

	* gst/gstpad.c:
	* gst/gstutils.c:
	* plugins/elements/gstfdsink.c:
	  Link to signals. Doc and comment fixes.

2008-02-05  Tim-Philipp Müller  <tim at centricular dot net>

	* gst/gstpad.h: (GST_PAD_LINK_SUCCESSFUL):
	* gst/gstpluginfeature.h: (GstPluginFeatureClass):
	  Some minor docs fixes: fix typo, mention that GST_FLOW_RESEND is
	  unused and unimplemented; finally, it is plugin features, not
	  plugins, that have ranks.
	  
2008-02-05  Stefan Kost  <ensonic@users.sf.net>

	* gst/gstpluginfeature.h:
	  Clarify GstRank range docs.

2008-02-05  David Schleef  <ds@schleef.org>

	* gst/gst.c: Add a separate gst_deinitialized that prevents
	  gst_init() from being called after gst_deinit().  Fixes #509559

2008-02-05  Sebastian Dröge  <slomo@circular-chaos.org>

	* gst/gstbin.c: (gst_bin_get_type), (gst_bin_base_init),
	(gst_bin_class_init):
	* gst/gstelement.c: (gst_element_base_class_init),
	(gst_element_class_add_pad_template):
	* gst/gstpadtemplate.c: (gst_pad_template_init):
	* gst/gstpipeline.c: (gst_pipeline_get_type),
	(gst_pipeline_base_init), (gst_pipeline_class_init):
	* libs/gst/base/gstbasesink.c:
	* libs/gst/base/gstbasesrc.c: (gst_base_src_get_type),
	(gst_base_src_base_init), (gst_base_src_class_init):
	* plugins/elements/gstcapsfilter.c: (gst_capsfilter_base_init),
	(gst_capsfilter_class_init):
	* plugins/elements/gstfakesink.c: (gst_fake_sink_base_init),
	(gst_fake_sink_class_init):
	* plugins/elements/gstfakesrc.c: (gst_fake_src_base_init),
	(gst_fake_src_class_init):
	* plugins/elements/gstfdsink.c: (gst_fd_sink_base_init),
	(gst_fd_sink_class_init):
	* plugins/elements/gstfdsrc.c: (gst_fd_src_base_init),
	(gst_fd_src_class_init):
	* plugins/elements/gstfilesink.c: (gst_file_sink_base_init),
	(gst_file_sink_class_init):
	* plugins/elements/gstfilesrc.c: (gst_file_src_base_init),
	(gst_file_src_class_init):
	* plugins/elements/gstidentity.c: (gst_identity_base_init),
	(gst_identity_class_init):
	* plugins/elements/gstmultiqueue.c: (gst_multi_queue_base_init),
	(gst_multi_queue_class_init):
	* plugins/elements/gstqueue.c: (gst_queue_base_init),
	(gst_queue_class_init):
	* plugins/elements/gsttee.c: (gst_tee_base_init),
	(gst_tee_class_init):
	* plugins/elements/gsttypefindelement.c:
	(gst_type_find_element_base_init),
	(gst_type_find_element_class_init):
	* tests/check/gst/gstelement.c: (gst_element_suite):
	Revert previous changes to the behaviour of GstPadTemplates, etc
	and the possiblity to call them in class_init as it breaks too
	many elements. Reopens bug #491501.

	Should be applied again for 0.11, thus added a few FIXME 0.11 at
	several places.

2008-02-05  Stefan Kost  <ensonic@users.sf.net>

	* tools/gst-launch.c:
	Dump one graph per pipeline state-change and state change name
	(if GST_DEBUG_DUMP_DOT_DIR is set).

2008-02-04  Thijs Vermeir  <thijsvermeir@gmail.com>

	* gst/gstpad.c:
	* tests/check/gst/gstpad.c:
	Be sure that we have a new copy of the caps and not
	reffed caps from a template

2008-02-03  Sebastian Dröge  <slomo@circular-chaos.org>

	* gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
	* gst/gstpipeline.c: (gst_pipeline_get_type),
	(gst_pipeline_class_init):
	* libs/gst/base/gstbasesink.c: (gst_base_sink_get_type),
	(gst_base_sink_class_init):
	* libs/gst/base/gstbasesrc.c: (gst_base_src_get_type),
	(gst_base_src_class_init):
	* libs/gst/base/gstbasetransform.c: (gst_base_transform_get_type),
	(gst_base_transform_class_init):
	* libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
	(gst_collect_pads_class_init):
	* libs/gst/base/gstdataqueue.c: (gst_data_queue_get_type):
	* libs/gst/net/gstnettimeprovider.c:
	(gst_net_time_provider_base_init),
	(gst_net_time_provider_class_init):
	* plugins/elements/gstcapsfilter.c: (gst_capsfilter_base_init),
	(gst_capsfilter_class_init):
	* plugins/elements/gstfakesink.c: (gst_fake_sink_base_init),
	(gst_fake_sink_class_init):
	* plugins/elements/gstfakesrc.c: (gst_fake_src_base_init),
	(gst_fake_src_class_init):
	* plugins/elements/gstfdsink.c: (gst_fd_sink_base_init),
	(gst_fd_sink_class_init):
	* plugins/elements/gstfdsrc.c: (gst_fd_src_base_init),
	(gst_fd_src_class_init):
	* plugins/elements/gstfilesink.c: (gst_file_sink_base_init),
	(gst_file_sink_class_init):
	* plugins/elements/gstfilesrc.c: (gst_file_src_base_init),
	(gst_file_src_class_init):
	* plugins/elements/gstidentity.c: (gst_identity_base_init),
	(gst_identity_class_init):
	* plugins/elements/gstmultiqueue.c: (gst_multi_queue_base_init),
	(gst_multi_queue_class_init):
	* plugins/elements/gstqueue.c: (gst_queue_base_init),
	(gst_queue_class_init):
	* plugins/elements/gsttee.c: (gst_tee_base_init),
	(gst_tee_class_init):
	* plugins/elements/gsttypefindelement.c:
	(gst_type_find_element_base_init),
	(gst_type_find_element_class_init):
	Don't use base_init where not absolutely necessary. For example it's
	not necessary anymore for adding pad templates or setting element
	details.

	Leave empty base_init functions in several places as GST_BOILERPLATE
	still defines and uses them.

2008-02-03  Sebastian Dröge  <slomo@circular-chaos.org>

	* gst/gstelement.c: (gst_element_base_class_init),
	(gst_element_class_add_pad_template):
	* gst/gstpadtemplate.c:
	Make it possible (and recommended) to set element details and add
	pad templates in the class_init functions by copying the details/pad
	templates in GstElement's base_init.

	Also make it possible to replace existing pad templates by adding
	a new one with the same name. This was done in a hackish fashion
	in same elements before already.

	Don't reference pad templates that are added a second time. A
	new pad template has a refcount of one and is not floating anymore
	and to be owned by the element's class. Make this more explicit by
	mentioning it in the docs of gst_element_class_add_pad_template().

	These changes are backwards compatible. Fixes bug #491501.

	* tests/check/gst/gstelement.c:
	Add unit test for setting element details, adding pad templates and
	replacing them in a subclass.

2008-02-02  Sebastian Dröge  <slomo@circular-chaos.org>

	* tools/gst-inspect.c: (print_interfaces),
	(print_element_properties_info), (print_pad_info),
	(print_signal_info), (print_element_info):
	Fix a few memory leaks.

2008-02-01  Thijs Vermeir  <thijsvermeir@gmail.com>

	* docs/libs/gstreamer-libs-sections.txt:
	* libs/gst/check/gstcheck.c:
	* libs/gst/check/gstcheck.h:
	Add more functions for unit testing: gst_check_drop_buffers,
	gst_check_caps_equal, gst_check_element_push_buffer_list,
	gst_check_element_push_buffer
	API: gst_check_drop_buffers
	API: gst_check_caps_equal
	API: gst_check_element_push_buffer_list
	API: gst_check_element_push_buffer

2008-02-01  Julien Moutte  <julien@fluendo.com>

	* docs/gst/gstreamer-sections.txt: Add GST_CHECK_VERSION to the docs
	* gst/gstindex.c: (gst_index_class_init), (gst_index_free_writer),
	(gst_index_finalize), (gst_index_entry_free),
	(gst_index_add_association): Fix memory leaks.
	* gst/gstversion.h.in: Add GST_CHECK_VERSION macro.
	* plugins/indexers/gstmemindex.c: (gst_mem_index_class_init),
	(gst_mem_index_free_format), (gst_mem_index_free_id),
	(gst_mem_index_finalize): Fix memory leaks.
	* win32/common/config.h: Updated to CVS HEAD.

2008-02-01  Stefan Kost  <ensonic@users.sf.net>

	* docs/README:
	  Some more details about how the plugin docs works.

	* docs/plugins/gstreamer-plugins-sections.txt:
	  Whitespace cleanup.

2008-02-01  Stefan Kost  <ensonic@users.sf.net>

	* gst/parse/grammar.tab.pre.c:
	* gst/parse/grammar.tab.pre.h:
	* gst/parse/grammar.y:
	* gst/parse/lex._gst_parse_yy.pre.c:
	  Add delayed set-property. This allows to set properties on dynamicaly
	  created objects (pads in videomxer). Fixes #509391.

2008-02-01  Thijs Vermeir  <thijsvermeir@gmail.com>

	* gst/gstutils.c:
	Check if caps are not NULL (fix bug #510194)

2008-02-01  Wim Taymans  <wim.taymans@collabora.co.uk>

	* libs/gst/base/gstbasesink.c: (gst_base_sink_loop),
	(gst_base_sink_get_position_paused):
	Add fixme regarding EOS in pull mode.
	Fix position reporting in PAUSED for negative rates.

2008-02-01  Wim Taymans  <wim.taymans@collabora.co.uk>

	* gst/gstminiobject.c: (gst_mini_object_replace):
	When replacing a miniobject, do a quick equality check first so that we
	can avoid a ref/unref pair.

2008-02-01  Wim Taymans  <wim.taymans@collabora.co.uk>

	* docs/design/part-synchronisation.txt:
	Update some docs.

	* docs/plugins/Makefile.am:
	* docs/plugins/gstreamer-plugins-docs.sgml:
	* docs/plugins/gstreamer-plugins-sections.txt:
	* plugins/elements/gstmultiqueue.c:
	Add multiqueue to the docs.

2008-01-30  Jan Schmidt  <jan.schmidt@sun.com>

	* configure.ac:
	  Back to CVS

=== release 0.10.17 ===

2008-01-30  Jan Schmidt <jan.schmidt@sun.com>

	* configure.ac:
	  releasing 0.10.17, "Due Negligence"

2008-01-30  Jan Schmidt  <jan.schmidt@sun.com>

	* gst/gstutils.c:
	Revert caps != NULL check temporarily for 0.10.17 release.

2008-01-30  Thijs Vermeir  <thijsvermeir@gmail.com>

	* gst/gstutils.c:
	Check if caps are not NULL (fix bug #510194)

2008-01-30  Jan Schmidt  <jan.schmidt@sun.com>

	* gst/gstutils.c:
	Fix compilation on systems that have posix timers but no
	monotonic clock.
	Fixes: #512715
	Patch By: Cygwin Ports maintainer <yselkowitz at users dot sourceforge
	dot net>

2008-01-30  Jan Schmidt  <jan.schmidt@sun.com>

	* tools/gst-inspect.c:
	Revert previous commit in preparation for an impromptu 0.10.17 release

2008-01-29  Sebastian Dröge  <slomo@circular-chaos.org>

	* tools/gst-inspect.c: (print_interfaces),
	(print_element_properties_info), (print_pad_info),
	(print_signal_info), (print_element_info):
	Fix a few memory leaks.

2008-01-28  Jan Schmidt  <jan.schmidt@sun.com>

	* configure.ac:
	Back to CVS

=== release 0.10.16 ===

2008-01-28  Jan Schmidt <thaytan@noraisin.net>

	* configure.ac:
	  releasing 0.10.16, "Special Dispensation"

2008-01-24  Tim-Philipp Müller  <tim at centricular dot net>

	* configure.ac:
	  Use AC_TRY_COMPILE instead of AC_TRY_RUN to check for
	  _POSIX_TIMER, _POSIX_MONOTONIC_CLOCK, etc. Makes configure
	  not fail when trying to crosscompile on OpenEmbedded (#511750).

2008-01-20  Sebastian Dröge  <slomo@circular-chaos.org>

	* docs/manuals.mak:
	Use $(MAKE) instead of make to fix the build if GNU make is
	called different. Fixes bug #510747.

2008-01-20  Tim-Philipp Müller  <tim at centricular dot net>

	* gst/gstplugin.c: (_gst_plugin_initialize):
	  Fix old-style static plugins via GST_PLUGIN_DEFINE_STATIC
	  again, which I broke two commits ago when changing the API
	  of gst_plugin_register_static(): the g_list_foreach() in
	  _gst_plugin_register_static still assumed the old function
	  signature and would therefore fail (re-fixes #510187).

	* gst/gstplugin.c: (_num_static_plugins), (_static_plugins),
	  (_gst_plugin_register_static), (gst_plugin_register_static):
	  Revert the (technically correct) change to call g_thread_init() from
	  the pre-main() constructor. This will break programs which call
	  g_thread_init() without an if (!g_thread_supported()) guard in their
	  main function. We could just blame it on GLib or the application, but
	  it's probably best to just avoid this altogether and simply not use
	  any GLib functions here and use plain old malloc() with a simple
	  array to store the plugins to register later when gst_init() is
	  finally called (re-fixes #510187).

	* tests/check/gst/gstplugin.c: (GST_GNUC_CONSTRUCTOR_DEFINED),
	  (GST_GNUC_CONSTRUCTOR_DEFINED), (plugin_init_counter),
	  (plugin1_init), (plugin2_init), (plugin3_init), (GST_START_TEST),
	  (GST_START_TEST), (gst_plugin_suite):
	  Dumb unit test to make sure the old GST_PLUGIN_DEFINE_STATIC still
	  works.

2008-01-17  Tim-Philipp Müller  <tim at centricular dot net>

	* gst/gstplugin.h: (GST_PLUGIN_DEFINE_STATIC):
	  Remove deprecation guards around GST_PLUGIN_DEFINE_STATIC.
	  This makes gtk-doc complain, but results in slightly better
	  compiler errors. The old _gst_plugin_register_static() is
	  still guarded, so there'll be a compiler warning about that
	  instead. Fixes #510187 too.

2008-01-17  Tim-Philipp Müller  <tim at centricular dot net>

	* gst/gst.c: (init_post):
	* gst/gstplugin.c: (_gst_plugin_register_static),
	  (gst_plugin_register_static), (_gst_plugin_initialize):
	* gst/gstplugin.h: (GstPluginFilter):
	  Change API of gst_plugin_register_static() to not take
	  a GstPluginDesc, but rather just take all the arguments
	  in a GstPluginDesc directly. This is more intuitive and
	  avoids certain mistakes when porting code from
	  GST_PLUGIN_DEFINE_STATIC to gst_plugin_register_static().
	  Fixes #510187.

	* tests/check/gst/gstplugin.c:
	  Fix up for changed API.

2008-01-17  Thomas Vander Stichele  <thomas at apestaart dot org>

	* docs/faq/legal.xml:
	  Update FAQ, Totem actually has an exception these days.

2008-01-14  Jan Schmidt  <jan.schmidt@sun.com>

	* win32/common/libgstreamer.def:
	Add new API declarations

2008-01-14  Stefan Kost  <ensonic@users.sf.net>

	* gst/gstminiobject.c:
	  Spelling fixes for the API docs.

2008-01-14  Stefan Kost  <ensonic@users.sf.net>

	* libs/gst/base/gstbasetransform.c:
	  Fix long property description for QoS.

2008-01-12  Jan Schmidt  <Jan.Schmidt@sun.com>

	* gst/gst.c:
	_gst_trace_on is already provided by gsttrace.h, no need to declare
	it ourselves.

	* docs/libs/gstreamer-libs-sections.txt:
	Add 'buffers', 'check_cond' and 'check_mutex' from libgstcheck
	and remove strange tcase_add_test which is outputting a warning.

	* libs/gst/check/gstcheck.c:
	* libs/gst/check/gstcheck.h:
	Properly declare 'buffers', 'check_cond', 'check_mutex' extern
	and define them in gstcheck.c instead of having every .c file whcih
	includes gstcheck.h be defining its own copy and relying on symbol
	interposing to marry them all, which doesn't work on Solaris.

	* tests/check/elements/identity.c: (GST_START_TEST):
	Don't define 'buffers' locally, it comes from libgstcheck.

	* tests/check/generic/sinks.c: (send_buffer):
	Fix type of variable (GstFlowReturn, not GstStateChangeReturn)

	* tests/check/gst/gststructure.c: (GST_START_TEST):
	* tests/check/gst/gstsystemclock.c: (GST_START_TEST):
	* tests/check/gst/gstutils.c: (GST_START_TEST):
	* tests/check/gst/gstvalue.c: (GST_START_TEST):
	Add a bunch of casts to make various constants fit the types
	they're being assigned to.

2008-01-10  Stefan Kost  <ensonic@users.sf.net>

	* gst/gstchildproxy.c:
	  Improve docs and add some ideas for making this more general-purpose.

2008-01-10  Tim-Philipp Müller  <tim at centricular dot net>

	* gst/gst_private.h: (GST_CAT_TYPES):
	  Add GST_CAT_TYPES, for consistency, and so that the other
	  debug categories don't make fun of it. Spotted by Saur on IRC.

2008-01-10  Sebastian Dröge  <slomo@circular-chaos.org>

	* gst/parse/Makefile.am:
	  Move types.h from EXTRA_DIST to noinst_HEADERS.

2008-01-10  Sebastian Dröge  <slomo@circular-chaos.org>

	* autogen.sh:
	  Add -Wno-portability to the automake parameters to stop warnings
	  about GNU make extensions being used. We require GNU make in almost
	  every Makefile anyway.

	* configure.ac:
	  Use AM_PROG_CC_C_O as a compiler that accepts both -c and -o
	  at the same time is required for per target flags.

2008-01-09  Tim-Philipp Müller  <tim at centricular dot net>

	* gst/gstmacros.h:
	  Include glib/gmacros.h for G_BEGIN_DECLS. Check if
	  __GNUC__ is defined before using it.

2008-01-09  Tim-Philipp Müller  <tim at centricular dot net>

	* docs/gst/gstreamer-sections.txt:
	* gst/gst.c: (init_post):
	* gst/gstplugin.c: (_gst_plugin_register_static),
	  (gst_plugin_register_static), (_gst_plugin_initialize),
	  (gst_plugin_register_func):
	* gst/gstplugin.h: (GST_PLUGIN_DEFINE_STATIC):
	  API: add gst_plugin_register_static() and deprecate
	  GST_PLUGIN_DEFINE_STATIC, since it's not portable
	  (#498924).
	  Also, in _gst_plugin_register_static(), make sure to call
	  g_thread_init() before calling GLib functions such as
	  g_list_append() if we're not initialised yet, since that
	  may lead to random crashes with older GSlice/GLib versions.

	* tests/check/gst/gstplugin.c:
	  Adapt unit test to above changes.

2008-01-09  Tim-Philipp Müller  <tim at centricular dot net>

	* gst/gst_private.h: (STRUCTURE_ESTIMATED_STRING_LEN):
	* gst/gstcaps.c: (gst_caps_to_string):
	* gst/gststructure.c: (GST_ASCII_IS_STRING),
	  (priv_gst_structure_append_to_gstring), (gst_structure_to_string):
	  Yet another gratuitous GString micro-optimisation: add a (private)
	  function that serialises a structure appending to an existing
	  GString, so that when we serialise caps we don't need to alloc+free
	  a throwaway GString for each structure (each of which also entailing
	  multiple reallocs on the way); also use g_string_sized_new() in
	  various places with an approximate string length to avoid reallocs
	  within GString. See #500143.

2008-01-09  Tim-Philipp Müller  <tim at centricular dot net>

	* gst/gststructure.c: (gst_structure_id_set_value):
	  Always check UTF-8 conformance of structure strings and not only
	  if the debugging system is enabled; reasoning: the behaviour of
	  the actual code shouldn't really change depending on whether the
	  debugging system is enabled or not (#508291).

2008-01-09  Stefan Kost  <ensonic@users.sf.net>

	* Makefile.am:
	  Remove old coverage target in favour of "make lcov".

2008-01-09  Wim Taymans  <wim.taymans@collabora.co.uk>

	* libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
	(gst_base_src_loop):
	The start segment for reverse playback goes from start to last_stop.

2008-01-09  Wim Taymans  <wim.taymans@collabora.co.uk>

	Patch by: Peter Kjellerstedt <pkj axis com>

	* gst/gstclock.h:
	Cast the results from the timeval/spec_to_time macros to what the
	docs say it casts to, a GstClockTime. fixes #508175.

2008-01-09  Wim Taymans  <wim.taymans@collabora.co.uk>

	* gst/gstbuffer.c:
	Update some comments.

	* tools/gst-inspect.c: (print_element_properties_info):
	Improve printing of flags.

2008-01-08  Tim-Philipp Müller  <tim at centricular dot net>

	* libs/gst/base/gstbasetransform.c:
	  (gst_base_transform_transform_size):
	  Print element name with g_warning() if there's a problem
	  with the unit size.

2008-01-07  David Schleef  <ds@schleef.org>

	Patch by: Damien Lespiau <damien.lespiau@gmail.com>

	* libs/gst/controller/gstcontroller.h:
	* libs/gst/controller/gstcontrolsource.h:
	* libs/gst/controller/gstinterpolationcontrolsource.h:
	* libs/gst/controller/gstlfocontrolsource.h:
	* libs/gst/dataprotocol/dataprotocol.h:
	  Fix empty prototypes.  Fixes bug #507957.

2008-01-07  David Schleef  <ds@schleef.org>

	* docs/faq/dependencies.xml: Fix typo.

2008-01-07  Wim Taymans  <wim.taymans@collabora.co.uk>

	* libs/gst/base/gstbasesrc.c: (gst_base_src_default_do_seek),
	(gst_base_src_loop):
	Don't update the last_stop position in do_seek, that's the position we
	did a seek to.
	Read backwards when we have a negative rate.

	* tests/check/elements/filesrc.c: (event_func), (wait_eos),
	(setup_filesrc), (cleanup_filesrc), (GST_START_TEST),
	(filesrc_suite):
	Add check for reverse reading.

2008-01-07  Tim-Philipp Müller  <tim at centricular dot net>

	Patch by: Alexis Ballier <aballier at gentoo org>

	* tests/check/gst/gstabi.c:
	* tests/check/gst/struct_ppc64.h:
	* tests/check/libs/libsabi.c:
	* tests/check/libs/struct_ppc64.h:
	  Decide which header to include based on the userland ABI target
	  and not the kernel/cpu. Fix up structure sizes of ppc64 header
	  for 64-bit userland (#503590).  Might need something similar for
	  x86 too.

2008-01-05  Tim-Philipp Müller  <tim at centricular dot net>

	* gst/gstdebugutils.c: (_gst_debug_bin_to_dot_file):
	  Log the reason why fopen fails in addition to the fact that it failed.
	  
2008-01-04  Sebastian Dröge  <slomo@circular-chaos.org>

	* gst/parse/parse.l:
	Use "%option never-interactive" to prevent useless calls to isatty()
	on every input when parsing. Also use "%option noinput" to not define
	the static input/yyinput functions which we don't use anyway. This
	removes a compiler warning with gcc 4.3 and saves some bytes in the
	library.
	
	* gst/parse/lex._gst_parse_yy.pre.c:
	Regenerated for the above change.

2008-01-04  Wim Taymans  <wim.taymans@collabora.co.uk>

	* gst/gstpad.c: (fixate_value):
	Don't crash when trying to fixate and empty list.
	Fixes #506643.

2008-01-03  Sebastian Dröge  <slomo@circular-chaos.org>

	* docs/faq/gst-uninstalled:
	Clarify the comments to make the usage of this script and what it
	does easier to understand.

2008-01-01  Thijs Vermeir  <thijsvermeir@gmail.com>

	* tools/gst-plot-timeline.py:
	Add more options to gst-plot-timeline

2007-12-31  Wim Taymans  <wim.taymans@collabora.co.uk>

	* docs/design/part-synchronisation.txt:
	Some more info on how the stream_time in GstBaseSink is done.

2007-12-30  Tim-Philipp Müller  <tim at centricular dot net>

	* tests/check/generic/sinks.c: (gst_sinks_suite):
	  Put back the tcase_set_timeout(), apparently it's needed after
	  all; fix it up in a way that makes things work with valgrind too.

2007-12-30  Thijs Vermeir  <thijsvermeir@gmail.com>

	* gst/gstdebugutils.c:
	  Add warning when failed to open file for writing.

2007-12-28  Tim-Philipp Müller  <tim at centricular dot net>

	Based on patch by: Laurent Glayal  <spglegle yahoo fr>

	* gst/gstvalue.c: (gst_value_is_fixed):
	  Optimisation: bail out of the loop as early as possible (#500143).

2007-12-28  Tim-Philipp Müller  <tim at centricular dot net>

	* gst/gstcaps.c: (gst_caps_to_string):
	* gst/gstinfo.c: (gst_debug_construct_term_color):
	* gst/gstparse.c: (gst_parse_launchv):
	* gst/gstutils.c: (gst_util_dump_mem):
	* gst/gstvalue.c: (gst_value_serialize_any_list),
	  (gst_value_transform_any_list_string):
	  Bunch of gratuitous nano-optimisations.

2007-12-28  Tim-Philipp Müller  <tim at centricular dot net>

	* tests/check/generic/sinks.c: (async_done_func),
	  (async_done_eos_func):
	  Fix leak in unit test (bus sync handler must unref the message
	  if it returns GST_BUS_DROP). Don't fiddle with the default test
	  timeout, this is smaller than the current preconfigured value
	  via CK_DEFAULT_TIMEOUT, and also breaks things with valgrind
	  because it overrides the value specified in CK_DEFAULT_TIMEOUT.

2007-12-24  Wim Taymans  <wim.taymans@collabora.co.uk>

	Based on Patch by: Laurent Glayal <spglegle at yahoo dot fr>

	* configure.ac:
	Check for stdio_ext.h for the filesink changes.

	* plugins/elements/gstfilesink.c: (buffer_mode_get_type),
	(gst_file_sink_class_init), (gst_file_sink_init),
	(gst_file_sink_dispose), (gst_file_sink_set_property),
	(gst_file_sink_get_property), (gst_file_sink_open_file),
	(gst_file_sink_close_file):
	* plugins/elements/gstfilesink.h:
	Add two properties to control the buffering mode and size.
	API: GstFileSink::buffer-mode
	API: GstFileSink::buffer-size
	Fixes #500150.

2007-12-24  Wim Taymans  <wim.taymans@collabora.co.uk>

	* gst/gstsystemclock.c: (gst_system_clock_id_wait_jitter_unlocked):
	Add some more docs to explain why a FIXME was wrongly added. 

2007-12-22  Sebastian Dröge  <slomo@circular-chaos.org>

	* gst/gstobject.c:
	  Fix typo in the gst_object_{ref,unref} documentation.

2007-12-21  Tim-Philipp Müller  <tim at centricular dot net>

	* tests/check/libs/controller.c:
	* tests/check/libs/typefindhelper.c:
	* tests/check/pipelines/parse-launch.c:
	  Don't use GST_PLUGIN_DEFINE_STATIC, it is not portable and is
	  going to be deprecated (see #498924).

2007-12-21  Tim-Philipp Müller  <tim at centricular dot net>

	* gst/gsttypefind.c: (gst_type_find_register):
	  Make gst_type_find_register work for static typefind functions,
	  ie. allow passing plugin == NULL (prerequisite for #498924).

	* gst/gstelementfactory.c: (gst_element_register):
	  Small docs addition.

2007-12-21  Wim Taymans  <wim.taymans@collabora.co.uk>

	* gst/gstpad.c: (gst_pad_dispose):
	Really unlink the peer pad instead of setting the peer pointer to NULL
	when we dispose the pad.
	This correctly calls the unlink functions and makes sure that the peer
	does not have a handle to invalid memory. See #504671.

	* tests/check/gst/gstpad.c: (GST_START_TEST), (gst_pad_suite):
	Add testsuite for above case.

2007-12-20  Tim-Philipp Müller  <tim at centricular dot net>

	Patch by: Peter Kjellerstedt <pkj axis com>

	* libs/gst/check/gstcheck.h:
	  Fix detection of the check version we're compiling against (would
	  otherwise break if check goes v0.10.0); correctly report the
	  name of the failed test again in case of failure, instead of
	  just 'tf' (fixes #504499).

2007-12-19  Wim Taymans  <wim.taymans@collabora.co.uk>

	* libs/gst/base/gstbasesrc.c: (gst_base_src_send_event),
	(gst_base_src_get_range), (gst_base_src_pad_get_range),
	(gst_base_src_loop), (gst_base_src_set_flushing),
	(gst_base_src_change_state):
	Allow sending EOS to the source to make it send out an EOS event from
	the streaming thread.
	Update docs and deprecate the old NULL/READY shutdown method.

	* tests/check/libs/basesrc.c: (GST_START_TEST),
	(gst_basesrc_suite):
	Add unit test for controlled shutdown.

2007-12-19  Wim Taymans  <wim.taymans@collabora.co.uk>

	* docs/design/part-synchronisation.txt:
	Small updates.

	* gst/gstsegment.c: (gst_segment_set_seek),
	(gst_segment_set_newsegment_full), (gst_segment_to_stream_time),
	(gst_segment_to_running_time):
	The seek format can be different from the segment format when the start
	and stop values are not to be updated, when we only do a rate change for
	example.

	* tests/check/gst/gstsegment.c: (GST_START_TEST),
	(gst_segment_suite):
	Add a testcase for the rate-only seeks, checking that the format is
	correctly ignored when start and stop are not updated.

2007-12-18  Sebastian Dröge  <slomo@circular-chaos.org>

	Patch by: Matthias Bolte <photon at mail dot upb dot de>

	* win32/vs8/grammar.vcproj:
	* win32/vs8/libgstcontroller.vcproj:
	* win32/vs8/libgstreamer.vcproj:
	Fix compilation with VS8 and include some missing files.

2007-12-18  Tim-Philipp Müller  <tim at centricular dot net>

	* gst/gsttaglist.c:
	  Small docs addition: mention that the strings returned by
	  gst_tag_list_get_string*() are in UTF-8 encoding.

2007-12-17  Tim-Philipp Müller  <tim at centricular dot net>

	* Makefile.am:
	  The check-exports stuff moved to common/win32.mak, so include that.

2007-12-17  Wim Taymans  <wim.taymans@collabora.co.uk>

	* libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
	(gst_base_src_perform_seek), (gst_base_src_get_range),
	(gst_base_src_set_playing), (gst_base_src_change_state):
	Make _wait_playing() not check any variables so that we can call this
	function from subclasses. Move the checks elsewhere similar to
	_wait_preroll() in basesink.
	Add some debugging.
	Only signal the LIVE cond when we are going back to PLAYING.

2007-12-16  Tim-Philipp Müller  <tim at centricular dot net>

	* gst/gstregistrybinary.c: (gst_registry_binary_write_cache):
	  Use g_remove() and g_rename(). Check result of g_rename(), and
	  don't leak the open file descriptor if we error out when writing.

	* gst/gstregistryxml.c: (load_plugin), (gst_registry_xml_write_cache):
	  Must check the return value of close() after writing out the new
	  registry file.  Sometimes write problems such as out-of-diskspace
	  are only reported when the file is closed and not already during
	  the write.  This may have caused partial/broken registry files in
	  some rare circumstances. Should fix #503675.

2007-12-16  Edward Hervey  <edward.hervey@collabora.co.uk>

	* docs/gst/.cvsignore:
	* docs/libs/.cvsignore:
	* docs/plugins/.cvsignore:
	Ignore files generated by new common/* modifications

2007-12-15  Stefan Kost  <ensonic@users.sf.net>

	* win32/common/libgstbase.def:
	  Yes, you can also have a <TAB> if you want.

2007-12-15  Stefan Kost  <ensonic@users.sf.net>

	* win32/common/libgstbase.def:
	  Add new basetransform API to win export file.

2007-12-15  Stefan Kost  <ensonic@users.sf.net>

	* tests/check/gst/gstbin.c:
	  Adjust the test to the refcount change two days ago.

2007-12-14  David Schleef  <ds@schleef.org>

	* docs/faq/getting.xml: Fix typo.

2007-12-14  Sebastian Dröge  <slomo@circular-chaos.org>

	* docs/libs/gstreamer-libs-sections.txt:
	* libs/gst/base/gstbasetransform.c: (gst_base_transform_init),
	  (gst_base_transform_prepare_output_buffer),
	  (gst_base_transform_set_gap_aware):
	* libs/gst/base/gstbasetransform.h:
	  API: Add gst_base_transform_set_gap_aware() to control whether
	  the element correctly handles GST_BUFFER_FLAG_GAP or shouldn't
	  get buffers with this flag at all. Fixes #503231.

2007-12-13  Stefan Kost  <ensonic@users.sf.net>

	* libs/gst/base/gstbasesink.c:
	* libs/gst/base/gstbasesrc.c:
	* libs/gst/base/gstbasetransform.c:
	  Replace gst_pad_get_parent by GST_OBJECT_PARENT inside streaming
	  thread. Correct log message in gstbasesrc.c.

2007-12-13  Tim-Philipp Müller  <tim at centricular dot net>

	* gst/gstutils.c: (element_find_unconnected_pad):
	  Fix possible compiler warning (#503417).

2007-12-13  Tim-Philipp Müller  <tim at centricular dot net>

	* gst/gstobject.c: (gst_object_dispatch_properties_changed):
	  Don't use GST_CAT_EVENT here for logging, it makes no sense.

2007-12-13  Sebastian Dröge  <slomo@circular-chaos.org>

	* tools/gst-inspect.c: (print_element_properties_info):
	  Add support for GstFraction properties.

2007-12-12  Tim-Philipp Müller  <tim at centricular dot net>

	* Makefile.am:
	  Add check-exports target and run it as part of 'make check'
	  (see #499140 and #493983).

	* gst/gst_private.h:
	* gst/gstelementfactory.h:
	* gst/gstghostpad.c: (gst_proxy_pad_class_init):
	* gst/gstinfo.c: (_priv_gst_in_valgrind), (_gst_debug_init),
	  (_priv_gst_in_valgrind):
	* gst/gstinfo.h: (GstLogFunction):
	* gst/gsttypefind.c: (type_find_debug), (GST_CAT_DEFAULT),
	  (gst_type_find_register):
	* gst/gsttypefindfactory.c: (type_find_debug), (GST_CAT_DEFAULT),
	  (gst_type_find_factory_get_type):
	* libs/gst/controller/gstcontroller.c: (GST_CAT_DEFAULT),
	  (GST_CAT_DEFAULT), (parent_class), (priv_gst_controller_key),
	  (gst_controller_new_valist), (gst_controller_new_list),
	  (_gst_controller_dispose), (_gst_controller_class_init):
	* libs/gst/controller/gstcontrolsource.c: (GST_CAT_DEFAULT):
	* libs/gst/controller/gsthelper.c: (GST_CAT_DEFAULT),
	  (GST_CAT_DEFAULT), (gst_object_uncontrol_properties),
	  (gst_object_get_controller), (gst_object_set_controller),
	  (gst_object_suggest_next_sync), (gst_object_sync_values),
	  (gst_object_set_control_source), (gst_object_get_control_source),
	  (gst_object_get_value_arrays), (gst_object_get_value_array),
	  (gst_object_get_control_rate), (gst_object_set_control_rate):
	* libs/gst/controller/gstinterpolation.c: (GST_CAT_DEFAULT):
	* libs/gst/controller/lib.c: (GST_CAT_DEFAULT):
	  Make some functions that should be static static; rename some
	  private symbols so that they don't get exported; add some FIXME
	  comments so we can move accidentally exported functions into
	  our private section in 0.11.

	* win32/common/libgstreamer.def:
	  Add gst_utils_get_timestamp().

2007-12-12  Stefan Kost  <ensonic@users.sf.net>

	* gst/gstvalue.c:
	* gst/gstvalue.h:
	  Add more missing "Since:" tags to docs.

2007-12-12  Stefan Kost  <ensonic@users.sf.net>

	* gst/gstutils.c:
	  Add mising "Since:" to docs.

2007-12-11  Stefan Kost  <ensonic@users.sf.net>

	* gst/gstplugin.c:
	  Include "glib-compat-private.h" to fix the build on system with
	  glib < 2.10. Fixes #503131.

2007-12-11  Stefan Kost  <ensonic@users.sf.net>

	* gst/gstutils.c:
	* gst/gstutils.h:
	  Actually its not PURE as it gets the time from elsewhere.

2007-12-11  Stefan Kost  <ensonic@users.sf.net>

	* docs/gst/gstreamer-sections.txt:
	* gst/gstclock.h:
	* gst/gstdebugutils.c:
	* gst/gstinfo.c:
	* gst/gstutils.c:
	* gst/gstutils.h:
	* libs/gst/base/gstbasesink.c:
	* tools/gst-launch.c:
	  Change GST_GET_TIMESTAMP into gst_util_get_timestamp and replace all
	  uses as we don't have HAVE_POSIX_TIMERS in public headers.
	  Thanks Tim for spotting.
	  API: gst_util_get_timestamp

2007-12-09  Sebastian Dröge  <slomo@circular-chaos.org>

	* configure.ac:
	  Don't define GST_DISABLE_DEPRECATED for releases. Fixes #498181.

2007-12-08  Tim-Philipp Müller  <tim at centricular dot net>

	* gst/gststructure.c: (gst_structure_validate_name),
	  (gst_structure_new_valist), (gst_structure_parse_value),
	  (gst_structure_from_string):
	  Don't crash in _from_string() if the structure name is not valid
	  (fixes #501560).  Allow structure names to start with a number
	  again (this apparently broke the ubuntu codec installer).

	* tests/check/gst/gststructure.c: (GST_START_TEST), (GST_START_TEST),
	  (GST_START_TEST):
	  Add unit test for the crash; update unit tests for new behaviour.

2007-12-03  Wim Taymans  <wim.taymans@gmail.com>

	* gst/gstutils.c:
	Clarify gst_element_get_compatible_pad() documentation.
	Fixes #500919.

2007-12-02  Sebastian Dröge  <slomo@circular-chaos.org>

	* tests/check/Makefile.am:
	  Don't forget to dist {gst,libs}/struct_hppa.h.

2007-11-28  Stefan Kost  <ensonic@users.sf.net>

	* libs/gst/base/gstbasesink.c:
	  Use new API to get elapsed time.

2007-11-28  Stefan Kost  <ensonic@users.sf.net>

	* gst/gstdebugutils.c:
	* gst/gstinfo.c:
	  Fix wrong order of args in GST_CLOCK_DIFF() usage.

	* tools/gst-launch.c:
	  Use new API to get elapsed time.

2007-11-28  Stefan Kost  <ensonic@users.sf.net>

	* docs/gst/gstreamer-sections.txt:
	* gst/gstclock.h:
	* gst/gstdebugutils.c:
	* gst/gstinfo.c:
	  Rename new API + ChangeLog surgery to remove old name from last entry..

2007-11-28  Stefan Kost  <ensonic@users.sf.net>

	* docs/gst/gstreamer-sections.txt:
	* gst/gstclock.h:
	* gst/gstdebugutils.c:
	* gst/gstinfo.c:
	  Now hide the different clock stuff behind a macro.

2007-11-28  Stefan Kost  <ensonic@users.sf.net>

	* configure.ac:
	* gst/gstdebugutils.c:
	* gst/gstinfo.c:
	  Apply the posix-timer check from #361155. Conditionally use the posix
	  timer for logging. This gives better timestamp precission, less
	  overhead and no ntp jitter.

2007-11-28  Sebastian Dröge  <slomo@circular-chaos.org>

	* gst/gstminiobject.c: (gst_mini_object_get_type),
	(gst_mini_object_class_init), (gst_mini_object_copy_default),
	(gst_mini_object_finalize), (gst_mini_object_copy),
	(gst_mini_object_is_writable), (gst_mini_object_make_writable),
	(gst_mini_object_replace), (param_mini_object_validate),
	(gst_param_spec_mini_object_get_type):
	Some cleanup and checking against invalid function parameters.

2007-11-28  Wim Taymans  <wim.taymans@gmail.com>

	* docs/gst/gstreamer-sections.txt:
	* gst/gstclock.h:
	* tests/check/gst/gstsystemclock.c: (GST_START_TEST),
	(gst_systemclock_suite):
	Start merging in the easy bits of #361155, the monotonic clock patch.
	This one adds a few handy macros with docs and a testsuite.

2007-11-27  Wim Taymans  <wim.taymans@gmail.com>

	* plugins/elements/gstfilesink.c: (gst_file_sink_event):
	Be a bit smarter when seeking, like, don't try to do a seek when it's
	not needed. This avoids errors when the file is not seekable.
	Fixes #499771.

2007-11-26  Stefan Kost  <ensonic@users.sf.net>

	* docs/gst/gstreamer-docs.sgml:
	* docs/gst/gstreamer-sections.txt:
	* docs/gst/gstreamer.types.in:
	* gst/Makefile.am:
	* gst/gst.h:
	* gst/gstpreset.c:
	* gst/gstpreset.h:
	* plugins/elements/gstqueue.c:
	  Due to popular request remove preset interface again. :-(.

2007-11-22  Stefan Kost  <ensonic@users.sf.net>

	* tools/gst-inspect.c:
	  Print 'default value' for enums and flags too.

2007-11-22  Stefan Kost  <ensonic@users.sf.net>

	* docs/random/ensonic/profiling.txt:
	  More ideas.

	* gst/gstbin.c:
	  Fix typo and give better log output.

	* gst/gstdebugutils.c:
	* gst/gstdebugutils.h:
	  More ideas, make graphs a bit smaller and fix param name in macro.

2007-11-22  Stefan Kost  <ensonic@users.sf.net>

	* gst/gstpreset.c:
	  Try harder to use the return value from fgets().

2007-11-21  Stefan Kost  <ensonic@users.sf.net>

	* gst/gstpreset.c:
	  For theses two fgets we handle the error below.

2007-11-21  Wim Taymans  <wim.taymans@gmail.com>

	* libs/gst/base/gstbasesink.c: (gst_base_sink_send_event):
	Only send upstream events upstream. Fixes #498746.

2007-11-21  Wim Taymans  <wim.taymans@gmail.com>

	Patch by: Laurent Glayal <spglegle at yahoo dot fr>

	* plugins/elements/gstidentity.c: (gst_identity_class_init),
	(gst_identity_init), (gst_identity_transform_ip),
	(gst_identity_set_property), (gst_identity_get_property):
	* plugins/elements/gstidentity.h:
	Add property to disable handoff signal emission. Fixes #498694.
	API: GstIdentity::signal-handoffs

2007-11-21  Julien Moutte  <julien@fluendo.com>

	* docs/faq/gst-uninstalled: Yet another missing library for the
	uninstalled script (fft)

2007-11-21  Jan Schmidt  <jan.schmidt@sun.com>

	* docs/faq/developing.xml:
	Add a question about how to submit new translations.

	* docs/random/release:
	Update the contact email address for the Translation Project

	* plugins/elements/gstfdsrc.c:
	The parent_class for fdsrc is pushsrc, not GstElement.

2007-11-20  Stefan Kost  <ensonic@users.sf.net>

	* gst/gstpreset.c:
	  Plug a leak and fix saving.

2007-11-20  Sebastian Dröge  <slomo@circular-chaos.org>

	* docs/gst/gstreamer-sections.txt:
	Add new gst_preset__get_property_names() function to the docs
	to fix the build.

2007-11-20  Stefan Kost  <ensonic@users.sf.net>

	* gst/gstpreset.c:
	* gst/gstpreset.h:
	  Change _get_preset_names API to return a strv with copies. Add
	  _get_property_names to allow implementations to filter and provide
	  good default implementation.

2007-11-20  Julien MOUTTE  <julien@moutte.net>

	* docs/faq/gst-uninstalled: Add another library to the uninstalled
	script (sdp).

2007-11-19  Stefan Kost  <ensonic@users.sf.net>

	* gst/gstpreset.c:
	  More cleanups, docs, and TODOs from comments that now slowly come in.

2007-11-19  Julien MOUTTE  <julien@moutte.net>

	* docs/faq/gst-uninstalled: Add new base libraries in the LD 
	search path.

2007-11-19  Stefan Kost  <ensonic@users.sf.net>

	* gst/gstpreset.c:
	  Fix bogus warning and make the property type specific code more
	  similar.

2007-11-19  Julien MOUTTE  <julien@moutte.net>

	* gst/gstpreset.c: (gst_preset_default_create_preset): Make
	it build on OS X.

2007-11-19  Wim Taymans  <wim.taymans@gmail.com>

	* gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
	(gst_bin_add_func), (gst_bin_remove_func),
	(gst_bin_change_state_func), (gst_bin_continue_func):
	Change email, cleanups add some more debug and comments.
	Also set bus and clock on new elements when the pipeline was in error.

2007-11-18  Stefan Kost  <ensonic@users.sf.net>

	* gst/gstbin.c:
	* gst/gstdebugutils.c:
	  Fix build with --disable-gst-debug. Fixes #497859.
	  Spotted by Sameer Naik.

2007-11-17  Stefan Kost  <ensonic@users.sf.net>

	* gst/gstevent.c:
	  Little documentation improvment.

	* gst/gstpreset.c:
	  More TODO cleanups. Remove c++ comments.

	* libs/gst/controller/gstcontroller.c:
	  Add TODO and use quark from static string.

	* tests/check/gst/gstmessage.c:
	* tests/check/gst/gststructure.c:
	  Use quark from static string.

2007-11-17  Stefan Kost  <ensonic@users.sf.net>

	* gst/gstpreset.c:
	  Add some comments and TODOs.

	* gst/gstpreset.h:
	  Add padding for future changes.

	* plugins/elements/gstqueue.c:
	  Implement the iface.	  

2007-11-17  Stefan Kost  <ensonic@users.sf.net>

	* docs/gst/gstreamer-docs.sgml:
	* docs/gst/gstreamer-sections.txt:
	* docs/gst/gstreamer.types.in:
	* gst/Makefile.am:
	* gst/gst.h:
	* gst/gstpreset.c:
	* gst/gstpreset.h:
	  Add the preset interface (Fixes #396779). Do some doc cleanups along.

2007-11-16  Jan Schmidt  <jan.schmidt@sun.com>

	* configure.ac:

	Back to CVS

=== release 0.10.15 ===

2007-11-15  Jan Schmidt <jan.schmidt@sun.com>

	* configure.ac:
	  releasing 0.10.15, "October"

2007-11-14  Jan Schmidt  <jan.schmidt@sun.com>

	* win32/vs6/libgstreamer.dsp:
	Convert line endings back to DOS.

2007-11-13  Stefan Kost  <ensonic@users.sf.net>

	* docs/design/draft-tagreading.txt:
	* docs/random/ensonic/profiling.txt:
	Update fast tagreading draft and performance profiling ideas.

2007-11-09  Wim Taymans  <wim.taymans@gmail.com>

	* libs/gst/base/gstbasesink.c: (gst_base_sink_set_last_buffer):
	Don't hold the object lock when unreffing a buffer because it could
	cause a deadlock when the finalize function wants to grab the object
	lock too. Fixes #495133.

2007-11-09  Wim Taymans  <wim.taymans@gmail.com>

	* gst/gstsegment.c: (gst_segment_set_newsegment_full),
	(gst_segment_to_stream_time), (gst_segment_to_running_time):
	Also accumulate time correctly when doing reverse playback. Fixes
	#488201,
	When converting to running and stream time, use default values for
	start/stop/time/accum when comparing different formats. Fixes #494245.

	* libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
	Do running/stream time in TIME format.

	* tests/check/gst/gstsegment.c: (GST_START_TEST),
	(gst_segment_suite):
	2 new unit tests for segment accumulation.

2007-11-07  Tim-Philipp Müller  <tim at centricular dot net>

	* gst/gst.c: (init_pre):
	* gst/gstdebugutils.c: (priv_gst_dump_dot_dir), (debug_dump_element),
	  (_gst_debug_bin_to_dot_file):
	  Move getenv() back into gst_init, so everyone can live happily
	  ever after. Make sure the symbol isn't exported though.

2007-11-06  Tim-Philipp Müller  <tim at centricular dot net>

	Patch by: Sebastien Moutte  <sebastien moutte net>

	* win32/common/gstenumtypes.c:
	* win32/common/gstenumtypes.h:
	  Update enum types.

	* win32/vs6/libgstreamer.dsp:
	  Update vs6 project files (#494343).

2007-11-06  Wim Taymans  <wim.taymans@gmail.com>

	* libs/gst/base/gstbasesrc.c: (gst_base_src_default_query),
	(gst_base_src_perform_seek), (gst_base_src_default_event),
	(gst_base_src_set_flushing), (gst_base_src_activate_push),
	(gst_base_src_activate_pull):
	Unify flushing code, remove some old unlock code that is no longer used.
	Take the streaming lock when seeking to avoid races. Fixes #492729.
	Added some more comments.

2007-11-06  Tim-Philipp Müller  <tim at centricular dot net>

	* gst/gst.c: (_gst_disable_segtrap):
	  Make  _gst_disable_segtrap static, it's only used in gstplugin.c and
	  we can use gst_segtrap_is_enabled() there now that we have that API.
	  Move _gst_debug_dump_dot_dir into gstdebugutils.c, there's no reason
	  to do the getenv here (and export the variable).

	* gst/gstdebugutils.c: (debug_dump_element),
	  (_gst_debug_bin_to_dot_file), (_gst_debug_bin_to_dot_file_with_ts):
	  Don't use VLAs which is a C99ism and throws off MSVC (#493983).

	* gst/gstinfo.c: (_priv_gst_info_start_time), (_gst_debug_init),
	  (gst_debug_log_default):
	  Rename _gst_info_start_time to priv_gst_info_start_time so it
	  doesn't get exported (was never in any header).

	* gst/gstplugin.c: (_gst_plugin_fault_handler_setup),
	  (gst_plugin_loading_mutex):
	  Make static mutex gst_plugin_loading_mutex really static (was never
	  in any header), and use gst_segtrap_is_enabled() instead of
	  _gst_disable_segtrap.

	* gst/gsttrace.c: (_gst_trace_default):
	  Make local _gst_trace_default static (was never in any header).

2007-11-06  Tim-Philipp Müller  <tim at centricular dot net>

	Patch by: Ole André Vadla Ravnås  <ole.andre.ravnas@tandberg.com>

	* win32/common/libgstbase.def:
	* win32/common/libgstcontroller.def:
	* win32/common/libgstdataprotocol.def:
	* win32/common/libgstnet.def:
	* win32/common/libgstreamer.def:
	  Add more missing symbols, remove some duplicates, and sort
	  as the 'sort' command sorts it (partially fixes #493983).

2007-11-06  Wim Taymans  <wim.taymans@gmail.com>

	* gst/gstelement.c: (gst_element_set_state_func):
	Only change the state cookie if a different state was set on the
	element. See #492729.

2007-11-06  Tim-Philipp Müller  <tim at centricular dot net>

	* gst/gstvalue.c:
	  Remove unused and uninitialised type variables that were still
	  exported for some reason (they were never in any header files
	  though).

2007-11-06  Wim Taymans  <wim.taymans@gmail.com>

	* libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
	(gst_base_sink_do_sync), (gst_base_sink_preroll_object),
	(gst_base_sink_event), (gst_base_sink_get_position_last),
	(gst_base_sink_get_position_paused), (gst_base_sink_get_position),
	(gst_base_sink_change_state):
	Don't try to report a 0 position when we don't know, return -1 and FALSE
	instead. This mostly happens when we are prerolling.
	Make sure we can report the right position before we post the ASYNC_DONE
	message so that a message handler can query position without races.

	* tests/check/generic/sinks.c: (send_eos), (GST_START_TEST),
	(async_done_handoff), (async_done_func), (send_buffer),
	(async_done_eos_func), (gst_sinks_suite):
	Add two tests for the above.

2007-11-06  Wim Taymans  <wim.taymans@gmail.com>

	* MAINTAINERS:
	Update with new email address.

	* docs/design/part-TODO.txt:
	Add some more info about future pad-block and negotiation changes.

	* docs/design/part-buffering.txt:
	Add some ideas about buffering reporting.

2007-11-06  Jan Schmidt  <jan.schmidt@sun.com>

	* tests/check/gst/gstobject.c:
	Disable silly racy test that always fails on this combination of CPU
	and kernel.

2007-11-03  Tim-Philipp Müller  <tim at centricular dot net>

	Patch by: Murray Cumming  <murrayc@murrayc.com>

	* gst/gstobject.c:
	  Corrected the registration of the parent-set and parent-unset
	  signals: The parameter is a GstObject, not a GObject (#493134).

2007-11-02  Tim-Philipp Müller  <tim at centricular dot net>

	* gst/gst_private.h:
	* gst/gstbuffer.h:
	* gst/gstevent.h:
	* gst/gstformat.h:
	* gst/gstmessage.h:
	* gst/gstplugin.h:
	* gst/gstquery.h:
	* gst/gsttaglist.h:
	* gst/gstvalue.h:
	  Move declaration of private _gst_foo_initialize() functions into
	  our private header file where they should have been all along.

2007-11-02  Tim-Philipp Müller  <tim at centricular dot net>

	* docs/plugins/gstreamer-plugins-sections.txt:
	* gst/gstdebugutils.h:
	* gst/gstxml.h:
	* plugins/elements/gstqueue.c:
	  gtk-doc fixes; trailing-comma-in-enum fix.

2007-11-02  Tim-Philipp Müller  <tim at centricular dot net>

	* gst/gst.c: (gst_deinit):
	  Clean up on deinit (not the external ones though, doesn't seem to be
	  needed for some reason).

2007-11-01  Tim-Philipp Müller  <tim at centricular dot net>

	* gst/gstinfo.h: (GST_DEBUG_CATEGORY_EXTERN):
	  Remove __declspec(dllimport) for MSVC that was copied over into core
	  from a plugin, obviously without ever having been tested (note the
	  single underscore in _declspec in the initial commit), and that doesn't
	  really make sense.  See #492077.

2007-11-01  Tim-Philipp Müller  <tim at centricular dot net>

	* gst/gst.c: (init_post):
	* gst/gstevent.c: (_gst_event_initialize):
	* gst/gstquery.c: (_gst_query_initialize):
	* libs/gst/dataprotocol/dataprotocol.c (gst_dp_init):
	  g_type_class_ref() other types as well, see #349410 and #64764.

	* gst/gstbuffer.c: (_gst_buffer_initialize):
	* gst/gstmessage.c: (_gst_message_initialize):
	  Simplify existing g_type_class_ref().

2007-11-01  Tim-Philipp Müller  <tim at centricular dot net>

	* gst/gstformat.c: (_gst_format_initialize):
	  g_type_class_ref() our GstFormat type to make sure we avoid the
	  thread-unsafe bits of the GObject/GType system, ie. bug #349410 and
	  bug #64764. Should fix intermittent tee unit test failures (#474823).

2007-11-01  Tim-Philipp Müller  <tim at centricular dot net>

	* tests/check/elements/tee.c: (test_num_buffers):
	  Simplify, simplify, simplify - or not.  Rewrite unit test
	  not to use gst_parse_launch(); allow N sub-streams. Increasing
	  the number of sub-streams seems to reproduce #474823 more easily.

2007-10-31  Tim-Philipp Müller  <tim at centricular dot net>

	Patch by: Ole André Vadla Ravnås  <ole.andre.ravnas@tandberg.com>

	* gst/gsttrace.c:
	* libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_new):
	* libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send):
	* libs/gst/net/gstnettimeprovider.c: (gst_net_time_provider_new):
	  Fix a couple of missing includes for MSVC2005 and a C99 issue. Also,
	  starting with 2.14.0, GLib won't provide a pipe() macro any longer,
	  so use _pipe() directly (#492077).

	* win32/common/dirent.c: (_treaddir):
	  Add a couple of casts to make it build without warnings with MSVC.

	* win32/common/libgstreamer.def:
	  Add some more symbols that need to be exported.

2007-10-31  Tim-Philipp Müller  <tim at centricular dot net>

	* tests/examples/metadata/read-metadata.c: (message_loop):
	  Use _KEEP as merge mode rather than _KEEP_ALL, so tags
	  arriving in a second or third tag message are added to
	  the tag list as well.

2007-10-31  Stefan Kost  <ensonic@users.sf.net>

	* libs/gst/base/gstbasesrc.c:
	  Its "Since:" and not "@Since:". And remove an superflous cast.

2007-10-30  Wim Taymans  <wim.taymans@gmail.com>

	* docs/libs/gstreamer-libs-sections.txt:
	* libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
	(gst_base_sink_get_last_buffer), (gst_base_sink_set_last_buffer),
	(gst_base_sink_get_property), (gst_base_sink_render_object),
	(gst_base_sink_preroll_object),
	(gst_base_sink_queue_object_unlocked), (gst_base_sink_event),
	(gst_base_sink_change_state):
	* libs/gst/base/gstbasesink.h:
	Add a new last-buffer property that contains the last buffer used in
	basesink for preroll or rendering. useful for making snapshots.
	API: gst_base_sink_get_last_buffer()
	API: GstBaseSink::last-buffer

2007-10-29  Stefan Kost  <ensonic@users.sf.net>

	* docs/gst/running.xml:
	* gst/gst.c:
	* gst/gstdebugutils.c:
	* gst/gstdebugutils.h:
	* tools/gst-launch.c:
	  Improve bin graph dumping, by using the envvar to specify a path.
	  Rename the envvar to GST_DEBUG_DUMP_DOT_DIR.

2007-10-29  Tim-Philipp Müller  <tim at centricular dot net>

	* plugins/elements/gsttypefindelement.c:
	  (gst_type_find_element_handle_event),
	  (gst_type_find_element_activate):
	  Post special error message if we can't determine the type of a stream
	  because it's empty.

2007-10-29  Stefan Kost  <ensonic@users.sf.net>

	* docs/gst/running.xml:
	* gst/gstdebugutils.c:
	  Document new env-var. Add one log-line after dumpng a graph.

2007-10-26  Tim-Philipp Müller  <tim at centricular dot net>

	* configure.ac:
	  Ugly hack to put the (recently removed and non-portable, apparently)
	  -Wl,--export-dynamic back into libgstcheck's LDFLAGS when we're using
	  GNU ld, because without that 'make check' fails miserably on my debian
	  stable box.  Someone with more knowledge of linker intricacies and
	  portability issues than me fix this properly please.

2007-10-25  Wim Taymans  <wim.taymans@gmail.com>

	* libs/gst/base/gstbasesink.c: (gst_base_sink_event):
	Reset last seen position after flushing so that we don't report the old
	position anymore.

2007-10-25  Jan Schmidt  <Jan.Schmidt@sun.com>

	* gst/gstelementfactory.c: (gst_element_register):
	* gst/gsturi.h:
	Patch from Alessandro Decina adding get_type_full and
	get_protocols_full private vfuncs to the URIHandler interface
	to allow bindings to support creating URI handlers. 
	Partially fixes: #339279
	API: GstURIHandlerInterface::get_type_full
	API: GstURIHandlerInterface::get_protocols_full

2007-10-25  Jan Schmidt  <Jan.Schmidt@sun.com>

	* plugins/elements/gstmultiqueue.c: (gst_multi_queue_set_property),
	(gst_multi_queue_request_new_pad), (gst_single_queue_flush),
	(gst_multi_queue_loop), (gst_multi_queue_sink_activate_push):
	Make it so that pads are considered linked until a buffer is pushed
	and discovered otherwise. This avoids problems with decodebin2 hanging
	after a seek in the filesrc ! decodebin2 name=d ! fakesink d. ! fakesink
	case.

	Make sure we lock the multiqueue when updating the max-size properties.
	
	Fix a crash on Solaris in a debug statement in get_request_pad that
	passes a NULL string to GST_DEBUG. 

	* tests/check/elements/multiqueue.c: (mq_dummypad_chain),
	(run_output_order_test):
	Fix the test to allow the first buffer on not-linked pads to come out
	of sequence while multiqueue discovers that they are not-linked.

2007-10-25  Jan Schmidt  <Jan.Schmidt@sun.com>

	* configure.ac:
	* libs/gst/check/Makefile.am:
	Use a custom export symbol regex for libgstcheck, as it needs
	to export symbols that don't match the standard GStreamer gst_*
	pattern, and  --export-dynamic is not portable (only works on 
	GNU ld)

	* libs/gst/check/gstcheck.c: (gst_check_setup_src_pad),
	(gst_check_setup_sink_pad):
	Make sure to pass a message parameter to the fail_* macros.

	* tests/check/gst/gstinfo.c: (GST_START_TEST):
	Fix some compiler warnings.

2007-10-25  Tim-Philipp Müller  <tim at centricular dot net>

	* tests/check/gst/gststructure.c: (test_to_string):
	  Disable test that checks that white spaces are not allowed
	  in structure names or field names, since we need to
	  support that for now for backwards compatibility reasons.

2007-10-24  Tim-Philipp Müller  <tim at centricular dot net>

	* docs/gst/gstreamer-sections.txt:
	* gst/gsttaglist.c:
	* gst/gsttaglist.h:
	  API: add GST_TAG_ARTIST_SORTNAME
	  API: add GST_TAG_ALBUM_SORTNAME
	  API: add GST_TAG_TITLE_SORTNAME
	  Add tag variants for sorting (#414539).

2007-10-24  Tim-Philipp Müller  <tim at centricular dot net>

	* gst/gststructure.c:
	  Also allow white space for names so we don't break
	  backwards compatibility.

2007-10-22  Wim Taymans  <wim.taymans@gmail.com>

	* docs/design/part-TODO.txt:
	* docs/design/part-segments.txt:
	* docs/design/part-streams.txt:
	Small updates.

2007-10-22  Edgard Lima  <edgard.lima@indt.org.br>

	* docs/gst/gstreamer-sections.txt:
	 Fixed documentation from my previous commit (added new API add
	 gst_value_set_structure(), add gst_value_get_structure() and
	 GST_VALUE_HOLDS_STRUCTURE).

2007-10-22  Stefan Kost  <ensonic@users.sf.net>

	* gst/gstdebugutils.c:
	  Reflow code to fix uninitialized variable warning.

2007-10-22  Edgard Lima  <edgard.lima@indt.org.br>

	* gst/gstcaps.c: (gst_caps_to_string),
	(gst_caps_from_string_inplace):
	* gst/gststructure.c: (gst_structure_get_abbrs),
	(gst_structure_to_string), (gst_structure_from_string):
	* gst/gstvalue.c: (gst_value_set_structure),
	(gst_value_get_structure), (gst_value_serialize_structure),
	(gst_value_deserialize_structure), (_gst_value_initialize):
	* gst/gstvalue.h:
	* tests/check/gst/gststructure.c: (GST_START_TEST),
	(gst_structure_suite):
	* tests/check/gst/gstvalue.c: (GST_START_TEST):
	 Added GstStructure to gst_value_table and its related functions.
	 Changed gst_structure_to_string to print ';' in the end.
	 Changed gst_caps_to_string to not print ';' beteween its
	 fields (structures) anymore and remove the lastes ';' from latest
	 structure. Now it is possible to have nested structures.
	 In addition, backward compatibilty is assured by accepting '\0' as
	 end delimiter. Fixes: #487969.
	 API: add gst_value_set_structure()
	 API: add gst_value_get_structure()
	 API: add GST_VALUE_HOLDS_STRUCTURE

2007-10-19  Tim-Philipp Müller  <tim at centricular dot net>

	* gst/gstbus.c:
	  When no GSource callback has been set up, tell developer
	  to use a function that actually exists.

2007-10-17  Stefan Kost  <ensonic@users.sf.net>

	* docs/gst/gstreamer-sections.txt:
	* gst/Makefile.am:
	* gst/gst.c:
	* gst/gst.h:
	* gst/gstdebugutils.c:
	* gst/gstdebugutils.h:
	* gst/gstinfo.c:
	* gst/gstinfo.h:
	* tools/gst-launch.c:
	  Allow dumping pipelines as dot graphs. Fixes #456573.

2007-10-16  Tim-Philipp Müller  <tim at centricular dot net>

	* gst/gststructure.c:
	  Allow '+' as well, it can be part of media or mime types
	  such as image/svg+xml.

2007-10-16  Tim-Philipp Müller  <tim at centricular dot net>

	* docs/gst/gstreamer-sections.txt:
	* gst/gstbus.c:
	* gst/gstbus.h:
	  API: add gst_bus_pop_filtered
	  API: add gst_bus_timed_pop_filtered
	  Two new functions for waiting for specific message types on the
	  bus for a specified amount of time without iterating any main
	  loops or main contexts.

	* tests/check/gst/gstbus.c:
	  Some tests for the new functions.

2007-10-16  Tim-Philipp Müller  <tim at centricular dot net>

	* docs/libs/gstreamer-libs-sections.txt:
	  Make gtk-doc ignore stuff it should ignore.

2007-10-16  Tim-Philipp Müller  <tim at centricular dot net>

	* libs/gst/check/gstcheck.c:
	* libs/gst/check/gstcheck.h:
	  Allow runtime selection of unit tests to run via the GST_CHECKS
	  environment variable (test case function names, comma-separated).

2007-10-16  Stefan Kost  <ensonic@users.sf.net>

	* gst/gststructure.c:
	* tests/check/gst/gststructure.c:
	  Revert serialisation change and constrain structure-names after
	  consensus on irc. Update api documentation to reflect the change.

2007-10-16  Stefan Kost  <ensonic@users.sf.net>

	* gst/gststructure.c:
	  Improve serialization and fix tests.

	* tests/check/gst/gststructure.c:
	  Add another test that covers why I actually did the previous structure
	  change.

2007-10-15  Wim Taymans  <wim.taymans@gmail.com>

	* tools/gst-inspect.c: (print_element_info):
	Don't crash when inspecting an element.

2007-10-15  Tim-Philipp Müller  <tim at centricular dot net>

	* tests/check/gst/gststructure.c:
	  Add unit test for escaping of structure name when serialising
	  and deserialising to/from strings.

2007-10-15  Wim Taymans  <wim.taymans@gmail.com>

	* plugins/elements/gstmultiqueue.c: (gst_single_queue_push_one),
	(gst_single_queue_new):
	* plugins/elements/gstqueue.c: (gst_queue_init),
	(gst_queue_push_one):
	Fix queue negotiation. If acceptcaps unconditionally returns TRUE,
	upstream is tricked into thinking it can suggest a format downstream
	while downstream does not support that format. The real problem is that
	core calls acceptcaps when pushing a buffer with new caps, for which we
	do a little workaround by setting the caps on the srcpad ourselves
	before pushing the buffer (until this is figured out). Fixes #486758.

2007-10-15  Stefan Kost  <ensonic@users.sf.net>

	* gst/gststructure.c:
	* gst/gstvalue.c:
	  Add some more comments and debug output. Quote structure name to fix
	  deserialisation of some strings.

2007-10-15  Stefan Kost  <ensonic@users.sf.net>

	* gst/gstbuffer.h:
	  Define GST_BUFFER_FLAG_GAP more strictly to enable optimizations based
	  on it. Fix docs for GST_BUFFER_MALLOCDATA and GstBuffer.malloc_data.

2007-10-15  Stefan Kost  <ensonic@users.sf.net>

	* tools/gst-inspect.c:
	  Save approx. 400 1 byte allocs when printing. Use API to acces element
	  details.

	* tools/gst-run.c:
	  Avoid a strdup.

	* tools/gst-xmlinspect.c:
	  Use API to acces element details.

2007-10-15  Stefan Kost  <ensonic@users.sf.net>

	* gst/gstinfo.c:
	  Fix some spelling errors.

2007-10-14  Wim Taymans  <wim.taymans@gmail.com>

	* gst/gstbin.c: (bin_handle_async_done):
	Correctly set the next state if all of our async children commited their
	state. This makes sure we can actually cancel the state change in
	progress. Fixes a regression in Rhythmbox when seeking.

2007-10-13  Tim-Philipp Müller  <tim at centricular dot net>

	* gst/gstbin.c:
	  Don't shadow local variable.

	* gst/gstinfo.c:
	  Don't shadow global function name.

2007-10-13  Tim-Philipp Müller  <tim at centricular dot net>

	* gst/gstelementfactory.c:
	* gst/gstpluginfeature.c:
	* gst/gstpluginfeature.h:
	* gst/gstregistrybinary.c:
	* gst/gstregistryxml.c:
	* gst/gsttypefind.c:
	  Use already-interned string for the private GstPluginFeature
	  plugin_name field.

2007-10-10  Tim-Philipp Müller  <tim at centricular dot net>

	* docs/libs/gstreamer-libs-sections.txt:
	  Add new API to docs; fixes the build.

2007-10-10  Wim Taymans  <wim.taymans@gmail.com>
	
	Patch inspired by: Benoit Fouet <benoit dot fouet at purplelabs dot com>

	* libs/gst/base/gstbasesink.c: (gst_base_sink_wait_eos),
	(gst_base_sink_event):
	* libs/gst/base/gstbasesink.h:
	Add function to wait for EOS, subclasses can use this to correctly wait
	for devices to drain before performing the EOS logic. Fixes #485343.
	API: gst_base_sink_wait_eos()

2007-10-10  Tim-Philipp Müller  <tim at centricular dot net>

	* gst/gstplugin.h:
	  Cast description string constants in GST_PLUGIN_DEFINE macros
	  to a (gchar*) to make C++ code using these macros compile
	  without warning with g++-4.2 (see #462737).  Even if slightly
	  ugly, this seems preferable to putting the description strings
	  into the GLib quark table or making the structure member a
	  const gchar * and doing casts in core code that allocs and
	  frees these strings, or requiring a cast in the C++ code.

2007-10-09  Tim-Philipp Müller  <tim at centricular dot net>

	* gst/gstinfo.h:
	  Use __FUNCTION__ instead of __PRETTY_FUNCTION__, it's silly
	  to print the entire class/function signature into the log
	  file for C++ code.  This only affects C++ code, for C code
	  everything remains the same.

2007-10-09  Wim Taymans  <wim.taymans@gmail.com>

	* gst/gstbin.c: (remove_from_queue):
	Work around a problem with pipelines containing (semi)loops until a
	proper, more complicated solution is ready. See #475455.

2007-10-09  Tim-Philipp Müller  <tim at centricular dot net>

	* gst/gstplugin.c:
	* gst/gstplugin.h:
	* gst/gstregistrybinary.c:
	* gst/gstregistryxml.c:
	  Put more strings into the GLib quark table. No need to keep
	  a hundred-something copies of identical version strings,
	  license strings, package name strings and package origin
	  strings around. 

2007-10-09  Tim-Philipp Müller  <tim at centricular dot net>

	* docs/manual/advanced-dataaccess.xml:
	  Don't imply that it's okay to unconditionally change
	  buffer data or buffer metadata in a pad probe callback,
	  and a bunch of other comments. Fixes #430031.

2007-10-08  Tim-Philipp Müller  <tim at centricular dot net>

	* win32/common/gstenumtypes.c:
	* win32/common/gstenumtypes.h:
	* win32/common/gstversion.h:
	  Update generated files.

2007-10-08  Tim-Philipp Müller  <tim at centricular dot net>

	* docs/manual/advanced-autoplugging.xml:
	  Prefix section with broken code with a warning (see #342432).

2007-10-08  Tim-Philipp Müller  <tim at centricular dot net>

	* docs/manual/appendix-integration.xml:
	* docs/manual/basics-init.xml:
	  Call g_thread_init() before g_option_context_new() to
	  avoid warnings. Spotted by Ritesh Khadgaray. Fixes #484225.

2007-10-08  Wim Taymans  <wim.taymans@gmail.com>

	* libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
	(gst_base_sink_queue_object_unlocked),
	(gst_base_sink_queue_object), (gst_base_sink_event),
	(gst_base_sink_needs_preroll), (gst_base_sink_chain_unlocked):
	When we received EOS and are waiting for when to post the EOS message,
	our state is prerolled and we should not return ASYNC.
	Reorganize some code paths to implement this behavior.

	* tests/check/generic/sinks.c: (send_eos), (GST_START_TEST),
	(gst_sinks_suite):
	Add unit test to verify above EOS fix.

2007-10-08  Wim Taymans  <wim.taymans@gmail.com>

	* plugins/elements/gsttypefindelement.c:
	(gst_type_find_element_have_type), (gst_type_find_element_init),
	(gst_type_find_element_setcaps), (gst_type_find_element_chain):
	Move detecting the input caps of the sinkpad to the setcaps function.
	This allows us to update the output caps when we receive new input caps
	instead of always using the first detected caps.

2007-10-08  Wim Taymans  <wim.taymans@gmail.com>

	* libs/gst/base/gstbasesink.c: (gst_base_sink_event),
	(gst_base_sink_get_position):
	Don't try to preroll non-async elements after a flush.
	Subtract latency form clock times when reporting position.

2007-10-05  Wim Taymans  <wim.taymans@gmail.com>

	* gst/gstpad.c: (gst_pad_pause_task):
	* gst/gstutils.c:
	Small comment and documentation update.

2007-10-05  Wim Taymans  <wim.taymans@gmail.com>

	* libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
	(gst_base_src_set_live), (gst_base_src_is_live),
	(gst_base_src_query_latency), (gst_base_src_perform_seek),
	(gst_base_src_default_event), (gst_base_src_wait),
	(gst_base_src_do_sync), (gst_base_src_get_range),
	(gst_base_src_pad_get_range), (gst_base_src_loop),
	(gst_base_src_unlock), (gst_base_src_unlock_stop),
	(gst_base_src_set_flushing), (gst_base_src_set_playing),
	(gst_base_src_activate_push), (gst_base_src_activate_pull),
	(gst_base_src_change_state):
	Rework the locking of basesrc in a similar fashion to basesink. We
	basically have one lock (LIVE_LOCK) protecting the dataflow. This allows
	us to handle live sources and semi live ones much better.
	Simplify flushing.
	Fix unlocking when seeking, shutting down and pausing in live sources.

2007-10-05  Wim Taymans  <wim.taymans@gmail.com>

	* tests/check/pipelines/simple-launch-lines.c: (run_pipeline):
	Fix compilation again.

2007-10-03  Stefan Kost  <ensonic@users.sf.net>

	* gst/gstelement.c:
	  Use meaningful categories for the logs to clean the default one.

2007-10-03  Stefan Kost  <ensonic@users.sf.net>

	* tests/check/pipelines/cleanup.c:
	  Print message name and not just number.

2007-10-03  Stefan Kost  <ensonic@users.sf.net>

	* docs/design/draft-tagreading.txt:
	  Add some more thoughts.

2007-10-03  Stefan Kost  <ensonic@users.sf.net>

	* tests/check/pipelines/simple-launch-lines.c:
	  Print message name and not just number.

2007-10-03  Stefan Kost  <ensonic@users.sf.net>

	* libs/gst/base/gsttypefindhelper.c:
	  Speedup typefinding. This is work in progress (see #459862).

2007-10-03  Stefan Kost  <ensonic@users.sf.net>

	* gst/gstplugin.c:
	  Fix docs that mention 'plugin_desc' instead of 'gst_plugin_desc'.
	  Spotted by Josep Torra Valles <josep@fluendo.com>.

2007-10-03  Tim-Philipp Müller  <tim at centricular dot net>

	* gst/gstclock.h:
	  Fix up broken GST_CLOCK_FLAGS macro and GstClock docs. The flags
	  field has moved to GstObject.

2007-10-02  Wim Taymans  <wim.taymans@gmail.com>

	* libs/gst/base/gstbasesrc.c: (gst_base_src_do_sync),
	(gst_base_src_get_range), (gst_base_src_change_state):
	Call unlock for live sources so that they can't get stuck in _create and
	produce a buffer before they are set back to PLAYING.

2007-10-02  Edward Hervey  <bilboed@bilboed.com>

	* plugins/elements/gstqueue.c: (gst_queue_locked_enqueue),
	(gst_queue_locked_dequeue):
	Comment the segment-related code... in the PROPER function.
	See #482147 and my commit from yesterday.

2007-10-01  Wim Taymans  <wim.taymans@gmail.com>

	* libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
	Also initialize the counter that calculates the first timestamp on a
	buffer correctly for non-live sources.

2007-10-01  Edward Hervey  <bilboed@bilboed.com>

	* plugins/elements/gstqueue.c: (gst_queue_locked_dequeue):
	Disable code that's breaking the current-time-level reporting.
	See #482147

2007-09-30  Sebastian Dröge  <slomo@circular-chaos.org>

	* docs/gst/gstreamer-sections.txt:
	Add M_PI and IMPORT_SYMBOL to the private part of the GstInfo section
	as they shouldn't show up. Fixes the docs build.

2007-09-29  Sebastien Moutte  <sebastien@moutte.net>
	
	* gst/gstinfo.h:
	Add an explicit variable importation needed on VS6 (only for MSC_VER)
	Define M_PI which is used in files which are including gstinfo.h. 
	VS6 includes doesn't define it.
	* win32/common/libgstbase.def:
	* win32/common/libgstcontroller.def:
	* win32/common/libgstreamer.def:
	Add new exported functions and variables.
	* win32/vs6/libgstcontroller.dsp:
	* win32/vs6/libgstreamer.dsp:
	Update the list of files to build.
	
2007-09-28  Wim Taymans  <wim.taymans@gmail.com>

	Patch by: Felipe Contreras <felipe dot contreras at gmail dot com>

	* plugins/elements/gstqueue.c: (update_time_level), (apply_buffer),
	(gst_queue_locked_dequeue), (gst_queue_handle_sink_event),
	(gst_queue_chain), (gst_queue_loop), (gst_queue_src_activate_push):
	Improve debugging. Fixes #480858.

2007-09-28  Wim Taymans  <wim.taymans@gmail.com>

	Patch by: Felipe Contreras <felipe dot contreras at gmail dot com>

	* plugins/elements/gstqueue.c: (gst_queue_handle_sink_event):
	First patch of code cleanups, use the macros and right arguments in the
	macros to signal and lock the queue. See #480858.

2007-09-26  Wim Taymans  <wim.taymans@gmail.com>

	* gst/gstbus.c: (poll_func):
	Improve debugging when dealing with _poll().

2007-09-26  Tim-Philipp Müller  <tim at centricular dot net>

	* gst/gstregistryxml.c:
	  Fix memory leak I introduced a few days ago.

2007-09-26  Michael Smith <msmith@fluendo.com>

	* gst/gstbuffer.c: (gst_buffer_finalize):
	  Make it once again possible to free GstBuffers in the default
	  build.
	  The poisoning scribbles on parts of the miniobject we need in
	  order to free it.
	  Fixes #480341

2007-09-25  Tim-Philipp Müller  <tim at centricular dot net>

	* docs/gst/gstreamer-sections.txt:
	* gst/gsttaglist.c:
	* gst/gsttaglist.h:
	API: add GST_TAG_COMPOSER, fixes #459809.

2007-09-24  Sebastian Dröge  <slomo@circular-chaos.org>

	* gst/gstplugin.c:
	* gst/gstplugin.h:
	Add the 3-clause BSD license and the MIT/X11 license to the license
	list. Fixes #479784.

2007-09-24  Tim-Philipp Müller  <tim at centricular dot net>

	* docs/faq/getting.xml:
	  Add Q+A about different GStreamer versions (#364056).

2007-09-24  Wim Taymans  <wim.taymans@gmail.com>

	* libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
	(gst_base_sink_event), (gst_base_sink_change_state):
	Return correct gboolean from query function.

2007-09-24  Wim Taymans  <wim.taymans@gmail.com>

	* libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
	(gst_base_sink_event), (gst_base_sink_query),
	(gst_base_sink_change_state):
	Simplify latency query.
	When not synchronizing, we can report latency without querying the peer
	element.

2007-09-24  Wim Taymans  <wim.taymans@gmail.com>

	* gst/gstobject.h:
	* gst/gstvalue.c:
	Fix small typos in the docs.

2007-09-24  Wim Taymans  <wim.taymans@gmail.com>

	* docs/design/draft-latency.txt:
	* docs/design/draft-push-pull.txt:
	* docs/design/draft-tagreading.txt:
	* docs/design/part-MT-refcounting.txt:
	* docs/design/part-activation.txt:
	* docs/design/part-block.txt:
	* docs/design/part-element-source.txt:
	* docs/design/part-events.txt:
	* docs/design/part-gstbin.txt:
	* docs/design/part-gstelement.txt:
	* docs/design/part-gstobject.txt:
	* docs/design/part-gstpipeline.txt:
	* docs/design/part-messages.txt:
	* docs/design/part-preroll.txt:
	* docs/design/part-push-pull.txt:
	* docs/design/part-qos.txt:
	* docs/design/part-query.txt:
	* docs/design/part-scheduling.txt:
	* docs/design/part-seeking.txt:
	* docs/design/part-segments.txt:
	* docs/design/part-states.txt:
	Documentation updates and typo fixes.

2007-09-23  Tim-Philipp Müller  <tim at centricular dot net>

	* plugins/elements/gstfakesink.c:
	  Add some debug text to error message to indicate that
	  we errored out on request.

	* tools/gst-launch.c:
	  When the state change to PLAYING fails, check for an
	  error message on the bus and print it.

2007-09-22  Thomas Vander Stichele  <thomas at apestaart dot org>

	translated by: Jorge González González <aloriel@gmail.com>

	* po/LINGUAS:
	* po/es.po:
	  Added Spanish translation.

2007-09-21  Wim Taymans  <wim.taymans@gmail.com>

	* plugins/elements/gstqueue.c: (gst_queue_push_one):
	Fix printf arguments.

2007-09-20  Stefan Kost  <ensonic@users.sf.net>

	* tests/check/generic/states.c:
	  Improved state change unit test.

2007-09-20  Stefan Kost  <ensonic@users.sf.net>

	* gst/gstbin.h:
	  Move priv to the right place.

	* gst/gstsystemclock.c:
	  Add FIXME: and improve log.

	* tests/check/Makefile.am:
	* tests/examples/manual/Makefile.am:
	  Work with all types of registries.

2007-09-19  Wim Taymans  <wim.taymans@gmail.com>

	* libs/gst/base/gstbasesrc.c: (gst_base_src_send_event):
	Don't unref the event after pushing it. Fixes #478401.

2007-09-19  Stefan Kost  <ensonic@users.sf.net>

	* .cvsignore:
	* tests/examples/manual/.cvsignore:
	  Ignore registries in any format.

2007-09-19  Tim-Philipp Müller  <tim at centricular dot net>

	* gst/glib-compat-private.h:
	  Add compatibility macro for g_intern_string() for
	  GLib-2.8 (any reason we can't just bump the
	  requirement to at least 2.10?)

	* gst/gstpadtemplate.h:
	* gst/gstelementfactory.c:
	* gst/gstregistryxml.c:
	* gst/gstregistrybinary.c:
	  Make GstStaticPadTemplate's templ_name field a const gchar * and fix
	  up the internal code accordingly.  This shouldn't be a problem, since
	  there is no reason external code could ever assume the string in such
	  a structure is dynamically allocated unless it did that itself;  the
	  use of g_strdup() is private to element factories.  The new code also
	  saves some memory by putting pad template name strings into the GLib
	  quark table instead of allocating them dynamically.
	  Declaring this field constant fixes warnings with g++-4.2 when using
	  the GST_STATIC_PAD_TEMPLATE macro in c++ code (#478092).

2007-09-19  Stefan Kost  <ensonic@users.sf.net>

	* gst/gstelementfactory.c:
	  Release static caps. Fixes #475723.

2007-09-18  Tim-Philipp Müller  <tim at centricular dot net>

	* gst/gstinfo.c:
	* gst/gstinfo.h:
	  Make some internal API take const gchar * instead of just
	  gchar * to avoid compiler warnings with g++-4.2.2 when
	  passing string constants (partially fixes #478092).

2007-09-17  Wim Taymans  <wim.taymans@gmail.com>

	* gst/gstbin.c: (bin_query_latency_fold), (gst_bin_query):
	A latency query fails when one of the sinks fail.

	* gst/gstelement.c: (gst_element_set_base_time):
	Improve debugging.

2007-09-17  Jan Schmidt - Sun Microsystems <jan.schmidt@sun.com>

	* gst/gstbin.c: (gst_bin_continue_func):
	* libs/gst/base/gstbasesrc.c: (gst_base_src_do_sync):
	* libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad_full):
	* plugins/elements/gstmultiqueue.c: (gst_multi_queue_loop):

	Fix minor compilation warnings shown with Forte.

2007-09-17  Wim Taymans  <wim.taymans@gmail.com>

	* plugins/elements/gstqueue.c: (apply_buffer),
	(gst_queue_locked_enqueue), (gst_queue_locked_dequeue):
	Measure queue level based on the diff between head and tail timestamps
	even when pushing the first buffer.

2007-09-14  Wim Taymans  <wim.taymans@gmail.com>

	* libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
	(gst_base_sink_event), (gst_base_sink_change_state):
	Sinks that don't preroll can always be queried for the latency.
	Don't post ASYNC start when we are not async.

2007-09-14  Wim Taymans  <wim.taymans@gmail.com>

	* plugins/elements/gstqueue.c: (gst_queue_locked_enqueue),
	(gst_queue_handle_sink_event), (gst_queue_chain),
	(gst_queue_push_one), (gst_queue_handle_src_query),
	(gst_queue_sink_activate_push), (gst_queue_src_activate_push):
	* plugins/elements/gstqueue.h:
	When downstream returns UNEXPECTED from pushing a buffer, don't try to
	push more buffers but allow pushing of EOS and NEWSEGMENT.
	Add some more debug info here and there. Fixes #476514.

2007-09-14  Wim Taymans  <wim.taymans@gmail.com>

	* libs/gst/base/gstbasesink.c: (gst_base_sink_init),
	(gst_base_sink_preroll_queue_flush), (gst_base_sink_commit_state),
	(gst_base_sink_wait_preroll), (gst_base_sink_needs_preroll),
	(gst_base_sink_set_flushing), (gst_base_sink_query),
	(gst_base_sink_change_state):
	Latency query is allowed after we are prerolled. Introduce a new flag
	for this and stop abusing other variables.

2007-09-13  Wim Taymans  <wim.taymans@gmail.com>

	* libs/gst/base/gstbasesrc.c: (gst_base_src_send_event):
	Push OOB events downstream when we get them in send_event. This allows
	the application to insert events in the pipeline.
	Add some more comments.

2007-09-13  Wim Taymans  <wim.taymans@gmail.com>

	* gst/gstbin.c: (gst_bin_class_init), (clear_queue),
	(do_bin_latency), (gst_bin_change_state_func):
	* gst/gstpipeline.c: (gst_pipeline_change_state):
	Move latency query from GstPipeline to GstBin so that we can also
	use it when async-handling is enabled on bins.

2007-09-13  Wim Taymans  <wim.taymans@gmail.com>

	* libs/gst/base/gstbasesrc.c: (gst_base_src_query_latency),
	(gst_base_src_do_sync), (gst_base_src_change_state):
	Update docs.
	Clean up the timestamping and syncing code for pseudo live sources.

2007-09-13  Tim-Philipp Müller  <tim at centricular dot net>

	Patch by: Steve Fink  <sphink gmail com>

	* docs/manual/appendix-checklist.xml:
	  Mention less -R switch in the section about debug output (#474055).

2007-09-13  Wim Taymans  <wim.taymans@gmail.com>

	* plugins/elements/gstqueue.c: (gst_queue_handle_src_query):
	Queue can latency to the pipeline up to the configured max size in time.
	Report this fact in the latency query.

2007-09-13  Sebastian Dröge  <slomo@circular-chaos.org>

	Patch by: Sebastien Moutte <sebastien at moutte dot net>

	* libs/gst/controller/gstinterpolation.c:
	* libs/gst/controller/gstlfocontrolsource.c:
	Use gst_guint64_to_gdouble() when converting from a uint64 or
	GstClockTime to double to fix the build on win32. Fixes #474371.

2007-09-13  Sebastian Dröge  <slomo@circular-chaos.org>

	* gst/gstbuffer.c: (gst_buffer_finalize):
	Implement poisoning for GstBuffer if --enable-poisoning is specified.
	When finalizing a buffer the complete struct is filled with 0xff,
	thus making a use of the buffer after the final unref impossible.

2007-09-13  Sebastian Dröge  <slomo@circular-chaos.org>

	* tests/check/libs/controller.c: (GST_START_TEST):
	Use fail_unless_equals_int(a, b) instead of
	fail_unless_equals (a == b) to get better output on failures.

2007-09-12  Tim-Philipp Müller  <tim at centricular dot net>

	* tests/check/gst/gsturi.c:
	  Also check for the other file URI variant on win32.

2007-09-12  Tim-Philipp Müller  <tim at centricular dot net>

	* gst/gsturi.c: (gst_uri_get_location):
	  If there's no hostname, we want to return 'c:/foo/bar.txt'
	  and not '/c:/foo/bar.txt' on Windows. Fixes #469402.

	* tests/check/gst/gsturi.c:
	  Unit test for the above and a few more things.

2007-09-11  Wim Taymans  <wim.taymans@gmail.com>

	* docs/design/part-live-source.txt:
	Add docs on how live sources should timestamp.

	* libs/gst/base/gstbasesrc.c: (gst_base_src_do_sync):
	Add some more debug info.
	For subclasses that are live and like to sync, add aditional startup
	latency to sync time and timestamps so that we timstamp according to the
	design doc.

2007-09-11  Tim-Philipp Müller  <tim at centricular dot net>

	* gst/gstbuffer.c:
	  Also do a g_type_class_ref() for the subbuffer type in
	  the init function.

2007-09-11  Wim Taymans  <wim.taymans@gmail.com>

	* docs/gst/gstreamer-sections.txt:
	* gst/gstpad.c: (gst_pad_peer_query):
	* gst/gstpad.h:
	Add function to perform a query on the peer of a pad.
	API: gst_pad_peer_query()

2007-09-11  Stefan Kost  <ensonic@users.sf.net>

	* tests/check/gst/gstsystemclock.c:
	  Cleanup the test a little (use gst-logging and not g_message). Improve
	  test to check if a wait reached the target.

2007-09-11  Tim-Philipp Müller  <tim at centricular dot net>

	* docs/libs/gstreamer-libs-sections.txt:
	  Add new API to docs and fix the build.

2007-09-10  Wim Taymans  <wim.taymans@gmail.com>

	* libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
	(gst_base_src_init), (gst_base_src_set_do_timestamp),
	(gst_base_src_get_do_timestamp), (gst_base_src_set_property),
	(gst_base_src_get_property), (gst_base_src_do_sync):
	* libs/gst/base/gstbasesrc.h:
	Add property to make the basesrc timestamp buffers based on the current
	running time.
	API: GstBaseSrc::do-timestamp
	API: gst_base_src_set_do_timestamp()
	API: gst_base_src_get_do_timestamp()

2007-09-08  Tim-Philipp Müller  <tim at centricular dot net>

	* docs/random/release:
	  Really make sure translations are up-to-date before
	  a release (#465010).

2007-09-07  Sebastian Dröge  <slomo@circular-chaos.org>

	* gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
	Always destroy the timer, also in error cases.

2007-09-05  Wim Taymans  <wim.taymans@gmail.com>

	* docs/manual/highlevel-xml.xml:
	Fix XML example code. Fixes #472714.

2007-09-05  Wim Taymans  <wim.taymans@gmail.com>

	* libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
	(gst_base_sink_wait_preroll), (gst_base_sink_needs_preroll),
	(gst_base_sink_query):
	Protect eos and have_preroll with the OBJECT lock so we don't need to
	take the PREROLL lock when querying the latency. Fixes #473846.

2007-09-05  Stefan Kost  <ensonic@users.sf.net>

	* gst/gstelement.c:
	  Give some log-messages a category.

2007-09-04  Wim Taymans  <wim.taymans@gmail.com>

	* gst/gststructure.c:
	(gst_structure_fixate_field_nearest_fraction):
	Fix fraction list fixation code. Take the fraction with the smallest
	difference with the target instead of the first one in the list.

	* tests/check/gst/gststructure.c: (GST_START_TEST),
	(gst_structure_suite):
	Added test to verify correct fraction list fixation behaviour.

2007-09-02  Tim-Philipp Müller  <tim at centricular dot net>

	* win32/common/libgstreamer.def:
	  Export gst_bus_add_signal_watch too.

2007-08-30  Wim Taymans  <wim.taymans@gmail.com>

	* docs/libs/gstreamer-libs-sections.txt:
	Add new methods to docs.

	* libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
	(gst_base_sink_init), (gst_base_sink_set_ts_offset),
	(gst_base_sink_get_ts_offset), (gst_base_sink_set_property),
	(gst_base_sink_get_property), (gst_base_sink_wait_clock):
	* libs/gst/base/gstbasesink.h:
	Add ts-offset property to fine-tune the synchronisation.
	API: GstBaseSink::ts-offset property
	API: gst_base_sink_set_ts_offset()
	API: gst_base_sink_get_ts_offset()

2007-08-29  Wim Taymans  <wim.taymans@gmail.com>

	* libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
	(gst_base_sink_init), (gst_base_sink_set_sync),
	(gst_base_sink_get_sync), (gst_base_sink_set_max_lateness),
	(gst_base_sink_get_max_lateness), (gst_base_sink_set_qos_enabled),
	(gst_base_sink_is_qos_enabled), (gst_base_sink_set_async_enabled),
	(gst_base_sink_is_async_enabled), (gst_base_sink_set_property),
	(gst_base_sink_get_property), (gst_base_sink_change_state):
	* libs/gst/base/gstbasesink.h:
	Add async property to instruct the sink never to inform the parent about
	ASYNC state changes, update docs.
	Check argument with g_return_* for the public functions.
	API: GstBaseSink::async property
	API: gst_base_sink_set_async_enabled()
	API: gst_base_sink_is_async_enabled()

2007-08-28  Wim Taymans  <wim.taymans@gmail.com>

	* libs/gst/base/gstbasesink.c: (gst_base_sink_loop):
	Improve debugging.

	* libs/gst/base/gstbasesrc.c: (gst_base_src_query_latency),
	(gst_base_src_default_query), (gst_base_src_wait),
	(gst_base_src_do_sync), (gst_base_src_change_state):
	Rearrange some code so that we can add support for measuring the 
	startup latency.

2007-08-27  Stefan Kost  <ensonic@users.sf.net>

	* docs/random/ensonic/dynlink.txt:
	  More thoughs on this.

	* plugins/elements/gstcapsfilter.c:
	  Add bugzilla ticket number to FIXME comment.

2007-08-24  Wim Taymans  <wim.taymans@gmail.com>

	* docs/design/part-TODO.txt:
	* docs/design/part-block.txt:
	Update some docs.

2007-08-24  Jan Schmidt  <thaytan@mad.scientist.com>

	* gst/Makefile.am:
	  Revert patch which uses $(gst_headers) instead of $^ because it
	  breaks make dist.

2007-08-24  Jan Schmidt  <thaytan@mad.scientist.com>

	* tests/check/gst/gstbin.c: (GST_START_TEST):
	  Fix leaks in the new unit test.

2007-08-23  Tim-Philipp Müller  <tim at centricular dot net>

	* gst/gst.c:
	  Don't use GST_INFO before the debug system is actually initialised
	  (shouldn't do any harm, but won't print anything either, so we can
	  just as well remove it).

	* gst/gstinfo.h:
	  GST_CAT_LEVEL_LOG_valist(), which is our inline helper function for
	  compilers that don't support variadic macros (such as MSVC), should
	  check for debug_level <= __gst_debug_min as well, since that's the
	  function called from all the level-specific GST_CAT_*_LOG_OBJECT()
	  inline helper functions. Should improve performance a bit, but also
	  makes sure uses of GST_INFO et.al are ignored if the debugging
	  system isn't initialised yet (instead of printing an assertion
	  failure).

2007-08-23  Stefan Kost  <ensonic@users.sf.net>

	patch by: David Nečas <yeti@physics.muni.cz>

	* gst/Makefile.am:
	  Replace some non portable makefile constructs.

2007-08-21  Stefan Kost  <ensonic@users.sf.net>

	* common/gtk-doc-plugins.mak:
	  Grrrrr. Don't remove the types file on make clean.

2007-08-20  Wim Taymans  <wim.taymans@gmail.com>

	* tools/gst-launch.1.in:
	Add colorspace to example pipeline. Fixes #458274.

2007-08-20  Tim-Philipp Müller  <tim at centricular dot net>

	* docs/random/release:
	  The release manager should run 'make download-po' before making a
	  release to make sure translations are up-to-date.

	* po/LINGUAS:
	* po/be.po:
	* po/pl.po:
	* po/rw.po:
	  Add some new translations.

2007-08-17  Wim Taymans  <wim.taymans@gmail.com>

	* tools/gst-launch.c: (event_loop), (main):
	Don´t try to do any state management when a live pipeline posts
	buffering messages.
	Also make the buffering string translatable.

2007-08-16  Wim Taymans  <wim.taymans@gmail.com>

	* gst/gstbin.c: (is_eos), (gst_bin_add_func),
	(bin_handle_async_start), (gst_bin_handle_message_func):
	Improve debugging.
	When adding elements, insert messages into the bus of the newly added
	element and make sure the element is the source of the message. This
	allows the parent bin to intercept the message and do the
	right thing. It also avoids us posting ASYNC_START and CLOCK_PROVIDE
	messages to the app (which is not allowed).
	Update some docs.

	* tests/check/gst/gstghostpad.c: (GST_START_TEST):
	Fix testsuite so that is does not work around messages that should not
	have been posted in the first place.

2007-08-16  Wim Taymans  <wim.taymans@gmail.com>

	* gst/gstbin.c: (add_to_queue), (remove_from_queue), (clear_queue),
	(update_degree), (gst_bin_sort_iterator_next):
	Fix annoying bug in the sorted iterator where a sink that is not really
	a sink (when it has downstream links) screwed up the iterator.

	* tests/check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
	Unit test to verify the fix.

2007-08-16  Wim Taymans  <wim.taymans@gmail.com>

	* gst/gstmessage.h:
	Add some more docs for the messages.

	* libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
	(gst_base_sink_query):
	Add some more debugging.

	* tools/gst-launch.c: (event_loop):
	When interrupting, don't try to set pipeline to PAUSED twice.

2007-08-14  Wim Taymans  <wim.taymans@gmail.com>

	
	* gst/gstbin.c: (gst_bin_add_func), (gst_bin_element_set_state),
	(bin_handle_async_start), (gst_bin_handle_message_func):
	Move ASYNC_START message posting to where it belongs, similar to
	async_done. 
	Don't post ASYNC_START when we are in error. 
	Post ASYNC_START when we added an async element to a bin.

2007-08-14  Julien MOUTTE  <julien@moutte.net>

	* gst/gstindex.c: (gst_index_add_association): Fix index entry
	generation from vargs. Fixes #466595.

2007-08-14  Wim Taymans  <wim.taymans@gmail.com>

	* gst/gstbin.c: (gst_bin_element_set_state):
	Always change the state of a NO_PREROLL element even if it has ASYNC
	elements inside (in case of a bin).

	* tests/check/generic/sinks.c: (GST_START_TEST), (gst_sinks_suite):
	Unit test for this case.

2007-08-13  Stefan Kost  <ensonic@users.sf.net>

	* libs/gst/check/gstbufferstraw.c:
	* libs/gst/check/gstcheck.h:
	* libs/gst/controller/gstcontroller.c:
	* libs/gst/controller/gstcontrolsource.h:
	* libs/gst/controller/gstlfocontrolsource.h:
	* plugins/elements/gstcapsfilter.h:
	* plugins/elements/gstfdsink.h:
	* plugins/elements/gstfdsrc.h:
	  Add more missing docs.

2007-08-12  Wim Taymans  <wim.taymans@gmail.com>

	* gst/gststructure.c:
	Add Since tag to docs.

2007-08-12  Wim Taymans  <wim.taymans@gmail.com>

	* docs/gst/gstreamer-sections.txt:
	* gst/gststructure.c: (gst_structure_get_uint):
	* gst/gststructure.h:
	Add function to get uint from a structure.
	API: gst_structure_get_uint()

2007-08-12  Wim Taymans  <wim.taymans@gmail.com>

	* gst/gstcaps.c: (gst_caps_set_simple_valist),
	(gst_caps_intersect):
	Fix proper check for simple caps.

2007-08-10  Stefan Kost  <ensonic@users.sf.net>

	* docs/gst/Makefile.am:
	* docs/libs/Makefile.am:
	  Remove cruft and do some cleanups.

	* docs/gst/gstreamer-docs.sgml:
	* docs/libs/gstreamer-libs-docs.sgml:
	  Prepare for comming gtkdoc features (rebase against online docs).

2007-08-10  Michael Smith <msmith@fluendo.com>

	* docs/gst/gstreamer-sections.txt:
	  Add gst_registry_add_path to docs.

2007-08-10  Michael Smith <msmith@fluendo.com>

	* gst/gstregistry.h:
	  Add gst_registry_add_path, which was missing from this header.

2007-08-10  Tim-Philipp Müller  <tim at centricular dot net>

	* libs/gst/controller/gstlfocontrolsource.c:
	  Printf format fix.

2007-08-09  Philippe Kalaf <philippe.kalaf@collabora.co.uk>

	* libs/gst/base/gstbasesink.c:
	  Don't send an async_start message during downwards state change if 
	  target state is less than READY

2007-08-09  Thomas Vander Stichele  <thomas at apestaart dot org>

	translated by: Gabor Kelemen <kelemeng@gnome.hu>

	* po/LINGUAS:
	* po/hu.po:
	  Added Hungarian translation.

2007-08-09  Thomas Vander Stichele  <thomas at apestaart dot org>

	* po/fi.po:
	* po/it.po:
	* po/nl.po:
	* po/sv.po:
	* po/uk.po:
	  Updated translations.

2007-08-07  Jan Schmidt  <thaytan@mad.scientist.com>

	* libs/gst/controller/Makefile.am:
	Dist gstlfocontrolsourceprivate.h

2007-08-07  Jan Schmidt  <thaytan@mad.scientist.com>

	* docs/libs/gstreamer-libs.types:
	Don't register the enum type gst_lfo_waveform_get_type() in the
	.types file - only GObject derived types belong.

2007-08-07  Wim Taymans  <wim.taymans@gmail.com>

	Patch by: <arenevier at fdn dot fr>

	* gst/gstbuffer.h:
	Remove comma from last element in enum to avoid compile errors when
	using -pendantic. Fixes #464366.

2007-08-07  Wim Taymans  <wim.taymans@gmail.com>

	* docs/design/part-TODO.txt:
	Add some more TODO items

	* gst/gstbin.c: (find_message), (gst_bin_change_state_func):
	Improve debugging.

	* gst/gstcaps.c: (gst_caps_intersect):
	Optimize trivial intersection case between identical caps pointers.

	* gst/gstelement.c: (gst_element_continue_state),
	(gst_element_set_state_func):
	* gst/gstpad.c:
	Fix spelling and grammar mistakes.

2007-08-05  Stefan Kost  <ensonic@users.sf.net>

	* po/POTFILES.in:
	* po/POTFILES.skip:
	  Update POTFILES. Fixes #461599.

2007-08-03  Sebastian Dröge  <slomo@circular-chaos.org>

	* gst/gst.c:
	Fix confusing typo in debug output.

2007-08-03  Sebastian Dröge  <slomo@circular-chaos.org>

	reviewed by: Stefan Kost <ensonic@users.sf.net>

	* libs/gst/controller/Makefile.am:
	* libs/gst/controller/gstlfocontrolsource.c: (_calculate_pos),
	(gst_lfo_waveform_get_type), (gst_lfo_control_source_reset),
	(gst_lfo_control_source_new),
	(gst_lfo_control_source_set_waveform),
	(gst_lfo_control_source_bind), (gst_lfo_control_source_init),
	(gst_lfo_control_source_finalize),
	(gst_lfo_control_source_dispose),
	(gst_lfo_control_source_set_property),
	(gst_lfo_control_source_get_property),
	(gst_lfo_control_source_class_init):
	* libs/gst/controller/gstlfocontrolsource.h:
	* libs/gst/controller/gstlfocontrolsourceprivate.h:
	API: Add GstLFOControlSource, a control source that gives values
	for specific timestamps based on several periodic waveforms.
	Fixes #459717.

	* tests/check/libs/controller.c: (GST_START_TEST),
	(gst_controller_suite):
	* docs/libs/gstreamer-libs-docs.sgml:
	* docs/libs/gstreamer-libs-sections.txt:
	* docs/libs/gstreamer-libs.types:
	Add documentation and unit tests for GstLFOControlSource.

2007-08-03  Jan Schmidt  <thaytan@mad.scientist.com>

	* configure.ac:
	Back to CVS

=== release 0.10.14 ===

2007-08-03  Jan Schmidt <thaytan@mad.scientist.com>

	* configure.ac:
	  releasing 0.10.14, "Breathing Vacuum"

2007-08-02  Tim-Philipp Müller  <tim at centricular dot net>

	* gst/gstelement.c: (gst_element_class_set_details_simple):
	* gst/gstelement.h:
	  Make strings passed to gst_element_class_set_details_simple()
	  constant, as they should be (#462752).

2007-08-02  Wim Taymans  <wim.taymans@gmail.com>

	* gst/gstbin.c: (gst_bin_change_state_func),
	(bin_handle_async_done), (gst_bin_handle_message_func):
	Don't forget about the fact that some element went ASYNC even after a
	resync. This makes us post the ASYNC_DONE message correctly.
	Fixes #462558.

2007-07-31  Jan Schmidt  <thaytan@mad.scientist.com>

	* gst/gstregistry.c: (gst_registry_add_feature):
	When replacing an existing feature in the registry, make sure to
	continue holding a reference until we've replaced the name string
	within our feature hash table. Make sure to use g_hash_table_replace
	instead of g_hash_table_insert to ensure the new name string is used
	as a key instead of the old one that we're about to free.
	Fixes: #462085

2007-07-31  Jan Schmidt  <thaytan@mad.scientist.com>

	* gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
	(gst_plugin_feature_set_name):
	Revert patch from #459466 until after the release and we can work
	out exactly what the problem is (if any).

2007-07-26  Tim-Philipp Müller  <tim at centricular dot net>

	* docs/gst/gstreamer-sections.txt:
	* gst/gsttaglist.c:
	* gst/gsttaglist.h:
	  API: add GST_TAG_LICENSE_URI and GST_TAG_COPYRIGHT_URI (#451939).

2007-07-26  Jan Schmidt  <thaytan@mad.scientist.com>

	* docs/libs/Makefile.am:
	Include our build-prefix libs and includes before the generic ones to
	avoid linking against the installed libs when we want the build-tree
	ones.

2007-07-26  Tim-Philipp Müller  <tim at centricular dot net>

	Patch by: Steve Fink  <sphink gmail com>

	* docs/pwg/building-testapp.xml:
	  Mention that GST_PLUGIN_PATH or --gst-plugin-path might be needed
	  if people try to build or install the example from the plugin
          template against a GStreamer from package using the configure
	  defaults.

2007-07-25  Tim-Philipp Müller  <tim at centricular dot net>

	Patch by: Steve Fink  <sphink gmail com>

	* tools/gst-inspect.1.in:
	  Document --print-all and --print-plugin-auto-install-info command
	  line options in man page.

2007-07-25  Wim Taymans  <wim.taymans@gmail.com>

	* docs/gst/gstreamer-sections.txt:
	Add docs for new api function.

2007-07-25  Wim Taymans  <wim.taymans@gmail.com>

	* gst/gstelementfactory.c: (gst_element_factory_has_interface):
	* gst/gstelementfactory.h:
	API: gst_element_factory_has_interface()
	Added method to check if an element factory implements a named
	interface.

2007-07-25  Stefan Kost  <ensonic@users.sf.net>

	* configure.ac:
	* docs/gst/gstreamer.types.in:
	  Another conditional doc check.

	* gst/gstmessage.c:
	* gst/gstparamspecs.h:
	* gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
	* gst/gstvalue.c:
	* gst/gstxml.h:
	  API-doc fixes.

2007-07-24  Stefan Kost  <ensonic@users.sf.net>

	* gst/gstregistrybinary.c: (gst_registry_binary_check_magic),
	(gst_registry_binary_load_feature),
	(gst_registry_binary_load_plugin),
	(gst_registry_binary_read_cache):
	  Print error just once and with additional info.

2007-07-24  Stefan Kost  <ensonic@users.sf.net>

	* libs/gst/base/gsttypefindhelper.c: (helper_find_peek),
	(helper_find_suggest), (helper_find_get_length),
	(gst_type_find_helper_get_range), (buf_helper_find_suggest),
	(gst_type_find_helper_for_buffer):
	  Cleanup the typefindhelper code and add private doc comments.

2007-07-24  Edward Hervey  <bilboed@bilboed.com>

	* plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
	(gst_capsfilter_transform_size), (gst_capsfilter_prepare_buf):
	Fix capsfilter for cases where the caps set on capsfilter will provide
	additional information.
	Fixes #449197

2007-07-24  Stefan Kost  <ensonic@users.sf.net>

	* gst/gsttypefindfactory.c:
	  Fix docs that recommened wrong function to use.

2007-07-23  Stefan Kost  <ensonic@users.sf.net>

	* tools/gst-inspect.c: (print_plugin_features):
	  Also give media-type for typefinders in element output.

2007-07-23  Stefan Kost  <ensonic@users.sf.net>

	* gst/gstregistry.c: (gst_registry_init), (gst_registry_finalize),
	(gst_registry_remove_features_for_plugin_unlocked),
	(gst_registry_add_feature), (gst_registry_remove_feature),
	(gst_registry_lookup_feature_locked):
	* gst/gstregistry.h:
	  Speed up gst_registry_lookup_feature_locked() by using a hashmap.
	  Fixes #459501.

2007-07-23  Stefan Kost  <ensonic@users.sf.net>

	* gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
	(gst_plugin_feature_set_name):
	  Avoid double memory usage for pluginfeature names. Fixes #459466.

2007-07-22  Tim-Philipp Müller  <tim at centricular dot net>

	* gst/gstpad.h:
	  Small addition to GST_FLOW_IS_FATAL() docs: mention that elements
	  driving the pipeline may need to explicitly check for NOT_LINKED as
	  well, since IS_FATAL doesn't cover that.

2007-07-22  Tim-Philipp Müller  <tim at centricular dot net>

	* docs/pwg/advanced-types.xml:
	  Fix typo and duplicate entry in video formats list.

2007-07-22  Sebastian Dröge  <slomo@circular-chaos.org>

	* libs/gst/controller/gstinterpolation.c:
	Also round to the nearest int when using cubic interpolation.

2007-07-19  Jan Schmidt  <thaytan@noraisin.net>

	* libs/gst/controller/gstinterpolation.c:
	When linearly interpolating integer types, round to the nearest int
	by adding 0.5. Don't do it for float/double types.
	Fixes the failing controller test on my machine, which is somehow
	rounding differently than on the buildbots.

2007-07-20  Stefan Kost  <ensonic@users.sf.net>

	* tools/gst-plot-timeline.py:
	  Better log parsing (categories can have -). Adjust text vs. lines, so
	  that they span the same y-range.	  

2007-07-20  Stefan Kost  <ensonic@users.sf.net>

	* docs/random/ensonic/audiobaseclasses.txt:
	* docs/random/ensonic/dynlink.txt:
	* docs/random/ensonic/profiling.txt:
	  Save my thoughts.

	* docs/random/moving-plugins:
	  Add note to use g_assert type macros.

2007-07-20  Stefan Kost  <ensonic@users.sf.net>

	* configure.ac:
	* libs/gst/check/Makefile.am:
	  Add libm check as we use in for plugins.

2007-07-18  Jan Schmidt  <thaytan@noraisin.net>

	* gst/gstbin.c: (gst_bin_continue_func):
	Check that the state_cookie hasn't changed since the continue_func
	was scheduled. Avoids problems where the state changes back to
	something it shouldn't be because it was changed in the meantime.

2007-07-17  Stefan Kost  <ensonic@users.sf.net>

	* gst/gstregistrybinary.c: (gst_registry_binary_save_const_string),
	(gst_registry_binary_save_string),
	(gst_registry_binary_save_pad_template),
	(gst_registry_binary_save_feature),
	(gst_registry_binary_save_plugin),
	(gst_registry_binary_load_feature),
	(gst_registry_binary_load_plugin),
	(gst_registry_binary_read_cache):
	  Fix memory leak. Be less verbose in the log.

2007-07-16  Jan Schmidt  <thaytan@mad.scientist.com>

	* tests/check/elements/.cvsignore:
	Add file to cvsignore as commanded.

2007-07-16  Jan Schmidt  <thaytan@mad.scientist.com>

	* tests/check/elements/multiqueue.c: (mq_dummypad_chain),
	(mq_dummypad_event), (run_output_order_test):
	Use a GStaticMutex to protect all cases where libcheck
	fail_if/fail_unless macros might be called from multiple threads
	simultaneously to avoid errors like:
	  "check_pack.c:107: :-1081725400:Bad message type arg"

2007-07-16  Jan Schmidt  <thaytan@mad.scientist.com>

	* tests/check/pipelines/stress.c: (GST_START_TEST):
	Make sure we set the pipeline back to the NULL state before
	dropping our final reference.

2007-07-16  Jan Schmidt  <thaytan@mad.scientist.com>

	* tests/check/elements/tee.c: (GST_START_TEST):
	Make the tee stress-test a little less stressful so it doesn't just
	time out on slow-machines, and remove a small race when it's starting 
	up by adding a get_state() call.

2007-07-16  Stefan Kost  <ensonic@users.sf.net>

	* gst/gst.c:
	  Avoid reading registry twice on startup. Fixes #457322.

2007-07-13  Jan Schmidt  <thaytan@mad.scientist.com>

	* pkgconfig/gstreamer-check-uninstalled.pc.in:
	* pkgconfig/gstreamer-check.pc.in:
	Substitute the CFLAGS for libcheck into our .pc file too so that
	dependent modules will pick it up properly if libcheck is installed
	into some other prefix.

2007-07-13  Jan Schmidt  <thaytan@mad.scientist.com>

	* configure.ac:
	Revert the pkg-config check for libcheck, since it pulls in the
	wrong non-PIC libcheck.a on Ubuntu and probably Fedora too. We need
	a proper solution, either from the check project, or something else.

2007-07-12  Stefan Kost  <ensonic@users.sf.net>

	* configure.ac:
	  Use pkg-config to locate check.

2007-07-10  Stefan Kost  <ensonic@users.sf.net>

	* gst/gsttaglist.c:
	  Fix doc syntax.

	* gst/gstutils.c:
	* gst/gstutils.h:
	  Add deprecation guards.

	* libs/gst/base/gstcollectpads.h:
	  Don't document object (this is implicitly private).

2007-07-08  Tim-Philipp Müller  <tim at centricular dot net>

	* gst/gststructure.c: (gst_structure_parse_value):
	  When deserialising foo=bar without a type cast, check if it's a
	  boolean before falling back to a string type, otherwise things like
	  audiotestsrc ! audio/x-raw-int,signed=true ! fakesink won't work,
	  because the filtercaps end up having a signed=(string)true field,
	  which causes problems later when intersection caps.

	* tests/check/gst/gststructure.c: (GST_START_TEST):
	  Add a unit test for this.

2007-07-06  Sebastian Dröge  <slomo@circular-chaos.org>

	Reviewed by: Stefan Kost <ensonic@users.sf.net>

	* libs/gst/controller/Makefile.am:
	* libs/gst/controller/gstcontroller.c:
	(gst_controlled_property_add_interpolation_control_source),
	(gst_controlled_property_new), (gst_controlled_property_free),
	(gst_controller_find_controlled_property),
	(gst_controller_new_valist), (gst_controller_new_list),
	(gst_controller_new), (gst_controller_remove_properties_valist),
	(gst_controller_remove_properties_list),
	(gst_controller_remove_properties),
	(gst_controller_set_property_disabled),
	(gst_controller_set_disabled), (gst_controller_set_control_source),
	(gst_controller_get_control_source), (gst_controller_get),
	(gst_controller_sync_values), (gst_controller_get_value_array),
	(_gst_controller_dispose), (gst_controller_get_type),
	(gst_controlled_property_set_interpolation_mode),
	(gst_controller_set), (gst_controller_set_from_list),
	(gst_controller_unset), (gst_controller_unset_all),
	(gst_controller_get_all), (gst_controller_set_interpolation_mode):
	* libs/gst/controller/gstcontroller.h:
	* libs/gst/controller/gstcontrollerprivate.h:
	* libs/gst/controller/gstcontrolsource.c:
	(gst_control_source_class_init), (gst_control_source_init),
	(gst_control_source_get_value),
	(gst_control_source_get_value_array), (gst_control_source_bind):
	* libs/gst/controller/gstcontrolsource.h:
	* libs/gst/controller/gsthelper.c: (gst_object_set_control_source),
	(gst_object_get_control_source):
	* libs/gst/controller/gstinterpolation.c:
	(gst_interpolation_control_source_find_control_point_node),
	(gst_interpolation_control_source_get_first_value),
	(_interpolate_none_get), (interpolate_none_get),
	(interpolate_none_get_boolean_value_array),
	(interpolate_none_get_enum_value_array),
	(interpolate_none_get_string_value_array),
	(_interpolate_trigger_get), (interpolate_trigger_get),
	(interpolate_trigger_get_boolean_value_array),
	(interpolate_trigger_get_enum_value_array),
	(interpolate_trigger_get_string_value_array):
	* libs/gst/controller/gstinterpolationcontrolsource.c:
	(gst_control_point_free), (gst_interpolation_control_source_reset),
	(gst_interpolation_control_source_new),
	(gst_interpolation_control_source_set_interpolation_mode),
	(gst_interpolation_control_source_bind),
	(gst_control_point_compare), (gst_control_point_find),
	(gst_interpolation_control_source_set_internal),
	(gst_interpolation_control_source_set),
	(gst_interpolation_control_source_set_from_list),
	(gst_interpolation_control_source_unset),
	(gst_interpolation_control_source_unset_all),
	(gst_interpolation_control_source_get_all),
	(gst_interpolation_control_source_get_count),
	(gst_interpolation_control_source_init),
	(gst_interpolation_control_source_finalize),
	(gst_interpolation_control_source_dispose),
	(gst_interpolation_control_source_class_init):
	* libs/gst/controller/gstinterpolationcontrolsource.h:
	* libs/gst/controller/gstinterpolationcontrolsourceprivate.h:
	API: Refactor GstController into the core controller which can take
	a GstControlSource for providing actual values for timestamps.
	Implement a interpolation control source and use this for backward
	compatibility, deprecate a bunch of functions that are now handled
	by GstControlSource or GstInterpolationControlSource.
	Make it possible to disable the controller completely or only for
	specific properties. Fixes #450711.
	* docs/libs/gstreamer-libs-docs.sgml:
	* docs/libs/gstreamer-libs-sections.txt:
	* docs/libs/gstreamer-libs.types:
	Add new functions and classes to the docs.
	* tests/check/libs/controller.c: (GST_START_TEST),
	(gst_controller_suite):
	* tests/examples/controller/audio-example.c: (main):
	Port unit test and example to the new API and add some new
	unit tests.

2007-07-05  Wim Taymans  <wim.taymans@gmail.com>

	Patch by: Mark Nauwelaerts <manauw at skynet be>

	* plugins/elements/gstmultiqueue.c:
	(gst_multi_queue_get_internal_links), (apply_buffer),
	(single_queue_overrun_cb), (gst_single_queue_new):
	Implement non-default GstPadIntLinkFunction for multiqueue pads so that
	the pipeline layout can be tracked correctly. Fixes #453732.

2007-07-05  Stefan Kost  <ensonic@users.sf.net>

	* docs/gst/Makefile.am:
	* docs/libs/Makefile.am:
	* docs/plugins/Makefile.am:
	  Simplify --extra-dir as gtkdoc scans recursively.

2007-07-03  Wim Taymans  <wim.taymans@gmail.com>

	* tools/gst-launch.c: (main):
	When we got an error, there is no point in waiting for preroll when
	shutting down.

2007-07-03  Wim Taymans  <wim.taymans@gmail.com>

	* plugins/elements/gsttee.c: (gst_tee_base_init),
	(gst_tee_request_new_pad), (gst_tee_release_pad),
	(gst_tee_find_buffer_alloc), (gst_tee_buffer_alloc),
	(gst_tee_do_push), (clear_pads), (gst_tee_handle_buffer),
	(gst_tee_chain):
	Be a lot smarter when deciding what srcpad to use for proxying
	the buffer_alloc. Also handle pad added/removed when doing so.
	Fixes #357959.
	Keep track of what pads we already pushed on in case we have pads
	added/removed while pushing. Fixes #374639 

	* tests/check/Makefile.am:
	* tests/check/elements/tee.c: (handoff), (GST_START_TEST),
	(tee_suite):
	Added unit test for pad resync.

2007-07-01  Thomas Vander Stichele  <thomas at apestaart dot org>

	* po/nl.po:
	* po/sv.po:
	  Updated translations.

2007-07-01  Thomas Vander Stichele  <thomas at apestaart dot org>

	translation by: Tommi Vainikainen <Tommi.Vainikainen@iki.fi>

	* po/LINGUAS:
	* po/fi.po:
	  Added new Finnish translation.

2007-06-28  Wim Taymans  <wim@fluendo.com>

	* plugins/elements/gstmultiqueue.c: (apply_buffer),
	(single_queue_overrun_cb):
	When figuring out when a queue is filled, use our internal time estimate
	based on segments, just like check_full does.

2007-06-27  Stefan Kost  <ensonic@users.sf.net>

	* gst/gstminiobject.c: (gst_mini_object_get_type):
	  Remove 3 do-nothing methods.

2007-06-27  Wim Taymans  <wim@fluendo.com>

	Patch by: Tim Angus <tim at ngus dot net>

	* plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
	(gst_capsfilter_set_property):
	Take a reference instead of a copy when setting "caps".
	Fix documentation to clarify this behaviour. Fixes #449414.

2007-06-27  Stefan Kost  <ensonic@users.sf.net>

	* gst/gstindexfactory.c: (gst_index_factory_get_type):
	* gst/gstplugin.c: (gst_plugin_init):
	* gst/gstpluginfeature.c: (gst_plugin_feature_init):
	* gst/gstquery.c: (gst_query_get_type):
	* gst/gstregistry.c: (gst_registry_init):
	* gst/gsturi.c: (gst_uri_handler_base_init):
	  Remove empty instance_init() functions to save relocs and lessen the
	  noise. Remove some of the function prototypes that are doubled by
	  G_DEFINE_TYPE.
	  
2007-06-27  Wim Taymans  <wim@fluendo.com>

	Patch by: Étienne Noreau-Hébert <etienne at deepunder dot org>

	* gst/gstghostpad.c: (gst_proxy_pad_save_thyself):
	Add peer and direction in the XML serialisation of ghostpads.
	Fixes #449226.

2007-06-26  Stefan Kost  <ensonic@users.sf.net>

	* configure.ac:
	  Preserve useful information, thanks Tim.

2007-06-26  Jan Schmidt  <thaytan@noraisin.net>

	* plugins/elements/gstmultiqueue.c: (gst_multi_queue_init),
	(gst_single_queue_flush), (apply_segment), (apply_buffer),
	(gst_single_queue_push_one), (gst_multi_queue_loop),
	(gst_multi_queue_sink_activate_push), (gst_multi_queue_sink_event),
	(gst_multi_queue_src_activate_push), (wake_up_next_non_linked),
	(compute_high_id), (gst_single_queue_new):
	* plugins/elements/gstmultiqueue.h:
	Take the multiqueue lock when updating the fill level so we don't get
	confused. 

	After applying a buffer or event on the src pad segment, make sure to
	call gst_data_queue_limits_changed() to get the data queue to unblock
	and check the filled state again.
	
	Rework the not-linked pad handling so the logic is that not-linked 
	pads can push as fast as they like, but only so they never get 
	ahead of any linked pads.

	* tests/check/elements/multiqueue.c: (mq_sinkpad_to_srcpad),
	(mq_dummypad_getcaps), (mq_dummypad_chain), (mq_dummypad_event),
	(run_output_order_test), (GST_START_TEST), (multiqueue_suite):

	Add a test to check that not-linked pads always stay behind
	linked pads.

	Fixes: #430682

2007-06-26  Jan Schmidt  <thaytan@mad.scientist.com>

	* docs/random/release:
	  Some updates to the release procedure.

2007-06-26  Stefan Kost  <ensonic@users.sf.net>

	* gst/gstelementfactory.c: (__gst_element_details_clear):
	  Microoptimization that saves stunning 80 bytes.

2007-06-25  Stefan Kost  <ensonic@users.sf.net>

	* docs/plugins/gstreamer-plugins.args:
	* docs/plugins/inspect/plugin-coreelements.xml:
	* docs/plugins/inspect/plugin-coreindexers.xml:
	  Update docs with caps info.

2007-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>

	* po/it.po:
	  Updated Italian translation.

2007-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>

	* ChangeLog:
	* po/vi.po:
	  Update Vietnamese translations.

2007-06-21  Tim-Philipp Müller  <tim at centricular dot net>

	* libs/gst/base/gstbasesink.c:
	  Remove unused signal enum.

2007-06-21  Jan Schmidt  <thaytan@mad.scientist.com>

	* docs/gst/gstreamer-sections.txt:
	* gst/gstelement.c:
	* gst/gstutils.c: (gst_type_register_static_full):
	Beef up and include the docs for gst_type_register_static_full and
	gst_element_class_set_details_simple and add the API keyword
	in the ChangeLog.

2007-06-21  Jan Schmidt  <thaytan@mad.scientist.com>

	* plugins/elements/gstmultiqueue.c: (gst_multi_queue_set_property),
	(update_time_level), (gst_single_queue_push_one),
	(gst_multi_queue_chain), (gst_multi_queue_sink_event),
	(single_queue_overrun_cb), (single_queue_underrun_cb),
	(single_queue_check_full):
	Fix setting max-* properties after adding queues.
	Use IS_FILLED for checking visible items.
	Signal overrun if multiple queues overrun.
	Add extra debug output.
	Patch by: Wim Taymans <wim@fluendo.com>

2007-06-21  Stefan Kost  <ensonic@users.sf.net>

	* gst/gstelement.c: (gst_element_class_set_details_simple):
	* gst/gstelement.h:
	* gst/gstutils.c: (gst_type_register_static_full):
	* gst/gstutils.h:
	* plugins/elements/gstcapsfilter.c: (gst_capsfilter_base_init):
	* plugins/elements/gstfakesink.c: (gst_fake_sink_base_init):
	* plugins/elements/gstfakesrc.c: (gst_fake_src_base_init):
	* plugins/elements/gstfdsink.c: (gst_fd_sink_base_init):
	* plugins/elements/gstfdsrc.c: (gst_fd_src_base_init):
	* plugins/elements/gstfilesink.c: (gst_file_sink_base_init):
	* plugins/elements/gstfilesrc.c: (gst_file_src_base_init):
	* plugins/elements/gstidentity.c: (gst_identity_base_init):
	* plugins/elements/gstmultiqueue.c: (gst_multi_queue_base_init):
	* plugins/elements/gstqueue.c: (gst_queue_base_init),
	(apply_buffer), (gst_queue_chain):
	* plugins/elements/gsttee.c: (gst_tee_base_init):
	* plugins/elements/gsttypefindelement.c:
	(gst_type_find_element_base_init),
	(gst_type_find_element_class_init):
	  Saving relocations for GTypeInfo and GstElementDetails. Fixes #437457.
	  API: add gst_type_register_static_full
	  API: add gst_element_class_set_details_simple

2007-06-21  Tim-Philipp Müller  <tim at centricular dot net>

	* docs/pwg/advanced-types.xml:
	  Fix typo in iana.org URI.

2007-06-19  Andy Wingo  <wingo@pobox.com>

	* tests/check/pipelines/simple-launch-lines.c
	(test_state_change_returns): Enable pull-mode tests now that
	basesink has been fixed.

	* libs/gst/base/gstbasesink.c (gst_base_sink_needs_preroll):
	Changed from gst_base_sink_is_prerolled, reversing the sense of
	the return value. Returns FALSE also if the sink is in pull mode,
	in which case it needs no preroll.
	(gst_base_sink_query, gst_base_sink_change_state): Update for
	needs_preroll change.
	(gst_base_sink_change_state): Add a case for READY_TO_PAUSED after
	chaining up, in which we return SUCCESS directly if we activated
	in pull mode instead of ASYNC. Involves countering an async_start
	message sent before chaining up; not sure if this is correct, in
	an ideal world we only send async-start when activating in push
	mode.

	* tests/check/pipelines/simple-launch-lines.c
	(test_state_change_returns): New test, partially disabled until
	basesink is fixed.

2007-06-19  Wim Taymans  <wim@fluendo.com>

	* plugins/elements/gstmultiqueue.c: (apply_buffer),
	(gst_multi_queue_sink_event):
	Fix event leak.

2007-06-19  Wim Taymans  <wim@fluendo.com>

	* gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
	(gst_bin_change_state_func), (bin_push_state_continue),
	(bin_handle_async_start), (bin_handle_async_done),
	(gst_bin_handle_message_func):
	Move the common code for posting state-change messages into
	one function.
	Broadcast the state signal after we posted the messages.
	Mark the bin as busy when it's doing a state-change.
	Make sure async-start/done messages don't interfere with the bin's
	state when it's busy.
	After the state change, let the bin check which elements completed the
	state change while it was busy so that it can update its state.

2007-06-19  Jan Schmidt  <thaytan@mad.scientist.com>

	* docs/random/release:
	Add a note about updating the doap file to the release checklist

2007-06-18  Wim Taymans  <wim@fluendo.com>

	* plugins/elements/gstmultiqueue.c: (apply_buffer),
	(gst_single_queue_push_one), (gst_multi_queue_chain),
	(gst_multi_queue_sink_event):
	Make sure we don't reference the buffer/event after we have given away
	ownership in the queue.

2007-06-18  Wim Taymans  <wim@fluendo.com>

	* plugins/elements/gstmultiqueue.c: (gst_single_queue_flush),
	(gst_multi_queue_chain), (gst_multi_queue_sink_event):
	Update queue state _after_ adding the item in the queue because else we
	could end up being full without the element added yet.

2007-06-18  Wim Taymans  <wim@fluendo.com>

	* gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
	(gst_bin_remove_func), (gst_bin_get_state_func),
	(gst_bin_element_set_state), (gst_bin_continue_func),
	(bin_push_state_continue), (bin_handle_async_start),
	(bin_handle_async_done), (gst_bin_handle_message_func):
	* gst/gstbin.h:
	Immediatly commit the toplevel bin state when receiving an async-done
	message. This enables us to avoid spawning a thread to commit the state
	in some common cases and it also avoids some races.
	Avoid spawning a state thread when adding/removing async elements to a
	toplevel bin. Instead we immediatly update the bin state.
	Get rid of iterating all the children when getting the state in the bin
	because it is now always up-to-date.
	Fix bug where locked elements would always return _SUCCESS even it they
	returned NO_PREROLL before being locked.
	Fix the order of the state_change, async-start/done messages that was
	sometimes incorrect.
	Mark the state_dirty field as deprecated, we don't need it anymore as we
	are always up-to-date.

	* gst/gstelement.c: (gst_element_get_state_func),
	(gst_element_continue_state):
	Small debug inprovements.
	Return the previous element state return when nothing is pending instead
	of blindly returning SUCCESS.

	* tests/check/generic/sinks.c: (GST_START_TEST), (pad_blocked_cb),
	(gst_sinks_suite):
	Add a whole bunch of new testcases.

2007-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>

	* po/uk.po:
	* po/vi.po:
	  Update translations.

2007-06-15  Jan Schmidt  <thaytan@mad.scientist.com>

	* gst/gstpad.c:
	Fix typo in the docs.

2007-06-15  Wim Taymans  <wim@fluendo.com>

	* docs/libs/gstreamer-libs-sections.txt:
	Add docs for new methods.

2007-06-15  Wim Taymans  <wim@fluendo.com>

	* plugins/elements/gstmultiqueue.c: (gst_multi_queue_item_destroy),
	(gst_multi_queue_item_new):
	Don't use GSlice because we don't depend on >= 2.10 yet.

2007-06-15  Wim Taymans  <wim@fluendo.com>

	* plugins/elements/gstmultiqueue.c: (gst_single_queue_flush),
	(update_time_level), (apply_segment), (apply_buffer),
	(gst_single_queue_push_one), (gst_multi_queue_item_new),
	(gst_multi_queue_loop), (gst_multi_queue_sink_activate_push),
	(gst_multi_queue_sink_event), (single_queue_overrun_cb),
	(single_queue_underrun_cb), (single_queue_check_full):
	Remove debug printf.

2007-06-15  Wim Taymans  <wim@fluendo.com>

	* libs/gst/base/gstdataqueue.c: (gst_data_queue_cleanup),
	(gst_data_queue_finalize), (gst_data_queue_locked_is_empty),
	(gst_data_queue_set_flushing), (gst_data_queue_push),
	(gst_data_queue_pop), (gst_data_queue_drop_head),
	(gst_data_queue_limits_changed), (gst_data_queue_get_level):
	* libs/gst/base/gstdataqueue.h:
	Various cleanups.
	Added methods to get the current levels and to inform the queue that the
	'full' limits changed.

	* plugins/elements/gstmultiqueue.c: (gst_multi_queue_init),
	(gst_multi_queue_finalize), (gst_multi_queue_set_property),
	(gst_single_queue_flush), (update_time_level), (apply_segment),
	(apply_buffer), (gst_single_queue_push_one),
	(gst_multi_queue_item_steal_object),
	(gst_multi_queue_item_destroy), (gst_multi_queue_item_new),
	(gst_multi_queue_loop), (gst_multi_queue_chain),
	(gst_multi_queue_sink_activate_push), (gst_multi_queue_sink_event),
	(gst_multi_queue_getcaps), (gst_multi_queue_src_activate_push),
	(gst_multi_queue_src_query), (single_queue_overrun_cb),
	(single_queue_underrun_cb), (single_queue_check_full),
	(gst_single_queue_new):
	Keep track of time in the queue by measuring the difference between
	running_time on input and output. This gives more accurate results and
	can compensate for segments correctly.
	Make a queue by default only 5 buffers deep. We will now increase the
	buffer size depending on the filledness of the other queues.
	Factor out commong flush code.
	Make sure we don't add additional refcounts to buffers when we can avoid
	it.
	Propagate GstFlowReturn differently.
	Use GSlice for intermediate GstMultiQueueItems.
	Keep track of EOS.
	Resize queues on over and underruns based on filled level of other
	queues.
	When checking if the queue is filled, prefer to measure in time if we
	can and fall back to bytes when no time is known.

	* plugins/elements/gstqueue.c:
	Fix return value.

2007-06-15  Wim Taymans  <wim@fluendo.com>

	* libs/gst/base/gstbasetransform.c:
	(gst_base_transform_sink_event):
	Work around the brokenness of the event vmethod in basetransform. Prefer
	to return TRUE when the subclass returned FALSE (meaning don't forward
	the event). 

	* libs/gst/base/gstbasetransform.h:
	Clarify the docs.

2007-06-15  Wim Taymans  <wim@fluendo.com>

	* gst/gstpad.c: (gst_pad_push_event), (gst_pad_send_event):
	* libs/gst/base/gstbasesrc.c: (gst_base_src_query_latency),
	(gst_base_src_default_query), (gst_base_src_get_range),
	(gst_base_src_start):
	* tests/check/pipelines/parse-launch.c: (setup_pipeline):
	Improve debugging.

2007-06-15  Stefan Kost  <ensonic@users.sf.net>

	* docs/pwg/advanced-types.xml:
	  Added more formats to caps table.

2007-06-15  Stefan Kost  <ensonic@users.sf.net>

	* tools/gst-launch.c: (main):
	  Remove crufy code. GOption does not need this workaround.

2007-06-14  Stefan Kost  <ensonic@users.sf.net>

	* libs/gst/controller/gstcontroller.c:
	(gst_controlled_property_set_interpolation_mode):
	  Fix wrong getter for enums in controller.

2007-06-14  Tim-Philipp Müller  <tim at centricular dot net>

	* libs/gst/check/gstcheck.c: (gst_check_init):
	  Intercept criticals and warnings in the Gst-Phonon log domain, so
	  ASSERT_CRITICAL() etc. can be used in gst-phonon's unit tests as
	  well.
	
2007-06-14  Edward Hervey  <edward@fluendo.com>

	* gst/gstparamspecs.c: (_gst_param_fraction_validate):
	Since this file doesn't include "gst.h" it will not go through the
	macros that disable GST_LOG if debugging was disabled.

2007-06-14  Tim-Philipp Müller  <tim at centricular dot net>

	* libs/gst/check/Makefile.am:
	* libs/gst/check/gstcheck.h:
	* pkgconfig/gstreamer-check-uninstalled.pc.in:
	* pkgconfig/gstreamer-check.pc.in:
	  Ugly 'fix' for the controller unit test on the p5 bot: in
	  fail_unless_equals_float() check whether the values are 'almost
	  equal' by allowing a small absolute error, which should be good
	  enough for our use cases (normal numbers and values close to 0).
	  Proper fixage left to floating point arithmetic aficionados.

2007-06-14  Stefan Kost  <ensonic@users.sf.net>

	* libs/gst/base/gstbasesink.c: (gst_base_sink_reset_qos),
	(gst_base_sink_render_object), (gst_base_sink_get_position):
	  Add two breaks thats where missing.

2007-06-14  Tim-Philipp Müller  <tim at centricular dot net>

	* docs/libs/gstreamer-libs-sections.txt:
	* libs/gst/check/gstcheck.h:
	  API: add fail_unless_equals_float() and assert_equals_float().
	  Add documentation for some of the macros.

	* tests/check/libs/controller.c: (GST_START_TEST):
	  Use newly-added asserts.

2007-06-14  Stefan Kost  <ensonic@users.sf.net>

	* gst/gstpad.c: (gst_pad_alloc_buffer_full), (gst_pad_push):
	  Show the caps change in the log to help spotting the case of not
	  exactly matching caps.

2007-06-14  Tim-Philipp Müller  <tim at centricular dot net>

	* docs/pwg/building-boiler.xml:
	  Fix typos, spotted by Thijs Vermeir (#447190).

2007-06-13  Jan Schmidt  <thaytan@mad.scientist.com>

	* docs/plugins/tmpl/.cvsignore:
	Ignore file to keep the buildbots happy

2007-06-13  Jan Schmidt  <thaytan@mad.scientist.com>

	* docs/plugins/Makefile.am:
	* docs/plugins/gstreamer-plugins-docs.sgml:
	* docs/plugins/gstreamer-plugins-sections.txt:
	Pull fdsink into the docs too.

2007-06-11  Sebastian Dröge  <slomo@circular-chaos.org>

	* libs/gst/controller/gstinterpolation.c:
	Actually use the new functions with min/max checks for the trigger and
	none interpolation modes for get() and get_value_array() instead of
	just the latter.

2007-06-10  Sebastian Dröge  <slomo@circular-chaos.org>

	* libs/gst/controller/gstcontroller.c:
	(gst_controlled_property_free):
	Unset the minimum and maximum GValues when freeing the corresponding
	GstControllerProperty struct.

2007-06-09  Sebastian Dröge  <slomo@circular-chaos.org>

	* libs/gst/controller/gstcontroller.c:
	(gst_controlled_property_new):
	* libs/gst/controller/gstcontrollerprivate.h:
	* libs/gst/controller/gstinterpolation.c:
	(gst_controlled_property_find_control_point_node),
	(interpolate_none_get), (interpolate_none_get_enum_value_array),
	(interpolate_none_get_string_value_array),
	(interpolate_trigger_get),
	(interpolate_trigger_get_enum_value_array),
	(interpolate_trigger_get_string_value_array):
	Protect against values larger or smaller than the minimum or maximum
	allowed value for the property when using values that can be compared.

	Optimize trigger interpolator a bit by taking the last requested value
	into account instead of always looping through the complete list.

	Fix coding style a bit, everywhere else we use "return foo" instead
	of "return (foo)".
	
	* tests/check/libs/controller.c: (GST_START_TEST),
	(gst_controller_suite):
	Add unit test for the protection against too large or too small
	values.

2007-06-08  Sebastian Dröge  <slomo@circular-chaos.org>

	* docs/random/slomo/controller.txt:
	Add some thoughts about the future of the controller.

2007-06-08  Wim Taymans  <wim@fluendo.com>

	* plugins/elements/gstidentity.c: (gst_identity_transform_ip):
	Don't overflow in retimestamping code.

2007-06-07  Sebastien Moutte  <sebastien@moutte.net>

	* libs/gst/controller/gstinterpolation.c: (DEFINE_CUBIC_GET):
	Use gst_util_guint64_to_gdouble for conversions.
	* win32/common/libgstreamer.def:
	Add new exported functions.

2007-06-07  Tim-Philipp Müller  <tim at centricular dot net>

	* gst/gstutils.c:
	  Small docs addition.

2007-06-07  Stefan Kost  <ensonic@users.sf.net>

	* README:
	  Remove that test line again.

2007-06-07  Stefan Kost  <ensonic@users.sf.net>

	* README:
	  Test commit mail sending.

2007-06-07  Stefan Kost  <ensonic@users.sf.net>

	* configure.ac:
	  Fix typo and test commit mail sending.

2007-06-07  Stefan Kost  <ensonic@users.sf.net>

	* tests/examples/controller/audio-example.c:
	  Improve comment and test commit mail sending.

2007-06-07  Wim Taymans  <wim@fluendo.com>

	* gst/gstbin.c: (find_message), (bin_replace_message), (is_eos),
	(gst_bin_remove_func), (gst_bin_element_set_state),
	(bin_handle_async_start), (bin_handle_async_done),
	(gst_bin_handle_message_func):
	Add helper function to find messages.
	Generate the async-done messages together with the state change
	messages.
	Small cleanups in handling toplevel bins.

2007-06-06  Tim-Philipp Müller  <tim at centricular dot net>

	* libs/gst/base/gstdataqueue.c:
	* libs/gst/base/gstdataqueue.h:
	* plugins/elements/gstmultiqueue.c: (gst_single_queue_push_one),
	(gst_multi_queue_item_new), (gst_multi_queue_chain),
	(gst_multi_queue_sink_event):
	* tests/check/elements/multiqueue.c: (multiqueue_suite):
	  Fix multiqueue leaking buffers and events when downstream or the
	  queue are flushing. Make refcounting assumptions explicit and
	  document them (shouldn't break existing code that uses it other than
	  maybe leak miniobjects, but that already happens anyway). Add unit
	  test for the most common flushing case. Fixes #423700.
	  
2007-06-06  Sebastian Dröge  <slomo@circular-chaos.org>

	* libs/gst/controller/gstcontroller.c:
	Clarify docs: The get_all, get_value_array(s) functions
	don't modify the GObject properties.

2007-06-06  Sebastian Dröge  <slomo@circular-chaos.org>

	* libs/gst/controller/gstcontroller.c:
	(gst_controlled_property_set_interpolation_mode),
	(gst_controlled_property_prepend_default),
	(gst_controlled_property_new), (gst_controller_set_unlocked),
	(gst_controller_set), (gst_controller_set_from_list),
	(gst_controller_unset), (gst_controller_unset_all):
	* libs/gst/controller/gstcontrollerprivate.h:
	* libs/gst/controller/gstinterpolation.c:
	Factor out the 'set' logic into gst_controller_set_unlocked for the
	gst_controller_set and gst_controller_set_from_list functions.

	To make life of the interpolators easier always add a control point
	at timestamp zero with the default value.

	In the linear interpolator make things more obvious by better variable
	naming (slope).

	Implement cubic interpolation mode (by using a natural cubic spline)
	and map the quadratic interpolation mode to this too (as quadratic
	doesn't make much sense, see discussion on the list).

	* tests/check/libs/controller.c: (GST_START_TEST),
	(gst_controller_suite):
	Add unit test for the cubic interpolation mode and check everywhere
	if the interpolation mode could be set as expected.

2007-06-06  Tim-Philipp Müller  <tim at centricular dot net>

	* gst/gstparamspecs.c: (gst_param_spec_fraction_get_type):
	  Don't use GLib-2.10 functions, we still depend on
	  GLib-how-old-is-it-again-2.8.

2007-06-06  Tim-Philipp Müller  <tim at centricular dot net>

	* docs/gst/gstreamer-sections.txt:
	* gst/Makefile.am:
	* gst/gst.c:
	* gst/gst.h:
	* gst/gstparamspecs.c: (_gst_param_fraction_init),
	(_gst_param_fraction_set_default), (_gst_param_fraction_validate),
	(_gst_param_fraction_values_cmp),
	(gst_param_spec_fraction_get_type), (gst_param_spec_fraction):
	* gst/gstparamspecs.h:
	* gst/gstvalue.c:
	* tests/check/Makefile.am:
	* tests/check/gst/.cvsignore:
	* tests/check/gst/gstparamspecs.c: (gst_dummy_obj_base_init),
	(gst_dummy_obj_class_init), (gst_dummy_obj_init),
	(gst_dummy_obj_set_property), (gst_dummy_obj_get_property),
	(GST_START_TEST), (gst_param_spec_suite):
	  API: add GstParamSpecFraction, so elements can have fraction
	  properties without lots of painful string parsing (#444648).

2007-06-05  Wim Taymans  <wim@fluendo.com>

	* gst/gstobject.c: (gst_object_class_init):
	Fix signal signature.

	* gst/gstsegment.c:
	Add small clarification in the api docs.

	* plugins/elements/gstfilesrc.c: (gst_file_src_set_location):
	States are protected with object lock.

2007-06-05  Jan Schmidt  <thaytan@mad.scientist.com>

	* AUTHORS:
	I should probably be listed as an author by now.

	* docs/random/release:
	Update the release doc

2007-06-05  Tim-Philipp Müller  <tim at centricular dot net>

	* gst/gstvalue.c:
	  Make docs for gst_value_compare() mention return enums that
	  actually exist.

2007-06-05  Jan Schmidt  <thaytan@mad.scientist.com>

	* configure.ac:
	  Back to CVS

=== release 0.10.13 ===

2007-06-05  Jan Schmidt <thaytan@mad.scientist.com>

	* configure.ac:
	  releasing 0.10.13, "With or without you"

2007-05-25  Wim Taymans  <wim@fluendo.com>

	* gst/gstbin.c: (bin_handle_async_done):
	Make sure that the child bin stops after completing the async state
	change so that the parent can continue the state change to PLAYING.
	Fixes #441159.

2007-05-25  Wim Taymans  <wim@fluendo.com>

	* libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
	(unref_data), (gst_collect_pads_remove_pad),
	(gst_collect_pads_check_pads):
	Use additional refcounting to avoid crashes when dynamically adding and
	removing pads. Fixes #420206.

2007-05-24  Wim Taymans  <wim@fluendo.com>

	* tools/gst-launch.c: (event_loop):
	When buffering goes from a two digit to a single digit number, make sure
	to remove the old second digit by writing a blank over it.

2007-05-24  Tim-Philipp Müller  <tim at centricular dot net>

	* libs/gst/base/gstdataqueue.c:
	  Eliminate tabs and trailing comma in enum list; fix some typos.

2007-05-24  Wim Taymans  <wim@fluendo.com>

	* tests/check/gst/gstbin.c: (GST_START_TEST):
	Allow refcount of 3 and 4 because some state thread might still be busy
	with it.

2007-05-24  Tim-Philipp Müller  <tim at centricular dot net>

	* plugins/elements/Makefile.am:
	* plugins/elements/gstmultiqueue.h:
	* plugins/elements/gstqueue.h:
	  These are not installed headers, no need for padding.

2007-05-24  Wim Taymans  <wim@fluendo.com>

	* gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
	(gst_bin_continue_func):
	Enable latency for next release.
	Restore STATE_LOCK around recalc_state that was left out during the
	rewrite and could result in racy behaviour when _get_state and
	recalc_state are run concurrently. See #440463.

2007-05-23  Wim Taymans  <wim@fluendo.com>

	* tests/check/gst/gstsystemclock.c: (store_callback),
	(GST_START_TEST):
	Improve test_async_order to also work when both timers are already
	expired when we get scheduled to check it.

2007-05-22  Tim-Philipp Müller  <tim at centricular dot net>

	* gst/gstbin.c: (gst_bin_init), (gst_bin_dispose),
	(gst_bin_set_property), (gst_bin_get_property),
	(gst_bin_remove_func), (gst_bin_handle_message_func):
	* gst/gstbin.h:
	  'private' is a c++ keyword, let's not use that in header files,
	  otherwise c++ compilers will throw a tantrum.

2007-05-22  Tim-Philipp Müller  <tim at centricular dot net>

	* plugins/elements/gstelements.c:
	* plugins/elements/gstfilesink.c: (gst_file_sink_do_seek),
	(gst_file_sink_get_current_offset):
	* plugins/indexers/gstindexers.c: (plugin_init):
	  Use #ifdef for HAVE_XYZ for consistency.

	* tests/check/Makefile.am:
	* tests/check/elements/.cvsignore:
	* tests/check/elements/filesink.c: (setup_filesink),
	(cleanup_filesink), (GST_START_TEST), (filesink_suite):
	  Add some unit tests for filesink.

2007-05-22  Tim-Philipp Müller  <tim at centricular dot net>

	Patch by: Mark Nauwelaerts <manauw at skynet be>

	* plugins/elements/gstfilesink.c: (gst_file_sink_open_file),
	(gst_file_sink_query), (gst_file_sink_do_seek),
	(gst_file_sink_get_current_offset), (gst_file_sink_render):
	* plugins/elements/gstfilesink.h:
	  Fix position reporting; rename data_written member to current_pos to
	  reflect its real meaning (fixes #412648).

2007-05-22  Edward Hervey  <edward@fluendo.com>

	* docs/gst/gstreamer-sections.txt:
	* gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
	(gst_bin_dispose), (gst_bin_set_property), (gst_bin_get_property),
	(gst_bin_remove_func), (gst_bin_handle_message_func):
	* gst/gstbin.h:
	Add a property for bins that handle the state change of their childs.
	Fixes #435880

2007-05-22  Sebastian Dröge  <slomo@circular-chaos.org>

	* libs/gst/controller/gstinterpolation.c:
	Use an array of the correct type when using _get_value_array with
	linear interpolation.

2007-05-22  Stefan Kost  <ensonic@users.sf.net>

	* gst/gstelement.c (gst_element_requires_clock,
	  gst_element_provides_clock, gst_element_request_pad,
	  gst_element_class_set_details, gst_element_class_set_details_simple,
	  gst_element_default_send_event, gst_element_abort_state,
	  gst_element_continue_state, gst_element_set_state,
	  gst_element_set_state_func, iterator_activate_fold_with_resync):
	* gst/gstpad.c (gst_pad_activate_pull, gst_pad_set_getcaps_function,
	  gst_pad_fixate_caps, gst_pad_configure_sink, gst_pad_configure_src,
	  gst_pad_query, gst_pad_save_thyself, handle_pad_block, gst_pad_push,
	  gst_pad_get_range, gst_pad_pull_range):
	* gst/gstpad.h (GST_PAD_LINK_SUCCESSFUL, GST_FLOW_CUSTOM_SUCCESS,
	  GST_FLOW_NOT_SUPPORTED, GST_FLOW_IS_FATAL, GstPadActivateFunction,
	  GstPadActivateModeFunction, GstPadChainFunction,
	  GstPadGetCapsFunction, GstPadAcceptCapsFunction,
	  GstPadFixateCapsFunction, GstPadTemplate):
	* gst/gstpipeline.c (gst_pipeline_change_state,
	  gst_pipeline_set_new_stream_time, gst_pipeline_use_clock,
	  gst_pipeline_set_clock, gst_pipeline_auto_clock,
	  gst_pipeline_get_delay):
	  Whitespace and docs fixes.

2007-05-21  Sebastian Dröge  <slomo@circular-chaos.org>

	* libs/gst/controller/gstinterpolation.c:
	(interpolate_trigger_get_enum_value_array),
	(interpolate_trigger_get_string_value_array):
	Add support for retrieving value arrays when using the trigger
	interpolation mode. 

2007-05-21  Sebastian Dröge  <slomo@circular-chaos.org>

	* libs/gst/controller/gstcontroller.c:
	(gst_controller_get_value_array):
	* libs/gst/controller/gstcontroller.h:
	Clarify the docs of gst_controller_get_value_array(): The array where
	the values should be written to must be allocated as there seems to be
	no way to get the size of a random GType. This doesn't change any
	behaviour. Also fix some typos all over the place and remove an unused,
	commented function that is not necessary as g_object_set() could be
	used instead.
	* tests/check/libs/controller.c: (GST_START_TEST),
	(gst_controller_suite):
	Add unit test for gst_controller_get_value_array().

2007-05-21  Jan Schmidt  <thaytan@mad.scientist.com>

	* tests/check/gst/gstbuffer.c: (GST_START_TEST):

	Disable part of the gst_buffer_try_new_and_alloc test, because
	it can happily succeed on 64-bit systems where there's more address
	space available.

2007-05-21  Sebastian Dröge  <slomo@circular-chaos.org>

	* tests/check/gst/gstpad.c: (GST_START_TEST), (gst_pad_suite):
	Add unit test for the improved caps checking from bug #421543.

2007-05-21  Wim Taymans  <wim@fluendo.com>

	* docs/design/part-synchronisation.txt:
	Small addition.

	* gst/gstbin.c: (gst_bin_query):
	* plugins/elements/gstqueue.c: (apply_segment):
	Improve debugging.

	* gst/gstmessage.h:
	Improve docs.

2007-05-21  Wim Taymans  <wim@fluendo.com>

	* gst/gstpad.c: (gst_pad_get_caps_unlocked),
	(gst_pad_acceptcaps_default), (gst_pad_configure_sink),
	(gst_pad_configure_src):
	Added simple version of improved caps checking. It was previously
	assumed that a setcaps function would check the validity of the caps but
	people prefer us to check caps against the template automatically. 
	Fixes #421543.

2007-05-21  Wim Taymans  <wim@fluendo.com>

	* libs/gst/base/gstbasetransform.h:
	Fix macro for locking/unlocking the transform lock.

2007-05-19  Tim-Philipp Müller  <tim at centricular dot net>

	* docs/plugins/tmpl/.cvsignore:
	  Ignore more.

2007-05-18  Edward Hervey  <edward@fluendo.com>

	* plugins/elements/gstqueue.c: (gst_queue_loop):
	Hello, I am Mr Taymans' personal debugger. Today I will introduce a fix
	for the subtle art of warning a potentially blocking thread that it
	should check the source pad return value, and relay the information
	upstream.

2007-05-18  Edward Hervey  <edward@fluendo.com>

	* plugins/elements/gstqueue.c: (gst_queue_handle_sink_event):
	Release the queue lock !

2007-05-17  Sebastian Dröge  <slomo@circular-chaos.org>

	* docs/libs/gstreamer-libs-sections.txt:
	Add the two new controller functions to the appropiate places.

2007-05-17  Sebastian Dröge  <slomo@circular-chaos.org>

	reviewed by: Stefan Kost <ensonic@users.sf.net>

	* libs/gst/controller/gstcontroller.c:
	(gst_controller_suggest_next_sync), (gst_controller_sync_values),
	(_gst_controller_get_property), (_gst_controller_set_property),
	(_gst_controller_init), (_gst_controller_class_init):
	* libs/gst/controller/gstcontroller.h:
	* libs/gst/controller/gsthelper.c: (gst_object_suggest_next_sync),
	(gst_object_get_control_rate), (gst_object_set_control_rate):
	API: gst_controller_suggest_next_sync(), gst_object_suggest_next_sync()
	Add API that provides sync suggestion timestamps for elements that
	call gst_object_sync_values() from which those elements can subdivide
	their processing loop to get the best results for the controlled
	properties. For now it just suggests last_sync + control_rate as
	new timestamp but this will be improved in the future.

	While doing that change the control-rate property to a GstClockTime
	from guint and change it's meaning from samples to nanoseconds as
	the GstController doesn't know anything about sampling rate. Strictly
	speaking this breaks ABI but as the control-rate property didn't do
	anything in the past and as such couldn't be used this should be no
	problem.	

2007-05-17  Sebastian Dröge  <slomo@circular-chaos.org>

	reviewed by: Stefan Kost <ensonic@users.sf.net>

	* libs/gst/controller/gstcontroller.c: (gst_controller_unset),
	(gst_controller_unset_all):
	* libs/gst/controller/gstcontrollerprivate.h:
	* libs/gst/controller/gstinterpolation.c:
	(gst_controlled_property_find_control_point_node):
	Save last synced value from the list to continue searching from there
	in future syncs. This speeds everything up a bit.
	
2007-05-17  Sebastian Dröge  <slomo@circular-chaos.org>

	reviewed by: Stefan Kost <ensonic@users.sf.net>

	* libs/gst/controller/gstcontroller.c: (gst_control_point_compare),
	(gst_control_point_find), (gst_controlled_property_new),
	(gst_control_point_free), (gst_controlled_property_free),
	(gst_controller_set), (gst_controller_set_from_list),
	(gst_controller_unset), (gst_controller_unset_all),
	(gst_controller_sync_values):
	* libs/gst/controller/gstcontroller.h:
	* libs/gst/controller/gstcontrollerprivate.h:
	* libs/gst/controller/gstinterpolation.c:
	(gst_controlled_property_find_control_point_node),
	(interpolate_none_get), (interpolate_trigger_get):
	Add a new private GstControlPoint struct which "inherits" from
	GstTimedValue to allow different interpolators to store internal
	values next to each control point. From the outside everything is
	still a GstControlPoint so we don't loose binary compatibility.
	Also fixup all the GValue handling to not leak GValues or list nodes.
	* tests/check/libs/controller.c: (GST_START_TEST):
	Free the list nodes and GValues in the controller_misc test.

2007-05-17  Edward Hervey  <edward@fluendo.com>

	* gst/gstsegment.c:
	Small doc fix.

2007-05-16  Tim-Philipp Müller  <tim at centricular dot net>

	* gst/gstplugin.c: (gst_plugin_load_file):
	  If we fail to load a plugin because of unresolved symbols or missing
	  libraries and spew a warning to stderr, we may just as well mention
	  which plugin it was that failed to load.

2007-05-13  David Schleef  <ds@schleef.org>

	* docs/Makefile.am: the gtk-doc makefile snippet correctly
	  handles the case when ENABLE_GTK_DOC is false, and installs
	  the prebuilt documentation.  So gtk-doc subdirs are 
	  unconditionally enabled.  Fixes: #349099.

2007-05-13  David Schleef  <ds@schleef.org>

	* gst/gstutils.h: Reword some documentation.

2007-05-12  David Schleef  <ds@schleef.org>

	* gst/gstplugin.c: gst_plugin_register_func() doesn't actually
	  do anything with the passed "module" parameter, so remove it.
	  Allows removal of additional vestigal code.

2007-05-12  David Schleef  <ds@schleef.org>

	* gst/gstplugin.c:
	  Using sigaction should depend on HAVE_SIGACTION, not HAVE_WIN32.
	  Switch to using g_stat() because it's more portable.

2007-05-12  David Schleef  <ds@schleef.org>

	* gst/gst.c:
	  Add GST_DISABLE_OPTION_PARSING, in order to disable option
	  parsing for embedded systems.
	* gst/gstelementfactory.c:
	  Allow gst_element_register() to be called with plugin==NULL.
	  Did nobody notice that static elements were broken?

2007-05-12  Wim Taymans  <wim@fluendo.com>

	* tools/gst-launch.c: (event_loop):
	Give more interesting info when buffering starts and stops.
	Fix case where buffering starts but we fail to update the buffering flag
	because the target state is not PLAYING.

2007-05-12  Wim Taymans  <wim@fluendo.com>

	* plugins/elements/gstqueue.c: (gst_queue_init),
	(gst_queue_finalize), (update_time_level), (apply_segment),
	(apply_buffer), (gst_queue_locked_flush),
	(gst_queue_locked_enqueue), (gst_queue_locked_dequeue),
	(gst_queue_handle_sink_event), (gst_queue_chain),
	(gst_queue_push_one), (gst_queue_loop):
	* plugins/elements/gstqueue.h:
	Refactor an cleanup queue a bit.
	Do better time level calculations that also work when the srcpad is not
	yet running.
	Remove some unneeded debug lines.

	* tests/check/elements/queue.c: (GST_START_TEST), (queue_suite):
	Added testcase for time level measurement.
	Try to make some stuff more racefree.

2007-05-11  Tim-Philipp Müller  <tim at centricular dot net>

	* gst/gsturi.c: (gst_element_make_from_uri):
	  Don't leak plugin feature.

	* tests/check/Makefile.am:
	* tests/check/gst/.cvsignore:
	* tests/check/gst/gsturi.c: (GST_START_TEST), (gst_uri_suite):
	  Add brain-dead unit test.

2007-05-11  Tim-Philipp Müller  <tim at centricular dot net>

	Patch by: Jeroen Wouters <woutersj at gmail com>

	* gst/gsturi.c: (gst_uri_get_protocol), (search_by_entry):
	  Treat protocol strings in a case-insensitive way (#437563).

2007-05-11  Michael Smith <msmith@fluendo.com>

	* gst/gstplugin.c: (gst_plugin_load_file):
	* gst/gstregistry.c: (gst_registry_scan_path_level):
	  Don't print a g_warning for any failure to load a shared object.
	  Instead, push this down into gstplugin.c, and warn _only_ if we
	  failed to open the module (i.e. failure to link).
	  Avoids warnings on normal, working, non-plugin .so files.

2007-05-11  Stefan Kost  <ensonic@users.sf.net>

	* gst/gstplugin.c (gst_plugin_load_file):
	* gst/gstregistry.c (GST_CAT_DEFAULT,
	  gst_registry_lookup_feature_locked, gst_registry_scan_path_level):
	  Print a g_warning if there was an error when loading a plugins during
	  registry scan. The shuld help beginners starting with gst-plugin
	  template.

2007-05-10  Wim Taymans  <wim@fluendo.com>

	* plugins/elements/gstqueue.c: (gst_queue_class_init),
	(update_time_level), (gst_queue_locked_flush),
	(gst_queue_handle_sink_event), (gst_queue_chain),
	(gst_queue_push_one), (gst_queue_loop):
	* plugins/elements/gstqueue.h:
	Be smarter when calculating the current amount of data in the queue by
	measuring the difference between start and end timestamps (in running
	time) inside the queue. Fixes #432876.
	API: GstQueue::pushing to notify elements that we are pushing data again
	since the running signal is rather broken for this purpose.

2007-05-10  Stefan Kost  <ensonic@users.sf.net>

	* plugins/elements/gstqueue.c (_do_init, gst_queue_signals,
	  gst_queue_base_init, gst_queue_init):
	  use GST_BOILERPLATE

2007-05-09  Sebastien Moutte  <sebastien@moutte.net>

	* win32/common/libgstreamer.def:
	Add new exported functions.
	* win32/vs6/grammar.dsp:
	Use grammar pre-generated files.

2007-05-09  Tim-Philipp Müller  <tim at centricular dot net>

	Based on patch by: Peter Kjellerstedt  <pkj at axis com>

	* gst/Makefile.am:
	* gst/gstparse.c: (gst_parse_launchv), (gst_parse_launch):
	* gst/gstparse.h:
	* gst/gstutils.c: (gst_parse_bin_from_description):
	* gst/gstutils.h:
	  Maintain API and ABI when --disable-parse is used. Now that
	  we have an appropriate error code, we can just return NULL and the
	  appropriate error when gst_parse_launch() is used despite it having
	  been disabled (#342564).

	* tests/check/Makefile.am:
	* tests/check/pipelines/.cvsignore:
	* tests/check/pipelines/parse-disabled.c:
	  Make sure these functions exist and return NULL plus a GError when
	  --disable-parse is used.

2007-05-09  Tim-Philipp Müller  <tim at centricular dot net>

	* tests/benchmarks/complexity.c: (main):
	* tests/benchmarks/mass-elements.c: (main):
	  Set a good example and don't leak messages.

2007-05-06  Stefan Kost  <ensonic@users.sf.net>

	* docs/gst/Makefile.am:
	* docs/libs/Makefile.am:
	  Correct fixxrefs options.

	* docs/plugins/Makefile.am:
	* docs/plugins/gstreamer-plugins-docs.sgml:
	* docs/plugins/gstreamer-plugins-sections.txt:
	* plugins/elements/Makefile.am:
	* plugins/elements/gstcapsfilter.c (gst_capsfilter_details):
	* plugins/elements/gstcapsfilter.h (__GST_CAPSFILTER_H__,
	  GST_TYPE_CAPSFILTER, GST_CAPSFILTER, GST_CAPSFILTER_CLASS,
	  GST_IS_CAPSFILTER, GST_IS_CAPSFILTER_CLASS, GstCapsFilter,
	  GstCapsFilterClass, _GstCapsFilter, trans, filter_caps,
	  _GstCapsFilterClass, trans_class):
	* plugins/elements/gstelements.c (name, rank, type, _elements):
	* plugins/elements/gstidentity.c
	  (gst_identity_check_imperfect_timestamp,
	  gst_identity_check_imperfect_offset):
	  Document capsfilter and add doc-blurb to identity.

2007-05-04  Tim-Philipp Müller  <tim at centricular dot net>

	* libs/gst/controller/gstcontroller.c:
	(gst_controlled_property_set_interpolation_mode):
	* libs/gst/controller/gstinterpolation.c:
	  Don't crash if someone tries to set an interpolation mode that
	  is invalid or that isn't supported yet. Fixes #422295.

	* tests/check/libs/controller.c: (GST_START_TEST),
	(gst_controller_suite):
	  Add a test case for the above.

2007-05-03  Edward Hervey  <edward@fluendo.com>

	* libs/gst/base/gstbasetransform.c: (gst_base_transform_chain):
	Properly set the last_stop position on GstSegment. This will only happen
	if there is a buffer to push out.

2007-05-03  Wim Taymans  <wim@fluendo.com>

	* libs/gst/base/gstbasetransform.c:
	(gst_base_transform_buffer_alloc):
	always_in_place does not mean that the sink and source caps are the
	same! Make sure we don't blindly proxy the buffer_alloc in this case.

2007-05-03  Wim Taymans  <wim@fluendo.com>

	* docs/libs/gstreamer-libs-sections.txt:
	* libs/gst/base/gstbasesrc.c: (gst_base_src_query_latency),
	(gst_base_src_default_query), (gst_base_src_get_range):
	* libs/gst/base/gstbasesrc.h:
	API: gst_base_src_query_latency(). Added method so that subclasses can
	easily get the latency values of the base source class.

2007-05-02  Zaheer Abbas Merali  <<zaheerabbas at merali dot org>>

	* tools/gst-inspect.c (print_implementation_info):
	Remove 0.8 cruft.

2007-05-02  Tim-Philipp Müller  <tim at centricular dot net>

	* tools/Makefile.am:
	* tools/gst-launch.1.in:
	  Don't create a customised man page based on the host architecture,
	  describe the default registry path generically. That way the man
	  page is the same for all architectures and packagers have one
	  multilib issue less to deal with. Fixes #434926.

2007-05-02  Wim Taymans  <wim@fluendo.com>

	* gst/gstpad.c:
	Fix documentation as spotted by rg on IRC. 

2007-04-29  Stefan Kost  <ensonic@users.sf.net>

	* gst/gstutils.c:
	  Improve docs for gst_element_{link,unlink}.

2007-04-28  Tim-Philipp Müller  <tim at centricular dot net>

	* docs/design/part-events.txt:
	* docs/design/part-overview.txt:
	* gst/gstevent.c:
	* gst/gsturi.c:
	* gst/gsturi.h:
	* libs/gst/base/gstbasesink.c:
	  Typo fixes; minor docs addition.

2007-04-27  Sebastian Dröge  <slomo@circular-chaos.org>

	* docs/gst/gstreamer-sections.txt:
	* gst/gsturi.c: (get_element_factories_from_uri_protocol),
	(gst_uri_protocol_is_supported), (gst_element_make_from_uri):
	* gst/gsturi.h:
	API: Add gst_uri_protocol_is_supported(), which checks if a sink
	or src that supports a given URI protocol exists.

2007-04-27  Sebastian Dröge  <slomo@circular-chaos.org>

	* plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
	* plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
	Set the location to NULL if "file://" is set as URI. Otherwise
	some random previous URI would still be set if "file://" is
	set on an already used filesink/filesrc.

2007-04-27  Sebastian Dröge  <slomo@circular-chaos.org>

	* plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
	* plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
	Special case the "file://" URI as as this is used by some
	applications to test with gst_element_make_from_uri if there's
	an element that supports the URI protocol.
	Also move the g_path_is_absolute() check for the location part
	of the URI to also check this for "file://localhost/bla" URIs.

2007-04-26  Tim-Philipp Müller  <tim at centricular dot net>

	* docs/gst/gstreamer-sections.txt:
	* gst/gstbuffer.c: (gst_buffer_try_new_and_alloc):
	* gst/gstbuffer.h:
	* tests/check/gst/gstbuffer.c: (GST_START_TEST),
	(gst_buffer_suite):
	  API: add gst_buffer_try_new_and_alloc() plus unit test (#431940).

2007-04-26  Stefan Kost  <ensonic@users.sf.net>

	* gst/gstregistrybinary.c: (gst_registry_binary_write_cache),
	(gst_registry_binary_load_pad_template),
	(gst_registry_binary_load_plugin),
	(gst_registry_binary_read_cache):
	* gst/gstregistrybinary.h:
	  Implement no-mmap alternative for registry reading. Do code cleanups.
	  Add more comments about avoiding strdups for all text data. Comments
	  welcome.

2007-04-25  Stefan Kost  <ensonic@users.sf.net>

	* gst/gstregistrybinary.h (GstBinaryPluginElement,
	  GstBinaryPluginFeature, _GstBinaryElementFactory, plugin_feature,
	  GstBinaryElementFactory, _GstBinaryTypeFindFactory, plugin_feature):
	  Comment structs and reformat to fix the build (that stuff should go
	  into a priv. header).

2007-04-25  Stefan Kost  <ensonic@users.sf.net>

	* gst/gstregistrybinary.c: (gst_registry_binary_save_feature),
	(gst_registry_binary_load_feature):
	* gst/gstregistrybinary.h:
	  Refactor so that we can implement multiple features. Add support for
	  TypeFindFactory features.

2007-04-24  Stefan Kost  <ensonic@users.sf.net>

	Patch by: Peter Kjellerstedt <Peter.Kjellerstedt@axis.com>

	* configure.ac:
	  Fix AM_CONDITIONAL(GST_DISABLE_GST_DEBUG,...) and update comment.

2007-04-23  Stefan Kost  <ensonic@users.sf.net>

	* gst/gstbin.c: (gst_bin_element_set_state),
	(iterator_activate_fold_with_resync), (gst_bin_continue_func),
	(bin_handle_async_done), (gst_bin_handle_message_func):
	  Fix build with --gst-disable-gst-debug

2007-04-21  Tim-Philipp Müller  <tim at centricular dot net>

	* libs/gst/base/gstbasetransform.c: (gst_base_transform_activate):
	  Make sure streaming has finished before calling the ::stop() vfunc,
	  since that vfunc might clear state which is being used in the
	  streaming thread. This fixes a race that caused crashes in
	  audioresample when shutting down a pipeline (#420106).

2007-04-20  Stefan Kost  <ensonic@users.sf.net>

	* docs/gst/gstreamer-sections.txt:
	  That was one byte missing.

2007-04-20  Stefan Kost  <ensonic@users.sf.net>

	* configure.ac:
	* docs/gst/gstreamer-sections.txt:
	* gst/Makefile.am:
	* gst/gstconfig.h.in:
	* gst/gstobject.c: (gst_object_class_init),
	(gst_signal_object_class_init):
	* gst/gstobject.h:
	  2nd attempt to have a xml-less build as a joined effort of #413123
	  and #421480.

2007-04-20  Stefan Kost  <ensonic@users.sf.net>

	* docs/design/draft-tagreading.txt:
	  Added open issues/thoughts to draft.

2007-04-19  Sebastian Dröge  <slomo@circular-chaos.org>

	* gst/parse/grammar.tab.pre.c:
	* gst/parse/grammar.tab.pre.h:
	* gst/parse/lex._gst_parse_yy.pre.c:
	Update the prebuild parser sources.

2007-04-19  Sebastian Dröge  <slomo@circular-chaos.org>

	* gst/parse/Makefile.am:
	And now fix the building of the flex sources. Now everything should
	work as expected.

2007-04-19  Sebastian Dröge  <slomo@circular-chaos.org>

	* gst/parse/Makefile.am:
	Now hopefully fix the build failures by setting proper rule
	dependencies and moving instead of copying.

2007-04-19  Stefan Kost  <ensonic@users.sf.net>

	* tests/benchmarks/complexity.gnuplot:
	* tests/benchmarks/complexity.scm:
	* tests/benchmarks/mass-elements.gnuplot:
	* tests/benchmarks/mass-elements.scm:
	  Total licensification.

2007-04-19  Stefan Kost  <ensonic@users.sf.net>

	* gst/parse/Makefile.am:
	  Fix the build by correcting the rule that gave wrong files to flex.

2007-04-19  Stefan Kost  <ensonic@users.sf.net>

	* tests/benchmarks/complexity.c:
	* tests/benchmarks/mass-elements.c:
	  Change licence to LGPL as granted by Benjamin and Andy.

2007-04-19  Sebastian Dröge  <slomo@circular-chaos.org>

	* gst/parse/Makefile.am:
	Add correct grammar.tab.h dependency if compiling without new enough
	flex. Fixes #431150.

2007-04-18  Sebastian Dröge  <slomo@circular-chaos.org>

	* gst/parse/Makefile.am:
	Fix typo and use outdated sources if the flex/bison sources are newer
	than the pregenerated ones but flex is too old. Print a warning in
	that case. This should fix the build on the build bot.

2007-04-18  Sebastian Dröge  <slomo@circular-chaos.org>

	Patch by: Marc-Andre Lureau <marcandre dot lureau at gmail dot com>
	* gst/parse/Makefile.am:
	* gst/parse/grammar.y:
	* gst/parse/parse.l:
	Make the parser reentrant and recursively callable. This requires flex
	>= 2.5.31, for older versions pregenerated sources are used as we
	can't bump the build dependency. Finally fixes #349180.

	* gst/gstparse.c: (gst_parse_launch):
	Drop the HAVE_MT_SAVE_FLEX #ifdefs as we always use a new enough flex
	now anyway.

	* docs/gst/Makefile.am:
	* docs/gst/Makefile.am:
	* gst/parse/grammar.tab.pre.c: (__gst_parse_strdup),
	(__gst_parse_strfree), (__gst_parse_link_new),
	(__gst_parse_link_free), (__gst_parse_chain_new),
	(__gst_parse_chain_free), (SET_ERROR), (YYPRINTF),
	(gst_parse_element_set), (gst_parse_free_link),
	(gst_parse_found_pad), (gst_parse_perform_delayed_link),
	(gst_parse_perform_link), (yytnamerr), (yysyntax_error), (yyerror),
	(_gst_parse_launch):
	* gst/parse/grammar.tab.pre.h:
	* gst/parse/lex._gst_parse_yy.pre.c: (PRINT), (yy_get_next_buffer),
	(yy_get_previous_state), (yy_try_NUL_trans), (input),
	(_gst_parse_yyrestart), (_gst_parse_yy_switch_to_buffer),
	(_gst_parse_yy_load_buffer_state), (_gst_parse_yy_create_buffer),
	(_gst_parse_yy_delete_buffer), (_gst_parse_yy_init_buffer),
	(_gst_parse_yy_flush_buffer), (_gst_parse_yypush_buffer_state),
	(_gst_parse_yypop_buffer_state),
	(_gst_parse_yyensure_buffer_stack), (_gst_parse_yy_scan_buffer),
	(_gst_parse_yy_scan_string), (_gst_parse_yy_scan_bytes),
	(yy_fatal_error), (_gst_parse_yyget_extra),
	(_gst_parse_yyget_lineno), (_gst_parse_yyget_column),
	(_gst_parse_yyget_in), (_gst_parse_yyget_out),
	(_gst_parse_yyget_leng), (_gst_parse_yyget_text),
	(_gst_parse_yyset_extra), (_gst_parse_yyset_lineno),
	(_gst_parse_yyset_column), (_gst_parse_yyset_in),
	(_gst_parse_yyset_out), (_gst_parse_yyget_debug),
	(_gst_parse_yyset_debug), (_gst_parse_yyget_lval),
	(_gst_parse_yyset_lval), (_gst_parse_yylex_init),
	(yy_init_globals), (_gst_parse_yylex_destroy), (yy_flex_strncpy),
	(yy_flex_strlen), (_gst_parse_yyalloc), (_gst_parse_yyrealloc),
	(_gst_parse_yyfree):
	If the installed flex version is too old use pre-generated parser
	sources. These pre-generated parser sources are always updated when
	the actual flex/bison sources change but require everybody who wants
	to change something in the parser to have flex >= 2.5.31 installed.

2007-04-18  Stefan Kost  <ensonic@users.sf.net>

	* common/m4/gst-gettext.m4:
	* gst/gst-i18n-lib.h:
	  Make --disable-nls to work

2007-04-17  Wim Taymans  <wim@fluendo.com>

	* gst/gstconfig.h.in:
	Revert previous change that broke the build.

2007-04-17  Stefan Kost  <ensonic@users.sf.net>

	* configure.ac:
	* gst/Makefile.am:
	* gst/gstconfig.h.in:
	  Drop libxml2 dependency when building with 
	  --enable-binary-registry --disable-loadsave

2007-04-16  Tim-Philipp Müller  <tim at centricular dot net>

	* gst/gstregistrybinary.c: (gst_registry_binary_write_cache),
	(gst_registry_binary_read_cache):
	* gst/gstregistrybinary.h:
	  Remove unnecessary <sys/mman.h> include which broke the win32 build
	  with MingW; move includes from header file to .c file, even if the
	  header file isn't installed; use g_strerror() where UTF-8 strings
	  are expected, such as in GST_DEBUG messages.

2007-04-13  Jan Schmidt  <thaytan@mad.scientist.com>

	* docs/libs/gstreamer-libs-sections.txt:
	Remove bogus addition for API I didn't end up keeping.

	* libs/gst/base/gstbasesrc.h:
	Mention Since: 0.10.13 in the documentation.

	Add the API keyword to the previous ChangeLog entry.

2007-04-13  Jan Schmidt  <thaytan@mad.scientist.com>

	* docs/libs/gstreamer-libs-sections.txt:
	* libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
	(gst_base_src_default_prepare_seek_segment),
	(gst_base_src_prepare_seek_segment), (gst_base_src_perform_seek):
	* libs/gst/base/gstbasesrc.h:
	Allow basesrc derived classes to execute seeks in other formats
	by providing a prepare_seek_segment vmethod. Sub-classes can choose
	to prepare the GstSegment in any format that their perform_seek method
	will be able to understand. The default implementation provides the
	old behaviour of attempting to convert the seek offsets to the 
	configured native format.

	API: basesrc::prepare_seek_segment vmethod.

2007-04-13  Jan Schmidt  <thaytan@mad.scientist.com>

	* gst/gstelement.c: (gst_element_get_state_func):
	Don't output the same debug statement twice.

	* libs/gst/base/gstadapter.c: (gst_adapter_try_to_merge_up),
	(gst_adapter_peek), (gst_adapter_take_buffer):
	Optimise the case where we have buffers at the head of the queue that
	can be joined quickly (because they're contiguous sub-buffers) by
	merging them together rather than copying data out into new memory.

	* gst/parse/grammar.y:
	* tests/check/pipelines/parse-launch.c:
	Fix a leak in an error path for parse_launch, and add a check 
	for it to the testsuite.

2007-04-13  Jan Schmidt  <thaytan@mad.scientist.com>

	* plugins/elements/gstmultiqueue.c: (gst_multi_queue_release_pad):
	  Don't deadlock when releasing a pad - gst_pad_set_active may try
	  and take the multiqueue lock too.

2007-04-12  Tim-Philipp Müller  <tim at centricular dot net>

	* gst/gsterror.c: (_gst_core_errors_init):
	* gst/gsterror.h:
	  API: add GST_CORE_ERROR_DISABLED (#392804).

2007-04-12  Thomas Vander Stichele  <thomas at apestaart dot org>

	* docs/faq/gst-uninstalled:
	  don't get empty paths on the PATH variables
	* gst/gstpad.c (gst_pad_is_active, gst_pad_set_blocked_async):
	  Don't format for the uncommon terminal width of 84 characters.

2007-04-06  Wim Taymans  <wim@fluendo.com>

	* gst/gstpipeline.c: (reset_stream_time),
	(gst_pipeline_change_state), (gst_pipeline_set_new_stream_time):
	Only try to select a different pipeline clock when we went back to
	PAUSED and not when we merely got flushed.

2007-04-05  Michael Smith  <msmith@fluendo.com>

	* tools/gst-launch.1.in:
	  fractions are better supported in gstreamer than ractions, so
	  suggest using those.

2007-04-05  Thomas Vander Stichele  <thomas at apestaart dot org>

	Submitted by: Mogens Jaeger <mogens@jaeger.tf>

	* po/LINGUAS:
	* po/da.po:
	  Added Danish translation.

2007-04-05  Wim Taymans  <wim@fluendo.com>

	* libs/gst/base/gstbasesink.c:
	(gst_base_sink_queue_object_unlocked), (gst_base_sink_event):
	Fix leak caused when refusing newsegment after EOS.

	* plugins/elements/gstfakesink.c: (gst_fake_sink_class_init),
	(gst_fake_sink_init), (gst_fake_sink_set_property),
	(gst_fake_sink_get_property), (gst_fake_sink_preroll),
	(gst_fake_sink_render), (gst_fake_sink_change_state):
	* plugins/elements/gstfakesink.h:
	Add num-buffers property to make the element generate EOS after a
	configurable amount of buffers.
	API: fakesink::num-buffers property.

	* tests/check/elements/fakesink.c: (GST_START_TEST),
	(fakesink_suite):
	Fix GstBus leak in test.
	Test for fakesink num-buffers.

2007-04-05  Wim Taymans  <wim@fluendo.com>

	* libs/gst/base/gstbasesink.c:
	(gst_base_sink_queue_object_unlocked), (gst_base_sink_event),
	(gst_base_sink_change_state):
	Don't accept anything after an EOS, return UNEXPECTED instead.

	* tests/check/elements/fakesink.c: (GST_START_TEST),
	(fakesink_suite):
	Unit test for new EOS behaviour.

2007-04-05  Wim Taymans  <wim@fluendo.com>

	* gst/gstelement.c: (gst_element_get_request_pad):
	Make padtemplates also work when they don't contain %s or %d.

2007-04-05  Wim Taymans  <wim@fluendo.com>

	* docs/gst/gstreamer-sections.txt:
	* gst/gstclock.c: (gst_clock_adjust_unlocked),
	(gst_clock_unadjust_unlocked), (gst_clock_set_calibration):
	* gst/gstclock.h:
	Improve _adjust_unlocked() so that it overflows less.
	Add gst_clock_unadjust_unlocked to convert from external time to
	internal time based on calibration.
	Add some more debug.
	API: GstClock::gst_clock_unadjust_unlocked()

2007-04-03  Wim Taymans  <wim@fluendo.com>

	Patch by: Tommi Myöhänen <ext-tommi dot myohanen at nokia dot com>

	* plugins/elements/gstmultiqueue.c: (gst_multi_queue_release_pad):
	Deactivate pads and free GstSingleQueue with gst_single_queue_free()
	when releasing sink pad. Fixes #425400.

2007-04-02  Stefan Kost  <ensonic@users.sf.net>

	* docs/random/ensonic/dynlink.txt:
	  More work on proposal for new core api.

	* docs/libs/gstreamer-libs-sections.txt:
	* libs/gst/base/gstbasetransform.h:
          API: GST_BASE_TRANSFORM_LOCK/UNLOCK added
          
	* libs/gst/controller/gstcontroller.c:
	(on_object_controlled_property_changed),
	(gst_controller_sync_values),
	(gst_controller_set_interpolation_mode):
	* libs/gst/controller/gstcontroller.h:
	  Less verbose logging add docs for unimplemented parts and correctly
	  return when using unavailable parts.

2007-03-29  Jan Schmidt  <thaytan@mad.scientist.com>

	* gst/gstclock.c: (gst_clock_set_master), (do_linear_regression):
	Move all the debug to the CLOCK category, and associate it with
	the clock object.

2007-03-29  Jan Schmidt  <thaytan@mad.scientist.com>

	* libs/gst/base/gstadapter.c: (gst_adapter_take_buffer):
	Make take_buffer a bit quicker by removing redundant checks
	caused by calling gst_adapter_take.

2007-03-28  Tim-Philipp Müller  <tim at centricular dot net>

	* plugins/elements/gstmultiqueue.c: (gst_single_queue_free):
	  Don't leak GCond.

	* tests/check/Makefile.am:
	* tests/check/elements/.cvsignore:
	* tests/check/elements/multiqueue.c: (setup_multiqueue),
	(GST_START_TEST), (multiqueue_suite):
	  Add some dead simple unit tests for the 'multiqueue' element
	  (some bits don't work yet and are disabled for now).

2007-03-28  Tim-Philipp Müller  <tim at centricular dot net>

	* gst/gstelement.c: (gst_element_get_request_pad),
	(gst_element_class_get_request_pad_template):
	  Make gst_element_get_request_pad() create request pads only for
	  request pad templates and not for, say, sometimes pad templates.

2007-03-28  Stefan Kost  <ensonic@users.sf.net>

	* docs/design/draft-klass.txt:
	  Add example that needs more thinking.
	
	* docs/design/draft-missing-plugins.txt:
	  More thoughts about wrapper plugins.
	
	* docs/random/ensonic/embedded.txt:
	* docs/random/ensonic/profiling.txt:
	  More design work.

2007-03-25  Wim Taymans  <wim@fluendo.com>

	* libs/gst/base/gstbasesrc.c: (gst_base_src_get_range),
	(gst_base_src_loop):
	Only push the segment events in the PLAYING state for live sources.

2007-03-23  Jan Schmidt  <thaytan@mad.scientist.com>

	* gst/gstpipeline.c: (gst_pipeline_change_state):
	Modify the clock distribution path in PAUSED->PLAYING so that we 
	never attempt to choose a new clock unless we're actually leaving
	the PAUSED state for the first time. This prevents choosing a
	different clock when the state_change gets called for a 2nd time due
	to some element doing an async state change.

2007-03-22  Sebastian Dröge  <slomo@circular-chaos.org>

	* gst/gstpad.c: (gst_pad_set_caps), (gst_pad_configure_sink),
	(gst_pad_configure_src), (gst_pad_alloc_buffer_full),
	(gst_pad_chain_unchecked), (gst_pad_push):
	Revert last commit. This needs some more thoughts.

2007-03-22  Sebastian Dröge  <slomo@circular-chaos.org>

	* gst/gstpad.c: (gst_pad_set_caps), (gst_pad_alloc_buffer_full),
	(gst_pad_chain_unchecked), (gst_pad_push):
	Check in set_caps if the caps are compatible with the pad and remove
	two functions that are redundant now. Fixes #421543.

2007-03-22  Wim Taymans  <wim@fluendo.com>

	* tests/check/gst/gstsystemclock.c: (GST_START_TEST),
	(mixed_thread), (mixed_async_cb), (gst_systemclock_suite):
	Unref some more to make valgrind happy.

2007-03-22  Wim Taymans  <wim@fluendo.com>

	* gst/gstsystemclock.c: (gst_system_clock_id_wait_jitter_unlocked),
	(gst_system_clock_id_wait_jitter),
	(gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
	Fix anoying regression that survived a few releases. When adding an
	async entry while blocking on a sync entry, the sync entry will unblock
	but still be busy, so it should continue to wait instead of returning
	_BUSY to the app.
	Add some comments here and there.

	* tests/check/gst/gstsystemclock.c: (mixed_thread),
	(mixed_async_cb), (GST_START_TEST), (gst_systemclock_suite):
	Add testcase for this.

2007-03-22  Wim Taymans  <wim@fluendo.com>

	* libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
	Handle errors from the clock sync better, only UNSCHEDULED indicates a
	WRONG_STATE and can silently pause the task. All other cases should
	error out.

2007-03-22  Wim Taymans  <wim@fluendo.com>

	Patch by: Ville Syrjala <syrjala at sci dot fi>

	* gst/gstpad.c: (gst_pad_alloc_buffer_full), (gst_pad_send_event):
	Fix possible deadlock if pad eventfunc is not specified.  Fixes #421177.
	Improve debugging.

2007-03-21  Michael Smith  <msmith@fluendo.com>

	* docs/pwg/advanced-types.xml:
	  Fix some errors in the typefinding docs pointed out on irc.

2007-03-21  Jan Schmidt  <thaytan@mad.scientist.com>

	* libs/gst/base/gstbasesrc.c:
	Clarify FIXME comment in the face of having added unlock_stop()

2007-03-21  Wim Taymans  <wim@fluendo.com>

	* gst/gstbin.c: (gst_bin_get_type), (gst_bin_element_set_state):
	Prepare for release where we warn against possible app breakage in the
	case of live pipelines along with an env var to enable/disable live
	preroll mode (GST_COMPAT=[no-]live-preroll).

2007-03-20  Zaheer Abbas Merali  <zaheerabbas at merali dot org>

	* plugins/elements/gstidentity.c (gst_identity_check_imperfect_offset):
	So we should use correct constants for checking for None offset.

2007-03-20  Wim Taymans  <wim@fluendo.com>

	* docs/design/part-block.txt:
	Mention the fact that the newly switched element should be set to at
	least PAUSED.

2007-03-20  Wim Taymans  <wim@fluendo.com>

	* gst/gst.c:
	Fix compilation with registry disabled as spotted by Saur.

2007-03-20  Wim Taymans  <wim@fluendo.com>

	Patch by: Olivier Crete <tester at tester dot ca>

	* gst/gstelement.c: (gst_element_sync_state_with_parent):
	Look at the pending state too when syncing the element state to the
	parent. Fixes #420133.

2007-03-19  Jan Schmidt  <thaytan@mad.scientist.com>

	* libs/gst/base/gstbasesink.c: (gst_base_sink_set_flushing),
	(gst_base_sink_change_state):
	* libs/gst/base/gstbasesink.h:
	* libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
	(gst_base_src_default_event), (gst_base_src_unlock_stop),
	(gst_base_src_deactivate):
	* libs/gst/base/gstbasesrc.h:
	Add ::unlock_stop to basesrc and basesink. This allows an opportunity
	for sub-classes to correctly clear any state they set trying to
	unlock, such as clearing out unlock commands from a command fd.
	API: basesrc::unlock_stop
	API: basesink::unlock_stop

	* plugins/elements/gstfdsink.c: (gst_fd_sink_class_init),
	(gst_fd_sink_render), (gst_fd_sink_unlock),
	(gst_fd_sink_unlock_stop):
	* plugins/elements/gstfdsrc.c: (gst_fd_src_class_init),
	(gst_fd_src_init), (gst_fd_src_unlock), (gst_fd_src_unlock_stop),
	(gst_fd_src_create), (gst_fd_src_get_size), (gst_fd_src_do_seek):

	Implement unlock_stop in fdsrc and fdsink.
	Implement seeking in fdsrc when a seekable fd is passed, as in
	gst-launch-0.10 fdsrc ! ... ! xvimagesink < /path/to/file

2007-03-19  Wim Taymans  <wim@fluendo.com>

	Patch by: Evan Nemerson <evan at coeus dash group dot com>

	* gst/gstelement.c: (gst_element_class_init):
	Fix pad-added and pad-removed signal signatures so that the pad type is
	stated as GST_TYPE_PAD instead of G_TYPE_OBJECT. Fixes #419851.

2007-03-19  Wim Taymans  <wim@fluendo.com>

	* docs/gst/gstreamer-sections.txt:
	Add new element field and method.

	* gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
	(bin_remove_messages), (gst_bin_add_func), (gst_bin_remove_func),
	(gst_bin_recalc_state), (gst_bin_get_state_func),
	(gst_bin_element_set_state), (gst_bin_change_state_func),
	(gst_bin_continue_func), (bin_bus_handler),
	(bin_push_state_continue), (bin_handle_async_start),
	(bin_handle_async_done), (gst_bin_handle_message_func):
	Make async state changes a bit smarter by using new ASYNC_START and
	ASYNC_DONE messages. This reduces the number of times we run the state
	recalculation thread.
	Don't change state of element with a pending ASYNC_START message.
	Deprecate STATE_DIRTY messages.
	
	* gst/gstelement.c: (gst_element_init), (gst_element_send_event),
	(gst_element_get_state_func), (gst_element_continue_state),
	(gst_element_lost_state), (gst_element_set_state_func),
	(gst_element_change_state):
	* gst/gstelement.h:
	Keep the state that was last set by the app in a new element field.
	Don't allow state changes when handling an element event.
	Post ASYNC_START and ASYNC_DONE messages.
	Change lost_state so that we go to PAUSED and wait for the parent to set
	us to PLAYING again (so latency calculation can be performed)
	Export gst_element_change_state() method so that subclasses can use it.
	API: gst_element_change_state()
	API: GST_STATE_TARGET

	* gst/gstpipeline.c: (gst_pipeline_class_init),
	(reset_stream_time), (gst_pipeline_change_state),
	(gst_pipeline_handle_message), (gst_pipeline_set_new_stream_time):
	Using the new ASYNC_START message we can reset the base_time when
	needed. This can then be used to implement base_time redistribution in
	flushing seeks so that we can remove the explicit seek handling.
	Perform latency query and configuration when going to PLAYING.

	* libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
	(gst_base_sink_query), (gst_base_sink_change_state):
	Post new ASYNC_START/ASYNC_DONE messages.

	* tests/check/generic/sinks.c: (GST_START_TEST):
	Fix test because the bin will not set the async element to PLAYING right
	away.

	* tests/check/gst/gstbin.c: (pop_async_done), (GST_START_TEST):
	Make the message check a little stronger.
	Handle ASYNC messages.

	* tests/check/pipelines/cleanup.c: (GST_START_TEST):
	* tests/check/pipelines/simple-launch-lines.c: (GST_START_TEST):
	Expect ASYNC_DONE messages.

2007-03-19  Wim Taymans  <wim@fluendo.com>

	* docs/gst/gstreamer-sections.txt:
	* gst/gstmessage.c: (gst_message_new_async_start),
	(gst_message_new_async_done), (gst_message_parse_info),
	(gst_message_parse_async_start):
	* gst/gstmessage.h:
	Add ASYNC_START and ASYNC_DONE messages to prepare for latency
	support.

2007-03-15  Tim-Philipp Müller  <tim at centricular dot net>

	* tools/gst-inspect.c:
	(print_plugin_automatic_install_info_codecs):
	  Now that we don't check for the 'Codec' keyword any longer in the
	  klass, we shouldn't spew a warning if the klass isn't a decoder or
	  encoder (since it might be a Source/Network, for example).

2007-03-14  Tim-Philipp Müller  <tim at centricular dot net>

	* tools/gst-inspect.c:
	(print_plugin_automatic_install_info_codecs):
	  Don't require decoder/demuxer/depayloader elements or
	  encoder/muxer/paylader elements to have 'Codec' as part of their
	  factory class string when introspecting a plugin's capabilities.
	  draft-klass.txt mentions that it might be removed in future, and
	  flump3dec doesn't have it as part of its class string, so chances
	  are others might also not have it.

2007-03-14  Thomas Vander Stichele  <thomas at apestaart dot org>

	* po/af.po:
	* po/az.po:
	* po/bg.po:
	* po/ca.po:
	* po/cs.po:
	* po/de.po:
	* po/en_GB.po:
	* po/fr.po:
	* po/it.po:
	* po/nb.po:
	* po/nl.po:
	* po/ru.po:
	* po/sq.po:
	* po/sr.po:
	* po/sv.po:
	* po/tr.po:
	* po/uk.po:
	* po/vi.po:
	* po/zh_CN.po:
	* po/zh_TW.po:
	  Update translations from translation project

2007-03-14  Stefan Kost  <ensonic@users.sf.net>

	* gst/gstchildproxy.c: (gst_child_proxy_get_property),
	(gst_child_proxy_set_property):
	  Invert precondition check to be alike the ones in the mimiced gobject
	  api.

2007-03-13  Stefan Kost  <ensonic@users.sf.net>

	* docs/design/draft-tagreading.txt:
	* docs/random/ensonic/audiobaseclasses.txt:
	  Do some Architect work.

	* gst/gstobject.c: (gst_object_set_name):
	  Add a WARNING.

	* gst/gstpad.c:
	  Add docs that point from gst_pad_get_range to gst_pad_pull_range

2007-03-12  Jan Schmidt  <thaytan@mad.scientist.com>

	* gst/gstsystemclock.c: (gst_system_clock_init),
	(gst_system_clock_start_async), (gst_system_clock_id_wait_async):
	Defer starting the async system clock thread until the first async
	wait is scheduled. Fixes #414986.

2007-03-12  Tim-Philipp Müller  <tim at centricular dot net>

	* plugins/elements/gstmultiqueue.c: (gst_multi_queue_finalize),
	(gst_single_queue_free):
	  Fix small leak (free GstSingleQueue structure too, not only contents).

2007-03-10  Sebastien Moutte  <sebastien@moutte.net>

	* gst/gstbin.c:(gst_bin_add):
	Use GST_STR_NULL to prevent NULL pointer to be passed to GST_CAT_DEBUG.
	* win32/common/libgstbase.def:
	* win32/common/libgstreamer.def:
	Add new exported functions.

2007-03-09  Wim Taymans  <wim@fluendo.com>

	* docs/plugins/gstreamer-plugins-sections.txt:
	Fix GstTee docs.

2007-03-09  Wim Taymans  <wim@fluendo.com>

	* docs/gst/gstreamer-sections.txt:
	* gst/gstbuffer.c: (gst_buffer_copy_metadata), (_gst_buffer_copy):
	* gst/gstbuffer.h:
	Add metadata copy functions. Fixes #393099.
	API: gst_buffer_copy_metadata()

	* gst/gstutils.c: (gst_buffer_stamp):
	* libs/gst/base/gstbasetransform.c:
	(gst_base_transform_prepare_output_buffer):
	Use new metadata copy functions.

2007-03-09  Thomas Vander Stichele  <thomas at apestaart dot org>

	* plugins/elements/gstidentity.c: (gst_identity_class_init),
	(gst_identity_init), (gst_identity_check_perfect),
	(gst_identity_check_imperfect_timestamp),
	(gst_identity_check_imperfect_offset), (gst_identity_transform_ip),
	(gst_identity_set_property), (gst_identity_get_property):
	* plugins/elements/gstidentity.h:
	Separate out check-imperfect-timestamp and check-imperfect-offset.
	Put back check-perfect as it was to keep compatibility.

2007-03-09  Jan Schmidt  <thaytan@mad.scientist.com>

	* gst/gstelement.c: (gst_element_dispose):
	There's no need to warn if VOID_PENDING is not NONE here, as
	long as the state is NULL it's ok, and that's checked immediately
	above.

2007-03-08  Zaheer Abbas Merali  <zaheerabbas at merali dot org>

	* plugins/elements/gstidentity.c: (gst_identity_check_perfect):
	Fix check for perfect stream to ignore buffers with -1 
	offsets/offset ends when checking data contiguity.

2007-03-08  Wim Taymans  <wim@fluendo.com>

	* tools/gst-launch.c: (event_loop):
	Print INFO messages.

2007-03-08  Wim Taymans  <wim@fluendo.com>

	* libs/gst/base/gstbasetransform.c:
	(gst_base_transform_sink_eventfunc),
	(gst_base_transform_handle_buffer), (gst_base_transform_chain),
	(gst_base_transform_activate):
	* libs/gst/base/gstbasetransform.h:
	Add support for dropping buffers with custom GstFlowReturn.
	Set DISCONT flags on outgoing buffers based on QoS, incomming DISCONT
	buffers or dropped buffers.

	* docs/libs/gstreamer-libs-sections.txt:
	docs for new custom return code.

	* plugins/elements/gstidentity.c: (gst_identity_transform_ip):
	Use drop support in base class to implement drop-probability.

2007-03-07  Tim-Philipp Müller  <tim at centricular dot net>

	* gst/gst.c: (load_plugin_func):
	* gst/gstplugin.c: (gst_plugin_load_by_name), (gst_plugin_load):
	* gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
	* gst/gsttrace.c: (gst_trace_new), (gst_alloc_trace_set_flags_all):
	  Remove newlines at end of debug log strings.

2007-03-07  Zaheer Abbas Merali  <zaheerabbas at merali dot org>

	* plugins/elements/gstidentity.c: (gst_identity_check_perfect):
	Only post bus message at max, once per buffer received.

2007-03-07  Wim Taymans  <wim@fluendo.com>

	* docs/design/Makefile.am:
	* docs/design/part-synchronisation.txt:
	Add doc about synchronisation

	* docs/design/draft-latency.txt:
	* docs/design/part-TODO.txt:
	* docs/design/part-clocks.txt:
	* docs/design/part-events.txt:
	* docs/design/part-gstbus.txt:
	* docs/design/part-gstpipeline.txt:
	* docs/design/part-live-source.txt:
	* docs/design/part-messages.txt:
	* docs/design/part-overview.txt:
	* docs/design/part-streams.txt:
	* docs/design/part-trickmodes.txt:
	Documentation updates.

2007-03-07  Jan Schmidt  <thaytan@mad.scientist.com>

	* gstreamer.doap:
	Update the doap file.

2007-03-07  Zaheer Abbas Merali  <zaheerabbas at merali dot org>

	* plugins/elements/gstidentity.c: (gst_identity_check_perfect):
	Rename non-perfect to imperfect for Mike and for the sanctity of the
	language.
	Also make sure bus message gets emitted for data-incontiguities.

2007-03-07  Zaheer Abbas Merali  <zaheerabbas at merali dot org>

	* plugins/elements/gstidentity.c: (gst_identity_check_perfect),
	(gst_identity_start):
	* plugins/elements/gstidentity.h:
	Emit bus message if check-perfect is true and we encounter a
	non-perfect stream between 2 consecutive buffers.
	Fixes #415394.

2007-03-07  Jan Schmidt  <thaytan@mad.scientist.com>

	* configure.ac:
	Back to CVS

=== release 0.10.12 ===

2007-03-07  Jan Schmidt <thaytan@mad.scientist.com>

	* configure.ac:
	  releasing 0.10.12, "Inevitable Demise"

2007-03-01  Jan Schmidt  <thaytan@mad.scientist.com>

	* configure.ac:
	 Version 0.10.11.2 (0.10.12 pre-release)
	 Bump libtool versioning.

2007-03-01  Stefan Kost  <ensonic@users.sf.net>

	* libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
	  Log flow-names and not numbers.

2007-02-28  Thomas Vander Stichele  <thomas at apestaart dot org>

	* configure.ac:
	  Convert to new AG_GST style.

2007-02-28  Wim Taymans  <wim@fluendo.com>

	* libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency):
	Don't unref query twice.

2007-02-28  Wim Taymans  <wim@fluendo.com>

	* gst/gstvalue.c: (gst_value_transform_object_string),
	(_gst_value_initialize):
	Implement GstObject -> string transform so we print object names
	when serializing GValues containing GstObjects.

2007-02-28  Wim Taymans  <wim@fluendo.com>

	* docs/gst/gstreamer-sections.txt:
	Add new stuff to docs.

2007-02-28  Wim Taymans  <wim@fluendo.com>

	* libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
	(gst_base_sink_queue_object_unlocked), (gst_base_sink_send_event),
	(gst_base_sink_change_state):
	Improve latency query code.
	Don't leak latency events.

	* tests/check/gst/gstbin.c: (GST_START_TEST):
	Improve debugging.

2007-02-28  Wim Taymans  <wim@fluendo.com>

	* gst/gstelement.c: (gst_element_message_full),
	(gst_element_get_state_func):
	* gst/gstelement.h:
	Improve docs a little. Added Since: for new macro.

	* gst/gstobject.c: (gst_object_sink):
	* gst/gstpipeline.c: (gst_pipeline_change_state),
	(gst_pipeline_set_new_stream_time):
	* gst/gstpipeline.h:
	Improve debugging and docs.

	* gst/gstutils.c: (gst_element_state_change_return_get_name):
	Improve debugging.

2007-02-28  Wim Taymans  <wim@fluendo.com>

	* gst/gstelement.c: (gst_element_message_full),
	(gst_element_set_locked_state), (gst_element_get_state_func),
	(gst_element_change_state):
	Handle INFO messages from the GST_ELEMENT_INFO macro as well.
	Documentation updates.
	Small code cleanups.

	* gst/gstmessage.c: (gst_message_new_info),
	(gst_message_parse_info):
	* gst/gstmessage.h:
	API: gst_message_new_info()
	API: gst_message_parse_info()
	Add INFO message create and parse code.

2007-02-28  Wim Taymans  <wim@fluendo.com>

	* gst/gstbin.c: (bin_query_min_max_init), (bin_query_latency_fold),
	(bin_query_latency_done):
	Also report the live parameter of a latency query.

2007-02-28  Thomas Vander Stichele  <thomas at apestaart dot org>

	* tests/check/generic/states.c: (GST_START_TEST), (states_suite):
	  Copy the current generic/states example from -base and adapt so
	  we can use the exact same code everywhere.
	  Check a STATES_IGNORE_ELEMENTS env var which can be used
	  to ignore certain element factories for this test, which is
	  what is being done in -base
	* tests/check/Makefile.am:
	  Mention this environment variable.

2007-02-27  Wim Taymans  <wim@fluendo.com>

	* docs/gst/gstreamer-sections.txt:
	* gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
	(gst_bus_timed_pop), (gst_bus_pop):
	* gst/gstbus.h:
	API: gst_bus_timed_pop()
	Implement gst_bus_timed_pop() to do a blocking timed wait for a
	message to arrive on the bus.

	* tests/check/gst/gstbus.c: (GST_START_TEST), (pop_thread),
	(gst_bus_suite):
	Two unit tests for new _timed_pop() function.

2007-02-23  Wim Taymans  <wim@fluendo.com>

	* gst/gstpipeline.c: (gst_pipeline_change_state),
	(gst_pipeline_provide_clock_func), (gst_pipeline_set_delay):
	Don't ref a NULL clock in _provide_clock_func().
	Don't allow an INVALID delay.
	Don't try to calculate base_time with an invalid start_time.
	Also distribute and notify a NULL clock when it was selected.

	* tools/gst-launch.c: (event_loop):
	Don't crash when a NULL clock was selected in the pipeline.

2007-02-23  Tim-Philipp Müller  <tim at centricular dot net>

	* docs/design/Makefile.am:
	* docs/design/draft-missing-plugins.txt:
	* docs/random/draft-missing-plugins.txt:
	  Some small updates: update plugin system identifier prefix
	  ('gstreamer.net' to 'gstreamer'), mention our new install
	  API in libgstbaseutils rather than libgimme-codec, add
	  reference to the online docs.

2007-02-21  Thomas Vander Stichele  <thomas at apestaart dot org>

	* win32/common/config.h:
	  Pretty sure Bill never made a powerpc version.  Powerpc hackers,
	  use moap cl ci to only check in what is mentioned in the ChangeLog.

2007-02-21  Thomas Vander Stichele  <thomas at apestaart dot org>

	* docs/gst/gstreamer-sections.txt:
	* gst/gstelement.h:
	  Fix up documentation to link to the correct GstGError section.
	  Add GST_ELEMENT_INFO macro since someone else added a Info message.

2007-02-21  Thomas Vander Stichele  <thomas at apestaart dot org>

	* tools/gst-launch.c: (event_loop):
	  Make sure that we actually show the important message part of a
	  warning message.
	  No need to check if the gerror is not NULL to free; first of all
	  g_free accepts NULL; and second the default error handler would
	  segfault if gerror was NULL.

2007-02-21  Wim Taymans  <wim@fluendo.com>

	* docs/gst/gstreamer-sections.txt:
	Removed docs as well.

2007-02-21  Wim Taymans  <wim@fluendo.com>

	* gst/gstmessage.c: (gst_message_parse_duration):
	* gst/gstmessage.h:
	Remove new messages for release.

2007-02-20  Wim Taymans  <wim@fluendo.com>

	* docs/design/part-gstghostpad.txt:
	* gst/gstghostpad.c: (gst_ghost_pad_dispose),
	(gst_ghost_pad_new_full):
	Make the ghostpad a parent of the internal pad again for better backward
	compatibility. Don't write code that relies on this however.

	* gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_activate_push),
	(gst_pad_link_check_hierarchy):
	Require that parents should be GstElements in the hierarchy check.

2007-02-20  Wim Taymans  <wim@fluendo.com>

	* gst/gstbin.c: (bin_replace_message), (gst_bin_add_func),
	(gst_bin_change_state_func), (bin_query_min_max_init),
	(bin_query_latency_fold), (bin_query_latency_done),
	(gst_bin_query):
	Improve debug info.
	Implement latency query.

2007-02-20  Wim Taymans  <wim@fluendo.com>

	* docs/design/part-gstghostpad.txt:
	* gst/gstghostpad.c: (gst_ghost_pad_class_init),
	(gst_ghost_pad_internal_do_activate_push),
	(gst_ghost_pad_internal_do_activate_pull),
	(gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
	(gst_ghost_pad_do_link), (gst_ghost_pad_dispose),
	(gst_ghost_pad_new_full), (gst_ghost_pad_set_target):
	Do not set the internal pad as a parent anymore so we can avoid
	hierarchy linking errors when the ghostpad has no parent yet. This also
	fixes failed activation because of unlinked internal pads, which in
	turn fixes the impossible case where you have to activate a pad before
	you can add it to a running element.
	Also fix the docs.

	* gst/gstpad.c: (pre_activate), (post_activate),
	(gst_pad_set_active), (gst_pad_activate_pull),
	(gst_pad_activate_push), (gst_pad_check_pull_range):
	Add some more debug info.
	Mark activation mode in pre_activate so that we don't try to activate in
	endless loops. Fixes #385084.

2007-02-19  Wim Taymans  <wim@fluendo.com>

	* libs/gst/base/gstbasetransform.c: (gst_base_transform_init),
	(gst_base_transform_check_get_range):
	Implement a checkgetrange function instead of relying on the default
	core behaviour that assumes we can operate in pull mode if we have a
	getrange function. First step at fixing #385084.

2007-02-15  Stefan Kost  <ensonic@users.sf.net>

	* gst/gstchildproxy.h:
	* libs/gst/base/gstbasesink.h:
	* libs/gst/base/gstbasesrc.h:
	* libs/gst/base/gstbasetransform.h:
	More docs coverage and some ChangeLog surgery (add missing names)

2007-02-15  Wim Taymans  <wim@fluendo.com>

	* docs/design/part-TODO.txt:
	* docs/design/part-activation.txt:
	* docs/design/part-block.txt:
	* docs/design/part-buffering.txt:
	* docs/design/part-clocks.txt:
	* docs/design/part-element-source.txt:
	* docs/design/part-events.txt:
	* docs/design/part-gstbin.txt:
	* docs/design/part-gstbus.txt:
	* docs/design/part-gstpipeline.txt:
	* docs/design/part-live-source.txt:
	* docs/design/part-messages.txt:
	* docs/design/part-overview.txt:
	* docs/design/part-qos.txt:
	* docs/design/part-query.txt:
	* docs/design/part-states.txt:
	* docs/design/part-trickmodes.txt:
	Some doc updates. Start renaming from stream_time to running_time where
	it was used wrongly.

2007-02-15  Wim Taymans  <wim@fluendo.com>

	* libs/gst/base/gstbasesrc.c: (gst_base_src_default_query):
	Answer LATENCY query.

2007-02-15  Wim Taymans  <wim@fluendo.com>

	* tests/check/gst/gstevent.c: (event_probe), (test_event),
	(GST_START_TEST):
	Improve debugging.

2007-02-15  Wim Taymans  <wim@fluendo.com>

	* gst/gstpad.c: (gst_pad_get_internal_links_default),
	(gst_pad_dispatcher):
	Improve debugging of default pad dispatcher and query functions.

2007-02-15  Wim Taymans  <wim@fluendo.com>

	* docs/gst/gstreamer-sections.txt:
	Remove old unused method.

2007-02-13  Wim Taymans  <wim@fluendo.com>

	* tests/check/gst/gstsegment.c: (GST_START_TEST):
	Fix check

2007-02-13  Wim Taymans  <wim@fluendo.com>

	* docs/design/part-seeking.txt:
	Some small update.

	* gst/gstsegment.c: (gst_segment_set_seek):
	Revert old bogus change that should make seeking work again.

2007-02-13  Stefan Kost  <ensonic@users.sf.net>

	* docs/random/ensonic/dynlink.txt:
	* docs/random/ensonic/interfaces.txt:
	* docs/random/ensonic/receipies.txt:
	  Possible dynamic reconnection api, plus some type fixes the other two
	  docs.

2007-02-13  Sebastian Dröge  <slomo@circular-chaos.org>

	* plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
	* plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
	Also check for an absolute path following file:// in the filesrc
	element. Remove redundant check and call g_path_is_absolute() on the
	unescaped location.

2007-02-13  Stefan Kost  <ensonic@users.sf.net>

	* docs/design/draft-klass.txt:
	  Add existing category analysis.
	  
	* gst/gstcaps.c:
	  Fix doc example, framerate is a fraction.

2007-02-12  Stefan Kost  <ensonic@users.sf.net>

	* configure.ac:
	* docs/gst/Makefile.am:
	* docs/gst/gstreamer-sections.txt:
	* docs/libs/Makefile.am:
	  Erm, forgot a bunch of --extra-dir.

2007-02-12  Stefan Kost  <ensonic@users.sf.net>

	* configure.ac:
	* docs/gst/Makefile.am:
	* docs/libs/Makefile.am:
	* docs/plugins/Makefile.am:
	  Add crossreferences to glib/gobject docs.

2007-02-12  Wim Taymans  <wim@fluendo.com>

	* docs/design/draft-latency.txt:
	Small update.

	* docs/libs/gstreamer-libs-sections.txt:
	* libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
	(gst_base_sink_get_latency), (gst_base_sink_query_latency),
	(gst_base_sink_wait_clock), (gst_base_sink_send_qos),
	(gst_base_sink_perform_qos), (gst_base_sink_queue_object_unlocked),
	(gst_base_sink_chain_unlocked), (gst_base_sink_send_event),
	(gst_base_sink_get_position), (gst_base_sink_query),
	(gst_base_sink_change_state):
	* libs/gst/base/gstbasesink.h:
	API: gst_base_sink_query_latency() to let subclasses query the upstream
	latency.
	API: gst_base_sink_get_latency() to let subclasses query the configured
	latency in the sink.
	Implement query and set latency.
	Update some docs.
	As spotted by Will Newton <will dot newton at gmail dot com>: Make sure we
	don't continue preroll when we are flushing. Fixes #405284.

	* tests/check/pipelines/stress.c: (change_state_timeout),
	(quit_timeout), (GST_START_TEST), (stress_suite):
	Test for #405284.

2007-02-09  Tim-Philipp Müller  <tim at centricular dot net>

	Patch by: René Stadler <mail at renestadler de>

	* docs/gst/gstreamer-sections.txt:
	* gst/gsttaglist.c: (_gst_tag_initialize):
	* gst/gsttaglist.h:
	  API: add GST_TAG_REFERENCE_LEVEL (#403597).

2007-02-11  Stefan Kost  <ensonic@users.sf.net>

	* docs/libs/Makefile.am:
	  Fix path to core docs.

	* gst/gstbin.c: (gst_bin_get_by_interface),
	(gst_bin_iterate_all_by_interface):
	  Refix docs by also renaming 'interface' to 'iface' in implementation.

	* docs/gst/gstreamer-sections.txt:
	* gst/gstcaps.c:
	* gst/gstchildproxy.c: (gst_child_proxy_base_init):
	* gst/gstchildproxy.h:
	* gst/gstelementfactory.c:
	* gst/gstpadtemplate.h:
	* libs/gst/controller/gstcontroller.c:
	(gst_controlled_property_new):
	  Document more.

2007-02-10  Sébastien Moutte  <sebastien@moutte.net>

	* gst/gstbin.h:(gst_bin_get_by_interface),
	(gst_bin_iterate_all_by_interface):
	Replace interface parameter name by iface as interface is 
	a reserved keyword in Visual Studio for C++ projects so it removes
	a build error for application developpers using VS.
	* plugins/elements/gstfilesrc.c:(gst_file_src_uri_set_uri):
	Fix a bug on Windows in uri format check. Now the prefix checked
	is file:// and next we check if the path after file:// is absolute.
	* win32/common/libgstbase.def:
	* win32/common/libgstdataprotocol.def:
	* win32/common/libgstgstreamer.def:
	Add new exported functions.

2007-02-09  Andy Wingo  <wingo@pobox.com>

	* tests/check/pipelines/simple-launch-lines.c
	(simple_launch_lines_suite, test_tee): Disable tee test until I
	have time to fix it :-(

	* tests/check/Makefile.am (noinst_HEADERS): 
	* tests/check/libs/libsabi.c: 
	* tests/check/libs/struct_ppc32.h: Add ABI checks for PPC32.
	* tests/check/gst/gstabi.c: 
	* tests/check/gst/struct_ppc32.h: Add ABI checks for PPC32.

	* tests/check/pipelines/simple-launch-lines.c (test_tee): Add
	tests for push and pull tee behavior.

	* plugins/elements/gsttee.h: 
	* plugins/elements/gsttee.c: Describe has-sink-loop better, and
	mark as deprecated as well as unimplemented. It was a crack idea.
	Add support for tee operating in pull mode, off by default.

	* gst/gstregistryxml.c (load_feature, load_plugin): Drop some
	normal-case logs down to LOG, raise errors to WARNING.
	(gst_registry_xml_read_cache): Don't log before calling a function
	that logs.

	* gst/gstregistry.c (gst_registry_finalize): Less debug on program
	exit (registry finalize).
	(gst_registry_add_plugin, gst_registry_add_feature): No need for a
	DEBUG log when we emit signals that people don't even have the
	chance to connect to.
	(gst_registry_scan_path_level): Less logging in the normal case.

2007-02-05  Sebastian Dröge  <slomo@circular-chaos.org>

	Patch by: Michal Benes <michal dot benes at itonis dot tv>

	* plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
	Correctly generate EOS for non-seekable files. We don't have a total
	length for them and would get an unexpected end of file if we only
	special-cased for regular files. (Fixes: #404569)

2007-02-05  Sebastian Dröge  <slomo@circular-chaos.org>

	* tests/check/elements/filesrc.c: (GST_START_TEST),
	(filesrc_suite):
	Add unit test for the GstURIHandler interface in filesrc. This also
	tests the newly added file://localhost/foo/bar support.

2007-02-04  Tim-Philipp Müller  <tim at centricular dot net>

	* gst/gstelementfactory.h:
	  The klass string is not a hierarchy. Add reference to the design doc
	  for more information and common types.

2007-02-02  Wim Taymans  <wim@fluendo.com>

	* gst/gstquery.c: (gst_query_new_latency):
	Remove old structure field.

2007-02-02  Stefan Kost  <ensonic@users.sf.net>

	* tools/gst-launch.1.in:
	  Give example for network streaming (#351998)

2007-02-02  Wim Taymans  <wim@fluendo.com>

	* docs/gst/gstreamer-sections.txt:
	Add docs for new methods.

	* gst/gstevent.c: (gst_event_new_latency),
	(gst_event_parse_latency):
	* gst/gstevent.h:
	Add new LATENCY event to configure latency in a pipeline.
	API: gst_event_new_latency
	API: gst_event_parse_latency

	* gst/gstmessage.c: (gst_message_new_buffering),
	(gst_message_new_lost_preroll), (gst_message_new_prerolled),
	(gst_message_new_latency), (gst_message_parse_buffering),
	(gst_message_parse_lost_preroll):
	* gst/gstmessage.h:
	Added messages used in draft-latency.
	API: gst_message_new_lost_preroll
	API: gst_message_parse_lost_preroll
	API: gst_message_new_prerolled
	API: gst_message_new_latency

	* gst/gstquery.c: (gst_query_new_latency), (gst_query_set_latency),
	(gst_query_parse_latency):
	* gst/gstquery.h:
	Implemented new latency query as in design doc.
	API: gst_query_new_latency
	API: gst_query_set_latency
	API: gst_query_parse_latency

2007-02-02  Wim Taymans  <wim@fluendo.com>

	* docs/design/draft-latency.txt:
	Slight redesign to allow for dynamic latency adjustments.

	* docs/design/part-negotiation.txt:
	Fix some typos.

2007-02-02  Sebastian Dröge  <slomo@circular-chaos.org>

	reviewed by: Wim Taymans <wim@fluendo.com>

	* plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
	* plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
	Allow file://localhost/foo/bar URLs and correctly fail for every other
	hostname that one sets. This was gnomevfssrc is linked for those if
	installed as it can handle it (#403172)

2007-02-01  Sebastian Dröge  <slomo@circular-chaos.org>

	reviewed by: Tim-Philipp Müller <tim at centricular dot net>

	* libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
	(unref_data), (gst_collect_pads_add_pad_full):
	* libs/gst/base/gstcollectpads.h:
	Don't put the previously added destroy notify in the GstCollectData
	struct as all it's padding is already used and we don't want to break
	ABI. Instead put in the pad's GObject data for now. This should be
	cleaned up for 0.11 (#402393).

2007-02-01  Sebastian Dröge  <slomo@circular-chaos.org>

	reviewed by: Wim Taymans <wim@fluendo.com>

	* docs/libs/gstreamer-libs-sections.txt:
	* libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
	(unref_data), (gst_collect_pads_add_pad),
	(gst_collect_pads_add_pad_full):
	* libs/gst/base/gstcollectpads.h:
	API: Add function to specify a destroy notification for custom
	GstCollectData when adding new pads in GstCollectPads (#402393).

2007-02-01  Tim-Philipp Müller  <tim at centricular dot net>

	* po/sv.po:
	  Update Swedish translation (#378255).

2007-01-31  Stefan Kost  <ensonic@users.sf.net>

	* docs/design/draft-klass.txt:
	  Fix the previous change, this is a list of categories and not a hierarchy.

2007-01-31  Stefan Kost  <ensonic@users.sf.net>

	* docs/design/draft-klass.txt:
	  Add info about how to get a list of used classes.

2007-01-30  Tim-Philipp Müller  <tim at centricular dot net>

	* plugins/elements/gsttypefindelement.c:
	(gst_type_find_element_chain_do_typefinding),
	(gst_type_find_element_change_state):
	  Don't leak found caps in chain function (no idea why that never
	  showed up as a leak anywhere).

2007-01-30  Stefan Kost  <ensonic@users.sf.net>

	* gst/gstplugin.h:
	  Fix and expand GstPluginDesc API docs.

2007-01-29  Stefan Kost  <ensonic@users.sf.net>

	* gst/gstcaps.c:
	* gst/gstelementfactory.c:
	* gst/gstpadtemplate.h:
	  api doc fixes

	* libs/gst/controller/gstcontroller.c:
	(gst_controlled_property_new):
	* tests/examples/controller/audio-example.c:
	  comment fixes

2007-01-29  Stefan Kost  <ensonic@users.sf.net>

	* configure.ac:
	  comment about refining the xml deps

	* docs/manuals.mak:
	  comments about moving away from jade for docs
	
	* gst/gst.c:
	  recommit the ifdefs to use the binary registry
	
	* gst/gstbin.c: (gst_bin_change_state_func):
	  this break is obsolete

	* gst/gstelementfactory.h:
	  better GST_ELEMENT_DETAILS docs, add comment about translation

	* gst/gstinfo.h:
	  remove eol slash

	* gst/gstobject.c: (gst_signal_object_get_type):
	  add G_UNLIKELY as usual

	* gst/gstpad.c: (gst_pad_event_default):
	  add fall trhu comment

	* gst/gstregistrybinary.c: (gst_registry_binary_write),
	(gst_registry_binary_initialize_magic),
	(gst_registry_binary_save_string),
	(gst_registry_binary_save_pad_template),
	(gst_registry_binary_save_feature),
	(gst_registry_binary_save_plugin),
	(gst_registry_binary_write_cache),
	(gst_registry_binary_check_magic),
	(gst_registry_binary_load_pad_template),
	(gst_registry_binary_load_feature),
	(gst_registry_binary_load_plugin),
	(gst_registry_binary_read_cache):
	  comment typo and formatting

	* gst/gstutils.c: (gst_element_state_get_name),
	(gst_element_state_change_return_get_name):
	  remove obsolete breaks

	* gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
	  add FIXME 0.11 and remove cpp comment

2007-01-29  Edward Hervey  <edward@fluendo.com>

	* gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
	Fix print statement in an even more portable way.

2007-01-29  Tim-Philipp Müller  <tim at centricular dot net>

	* docs/gst/gstreamer-sections.txt:
	* gst/gstutils.h:
	  API: add GST_ROUND_DOWN_* macros (#401781).

2007-01-27  Tim-Philipp Müller  <tim at centricular dot net>

	* docs/gst/gstreamer.types.in:
	* gst/gstregistry.c: (gst_registry_class_init):
	  Document registry signals and make gtk-doc pick them up (#401381).

2007-01-26  Tim-Philipp Müller  <tim at centricular dot net>

	* docs/pwg/building-testapp.xml:
	  Add some audioconverts and audioresample to the pipeline, and some
	  more comments and error handling.

2007-01-26  Tim-Philipp Müller  <tim at centricular dot net>

	* docs/manual/manual.xml:
	* docs/pwg/pwg.xml:
	  Fix typo (#400987).

2007-01-26  Wim Taymans  <wim@fluendo.com>

	* gst/gstcaps.c: (gst_static_caps_get):
	Init caps flags too.

2007-01-25  Sebastian Dröge  <slomo@circular-chaos.org>

	Patch by: Jindrich Makovicka <jindrich.makovick at itonis dot tv>

	* plugins/elements/gstfilesrc.c: (gst_file_src_start):
	If not using mmap'ed files try to seek to the end instead of the
	start to determine whether we can seek at all. This fixes the case
	of 2GB+ files over NFS, where seeks in the first 2GB can succeed but
	seeks for everything afterwards fail. Fixes #400656

2007-01-25  Wim Taymans  <wim@fluendo.com>

	* gst/gstcaps.c: (_gst_caps_free), (gst_static_caps_get):
	Add some refcount debugging.
	Make gst_static_caps_get threadsafe, which is needed when autoplugging
	in multiple streaming threads.

2007-01-25  Wim Taymans  <wim@fluendo.com>

	Patch by: David Schleef <ds at schleef dot org>

	* docs/libs/gstreamer-libs-sections.txt:
	* libs/gst/base/gstadapter.c: (gst_adapter_copy):
	* libs/gst/base/gstadapter.h:
	API: gst_adapter_copy() that can reduce the amount of memcpy when
	getting data from the adapter. Fixes #388201.

2007-01-25  Edward Hervey  <edward@fluendo.com>

	* gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
	In print statements, "%x" is for guint. Fixes build on macosx.

2007-01-24  Edward Hervey  <edward@fluendo.com>

	* plugins/elements/gstmultiqueue.c:
	(gst_multi_queue_loop):
	Small fix.
	(single_queue_overrun_cb), (single_queue_underrun_cb),
	(single_queue_check_full), (gst_single_queue_new):
	Implement single queue growth system.
	This uses the extra-size properties, and will grow single queues by
	that much if one goes full whereas there are others empty. This is
	called extra-mode in the code.
	When a single queue's levels go back below the initial max-size
	limits, it is no longer in extra-mode. This is to ensure we don't
	consume too much memory.
	Fixes #399875

2007-01-23  Tim-Philipp Müller  <tim at centricular dot net>

	* gst/gst.c: (gst_init_get_option_group):
	  Make warning about late g_thread_init() calls a bit more explicit,
	  so that it's more obvious to application developers what they need
	  to do if a user files a bug against their application.

2007-01-22  Edward Hervey  <edward@fluendo.com>

	* plugins/elements/gstmultiqueue.c:
	(gst_multi_queue_src_activate_push), (gst_single_queue_new):
	Remove previous hack of unsetting the flushing flag for the source pad
	instead of activating it. Instead, fix the source pad activate function
	so that it no longer depends on having a parent set or not.

2007-01-22  Tim-Philipp Müller  <tim at centricular dot net>

	Patch by: Carlos Sanmartin Dominguez <csanmartin@igalia.com>

	* docs/manual/basics-bus.xml:
	  Fix example code, gst_element_unref() doesn't exist any longer.

2007-01-21  Tim-Philipp Müller  <tim at centricular dot net>

	Patch by: Mark Nauwelaerts <manauw at skynet be>

	* gst/gstpad.c:
	  Fix two docs typoes (#399094).

2007-01-19  Edward Hervey  <edward@fluendo.com>

	* docs/faq/gst-uninstalled:
	Add gst-plugins-base/gst/utils/ to LD_LIBRARY_PATH so that plugins
	depending on libgstbaseutils can work in uninstalled environment.

2007-01-18  Stefan Kost  <ensonic@users.sf.net>

	* gst/gsttaglist.h:
	* gst/gsttagsetter.c:
	Add more docs regarding tag merge-modes and when to send tags. Fix 'since'
	statement for new tag.

2007-01-17  Edward Hervey  <edward@fluendo.com>

	* plugins/elements/gstmultiqueue.c: (gst_single_queue_new):
	When dynamically creating single queues, activate sinkpad before adding
	it.
	We should be doing the same thing for the source pad, but we can't
	since it would call a method which needs the parent to be set in order
	to work propertly. Instead of activating the source pad, we just unset
	the flushing flag, which is the minimal requirement for adding a pad
	to an element in a state greater than READY.

2007-01-17  Edward Hervey  <edward@fluendo.com>

	* docs/faq/gst-uninstalled:
	Add DYLD_LIBRARY_PATH declarations so we can also use this script on
	Mac OS X.

2007-01-17  Tim-Philipp Müller  <tim at centricular dot net>

	* tests/check/gst/gstabi.c:
	* tests/check/gst/struct_hppa.h:
	* tests/check/libs/libsabi.c:
	* tests/check/libs/struct_hppa.h:
	  Add ABI structs for HPPA (see #393796).

2007-01-16  Tim-Philipp Müller  <tim at centricular dot net>

	* libs/gst/check/gstcheck.c: (gst_check_abi_list):
	  Actually write ABI structs to the file specified in the GST_ABI
	  environment variable, as the message we print claims we would.

2007-01-15  Stefan Kost  <ensonic@users.sf.net>

	* tests/check/gst/gsttask.c:
	  Fix header comment.

2007-01-15  Stefan Kost  <ensonic@users.sf.net>

	* gst/gsttaglist.c: (_gst_tag_initialize):
	  Change tag type from STRING to DOUBLE. Apply ChangeLog surgery for my
	  previous two entries.

2007-01-15  Stefan Kost  <ensonic@users.sf.net>

	* docs/gst/gstreamer-sections.txt:
	* gst/gsttaglist.c: (_gst_tag_initialize):
	* gst/gsttaglist.h:
	  Add tag support for beat-per-minute.

2007-01-15  Stefan Kost  <ensonic@users.sf.net>

	* gst/gstregistrybinary.c: (gst_registry_binary_write),
	(gst_registry_binary_initialize_magic),
	(gst_registry_binary_save_string), (gst_registry_binary_make_data),
	(gst_registry_binary_save_pad_template),
	(gst_registry_binary_save_feature),
	(gst_registry_binary_save_plugin),
	(gst_registry_binary_write_cache),
	(gst_registry_binary_check_magic),
	(gst_registry_binary_load_pad_template),
	(gst_registry_binary_load_feature),
	(gst_registry_binary_load_plugin),
	(gst_registry_binary_read_cache):
	* gst/gstregistrybinary.h:
	  Use glib types, cleanup comments, impement interfaces and uri-types.

2007-01-13  Andy Wingo  <wingo@pobox.com>

	* gst/gstpad.c (gst_pad_get_range, gst_pad_pull_range): Allow
	getrange() to return buffers with other caps, while we fix
	demuxers and typefind, or otherwise change part-negotiation.txt.

2007-01-12  Andy Wingo  <wingo@pobox.com>

	* libs/gst/base/gstbasetransform.c (gst_base_transform_activate):
	Factor start/stop into this private function instead of partially
	in activate functions and partially in the change_state function.
	Fixes setup before the element has changed from READY->PAUSED, as
	is the case in pull-mode pipelines.
	(gst_base_transform_sink_activate_push)
	(gst_base_transform_src_activate_pull): Refactor to use
	gst_base_transform_activate().
	(gst_base_transform_change_state): Removed, not needed any more.

	* libs/gst/base/gstbasesink.c (gst_base_sink_negotiate_pull):
	Truncate before fixating.
	
	* libs/gst/base/gstbasesink.c (gst_base_sink_negotiate_pull):
	Don't set_caps() if the result of fixating is ANY, as it's not
	supported, and not necessary in the case of a link with no
	template caps on either side. Fixes tests/check/libs/basesrc in
	some pull-mode tests.

	* libs/gst/base/gstbasetransform.c (_GstBaseTransformPrivate):
	(gst_base_transform_init, gst_base_transform_sink_activate_push)
	(gst_base_transform_src_activate_pull): 
	Track the activation mode.
	(gst_base_transform_setcaps): In pull mode, when activating the
	src pad, after activating the sink pad, activate the sink pad's
	peer, as discussed in part-negotiation.txt.

	* libs/gst/base/gstbasesrc.h: 
	* libs/gst/base/gstbasesrc.c (gst_base_src_fixate): Add fixate
	vmethod, as in basesink.

	* libs/gst/base/gstbasesink.h: Reformat docs, add fixate vmethod.

	* libs/gst/base/gstbasesink.c (gst_base_sink_pad_setcaps): In pull
	mode, first proxy the setcaps to the peer pad.
	(gst_base_sink_pad_fixate): Add a fixate function that calls the
	new fixate vmethod.
	(gst_base_sink_default_activate_pull): Rename from
	gst_base_sink_activate_pull.
	(gst_base_sink_negotiate_pull): New function, performs negotiation
	in pull mode before calling ::activate_pull().
	(gst_base_sink_pad_activate_pull): Actually call the activate_pull
	vmethod instead of the default implementation. I have no idea how
	this worked before. Negotiate before calling activate_pull.

	* gst/gstpad.c (gst_pad_activate_pull): Refuse to activate unlinked
	sink pads in pull mode. In addition to being correct, fixes
	filesrc ! decodebin ! identity ! fakesink.
	(gst_pad_get_range, gst_pad_pull_range): Don't call
	gst_pad_set_caps() if the caps changes; instead error out with
	GST_FLOW_NOT_NEGOTIATED, as discussed in part-negotiation.txt.

2007-01-12  Andy Wingo  <wingo@pobox.com>

	* docs/design/part-negotiation.txt: Update with more policy.

2007-01-12  Tim-Philipp Müller  <tim at centricular dot net>

	* libs/gst/check/gstbufferstraw.h:
	* libs/gst/check/gstcheck.h:
	  Add G_BEGIN_DECLS and G_END_DECLS. Move GST_CHECK_MAIN where it
	  belongs.

2007-01-12  Tim-Philipp Müller  <tim at centricular dot net>

	* tests/check/Makefile.am:
	* tests/check/gst/.cvsignore:
	* tests/check/gst/gsttagsetter.c: (gst_dummy_enc_add_interfaces),
	(gst_dummy_enc_base_init), (gst_dummy_enc_class_init),
	(gst_dummy_enc_init), (tag_list_foreach), (tag_setter_list_length),
	(GST_START_TEST), (gst_tag_setter_suite):
	  Add minimal unit test for beforementioned GstTagSetter bug.

2007-01-12  Tim-Philipp Müller  <tim at centricular dot net>

	Patch by: René Stadler <mail at renestadler dot de>

	* gst/gsttagsetter.c: (gst_tag_setter_merge_tags):
	  gst_tag_list_merge() returns a new list, so it's not the best idea
	  to ingore its return value. Effectively meant that tags could only
	  be merged on a GstTagSetter once using _merge_tags(). Fixes #395554.
	  Also add function guard to require a non-NULL taglist as input (has
	  always been so due to gst_tag_list_copy(), just making it explicit).

2007-01-11  Tim-Philipp Müller  <tim at centricular dot net>

	* docs/random/draft-missing-plugins.txt:
	  Some additions: mention new API that is supposed to be used at the
	  various stages; short blob about new gst-inspect introspection
	  option; mention potential future problem with plugins that have
	  a dynamic list of elements (such as ladspa, pitfdll, libvisual).

2007-01-11  Tim-Philipp Müller  <tim at centricular dot net>

	* tools/gst-inspect.c:
	(print_plugin_automatic_install_info_codecs),
	(print_plugin_automatic_install_info_protocols),
	(print_plugin_automatic_install_info), (main):
	Add --print-plugin-auto-install-info option to gst-inspect, so we can
	introspect plugin files and get machine-parsable output that corresponds
	to the last bit of the missing-plugin installer string (small gotcha:
	doesn't take into account ranks).

2007-01-11  Stefan Kost  <ensonic@users.sf.net>

	* configure.ac:
	* docs/gst/gstreamer-sections.txt:
	* gst/Makefile.am:
	* gst/gstregistry.c: (gst_registry_lookup_feature_locked),
	(gst_registry_lookup_locked):
	* gst/gstregistry.h:
	* gst/gstregistrybinary.c: (gst_registry_binary_write),
	(gst_registry_binary_initialize_magic),
	(gst_registry_binary_save_string),
	(gst_registry_binary_save_pad_template),
	(gst_registry_binary_save_feature),
	(gst_registry_binary_save_plugin),
	(gst_registry_binary_write_cache),
	(gst_registry_binary_check_magic),
	(gst_registry_binary_load_pad_template),
	(gst_registry_binary_load_feature),
	(gst_registry_binary_load_plugin),
	(gst_registry_binary_read_cache):
	* gst/gstregistrybinary.h:
	* gst/gstregistryxml.c: (load_feature),
	(gst_registry_xml_read_cache):
	  commit binary registry (disabled by default, see #359653)

2007-01-11  Tim-Philipp Müller  <tim at centricular dot net>

	* tests/check/gst/gstpad.c: (test_get_allowed_caps):
	  Fix 'make check' too.

2007-01-10  Andy Wingo  <wingo@pobox.com>

	* docs/design/part-negotiation.txt: Fix a typo, add a couple
	notes.
	
	* docs/design/part-negotiation.txt: Update with, um, one way that
	pull-mode negotiation might work?

	* gst/gstpad.h: 
	* gst/gstpad.c (gst_pad_get_allowed_caps): Remove the restriction
	that the pad must be a src pad; makes sense to call it the other
	way in pull mode, and the logic is symmetric anyway.

2007-01-10  Tim-Philipp Müller  <tim at centricular dot net>

	* plugins/elements/gstfilesink.c:
	  Include <stdio.h> for fseeko().

2007-01-10  Wim Taymans  <wim@fluendo.com>

	* gst/gstevent.c:
	* gst/gstevent.h:
	Reserve LATENCY event.

2007-01-09  Wim Taymans  <wim@fluendo.com>

	* docs/design/draft-latency.txt:
	Updates.

2007-01-09  Wim Taymans  <wim@fluendo.com>

	* docs/design/draft-latency.txt:
	Updates.

	* gst/gstelement.h:
	* gst/gststructure.c:
	* gst/gsttrace.c:
	Small typo fixes.

2007-01-09  Tim-Philipp Müller  <tim at centricular dot net>

	* tests/check/.cvsignore:
	  Ignore test-registry.xml as well.

2007-01-09  Wim Taymans  <wim@fluendo.com>

	* libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad):
	unref data at the end when we are done with the pad.

2007-01-08  Tim-Philipp Müller  <tim at centricular dot net>

	* docs/gst/gstreamer-sections.txt:
	* gst/gst.c: (load_plugin_func), (scan_and_update_registry),
	(init_post), (gst_deinit), (gst_update_registry):
	* gst/gst.h:
	  API: add gst_update_registry() (#391296).

	* tests/check/Makefile.am:
	* tests/check/gst/gstregistry.c:
	* tests/check/gst/.cvsignore:
	  Simple unit test for the above.

2007-01-08  Tim-Philipp Müller  <tim at centricular dot net>

	* gst/gstregistry.c: (gst_registry_scan_path_level):
	  Plugin extension on HP-UX is .sl, add that to the list of approved
	  plugin extensions (see #393796).

	* tests/check/gst/gstpad.c: (GST_START_TEST):
	  ulong => gulong. Fixes compilation with HP-UX compiler.

	* tests/check/pipelines/parse-launch.c: (GST_START_TEST):
	  Fix compilation if valgrind headers are not available.

2007-01-07  Sébastien Moutte  <sebastien@moutte.net>

	* win32/common/libgstreamer.def: 
	  Add new exported function.
	* win32/vs6/libgstbase.dsp: 
	  Add gstdataqueue.c to the build.
	* win32/vs6/libgstcoreelements.dsp:
	  Add gstmultiqueue.c to the build.
	
2007-01-06  Andy Wingo  <wingo@pobox.com>

	* libs/gst/base/gstbasesink.h: New GstBaseSinkClass vmethod,
	activate_pull(), providing for a way to specialize the process of
	spawning a thread to pull on the sink pad. There is a default
	implementation.

	* libs/gst/base/gstbasesink.c (gst_base_sink_pad_activate_pull)
	(gst_base_sink_pad_activate_push, gst_base_sink_pad_activate)
	(gst_base_sink_init): Renamed pad activation functions (inserting
	"_pad" in their names). Refactor to use the new activate_pull
	vmethod, as appropriate.
	(gst_base_sink_class_init, gst_base_sink_activate_pull): Set the
	default activate_pull function to start a task pulling from the
	sink pad, as before.

	* gst/gstpad.c (gst_pad_get_range, gst_pad_pull_range): Set caps
	on the pads if necessary, as in push()/chain(). Update docs.
	Shouldn't affect existing pull() usage as it is currently only
	being used on buffers without caps.

2007-01-05  Tim-Philipp Müller  <tim at centricular dot net>

	* gst/gst.c: (gst_init_get_option_group), (gst_init_check),
	(init_pre):
	  Call g_thread_init() first thing in gst_init() / gst_check_init().
	  When initialisation is done via gst_init_get_option_group() and
	  GOption parsing, issue a warning if the GLib thread system has not
	  been initialised yet by the time gst_init_get_option_group() is
	  called, as it's quite likely other GLib functions such as
	  g_option_context_new() have been called already then, and
	  g_thread_init() must be called before any other GLib function. The
	  application in question must be fixed in that case, since memory
	  corruption might happen otherwise.
	  We issue the warning because even if the GLib folks decide to work
	  around the problem on their end in future, this is still an issue
	  with all GLib versions >= 2.10.0, so we should warn until we depend
	  on a GLib version we know to be safe.
	  Update documentation as well.
	  Closes bug #391278.

2007-01-05  Tim-Philipp Müller  <tim at centricular dot net>

	* tools/gst-inspect.c: (main):
	* tools/gst-launch.c: (main):
	* tools/gst-typefind.c: (main):
	* tools/gst-xmlinspect.c: (main):
	  Call g_thread_init() really really early, before any other GLib
	  function (see #342564 and recent discussion on gtk-devel-list).

2007-01-05  Tim-Philipp Müller  <tim at centricular dot net>

	Patch by: Vincent Torri  <vtorri at univ-evry dot fr>

	* gst/gst_private.h:
	* gst/gstconfig.h.in:
	* gst/gstinfo.h:
	  On win32, all the __declspec stuff for symbol exporting is
	  apparently only needed with MSVC, but doesn't work with MingW.
	  Fixes compilation with MingW and #391909.

2007-01-05  Tim-Philipp Müller  <tim at centricular dot net>

	* libs/gst/base/gstbasesrc.c: (gst_base_src_activate_push):
	  Change some GST_ERROR_OBJECT that aren't really errors to
	  GST_WARNING_OBJECT in order to reduce terminal spam.

2007-01-04  Stefan Kost  <ensonic@users.sf.net>

	* tests/check/Makefile.am:
	  disable test again, as there seem to be still race problems

2007-01-04  Stefan Kost  <ensonic@users.sf.net>

	* tests/check/Makefile.am:
	* tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
	(GST_START_TEST), (queue_suite):
	  enable queue test again, add tests for the leaky behaviour

2007-01-02  Tim-Philipp Müller  <tim at centricular dot net>

	* configure.ac:
	* tests/examples/Makefile.am:
	  Compile adapter test/example only if the required headers are
	  available (fixes #391915).

2007-01-01  David Schleef  <ds@schleef.org>

	* gst/gstplugin.c:
	  Restore the previous signal handler for SIGSEGV instead of
	  setting to default, since we may have stolen it away from
	  someone.  (i.e., Mono)

2006-12-26  Tim-Philipp Müller  <tim at centricular dot net>

	* docs/random/draft-missing-plugins.txt:
	  Some small additions and clarifications.

2006-12-26  Tim-Philipp Müller  <tim at centricular dot net>

	* gst/gstregistryxml.c: (gst_registry_save_escaped):
	  Make sure we don't pass non-UTF-8 strings to g_markup_escape(),
	  since that can lead to random memory corruptions and crashes
	  (may or may not be related to #383244, #386711, and #386711).

2006-12-21  Stefan Kost  <ensonic@users.sf.net>

	* tests/check/.cvsignore:
	* tests/check/Makefile.am:
	  sync .cvsignome and CLEANFILES

2006-12-21  Stefan Kost  <ensonic@users.sf.net>

	* tests/check/Makefile.am:
	  fix distcheck

2006-12-21  Stefan Kost  <ensonic@users.sf.net>

	* docs/design/part-states.txt:
	  two tiny additional comments
	
	* gst/gststructure.c:
	  doc fixing

	* tests/check/Makefile.am:
	* tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
	(GST_START_TEST):
	  disable test for now, unless it gets fixed

2006-12-21  Stefan Kost  <ensonic@users.sf.net>

	* tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
	(GST_START_TEST):
	  fix race in underrun test

2006-12-21  Stefan Kost  <ensonic@users.sf.net>

	* tests/check/elements/.cvsignore:
	  ignore more

	* tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
	(GST_START_TEST):
	  try to narrow test failure

2006-12-21  David Schleef  <ds@schleef.org>

	* plugins/elements/gstfakesrc.c:
	  Use g_random_int_range(), since it produces better random
	  numbers in a range than almost-correct floating point code.

2006-12-21  Stefan Kost  <ensonic@users.sf.net>

	* libs/gst/check/gstcheck.c: (gst_check_setup_src_pad),
	(gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
	(gst_check_teardown_sink_pad):
	  do not automatically (de)activate pads

	* tests/check/Makefile.am:
	* tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
	(setup_queue), (cleanup_queue), (GST_START_TEST), (queue_suite):
	  add new, yet simple tests for queue

	* tests/check/elements/fakesrc.c: (cleanup_fakesrc):
	* tests/check/elements/fdsrc.c: (cleanup_fdsrc):
	* tests/check/elements/filesrc.c: (cleanup_filesrc),
	(GST_START_TEST):
	* tests/check/elements/identity.c: (cleanup_identity):
	  consistent pad (de)activation

2006-12-20  Tim-Philipp Müller  <tim at centricular dot net>

	Patch by: Sebastian Dröge  <slomo ubuntu com>

	* libs/gst/base/gstcollectpads.c:
	  Fix two doc typos (#387866).

2006-12-19  Tim-Philipp Müller  <tim at centricular dot net>

	* docs/manual/advanced-dparams.xml:
	  Fix typo (g_object_control_properties() doesn't exist).

2006-12-19  Edward Hervey  <edward@fluendo.com>

	* gst/gstsegment.c: (gst_segment_set_seek):
	Fine tune the cases where the segment start/stop values are really
	updated.
	* tests/check/gst/gstsegment.c: (GST_START_TEST):
	Add tests for the return values of gst_segment_set_seek().

2006-12-19  Tim-Philipp Müller  <tim at centricular dot net>

	* gst/gst.c:
	  Docs typo fix.

	* plugins/elements/gstqueue.c: (gst_queue_class_init),
	(gst_queue_init):
	  Fix incorrect documentation and flesh it out a bit more.
	  Set default values for the max properties on the GParamSpec as well,
	  so it shows up correctly in gst-inspect.

2006-12-18  Stefan Kost  <ensonic@users.sf.net>

	* plugins/elements/gstqueue.c: (queue_leaky_get_type):
	  Correct docs of queue, add more detail and crosslink it more.

2006-12-16  Tim-Philipp Müller  <tim at centricular dot net>

	* plugins/elements/gstidentity.c: (gst_identity_check_perfect):
	  Print additional debug info when the stream isn't perfectly
	  timestamped; don't try to use invalid durations.

2006-12-16  Tim-Philipp Müller  <tim at centricular dot net>

	* docs/design/Makefile.am:
	  Dist new design docs.

2006-12-16  Wim Taymans  <wim@fluendo.com>

	Patch by: Sjoerd Simons <sjoerd at luon dot net>

	* libs/gst/base/gstcollectpads.c: (ref_data), (unref_data),
	(gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
	(gst_collect_pads_stop), (gst_collect_pads_event),
	(gst_collect_pads_chain):
	* libs/gst/base/gstcollectpads.h:
	Add refcounting to the collectpads data so we can track when it's safe
	to free the data. Fixes #383382.

2006-12-15  Wim Taymans  <wim@fluendo.com>

	* libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
	(gst_collect_pads_remove_pad):
	Automatically activate/deactivate pads when they are added to a
	started/stoped collectpads.

2006-12-15  Wim Taymans  <wim@fluendo.com>

	* gst/gstelement.c: (gst_element_add_pad):
	* gst/gstghostpad.c: (gst_ghost_pad_new_full):
	* gst/gstpad.c: (gst_pad_init):
	Set pads to FLUSHING when they are created. Check, warn and fix when a
	demuxer adds an inactive pad to itself when running. Fixes #339326.

2006-12-15  Wim Taymans  <wim@fluendo.com>

	* gst/gstelement.c: (gst_element_class_init),
	(gst_element_default_send_event), (gst_element_send_event),
	(gst_element_default_query), (gst_element_query):
	Expose default element send_event and query handling as vmethods that
	subclasses can chain up to.

2006-12-15  Wim Taymans  <wim@fluendo.com>

	* gst/gstelement.c: (gst_element_set_state_func):
	Small documentation fixes.

2006-12-15  Wim Taymans  <wim@fluendo.com>

	* docs/design/draft-latency.txt:
	Checked in draft for handling latency in pipelines.

2006-12-15  Thomas Vander Stichele  <thomas at apestaart dot org>

	* Makefile.am:
	* gstreamer.doap:
	* gstreamer.spec.in:
	  adding .doap file

2006-12-14  Tim-Philipp Müller  <tim at centricular dot net>

	* gst/gst.c: (init_pre), (init_post):
	  init_pre() and init_post() might be called via our GOptionGroup or
	  from gst_init(), and we should skip both of them if we've already
	  been initialised, otherwise we will init some things twice or add
	  two default log functions.

2006-12-13  Edward Hervey  <edward@fluendo.com>

	* docs/manual/basics-bus.xml:
	No, gst_main_loop does not exist. Its g_main_loop.
	Discovered by somebody who abused the copy-paste technique of coding :)

2006-12-13  Tim-Philipp Müller  <tim at centricular dot net>

	* gst/gstghostpad.c:
	  Log ghostpad debug stuff to the GST_PADS category as well rather
	  than just to the default category.

2006-12-12  Tim-Philipp Müller  <tim at centricular dot net>

	* configure.ac:
	* gst/gst.c: (init_pre):
	  Add some basic system details such as OS and architecture
	  to the debug output if possible, courtesy of uname().

2006-12-11  Tim-Philipp Müller  <tim at centricular dot net>

	* docs/gst/running.xml:
	  Document GST_REGISTRY_FORK and GST_DEBUG_NO_COLOR
	  environment variables.

2006-12-09  Jan Schmidt  <thaytan@mad.scientist.com>

	* tests/check/gst/gstbin.c: (GST_START_TEST):
	It is acceptable to have a refcount of 2 or 3 at this point in the
	test, because the pipeline might be just posting its state_change
	message. The next line then waits for that message to appear using
	bus_poll, so that should be fine too.

2006-12-09  Jan Schmidt  <thaytan@mad.scientist.com>

	* gst/gst.c: (ensure_current_registry_forking):
	Ignore EINTR when reading from the child registry pipe.
	Explicitly ignore the return value from close, since it makes no
	difference.

	* gst/gstminiobject.c: (gst_mini_object_ref),
	(gst_mini_object_unref):
	When debugging refcounts, check GST_IS_MINI_OBJECT and warn.

	* gst/gstregistry.c: (_priv_gst_registry_remove_cache_plugins):
	When removing cached plugins, remove their features too, so they're
	not visible after they've disappeared.

	* gst/gstutils.c: (prepare_link_maybe_ghosting):
	In the unlikely case that we are linking pads with no parents, don't
	crash trying to get the non-existent parent bin.

	* gst/parse/grammar.y:
	Output debug in the PIPELINE category

2005-03-08  Wim Taymans  <wim@fluendo.com>

	Patch by: René Stadler <mail at renestadler dot de>

	* gst/gstclock.c: (gst_clock_new_periodic_id):
	Reject invalid clock times for interval of periodic ids.
	Fixes ##383506.

2006-12-07  Jan Schmidt  <thaytan@mad.scientist.com>

	* gst/gstelementfactory.c: (gst_element_factory_create):
	* gst/gstpluginfeature.c: (gst_plugin_feature_load):
	* gst/gsttypefindfactory.c: (gst_type_find_factory_call_function):
	* tools/gst-inspect.c: (print_element_info):
	Fix refcounting of gst_plugin_feature_load to match the docs. 
	Fixes: #380129

2006-12-07  Wim Taymans  <wim@fluendo.com>

	* libs/gst/base/gstbasesink.c: (gst_base_sink_event),
	(gst_base_sink_get_position):
	Improve debugging of events.

2006-12-07  Wim Taymans  <wim@fluendo.com>

	Patch by: René Stadler <mail at renestadler dot de>

	* gst/gstclock.c: (gst_clock_id_wait):
	Make period ids add the interval to the origial requested time instead
	of the possibly updated time which can be wrong when there are multiple
	waiters for the same id. Fixes #382592.

	* gst/gstsystemclock.c: (gst_system_clock_async_thread),
	(gst_system_clock_id_wait_jitter_unlocked),
	(gst_system_clock_id_wait_jitter):
	Fix restart in the async notify thread when an async entry is added to
	the front of the list. Fixes #381492. 

	* tests/check/gst/gstsystemclock.c: (store_callback),
	(notify_callback), (GST_START_TEST), (gst_systemclock_suite):
	Added test for multiple async waits.
	Added test for async wait order.

2006-12-07  Wim Taymans  <wim@fluendo.com>

	* gst/gstbin.c: (gst_bin_query):
	Add some more docs about the POSITION query.

2006-12-07  Jan Schmidt  <thaytan@mad.scientist.com>

	* configure.ac:
	Bump version nano - back to CVS.

=== release 0.10.11 ===

2006-12-06  Jan Schmidt <thaytan@mad.scientist.com>

	* configure.ac:
	  releasing 0.10.11, "Love never runs on time"

2006-12-01  Jan Schmidt  <thaytan@mad.scientist.com>

	* win32/common/libgstbase.def:
	* win32/common/libgstreamer.def:
	* win32/vs8/libgstbase.vcproj:
	* win32/vs8/libgstcoreelements.vcproj:
	* win32/vs8/libgstreamer.vcproj:
	Fix compilation on win32 under VS8
	Patch by: Sergey Scobich <sergey dot scobich at gmail dot com>
	Partially fixes #381175

2006-11-29  Jan Schmidt  <thaytan@mad.scientist.com>

	* gst/gstvalue.c: (gst_value_compare_fraction):
	If someone is foolish enough to compare 2 fractions with denominator =
	0, return UNORDERED rather than aborting.

2006-11-28  Edward Hervey  <edward@fluendo.com>

	* libs/gst/base/Makefile.am:
	* libs/gst/base/gstdataqueue.c: (gst_data_queue_get_type),
	(gst_data_queue_base_init), (gst_data_queue_class_init),
	(gst_data_queue_init), (gst_data_queue_new),
	(gst_data_queue_cleanup), (gst_data_queue_finalize),
	(gst_data_queue_locked_flush), (gst_data_queue_locked_is_empty),
	(gst_data_queue_locked_is_full), (gst_data_queue_flush),
	(gst_data_queue_is_empty), (gst_data_queue_is_full),
	(gst_data_queue_set_flushing), (gst_data_queue_push),
	(gst_data_queue_pop), (gst_data_queue_drop_head),
	(gst_data_queue_set_property), (gst_data_queue_get_property):
	* libs/gst/base/gstdataqueue.h:
	New GstDataQueue object for threadsafe queueing. Most useful for
	elements that need some queueing functionnality.
	* docs/libs/gstreamer-libs-docs.sgml:
	* docs/libs/gstreamer-libs-sections.txt:
	Insert documentation for GstDataQueue
	* plugins/elements/Makefile.am:
	* plugins/elements/gstelements.c:
	* plugins/elements/gstmultiqueue.c: (gst_multi_queue_base_init),
	(gst_multi_queue_class_init), (gst_multi_queue_init),
	(gst_multi_queue_finalize), (gst_multi_queue_set_property),
	(gst_multi_queue_get_property), (gst_multi_queue_request_new_pad),
	(gst_multi_queue_release_pad), (gst_single_queue_push_one),
	(gst_multi_queue_item_destroy), (gst_multi_queue_item_new),
	(gst_multi_queue_loop), (gst_multi_queue_chain),
	(gst_multi_queue_sink_activate_push), (gst_multi_queue_sink_event),
	(gst_multi_queue_getcaps), (gst_multi_queue_bufferalloc),
	(gst_multi_queue_src_activate_push), (gst_multi_queue_acceptcaps),
	(gst_multi_queue_src_event), (gst_multi_queue_src_query),
	(wake_up_next_non_linked), (compute_next_non_linked),
	(single_queue_overrun_cb), (single_queue_underrun_cb),
	(single_queue_check_full), (gst_single_queue_new):
	* plugins/elements/gstmultiqueue.h:
	New multiqueue element, using GstDataQueue. Used for queuing multiple
	streams.
	Closes #344639 and #347785

2006-11-22  Stefan Kost  <ensonic@users.sf.net>

	* docs/pwg/advanced-types.xml:
	  add more missing type details

	* tools/gst-run.c: (main):
	  remove unused variable

2006-11-21  Stefan Kost  <ensonic@users.sf.net>

	* docs/libs/Makefile.am:
	* docs/libs/gstreamer-libs.types:
	  add types of base classes to enable gobject specific stuff in the docs

	* docs/random/ensonic/embedded.txt:
	  more ideas about isolating platform specific things

2006-11-20  Wim Taymans  <wim@fluendo.com>

	Patch by: Sebastian Dröge <slomo at ubuntu dot com>

	* libs/gst/check/gstcheck.h:
	Fix compilation and running against 0.9.4. Fixes #377332.

2006-11-20  Wim Taymans  <wim@fluendo.com>

	* gst/gstsegment.c: (gst_segment_set_seek),
	(gst_segment_set_newsegment_full), (gst_segment_to_stream_time),
	(gst_segment_to_running_time):
	Fix boundary checking in to_running_time() and to_stream_time().
	Fixes #377183.

	* tests/check/gst/gstsegment.c: (GST_START_TEST):
	stream and running time can now be calculated for the complete
	clipped segment.

2006-11-15  Tim-Philipp Müller  <tim at centricular dot net>

	* gst/gstpad.c: (gst_pad_push_event):
	  Can't access event structure after giving away ownership of
	  the event.

2006-11-15  Stefan Kost  <ensonic@users.sf.net>

	* docs/random/ensonic/embedded.txt:
	* docs/random/ensonic/profiling.txt:
	* docs/random/ensonic/receipies.txt:
	  more thinking

2006-11-13  Wim Taymans  <wim@fluendo.com>

	Patch by: Mark Nauwelaerts <manauw at skynet dot be>

	* gst/gstpad.c:
	Fix documentation for gst_pad_dispatcher. Fixes #374475.

2006-11-13  Wim Taymans  <wim@fluendo.com>

	Patch by: Jonathan Matthew <jonathan at kaolin dot wh9 dot net>

	* libs/gst/base/gstbasesrc.c: (gst_base_src_update_length):
	Store new length in segment duration so we don't keep on calling the
	potentially expensize get_size() call. Fixes #370865.

2006-11-10  Tim-Philipp Müller  <tim at centricular dot net>

	Patch by: Sergey Scobich  <sergey.scobich at gmail com>

	* win32/common/libgstreamer.def:
	  Add two missing symbols (#366492).

2006-11-10  Jan Schmidt  <thaytan@mad.scientist.com>

	* libs/gst/base/gstadapter.c: (gst_adapter_flush),
	(gst_adapter_take_buffer):
	Fix format string to use all its arguments.
	Remove useless >= check on a guint

2006-11-09  Jan Schmidt  <thaytan@mad.scientist.com>

	* tests/examples/adapter/.cvsignore:
	Ignore build file as commanded by the build-bot

2006-11-09  Jan Schmidt  <thaytan@mad.scientist.com>

	* tests/examples/adapter/Makefile.am:
	* tests/examples/adapter/adapter_test.c: (run_test_take),
	(run_test_take_buffer), (run_tests), (main):

	Add new files from the previous commit

2006-11-09  Jan Schmidt  <thaytan@mad.scientist.com>

	* Makefile.am:
	* configure.ac:
	* libs/gst/base/gstadapter.c: (gst_adapter_clear),
	(gst_adapter_push), (gst_adapter_peek_into), (gst_adapter_peek),
	(gst_adapter_flush), (gst_adapter_take), (gst_adapter_take_buffer):
	* libs/gst/base/gstadapter.h:
	* tests/check/libs/adapter.c: (create_and_fill_adapter),
	(GST_START_TEST), (gst_adapter_suite):
	* tests/examples/Makefile.am:
	Do some optimisation work in GstAdapter to avoid copies in more cases.
	It could still do slightly better by merging buffers when
	gst_buffer_is_span_fast is true, but is already faster. 

	Also, avoid traversing a single-linked list to append each incoming 
	buffer inside the adapter.

	Add simple test app that times the adapter behaviour in different
	situations, and extend the unit test to check that bytes enter and
	exit the adapter in their original order.

2006-11-08  Tim-Philipp Müller  <tim at centricular dot net>

	* docs/random/draft-missing-plugins.txt:
	  Update: use element message instead of adding a new message
	  type to the core; don't provide GStreamer API to initiate the
	  plugin download, just provide API to compose the strings needed
	  and let an external libgimmestuff handle the rest.

2006-11-08  Jan Schmidt  <thaytan@mad.scientist.com>

	* tools/gst-inspect.c: (print_element_properties_info):
	Print a string instead of 'unknown type' for GValueArray properties

2006-11-08  Christian F.K. Schaller  <christian@fluendo.com>

	* docs/random/draft-missing-plugins.txt:
	More small fixes.

2006-11-07  Tim-Philipp Müller  <tim at centricular dot net>

	* tests/examples/typefind/typefind.c: (type_found), (main):
	  Make typefind element example work again (#371894); add a
	  license header.

2006-11-07  Tim-Philipp Müller  <tim at centricular dot net>

	* docs/random/draft-missing-plugins.txt:
	  Commit initial draft about how to deal with missing plugins,
	  needs work (API too).

2006-11-07  Stefan Kost  <ensonic@users.sf.net>

	* docs/pwg/advanced-types.xml:
	  documents the new caps elements (see #363118)

2006-11-06  Tim-Philipp Müller  <tim at centricular dot net>

	* gst/gstplugin.c: (gst_plugin_load_file):
	* plugins/elements/gstfilesrc.c: (gst_mmap_buffer_finalize),
	(gst_file_src_map_region), (gst_file_src_start):
	* plugins/indexers/gstfileindex.c: (gst_file_index_load),
	(gst_file_index_commit):
	  Use g_strerror() instead of strerror() - we want UTF-8.

2006-11-06  Tim-Philipp Müller  <tim at centricular dot net>

	Patch by: Peter Kjellerstedt <pkj at axis com>

	* plugins/elements/gstfdsrc.c: (gst_fd_src_create):
	  Another printf fix (#371493).

2006-11-06  Stefan Kost  <ensonic@users.sf.net>

	* tests/check/gst/gsttag.c:
	  relicence (okay with author=company)

2006-11-06  Stefan Kost  <ensonic@users.sf.net>

	* gst/gstpad.c: (gst_pad_event_default_dispatch),
	(gst_pad_push_event):
	  Enhance debug and improve docs
	
	* gst/gsturi.c:
	  Fix docs

2006-11-06  Stefan Kost  <ensonic@users.sf.net>

	* docs/random/ensonic/distributed.txt:
	* docs/random/ensonic/profiling.txt:
	  more ideas

2006-11-06  Stefan Kost  <ensonic@users.sf.net>

	* docs/gst/gstreamer-sections.txt:
	  add new API and fix the build
	  
	* gst/gstbin.c: (gst_bin_recalc_state):
	* gst/gstelement.c: (gst_element_message_full),
	(gst_element_get_state_func), (gst_element_set_state_func):
	  use new API and improve logging
	
	* gst/gstutils.c: (gst_element_state_change_return_get_name):
	* gst/gstutils.h:
	  API: add function to get StateChangereturn names to improve logs 

2006-11-04  Thomas Vander Stichele  <thomas at apestaart dot org>

	* plugins/elements/gstfilesrc.c: (gst_file_src_start):
	  I'm considering shooting the next person to put strerror stuff
	  in the translateable part of the message.

2006-11-03  Wim Taymans  <wim@fluendo.com>

	* plugins/elements/gstfdsrc.c: (gst_fd_src_create):
	Get the type and printf conversion specifiers right.

2006-11-03  Wim Taymans  <wim@fluendo.com>

	Patch by: Mark Nauwelaerts <manauw at skynet dot be>

	* gst/gstpad.c: (gst_pad_init), (pre_activate),
	(gst_pad_set_blocked_async), (gst_pad_acceptcaps_default),
	(gst_pad_accept_caps), (handle_pad_block), (gst_pad_push_event):
	Some small cleanups. Improve debugging.
	* gst/gstpad.h:
	Signal all waiting threads with a broadcast instead of just one.
	Fixes #369942.

2006-11-03  Wim Taymans  <wim@fluendo.com>

	* plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd),
	(gst_fd_src_create):
	Add some debugging. 
	Only update fd when it's different from the old.

2006-11-02  Tim-Philipp Müller  <tim at centricular dot net>

	* plugins/elements/gstfilesrc.c: (gst_file_src_create_mmap):
	  Printf fixes for PPC/OSX, take two (#369366).

2006-11-02  Tim-Philipp Müller  <tim at centricular dot net>

	Based on patch by: Jan David Mol  <j.j.d.mol at tudelft nl>

	* plugins/elements/gstfilesink.c: (gst_file_sink_class_init):
	* plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
	(gst_file_src_map_small_region), (gst_file_src_create_mmap):
	  Printf fixes for gsize parameters on PPC/OSX (#369366). Also,
	  don't cast to long long for portability reasons, but use
	  GLib's types instead.

2006-10-30  Michael Smith  <msmith@fluendo.com>

	* plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
	  Get the arguments to lseek() the right way around.
	  Fixes 367677.

2006-10-30  Wim Taymans  <wim@fluendo.com>

	Patch by: gorshkov <gorshkov at oghma dot on dot ca>

	* gst/gstinfo.h:
	_declspec should be __declspec (two underscores, not one). Fixes 366572.

2006-10-28  Tim-Philipp Müller  <tim at centricular dot net>

	Patch by: Kjartan Maraas  <kmaraas at gnome org>

	* docs/design/part-MT-refcounting.txt:
	* docs/random/wtay/capsnego2-docs:
	* gst/gstclock.c:
	* gst/gstxml.c:
	  Typo fixes (#366212).

2006-10-28  Wim Taymans  <wim@fluendo.com>

	Patch by: Sergey Scobich <sergey dot scobich at gmail dot com>

	* gst/gst.c:
	* win32/common/libgstbase.def:
	* win32/common/libgstreamer.def:
	* win32/vs8/libgstbase.vcproj:
	* win32/vs8/libgstcontroller.vcproj:
	Add needed entries in .def files.
	Use HAVE_UNISTD_H.
	Rearrange def files in vs8 solutions. Fixes #366286.

2006-10-28  Tim-Philipp Müller  <tim at centricular dot net>

	* win32/common/gstconfig.h:
	  Add GST_SEGMENT_FORMAT and GST_USING_PRINTF_EXTENSION to the
	  hand-made win32 gstconfig.h. Fixes #366321.

2006-10-27  Wim Taymans  <wim@fluendo.com>

	* gst/gstghostpad.c: (gst_proxy_pad_do_acceptcaps),
	(gst_ghost_pad_new_full):
	Make acceptcaps return TRUE when we don't have a target, just like
	setcaps does.

2006-10-27  Wim Taymans  <wim@fluendo.com>

	* libs/gst/base/gstbasetransform.c: (gst_base_transform_chain):
	Revert previous commit, 0 sized buffers are allowed. Reopens #363095.

2006-10-26  Tim-Philipp Müller  <tim at centricular dot net>

	* gst/gststructure.c: (gst_structure_id_set_value):
	  If someone tries to set a non-UTF8 string field on a structure,
	  don't just print a warning, but also ignore the request and do
	  not change/add that field to the structure.

	* tests/check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
	  Test for the above.

2006-10-25  David Schleef  <ds@schleef.org>

	* gst/gstinfo.c:
	  g_hash_table_insert() needs a cast to a non-const pointer duh.

2006-10-25  David Schleef  <ds@schleef.org>

	* gst/gstinfo.c:
	* gst/gstinfo.h:
	  Change name parameter of _gst_debug_register_funcptr to const
	  to reflect the constness of its use in the function as well
	  as to quiet a gcc warning.

2006-10-25  Edward Hervey  <edward@fluendo.com>

	* libs/gst/base/gstbasetransform.c: (gst_base_transform_chain):
	Don't push the buffer if it's empty.
	Closes #363095

2006-10-24  Wim Taymans  <wim@fluendo.com>

	* gst/gstevent.h:
	Add small comment.

	* libs/gst/base/gstbasetransform.c:
	(gst_base_transform_sink_eventfunc):
	Debug segment values *after* updating them as this is more
	interesting.

2006-10-23  Wim Taymans  <wim@fluendo.com>

	* docs/design/part-events.txt:
	Update some docs.

	* docs/design/part-block.txt:
	* gst/gstpad.c: (gst_pad_is_blocking), (handle_pad_block),
	(gst_pad_push_event):
	Revert BLOCKING patch, it tries to be smart without really having a
	clear idea what or how. So, now we discard all FLUSHING events again on
	a blocking pad. Should fix gnonlin again.

2006-10-23  Wim Taymans  <wim@fluendo.com>

	Patch by: Sergey Scobich <sergey dot scobich at gmail dot com>

	* libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
	(gst_base_src_start), (gst_base_src_activate_push):
	Make sure size is always initialized. Fixes #364388.

2006-10-20  Stefan Kost  <ensonic@users.sf.net>

	* docs/random/ensonic/distributed.txt:
	  add some ideas about doing distributed processing

	* docs/random/ensonic/profiling.txt:
	  get_rusage look promising

2006-10-18  Stefan Kost  <ensonic@users.sf.net>

	* docs/manual/basics-helloworld.xml:
          Add a cast in example to fix compile warning

2006-10-18  Wim Taymans  <wim@fluendo.com>

	* gst/gstsegment.c: (gst_segment_set_last_stop),
	(gst_segment_set_seek), (gst_segment_set_newsegment_full):
	Relax arg checking again, -1 is allowed.

2006-10-18  Wim Taymans  <wim@fluendo.com>

	* gst/gstsegment.c: (gst_segment_set_last_stop),
	(gst_segment_set_seek), (gst_segment_set_newsegment_full):
	_set_last_stop() must be with a value != -1
	A _TYPE_SET to -1 means seek to 0.
	Calc last_stop correctly for negative rates.
	Make sure we work with positive durations when updating a segment.

2006-10-18  Wim Taymans  <wim@fluendo.com>

	* docs/design/part-live-source.txt:
	* gst/gstclock.h:
	Small docs fixes.

2006-10-18  Tim-Philipp Müller  <tim at centricular dot net>

	* gst/gstbuffer.h:
	  Add an explicit cast to GstBuffer** to keep old code that added an
	  explicit cast to GstMiniObject** for gst_mini_object_replace()
	  compiling without warning.

2006-10-18  Stefan Kost  <ensonic@users.sf.net>

	* gst/gstvalue.c: (gst_value_set_date), (gst_date_copy):
	  check for validity of dates

2006-10-17  Tim-Philipp Müller  <tim at centricular dot net>

	* docs/gst/gstreamer-sections.txt:
	  Forgot this one, makes gtk-doc shut up.

2006-10-17  Tim-Philipp Müller  <tim at centricular dot net>

	Patch by: Peter Kjellerstedt <pkj at axis com>

	* gst/gstobject.h:
	  Don't define xmlNodePtr to gpointer if the core was built with
	  --disable-loadsave and --disable-registry, this will break
	  applications that want to use libxml2 but are buildling against a
	  core that doesn't use libxml2. Use an intermediary type GstXmlNodePtr
	  instead so we don't have to mess with the libxml2 namespace
	  (#361675).

2006-10-17  Tim-Philipp Müller  <tim at centricular dot net>

	* gst/gstbuffer.h:
	  Fix gst_buffer_replace() macro to avoid gst_mini_object_replace()-related
	  type-punned pointer warnings.

2006-10-16  Tim-Philipp Müller  <tim at centricular dot net>

	* gst/gstelement.h:
	  Add casts to the correct return type to state <=> state transition
	  macros.

2006-10-16  Stefan Kost  <ensonic@users.sf.net>

	* docs/design/part-live-source.txt:
	  describe howto handle latency
	
	* docs/random/ensonic/profiling.txt:
	  more ideas

	* tools/gst-plot-timeline.py:
	  fix log parsing for solaris, remove unused function

2006-10-16  Wim Taymans  <wim@fluendo.com>

	* docs/design/part-trickmodes.txt:
	* gst/gstevent.c:
	Update some docs regarding reverse playback.

2006-10-15  Tim-Philipp Müller  <tim at centricular dot net>

	Patch by: Marcus Granado  <mrc dot gran at gmail com>

	* win32/vs8/grammar.vcproj:
	  Error out with a warning if glib-genmarshal.exe is not in path,
	  instead of creating bogus gstmarshal.[ch] files. Fixes #361720.

2006-10-13  Wim Taymans  <wim@fluendo.com>

	* gst/gstsegment.c: (gst_segment_set_seek):
	When seeking to stop -1, set last_stop (current position) to the
	duration of the segment.

2006-10-13  Wim Taymans  <wim@fluendo.com>

	* gst/gstelement.h:
	Clarify _NO_PREROLL a bit more.

	* gst/gstevent.c:
	Fix docs.

	* gst/gstpad.c: (gst_pad_link_check_hierarchy),
	(gst_pad_get_caps_unlocked), (gst_pad_save_thyself),
	(handle_pad_block), (gst_pad_push_event), (gst_pad_send_event):
	Patch by: Yves Lefebvre <ivanohe at abacom dot com> Fix possible deadlock
	due to wrong locking order. Fixes #361769.
	Remove some redundant/misplaced checks in pad_block.

	* libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
	For negative rates, count backwards from the duration.

2006-10-13  Tim-Philipp Müller  <tim at centricular dot net>

	* gst/gsterror.c: (_gst_library_errors_init):
	  Fix error message for GST_LIBRARY_ERROR_SETTINGS (feel free to come
	  up with something better).

2006-10-12  Tim-Philipp Müller  <tim at centricular dot net>

	* win32/vs6/libgstreamer.dsp:
	* win32/vs7/libgstreamer.vcproj:
	* win32/vs8/libgstreamer.vcproj:
	  Don't reference glib-compat.c which is currently not used and not
	  disted; add gstquark.c which was recently added. Fixes #361730.

2006-10-12  Tim-Philipp Müller  <tim at centricular dot net>

	* win32/common/libgstbase.def:
	* win32/common/libgstcontroller.def:
	* win32/common/libgstreamer.def:
	  Add gst_caps_merge() and a bunch of other recently-added functions.
	  Fixes #361732.

2006-10-11  Wim Taymans  <wim@fluendo.com>

	* docs/plugins/gstreamer-plugins.args:
	* docs/plugins/inspect/plugin-coreelements.xml:
	* docs/plugins/inspect/plugin-coreindexers.xml:
	Update element args.

	* gst/gstsystemclock.c:
	Small comment update.

	* plugins/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
	(gst_tee_request_new_pad), (gst_tee_release_pad),
	(gst_tee_buffer_alloc), (gst_tee_sink_activate_push),
	(gst_tee_sink_activate_pull):
	* plugins/elements/gsttee.h:
	Some tee loving:
	Add default property defines.
	Implement release pad function.
	Give properties better blubs etc.
	Activate pads before adding them to a running tee.
	Do simple buffer_alloc on the first requested pad.
	Post error when activation fails.

2006-10-11  Tim-Philipp Müller  <tim at centricular dot net>

	* gst/gst.c: (ensure_current_registry_forking):
	  Check return value of write() to make compiler happy.

2006-10-11  Wim Taymans  <wim@fluendo.com>

	Patch by: Sjoerd Simons <sjoerd at luon dot net>

	* plugins/elements/gstqueue.c: (gst_queue_chain):
	Recheck queue filledness after signalling the overrun when we're about
	to leak downstream because we released the lock when emitting the signal
	and the queue could be empty again. Fixes #352345.

2006-10-11  Tim-Philipp Müller  <tim at centricular dot net>

	* libs/gst/controller/gstcontroller.c: (gst_controller_new_list):
	  Fix refcounting here too, just like we did for _new_valist() a few
	  days ago (#357180) (thanks to René Stadler). Also remove all those
	  'Since: 0.9' from the gtk-doc blobs.

	* tests/check/libs/controller.c: (controller_refcount_new_list),
	(gst_controller_suite):
	  Unit test for the above.

2006-10-10  Wim Taymans  <wim@fluendo.com>

	Patch by: Sebastien Cote <sebas642 at yahoo dot ca>

	* gst/gstpad.c: (gst_pad_get_caps_unlocked),
	(gst_pad_save_thyself):
	Update some docs.
	Write pad direction in XML output. Fixes #345496.

2006-10-10  Wim Taymans  <wim@fluendo.com>

	Patch by: René Stadler <mail at renestadler dot de>

	* libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
	(gst_controller_new_list), (_gst_controller_dispose),
	(_gst_controller_finalize), (_gst_controller_class_init):
	Take ref to controlled object so that it cannot disappear. 
	Fixes #357432.

2006-10-10  Wim Taymans  <wim@fluendo.com>

	* libs/gst/check/gstcheck.c: (gst_check_setup_src_pad),
	(gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
	(gst_check_teardown_sink_pad):
	Activate/deactivate pads in setup/teardown respectively.

2006-10-10  Zaheer Abbas Merali  <zaheerabbas at merali dot org>

	Patch by: Josep Torra Valles <josep@fluendo.com>

	* gst/Makefile.am:
	Cast values when making gstenumtypes.h.  This pacifies Forte
	so it doesn't warn about the ~0 as GST_MESSAGE_ANY not fitting
	in the enumeration.

2006-10-09  Wim Taymans  <wim@fluendo.com>

	* gst/gstevent.c: (gst_event_new_seek), (gst_event_parse_seek):
	Rename some more @cur to @start to fix docs. 

	* gst/gstsegment.c: (gst_segment_set_seek):
	Fix typo.
	time and start must always stay in sync as defined in design doc.

	* gst/gsttaglist.c: (gst_tag_list_is_empty):
	Rename param to fix docs.

	* tests/check/gst/gstsegment.c: (GST_START_TEST):
	Check that start and time are in sync.

	* tests/check/pipelines/parse-launch.c:
	(gst_parse_test_element_change_state):
	Activate pad before adding to the element.

2006-10-09  Wim Taymans  <wim@fluendo.com>

	* docs/design/part-qos.txt:
	Fix typo.

	* gst/gstevent.c:
	* gst/gstevent.h:
	Update seek event docs regarding negative rates.
	Rename @cur to @start. 

	* gst/gstsegment.c: (gst_segment_set_seek):
	* gst/gstsegment.h:
	Update set_seek docs regarding negative rates.
	Correctly update last_stop to @stop when dealing with negative
	rates.
	Rename @cur to @start. 

	* tests/check/gst/gstpad.c: (GST_START_TEST):
	Activate pads before trying to use them.

	* tests/check/gst/gstsegment.c: (GST_START_TEST),
	(gst_segment_suite):
	Add simple check for segments and negative rates.

2006-10-09  Tim-Philipp Müller  <tim at centricular dot net>

	* gst/gsttaglist.c: (gst_tag_list_is_empty):
	* gst/gsttaglist.h:
	* docs/gst/gstreamer-sections.txt:
	  API: add gst_tag_list_is_empty() (#360467).

	* tests/check/gst/gsttag.c: (GST_START_TEST):
	  And a test case.

2006-10-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>

	* gst/gstmessage.h:
	Revert change from earlier wrt GST_MESSAGE_TYPE_ANY having
	a value that doesn't fit on enumeration.

2006-10-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>

	* libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
	Remove local debugging system and use Gstreamer's instead.

2006-10-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>

	Patch by: Josep Torra Valles <josep@fluendo.com>

	* common/m4/gst-error.m4:
	Disable warning of statement not reached on Forte.
	* gst/gstmessage.h:
	Fix warning on Forte (value doesn't fit on enumeration).
	* libs/gst/base/gstbasesink.c: (gst_base_sink_chain_unlocked):
	Fix warning on Forte (value doesn't fit on enumeration).
	* libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
	DEBUG macro says it takes minimum of 2 args and so Forte
	complains about the use with just 1 arg.
	* plugins/elements/gstfdsink.c:
	* plugins/elements/gstfdsrc.c:
	* plugins/elements/gstfilesink.c:
	* plugins/elements/gstfilesrc.c:
	Use correct return type for the uri handler implementations.

	All these fix warnings in Forte.  Fixes bug #360860.

2006-10-08  Tim-Philipp Müller  <tim at centricular dot net>

	* gst/gstelement.h:
	  gcc versions prior to gcc 3.3 apparently complain about a NULL printf
	  format string, so don't use G_GNUC_PRINTF for those versions.

2006-10-07  Tim-Philipp Müller  <tim at centricular dot net>

	* gst/gsttaglist.c: (gst_is_tag_list):
	* gst/gsttaglist.h:
	  Minor fixes to GST_IS_TAG_LIST and gst_is_tag_list().

	* tests/check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
	  Small test for the above.

2006-10-07  Tim-Philipp Müller  <tim at centricular dot net>

	* gst/gsttaglist.h:
	  Less tabs, more spaces.

2006-10-06  Tim-Philipp Müller  <tim at centricular dot net>

	* gst/gstinfo.h:
	  Those two function declarations do actually belong there, revert
	  commit from yesterday that turned them intro macros.

2006-10-06  Zaheer Abbas Merali  <zaheerabbas at merali dot org>

	Patch by: Josep Torra Valles <josep@fluendo.com>

	* gst/gst.c: (gst_init_get_option_group):
	Fix empty declaration and type mismatch.
	* gst/gstbin.c: (gst_bin_change_state_func):
	Fix type mismatch.
	* gst/gstelement.c: (gst_element_continue_state),
	(gst_element_set_state_func), (gst_element_change_state),
	(gst_element_change_state_func):
	Fix type mismatches.
	* gst/gstinfo.c: (gst_debug_compare_log_function_by_func),
	(gst_debug_remove_log_function), (_gst_debug_nameof_funcptr):
	Cast as appropriate.
	* gst/gstobject.c: (gst_class_signal_connect):
	Cast as appropriate.  The function pointer parameter really
	has the wrong type but would break API if we change it.
	* gst/gstquery.c:
	Fix redefinition of _FILE_OFFSET_BITS caused on Solaris wrt
	order of including string.h.
	* gst/gstutils.c: (gst_element_state_get_name):
	Remove unreachable line.
	* gst/gstxml.c: (gst_xml_parse_doc):
	Fix type mismatch.
	All these caught by Forte.

2006-10-06  Zaheer Abbas Merali  <zaheerabbas at merali dot org>

	Patch by: Josep Torra Valles <josep@fluendo.com>

	* common/m4/gst-error.m4:
	Fixed bug #360151.
	We need to disable warnings on Forte for empty declarations
	due to gst-indent adding ;s to lines that just use macros
	where the macro actually doesn't need a ; at end to end
	statement.

2006-10-06  Wim Taymans  <wim@fluendo.com>

	* plugins/elements/gstfilesink.c: (gst_file_sink_open_file),
	(gst_file_sink_close_file), (gst_file_sink_event),
	(gst_file_sink_render):
	Add some FIXME for the NEWSEGMENT handling.

2006-10-05  Zaheer Abbas Merali  <zaheerabbas at merali dot org>

	* gst/parse/grammar.y:
	Remove static function gst_parse_element_lock as all it does
	is return.  Looks like cruft from 0.8.

2006-10-05  Zaheer Abbas Merali  <zaheerabbas at merali dot org>

	Patch by: Josep Torra Valles <josep@fluendo.com>

	* common/m4/gst-error.m4:
	* configure.ac:
	* libs/gst/net/Makefile.am:
	Fix a compilation issue with Forte on Solaris.  inet_aton is in
	libresolv.

2006-10-05  Tim-Philipp Müller  <tim at centricular dot net>

	* gst/gstpad.c: (pre_activate):
	* gst/gstregistry.c: (gst_registry_scan_path_level):
	* gst/gstregistryxml.c: (load_plugin):
	* libs/gst/controller/gstcontroller.c:
	(gst_controlled_property_set_interpolation_mode):
	* libs/gst/dataprotocol/dataprotocol.c:
	(gst_dp_packet_from_event_1_0):
	* libs/gst/net/gstnetclientclock.c:
	(gst_net_client_clock_observe_times):
	* plugins/elements/gstfdsrc.c: (gst_fd_src_create):
	  Printf fixes.

2006-10-05  Tim-Philipp Müller  <tim at centricular dot net>

	* configure.ac:
	* docs/gst/gstreamer-sections.txt:
	* gst/gstconfig.h.in:
	* gst/gstelement.h:
	* gst/gstinfo.h:
	  Add GST_USING_PRINTF_EXTENSION to gstconfig.h so that we know
	  whether we can use G_GNUC_PRINTF in other header files and at
	  least check the printf format/arguments of debug messages and
	  GST_ELEMENT_ERROR messages when the printf extension is not
	  being used.
	  Replace more tabs with spaces in gstinfo.h and remove two spurious
	  function declarations in GST_DISABLE_DEBUG part with macros.

2006-10-03  Tim-Philipp Müller  <tim at centricular dot net>

	* gst/gstbus.c: (gst_bus_class_init), (gst_bus_post):
	  More docs for the sync-message signal (mention that it is not
	  emitted by default); log message structures of messages posted on
	  the bus as well.

2006-10-03  Jan Schmidt  <thaytan@mad.scientist.com>

	* gst/gst.c: (ensure_current_registry_forking):
	Use a pipe pair to receive status results from the forked child, and
	ignore the result from waitpid. Fixes #355499

2006-10-02  Wim Taymans  <wim@fluendo.com>

	* tests/check/gst/gstghostpad.c: (GST_START_TEST),
	(gst_ghost_pad_suite):
	Fix leak in check.

2006-10-02  Tim-Philipp Müller  <tim at centricular dot net>

	* gst/gstpad.c:
	  Add 'Since: 0.10.11' to gst_pad_is_blocking() gtk-doc blurb.

2006-10-02  Edward Hervey  <edward@fluendo.com>

	* docs/design/part-block.txt:
	Further explain the use of flushing on blocked pads.
	* docs/gst/gstreamer-sections.txt:
	* gst/gstpad.c: (gst_pad_is_blocking), (handle_pad_block),
	(gst_pad_push_event):
	* gst/gstpad.h:
	Added new GstPadFlag : GST_PAD_BLOCKING.
	Adds the notion of pads really blocking, which enables to properly
	handle FLUSH_START/FLUSH_STOP events on blocked pads.
	Fixes #358999
	API: gst_pad_is_blocking()
	API: GST_PAD_IS_BLOCKING() macro
	API: GST_PAD_BLOCKING GstPadFlag
	
2006-10-02  Wim Taymans  <wim@fluendo.com>

	Patch by: mrcgran <mrc.gran at gmail dot com>

	* gst/gstghostpad.c: (gst_proxy_pad_do_getcaps):
	Filter the proxied caps against the padtemplate if we have one.

	* gst/gstquery.c: (gst_query_new_segment):
	Add include for gstinfo.h so that compilation with
	-DGST_DISABLE_GST_DEBUG works again. Fixes #358436.

2006-10-02  Wim Taymans  <wim@fluendo.com>

	Patch by: Alessandro Decina  <alessandro at nnva org>

	* plugins/elements/gstfilesink.c: (gst_file_sink_init),
	(gst_file_sink_set_location), (gst_file_sink_open_file),
	(gst_file_sink_close_file), (gst_file_sink_event),
	(gst_file_sink_render):
	Set file to NULL when closing filesink so that we can set a new filename
	in READY. Fixes #358613.

2006-10-02  Tim-Philipp Müller  <tim at centricular dot net>

	Patch by: Alessandro Decina  <alessandro at nnva org>

	* gst/gstevent.c: (_gst_event_copy):
	  Fix gst_mini_object_make_writable() and gst_event_copy() for events
	  with event structures by setting the parent refcount address of the
	  copied structure to the address of the refcount member of the newly
	  copied event rather than the address of the refcount member of the
	  original event. Fixes #358737.

	* tests/check/gst/gstevent.c: (GST_START_TEST):
	  Unit test for the above.

2006-09-29  Stefan Kost  <ensonic@users.sf.net>

	* docs/design/Makefile.am:
          Dist some more files.

2006-09-29  Tim-Philipp Müller  <tim at centricular dot net>

	* tests/check/libs/controller.c: (GST_START_TEST),
	(gst_controller_suite):
	  Add test for the previous fix; add some more tests
	  for correct refcounting behaviour; fix a few leaks
	  in test cases; call gst_controller_init() at start
	  of all tests.

2006-09-29  Tim-Philipp Müller  <tim at centricular dot net>

	* libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
	(gst_controller_set_from_list):
	  Don't g_return_val_if_fail() on timed values with invalid timestamps
	  inside a critical section without unlocking the mutex. Spotted by
	  René Stadler. (#357617)
	  Also, fix up refcounting properly: when returning an existing
	  controller, we should increase the reference only once and not
	  once per property and when trying to control a property again
	  we should also increase the refcount.

2006-09-29  Wim Taymans  <wim@fluendo.com>

	* libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
	* libs/gst/net/gstnettimeprovider.c:
	(gst_net_time_provider_thread):
	Stop reading commands when EOF as well.

	* plugins/elements/gstfakesink.c: (gst_fake_sink_class_init):
	* plugins/elements/gstfakesrc.c: (gst_fake_src_class_init):
	* plugins/elements/gstidentity.c: (gst_identity_class_init):
	Unify description of the dump property.

2006-09-28  Jan Schmidt  <thaytan@mad.scientist.com>

	* tests/examples/manual/.cvsignore:
	OK, so it's actually cvsignore that needs changing. Stop laughing.

2006-09-28  Jan Schmidt  <thaytan@mad.scientist.com>

	* tests/examples/manual/Makefile.am:
	Gah, declare vars *before* using them

2006-09-28  Jan Schmidt  <thaytan@mad.scientist.com>

	* gst/gst.c: (init_pre), (scan_and_update_registry),
	(ensure_current_registry_nonforking),
	(ensure_current_registry_forking), (ensure_current_registry),
	(init_post), (gst_debug_help), (gst_deinit):
	* gst/gst_private.h:
	* gst/gstregistry.c: (gst_registry_finalize),
	(gst_registry_remove_features_for_plugin_unlocked),
	(gst_registry_remove_plugin), (gst_registry_scan_path_level),
	(gst_registry_scan_path),
	(_priv_gst_registry_remove_cache_plugins),
	(_priv_gst_registry_cleanup):
	* gst/gstregistry.h:
	Re-commit the registry changes, along with an extra fix:
	  When a cached plugin is encountered at a different file path,
	  update the stored path in the registry cache so that the parent
	  process knows where it actually is now when it re-reads the registry
	  cache. Fixes the thing that broke distcheck with the previous commit.

	* tests/check/Makefile.am:
	Clean up files named 'core' too when running make clean.

	* tests/examples/manual/Makefile.am:
	Set up a registry path for running these tests, and clean it properly
	for distcheck.

2006-09-28  Jan Schmidt  <thaytan@mad.scientist.com>

	* configure.ac:
	Don't pull in gmodule-2.0.pc as a dependency in our .pc files - we
	want gmodule-no-export-2.0.pc instead so that we don't drag in
	--export-dynamic on every project that links to GStreamer.

	Also, make our export regex only match the start of symbols, rather 
	than any symbol that contains '_gst' somewhere.

	* libs/gst/check/Makefile.am:
	The libgstcheck we build does however need export-dynamic, as it
	produces some symbols that don't match our _gst... style regex.
	Fixes: #318031

2006-09-27  Jan Schmidt  <thaytan@mad.scientist.com>

	* gst/gst.c: (init_pre), (scan_and_update_registry),
	(ensure_current_registry_nonforking),
	(ensure_current_registry_forking), (ensure_current_registry),
	(init_post), (gst_debug_help), (gst_deinit):
	* gst/gst_private.h:
	* gst/gstregistry.c: (gst_registry_finalize),
	(gst_registry_remove_plugin), (gst_registry_scan_path_level),
	(gst_registry_scan_path), (_gst_registry_remove_cache_plugins),
	(_gst_registry_cleanup):
	* gst/gstregistry.h:
	  Revert previous change until I figure out why it breaks distcheck.

2006-09-27  Jan Schmidt  <thaytan@mad.scientist.com>

	* gst/gst.c: (init_pre), (scan_and_update_registry),
	(ensure_current_registry_nonforking),
	(ensure_current_registry_forking), (ensure_current_registry),
	(init_post), (gst_debug_help), (gst_deinit):

	  Make init_pre and init_post take the full complement of GOptionFunc
	  args so they can return useful GErrors. Make the registry updating
	  functions do so.

	  Call _priv_gst_registry_remove_cache_plugins after scanning files to
	  ensure that the registry we're about to write out doesn't contain
	  stale information about old-deleted plugin files.

	  Make _priv_gst_registry_remove_cache_plugins return a boolean so
	  that deletion of plugin files is considered a registry change.

	* gst/gst_private.h:
	* gst/gstregistry.c: (gst_registry_finalize),
	(gst_registry_remove_features_for_plugin_unlocked),
	(gst_registry_remove_plugin), (gst_registry_scan_path_level),
	(gst_registry_scan_path),
	(_priv_gst_registry_remove_cache_plugins),
	(_priv_gst_registry_cleanup):
	* gst/gstregistry.h:
	Rename _gst_registry_remove_cache_plugins and _gst_registry_cleanup
	by adding _priv prefix, so that they won't appear in the global
	symbol table. They still do atm though because of #318031. Move the
	prototypes to gst_private.h

	When removing a plugin, remove all features for that plugin too. 
	Fixes #340878.

2006-09-27  Wim Taymans  <wim@fluendo.com>

	* docs/random/moving-plugins:
	Make it clear that the "compiled-in descriptions" really mean
	the element details.

	* libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
	(gst_base_sink_wait_preroll):
	Update docs.

	* docs/libs/gstreamer-libs-sections.txt:
	* libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
	(gst_base_src_get_range), (gst_base_src_activate_push):
	* libs/gst/base/gstbasesrc.h:
	Added function to block while waiting for PLAYING, this function
	is used by live sources that block on the clock.
	API: gst_base_src_wait_playing()

2006-09-27  Tim-Philipp Müller  <tim at centricular dot net>

	Patch by: Peter Kjellerstedt <pkj at axis com>

	* Makefile.am:
	  gst-element-check.m4 is generated and should therefore be
	  copied from the build dir rather than the source dir (#357593).
	  'make distcheck' hasn't noticed this because we were disting
	  the file as well, so stop doing that.

2006-09-27  Tim-Philipp Müller  <tim at centricular dot net>

	* tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
	  Add some tests for gst_caps_intersect().

	* tools/gst-launch.c: (event_loop):
	  Print all buffering percentages we get, even the 100% one.

2006-09-26  Wim Taymans  <wim@fluendo.com>

	* tools/gst-inspect.c: (print_element_properties_info),
	(print_signal_info):
	Fix printing of flags to match the look of enums.

2006-09-25  Tim-Philipp Müller  <tim at centricular dot net>

	* gst/gstelementfactory.c:
	  Fix typo in docs blurb.

2006-09-25  Tim-Philipp Müller  <tim at centricular dot net>

	* gst/gsturi.c: (search_by_entry):
	  Don't assert/crash here if a uri handler doesn't return any
	  supported protocols. The list of protocols could be generated
	  dynamically at runtime or at plugin registration, and an error
	  in the underlying library shouldn't be fatal (#353301).

2006-09-25  Tim-Philipp Müller  <tim at centricular dot net>

	* gst/gstinfo.c:
	  Fix warning if HAVE_PRINTF_EXTENSION is undefined
	  (spotted by Peter Kjellerstedt).

2006-09-23  Wim Taymans  <wim@fluendo.com>

	Based on patch by: Antoine Tremblay <hexa00 at gmail dot com>

	* libs/gst/base/gstbasesrc.c:
	(gst_base_src_default_check_get_range), (gst_base_src_start),
	(gst_base_src_activate_push), (gst_base_src_activate_pull),
	(gst_base_src_change_state):
	Match _start/_stop calls in the activate functions. Remove redundant
	_stop call from the state change function. Fixes #356910.
	Turn failure DEBUG into ERROR. 

2006-09-22  Wim Taymans  <wim@fluendo.com>

	* docs/design/part-buffering.txt:
	* gst/gstmessage.c: (gst_message_new_buffering),
	(gst_message_parse_buffering):
	Update docs about buffering.

	* docs/design/part-trickmodes.txt:
	Fix typo.

2006-09-22  Stefan Kost  <ensonic@users.sf.net>

	* libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
	(gst_controller_new_list):
	  Ref instances when returning them again (fixes #357180)

2006-09-22  Tim-Philipp Müller  <tim at centricular dot net>

	* gst/gstghostpad.c: (gst_ghost_pad_set_target):
	  Don't forget to release proxy lock when there's an error.

2006-09-20  Jan Schmidt  <thaytan@mad.scientist.com>

	* gst/gstcaps.h:
	  Add extra initialisers for Caps things, to fix some plugin warnings
	  when using -Wextra

2006-09-18  Wim Taymans  <wim@fluendo.com>

	* gst/gstghostpad.c: (gst_ghost_pad_new_full):
	  Also set template on the internal pad so that a getcaps from the 
	  target pad returns the template caps.

2006-09-18  Wim Taymans  <wim@fluendo.com>

	* gst/gstelement.c: (gst_element_post_message),
	(gst_element_dispose):
	Use _DEBUG_OBJECT some more.

	* libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
	Avoid typechecks.

	* tools/gst-launch.c: (main):
	If the toplevel element is not a GstPipeline, it must be put in a
	pipeline so that a bus and clock is selected.

2006-09-17  Tim-Philipp Müller  <tim at centricular dot net>

	* libs/gst/base/gstbasesrc.c: (gst_base_src_default_query):
	  JITTER, RATE, and LATENCY query should be handled by the
	  default case and not by the CONVERT query code.

2006-09-17  Tim-Philipp Müller  <tim at centricular dot net>

	* gst/gstformat.c: (gst_format_register):
	  Fix locking order (must take lock before using n_values).

	* gst/gstvalue.c: (gst_value_serialize_enum),
	(gst_value_deserialize_enum_iter_cmp),
	(gst_value_deserialize_enum):
	  Fix serialisation/deserialisation of custom registered GstFormats.

	* tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
	  Unit test for custom format serialisation/deserialisation.

2006-09-17  Stefan Kost  <ensonic@users.sf.net>

	* docs/pwg/building-boiler.xml:
	* plugins/elements/gstcapsfilter.c:
	More G_OBJECT macro fixing. Also Fix some details on the plugin-stamp
	section.

2006-09-16  Edward Hervey  <edward@fluendo.com>

	* libs/gst/base/gstbasetransform.c:
	(gst_base_transform_buffer_alloc):
	Check if requested caps are the same as the sinks caps IF
	->have_same_caps is TRUE. If they are not, act as if have_same_caps
	is FALSE.
	This fixes the renegotiation issues stated in #352827.

2006-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>

	* configure.ac:
	* docs/manual/advanced-autoplugging.xml:
	* tests/examples/Makefile.am:
	* tests/examples/manual/.cvsignore:
	* tests/examples/manual/Makefile.am:
	* tests/examples/manual/extract.pl:
	  Extract the manual examples again like we used to do.
	  Fix one of them.

2006-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>

	* win32/common/config.h:
	  update for version

2006-09-16  Stefan Kost  <ensonic@users.sf.net>

	* gst/gsterror.c:
	  Documents how to receive errors.

2006-09-15  Wim Taymans  <wim@fluendo.com>

	* tools/gst-launch.c: (sigint_handler_sighandler), (check_intr),
	(event_loop), (main):
	Added some comments here and there.
	Post an application message when an interrupt is caught instead of doing
	an uncontrolled state change.
	Clean up the event loop.
	Handle buffering messages, pause/resume the pipeline.
	Make shutdown because of an interrupt more reliable.

2006-09-15  Wim Taymans  <wim@fluendo.com>

	* libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
	(gst_base_sink_wait_preroll), (gst_base_sink_do_sync),
	(gst_base_sink_preroll_object):
	Make sure that our internal state is correct when we commit our state
	asynchronously. This solves a race where a state change to PLAYING
	could cause the sink to remain blocked in preroll in some situations.

2006-09-15  Wim Taymans  <wim@fluendo.com>

	* tools/gst-inspect.c: (print_element_properties_info),
	(print_signal_info):
	List flags as hex so it's easier to deal with.

2006-09-15  Wim Taymans  <wim@fluendo.com>

	* docs/libs/gstreamer-libs-sections.txt:
	* libs/gst/base/gstbasesink.c: (gst_base_sink_wait_preroll),
	(gst_base_sink_do_sync):
	* libs/gst/base/gstbasesink.h:
	Expose logic to wait for preroll so that subclasses such as audiosink
	can also use this method.
	API: gst_base_sink_wait_preroll()

2006-09-15  Wim Taymans  <wim@fluendo.com>

	* gst/gstobject.c: (gst_object_set_parent):
	* gst/gstpipeline.c: (do_pipeline_seek):
	Small cleanups in docs and code.

	* gst/gstsegment.c: (gst_segment_clip):
	* tests/check/gst/gstsegment.c: (GST_START_TEST):
	if stop == start and start is in the segment, no clipping should be
	done. Also add a test for this.

2006-09-15  Wim Taymans  <wim@fluendo.com>

	* docs/design/part-buffering.txt:
	* docs/gst/gstreamer-sections.txt:
	* gst/gstmessage.c: (gst_message_new_buffering),
	(gst_message_parse_buffering):
	* gst/gstmessage.h:
	Added methods to create and parse BUFFERING messages.
	Added preliminary docs about buffering.
	API: gst_message_new_buffering
	API: gst_message_parse_buffering

2006-09-06  Wim Taymans  <wim@fluendo.com>

	* gst/gstbin.c:
	Update documentation.

	* gst/gstelement.c: (gst_element_class_init),
	(gst_element_release_request_pad), (gst_element_set_clock),
	(gst_element_get_index), (gst_element_add_pad),
	(gst_element_remove_pad), (gst_element_get_random_pad),
	(gst_element_send_event), (gst_element_get_query_types),
	(gst_element_query), (gst_element_post_message),
	(gst_element_message_full), (gst_element_continue_state),
	(gst_element_lost_state), (gst_element_save_thyself),
	(gst_element_restore_thyself):
	Documentation updates.
	Rename last bit of the new-pad -> pad-added signal rename.
	Fix the case where an element query would only work if the source
	pad was linked.
	Avoid some useless type checking in message handling.

	* gst/gstevent.c:
	* gst/gstevent.h:
	* gst/gstutils.c:
	Documentation updates.

2006-09-14  Thomas Vander Stichele  <thomas at apestaart dot org>

	* plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
	  add an INFO line for when we actually update the fd

2006-09-14  Thomas Vander Stichele  <thomas at apestaart dot org>

	* configure.ac:
	  back to TRUNK

=== release 0.10.10 ===

2006-09-14  Thomas Vander Stichele <thomas at apestaart dot org>

	* configure.ac:
	  releasing 0.10.10, "Pais"

2006-09-05  Tim-Philipp Müller  <tim at centricular dot net>

	* docs/manual/advanced-position.xml:
	  Fix typo in sample code.

2006-09-05  Wim Taymans  <wim@fluendo.com>

	* libs/gst/net/gstnetclientclock.c: (inet_aton),
	(gst_net_client_clock_init), (gst_net_client_clock_finalize),
	(gst_net_client_clock_do_select), (gst_net_client_clock_new):
	* libs/gst/net/gstnetclientclock.h:
	* libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send):
	* libs/gst/net/gstnettimepacket.h:
	* libs/gst/net/gstnettimeprovider.c: (inet_aton),
	(gst_net_time_provider_init), (gst_net_time_provider_finalize),
	(gst_net_time_provider_thread), (gst_net_time_provider_new):
	* libs/gst/net/gstnettimeprovider.h:
	Make stuff compile on windows. Fixes #345295.

2006-09-03  Tim-Philipp Müller  <tim at centricular dot net>

	* gst/gst.c: (ensure_current_registry_forking):
	  Print better details when child was terminated by signal.

2006-09-03  Tim-Philipp Müller  <tim at centricular dot net>

	* gst/gstregistryxml.c: (gst_registry_xml_save_feature):
	  Print a warning rather than g_assert() if a plugin feature
	  is a URI handler but returns no protocols (#353976).

2006-09-02  Stefan Kost  <ensonic@users.sf.net>

	* docs/random/moving-plugins:
	Fix two typos.         

2006-09-01  Tim-Philipp Müller  <tim at centricular dot net>

	* gst/gstinfo.c: (_gst_debug_nameof_funcptr):
	  Fix locking order, handle NULL function values properly.

	* gst/gstinfo.h:
	  Fix docs.

	* gst/gstpad.c: (gst_pad_buffer_alloc_unchecked):
	  Initialise variable before using it and fix debug statement to
	  print the address of the function rather than the address of the
	  variable on the stack holding the address of the function.

2006-09-01  Wim Taymans  <wim@fluendo.com>

	* gst/gstghostpad.c: (gst_proxy_pad_do_event),
	(gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_chain),
	(gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
	(gst_proxy_pad_set_target_unlocked), (gst_ghost_pad_parent_set),
	(gst_ghost_pad_parent_unset),
	(gst_ghost_pad_internal_do_activate_push),
	(gst_ghost_pad_internal_do_activate_pull),
	(gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
	(gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
	(gst_ghost_pad_init), (gst_ghost_pad_dispose),
	(gst_ghost_pad_new_full), (gst_ghost_pad_new_no_target),
	(gst_ghost_pad_new), (gst_ghost_pad_new_from_template),
	(gst_ghost_pad_new_no_target_from_template),
	(gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
	More cleanups.
	Avoid needless typechecking in macros.
	Since the internal pad is always present and never changes, there is
	no need to locking or ref when retrieving it.
	Improve debugging a bit.
	Handle link errors when setting the target. Fixes #341029.

2006-09-01  Wim Taymans  <wim@fluendo.com>

	* docs/libs/gstreamer-libs-sections.txt:
	* docs/plugins/gstreamer-plugins-sections.txt:
	Fix docs some more.

	* libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
	(gst_collect_pads_event):
	* libs/gst/base/gstcollectpads.h:
	Documentation updates.
	Free queued buffer when removing a pad.

2006-08-31  Michael Smith  <msmith@fluendo.com>

	* gst/gstutils.c: (gst_element_link_pads),
	(gst_element_link_pads_filtered):
	  Ensure that we set a capsfilter to NULL if we failed to link it
	  when doing filtered linking, to avoid criticals.

	  No need to check for unreffing srcpad, which is explicly NULLed
	  above (a trivial code cleanup).

2006-08-31  Wim Taymans  <wim@fluendo.com>

	* docs/design/part-gstghostpad.txt:
	Update ascii art in documentation.

	* gst/gstghostpad.c: (gst_proxy_pad_do_internal_link),
	(gst_proxy_pad_set_target_unlocked), (gst_proxy_pad_init),
	(gst_ghost_pad_parent_set), (gst_ghost_pad_parent_unset),
	(gst_ghost_pad_internal_do_activate_push),
	(gst_ghost_pad_internal_do_activate_pull),
	(gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
	(gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
	(gst_ghost_pad_dispose), (gst_ghost_pad_new_full),
	(gst_ghost_pad_set_target):
	Small cleanups and leak fixes.
	Remove some checks now that the internal pad is never NULL.
	Fix the case where linking pads without a target would create nasty
	criticals. Fixes #341029.
	Don't assign a GstPadLinkReturn to a gboolean and mess up the return
	value of _set_target().

	* tests/check/gst/gstghostpad.c: (GST_START_TEST),
	(gst_ghost_pad_suite):
	Some more tests for creating and linking untargeted ghostpads.

2006-08-31  Edward Hervey  <edward@fluendo.com>

	* docs/gst/gstreamer-sections.txt:
	* gst/gstghostpad.c: (gst_proxy_pad_do_getcaps),
	(gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target_unlocked),
	(gst_proxy_pad_dispose), (gst_ghost_pad_new_full),
	(gst_ghost_pad_new_no_target), (gst_ghost_pad_new),
	(gst_ghost_pad_new_from_template),
	(gst_ghost_pad_new_no_target_from_template):
	* gst/gstghostpad.h:
	Refactored *_new() functions.
	Templates are now used as a g_object_new() parameter.
	Use template in _do_getcaps() if we don't have a target.
	Small documentation cleanups.
	Added two new constructors:
	gst_ghost_pad_new_from_template()
	gst_ghost_pad_new_no_target_from_template()
	* tests/check/gst/gstghostpad.c: (GST_START_TEST),
	(gst_ghost_pad_suite):
	Added tests for new ghostpad instanciation functions.

	API additions: gst_ghost_pad_new_from_template,
	gst_ghost_pad_new_no_target_from_template

2006-08-30  Stefan Kost  <ensonic@users.sf.net>

	* docs/random/ensonic/profiling.txt:
	  Ideas about qos profiling.

2006-08-29  Wim Taymans  <wim@fluendo.com>

	* gst/gstcaps.c: (gst_caps_structure_is_subset_field):
	Code cleanups.
	Fix memleak.

2006-08-29  Tim-Philipp Müller  <tim at centricular dot net>

	* gst/gstxml.c:
	  Improve and detypofy docs.

	* tests/check/Makefile.am:
	* tests/check/gst/.cvsignore:
	* tests/check/gst/gstxml.c: (GST_START_TEST), (gst_xml_suite):
	  Add a basic test suite for GstXML.

2006-08-29  Wim Taymans  <wim@fluendo.com>

	* gst/gstelement.c: (activate_pads), (clear_caps),
	(iterator_activate_fold_with_resync), (gst_element_pads_activate):
	Clear the pad caps when the element shut down all of the pads and
	is not streaming data that could modify the caps. 
	Fixes #352958.

2006-08-28  Michael Smith  <msmith@fluendo.com>

	* plugins/elements/gstidentity.c: (gst_identity_transform_ip):
	  Revert previous change; I misunderstood single-segment mode.

2006-08-28  Michael Smith  <msmith@fluendo.com>

	* plugins/elements/gstidentity.c: (gst_identity_transform_ip):
	  Unset DISCONT on buffers when using single-segment mode.

2006-08-28  Wim Taymans  <wim@fluendo.com>

	* gst/gstcaps.c: (gst_caps_merge_structure):
	* gst/gstcaps.h:
	Fix docs and indentation again.

	* tests/check/gst/gstquery.c: (GST_START_TEST):
	Fix leak in tests and add some more tests.

2006-08-28  Edward Hervey  <edward@fluendo.com>

	* libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
	Inform GstSegment of the last stop position in order for the current
	segment to have a proper duration if it doesn't have a specific stop
	position from which a duration could be calculated.
	This bug was noticeable when a non-flushing, non-update new segment was
	followed by another segment (all buffers from the new segment were being
	dropped).

2006-08-28  Wim Taymans  <wim@fluendo.com>

	* libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
	Small comment update.

	* plugins/elements/gstidentity.c: (gst_identity_class_init),
	(gst_identity_transform_ip):
	Drop-probability is broken, mention this in the code with a 
	FIXME and also in the property description.
	Make silent also be silent about the drop messages.

2006-08-28  Tim-Philipp Müller  <tim at centricular dot net>

	* docs/manual/appendix-win32.xml:
	  Remove mention of popt, we don't depend on that any
	  longer (#353136). Add some comments pointing out that
	  this section is slightly outdated.

2006-08-28  Wim Taymans  <wim@fluendo.com>

	Patch by: Torsten Schoenfeld <kaffeetisch at gmx dot de>

	* gst/gstquery.c: (gst_query_new_segment):
	* tests/check/gst/gstquery.c: (GST_START_TEST):
	Initialize variables when creating a new segment query.
	Fixes #353121.

2006-08-28  Wim Taymans  <wim@fluendo.com>

	Patch by: Torsten Schoenfeld <kaffeetisch at gmx dot de>

	* gst/gstelement.c: (gst_element_get_bus):
	* tests/check/gst/gstelement.c: (GST_START_TEST):
	Check for NULL before _reffing the bus. Fixes #353122.

2006-08-25  Tim-Philipp Müller  <tim at centricular dot net>

	* docs/manual/basics-bus.xml:
	  Docs update: fix wrong callback return value explanation; add
	  some lines about the implicit relationship between main loop
	  and main context; remove duplicate main loop variable declaration.

2006-08-24  Tim-Philipp Müller  <tim at centricular dot net>

	* tests/check/gst/gstcaps.c: (GST_START_TEST):
	  Don't leak caps in unit test; add a few more simple
	  checks. 

2006-08-24  Stefan Kost  <ensonic@users.sf.net>

	* docs/gst/gstreamer-sections.txt:
	* gst/gstcaps.c: (gst_caps_structure_is_subset_field),
	(gst_caps_structure_is_subset), (gst_caps_merge),
	(gst_caps_merge_structure):
	* gst/gstcaps.h:
	* libs/gst/base/gstbasetransform.c:
	(gst_base_transform_transform_caps):
	* tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
	  implement caps merging (fixes #352580)

2006-08-23  Stefan Kost  <ensonic@users.sf.net>

	* tools/Makefile.am:
	* tools/gst-plot-timeline.py:
	  add debug-log plotting developer tool (#340674)

2006-08-23  Wim Taymans  <wim@fluendo.com>

	* gst/gstpad.c: (gst_pad_start_task), (gst_pad_pause_task),
	(gst_pad_stop_task):
	Improve debugging for task functions.

	* gst/gsttask.c: (gst_task_func), (gst_task_set_lock),
	(gst_task_start), (gst_task_pause), (gst_task_join):
	Make sure that the task function started and finished after a 
	join(). 
	Don't try to push the task function on the threadpool multiple
	times.
	Improve the g_warning message with some useful suggestions
	about how to fix the problem. 

2006-08-23  Wim Taymans  <wim@fluendo.com>

	* gst/gstutils.c: (gst_pad_proxy_getcaps):
	Handle RESYNC correctly in _proxy_getcaps.

2006-08-21  Tim-Philipp Müller  <tim at centricular dot net>

	* gst/gstxml.c: (gst_xml_dispose), (gst_xml_parse_file),
	(gst_xml_parse_memory), (gst_xml_get_element):
	  Chain up to parent class in dispose function and also
	  unref the elements in the toplevel_elements GList.
	  Don't leak XmlDocPtr in _parse_file() and _parse_memory().
	  Always return a reference in gst_xml_get_element() rather
	  than only sometimes.

	* tools/gst-launch.c: (xmllaunch_parse_cmdline):
	  Don't leak GstXml object.

2006-08-21  Stefan Kost  <ensonic@users.sf.net>

	* docs/gst/gstreamer-sections.txt:
	* gst/gstcaps.c: (gst_structure_is_equal_foreach),
	(gst_caps_merge):
	* gst/gstcaps.h:
	* libs/gst/base/gstbasetransform.c:
	(gst_base_transform_transform_caps):
	  API: Add gst_caps_merge() and use it in basetransform, fixes #345444
	  in a better way

2006-08-21  Edward Hervey  <edward@fluendo.com>

	* gst/gstxml.c: (gst_xml_class_init), (gst_xml_dispose):
	Implement GObject::dispose virtual method in GstXML so we can free the
	top_elements GList.

2006-08-21  Wim Taymans  <wim@fluendo.com>

	* gst/gstbuffer.c: (gst_buffer_make_metadata_writable),
	(gst_buffer_create_sub):
	Copy duration/offset_end/caps when creating a subbuffer of the
	complete parent.
	Make the subbuffer read-only when we make the metadata writable for
	now. Fixes #351768.

	* tests/check/gst/gstbuffer.c: (GST_START_TEST):
	Added check for metadata copy when creating subbuffers.

2006-08-21  Edward Hervey  <edward@fluendo.com>

	* libs/gst/base/gstbasetransform.c:
	(gst_base_transform_buffer_alloc):
	Only call downstream buffer_alloc if transform element is passthrough
	or always_in_place. Closes #350449.

2006-08-20  Stefan Kost  <ensonic@users.sf.net>

	* ChangeLog:
	  ChangeLog surgery to add comments to previous changes

2006-08-20  Stefan Kost  <ensonic@users.sf.net>

	* gst/gst.c:
	  Add comments

	* gst/gstpad.c: (gst_pad_set_active):
	  Be more verbose in the log

	* libs/gst/base/gstbasetransform.c:
	(gst_base_transform_transform_caps):
	  Simplify caps to get rid of duplicates, fixes #345444

2006-08-20  Stefan Kost  <ensonic@users.sf.net>

	* gst/gstvalue.c:
	* gst/gstvalue.h:
	  Use these optimizations only internally.

2006-08-20  Stefan Kost  <ensonic@users.sf.net>

	* gst/gstvalue.c: (gst_value_compare_list),
	(gst_value_compare_fraction_range),
	(gst_value_intersect_fraction_fraction_range),
	(gst_value_intersect_fraction_range_fraction_range),
	(gst_value_subtract_fraction_fraction_range),
	(gst_value_subtract_fraction_range_fraction_range),
	(gst_value_get_compare_func), (gst_value_compare),
	(gst_value_compare_with_func):
	* gst/gstvalue.h:
	  Saves the expensive lookup of the compare function in many cases
	 (#345444)

2006-08-18  Edward Hervey  <edward@fluendo.com>

	* tests/check/gst/gstinfo.c: (gst_info_suite):
	Disable test that require gstdebug if it wasn't built in core.

2006-08-18  Stefan Kost  <ensonic@users.sf.net>

	* docs/random/ensonic/logging.txt:
	  update ideas
	  
	* gst/gstinfo.c: (gst_debug_log_default):
	  reorder fields, save some columns, add optional color codes for log
	  levels

2006-08-18  Stefan Kost  <ensonic@users.sf.net>

	* docs/random/ensonic/logging.txt:
	  add ideas about making the logs a bit more useful

2006-08-17  Tim-Philipp Müller  <tim at centricular dot net>

	* docs/pwg/advanced-events.xml:
	* docs/pwg/titlepage.xml:
	  Update for 0.10 API (#340627). Add myself
	  to authors list.

2006-08-17  Tim-Philipp Müller  <tim at centricular dot net>

	* docs/libs/gstreamer-libs-docs.sgml:
	* docs/libs/gstreamer-libs-sections.txt:
	* libs/gst/check/gstbufferstraw.c:
	  Make gstcheck stuff show up in docs (still needs to
	  be documented properly though).

2006-08-16  Jan Schmidt  <thaytan@mad.scientist.com>

	* docs/gst/gstreamer-sections.txt:
	* gst/Makefile.am:
	* gst/gst.c: (init_post):
	* gst/gst_private.h:
	* gst/gstquark.c: (_priv_gst_quarks_initialize):
	* gst/gstquark.h:
	* gst/gstquery.c: (gst_query_new_position),
	(gst_query_set_position), (gst_query_parse_position),
	(gst_query_new_duration), (gst_query_set_duration),
	(gst_query_parse_duration), (gst_query_new_convert),
	(gst_query_set_convert), (gst_query_parse_convert),
	(gst_query_new_segment), (gst_query_set_segment),
	(gst_query_parse_segment), (gst_query_new_seeking),
	(gst_query_set_seeking), (gst_query_parse_seeking):
	Add internal helpers for pre-registering quarks from static strings
	and using the quark values directly instead of looking them up when
	creating and parsing queries. Can be used for event construction too.
	Closes #350432.

2006-08-16  Wim Taymans  <wim@fluendo.com>

	* gst/gstbin.c:
	Fix bogus docs.

2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>

	* gst/gstutils.c: (gst_util_set_value_from_string):
	  Fix memleak (#351502).

	* tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
	  Add unit test for most of gst_util_set_value_from_string()
	  (not that one would want to encourage use of this function).

2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>

	* libs/gst/check/gstcheck.h:
	  Use const gchar * variables in fail_unless_equals_string
	  macro to avoid compiler warnings (and don't use tabs for
	  indenting).

2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>

	* tools/gst-launch.c: (print_tag):
	  More space on the left for the tag names, to cater
	  for the 'extended comment' tag (not touching the
	  string for the first line since it's translated).

2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>

	* libs/gst/check/gstcheck.h:
	  Fix ASSERT_CRITICAL and ASSERT_WARNING macros to actually
	  print something when they fail.

2006-08-14  Tim-Philipp Müller  <tim at centricular dot net>

	* docs/gst/gstreamer-sections.txt:
	* gst/gsttaglist.c: (_gst_tag_initialize):
	* gst/gsttaglist.h:
	  API: add GST_TAG_EXTENDED_COMMENT (#350935).
	  Also change merge function for GST_TAG_COMMENT to
	  use_first.

2006-08-14  Tim-Philipp Müller  <tim at centricular dot net>

	* gst/gstinfo.c: (gst_debug_print_object):
	  Make GST_PTR_FORMAT print messages as well.

	* tests/check/gst/gstinfo.c: (printf_extension_log_func),
	(GST_START_TEST), (gst_info_suite):
	  More tests.

2006-08-14  Edward Hervey  <edward@fluendo.com>

	* gst/gstelementfactory.c: (gst_element_register):
	If the GstElementClass doesn't have a GstElementDetails with all fields
	filled up correctly (longname, description AND author), then error out
	nicely instead of crashing.

2006-08-14  Tim-Philipp Müller  <tim at centricular dot net>

	* gst/gststructure.c:
	  Fix typo in docs and re-wrap docs blurb to not exceed 80 chars/line.

	* gst/gstvalue.h:
	  Expand on the difference between arrays and lists as we use them.
	  
2006-08-14  Wim Taymans  <wim@fluendo.com>

	* libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
	If the parent state change function failed, don't assume we can safely
	stop the source, this will be done when the pads are deactivated.

2006-08-14  Wim Taymans  <wim@fluendo.com>

	* gst/gstbuffer.c:
	* gst/gsttask.c: (gst_task_join):
	Small doc updates.

	* gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_activate_push),
	(gst_pad_stop_task):
	When pad (de)activation failed for some reason, restore the old
	activation mode and set the pad to flushing instead of assuming the
	pad is deactivated.
	If the _task_join() failed, reinstall the task on the pad so that it can
	be stopped later and return an error.

2006-08-11  Andy Wingo  <wingo@pobox.com>

	* configure.ac:
	* libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packetizer_new):
	* tests/check/libs/gdp.c: (gst_dp_suite): GST_DISABLE_DEPRECATED
	is only for users of API that don't want to see deprecated
	functions in the headers; people that want to compile out
	deprecated code should pass -DGST_REMOVE_DEPRECATED into the
	CFLAGS. Fixes the build of multifdsink, or will soon..

2006-08-11  Wim Taymans  <wim@fluendo.com>

	* docs/gst/gstreamer-sections.txt:
	Add GstClockClass vmethod docs.

	* gst/gstcaps.h:
	Mark #endif with comment for associated #if

	* gst/gstclock.c: (gst_clock_id_wait):
	* gst/gstclock.h:
	Add vmethod wait_jitter to avoid an unneeded _get_time() for
	most clock implementations.
	Document vmethods.
	Flesh out docs about resolution methods.
	API: GstClockClass::wait_jitter

	* gst/gstsystemclock.c: (gst_system_clock_class_init),
	(gst_system_clock_async_thread),
	(gst_system_clock_id_wait_jitter_unlocked),
	(gst_system_clock_id_wait_jitter):
	Use base class wait_jitter variant for improved performance
	due to less clock polling.

2006-08-11  Edward Hervey  <edward@fluendo.com>

	* gst/gst.c: (gst_init_check), (init_post):
	Set gst as being initialized before scanning/updating the registry,
	since there might be my python plugin loader that calls gst_init() and
	we don't want to loop back in.
	Closes #350879

2006-08-11  Wim Taymans  <wim@fluendo.com>

	* docs/design/part-qos.txt:
	Bring docs in line with the code. Mostly the sign of the jitter was
	wrong in the docs. Fixes #349943.

	* gst/gstclock.c:
	Fix the docs for the jitter.

	* gst/gstevent.c: (gst_event_new_custom), (gst_event_new_tag),
	(gst_event_parse_tag), (gst_event_new_buffer_size),
	(gst_event_parse_buffer_size), (gst_event_parse_qos),
	(gst_event_new_seek), (gst_event_parse_seek),
	(gst_event_new_navigation):
	Make sure the GstStructure has no parent when creating custom
	events.
	Add some more argument checking so that we avoid 0.0 rates.
	Flesh out the docs for the QoS event some more.

2006-08-11  Wim Taymans  <wim@fluendo.com>

	* docs/gst/gstreamer-sections.txt:
	* gst/gst.c: (gst_init_get_option_group), (gst_init_check),
	(ensure_current_registry_forking), (ensure_current_registry),
	(parse_one_option), (parse_goption_arg), (gst_deinit),
	(gst_registry_fork_is_enabled), (gst_registry_fork_set_enabled):
	* gst/gst.h:
	Doc updates.
	Added API and command line option to disable registry forking in
	addition to the environment variable.
	Constify some static arrays.
	Added some more debug.
	Don't deinit twice.
	API: gst_registry_fork_is_enabled()
	API: gst_registry_fork_set_enabled()
	API: --gst-disable-registry-fork command line option
	Fixes #348918.

2006-08-11  Tim-Philipp Müller  <tim at centricular dot net>

	* gst/gst.c: (gst_init):
	  Fix typo in error message.

2006-08-10  Stefan Kost  <ensonic@users.sf.net>

	* libs/gst/controller/gstcontroller.h:
	  fix ABI size-correction

	* tests/check/libs/gdp.c: (gst_dp_suite):
	  make tests that use deprecated API conditional

2006-08-10  Stefan Kost  <ensonic@users.sf.net>

	* docs/libs/gstreamer-libs-sections.txt:
	* libs/gst/controller/gstcontroller.c:
	(_gst_controller_get_property), (_gst_controller_set_property),
	(_gst_controller_init), (_gst_controller_class_init):
	* libs/gst/controller/gstcontroller.h:
	* libs/gst/controller/gsthelper.c: (gst_object_get_control_rate),
	(gst_object_set_control_rate):
	  API: add gst_object_{s,g}et_control_rate(), add private data section,
	  fix docs

	* libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packetizer_new):
	* libs/gst/dataprotocol/dataprotocol.h:
	  add deprecation guards to make gtk-doc happy and allow disabling cruft

2006-08-09  Tim-Philipp Müller  <tim at centricular dot net>

	* tests/check/Makefile.am:
	* tests/check/gst/.cvsignore:
	  Let's enable the new unit test as well.

2006-08-08  Tim-Philipp Müller  <tim at centricular dot net>

	* configure.ac:
	* docs/gst/gstreamer-sections.txt:
	* gst/gstconfig.h.in:
	* gst/gstinfo.c: (_gst_debug_init), (gst_debug_print_segment),
	(_gst_info_printf_extension_ptr),
	(_gst_info_printf_extension_segment):
	  API: add GST_SEGMENT_FORMAT, which is a printf extension we
	  register that lets us easily dump GstSegments into debug
	  logs (#350419).

	* tests/check/gst/gstinfo.c: (segment_printf_extension_log_func),
	(info_segment_format_printf_extension), (gst_info_suite):
	  Add simple unit test that logs a bunch of different segments (not
	  valgrinded at the moment because of leaks in
	  gst_debug_add_log_function).

2006-08-09  Edward Hervey  <edward@fluendo.com>

	* libs/gst/base/gstbasetransform.c:
	(gst_base_transform_buffer_alloc):
	Even if we can't figure out the proper format to request downstream,
	call buffer_alloc() downstream with the input parameters without setting
	the caps on the srcpad. This will force negotiation in the chain
	function.
	Closes #350449

2006-08-08  Edward Hervey  <edward@fluendo.com>

	* gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
	Unlinking from a pad without a target is now a perfectly valid case
	which should NOT raise an assertion.
	This case would happen if a linked ghostpad its target set to NULL after
	it was previously linked.

2006-08-08  Edward Hervey  <edward@fluendo.com>

	* tests/check/libs/gdp.c:
	Also comment out the test (see below).

2006-08-08  Edward Hervey  <edward@fluendo.com>

	* tests/check/libs/gdp.c: (gst_dp_suite):
	Use the architecture information from config.h and not gcc macros
	in order to properly disable a test that fails on PPC64.

2006-08-04  Tim-Philipp Müller  <tim at centricular dot net>

	* gst/gstelement.c: (gst_element_remove_pad):
	  Don't crash printing the warning if the pad has no parent.

2006-08-02  Wim Taymans  <wim@fluendo.com>

	* libs/gst/dataprotocol/dataprotocol.c:
	(gst_dp_header_from_buffer_any), (gst_dp_packet_from_caps_any),
	(gst_dp_crc), (gst_dp_header_payload_length),
	(gst_dp_header_payload_type), (gst_dp_packet_from_event),
	(gst_dp_packet_from_event_1_0), (gst_dp_buffer_from_header),
	(gst_dp_caps_from_packet), (gst_dp_event_from_packet_0_2),
	(gst_dp_event_from_packet), (gst_dp_validate_header),
	(gst_dp_validate_payload):
	Make debug category static
	Constify the crc table.
	Do some more arg checking in public functions.
	Fix some docs and do some small cleanups.

	* tests/check/libs/gdp.c: (GST_START_TEST), (gst_dp_suite):
	Add some more checks to see if GDP deals with bogus input.

2006-07-31  Wim Taymans  <wim@fluendo.com>

	* gst/gstvalue.c: (gst_value_compare_list):
	Fix GstValueList comparison code. Fixes #347293.

	* tests/check/gst/gstvalue.c: (GST_START_TEST):
	Check to test GstValueList comparison.

2006-07-31  Jan Schmidt  <thaytan@mad.scientist.com>

	* gst/gstelementfactory.c: (gst_element_factory_create):
	Remove unnecessary ref/unref pair

	* gst/parse/grammar.y:
	Make sure to free the parse buffer on all code paths.
	Move a g_free up to the error handler where it's easier to see.

	* tests/check/gst/gstevent.c: (test_event):
	Extending timeout for downstream travelling events to 10 seconds to
	hopefully avoid intermittent failure on the buildbots.

	* tests/check/pipelines/parse-launch.c: (run_delayed_test):
	Don't manually set the state of the src element - it will happen as a
	natural consequence of the pipeline changing state, and that way it
	will do it in the right order too.

2006-07-31  Wim Taymans  <wim@fluendo.com>

	* libs/gst/base/gstbasetransform.c:
	(gst_base_transform_buffer_alloc):
	Use OBJECT_LOCK and refcounting to get the pad caps in the
	buffer_alloc function because the caps could change while we are
	busy with them. Fixes #349105

2006-07-31  Wim Taymans  <wim@fluendo.com>

	* gst/gstutils.c: (gst_pad_get_fixed_caps_func):
	Protect _PAD_CAPS with OBJECT_LOCK.

2006-07-31  Wim Taymans  <wim@fluendo.com>

	* gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
	(gst_pad_get_property), (gst_pad_activate_pull),
	(gst_pad_activate_push), (gst_pad_set_blocked_async),
	(gst_pad_set_activate_function),
	(gst_pad_set_activatepull_function),
	(gst_pad_set_activatepush_function), (gst_pad_set_chain_function),
	(gst_pad_set_getrange_function),
	(gst_pad_set_checkgetrange_function), (gst_pad_set_event_function),
	(gst_pad_set_query_function), (gst_pad_set_query_type_function),
	(gst_pad_set_internal_link_function), (gst_pad_set_link_function),
	(gst_pad_set_unlink_function), (gst_pad_set_getcaps_function),
	(gst_pad_set_acceptcaps_function),
	(gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
	(gst_pad_set_bufferalloc_function), (gst_pad_link_check_hierarchy),
	(gst_pad_get_caps_unlocked), (gst_pad_get_caps),
	(gst_pad_peer_get_caps), (gst_pad_accept_caps),
	(gst_pad_peer_accept_caps), (gst_pad_set_caps),
	(gst_pad_configure_sink), (gst_pad_configure_src),
	(gst_pad_get_allowed_caps), (gst_pad_get_negotiated_caps),
	(gst_pad_buffer_alloc_unchecked), (gst_pad_alloc_buffer_full),
	(gst_pad_query), (gst_pad_load_and_link), (handle_pad_block),
	(gst_pad_chain_unchecked), (gst_pad_push), (gst_pad_get_range),
	(gst_pad_send_event):
	Use _DEBUG_OBJECT when it makes sense.
	Protect GST_PAD_CAPS with the OBJECT_LOCK.
	Small cleanups and code reflows.
	Avoid caps refcounting in _accept_caps.
	Refactor alloc_buffer so that the code performed on the peer is in a
	separate function. Also if the pad does not implement a buffer alloc
	function, we should still check if the pad is flushing before falling
	back to the default allocator.

2006-07-31  Jan Schmidt  <thaytan@mad.scientist.com>

	* tests/check/pipelines/parse-launch.c: (GST_START_TEST):
	Make all uses of identity and fakesink have silent=true to avoid
	serialising every passing data structure, which is breaking tests
	on FC4 for some unknown reason.

2006-07-30  Stefan Kost  <ensonic@users.sf.net>

	* gst/parse/Makefile.am:
	* gst/parse/grammar.y:
	* gst/parse/parse.l:
	  Reverted previous patch as it required to bump the flex dependency to
	  2.5.31, where fc4/5 seem to ship only the ancient 2.5.4a :(

2006-07-30  Stefan Kost  <ensonic@users.sf.net>

	Patch by: Marc-Andre Lureau <marcandre.lureau@gmail.com>

	* gst/parse/Makefile.am:
	* gst/parse/grammar.y:
	* gst/parse/parse.l:
	  push & pop the state of the lexer for reentrant use case
	  Fixes #349180

2006-07-29  Tim-Philipp Müller  <tim at centricular dot net>

	* libs/gst/base/gstbasesrc.h:
	  Note in the docs that the ::newsegment vfunc is not actually used by
	  GstBaseSrc.

2006-07-28  Wim Taymans  <wim@fluendo.com>

	* libs/gst/base/gstcollectpads.c:
	(gst_collect_pads_set_flushing_unlocked), (gst_collect_pads_pop),
	(gst_collect_pads_clear), (gst_collect_pads_flush),
	(gst_collect_pads_event), (gst_collect_pads_chain):
	When flushing a pad, also clear the queued buffer so that we don't
	accidentally use it when we shouldn't.
	Fix leaks by inreffing incomming buffer.
	Flush out queued buffers in case of errors.
	Fixes #347452.

2006-07-28  Wim Taymans  <wim@fluendo.com>

	* docs/random/phonon-gst:
	Random notes about a Phonon backend.

2006-07-27  Jan Schmidt  <thaytan@mad.scientist.com>

	* libs/gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
	Extra debug output
	* tests/check/libs/gdp.c: (gst_dp_suite):
	Take a whack at fixing the ppc compile using a different define to
	disable the broken test.

	* tests/check/pipelines/parse-launch.c: (GST_START_TEST):
	Remove excess g_print()

2006-07-27  Jan Schmidt <thaytan@mad.scientist.com>

	* tests/check/pipelines/parse-launch.c: (expected_fail_pipe):
	Oops, meant to uncomment this line too to dampen the noise a bit.

2006-07-27  Jan Schmidt <thaytan@mad.scientist.com>

	* gst/parse/grammar.y:
	* gst/parse/parse.l:
	* tests/check/pipelines/parse-launch.c: (expected_fail_pipe),
	(GST_START_TEST), (parse_suite):
	Fix some of the leaks exposed by extending the parse-launch testsuite,
	and move the 3 I can't figure out into a separate test that won't run
	the pipelines unless the appropriate line is uncommented.

2006-07-27  Tim-Philipp Müller  <tim at centricular dot net>

	* plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
	  Requesting 0 bytes before the end of the file should result in
	  FLOW_OK and an empty buffer, not FLOW_UNEXPECTED. Thank you
	  unit test.

2006-07-27  Wim Taymans  <wim@fluendo.com>

	* gst/gstcaps.c: (gst_static_caps_get), (gst_caps_get_structure):
	Fix useless assert, a uint is always positive.

	* gst/gststructure.c: (gst_structure_nth_field_name),
	(gst_structure_foreach), (gst_structure_map_in_place):
	Check input arguments for public functions to avoid obvious crashes.

	* plugins/elements/gstfakesink.c: (gst_fake_sink_render):
	* plugins/elements/gstfakesink.h:
	Do less useless typechecking.

2006-07-27  Tim-Philipp Müller  <tim at centricular dot net>

	* plugins/elements/gstfilesrc.c: (gst_file_src_class_init):
	  Do not use mmap() by default since there are a number of error
	  conditions that we would like to handle in a non-fatal way that
	  will result in a SIGBUS if we use mmap(). Examples: external
	  devices (USB harddrive, portable music player) being unplugged
	  while in use; file on mounted CD/DVD that can't be read because
	  the medium is partly damaged. Fixes #348455 and #348475.

2006-07-27  Jan Schmidt  <thaytan@mad.scientist.com>

	* gst/gstquery.h:
	Delete unused and misleading define of GST_QUERY_TYPE_RATE_DEN -
	rates are a gdouble

2006-07-26  Stefan Kost  <ensonic@users.sf.net>

	* gst/gstregistry.c:
	  Move big documentation comment into class section header, so that it
	  appears in the API docs.

2006-07-26  Jan Schmidt  <thaytan@mad.scientist.com>

	* docs/gst/gstreamer-sections.txt:
	Oops. Commit the docs additions too for new API.
	Also, remove the mention of the non-existent GST_QUERY_TYPE_RATE_DEN

2006-07-26  Jan Schmidt  <thaytan@mad.scientist.com>

	* gst/gststructure.c: (gst_structure_id_set),
	(gst_structure_id_set_valist):
	* gst/gststructure.h:
	Add API for setting values into structures without performing
	a quark lookup, if the appropriate quark is already known.

	API: gst_structure_id_set
	API: gst_structure_id_set_valist

	* gst/parse/grammar.y:
	* gst/parse/parse.l:
	Remove some dead code shown by the coverage information.
	Don't throw a critical g_warning when encountering a syntax error,
	just warn and let the normal error path handle it.

	* plugins/elements/gstelements.c:
	Bump the rank of filesink up to PRIMARY so that it is preferred over
	gnomevfssink for file:// sink uri's

	* tests/check/pipelines/parse-launch.c: (expected_fail_pipe),
	(GST_START_TEST), (run_delayed_test),
	(gst_parse_test_element_base_init),
	(gst_parse_test_element_class_init), (gst_parse_test_element_init),
	(gst_parse_test_element_change_state),
	(gst_register_parse_element), (parse_suite):
	Beef up the tests for parse syntax to check that more error cases
	fail as they are supposed to. Increases the test coverage a bit.

2006-07-26  Tim-Philipp Müller  <tim at centricular dot net>

	* docs/manual/basics-elements.xml:
	  Fix gst_element_link() example.

	* gst/gstutils.c:
	  Mention in API docs that one should usually gst_bin_add()
	  elements to a bin or pipeline before doing the linking.
	  
2006-07-26  Wim Taymans  <wim@fluendo.com>

	* gst/gstbuffer.c: (gst_buffer_get_type), (gst_buffer_new),
	(gst_subbuffer_get_type), (gst_buffer_create_sub):
	Avoid function call for known types by keeping the buffer and
	subbuffer GType global.

	* plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
	Random silly optimisations in read() path.

2006-07-26  Jan Schmidt  <thaytan@mad.scientist.com>

	* tools/gst-launch.c: (main):
	  If the top-level of the parse is a normal bin, it doesn't do the
	  right logic to run as a top-level element, so place it inside a
	  pipeline.

2006-07-25  Tim-Philipp Müller  <tim at centricular dot net>

	* plugins/elements/gstfilesrc.c: (gst_file_src_set_property):
	  Remove superfluous g_object_notify() calls, GObject does
	  that for us automatically.

2006-07-25  Stefan Kost  <ensonic@users.sf.net>

	* gst/gstinfo.h:
	  on Win32, use dllspec to export the debug category symbols

2006-07-24  Tim-Philipp Müller  <tim at centricular dot net>

	* gst/gsttaglist.c: (_gst_tag_initialize):
	  Allow more than one GST_TAG_IMAGE per taglist.

2006-07-24  Thomas Vander Stichele  <thomas at apestaart dot org>

	* gst/gstminiobject.c:
	  update docs
	* plugins/elements/gstfdsrc.c: (gst_fd_src_set_property),
	(gst_fd_src_create):
	  log recurring events at LOG level
	  add more debug for when the fd gets set

2006-07-21  Stefan Kost  <ensonic@users.sf.net>

	* gst/gstparse.c: (gst_parse_launch):
	  Also remove reentrance checks if flex is MT safe (#348179)
	 Fix my empty ChangeLog entry below

2006-07-21  Andy Wingo  <wingo@pobox.com>

	* docs/libs/gstreamer-libs-sections.txt: Attempt to pacify buildbot.

	* libs/gst/check/Makefile.am
	(libgstcheck_@GST_MAJORMINOR@include_HEADERS)
	(libgstcheck_@GST_MAJORMINOR@_la_SOURCES): 
	* libs/gst/check/gstbufferstraw.h:
	* libs/gst/check/gstbufferstraw.c: Add some new hype testing
	functions, thus proving I am still a GStreamer haxor. OK I wrote
	them a long time ago, but anyways.

2006-07-21  Stefan Kost  <ensonic@users.sf.net>

	* configure.ac:
	* gst/gstparse.c: (gst_parse_launch):
	  Check for flex version and omit mutex if we have a MT save flex
	  (fixes #348179)

2006-07-21  Wim Taymans  <wim@fluendo.com>

	* gst/gstparse.c: (gst_parse_launch):
	Protect recursive calls to _parse with a recursive mutex
	and busy flag.

2006-07-21  Wim Taymans  <wim@fluendo.com>

	* tests/check/gst/gstpad.c: (GST_START_TEST):
	Fix leak in test.

2006-07-20  Stefan Kost  <ensonic@users.sf.net>

	* gst/gstparse.c: (gst_parse_launch):
	  Do not hang on recursive usage of gst_parse_launch()

2006-07-20  Tim-Philipp Müller  <tim at centricular dot net>

	* gst/gsttaglist.c:
	  Add some more docs, comments and FIXME 0.11s here and there
	  and also fix some typos.

2006-07-20  Tim-Philipp Müller  <tim at centricular dot net>

	* gst/gstsegment.h:
	  Convert tabs to spaces for better readability. 

2006-07-20  Edward Hervey  <edward@fluendo.com>

	* tests/check/libs/gdp.c: (gst_dp_suite):
	the test_buffer test fails at line 140 on ppc64 at the following
	check:
	fail_unless (GST_BUFFER_FLAG_IS_SET (newbuffer,
	        GST_BUFFER_FLAG_IN_CAPS),
		"GST_BUFFER_IN_CAPS flag should have been copied !");
	See bug #348114 for more details.

2006-07-19  Tim-Philipp Müller  <tim at centricular dot net>

	* docs/pwg/advanced-scheduling.xml:
	* gst/gstpad.c:
	  Fix typos (#348000).

2006-07-18  Tim-Philipp Müller  <tim at centricular dot net>

	* docs/pwg/intro-basics.xml:
	  Fix wrong links (#347927).

2006-07-18  Stefan Kost  <ensonic@users.sf.net>

	* gst/gstregistry.h:
	* gst/gstregistryxml.c: (load_feature),
	(gst_registry_xml_read_cache), (gst_registry_xml_save_feature):
	* win32/common/config.h:
	  make --disable-index work (#342564)

2006-07-18  Wim Taymans  <wim@fluendo.com>

	Patch by: Peter Kjellerstedt <pkj at axis dot com>

	* gst/Makefile.am:
	* gst/gsttrace.h:
	The attached patch adds two missing defines to gsttrace.h when tracing
	is disabled.  It also corrects one existing define.
	Fixes #347756.

2006-07-17  Wim Taymans  <wim@fluendo.com>

	* docs/gst/gstreamer-sections.txt:
	* gst/gst.c: (gst_segtrap_is_enabled), (gst_segtrap_set_enabled):
	* gst/gst.h:
	* gst/gstplugin.c: (_gst_plugin_fault_handler_restore):
	Add two functions to check and change the SIGSEGV behaviour
	when loading plugins.
	Don't mess with the SIGSEGV handler when we were told not to.
	Fixes #347794.
	API: gst_segtrap_is_enabled
	API: gst_segtrap_set_enabled

2006-07-14  Wim Taymans  <wim@fluendo.com>

	* libs/gst/base/gstbasesrc.c: (gst_base_src_update_length):
	* tests/check/elements/filesrc.c: (GST_START_TEST):
	Revert fix for regression in #347408 after release.

2006-07-14  Tim-Philipp Müller  <tim at centricular dot net>

	Patch by: Antoine Tremblay <hexa00 at gmail com>

	* gst/gstutils.c: (gst_element_unlink):
	  Free iterator when done (#347311).

	* tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
	  And add a test case for this.

2006-07-14  Jan Schmidt  <thaytan@mad.scientist.com>

	* configure.ac:
	Bump nano back to CVS

=== release 0.10.9 ===

2006-07-13  Jan Schmidt <thaytan@mad.scientist.com>

	* configure.ac:
	  releasing 0.10.9, "On the road again"

2006-07-13  Wim Taymans  <wim@fluendo.com>

	* libs/gst/base/gstbasesrc.c: (gst_base_src_update_length):
	* tests/check/elements/filesrc.c: (GST_START_TEST):
	Revert pull-0 fix for release. Disable check. Fixes #347408.

2006-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>

	* libs/gst/dataprotocol/dataprotocol.c:
	(gst_dp_event_from_packet_1_0):
	  Fixes #347337: failure to deserialize event packets with
	  empty payload (only event type)

2006-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>

	* gst/Makefile.am:
	  do not install a .c file in the header directory

2006-07-13  Edward Hervey  <edward@fluendo.com>

	* gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked):
	GhostPad no longer implicitely use the padtemplates of the targets.
	Fixes #347384

2006-07-11  Jan Schmidt  <thaytan@mad.scientist.com>

	* gst/gstvalue.c: (gst_value_compare_list),
	(gst_value_compare_array), (_gst_value_initialize):
	* tests/check/gst/gstvalue.c: (GST_START_TEST):
	Make GstValueArray comparison be order dependent as designed.
	Add checks for value lists and value array comparisons.
	Fixes #347221

2006-07-11  Edward Hervey  <edward@fluendo.com>

	* gst/gstbin.c: (activate_pads),
	(iterator_activate_fold_with_resync), (gst_bin_src_pads_activate),
	(gst_bin_change_state_func):
	(de)activate src pads before calling state_change on the childs.
	This is to avoid the case where a src ghostpad is blocked (holding the
	stream lock), which would block the deactivation of the ghostpad's
	target pad.
	* gst/gstghostpad.c: (gst_proxy_pad_do_query_type),
	(gst_proxy_pad_do_event), (gst_proxy_pad_do_query),
	(gst_proxy_pad_do_internal_link), (gst_proxy_pad_do_bufferalloc),
	(gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
	(gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
	(gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
	(gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target_unlocked),
	(gst_proxy_pad_set_target), (gst_proxy_pad_get_internal),
	(gst_proxy_pad_dispose), (gst_proxy_pad_init),
	(gst_ghost_pad_parent_set), (gst_ghost_pad_parent_unset),
	(gst_ghost_pad_class_init),
	(gst_ghost_pad_internal_do_activate_push),
	(gst_ghost_pad_internal_do_activate_pull),
	(gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
	(gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
	(gst_ghost_pad_dispose), (gst_ghost_pad_new_no_target),
	(gst_ghost_pad_new), (gst_ghost_pad_set_target):
	GhostPads now create their internal GstProxyPad at creation (and not
	when they're linked, as it was being done previously).
	The internal and target pads are linked straight away.
	The data will also travel through the other pad in order to make
	pad blocking and probes non-hackish (the probe/block now really happens
	on the GhostPad and not on the target).
	* gst/gstpad.c: (gst_pad_set_blocked_async),
	(gst_pad_link_prepare), (gst_pad_push_event):
	Remove previous ghostpad cruft.
	* gst/gstutils.c: (gst_pad_add_data_probe),
	(gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
	(gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
	(gst_pad_remove_buffer_probe):
	Remove previous ghost pad cruft.
	Added more detailed debug statements.
	* tests/check/gst/gstghostpad.c: (GST_START_TEST):
	Fix the testsuite for refcounting changes.
	The comments about who has references were correct, but the refcount
	being checked wasn't the same (!?!).

	Fixes #341029

2006-07-10  Stefan Kost  <ensonic@users.sf.net>

	* docs/gst/gstreamer-sections.txt:
	* gst/gstconfig.h.in:
	More docs for configuration options, add docs to gtk-doc.

2006-07-10  Stefan Kost  <ensonic@users.sf.net>

	* gst/Makefile.am:
	* gst/gstconfig.h.in:
	* win32/common/config.h:
	Fix build when disabling tracing (fixes #344016). Also start to document
	the defines that disable the sub-systems.

2006-07-10  Edward Hervey  <edward@fluendo.com>

	* gst/gst.c: (ensure_current_registry_forking):
	let's make valgrind happy...

2006-07-09  Wim Taymans  <wim@fluendo.com>

	* gst/gstelement.c: (activate_pads),
	(iterator_activate_fold_with_resync), (gst_element_pads_activate):
	Better pad activation code: Reset the collect value too on resync.
	Add some comments.

2006-07-09  Wim Taymans  <wim@fluendo.com>

	* gst/gstpad.c: (gst_pad_init), (gst_pad_activate_pull),
	(gst_pad_activate_push):
	Use some more macros where it makes sense.
	Allow pad mode switching instead of asserting. When a pad
	is activated in one mode and we activate it in another, 
	deactivate it first before activating it in a different mode.
	Fixes #329198.

2006-07-08  Andy Wingo  <wingo@pobox.com>

	* tools/gst-launch.c (main): Handle err == NULL.

	* gst/gst.c (init_post, ensure_current_registry)
	(ensure_current_registry_forking)
	(ensure_current_registry_nonforking): Reduce #ifdef ratnest by
	factoring out the registry scanning into separate functions. Don't
	fork for the rescan is GST_REGISTRY_FORK=no; useful in debugging.
	Better environment var name/interface suggestions accepted.

2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>

	* gst/gstobject.c: (gst_object_set_name_default),
	(gst_object_set_name):
	  Random micro-optimisation: don't use a hash table
	  with strings as keys and the usual strdup/strcmp
	  involved, but rather just use the GQuark of the
	  type name as key, since it needs to be looked up
	  anyway to get the type name string.

	* tests/check/gst/gstobject.c: (GST_START_TEST):
	  Fix various leaks.

2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>

	* gst/gstbin.c: (compare_interface), (gst_bin_get_by_interface),
	(gst_bin_iterate_all_by_interface):
	  Can't use GPOINTER_TO_INT and GINT_TO_POINTER with GTypes.
	  GTypes are gulongs and thus the top 4 bytes might be cut
	  off on some platforms when doing GPOINTER_TO_INT, leading
	  to invalid GTypes and bad things happening (see RH bug #179654).
	  Also add a check to make sure the type passed in is really
	  an interface type.

2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>

	* .cvsignore:
	  Ignore more.

2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>

	* Makefile.am:
	* configure.ac:
	* gst-element-check.m4:
	* gst-element-check.m4.in:
	  Make gst-element-check-$VERSION.m4 call gst-inspect-$VERSION
	  instead of the unversioned gst-inspect (#324176, #168659).

2006-07-06  Wim Taymans  <wim@fluendo.com>

	* gst/gstmessage.h:
	Use a valid int for the _MESSAGE_ANY enum value to avoid compiler
	warnings.

2006-07-06  Wim Taymans  <wim@fluendo.com>

	* libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
	(gst_base_src_wait), (gst_base_src_update_length),
	(gst_base_src_get_range), (gst_base_src_default_check_get_range),
	(gst_base_src_check_get_range), (gst_base_src_pad_check_get_range),
	(gst_base_src_loop), (gst_base_src_start),
	(gst_base_src_activate_pull):
	Update docs.
	blocksize == 0 now means the default blocksize when working in push
	based mode.
	Remove some pointless asserts in _wait function.
	Fix offset/length calculations and EOS handling. We can now pull 0
	bytes as well, which is allowed.
	use _check_get_range() to decide if we can operate in _pull based
	mode.
	Fix refcounting leak when check_get_range function was not 
	implemented.
	API GstBaseSrc::blocksize range can be 0 too now (default)

	* tests/check/elements/filesrc.c: (GST_START_TEST),
	(filesrc_suite):
	Added check to test _get_range() behaviour.

2006-07-06  Wim Taymans  <wim@fluendo.com>

	* gst/gstpad.c: (gst_pad_chain_unchecked), (gst_pad_chain),
	(gst_pad_push), (gst_pad_check_pull_range), (gst_pad_get_range),
	(gst_pad_pull_range):
	* gst/gstpad.h:
	Lots of comments and docs added to the pad functions.
	Flesh out the expected behaviour of the get_range() functions.

2006-07-06  Wim Taymans  <wim@fluendo.com>

	* gst/gstbus.h:
	* gst/gstclock.h:
	* gst/gstevent.h:
	* gst/gstiterator.h:
	* gst/gstpad.h:
	* gst/gstplugin.h:
	* gst/gsttask.h:
	Remove comma at end of enumerator list. 

2006-07-05  Sebastien Moutte  <sebastien@moutte.net>

	* win32/common/libgstbase.def:
	* win32/common/libgstdataprotocol.def:
	* win32/common/libsgtreamer.def:
	Add new exported functions.

2006-07-05  Wim Taymans  <wim@fluendo.com>

	* libs/gst/base/gstpushsrc.c: (gst_push_src_check_get_range):
	Add some more docs here and there.

2006-07-05  Wim Taymans  <wim@fluendo.com>

	* libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_object),
	(gst_base_sink_loop), (gst_base_sink_get_position):
	When operating in pull mode update the offset so that we
	read sequentially.

2006-07-05  Wim Taymans  <wim@fluendo.com>

	* gst/gstregistryxml.c: (read_string):
	Avoid strdup. (will happen in libxml, but hey!)

	* gst/gsturi.c:
	Add some more docs.

2006-07-05  Wim Taymans  <wim@fluendo.com>

	* gst/gstbuffer.c: (_gst_buffer_copy), (gst_buffer_create_sub):
	* tests/check/gst/gstbuffer.c: (GST_START_TEST),
	(gst_buffer_suite):
	No point in checking if the size of the subbuffer > 0, the
	code handles it correclty as demonstrated by unit test.
	Also add a unit test for the zero sized _new_and_alloc and
	_copy. Fixes #346663.

2006-07-05  Wim Taymans  <wim@fluendo.com>

	* libs/gst/base/gstbasetransform.c:
	(gst_base_transform_prepare_output_buffer),
	(gst_base_transform_buffer_alloc),
	(gst_base_transform_handle_buffer):
	Make sure the buffer we pass to transform_ip has a refcount of
	1 and thus is writable. Fixes #343196

2006-07-04  Jan Schmidt  <thaytan@mad.scientist.com>

	* plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
	(gst_file_src_init), (gst_file_src_set_property),
	(gst_file_src_get_property), (gst_file_src_map_region):
	* plugins/elements/gstfilesrc.h:
	Add "sequential" property, off by default, to use madvise and hint
	to the kernel that sequential access is desired.
	Touch all retrieved pages by default to ensure they are pulled
	into memory. (Closes #345720)

2006-07-03  Wim Taymans  <wim@fluendo.com>

	* docs/design/part-block.txt:
	* docs/design/part-dynamic.txt:
	Small docs updates.

2006-07-03  Wim Taymans  <wim@fluendo.com>

	* gst/gstcaps.c: (gst_caps_new_empty), (_gst_caps_free),
	(gst_caps_unref), (gst_static_caps_get),
	(gst_caps_append_structure):
	* gst/gstclock.c: (gst_clock_entry_new), (_gst_clock_id_free):
	Use GSlice when the glib we build against is >= 2.10

2006-07-03  Wim Taymans  <wim@fluendo.com>

	* gst/gstelement.c: (gst_element_pads_activate):
	Small cleanup in pad activation code.

2006-07-03  Wim Taymans  <wim@fluendo.com>

	Patch by: Peter Kjellerstedt <pkj at axis dot com>

	* gst/gst-i18n-app.h:
	* gst/gst-i18n-lib.h:
	* tools/gst-inspect.c: (print_signal_info):
	The attached patch will make the inclusion of gettext.h unconditional in
	gst/gst-i18n-app.h and gst/gst-i18n-lib.h, and it will remove the inclusion of
	libintl.h in tools/gst-inspect.c.
	This allows use of --disable-nls again and fixes #344642.

2006-07-03  Edward Hervey  <edward@fluendo.com>

	* gst/gstpad.c: (handle_pad_block), (gst_pad_push_event):
	Implement pad blocking on events according to part-block.txt.
	More comments on behaviour.
	* tests/check/gst/gstevent.c: (test_event):
	Send event to peer pad of blocked pad (else it will block).

2006-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>

	* libs/gst/check/gstcheck.c: (gst_check_message_error),
	(gst_check_run_suite):
	  if we get the wrong message, give us the types as string
	* plugins/elements/gstfilesrc.c: (gst_file_src_start):
	  Fix a translatable
	* tests/check/elements/filesrc.c: (GST_START_TEST):
	  add a test for trying to open a non-existing file

2006-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>

	* tests/check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
	  add a test for adding self

2006-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>

	* libs/gst/check/gstcheck.h:
	  add some assert_ as alias for fail_unless_*
	* tests/check/gst/gst.c: (GST_START_TEST), (gst_suite):
	  increase test coverage

2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>

	* Makefile.am:
	  include lcov.mak for lcov coverage generation
	* tools/Makefile.am:
	  add to CLEANFILES

2006-07-02  Edward Hervey  <edward@fluendo.com>

	* tests/check/elements/.cvsignore:
	moaping

2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>

	* configure.ac:
	  don't set CFLAGS and friends for gcov, done from GST_GCOV now
	* tests/check/Makefile.am:
	  clean up gcov files

2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>

	* gst/gstcaps.c: (gst_caps_remove_and_get_structure):
	  remove gst_caps_simplify; it was not declared and not used
	  and deprecated in 0.8

2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>

	* docs/faq/gst-uninstalled:
	  don't put empty paths on PYTHONPATH
	* docs/gst/gstreamer-sections.txt:
	  remove some symbols that are not there

2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>

	* gst/gstcaps.c: (gst_caps_compare_structures):
	  whitespace fixes
	* tests/check/gst/gstbuffer.c: (GST_START_TEST):
	* tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
	  add more tests

2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>

	* libs/gst/dataprotocol/Makefile.am:
	  build dataprotocol test by linking to the lib, instead of
	  compiling the source, so we get coverage
	* tests/check/Makefile.am:
	* tests/check/elements/filesrc.c: (event_func), (setup_filesrc),
	(cleanup_filesrc), (GST_START_TEST), (filesrc_suite):
	  add a test for filesrc

2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>

	* tests/check/gst/gststructure.c: (GST_START_TEST),
	(gst_structure_suite):
	  Push coverage from 59.04% to 70.00%

2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>

	* tests/check/Makefile.am:
	  gst-inspect every element; this makes sure that we also get
	  coverage on element's get/set functions

2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>

	* configure.ac:
	  set CFLAGS and friends to -O0 if gcov is being used
	  add GCOV LIBS
	* gst/Makefile.am:
	* libs/gst/base/Makefile.am:
	* libs/gst/check/Makefile.am:
	* libs/gst/controller/Makefile.am:
	* libs/gst/dataprotocol/Makefile.am:
	* libs/gst/net/Makefile.am:
	* plugins/elements/Makefile.am:
	* plugins/indexers/Makefile.am:
	  add makefile rules to generate gcov data and clean up
	* tests/check/Makefile.am:
	  add a coverage target that generates an html overview
	  of coverage data

2006-07-01  Thomas Vander Stichele  <thomas at apestaart dot org>

	* tests/check/elements/fakesink.c:
	* tests/check/elements/fakesrc.c:
	* tests/check/elements/fdsrc.c:
	* tests/check/elements/identity.c:
	* tests/check/generic/sinks.c: (gst_sinks_suite):
	* tests/check/generic/states.c:
	* tests/check/gst/gst.c:
	* tests/check/gst/gstabi.c:
	* tests/check/gst/gstbin.c:
	* tests/check/gst/gstbuffer.c: (gst_buffer_suite):
	* tests/check/gst/gstbus.c: (gst_bus_suite):
	* tests/check/gst/gstcaps.c: (GST_START_TEST):
	* tests/check/gst/gstelement.c:
	* tests/check/gst/gstevent.c: (gst_event_suite):
	* tests/check/gst/gstghostpad.c:
	* tests/check/gst/gstiterator.c: (gst_iterator_suite):
	* tests/check/gst/gstmessage.c: (gst_message_suite):
	* tests/check/gst/gstminiobject.c:
	* tests/check/gst/gstobject.c:
	* tests/check/gst/gstpad.c:
	* tests/check/gst/gstpipeline.c:
	* tests/check/gst/gstplugin.c:
	* tests/check/gst/gstquery.c: (gst_query_suite):
	* tests/check/gst/gstsegment.c: (gst_segment_suite):
	* tests/check/gst/gststructure.c:
	* tests/check/gst/gstsystemclock.c:
	* tests/check/gst/gsttag.c:
	* tests/check/gst/gsttask.c: (gst_task_suite):
	* tests/check/gst/gstutils.c:
	* tests/check/gst/gstvalue.c:
	* tests/check/libs/adapter.c:
	* tests/check/libs/basesrc.c:
	* tests/check/libs/collectpads.c:
	* tests/check/libs/controller.c:
	* tests/check/libs/gdp.c: (gst_dp_suite):
	* tests/check/libs/gstnetclientclock.c:
	* tests/check/libs/gstnettimeprovider.c:
	* tests/check/libs/libsabi.c: (libsabi_suite):
	* tests/check/libs/typefindhelper.c:
	* tests/check/pipelines/cleanup.c:
	* tests/check/pipelines/parse-launch.c:
	* tests/check/pipelines/simple-launch-lines.c:
	* tests/check/pipelines/stress.c: (stress_suite):
	  use the new macro

2006-07-01  Thomas Vander Stichele  <thomas at apestaart dot org>

	* libs/gst/check/gstcheck.c: (gst_check_run_suite):
	* libs/gst/check/gstcheck.h:
	  create a macro and function so that the simple unit test
	  case can be just one macro to create main()

2006-06-30  Tim-Philipp Müller  <tim at centricular dot net>

	* gst/gstbin.c: (gst_bin_restore_thyself):
	* gst/gstxml.c: (gst_xml_make_element):
	  Fix deserialisation from XML. Set parent manually
	  instead of using gst_bin_add(), since gst_bin_add()
	  will unlink all pads of the element being added.
	  Fixes #341667.

2006-06-28  Tim-Philipp Müller  <tim at centricular dot net>

	Patch by: Peter Kjellerstedt <pkj at axis com>

	* gst/gst.c: (prepare_for_load_plugin_func), (split_and_iterate):
	  Fix missing g_strdup() and double free when using the
	  --gst-plugin-load command line option (#346097).

2006-06-23  Tim-Philipp Müller  <tim at centricular dot net>

	* gst/gstinfo.c:
	  Promote GST_DEBUG_CATEGORY_STATIC in example in docs.

	* libs/gst/net/gstnetclientclock.c:
	* libs/gst/net/gstnettimeprovider.c:
	  Use GST_DEBUG_CATEGORY_STATIC here too (#342503).

2006-06-23  Tim-Philipp Müller  <tim at centricular dot net>

	* docs/manual/advanced-dataaccess.xml:
	  Fix buffer probe example compilation in
	  ADM (#345708).
	
2006-06-22  Edward Hervey  <edward@fluendo.com>

	* gst/gstelement.c: (gst_element_pads_activate):
	We need to deactivate src pads first and then sink pads.
	The reason is the src pads might be blocking while holding the streaming
	lock, so we need to deactivate them first so that deactivating the sink
	pads doesn't block (since it will require the streaming lock).

2006-06-22  Wim Taymans  <wim@fluendo.com>

	* libs/gst/base/gstbasetransform.c:
	(gst_base_transform_buffer_alloc):
	Forgot to remove two unneeded unrefs.
	Simplify a check _is_equal allready checks the obvious case.

2006-06-22  Wim Taymans  <wim@fluendo.com>

	* docs/design/part-block.txt:
	Some docs about what pad_block should do.

2006-06-22  Wim Taymans  <wim@fluendo.com>

	* gst/gstcaps.c: (gst_caps_replace):
	Fix crasher when passed NULL. Doc clarification.
	Optimize for the trivial case.

	* gst/gstpipeline.c: (gst_pipeline_change_state):
	Small cleanups.

	* libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
	Small documentation cleanup.

	* libs/gst/base/gstbasetransform.c:
	(gst_base_transform_buffer_alloc):
	Don't use silly gst_pad_get_negotiated_caps, GST_PAD_CAPS
	is what we need and it avoids a whole lot of redundant 
	refcount operations.

2006-06-22  Tim-Philipp Müller  <tim at centricular dot net>

	Patch by: Philip Jägenstedt  <philip at lysator liu se>

	* docs/manual/advanced-dataaccess.xml:
	  Fix 'Embedding static elements' section to use
	  GST_PLUGIN_DEFINE_STATIC (#345607).

2006-06-21  Tim-Philipp Müller  <tim at centricular dot net>

	* tests/check/pipelines/simple-launch-lines.c: (test_stop_from_app):
	  Attempt to 'fix' spuriously failing test case: it seems like the
	  timeout of half a second is simply too small when the system is under
	  load otherwise, and the timeout doesn't really seem to serve any
	  particular purpose here. Give the pipeline a few seconds to preroll
	  first, and then give it another half a second to go from PAUSED to
	  PLAYING and marshal the message into the main thread.

2006-06-21  Tim-Philipp Müller  <tim at centricular dot net>

	* tools/gst-feedback-m.m:
	  Don't only use unversioned tools, try versioned tools as well
	  (#345086).

2006-06-21  Tim-Philipp Müller  <tim at centricular dot net>

	* gst/gstbus.c: (gst_bus_class_init):
	  Fix some typos, make docs more explicit.

2006-06-20  Wim Taymans  <wim@fluendo.com>

	* tests/check/gst/gstghostpad.c: (block_callback),
	(GST_START_TEST), (gst_ghost_pad_suite):
	Added some more ghostpad tests, mainly blocking
	and probes.

2006-06-16  Wim Taymans  <wim@fluendo.com>

	* plugins/elements/gstfilesink.c: (gst_file_sink_open_file),
	(gst_file_sink_close_file), (gst_file_sink_do_seek),
	(gst_file_sink_event), (gst_file_sink_render):
	* plugins/elements/gstfilesink.h:
	Check if we can seek in the file instead of assuming
	we always can. Post an error when we are asked to seek in a
	non-seekable file (like a fifo). Fixes #343312.
	Some cleanups.

2006-06-16  Tim-Philipp Müller  <tim at centricular dot net>

	* tools/gst-launch.1.in:
	  Un-garble (fourcc) bit in filtered caps section.

2006-06-16  Tim-Philipp Müller  <tim at centricular dot net>

	* docs/manual/advanced-autoplugging.xml:
	* docs/manual/basics-helloworld.xml:
	* docs/manual/highlevel-components.xml:
	  Don't leak bus reference in sample code.

2006-06-15  Tim-Philipp Müller  <tim at centricular dot net>

	* autogen.sh:
	  Add default for new --enable-plugin-docs switch.

	* configure.ac:
	  Use new GST_PLUGIN_DOCS macro to check for pyxml etc.
	  Fixes #344039.

	* docs/Makefile.am:
	  Use new ENABLE_PLUGIN_DOCS conditional.

2006-06-14  Wim Taymans  <wim@fluendo.com>

	* gst/gstbin.c: (bin_query_duration_done), (gst_bin_query):
	Make it clear with a FIXME and a real define what the #if 0
	previously disabled.

2006-06-14  Wim Taymans  <wim@fluendo.com>

	* libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
	(gst_base_sink_preroll_object), (gst_base_sink_get_position):
	* libs/gst/base/gstbasetransform.c:
	(gst_base_transform_sink_eventfunc):
	* libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
	Don't randomly and silently reset a segment when the format 
	changes as this is a bug somewhere upstream. Fixes #330379.

2006-06-14  Tim-Philipp Müller  <tim at centricular dot net>

	Patch by: Wouter Paesen  <wouter at kangaroot net>

	* libs/gst/controller/gstcontroller.c:
	(gst_controlled_property_new):
	  Fix controlling of float properties (#344849).

	* tests/check/libs/controller.c:
	(gst_test_mono_source_get_property),
	(gst_test_mono_source_set_property),
	(gst_test_mono_source_class_init), (GST_START_TEST):
	  While we're at it, add some float stuff to unit test.

2006-06-13  Thomas Vander Stichele  <thomas at apestaart dot org>

	* docs/README:
	* docs/images/gdp-header.svg:
	  add a gdp image
	* docs/libs/Makefile.am:
	* docs/libs/gdp-header.png:
	* libs/gst/dataprotocol/dataprotocol.c:
	  add it to the API docs
	* docs/manual/intro-motivation.xml:
	  fix typo

2006-06-13  Tim-Philipp Müller  <tim at centricular dot net>

	* gst/gst.c: (scan_and_update_registry), (init_post):
	  If the fork()'ed child process can't write the updated registry cache
	  file to disk for some reason, make it exit with a failure exit code,
	  so that the parent can then re-scan the plugins itself and update the
	  registry structures in memory and work with that (rather than failing
	  when creating elements because seemingly no plugins are available).
	  Refactor registry scanning code into separate function for this and
	  also separate fork() and non-fork() code paths. Fixes #344748.

2006-06-13  Wim Taymans  <wim@fluendo.com>

	* docs/manual/advanced-dataaccess.xml:
	Fix wrong PluginDesc. Fixes #344755.

2006-06-13  Tim-Philipp Müller  <tim at centricular dot net>

	* gst/gstregistryxml.c: (gst_registry_xml_write_cache):
	  Fix silly bug that prevented us from creating
	  ~/.gstreamer-0.10 and writing the registry in one
	  go (the first call to g_mkstemp() would overwrite the
	  placeholder in the template string, so the second call
	  to g_mkstemp() after creating the missing directory
	  would then error out with 'invalid argument').

2006-06-13  Edward Hervey  <edward@fluendo.com>

	* gst/gst.c: (init_post):
	Free string.

2006-06-13  Thomas Vander Stichele  <thomas at apestaart dot org>

	* gst/glib-compat-private.h:
	* gst/glib-compat.c:
	* gst/glib-compat.h:
	* gst/gstvalue.c: (gst_value_serialize_flags):
	  remove GLib 2.6 compatibility code

2006-06-12  Tim-Philipp Müller  <tim at centricular dot net>

	* gst/parse/Makefile.am:
	  Fix build with 'make -j N' even more (#340016).

2006-06-12  Wim Taymans  <wim@fluendo.com>

	* docs/gst/gstreamer-sections.txt:
	Fix docs.

2006-06-12  Wim Taymans  <wim@fluendo.com>

	* gst/gstsegment.c: (gst_segment_set_duration),
	(gst_segment_set_last_stop), (gst_segment_set_seek),
	(gst_segment_set_newsegment_full), (gst_segment_to_stream_time),
	(gst_segment_to_running_time), (gst_segment_clip):
	Use G_UNLIKELY to help the compiler a bit.

2006-06-12  Wim Taymans  <wim@fluendo.com>

	Patch by: Stefan Kost <ensonic at sonicpulse dot de>

	* gst/gstevent.c: (gst_event_get_type):
	* gst/gstmessage.c:
	* gst/gstpad.c: (gst_pad_chain_unchecked), (gst_pad_chain),
	(gst_pad_push):
	constify quark registration strings. Fixes #344115
	Avoid unneeded type checking is _pad_push() by internally
	calling gst_pad_chain_unchecked().

2006-06-12  Wim Taymans  <wim@fluendo.com>

	* gst/gstbuffer.c: (gst_buffer_get_type), (gst_buffer_finalize),
	(_gst_buffer_copy), (gst_buffer_is_metadata_writable),
	(gst_subbuffer_finalize), (gst_buffer_create_sub),
	(gst_buffer_is_span_fast), (gst_buffer_span):
	Init _type for consistency.
	Use _FLAGS macro to avoid type check.
	Avoid unneeded type checks in subbufer code.

2006-06-12  Wim Taymans  <wim@fluendo.com>

	* gst/gst.c: (gst_debug_help):
	* gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_list_free):
	* gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
	(gst_plugin_feature_list_free):
	* gst/gstregistry.c: (gst_registry_add_plugin),
	(gst_registry_add_feature), (gst_registry_plugin_filter),
	(gst_registry_feature_filter), (gst_registry_find_plugin),
	(gst_registry_find_feature), (gst_registry_get_plugin_list),
	(gst_registry_lookup_feature_locked), (gst_registry_lookup_locked):
	* gst/gstregistryxml.c: (load_feature),
	(gst_registry_xml_read_cache), (gst_registry_xml_write_cache):
	* gst/gstminiobject.c: (gst_mini_object_unref),
	(gst_mini_object_replace), (gst_value_mini_object_free),
	(gst_value_mini_object_copy):
	Use _CAST macros to avoid unneeded type checking.
	Added some more G_UNLIKELY.

2006-06-12  Wim Taymans  <wim@fluendo.com>

	* gst/gstbuffer.h:
	Avoid unneeded type checking.
	API: GST_BUFFER_IS_DISCONT

	* gst/gstminiobject.h:
	Avoid type check in flag accessor.

	* gst/gstelementfactory.h:
	* gst/gstplugin.h:
	* gst/gstpluginfeature.h:
	Add _CAST macros.
	API: GST_ELEMENT_FACTORY_CAST
	API: GST_PLUGIN_CAST
	API: GST_PLUGIN_FEATURE_CAST

2006-06-12  Wim Taymans  <wim@fluendo.com>

	* gst/gstobject.c: (gst_object_get_type), (gst_object_ref),
	(gst_object_unref):
	Add G_UNLIKELY in type registration.
	Avoid type check in _ref/_unref since that is also
	done in glib.

2006-06-12  Wim Taymans  <wim@fluendo.com>

	* gst/gsterror.c: (gst_g_error_get_type):
	* gst/gstpadtemplate.c: (gst_pad_template_get_type),
	(gst_static_pad_template_get_type):
	* gst/gsttaglist.c: (gst_tag_list_get_type):
	* gst/gsttagsetter.c: (gst_tag_setter_get_type):
	* gst/gsttypefindfactory.c: (gst_type_find_factory_get_type):
	* gst/gsturi.c: (gst_uri_handler_get_type):
	* gst/gstvalue.c: (gst_date_get_type):
	* gst/gstxml.c: (gst_xml_get_type):
	* libs/gst/base/gstbasesink.c: (gst_base_sink_get_type),
	(gst_base_sink_preroll_object), (gst_base_sink_get_position):
	* libs/gst/base/gstbasesrc.c: (gst_base_src_get_type):
	Add G_UNLIKELY in type registration.

2006-06-12  Wim Taymans  <wim@fluendo.com>

	* tools/gst-inspect.c: (print_signal_info):
	Properly print enum values.

2006-06-12  Wim Taymans  <wim@fluendo.com>

	* gst/gstinfo.c: (gst_debug_set_active),
	(gst_debug_category_set_threshold), (_gst_debug_nameof_funcptr):
	* gst/gstinfo.h:
	Add some G_[UN]LIKELY.
	Maintain __gst_debug_min to avoid formatting the arguments of
	debug messages that will be dropped anyway to avoid a lot of 
	overhead from the debugging system.

2006-06-11  Stefan Kost  <ensonic@users.sf.net>

	* po/POTFILES.in:
	* po/POTFILES.skip:
	  add missing files containing translatable strings, tell intltool about
	  one exception

2006-06-11  Stefan Kost  <ensonic@users.sf.net>

	* tests/check/libs/.cvsignore:
	add test-binary to ignore list

2006-06-11  Stefan Kost  <ensonic@users.sf.net>

	* docs/libs/gstreamer-libs-docs.sgml:
	reorder (put dp into a chapter) and indent

2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>

	* configure.ac:
	  back to HEAD

=== release 0.10.8 ===

2006-06-10  Thomas Vander Stichele <thomas at apestaart dot org>

	* configure.ac:
	  releasing 0.10.8, "Soepeke, ik zie ou nog altijd nie"

2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>

	* gst/gst.c: (init_post):
	  move pid declaration to declaration block

2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>

	* gst/gst.c: (init_post):
	  use _exit() instead of exit() in our forked child; this ensures
	  that none of the registered exit handlers from whatever is using
	  GStreamer get executed.  This fixes gnome-mixer-applet failing
	  to load, because ORBit would shut down.
	  Spotted by: Edward Hervey  <edward@fluendo.com>
	  Fix suggested by: Tim-Philipp Müller  <tim at centricular dot net>
	  Fixes #344474

2006-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>

	* configure.ac:
	  back to TRUNK

=== release 0.10.7 ===

2006-06-09  Thomas Vander Stichele <thomas at apestaart dot org>

	* configure.ac:
	  releasing 0.10.7, "Soepeke, ik zie ou"

2006-06-07  Thomas Vander Stichele  <thomas at apestaart dot org>

	* configure.ac:
	* po/af.po:
	* po/az.po:
	* po/bg.po:
	* po/ca.po:
	* po/cs.po:
	* po/de.po:
	* po/en_GB.po:
	* po/fr.po:
	* po/it.po:
	* po/nb.po:
	* po/nl.po:
	* po/ru.po:
	* po/sq.po:
	* po/sr.po:
	* po/sv.po:
	* po/tr.po:
	* po/uk.po:
	* po/vi.po:
	* po/zh_CN.po:
	* po/zh_TW.po:
	* win32/common/config.h:
	  0.10.6.2 prerelease

2006-06-07  Wim Taymans  <wim@fluendo.com>

	* gst/gstindex.c: (gst_index_gtype_resolver):
	* tools/gst-xmlinspect.c: (print_plugin_info):
	Fix leak spotted by coverity checker. Fixes #343827
	Fix another other leak found by paolo borelli.

2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>

	* libs/gst/dataprotocol/dataprotocol.c:
	(gst_dp_header_from_buffer_any), (gst_dp_packet_from_caps_any),
	(gst_dp_version_get_type), (gst_dp_init),
	(gst_dp_header_from_buffer), (gst_dp_header_from_buffer_1_0),
	(gst_dp_packet_from_caps), (gst_dp_packet_from_caps_1_0),
	(gst_dp_packet_from_event), (gst_dp_packet_from_event_1_0),
	(gst_dp_event_from_packet_0_2), (gst_dp_event_from_packet_1_0),
	(gst_dp_event_from_packet), (gst_dp_packetizer_new),
	(gst_dp_packetizer_free):
	* libs/gst/dataprotocol/dataprotocol.h:
	  API: add a GstDPPacketizer object, and create/free functions
	  API: add GstDPVersion enum
	  Add 1.0 event function that uses the string serialization
	  Serialize more useful buffer flags
	  Fixes #343988

2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>

	* tests/check/Makefile.am:
	* tests/check/gst/gstabi.c:
	* tests/check/gst/struct_ppc64.h:
	* tests/check/libs/libsabi.c:
	* tests/check/libs/struct_ppc64.h:
	  add ppc64 structure sizes

2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>

	* tests/check/Makefile.am:
	* tests/check/gst/gstabi.c:
	* tests/check/gst/struct_x86_64.h:
	* tests/check/libs/libsabi.c:
	* tests/check/libs/struct_x86_64.h:
	  generate and add structure size lists for x86_64

2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>

	* libs/gst/check/gstcheck.c: (gst_check_abi_list):
	* libs/gst/check/gstcheck.h:
	  factor out the method from tests that checks size of structures,
	  and add code to generate the header containing these sizes
	* tests/check/gst/gstabi.c: (GST_START_TEST):
	* tests/check/gst/struct_i386.h:
	* tests/check/libs/libsabi.c: (GST_START_TEST):
	* tests/check/libs/struct_i386.h:
	  use it

2006-06-06  Michael Smith  <msmith@fluendo.com>

	* gst/gstsegment.h:
	  Don't use c++-style comments, fixes #343929

2006-06-05  Edward Hervey  <edward@fluendo.com>

	* gst/gst.c:
	plugin_paths is not used if we build without registry support.

	* gst/gstsegment.c: (gst_segment_copy): 
	_copy() was always returning NULL...

2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>

	* libs/gst/dataprotocol/dataprotocol.c:
	(gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
	(gst_dp_packet_from_event):
	  factor out CRC code

2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>

	* libs/gst/check/gstcheck.c: (gst_check_teardown_src_pad):
	  make sure we unset caps

2006-06-02  Michael Smith  <msmith@fluendo.com>

	* libs/gst/check/gstcheck.c: (gst_check_init),
	(gst_check_chain_func):
	* libs/gst/check/gstcheck.h:
	  Add a cond/mutex to the check support lib, signal this whenever we
	  add to the buffers list. This will allow tests to not busy-wait on
	  the buffer-list.

2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>

	* libs/gst/dataprotocol/dataprotocol.c:
	(gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
	(gst_dp_packet_from_event):
	  factor out some common header init code

2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>

	* docs/libs/gstreamer-libs-sections.txt:
	* docs/libs/tmpl/gstdataprotocol.sgml:
	* libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc):
	* libs/gst/dataprotocol/dataprotocol.h:
	  API: make gst_dp_crc() public

2006-06-01  Stefan Kost  <ensonic@users.sf.net>

	* plugins/indexers/gstindexers.c: (plugin_init):
	conditionally register fileindexer (fixes #343598)

2006-06-01  Stefan Kost  <ensonic@users.sf.net>

	* gst/gsttagsetter.h:
	Can't cast ifaces to a class

	* libs/gst/net/gstnetclientclock.h:
	* libs/gst/net/gstnettimeprovider.h:
	* plugins/elements/gstfakesink.h:
	* plugins/elements/gstfakesrc.h:
	* plugins/elements/gstfdsink.h:
	* plugins/elements/gstfdsrc.h:
	* plugins/elements/gstfilesink.h:
	* plugins/elements/gstfilesrc.h:
	* plugins/elements/gstidentity.h:
	* plugins/elements/gstqueue.h:
	* plugins/elements/gsttee.h:
	* plugins/indexers/gstfileindex.c:
	* plugins/indexers/gstmemindex.c:
	* tests/old/examples/plugins/example.h:
	Fix more gobject macros: obj<->klass, GstXXX<->GstXXXClass

2006-06-01  Thomas Vander Stichele  <thomas at apestaart dot org>

	* libs/gst/dataprotocol/dataprotocol.c:
	(gst_dp_header_from_buffer):
	  make sure we zero the whole ABI-compatible area

2006-06-01  Wim Taymans  <wim@fluendo.com>

	Patch by: Alessandro Decina <alessandro at nnva dot org>

	* libs/gst/base/gstcollectpads.c: (gst_collect_pads_stop):
	Make sure the EOS flag is cleared from pads after a flush
	or stop. Fixes #343538.

	* tests/check/libs/collectpads.c: (GST_START_TEST),
	(gst_collect_pads_suite):
	Added test for collectpads reusage after EOS.

2006-05-30  Sebastien Moutte  <sebastien@moutte.net>

	* gst/gst.c:
	 set #include <sys/wait.h> in a #ifdef #ifdef HAVE_FORK
	* win32/common/libgstbase.def:
	 export gst_collect_pads_set_flushing
	* win32/common/libgstreamer.def:
	 export gst_pad_set_acceptcaps_function, gst_structure_empty_new,
	 gst_value_fraction_multiply
	* win32/vs6/gst_inspect.dsp:
	 add a link to intl.lib

2006-05-30  Wim Taymans  <wim@fluendo.com>

	* libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
	(gst_collect_pads_chain):
	Handle the case where a pad is removed from the collection
	that could cause the other pads to become collectable.

2006-05-30  Wim Taymans  <wim@fluendo.com>

	* gst/gstelement.c:
	Clarify the use of _release_request_pad() and
	_get_request_pad() a bit better.

	* libs/gst/base/gstadapter.c: (gst_adapter_peek),
	(gst_adapter_take_buffer):
	Fix some doc and comment typos.

2006-05-30  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>

	* docs/gst/gstreamer-sections.txt:
	* docs/libs/gstreamer-libs-sections.txt:
	  add declared symbols

2006-05-30  Jan Schmidt  <thaytan@mad.scientist.com>

	* gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
	Add debug that can be enabled using a #define at the top of the file,
	for dumping stats about how late/early we were when waking up from
	waiting on the clock.

2006-05-30  Wim Taymans  <wim@fluendo.com>

	* libs/gst/base/gstcollectpads.c: (gst_collect_pads_check_pads):
	When rebuilding the pad list, don't leak the previous list.

2006-05-30  Wim Taymans  <wim@fluendo.com>

	Patch by: Lutz Mueller <lutz at topfrose dot de>

	* libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
	(gst_base_src_get_query_types), (gst_base_src_update_length):
	Publish supported query types.
	Update last_stop field in get_range mode so the position
	query works. Fixes #342321.

2006-05-30  Tim-Philipp Müller  <tim at centricular dot net>

	* docs/gst/gstreamer-sections.txt:
	* gst/gsttaglist.c: (_gst_tag_initialize):
	* gst/gsttaglist.h:
	  API: add GST_TAG_PREVIEW_IMAGE (#343341).

2006-05-30  Wim Taymans  <wim@fluendo.com>

	Patch by: Alessandro Decina <alessandro at nnva dot org>

	* libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad):
	Unlock mutex when removing an unknown pad.
	Fixes #343334.

	* tests/check/Makefile.am:
	* tests/check/libs/collectpads.c: (collected_cb), (push_buffer),
	(push_event), (setup), (teardown), (GST_START_TEST),
	(gst_collect_pads_suite), (main):
	Added collecpads check, disabled for now as check crashes for
	some reason.

2006-05-29  Wim Taymans  <wim@fluendo.com>

	* libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize):
	Don't leak pads lists.

2006-05-29  Wim Taymans  <wim@fluendo.com>

	* docs/libs/gstreamer-libs-sections.txt:
	* libs/gst/base/gstcollectpads.c:
	(gst_collect_pads_set_flushing_unlocked),
	(gst_collect_pads_set_flushing), (gst_collect_pads_start),
	(gst_collect_pads_stop):
	* libs/gst/base/gstcollectpads.h:
	API: gst_collect_pads_set_flushing()
	Added api to set the pads to flushing, useful for seeking
	code in elements using collectpads.
	Clear segment when receiving a flush.

2006-05-29  Tim-Philipp Müller  <tim at centricular dot net>

	* gst/gst.c: (add_path_func), (init_post):
	  Don't scan registry paths passed via --gst-plugin-path immediately
	  (will crash, because absolutely nothing is set up and no types are
	  registered etc.); do this later in init_post(). Fixes #343057.

2006-05-28  Thomas Vander Stichele  <thomas at apestaart dot org>

	* gst/gst.c: (init_post):
	  if we have fork, fork while reading/rebuilding the registry
	  so the parent doesn't take the hit of having all plugins loaded
	  in memory.  Fixes #342777.
	* configure.ac:
	  Check if we have fork()
	* win32/common/config.h.in:
	  no fork() on win32

2006-05-26  Jan Schmidt  <thaytan@mad.scientist.com>

	* plugins/elements/gstelements.c:
	* plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
	(gst_file_src_init), (gst_file_src_set_property),
	(gst_file_src_get_property), (gst_file_src_start):
	* plugins/elements/gstfilesrc.h:
	  API: GstFileSrc::use-mmap

	Add a use-mmap property to enable easier testing of all code paths.
	Bump rank to PRIMARY, so filesrc is the preferred file reader and used
	in the absence of gnomevfssrc. (Closes #340501)

2006-05-26  Zaheer Abbas Merali  <zaheerabbas at merali dot org>

	* tools/gst-inspect.c:
	Add missing include, removes warning of ngettext not being defined on
	some arches.

2006-05-26  Jan Schmidt  <thaytan@mad.scientist.com>

	* gst/gstvalue.c: (gst_value_deserialize_fraction):
	Handle NULL input and output pointers silently as a failed conversion,
	rather than g_warnings.

2006-05-25  Wim Taymans  <wim@fluendo.com>

	* libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_start):
	Initialize variable before using. Fixes #342820.

2006-05-24  Tim-Philipp Müller  <tim at centricular dot net>

	* libs/gst/base/gsttypefindhelper.c: (buf_helper_find_peek):
	  Fix off-by-one bug that would only allow peeks of N-1 bytes
	  from the start even if the buffer to typefind on contains
	  in fact N bytes of data (makes vorbis typefinding from a
	  vorbis identification header buffer work).

	* tests/check/Makefile.am:
	* tests/check/libs/.cvsignore:
	* tests/check/libs/typefindhelper.c: (GST_START_TEST),
	(gst_typefindhelper_suite), (main), (foobar_typefind),
	(plugin_init):
	  Add very basic unit test for gst_type_find_helper_for_buffer()
	  that checks for the problem fixed above.

2006-05-24  Thomas Vander Stichele  <thomas at apestaart dot org>

	* tools/gst-inspect.c: (print_interfaces),
	(print_element_properties_info), (print_element_list), (main):
	  add more translatable strings

2006-05-23  Tim-Philipp Müller  <tim at centricular dot net>

	Patch by: Julien Moutte  <julien at moutte net>

	* docs/gst/gstreamer-sections.txt:
	  Make new GST_FLOW_IS_SUCCESS macro visible in docs.
	  
	* plugins/elements/gstfakesink.c: (gst_fake_sink_class_init),
	(gst_fake_sink_preroll):
	* plugins/elements/gstfakesink.h:
	  API: Add new GstFakeSink::preroll-handoff signal (#337100).

2006-05-23  Wim Taymans  <wim@fluendo.com>

	* gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark):
	* gst/gstpad.h:
	Added _CUSTOM error and success GstFlowReturn that can be
	used be elements internally. 
	Added macro to check for SUCCESS flowreturns.
	API: GST_FLOW_CUSTOM_SUCCESS
	API: GST_FLOW_CUSTOM_ERROR
	API: GST_FLOW_IS_SUCCESS

	* tests/check/gst/gstpad.c: (GST_START_TEST), (gst_pad_suite):
	Added check for GstFlowReturn sanity.

2006-05-23  Wim Taymans  <wim@fluendo.com>

	Patch by: Mark Nauwelaerts <manauw at skynet dot be>

	* libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
	(gst_collect_pads_event):
	clear/reset segment info in FLUSH_STOP.
	Fixes #336929.

2006-05-22  Stefan Kost  <ensonic@users.sf.net>

	* libs/gst/base/gstcollectpads.c: (gst_collect_pads_stop),
	(gst_collect_pads_check_collected):
	Flush queued buffer on _stop(), fixes playing again (#342454)

2006-05-22  Thomas Vander Stichele  <thomas at apestaart dot org>

	* tests/check/gst/gststructure.c: (GST_START_TEST),
	(gst_structure_suite):
	  add a test for a complete structure

2006-05-19  Tim-Philipp Müller  <tim at centricular dot net>

	* docs/faq/developing.xml:
	* docs/faq/faq.xml:
	* docs/faq/troubleshooting.xml:
	* docs/faq/using.xml:
	  Some minor FAQ updates that won't change the fact that
	  our FAQ is badly structured, full of information hardly
	  anyone new to GStreamer needs to know and lacking lots
	  of information people constantly ask for.
	  
2006-05-19  Jan Schmidt  <thaytan@mad.scientist.com>

	* gst/gstpad.c: (gst_pad_set_caps):
	  Short-circuit gst_pad_set_caps if setting the existing
	  caps pointer again, and avoid printing debug and 
	  reffing/unreffing the caps.

	* plugins/elements/gstqueue.c: (gst_queue_push_one):
	  There's actually no need to set the caps before pushing -
	  the acceptcaps method will handle it anyway.

2006-05-19  Tim-Philipp Müller  <tim at centricular dot net>

	* docs/gst/gstreamer-sections.txt:
	* win32/common/libgstreamer.def:
	* gst/gstutils.c: (gst_element_seek_simple):
	* gst/gstutils.h:
	  API: add gst_element_seek_simple() (#342238).

2006-05-18  Edward Hervey  <edward@fluendo.com>

	* gst/gsttypefind.c: (gst_type_find_get_type):
	* gst/gsttypefind.h:
	Added GST_TYPE_TYPE_FIND and gst_type_find_get_type() so a GType gets
	registered for GstTypeFind pointers. This allows wrapping the structure
	in bindings (i.e. gst-python).

2006-05-18  Tim-Philipp Müller  <tim at centricular dot net>

	* gst/gsttagsetter.c:
	  Docs additions and fixes (see #339918).

2006-05-18  Jan Schmidt  <thaytan@mad.scientist.com>

	* plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
	The caps intersection algorithm can produce multiple copies of the
	caps. Until that is fixed, we need to simplify the result to be
	sure whether the allowed caps are fixed or not.

	* plugins/elements/gstqueue.c: (gst_queue_init),
	(gst_queue_bufferalloc), (gst_queue_acceptcaps),
	(gst_queue_push_one):
	Proxied buffer alloc should not set the caps on the source pad.
	When pushing buffers, we always accept the caps change that triggers.
	This prevents negotiation errors caused by caps changing mid-stream 
	and then being refused on our source pad (because upstream is now
	refusing those caps).

2006-05-18  Tim-Philipp Müller  <tim at centricular dot net>

	* tests/examples/helloworld/helloworld.c: (main):
	  Must plug audioconvert and audioresample between decoder
	  and audio sink.

2006-05-17  Jan Schmidt  <thaytan@mad.scientist.com>

	* gst/gstregistryxml.c: (read_string), (load_pad_template),
	(load_feature), (load_plugin):
	Allow empty strings for some of the plugin fields so we don't 
	drop valid plugin entries that were written out correctly
	(Fixes #341479)

2006-05-17  Sebastien Moutte  <sebastien@moutte.net>
	
	* gst/gstregistryxml.c: (gst_registry_xml_write_cache):
	  Use g_remove and g_rename instead of remove and rename that don't 
	  handle utf8 characters. rename was failing for users who had specific
	  characters in their name then the registry was built at each 
	  gstreamer init.
	* win32/vs6/gst_inspect.dsp:
	* win32/vs6/gst_launch.dsp:
	* win32/vs6/libgstbase.dsp:
	* win32/vs6/libgstcoreelements.dsp:
	* win32/vs6/libgstreamer.dsp:
	  Use a debug version of libxml2 (libxml2D.lib,libxml2D.dll) for DEBUG 
	  build of libgstreamer and clean unused libraries in projects link 
	  settings.

2006-05-17  Edward Hervey  <edward@fluendo.com>

	* plugins/elements/gstqueue.c: (gst_queue_push_one):
	The queue is not responsible for pushing an EOS when receiving a fatal
	flow error. It's up to the real element driving the pipeline to do that.

2006-05-16  Edward Hervey  <edward@fluendo.com>

	* plugins/elements/gstqueue.c: (gst_queue_push_one):
	The queue was posting a non-needed GST_MESSAGE_ERROR when pushing a
	buffer returned a fatal error. It should just send an EOS and stop
	its task.
	Upstream elements will then properly receive the GST_FLOW_UNEXPECTED
	when pushing buffers on the queue and will be able to handle the event.

2006-05-16  Tim-Philipp Müller  <tim at centricular dot net>

	* docs/manual/basics-bins.xml:
	* docs/manual/basics-init.xml:
	  Fix typos and minor errors in sample code (#341856).

2006-05-16  Wim Taymans  <wim@fluendo.com>

	* docs/design/part-qos.txt:
	Fix indexes in formulas to make more sense.

2006-05-15  Wim Taymans  <wim@fluendo.com>

	* libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
	Don't report POSITION based on clock time if sync is
	disabled in a sink.

2006-05-15  Tim-Philipp Müller  <tim at centricular dot net>

	* gst/gstobject.h:
	  Add cast to make compiler happy - refcount variable was a gint
	  in GstObject but is a guint in GObject and g_atomic_int_get()
	  wants a gint *.

2006-05-15  Thomas Vander Stichele  <thomas at apestaart dot org>

	* gst/parse/Makefile.am:
	  chain commands using &&, which also makes parallel make work

2006-05-14  Tim-Philipp Müller  <tim at centricular dot net>

	* docs/gst/gstreamer-sections.txt:
	* gst/gstevent.c:
	* gst/gstevent.h:
	* gst/gstmessage.h:
	  Minor docs fixes.

=== release 0.10.6 ===

2006-05-14  Jan Schmidt <thaytan@mad.scientist.com>

	* configure.ac:
	  releasing 0.10.6, "Take the cannoli"

2006-05-13  Tim-Philipp Müller  <tim at centricular dot net>

	* tools/gst-launch.c: (print_tag):
	  Fix use of uninitialized variable in the hypothetical
	  case that some broken plugin creates a GST_TAG_IMAGE
	  tag containing a NULL buffer (#341667).

2006-05-12  Tim-Philipp Müller  <tim at centricular dot net>

	* tools/gst-launch.c: (print_tag):
	  Print something more intelligible for image tags when
	  using the -t switch (#341556).

2006-05-12  Thomas Vander Stichele  <thomas at apestaart dot org>

	* Makefile.am:
	  updates for win32
	* configure.ac:
	  define GST_MAJORMINOR so we have it available in win32/common/config.h
	  Possibly remove it from our Makefile.am files later
	* win32/common/config.h:
	* win32/common/config.h.in:
	  added GST_MAJORMINOR
	* win32/common/gstenumtypes.c: (register_gst_resource_error):
	* win32/common/gstversion.h:
	  updated

2006-05-12  Sebastien Moutte  <sebastien@moutte.net>

	* win32/MANIFEST:
	  Update win32 files listing.
	* win32/common/gstversion.h:
	  Add GST_MAJORMINOR definition.
	* win32/common/libgstreamer.def:
	  Add new exported functions.
	  
2006-05-12  Michael Smith  <msmith@fluendo.com>

	* gst/gstplugin.c: (gst_plugin_load_file):
	  If an so file has no plugin entry point, unload the module.

2006-05-11  Wim Taymans  <wim@fluendo.com>

	* plugins/elements/gstqueue.c: (gst_queue_chain), (gst_queue_loop),
	(gst_queue_set_property):
	Don't forget to signal the _chain or _loop function 
	when the queue size or thresholds change since that might
	cause them to make progres again.

2006-05-11  Stefan Kost  <ensonic@users.sf.net>

	* gst/gstclock.c: (gst_clock_class_init):
	* gst/gstindex.c: (gst_index_class_init):
	* gst/gstobject.c: (gst_object_class_init):
	* gst/gstpad.c: (gst_pad_class_init):
	* gst/gstpipeline.c: (gst_pipeline_class_init):
	* libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
	* libs/gst/base/gstbasesrc.c: (gst_base_src_class_init):
	* libs/gst/base/gstbasetransform.c:
	(gst_base_transform_class_init):
	* libs/gst/net/gstnetclientclock.c:
	(gst_net_client_clock_class_init):
	* libs/gst/net/gstnettimeprovider.c:
	(gst_net_time_provider_class_init):
	* plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init):
	* plugins/elements/gstfakesink.c: (gst_fake_sink_class_init):
	* plugins/elements/gstfakesrc.c: (gst_fake_src_class_init):
	* plugins/elements/gstfdsink.c: (gst_fd_sink_class_init):
	* plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
	* plugins/elements/gstfilesink.c: (gst_file_sink_class_init):
	* plugins/elements/gstfilesrc.c: (gst_file_src_class_init):
	* plugins/elements/gstidentity.c: (gst_identity_class_init):
	* plugins/elements/gsttee.c: (gst_tee_class_init):
	* tests/old/examples/plugins/example.c: (gst_example_class_init):
	* tests/old/testsuite/threads/signals.c: (gst_test_class_init):
	  G_OBJECT_CLASS macro usage batch cleanup, fixes #337747 for core

2006-05-11  Wim Taymans  <wim@fluendo.com>

	* gst/gstbuffer.c: (_gst_buffer_initialize):
	Register subbufer along with the buffer type so that
	it does not accidentally gets registered from N
	different streaming threads in a non threadsafe way.

2006-05-10  Tim-Philipp Müller  <tim at centricular dot net>

	* gst/gstbuffer.h:
	* gst/gstevent.h:
	* gst/gstmessage.h:
	  Make gtk-doc generate docs for our inlined gst_buffer_ref(),
	  gst_event_ref() and gst_message_ref() functions again
	  (ugly hack, please do fix if there's a better way besides
	  overrides.txt, which doesn't seem to work).

2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>

	* libs/gst/check/gstcheck.h:
	  add an assert for setting state to avoid lots of repetitive code
	  in the future

2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>

	* gst/gstvalue.c: (gst_value_serialize_flags):
	  fix a leak if no flags are set
	* tests/check/gst/gstvalue.c: (GST_START_TEST):
	  fix leak in tests

2006-05-10  Tim-Philipp Müller  <tim at centricular dot net>

	* docs/manual/basics-pads.xml:
	  Expand a bit on caps and filtered links and update
	  examples that were still using the no longer existing
	  gst_pad_link_filtered() (#338206).

2006-05-10  Wim Taymans  <wim@fluendo.com>

	* libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
	(gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
	(gst_collect_pads_set_flushing), (gst_collect_pads_start),
	(gst_collect_pads_stop):
	* libs/gst/base/gstcollectpads.h:
	No need to call _stop in _finalize.
	Iterate the main pad list in _finalize.
	Added some more debug.
	Free lists and data in the right order.
	Also free data whem doing _remove_pad when stopped for
	backward compatibility protect ::started with PAD_LOCK as
	well.

2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>

	* gst/gststructure.c: (gst_structure_gtype_from_abbr),
	(gst_structure_parse_value):
	  add some comments
	  rename a method so that it actually says what it does better

2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>

	* gst/gstevent.c: (_gst_event_initialize):
	* gst/gstformat.c: (_gst_format_initialize):
	  make sure some essential types used by events are registered
	  as part of gst_init()
	* gst/gstvalue.c: (gst_value_serialize_flags):
	  if no flags are set, serialize them to a value that represents NONE
	  so that deserializing them works
	* tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
	  add tests for serialization and deserialization of flags

2006-05-10  Wim Taymans  <wim@fluendo.com>

	* libs/gst/base/gstcollectpads.c: (gst_collect_pads_collect),
	(gst_collect_pads_collect_range), (gst_collect_pads_available),
	(gst_collect_pads_check_pads), (gst_collect_pads_check_collected),
	(gst_collect_pads_event), (gst_collect_pads_chain):
	Update docs.
	Better debug info.
	Catch and return errors from the collect function
	Refuse data on eos pads.

2006-05-10  Edward Hervey  <edward@fluendo.com>

	* gst/gstinterface.h:
	GST_IMPLEMENTS_INTERFACE and GST_IS_IMPLEMENTS_INTERFACE use the normal
	GInterface type checking.
	They were previously using non-defined macros.

2006-05-09  Wim Taymans  <wim@fluendo.com>

	* libs/gst/base/gstcollectpads.c: (gst_collect_pads_init),
	(gst_collect_pads_finalize), (gst_collect_pads_add_pad),
	(gst_collect_pads_remove_pad), (gst_collect_pads_set_flushing),
	(gst_collect_pads_start), (gst_collect_pads_stop),
	(gst_collect_pads_peek), (gst_collect_pads_pop),
	(gst_collect_pads_available), (gst_collect_pads_read),
	(gst_collect_pads_flush), (gst_collect_pads_check_pads),
	(gst_collect_pads_is_collected), (gst_collect_pads_event),
	(gst_collect_pads_chain):
	* libs/gst/base/gstcollectpads.h:
	Clean up the mess that is collectpads, add comments and
	FIXMEs where needed.
	Maintain a separate pad list so we can add pads while
	collecting the other ones. For this we need a new separate 
	lock (see comics).
	Fix memory leak in finalize.
	Refactor some weird code to set/unset pad flushing flags, mark
	with comments.
	Don't crash in _available, _read, _flush when we're EOS.

	* tests/check/libs/.cvsignore:
	Ignore adapter check binary.

2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>

	* gst/gstindex.c: (gst_index_resolver_get_type):
	* plugins/elements/gstfakesink.c:
	(gst_fake_sink_state_error_get_type):
	* plugins/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
	(gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type):
	* plugins/elements/gstqueue.c: (queue_leaky_get_type):
	  Const-ify GEnumValue arrays.

2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>

	* tests/check/gst/gstbuffer.c: (GST_START_TEST):
	  Add test case for flags + gst_buffer_make_metadata_writable().

2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>

	* gst/gstbuffer.c: (gst_buffer_make_metadata_writable):
	  gst_buffer_make_metadata_writable() should maintain the
	  buffer flags (those that make sense at least) (see #340859).

2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>

	* tools/gst-inspect.c:
	* tools/gst-launch.c:
	* tools/gst-typefind.c:
	* tools/gst-xmlinspect.c:
	* tools/tools.h:
	  Fix up includes: need to include stdlib.h in tools.h for exit().

2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>

	* gst/gsttaglist.c: (_gst_tag_initialize):
	* gst/gsttaglist.h:
	  API: add GST_TAG_IMAGE tag (#340721).

2006-05-08  Wim Taymans  <wim@fluendo.com>

	* gst/gstquery.c:
	Added some docs for the segment query.

2006-05-08  Wim Taymans  <wim@fluendo.com>

	* libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
	(gst_base_src_loop), (gst_base_src_change_state):
	Always push non-flushing serialized events in the streaming 
	thread.

2006-05-08  Thomas Vander Stichele  <thomas at apestaart dot org>

	* gst/gsterror.c: (_gst_stream_errors_init):
	  Add a missing error string.

2006-05-08  Jan Schmidt  <thaytan@mad.scientist.com>

	* libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment):
	Add applied_rate to the debug

	* libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
	Copy applied_rate into the outgoing NEWSEGMENT event

2006-05-08  Wim Taymans  <wim@fluendo.com>

	Patch by: Philippe Rouquier <philippero at libertysurf dot fr>

	* libs/gst/base/gstbasesink.c: (gst_base_sink_set_flushing),
	(gst_base_sink_change_state):
	call ::unlock before taking the PREROLL_LOCK so we can safely
	handle elements that lock in ::render.
	Fixes #340174.

2006-05-08  Edward Hervey  <edward@fluendo.com>

	* autogen.sh: (CONFIGURE_DEF_OPT): 
	Darwin's libtoolize is in fact called glibtoolize.
	Adding glibtoolize to the list of accepted names for libtoolize.

2006-05-08  Wim Taymans  <wim@fluendo.com>

	* libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
	Unify error handling, don't post an error message
	when a push() returns EOS but perform our normal EOS
	handling code. Fixes #340772.

2006-05-08  Wim Taymans  <wim@fluendo.com>

	* docs/design/part-overview.txt:
	Make upsteam/downstream concepts more clear.
	Give an example of serialized/non-serialized events.

	* docs/design/part-events.txt:
	* docs/design/part-streams.txt:
	Mention applied_rate.

	* docs/design/part-trickmodes.txt:
	Mention applied rate, flesh out some more use cases.

	* gst/gstevent.c: (gst_event_new_new_segment),
	(gst_event_parse_new_segment), (gst_event_new_new_segment_full),
	(gst_event_parse_new_segment_full), (gst_event_new_tag),
	(gst_event_parse_tag), (gst_event_new_buffer_size),
	(gst_event_parse_buffer_size), (gst_event_new_qos),
	(gst_event_parse_qos), (gst_event_parse_seek),
	(gst_event_new_navigation):
	* gst/gstevent.h:
	Add applied_rate field to NEWSEGMENT event.
	API: gst_event_new_new_segment_full()
	API: gst_event_parse_new_segment_full()

	* gst/gstsegment.c: (gst_segment_init), (gst_segment_set_seek),
	(gst_segment_set_newsegment), (gst_segment_set_newsegment_full),
	(gst_segment_to_stream_time), (gst_segment_to_running_time):
	* gst/gstsegment.h:
	Add applied_rate to GstSegment structure.
	Make calculation of stream_time and running_time more correct
	wrt rate/applied_rate.
	Add some more docs.
	API: GstSegment::applied_rate field
	API: gst_segment_set_newsegment_full();

	* libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
	(gst_base_sink_get_sync_times), (gst_base_sink_get_position):
	* libs/gst/base/gstbasetransform.c:
	(gst_base_transform_sink_eventfunc),
	(gst_base_transform_handle_buffer):
	Parse and use applied_rate in the GstSegment field.

	* tests/check/gst/gstevent.c: (GST_START_TEST):
	Add check for applied_rate field.

	* tests/check/gst/gstsegment.c: (GST_START_TEST),
	(gstsegments_suite):
	Add more checks for various GstSegment operations.

2006-05-08  Wim Taymans  <wim@fluendo.com>

	* libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
	(gst_base_sink_do_sync), (gst_base_sink_chain_unlocked),
	(gst_base_sink_get_position), (gst_base_sink_change_state):
	Store the sync time of the buffer end position separatly in a
	new variable eos_rtime so we can properly sync the EOS event.
	Fixes #340697.
	Fix the docs for gst_base_sink_set_qos_enabled().
	Don't set segment start to invalid value when we receive a 
	non TIME newsegment.
	get closer to handling position reporting for negative rates 
	correctly.

2006-05-07  Stefan Kost  <ensonic@users.sf.net>

	* gst/gstcaps.c:
	Docs about how to print caps for debug purposes.

	* gst/gstpadtemplate.c: (gst_static_pad_template_get):
	use gst_caps_make_writable instead of gst_caps_copy, Fixes #340608

2006-05-07  Stefan Kost  <ensonic@users.sf.net>

	* gst/gstelement.c:
	  use full enum names and preprend a '%' in docs strings to make recent 
	  gtk-doc turn that into a link

2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>

	* docs/manual/basics-bins.xml:
	* docs/manual/basics-bus.xml:
	* docs/manual/basics-pads.xml:
	  Some typo fixes, some additions, some clarifications. 

2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>

	* tools/gst-inspect.c: (main):
	* tools/gst-launch.c: (main):
	* tools/gst-run.c: (main):
	* tools/gst-typefind.c: (main):
	* tools/gst-xmlinspect.c: (main):
	  Use the string passed to g_option_context_new() for
	  what it's intended for - the program name is already
	  printed elsewhere.

2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>

	* tools/Makefile.am:
	* tools/gst-inspect.c: (main):
	* tools/gst-launch.c: (main):
	* tools/gst-xmlinspect.c: (main):
	* tools/tools.h:
	  Add back --version command line option (#340460).

	* tools/gst-typefind.c: (have_type_handler), (typefind_file), (main):
	  Add --version option and use GOption for argument parsing; refactor a
	  bit; accept directories as arguments and recurse into them; lastly,
	  print a decent error message when things go wrong.

2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>

	* docs/manual/basics-bins.xml:
	Don't mention GstThread (#340611)
	* docs/manual/basics-elements.xml:
	Update link to GObject tutorial (#340607)
	
2006-05-05  Wim Taymans  <wim@fluendo.com>

	* gst/gstbuffer.h:
	* gst/gstminiobject.c:
	Add note about refcounting and miniobject/buffer writeability
	to docs. Fixes #340604

	* gst/gstelementfactory.h:
	Added some explanation about @klass.

2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>

	* docs/manual/intro-motivation.xml:
	* docs/manual/manual.xml:
	Avoid CORBA & Bonobo references (#340598)

2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>

	* docs/manual/basics-bus.xml:
	* docs/manual/basics-pads.xml:
	Fix up some inaccuracies and omissions (#340609)
	
2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>

	* gst/gstghostpad.c:
	  Small typo in docs (#340625)

2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>

	* gst/parse/Makefile.am:
	  Make 'make -j' proof (see #340698).

2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>

	* configure.ac:
	  Require GLib-2.8 here as well.

2006-05-05  Wim Taymans  <wim@fluendo.com>

	* gst/glib-compat.c:
	* gst/gst.c: (init_pre):
	* gst/gstobject.c: (gst_object_init), (gst_object_ref),
	(gst_object_unref), (gst_object_replace), (gst_object_dispose),
	(gst_object_dispatch_properties_changed):
	* gst/gstobject.h:
	* gst/gstregistryxml.c: (gst_registry_xml_read_cache):
	* gst/gststructure.c: (gst_structure_set_valist):
	* gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
	Remove pre glib2.8 compatibility, fixes #340508

2006-05-04  Tim-Philipp Müller  <tim at centricular dot net>

	* gst/gsttaglist.h:
	  Mention type of tags in doc blurbs.

2006-05-04  Jan Schmidt  <thaytan@mad.scientist.com>

	* gst/gstpad.c: (gst_pad_init), (gst_pad_configure_sink),
	(gst_pad_configure_src), (gst_pad_push):
	Restore acceptcaps checking behaviour now that good plugins have
	been released.

2006-05-04  Tim-Philipp Müller  <tim at centricular dot net>

	Patch by: James Andrewartha <trs80 at tartarus uwa edu au>

	* gst/gst.c:
	* gst/gstbus.c:
	* gst/gstclock.c:
	* gst/gstevent.c:
	* gst/gstformat.c:
	* gst/gstmessage.c:
	* gst/gstparse.c:
	* gst/gstquery.c:
	* gst/gstutils.c:
	* gst/parse/Makefile.am:
	* libs/gst/base/gstadapter.c:
	* libs/gst/base/gstbasesrc.c:
	* libs/gst/base/gstpushsrc.c:
	* libs/gst/base/gsttypefindhelper.c:
	* plugins/elements/gstfakesrc.c:
	* plugins/elements/gstidentity.c:
	  Make sure gstprivate.h and/or config.h are
	  always included first, otherwise some of our
	  defines (like _FILE_OFFSET_BITS) might be
	  redefined in the system headers. Fixes build
	  on opensolaris (#340016).

2006-05-04  Wim Taymans  <wim@fluendo.com>

	* docs/libs/gstreamer-libs-sections.txt:
	API: addition: gst_adapter_take_buffer()
	
	* libs/gst/base/gstadapter.c: (gst_adapter_push),
	(gst_adapter_peek), (gst_adapter_take), (gst_adapter_take_buffer),
	(gst_adapter_available_fast):
	* libs/gst/base/gstadapter.h:
	Prepare for optimizing the hell out of this hugely inefficient
	piece of code. 
	Added gst_adapter_take_buffer() so we can at least start thinking
	about subbuffering and merging.
	Added some comments.

	* tests/check/Makefile.am:
	* tests/check/libs/adapter.c: (GST_START_TEST),
	(gst_adapter_suite), (main):
	Added GstAdapter check.

2006-05-04  Wim Taymans  <wim@fluendo.com>

	* docs/design/part-overview.txt:
	Fix some typos, add blurb about buffer flags.

2006-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>

	* docs/libs/gstreamer-libs-sections.txt:
	  make sure GstBaseTransformClass shows up in the docs
	* libs/gst/base/gstbasetransform.c:
	* libs/gst/base/gstbasetransform.h:
	  move docs so gtk-doc picks it up now

2006-05-02  Stefan Kost  <ensonic@users.sf.net>

	* docs/libs/gstreamer-libs-sections.txt:
	  add missing symbols to docs

2006-05-02  Stefan Kost  <ensonic@users.sf.net>

	* libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
	  back out the newsegment handling change, see #340060 for ongoing
	  discussion

2006-04-30  Tim-Philipp Müller  <tim at centricular dot net>

	* tools/gst-run.c: (get_candidates), (main):
	  Fix wrong g_file_test() usage (see glib docs for why it doesn't
	  work); fix typo in error message. Fixes #340079.

2006-04-29  Thomas Vander Stichele  <thomas at apestaart dot org>

	* common/Makefile.am:
	* docs/Makefile.am:
	* docs/faq/Makefile.am:
	* docs/gst/Makefile.am:
	* docs/libs/Makefile.am:
	* docs/manual/Makefile.am:
	* docs/plugins/Makefile.am:
	* docs/pwg/Makefile.am:
	* docs/slides/Makefile.am:
	* docs/upload.mak:
	* common/upload.mak:
	  move upload.mak to common

2006-04-29  Thomas Vander Stichele  <thomas at apestaart dot org>

	* tests/check/gst/gstghostpad.c: (GST_START_TEST):
	  add more asserts on refcounts
	  do more cleanup at end of tests
	  fix test leaks showing in FC5

2006-04-29  Stefan Kost  <ensonic@users.sf.net>

	* plugins/elements/gsttypefindelement.c:
	(gst_type_find_element_handle_event):
	reverted wrong change and reflowed code to avoid others falling into
	this trap

2006-04-28  Stefan Kost  <ensonic@users.sf.net>

	* libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
	  fix changelog entry about last collectpads change,
	  add notes about proper fix

2006-04-28  Stefan Kost  <ensonic@users.sf.net>

	* gst/gst.c:
	* gst/gstregistry.c: (gst_registry_scan_path_level),
	(gst_registry_scan_path):
	* gst/gstregistry.h:
	  only write out registry if it has changed, fixes #338339

2006-04-28  Stefan Kost  <ensonic@users.sf.net>

	* gst/gstbin.c:
	* gst/gstpipeline.c:
	* plugins/elements/gstcapsfilter.c:
	* plugins/elements/gstfakesink.c:
	* plugins/elements/gstfakesrc.c:
	* plugins/elements/gstfdsink.c:
	* plugins/elements/gstfdsrc.c:
	* plugins/elements/gstfilesink.c:
	* plugins/elements/gstfilesrc.c:
	* plugins/elements/gstidentity.c:
	* plugins/elements/gstqueue.c:
	* plugins/elements/gsttee.c:
	* plugins/elements/gsttypefindelement.c:
	(gst_type_find_element_handle_event):
	  make GstElementDetails const

2006-04-28  Stefan Kost  <ensonic@users.sf.net>

	* libs/gst/base/gstbasesink.c: (gst_base_sink_event):
	* libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
	(gst_collect_pads_is_collected), (gst_collect_pads_event):
	  more detailed debug and formatting cleanup,
	  forward newsegments to src-pad (so that e.g. adder not eats them)

2006-04-28  Stefan Kost  <ensonic@users.sf.net>

	* gst/gstutils.c: (gst_element_link_pads):
	  cleanup double code

2006-04-28  Stefan Kost  <ensonic@users.sf.net>

	* libs/gst/controller/gstcontroller.c:
	(gst_controller_sync_values):
	  some little tuning
	* tests/check/libs/controller.c: (GST_START_TEST),
	(gst_controller_suite):
	  a new test for live value handling

2006-04-28  Wim Taymans  <wim@fluendo.com>

	* gst/gstutils.c: (push_and_ref):
	Added some more docs.
	Fix refcount issue whith gst_element_found_tags() helper 
	function. Fixes #338335

	* tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
	Added testsuite for gst_element_found_tags().

2006-04-28  Michael Smith  <msmith@fluendo.com>

	* gst/gstvalue.c: (gst_value_serialize_flags):
	  Avoid NULL dereference when trying to serialize flags containing
	  invalid values.

2006-04-28  Michael Smith  <msmith@fluendo.com>

	* plugins/elements/gsttypefindelement.c:
	(gst_type_find_element_handle_event):
	  If we get EOS before any data is accumulated, don't use
	  uninitialised local variables.

2006-04-28  Michael Smith  <msmith@fluendo.com>

	* libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
	(gst_dp_event_from_packet):
	  Fixes in reading/writing events over GDP (not currently used?) - 
	  dereferencing NULL events for unknown/invalid event types, memory
	  leak, and change g_warning to GST_WARNING.

2006-04-28  Wim Taymans  <wim@fluendo.com>

	* libs/gst/base/gstbasesink.c: (gst_base_sink_is_too_late),
	(gst_base_sink_do_render_stats), (gst_base_sink_render_object),
	(gst_base_sink_get_position), (gst_base_sink_change_state):
	When frame dropping is enabled, we should not ignore frames
	without a duration.
	Update some documentation.

2006-04-28  Wim Taymans  <wim@fluendo.com>

	* libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
	(gst_base_src_send_event), (gst_base_src_change_state):
	Documentation updates.

2006-04-28  Wim Taymans  <wim@fluendo.com>

	* plugins/elements/gstfdsink.c: (gst_fd_sink_render),
	(gst_fd_sink_check_fd), (gst_fd_sink_update_fd):
	handle EAGAIN, EINTR and short writes correctly. Also clean
	up some error cases, avoid a deadlock on bad file descriptors and
	use GST_DEBUG_OBJECT.
	Fixes #339843

2006-04-28  Wim Taymans  <wim@fluendo.com>

	* gst/gstvalue.c: (gst_value_serialize_buffer),
	(gst_value_deserialize_buffer):
	Don't try to serialize a GValue with a NULL buffer. 
	Fixes #339821.

	* tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
	Added check for serialisation of NULL buffers.

2006-04-28  Wim Taymans  <wim@fluendo.com>

	* gst/gstminiobject.c: (gst_value_take_mini_object):
	Taking a NULL miniobject is valid, fix the case where
	we try to unref the NULL miniobject.

2006-04-28  Wim Taymans  <wim@fluendo.com>

	Patch by: Stefan Kost <ensonic at sonicpulse dot de>

	* gst/gstbin.c: (gst_bin_handle_message_func):
	Update docs.
	Don't leak bin refcount when a state recalc is
	in progress and we delay another one #339808.

2006-04-28  Wim Taymans  <wim@fluendo.com>

	* docs/design/part-TODO.txt:
	Mention QoS as an ongoing work item.

	* docs/design/part-buffering.txt:
	New doc about buffering that needs to be fleshed out
	at some point.

	* docs/design/part-qos.txt:
	More QoS policy for decoders/demuxers/transforms

	* docs/design/part-trickmodes.txt:
	Small update.

2006-04-28  Thomas Vander Stichele  <thomas at apestaart dot org>

	* configure.ac:
	  back to HEAD

=== release 0.10.5 ===

2006-04-28  Thomas Vander Stichele <thomas at apestaart dot org>

	* configure.ac:
	  releasing 0.10.5, "Fogo"

2006-04-22  Thomas Vander Stichele  <thomas at apestaart dot org>

	patch by: Wim Taymans

	* gst/gstpad.c: (gst_pad_init), (gst_pad_configure_sink),
	(gst_pad_configure_src), (gst_pad_push):
	* gst/gstpipeline.c: (gst_pipeline_init):
	  Fix internal data flow errors.  Fixes #338711.

2006-04-12  Wim Taymans  <wim@fluendo.com>

	* tests/check/gst/gstelement.c: (GST_START_TEST):
	Don't leak the factory.

2006-04-12  Thomas Vander Stichele  <thomas at apestaart dot org>

	* configure.ac:
	* win32/common/config.h:
	  prerelease

2006-04-12  Tim-Philipp Müller  <tim at centricular dot net>

	* libs/gst/controller/gstcontroller.c: (gst_controller_unset),
	(gst_controller_unset_all):
	  Free allocated GstTimedValues when freeing list nodes.
	  Should fix leaks 'make check-valgrind' complains about.

	* win32/common/libgstcontroller.def:
	  Add gst_controller_unset_all.

2006-04-11  Stefan Kost  <ensonic@users.sf.net>

	* docs/libs/gstreamer-libs-sections.txt:
	* libs/gst/controller/gstcontroller.c: (gst_controller_unset),
	(gst_controller_unset_all):
	* libs/gst/controller/gstcontroller.h:
	API: Added new method gst_controller_unset_all()
	fixed gst_controller_unset()
	* tests/check/libs/controller.c: (GST_START_TEST),
	(gst_controller_suite):
	Added two testcases for new and fixed method

2006-04-11  Tim-Philipp Müller  <tim at centricular dot net>

	* libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send):
	  MSG_DONTWAIT is not defined on Cygwin, so work
	  around that (fixes #317048).
	  
2006-04-11  Wim Taymans  <wim@fluendo.com>

	* gst/gstelementfactory.c: (gst_element_register),
	(gst_element_factory_create), (gst_element_factory_make):
	Some cleanups.
	Fixed a FIXME.
	Updated docs (Fixes #131079)

	* gst/gstpluginfeature.c: (gst_plugin_feature_load):
	Small cleanups.

	* tests/check/gst/gstelement.c: (GST_START_TEST),
	(gst_element_suite):
	Added testcase for elementfactory class field.

2006-04-10  Wim Taymans  <wim@fluendo.com>

	* gst/gstsegment.c:
	Added some more docs.

	* libs/gst/base/gstbasesink.c: (gst_base_sink_perform_qos),
	(gst_base_sink_reset_qos):
	Calculate more accurate rate values.

2006-04-09  Sebastien Moutte  <sebastien@moutte.net>

	* gst/gst_private.h:
	  add a new #ifdef to use __declspec(dllimport) only for
	  other modules and not for gstreamer core
	* gst/gstbasesink.c: (gst_base_sink_perform_qos):
	  use gst_guint64_to_gdouble for conversion
	* win32/common/libgstreamer.def:
	  add new exported functions
	* win32/vs6/gst_inspect.dsp:
	* win32/vs6/gst_launch.dsp:
	* win32/vs6/libgstbase.dsp:
	* win32/vs6/libgstcontroller.dsp:
	* win32/vs6/libgstcoreelements.dsp:
	* win32/vs6/libgstdataprotocol.dsp:
	* win32/vs6/libgstnet.dsp:
	  update project files

2006-04-08  Stefan Kost  <ensonic@users.sf.net>

	* gst/gstbuffer.c: (gst_subbuffer_class_init):
	* gst/gstclock.c: (gst_clock_class_init):
	* gst/gstelement.c: (gst_element_class_init):
	* gst/gstindex.c: (gst_index_class_init):
	* gst/gstindexfactory.c: (gst_index_factory_class_init):
	* gst/gstobject.c: (gst_object_class_init),
	(gst_signal_object_class_init):
	* gst/gstpad.c: (gst_pad_class_init):
	* gst/gstpadtemplate.c: (gst_pad_template_class_init):
	* gst/gstpluginfeature.c: (gst_plugin_feature_class_init):
	* gst/gstregistry.c: (gst_registry_class_init):
	* gst/gstsystemclock.c: (gst_system_clock_class_init):
	* gst/gsttask.c: (gst_task_class_init):
	* gst/gstxml.c: (gst_xml_class_init):
	* libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
	* libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
	(gst_base_src_loop):
	* libs/gst/controller/gstcontroller.c:/
	(_gst_controller_class_init):
	* plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
	* plugins/indexers/gstfileindex.c: (gst_file_index_class_init):
	* plugins/indexers/gstmemindex.c: (gst_mem_index_class_init):
	* tests/old/examples/plugins/example.c: (gst_example_class_init):
	* tests/old/testsuite/threads/signals.c: (gst_test_class_init):
	Fix #337365 (g_type_class_ref <-> g_type_class_peek_parent)

2006-04-08  Tim-Philipp Müller  <tim at centricular dot net>

	* gst/gstpad.c: (gst_pad_link):
	  Must set peer pads before calling the link function, otherwise
	  a task started from a link function might get a flow-not-linked
	  result when trying to push because the other thread where the
	  linking happens hasn't had a chance to set the peers yet. This
	  might happen for example when a queue gets linked to a downstream
	  element, as queue starts a streaming task when its source pad
	  gets linked. Happens in real life when playing back flac/musepack
	  files in playbin (#332390).
	  
2006-04-08  Stefan Kost  <ensonic@users.sf.net>

	* gst/gstindex.h:
	* gst/gstxml.h:
	* libs/gst/base/gstadapter.h:
	* libs/gst/base/gstbasesink.h:
	* libs/gst/base/gstbasesrc.h:
	* libs/gst/base/gstbasetransform.h:
	* libs/gst/base/gstcollectpads.h:
	* libs/gst/base/gstpushsrc.h:
	Fix broken GObject macros

2006-04-07  Wim Taymans  <wim@fluendo.com>

	* libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
	Initialize start and stop times, thanks valgrind.

2006-04-07  Wim Taymans  <wim@fluendo.com>

	* libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
	Be a bit nicer to badly behaving upstream elements that expect
	us to deal with non TIME segments and timestamps (such as fakesrc
	in the testsuite).

2006-04-07  Wim Taymans  <wim@fluendo.com>

	* gst/gstbus.c:
	Small documentation clarification about the signal watch.

	* libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
	(gst_base_sink_wait_clock), (gst_base_sink_do_sync),
	(gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
	(gst_base_sink_do_render_stats), (gst_base_sink_render_object),
	(gst_base_sink_get_position_last),
	(gst_base_sink_get_position_paused), (gst_base_sink_change_state):
	Convert and store timestamps in stream time and running time, the
	raw timestamps are not useful, also document this better.
	Use different window sizes for good and bad QoS observations so
	we react to badness a little quicker.
	Keep track of the amount of rendered and dropped buffers.
	Send QoS timestamps in running time.

	* libs/gst/base/gstbasetransform.c:
	(gst_base_transform_sink_eventfunc),
	(gst_base_transform_handle_buffer):
	Compare QoS timestamps against running time.

2006-04-06  Tim-Philipp Müller  <tim at centricular dot net>

	* gst/gstpad.c:
	  Typo fixes in docs.

2006-04-06  Michael Smith  <msmith@fluendo.com>

	* gst/gstpad.c: (gst_pad_set_property):
	  Use g_value_get_object() instead of g_value_dup_gst_object(),
	  to avoid double-reffing the pad template (which we then sink,
	  so this worked previously if (and only if) the pad template
	  was floating.

	* gst/gstpadtemplate.c: (gst_pad_template_init),
	(gst_pad_template_pad_created):
	  Never return floating references to pad templates, create
	  them as initially-sunken.

	  Document an extra function (and make this stop sinking our
	  pad template, since that is now guaranteed to do nothing,
	  since we created it sunken).

	* gst/gstghostpad.c:
	  Fix docs typo.

2006-04-06  Tim-Philipp Müller  <tim at centricular dot net>

	* gst/gstinfo.c: (__gst_in_valgrind):
	  Add some newlines.

	* plugins/elements/gsttypefindelement.c:
	(gst_type_find_element_chain):
	  Don't leak buffer caps.

2006-04-06  Michael Smith  <msmith@fluendo.com>

	* gst/parse/grammar.y:
	  Fix a leak in parse-launch for any source-or-sink named element 
	  references used.

	* tests/check/pipelines/parse-launch.c: (expected_fail_pipe):
	  Unref the pipeline if it exists after we've failed parsing.

2006-04-05  Michael Smith  <msmith@fluendo.com>

	* gst/gstpipeline.c: (gst_pipeline_init):
	  When we create a pipeline bus, initially create it in flushing mode.
	  Fixes leaks in at least one test, and makes a new pipeline work the
	  same as one that has gone to READY and then back to NULL.

	* gst/gstelement.c:
	  Typo fix in docs.

2006-04-05  Michael Smith  <msmith@fluendo.com>

	* tests/check/gst/gstghostpad.c: (GST_START_TEST):
	  Unref a pad we reffed.
	* tests/check/gst/gstutils.c: (GST_START_TEST):
	  Unref bins

2006-04-05  Michael Smith  <msmith@fluendo.com>

	* gst/gstquery.c: (gst_query_set_formats),
	(gst_query_set_formatsv):
	  Fix leaking GValues in queries, as shown by valgrind/testsuite.

2006-04-05  Michael Smith  <msmith@fluendo.com>

	* tests/check/generic/sinks.c: (GST_START_TEST):
	  Fix a variety of memleaks in sinks check, which are only sometimes 
	  shown by running the tests under valgrind (weird?).

2006-04-05  Jan Schmidt  <thaytan@mad.scientist.com>

	* docs/version.entities.in:
	  Fix the substituted entity name after thomas' changes on the
	  weekend.

2006-04-05  Zaheer Abbas Merali  <zaheerabbas at merali dot org>

	* gst/gstinfo.c: (__gst_in_valgrind): Use printf instead of
	VALGRIND_PRINTF
	
2006-04-05  Andy Wingo  <wingo@pobox.com>

	* gst/gstpad.c (gst_pad_set_blocked_async): More debug.

	* libs/gst/base/gstbasetransform.c
	(gst_base_transform_sink_eventfunc): When resetting our segment on
	FLUSH_STOP, also update the flag saying we haven't seen a
	newsegment.

2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>

	Patch by: Paolo Borelli  <pborelli at katamail dot com>

	* gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
	(gst_plugin_check_license):
	  minor clean-ups: G_DEFINE_TYPE already takes care of the
	  parent_class stuff, no need to do it twice. Mark array of
	  license strings as constant. (#337103)
	  
2006-04-04  Michael Smith  <msmith@fluendo.com>

	* tools/gst-inspect.c: (print_element_list):
	  Free the right plugin list; fixes a memory leak.

2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>

	Patch by: Mark Nauwelaerts  <manauw at skynet dot be>

	* plugins/elements/gstfilesink.c: (gst_file_sink_render):
	  Don't error out on empty buffers (#336945).
	  
2006-04-04  Jan Schmidt  <thaytan@mad.scientist.com>

	* docs/libs/gstreamer-libs-sections.txt:
	* gst/gsttaglist.c:
	* libs/gst/base/gstbasesink.c:
	* libs/gst/base/gstbasesink.h:
	* libs/gst/base/gstbasesrc.c:
	* libs/gst/base/gstbasesrc.h:
	  Documentation updates. Make BaseSink and BaseSrc docs contain the
	  class structure so that people can actually see the prototypes for
	  virtual functions they're supposed to be overriding.

2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>

	* plugins/elements/gsttypefindelement.c:
	(gst_type_find_element_chain):
	  More debug info; when skipping typefinding, send cached
	  events in all cases.

2006-04-01  Thomas Vander Stichele  <thomas at apestaart dot org>

	* configure.ac:
	  use new AS_VERSION and AS_NANO macros
	* gst/gst-i18n-lib.h:
	* gst/gst.c:
	* gst/gsterror.c:
	* gst/gstversion.h.in:
	* win32/common/config.h:
	* win32/common/config.h.in:
	  update accordingly

2006-03-31  Michael Smith  <msmith@fluendo.com>

	* plugins/elements/gsttypefindelement.c:
	(gst_type_find_element_chain):
	  Do not typefind content if the buffers already have caps.
	  Neccesary for icydemux (#333657), and the right thing to do anyway.

2006-03-30  Wim Taymans  <wim@fluendo.com>

	* libs/gst/base/gstbasesink.c: (gst_base_sink_init),
	(gst_base_sink_finalize), (gst_base_sink_set_qos_enabled),
	(gst_base_sink_is_qos_enabled), (gst_base_sink_do_sync),
	(gst_base_sink_record_qos_observation),
	(gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
	(gst_base_sink_is_too_late), (gst_base_sink_render_object),
	(gst_base_sink_change_state):
	More QoS measurements as described in the design doc.
	Get rid of ringbuffer with observations, running average is
	more simple and equally good.
	Calculates valid proportion now.
	Added beginning of flood measurement.

2006-03-29  Wim Taymans  <wim@fluendo.com>

	* docs/design/part-qos.txt:
	* gst/gstclock.c:
	Small documentation updates and additions.

2006-03-29  Wim Taymans  <wim@fluendo.com>

	* libs/gst/base/gstbasesrc.c: (gst_base_src_finalize),
	(gst_base_src_send_event), (gst_base_src_loop),
	(gst_base_src_change_state):
	Perform the EOS logic when we reach the segment stop position.
	Fix compilation on gcc4.1

2006-03-29  Wim Taymans  <wim@fluendo.com>

	Patch by: Tommi Myöhänen <ext-tommi dot myohanen at nokia dot com>

	* plugins/elements/gstqueue.c: (gst_queue_init),
	(gst_queue_locked_flush), (gst_queue_handle_sink_event),
	(gst_queue_set_property):
	* plugins/elements/gstqueue.h:
	In queue, when EOS is received, if minimum threshold > max_size -
	current_level, there is chance that queue blocks forever in conditional
	item del wait. This is because the queue is not emptied completely due
	to minimum threshold.  Here is another approach. Instead of setting
	cur_levels to max in EOS, just zero all minimum threshold levels. This
	should make sure that queue gives out all data. When going to READY
	(stop) state, just reset the original minimum threshold levels.
	Fixes #336336.

2006-03-29  Tim-Philipp Müller  <tim at centricular dot net>

	* plugins/elements/gsttypefindelement.c: (stop_typefinding),
	(gst_type_find_element_handle_event),
	(gst_type_find_element_send_cached_events),
	(gst_type_find_element_change_state):
	* plugins/elements/gsttypefindelement.h:
	  When typefinding is done in push mode, we should cache
	  events we receive during typefinding instead of just
	  dropping them (e.g. newsegment, custom events from
	  dvdreadsrc etc.) and then send them out once we've
	  determined the type of the stream (and decodebin
	  has had a chance to plug in a decoder/demuxer).
	  
2006-03-27  Wim Taymans  <wim@fluendo.com>

	* docs/design/part-qos.txt:
	First QoS ideas.

2006-03-27  Wim Taymans  <wim@fluendo.com>

	Inspired by a patch of: Lutz Mueller <lutz at topfrose dot de>

	* libs/gst/base/gstbasesrc.c: (gst_base_src_finalize),
	(gst_base_src_send_event), (gst_base_src_change_state):
	Handle element seek correctly when we are streaming.
	Fixes #326998.

2006-03-24  Michael Smith  <msmith@fluendo.com>

	* docs/faq/gst-uninstalled:
	  Set up LD_LIBRARY_PATH to point at all the gstreamer libs. This will
	  allow you to correctly run intalled applications built against old 
	  core, using plugins that require updated core (e.g. running
	  installed totem against a full uninstalled gstreamer stack)

2006-03-24  Stefan Kost  <ensonic@users.sf.net>

	* libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
	more debug details

2006-03-24  Wim Taymans  <wim@fluendo.com>

	* docs/gst/gstreamer-sections.txt:
	Rearrange the order of the methods so that related methods
	are grouped together in sections.

2006-03-24  Stefan Kost  <ensonic@users.sf.net>

	* gst/gstelement.c:
	  Little clarification in the docs

2006-03-24  Stefan Kost  <ensonic@users.sf.net>

	* docs/README:
	formatting fix
	* plugins/elements/gstidentity.c:
	* plugins/elements/gstqueue.c:
	* plugins/elements/gsttee.c:
	* plugins/elements/gsttypefindelement.c:
	GST_ELEMENT_DETAILS formatting

2006-03-24  Wim Taymans  <wim@fluendo.com>

	* libs/gst/base/gstbasesink.h:
	Only add fields, not insert or we break ABI.

2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>

	* win32/common/libgstbase.def:
	* win32/common/libgstreamer.def:
	  Update, add recently added functions.

2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>

	* docs/gst/gstreamer-sections.txt:
	* gst/gstutils.c: (gst_pad_query_peer_position),
	(gst_pad_query_peer_duration), (gst_pad_query_peer_convert):
	* gst/gstutils.h:
	  API: add some new utility functions:
	   - gst_pad_query_peer_position()
	   - gst_pad_query_peer_duration()
	   - gst_pad_query_peer_convert()
	  
2006-03-23  Wim Taymans  <wim@fluendo.com>

	* libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
	(gst_base_sink_init), (gst_base_sink_finalize),
	(gst_base_sink_set_qos_enabled), (gst_base_sink_is_qos_enabled),
	(gst_base_sink_set_property), (gst_base_sink_get_property),
	(gst_base_sink_commit_state), (gst_base_sink_get_sync_times),
	(gst_base_sink_wait_clock), (gst_base_sink_do_sync),
	(gst_base_sink_add_qos_observation), (gst_base_sink_send_qos),
	(gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
	(gst_base_sink_is_too_late), (gst_base_sink_render_object),
	(gst_base_sink_preroll_object), (gst_base_sink_event),
	(gst_base_sink_chain_unlocked), (gst_base_sink_get_position_last),
	(gst_base_sink_get_position_paused), (gst_base_sink_get_position),
	(gst_base_sink_query), (gst_base_sink_change_state):
	Decouple max-lateness and the fact that QoS messages are generated
	with a new property (qos).
	added API: GstBaseSink::async_play()
	Add vmethod so subclasses can be notified of ASYNC playing
	state changes.
	Collect timestamp start and stop to report better current
	position in EOS/PLAYING/PAUSED/READY/NULL.
	Refactor QoS/frame dropping and other measurements.
	API: GstBaseSrc::qos
	Fixes #326311

	* libs/gst/base/gstbasesink.h:
	Added Private struct.
	API: gst_base_sink_set_qos_enabled()
	API: gst_base_sink_is_qos_enabled()

2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>

	* gst/gstregistryxml.c: (gst_registry_xml_read_cache):
	  If compiling against GLib-2.8 or newer, try to read the
	  registry file using GMappedFile first before falling back
	  to fopen() + fread() (#332151).

2006-03-22  Wim Taymans  <wim@fluendo.com>

	* gst/gstinfo.c: (gst_debug_set_active),
	(gst_debug_category_set_threshold):
	Disable debugging unless explicitly activated.
	Fixes #335480.

2006-03-22  Wim Taymans  <wim@fluendo.com>

	* gst/gstelement.c: (gst_element_set_locked_state),
	(gst_element_dispose):
	Cleanup the error case.

	* gst/gstobject.c: (gst_object_dispose):
	print a critical when some object was disposed with
	a parent, also revive the object since it might
	crash the parent.

2006-03-22  Tim-Philipp Müller  <tim at centricular dot net>

	* tools/gst-launch.1.in:
	  Fix another typo.

2006-03-21  Thomas Vander Stichele  <thomas at apestaart dot org>

	* configure.ac:
	* tests/check/Makefile.am:
	  disable some tests when we don't have a registry
	* tests/check/gst/gstutils.c: (gst_utils_suite):
	  don't build the part that needs parsing

2006-03-21  Thomas Vander Stichele  <thomas at apestaart dot org>

	* gst/Makefile.am
	* tests/examples/Makefile.am:
	  fix --disable-parse build

2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>

	* tools/gst-feedback.1.in:
	  Fix typo: s/feeback/feedback/ (#133494).

2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>

	* tools/Makefile.am:
	* tools/gst-launch.1.in:
	  Add FILES section and correct entry about GST_REGISTRY_PATH
	  environment variable (#133495; #133494).

2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>

	* tools/Makefile.am:
	* tools/gst-md5sum.1.in:
	* tools/gst-md5sum.c:
	  Remove gst-md5sum and man page (the md5sink element
	  required was removed ages ago)

2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>

	* gst/gststructure.c: (gst_structure_id_set_value):
	  Make sure that string fields in structures/taglists
	  contain valid UTF-8 - we don't want to pass rubbish to
	  applications because of a buggy plugin (cp. #334167).

2006-03-21  Edward Hervey  <edward@fluendo.com>

	* gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
	(gst_bin_handle_message_func):
	* gst/gstclock.c: (gst_clock_dispose), (gst_clock_set_master):
	* gst/gstelement.c: (gst_element_set_clock), (gst_element_dispose),
	(gst_element_set_bus_func):
	* gst/gstghostpad.c: (gst_proxy_pad_dispose):
	* gst/gstminiobject.c: (gst_value_set_mini_object),
	(gst_value_take_mini_object):
	* gst/gstpad.c: (gst_pad_set_pad_template):
	* gst/gstpipeline.c: (gst_pipeline_dispose),
	(gst_pipeline_use_clock), (gst_pipeline_auto_clock):
	* libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop),
	(gst_collect_pads_chain):
	* libs/gst/net/gstnettimeprovider.c:
	(gst_net_time_provider_set_property):
	Series of fixes for dereferenced pointers that gcc 4.1 complains about.
	It's in fact all issues with gst_*object_replace().

2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>

	Patch by: Loïc Minier  <lool + gnome at via dot ecp dot fr>
	
	* pkgconfig/gstreamer-check-uninstalled.pc.in:
	* pkgconfig/gstreamer-check.pc.in:
	  Use @CHECK_LIBS@ here instead of hard-coding -lcheck (#334109).

2006-03-21  Edward Hervey  <edward@fluendo.com>

	* gst/gstbuffer.h:
	* gst/gstevent.h:
	* gst/gstmessage.h:
	gst_[buffer|event|message]_ref() macros are replaced by a static
	inline functions because gcc-4.1 will about if the return value
	isn't used.
	* tests/check/gst/gstevent.c: (event_probe):
	gst_event_ref now has to be given a GstEvent* , fix check accordingly.

2006-03-20  Jan Schmidt  <thaytan@mad.scientist.com>

	* gst/gstutils.h:
	Add G_UNLIKELY to our boilerplate to optimise the 'already registered
	the type' case. (Closes: #335195 for now). In the future, when we
	depend on GLib 2.10, we could also intern the type name using
	g_intern_static_string()

2006-03-20  Wim Taymans  <wim@fluendo.com>

	* gst/gstbin.c: (gst_bin_handle_message_func),
	(bin_query_max_init), (bin_query_position_fold),
	(bin_query_position_done), (gst_bin_query):
	Position query should also take max of all streams.

2006-03-20  Wim Taymans  <wim@fluendo.com>

	* plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
	(gst_fake_src_finalize):
	Fix leaks in fakesrc.

	* tests/check/pipelines/parse-launch.c: (GST_START_TEST):
	Fix leaks in the testcase.

2006-03-19  Sebastien Moutte  <sebastien@moutte.net>

	* gst/gst_private.h:
	  add win32 specific import decoration(__declspec(dllimport)) 
	  for all extern GstDebugCategory * variables
	* win32/common/libgstbase.def:
	* win32/common/libgstcontroller.def:
	* win32/common/libgstreamer.def:
	  Add some exports, remove empty lines
	* win32/common/libgstdataprotocol.def:
	* win32/common/libgstdataprotocol.dsp:
	* win32/common/libgstnet.def:
	* win32/common/libgstnet.dsp:
	  new project files and exportation files added
	
2006-03-19  Wim Taymans  <wim@fluendo.com>

	* tests/check/libs/basesrc.c: (eos_event_counter):
	Use proper return value for probe.

2006-03-17  Wim Taymans  <wim@fluendo.com>

	* gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_alloc_buffer_full),
	(gst_pad_push):
	Don't leak buffers, caps and pads on negotiation errors.

2006-03-16  Stefan Kost  <ensonic@users.sf.net>

	* docs/faq/cvs.xml:
	* docs/faq/dependencies.xml:
	* docs/faq/developing.xml:
	* docs/faq/faq.xml:
	* docs/faq/general.xml:
	* docs/faq/getting.xml:
	* docs/faq/legal.xml:
	* docs/faq/troubleshooting.xml:
	* docs/faq/using.xml:
	Faq review and update.

2006-03-16  Jan Schmidt  <thaytan@mad.scientist.com>

	* gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_alloc_buffer_full),
	(gst_pad_push):
	Don't pound the cpu to pieces by checking get_caps when accept_caps
	is called with the same caps as the pad already has.
	Use GST_DEBUG_OBJECT when outputting caps change information.

2006-03-15  Wim Taymans  <wim@fluendo.com>

	* gst/gstclock.c: (gst_clock_class_init):
	Fix docs.

2006-03-15  Jan Schmidt  <thaytan@mad.scientist.com>

	* gst/gstbuffer.h:
	Documentation fix.

	* gst/gstpad.c: (gst_pad_init), (gst_pad_acceptcaps_default),
	(gst_pad_accept_caps), (gst_pad_configure_sink),
	(gst_pad_configure_src), (gst_pad_chain), (gst_pad_push):
	Make the default acceptcaps behaviour be to check the requested 
	caps against the gst_pad_get_caps output. 

	Ensure that gst_pad_accept_caps is used to check caps when a pad
	doesn't have a setcaps function, so that pads automatically refuse 
	caps that they don't allow in their pad template. (Fixes #332986)

	When a buffer with attached caps is pushed, ensure that the source 
	pad receives those caps even if the element didn't call
	gst_pad_set_caps first.

2006-03-15  Wim Taymans  <wim@fluendo.com>

	* libs/gst/base/gstadapter.c:
	Add some docs.

2006-03-15  Tim-Philipp Müller  <tim at centricular dot net>

	* win32/common/libgstbase.def:
	* win32/common/libgstcontroller.def:
	* win32/common/libgstreamer.def:
	  Add a whole bunch of missing functions (#334434).

2006-03-14  Wim Taymans  <wim@fluendo.com>

	* libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
	(gst_base_sink_get_sync_times), (gst_base_sink_wait_clock),
	(gst_base_sink_do_sync), (gst_base_sink_do_qos):
	Better debug info when we receive a segment event.
	Reorganize a bit so we can pass the get_times() results around.
	Use the segment format when calculating the running time.
	Don't do QoS is sync is disabled or we have no clock or the
	element does not want us to sync to the clock.
	Don't drop buffers if QoS is disabled for now.

2006-03-14  Wim Taymans  <wim@fluendo.com>

	* gst/gstclock.c: (gst_clock_class_init), (do_linear_regression):
	Marked the stats property as unimplemented so people don't get
	wild ideas.
	Add debug message when regression goes wrong.
	Added some more docs.

2006-03-14  Wim Taymans  <wim@fluendo.com>

	* gst/gstsegment.c: (gst_segment_to_stream_time):
	Return correct return type in case of errors.

2006-03-14  Wim Taymans  <wim@fluendo.com>

	* gst/gstformat.c: (gst_format_get_name), (gst_format_to_quark):
	  Don't segfault on invalid formats.

2006-03-14  Tim-Philipp Müller  <tim at centricular dot net>

	* libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
	  Can't use gst_segment_to_running_time() when the segment
	  is not in GST_TIME_FORMAT (like with filesink, for example).
	  Stops flac encoding pipelines from spewing critical warnings
	  at EOS (#331248).
	  
2006-03-14  Tim-Philipp Müller  <tim at centricular dot net>

	* gst/gstpipeline.c: (gst_pipeline_class_init):
	  Add 'Since: 0.10.5' to gtk-doc blurb for added property.

	* plugins/elements/gsttypefindelement.c:
	(gst_type_find_element_handle_event):
	  Don't try to typefind empty streams.

2006-03-14  Wim Taymans  <wim@fluendo.com>

	* libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync),
	(gst_base_sink_do_qos):
	Separate QoS calculation.
	Only drop buffers when lateness is bigger than the 
	duration of the buffer.

2006-03-13  Wim Taymans  <wim@fluendo.com>

	* gst/gstpipeline.c: (gst_pipeline_set_property),
	(gst_pipeline_get_property), (do_pipeline_seek),
	(gst_pipeline_change_state), (gst_pipeline_set_delay),
	(gst_pipeline_get_delay):
	Don't deadlock when reading properties.

2006-03-13  Wim Taymans  <wim@fluendo.com>

	* libs/gst/base/gstbasetransform.c:
	(gst_base_transform_class_init), (gst_base_transform_init),
	(gst_base_transform_sink_event),
	(gst_base_transform_sink_eventfunc),
	(gst_base_transform_src_event), (gst_base_transform_src_eventfunc),
	(gst_base_transform_handle_buffer), (gst_base_transform_chain),
	(gst_base_transform_set_property),
	(gst_base_transform_get_property),
	(gst_base_transform_change_state), (gst_base_transform_update_qos),
	(gst_base_transform_set_qos_enabled),
	(gst_base_transform_is_qos_enabled):
	* libs/gst/base/gstbasetransform.h:
	Make basetransform virtual method for src events too.
	Handle QOS in basetransform.
	API: gst_base_transform_update_qos()
	API: gst_base_transform_set_qos_enabled()
	API: gst_base_transform_is_qos_enabled()

2006-03-13  Wim Taymans  <wim@fluendo.com>

	* libs/gst/base/gstbasesink.c: (gst_base_sink_init),
	(gst_base_sink_do_sync):
	Small cleanups.
	Use QOS debug category.

2006-03-13  Wim Taymans  <wim@fluendo.com>

	* plugins/elements/gstqueue.c:
	Very small doc update.

2006-03-13  Wim Taymans  <wim@fluendo.com>

	* gst/gst_private.h:
	* gst/gstinfo.c: (_gst_debug_init):
	Added QOS debug category

2006-03-13  Wim Taymans  <wim@fluendo.com>

	* docs/gst/gstreamer-sections.txt:
	* gst/gstbin.c: (bin_bus_handler), (gst_bin_handle_message_func):
	* gst/gstbin.h:
	* gst/gstbus.c: (gst_bus_class_init):
	* gst/gstbus.h:
	* gst/gstclock.c:
	* gst/gstelement.c: (gst_element_set_locked_state):
	* gst/gstsegment.c:
	Documentation updates.

	* gst/gstpipeline.c: (gst_pipeline_get_type),
	(gst_pipeline_class_init), (gst_pipeline_init),
	(gst_pipeline_dispose), (gst_pipeline_set_property),
	(gst_pipeline_get_property), (do_pipeline_seek),
	(gst_pipeline_send_event), (gst_pipeline_change_state),
	(gst_pipeline_provide_clock_func), (gst_pipeline_set_delay),
	(gst_pipeline_get_delay):
	* gst/gstpipeline.h:
	Added methods for setting the delay.
	API: gst_pipeline_set_delay()
	API: gst_pipeline_get_delay()
	Add pipeline debug category
	Various cleanups.
	Updated docs.
	Don't reset stream time when seek failed.

2006-03-13  Wim Taymans  <wim@fluendo.com>

	* docs/design/draft-klass.txt:
	* docs/design/part-clocks.txt:
	* docs/design/part-events.txt:
	* docs/design/part-gstbin.txt:
	* docs/design/part-gstpipeline.txt:
	* docs/design/part-messages.txt:
	* docs/design/part-negotiation.txt:
	* docs/design/part-overview.txt:
	* docs/design/part-preroll.txt:
	* docs/design/part-seeking.txt:
	* docs/design/part-states.txt:
	* docs/design/part-streams.txt:
	Documentation updates.

2006-03-12  Julien MOUTTE  <julien@moutte.net>

	* gst/gsttaglist.c: Fix rubbish docs that are encouraging
	us to leak strings...

2006-03-12  Thomas Vander Stichele  <thomas at apestaart dot org>

	* libs/gst/net/gstnettimeprovider.c:
	  fix docs
	* win32/common/config.h:
	  update

2006-03-12  Tim-Philipp Müller  <tim at centricular dot net>

	Patch by: Julio M. Merino Vidal <jmmv at netbsd org>

	* configure.ac:
	  Don't check for libgnomeui (leftover from old examples
	  that aren't built or disted any longer) (#334303).
	  
2006-03-11  Tim-Philipp Müller  <tim at centricular dot net>

	* plugins/elements/gstfdsink.c: (gst_fd_sink_render):
	* plugins/elements/gstfilesink.c: (gst_file_sink_render):
	  Emit RESOURCE_NO_SPACE_LEFT error here as well when
	  there's no space left on the device.

2006-03-10  Tim-Philipp Müller  <tim at centricular dot net>

	* gst/gstclock.h:
	  Fix GST_CLOCK_TIME_IS_VALID signedness issues - we need
	  to cast the input to GstClockTime before comparing with
	  another GstClockTime value.

2006-03-10  Thomas Vander Stichele  <thomas at apestaart dot org>

	* configure.ac:
	  back to trunk

=== release 0.10.4 ===

2006-03-10  Thomas Vander Stichele <thomas at apestaart dot org>

	* configure.ac:
	  releasing 0.10.4, "Light"

2006-03-10  Michael Smith  <msmith@fluendo.com>

	* libs/gst/dataprotocol/dataprotocol.c:
	  Fix docs for dataprocotol to not get the return types completely
	  wrong for a few functions.

2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>

	* docs/gst/gstreamer-sections.txt:
	* gst/gstpipeline.c: (gst_pipeline_class_init),
	(gst_pipeline_init), (gst_pipeline_set_property),
	(gst_pipeline_get_property), (gst_pipeline_change_state),
	(gst_pipeline_set_auto_flush_bus),
	(gst_pipeline_get_auto_flush_bus):
	* gst/gstpipeline.h:
	  Add new API: gst_pipeline_set_auto_flush_bus() and
	  gst_pipeline_get_auto_flush_bus() to disable automatic
	  flushing of the pipeline's GstBus when going from READY
	  to NULL state (#332045).

2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>

	* docs/gst/gstreamer-sections.txt:
	* gst/gsturi.c: (gst_uri_has_protocol):
	* gst/gsturi.h:
	   Add new API: gst_uri_has_protocol() (#333779).

2006-03-09  Wim Taymans  <wim@fluendo.com>

	* gst/gstclock.c: (gst_clock_entry_new),
	(gst_clock_id_compare_func), (gst_clock_id_wait),
	(gst_clock_id_wait_async), (gst_clock_id_unschedule),
	(gst_clock_init), (gst_clock_get_internal_time),
	(gst_clock_set_master), (do_linear_regression),
	(gst_clock_add_observation), (gst_clock_set_property):
	* gst/gstclock.h:
	Review docs.
	Small cleanups.
	Fix a possible segfault when the window-size is made smaller.
	Calculate jitter before performing the clock wait. Ideally
	the clock implementation should calculate jitter but we need
	API breakage for that.

	* gst/gstsystemclock.c: (gst_system_clock_init):
	Docs review.
	
	* libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync):
	Remove leftover else

	* tests/check/gst/gstsystemclock.c: (GST_START_TEST),
	(gst_systemclock_suite):
	Added check to test GST_CLOCK_DIFF.

2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>

	* libs/gst/base/gsttypefindhelper.c: (helper_find_get_length),
	(gst_type_find_helper_get_range):
	  If we are provided with the size, we should implement
	  GstTypeFind::get_length, so that typefind functions who
	  want to can actually peek at the middle of a file.

2006-03-08  Tim-Philipp Müller  <tim at centricular dot net>

	* docs/manual/advanced-dataaccess.xml:
	  Add some very very basic error checking.

	* docs/pwg/appendix-checklist.xml:
	  Some updates to the list of things to check when writing an element.

2006-03-08  Wim Taymans  <wim@fluendo.com>

	* docs/design/part-element-transform.txt:
	Added some docs about the design of tranform elements.

	* libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
	(gst_base_src_loop), (gst_base_src_change_state):
	Mark buffers with the DISCONT flag.

2006-03-08  Michael Smith  <msmith@fluendo.com>

	* gst/gstregistry.h:
	* gst/gstregistryxml.c: (gst_registry_save),
	(gst_registry_save_escaped), (gst_registry_xml_save_caps),
	(gst_registry_xml_save_pad_template),
	(gst_registry_xml_save_feature), (gst_registry_xml_save_plugin),
	(gst_registry_xml_write_cache):
	  Rewrite registry-saving to avoid race conditions and check for
	  failed writes.

2006-03-08  Wim Taymans  <wim@fluendo.com>

	* libs/gst/base/gstbasetransform.c:
	(gst_base_transform_transform_caps),
	(gst_base_transform_transform_size),
	(gst_base_transform_prepare_output_buffer),
	(gst_base_transform_get_unit_size),
	(gst_base_transform_buffer_alloc),
	(gst_base_transform_handle_buffer),
	(gst_base_transform_change_state):
	Cleanups, separate normal flow from errors, add sensible
	DEBUG lines.
	Don't try to renegotiate when allocating an output buffer.
	Also copy DISCONT buffer flag when copying a buffer.
	Reset the transform after we finish streaming, not during.

2006-03-08  Wim Taymans  <wim@fluendo.com>

	* libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync):
	Use last buffer timestamp in qos message.

2006-03-07  Wim Taymans  <wim@fluendo.com>

	Patch by: Christophe Fergeau

	* docs/pwg/advanced-tagging.xml:
	* docs/pwg/building-pads.xml:
	  fixes #333416

2006-03-07  Wim Taymans  <wim@fluendo.com>

	* docs/libs/gstreamer-libs-sections.txt:
	Added basesink new methods.

	* gst/gstevent.c:
	* gst/gstevent.h:
	Docs updates. Flesh out the QoS docs.

	* libs/gst/base/gstadapter.c:
	Small doc clarification about ownership and flushing.

	* libs/gst/base/gstbasesink.c: (gst_base_sink_set_sync),
	(gst_base_sink_get_sync), (gst_base_sink_set_max_lateness),
	(gst_base_sink_get_max_lateness), (gst_base_sink_set_property),
	(gst_base_sink_get_property), (gst_base_sink_do_sync):
	* libs/gst/base/gstbasesink.h:
	API additions: 
	Added new methods to allow subclass to control max-lateness 
	and sync.
	Generate very basic QoS events based on last sync observation.
	Updated docs, fix typo, added some QoS blurb.

	* libs/gst/base/gstbasesrc.c:
	Remove obsolete _get_state() calls from docs.

2006-03-07  Wim Taymans  <wim@fluendo.com>

	* docs/libs/gstreamer-libs-sections.txt:
	* libs/gst/base/gstbasetransform.h:
	API addition: Fix #333669, Add pad accessor defines for GstBaseTransform
	Fix docs for GstBaseSrc.

2006-03-07  Wim Taymans  <wim@fluendo.com>

	* docs/gst/gstreamer-sections.txt:
	* gst/gstbuffer.h:
	* gst/gstvalue.c:
	* libs/gst/base/gstbasetransform.h:
	Small documentation fixes.

2006-03-07  Tim-Philipp Müller  <tim at centricular dot net>

	* gst/gstvalue.c:
	  Document thread-unsafety of gst_value_register_foo_func()
	  when used at the same time as gst_value_foo() (#322628).

2006-03-07  Tim-Philipp Müller  <tim at centricular dot net>

	* libs/gst/base/gstpushsrc.c: (gst_push_src_class_init),
	(gst_push_src_check_get_range):
	  Push sources don't support pull mode by default.

2006-03-06  Tim-Philipp Müller  <tim at centricular dot net>

	* libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
	(gst_base_src_init), (gst_base_src_pad_check_get_range),
	(gst_base_src_default_check_get_range):
	* libs/gst/base/gstbasesrc.h:
	  API addition:  Add ::check_get_range() vfunc to GstBaseSrc (#332611),
	  provide default implementation, and rename
	  gst_base_src_check_get_range() to
	  gst_base_src_pad_check_get_range() for clarity.

2006-03-06  Wim Taymans  <wim@fluendo.com>

	* libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
	Make property overridable.

2006-03-06  Wim Taymans  <wim@fluendo.com>

	* libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
	(gst_base_sink_init), (gst_base_sink_set_property),
	(gst_base_sink_get_property), (gst_base_sink_do_sync):
	* libs/gst/base/gstbasesink.h:
	API addition: Make max-lateness a property.

2006-03-06  Wim Taymans  <wim@fluendo.com>

	* libs/gst/base/gstbasesink.c: (gst_base_sink_wait_clock),
	(gst_base_sink_do_sync), (gst_base_sink_render_object):
	Don't ever draw a frame that is >10ms late.

2006-03-06  Michael Smith  <msmith@fluendo.com>

	* gst/gstmessage.c: (_gst_message_copy):
	  When copying a message, set the parent_refcount of the enclosed
	  structure to point at the copy, not the original message.

2006-03-06  Tim-Philipp Müller  <tim at centricular dot net>

	Patch by: Christophe Fergeau

	* gst/gstutils.h:
	  Do proper cast here to make GST_BOILERPLATE_WITH_INTERFACE
	  usable in c++ code (#333417)

2006-03-06  Thomas Vander Stichele  <thomas at apestaart dot org>

	* gst/gstclock.h:
	  Show GST_CLOCK_TIME_NONE as 99:99:99.999999999

2006-03-05  Tim-Philipp Müller  <tim at centricular dot net>

	* libs/gst/base/gstbasetransform.c:
	(gst_base_transform_transform_caps):
	  Make sure caps are writable before passing them to
	  gst_caps_append().

2006-03-04  Tim-Philipp Müller  <tim at centricular dot net>

	* gst/gsterror.h:
	  Fix some minor docs errors.

2006-03-04  Tim-Philipp Müller  <tim at centricular dot net>

	  Patch by: Ross Burton <ross at burtonini dot com>

	* gst/gsterror.c: (_gst_resource_errors_init):
	* gst/gsterror.h:
	  Add GST_RESOURCE_ERROR_NO_SPACE_LEFT (for #333352;

2006-03-03  Jan Schmidt  <thaytan@mad.scientist.com>

	* gst/gst.c:
	Add a check and output a g_warning when GStreamer is built
	against GLib 2.6 but running against 2.8 or higher, and vice 
	versa. (Closes: #323542)

2006-03-03  Jan Schmidt  <thaytan@mad.scientist.com>

	* gst/parse/parse.l:
	  Commit patch for parse_launch syntax from #331255. Removes 
	  support for quoted strings and mimetypes when writing filtered 
	  caps. See the bug report for more details - I'm pretty sure this
	  obscure feature is not in use by _anyone_ anywhere.

	  With this simple change, the size of the gstreamer.so here 
	  drops from 2193KB to 1565KB.

2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>

	* plugins/elements/gsttypefindelement.h:
	* plugins/elements/gsttypefindelement.c:
	(gst_type_find_element_src_event), (start_typefinding),
	(stop_typefinding), (gst_type_find_element_handle_event),
	(gst_type_find_element_chain),
	(gst_type_find_element_chain_do_typefinding):
	  Use gst_type_find_helper_for_buffer() for chain-based
	  typefinding.

2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>

	* plugins/elements/gsttypefindelement.c:
	(gst_type_find_element_class_init),
	(gst_type_find_element_set_property),
	(gst_type_find_element_get_property):
	  Deprecate "maximum" property (not only was it only taken into
	  account for typefinding in push-mode anyway, it also was never
	  actually possible to set it in the first place because the
	  property was registered with the numeric property ID for the
	  "minimum" property). Register "maximum" property correctly,
	  for the sake of future copy'n'pasters. Remove some cruft
	  from property get/set functions.

2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>

	* plugins/elements/gsttypefindelement.c:
	(gst_type_find_element_activate):
	  Use gst_type_find_helper_get_range() here, so we
	  can honour the "minimum" property and also emit
	  the signal with the correct probability of the found caps.

2006-03-02  Tim-Philipp Müller  <tim at centricular dot net>

	* docs/libs/gstreamer-libs-sections.txt:
	* libs/gst/base/gsttypefindhelper.c: (helper_find_peek),
	(helper_find_suggest), (gst_type_find_helper_get_range),
	(gst_type_find_helper):
	* libs/gst/base/gsttypefindhelper.h:
	  New API: gst_type_find_helper_get_range() (#333042).

2006-03-02  Michael Smith  <msmith@fluendo.com>

	* gst/gstregistryxml.c: (load_feature):
	  Asserting on a failure to read part of the registry is Not Cool.
	  Just log a warning and return NULL (which is already handled)

2006-02-28  Sebastien Moutte  <sebastien@moutte.net>

	* win32/common/libgstbase.def:
	  added export of gst_type_find_helper_for_buffer
	* win32/common/libgstbase.def:
	  added some exports : gst_bin_iterate_elements, gst_iterator_resync,
	  gst_ghost_pad_get_target

2006-02-28  Wim Taymans  <wim@fluendo.com>

	* docs/design/draft-klass.txt:
	We use Filter now.
	Added Connector to mark elements that are only used to
	allow pipeline connections.
	Moved Debug to extra feature since most of them are 
	functionally something else.

2006-02-28  Wim Taymans  <wim@fluendo.com>

	* docs/design/draft-klass.txt:
	Some updates and clarifications.

2006-02-28  Wim Taymans  <wim@fluendo.com>

	* docs/design/draft-klass.txt:
	Proposal for klass field values.

	* docs/design/part-streams.txt:
	Start of a doc describing stream anatomy.

2006-02-28  Wim Taymans  <wim@fluendo.com>

	* gst/gstbin.c: (gst_bin_get_type), (gst_bin_handle_message_func):
	Help the compiler a bit with type registration.
	Use existing forward cod path instead of duplicating it when 
	handling a message.
	
	* gst/gstbus.c: (gst_bus_get_type):
	* gst/gstcaps.c: (gst_caps_get_type), (gst_static_caps_get_type):
	* gst/gstchildproxy.c: (gst_child_proxy_get_type):
	* gst/gstclock.c: (gst_clock_get_type):
	* gst/gstelement.c: (gst_element_get_type),
	* gst/gstelementfactory.c: (gst_element_factory_get_type):
	* gst/gstindexfactory.c: (gst_index_factory_get_type):
	* gst/gstminiobject.c: (gst_mini_object_get_type):
	* gst/gstpad.c: (gst_pad_get_type):
	* gst/gstsegment.c: (gst_segment_get_type):
	* gst/gststructure.c: (gst_structure_get_type):
	* gst/gstsystemclock.c: (gst_system_clock_get_type):
	* gst/gsttask.c: (gst_task_get_type), (gst_task_join):
	* gst/gstvalue.c:
	Help compiler with type registration.

	* plugins/elements/gstqueue.c: (gst_queue_handle_sink_event):
	Small doc update.

2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>

	* plugins/elements/gsttypefindelement.c:
	(gst_type_find_element_handle_event):
	  When we get an EOS event and have not found a type yet
	  (most likely because we had not yet accumulated
	  TYPE_FIND_MIN_SIZE of data yet), try to determine the
	  type given the data we have so far. Fixes typefinding
	  for very short streams again, most notably quicktime
	  redirections as used on Apple's trailer site (#331701).

2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>

	* libs/gst/base/gsttypefindhelper.c: (type_find_factory_rank_cmp),
	(gst_type_find_helper):
	  Try typefinding factories with the highest rank first.

2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>

	* docs/libs/gstreamer-libs-docs.sgml:
	* docs/libs/gstreamer-libs-sections.txt:
	* libs/gst/base/gsttypefindhelper.c:
	  Add section for typefind helper and add documentation
	  for the old and the new function.

2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>

	* libs/gst/base/gsttypefindhelper.c: (buf_helper_find_peek),
	(buf_helper_find_suggest), (type_find_factory_rank_cmp),
	(gst_type_find_helper_for_buffer):
	* libs/gst/base/gsttypefindhelper.h:
	  New API: gst_type_find_helper_for_buffer() (#332723).
	  
2006-02-27  Michael Smith  <msmith@fluendo.com>

	Patch by: Loïc Minier

	* configure.ac:
	* docs/Makefile.am:
	* docs/slides/Makefile.am:
	  prevent CVS directories getting disted.

2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>

	* gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref):
	  Use the REFCOUNTING category for caps refcounting.
	  
2006-02-26  Tim-Philipp Müller  <tim at centricular dot net>

	* plugins/elements/gsttypefindelement.c: (stop_typefinding):
	  This should be 0 not GST_CLOCK_TIME_NONE (see #331701).

2006-02-26  Tim-Philipp Müller  <tim at centricular dot net>

	* plugins/elements/gsttypefindelement.c:
	(gst_type_find_element_activate):
	  Use gst_pad_check_pull_range() before _activate_pull()
	  to avoid unnecessary open/close (see #331690).

2006-02-24  Tim-Philipp Müller  <tim at centricular dot net>

	* gst/gstutils.c:
	  Docs enhancement: make it crystal clear what the
	  gst_pad_add_*_probe() callbacks should look like.

2006-02-24  Tim-Philipp Müller  <tim at centricular dot net>

	* libs/gst/base/gstbasesrc.c:
	  Document how applications can stop recording from
	  live sources (see #330996).

2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>

	* tests/check/Makefile.am:
	* tests/check/libs/basesrc.c: (eos_event_counter),
	(basesrc_eos_events_pull), (basesrc_eos_events_push),
	(basesrc_eos_events_push_live_op), (basesrc_eos_events_pull_live_op),
	(gst_basesrc_suite), (main):
	  ... and add some tests for the base source EOS stuff.

2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>

	* tests/check/gst/gstutils.c: (test_buffer_probe_n_times):
	  Test case originally showed the problem fixed below,
	  but was then amended. Add checks back at the place
	  where they used to be.

2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>

	* libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
	(gst_base_src_init), (gst_base_src_loop),
	(gst_base_src_activate_push), (gst_base_src_activate_pull),
	(gst_base_src_change_state):
	* libs/gst/base/gstbasesrc.h:
	  Don't unconditionally send EOS when going from PAUSED to
	  READY state, esp. make sure we don't send two EOS events
	  in some cases (e.g. one when reaching EOS and one when
	  going from PAUSED to READY). Also, we don't want to send
	  EOS events when operating in pull mode. However, we do
	  want to send an EOS event when shutting down a live
	  source explicitly, for example (fixes #330996).
	  
2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>

	* plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
	  Update src->read_position after a seek when not using mmap.
	  Fixes #332277, patch by: Renchi Raju <renchi gmail com>

2006-02-21  Jan Schmidt  <thaytan@mad.scientist.com>

	* gst/Makefile.am:
	* gst/gstparse.h:
	* gst/gstutils.c:
	* gst/gstutils.h:
	Make things work with --disable-parse as they do with 
	--disable-load-save - the symbols involved disappear, but the
	header is still installed and GST_DISABLE_PARSE is included via
	gstconfig.h

2006-02-20  Julien MOUTTE  <julien@moutte.net>

	* libs/gst/base/gstbasetransform.c:
	(gst_base_transform_change_state): Fix a stupid bug. I was 
	sure I compiled that.

2006-02-20  Julien MOUTTE  <julien@moutte.net>

	* gst/gstpad.c: (gst_pad_set_blocked_async):
	* gst/gstutils.c: (gst_pad_add_data_probe),
	(gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
	(gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
	(gst_pad_remove_buffer_probe): Make those function act on the
	ghostpad target when it's a ghostpad. (Closes #331727)

2006-02-20  Julien MOUTTE  <julien@moutte.net>

	* libs/gst/base/gstbasetransform.c:
	(gst_base_transform_change_state): Make basetransform reusable.
	(Closes #331898)

2006-02-20  Jan Schmidt  <thaytan@mad.scientist.com>

	* docs/random/release:
	Move the current documentation of how to do a release to the top
	of the file.

	* gst/gstbin.c: (gst_bin_class_init),
	(gst_bin_handle_message_func):
	Allow multiple state-recalculation threads. (Closes #328873)

2006-02-19  Julien MOUTTE  <julien@moutte.net>

	* gst/gstinfo.h: Add GST_STR_NULL to the second string.
	* gst/gstpad.c: (gst_pad_set_event_function),
	(gst_pad_set_query_function), (gst_pad_set_query_type_function),
	(gst_pad_set_getcaps_function): GST_DEBUG_PAD_NAME evaluates to
	2 strings. You can't use the STR_NULL macro on that.

2006-02-19  Sebastien Moutte <sebastien@moutte.net>

	* gst/gstpad.c: (gst_pad_set_event_function),
	(gst_pad_set_query_function), (gst_pad_set_query_type_function),
	(gst_pad_set_getcaps_function)
	* gst/parse/grammar.y: (gst_parse_found_pad), (gst_parse_perform_delayed_link)
	  Fixed NULL pointer used in GST_CAT_DEBUG using GST_STR_NULL macro
	  So now, we can use --gst-debug-level=5 on Windows
	* win32/common/libgstcontroller.def:
	  Added export of gst_controller_init
	* win32/vs6/libgstcontroller.dsp:
	  Fixed Release post build configuration

2006-02-17  Wim Taymans  <wim@fluendo.com>

	* tests/check/gst/gstquery.c: (GST_START_TEST):
	Added another check.

2006-02-15  Tim-Philipp Müller  <tim at centricular dot net>

	* plugins/elements/gsttypefindelement.c: (find_peek):
	  We can do peeks at non-zero offsets, as long as they
	  fall within the buffer we have.

2006-02-15  Jan Schmidt  <thaytan@mad.scientist.com>

	* tests/check/Makefile.am:
	* tests/check/pipelines/parse-launch.c: (setup_pipeline),
	(expected_fail_pipe), (check_pipeline_runs), (GST_START_TEST),
	(parse_suite), (main):
	  Add testsuite for parse launch syntax

2006-02-14  Tim-Philipp Müller  <tim at centricular dot net>

	* plugins/elements/gsttypefindelement.c:
	(gst_type_find_element_chain):
	  When typefinding is unsuccessful in the chain function, don't
	  error out immediately. Only error out with NO_CAPS_FOUND if
	  the amount of data is at least MAX_TYPEFIND_SIZE bytes,
	  otherwise simply wait for more data so we can try typefinding
	  again with more data later. Also, don't attempt to typefind
	  if we have less than MIN_TYPEFIND_SIZE data available. Overall,
	  this should improve typefinding from network sources where the
	  size of the first buffer can be somewhat random.

2006-02-14  Wim Taymans  <wim@fluendo.com>

	* docs/gst/gstreamer-sections.txt:
	* gst/gstpadtemplate.c:
	* gst/gstpadtemplate.h:
	Fix padtemplate docs, fixes #328805.

2006-02-14  Wim Taymans  <wim@fluendo.com>

	* tools/gst-launch.c: (main):
	NO_PREROLL is not an ERROR so don't send confusing messages
	to the user.

2006-02-14  Wim Taymans  <wim@fluendo.com>

	Patch by: Torsten Schoenfeld

	* gst/gstregistry.c: (gst_registry_get_default),
	(_gst_registry_cleanup):
	Protect default registry with lock and ref/sink it.
	Fixes #324818

2006-02-14  Wim Taymans  <wim@fluendo.com>

	* gst/gstbuffer.c:
	* gst/gstquery.c: (gst_query_list_add_format),
	(gst_query_set_formatsv), (gst_query_parse_formats_length),
	(gst_query_parse_formats_nth):
	* libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
	Docs fixes.

2006-02-14  Wim Taymans  <wim@fluendo.com>

	* docs/gst/gstreamer-sections.txt:
	Reworked query docs.

	* gst/gstquery.c: (gst_query_new_formats),
	(gst_query_list_add_format), (gst_query_set_formats),
	(gst_query_set_formatsv), (gst_query_parse_formats_length),
	(gst_query_parse_formats_nth):
	* gst/gstquery.h:
	Flesh out formats query, added some new methods.
	Fix part of #324398.

	* tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite):
	Added query creation tests.

2006-02-14  Jan Schmidt  <thaytan@mad.scientist.com>

	* gst/gstpad.c: (fixate_value):
	Add a default fixation for fraction lists.

2006-02-13  Wim Taymans  <wim@fluendo.com>

	* gst/gsttask.c: (gst_task_init), (gst_task_func),
	(gst_task_set_lock), (gst_task_start), (gst_task_pause),
	(gst_task_join):
	* gst/gsttask.h:
	Detect and warn for obvious deadlocks. fixes #320340
	Fix error case where lock was not released.

	* tests/check/Makefile.am:
	* tests/check/gst/gsttask.c: (task_func2), (GST_START_TEST),
	(task_func), (gst_element_suite), (main):
	Add task check.

2006-02-13  Wim Taymans  <wim@fluendo.com>

	* docs/gst/gstreamer-sections.txt:
	* gst/gstbus.c:
	Add new functions to docs.

2006-02-13  Wim Taymans  <wim@fluendo.com>

	* docs/design/part-TODO.txt:
	Updated TODO list, basesrc supports seeking to non-bytes
	formats.

	* docs/design/part-element-sink.txt:
	Update docs.

	* gst/gstbin.c: (bin_replace_message),
	(gst_bin_handle_message_func):
	* gst/gstbus.c: (gst_bus_post), (gst_bus_pop):
	* gst/gstevent.c: (gst_event_finalize):
	* gst/gstpad.c: (gst_pad_event_default_dispatch),
	(gst_pad_send_event):
	Use shiny new _TYPE_NAME macros.

	* libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
	Move debug statement up.

	* gst/gstelement.c: (gst_element_set_locked_state):
	Add some debugging.

2006-02-13  Tim-Philipp Müller  <tim at centricular dot net>

	* docs/gst/gstreamer-sections.txt:
	* gst/gstmessage.h:
	* gst/gstquery.h:
	  New API: add GST_MESSAGE_TYPE_NAME and GST_QUERY_TYPE_NAME
	  macros (#330906). Also, document the already existing
	  GST_QUERY_TYPE macro.

2006-02-13  Wim Taymans  <wim@fluendo.com>

	* tests/check/gst/gstutils.c: (data_probe), (buffer_probe),
	(event_probe), (GST_START_TEST):
	Only events up to the pipeline EOS are counted, there are
	some more when going to NULL currently which we don't care
	about for now.

2006-02-13  Wim Taymans  <wim@fluendo.com>

	* gst/gstpad.c: (gst_pad_send_event):
	Correctly check flushing and emit probes. fixes #330125

2006-02-10  Andy Wingo  <wingo@pobox.com>

	* gst/gstbus.c (gst_bus_class_init): Declare our private data
	structure.
	(gst_bus_init): Cache the location of the private data in the
	instance structure.
	(gst_bus_enable_sync_message_emission) 
	(gst_bus_disable_sync_message_emission): Implement new public
	functions.
	(gst_bus_post): Emit the sync-message signal if the user asked for
	it. Fixes #330684.

	* gst/gstbus.h (GstBus): Use a padding pointer to cache the
	location of the bus-private structure.
	(gst_bus_enable_sync_message_emission)
	(gst_bus_disable_sync_message_emission): API addition

2006-02-10  Jan Schmidt  <thaytan@mad.scientist.com>

	Patch by: Vincent Torri

	* docs/pwg/building-boiler.xml:
	PWG patch from #326800

2006-02-09  Tim-Philipp Müller  <tim at centricular dot net>

	* configure.ac:
	* docs/Makefile.am:
	* docs/design/Makefile.am:
	  Dist design docs.

2006-02-08  Jan Schmidt  <thaytan@mad.scientist.com>

	* configure.ac:
	  back to CVS

=== release 0.10.3 ===

2006-02-08  Jan Schmidt <thaytan@mad.scientist.com>

	* configure.ac:
	  releasing 0.10.3, "Like a virgin"

2006-02-08  Jan Schmidt  <thaytan@mad.scientist.com>

	* configure.ac:
	  2nd prerelease of 0.10.3
	  Bump libtool versioning.

2006-02-07  Andy Wingo  <wingo@pobox.com>

	* libs/gst/base/gstcollectpads.c (gst_collect_pads_chain): Only
	update last_stop if we're in TIME format and the timestamp is
	valid.

	* libs/gst/base/gstcollectpads.c (gst_collect_pads_event) 
	* libs/gst/base/gstbasetransform.c (gst_base_transform_eventfunc): 
	* libs/gst/base/gstbasesink.c (gst_base_sink_configure_segment):
	If we get a new newsegment with a different format, adapt
	accordingly.

	* gst/gstclock.c (gst_clock_set_calibration): Accept a numerator
	of 0. Not a problem, really.

	* libs/gst/base/gstbasesink.c (gst_base_sink_chain_unlocked): Only
	warn if sync=true.

2006-02-06  Jan Schmidt  <thaytan@mad.scientist.com>

	* configure.ac:
	  Prelease of 0.10.3

2006-02-06  Sebastien Moutte  <sebastien@moutte.net>

	* win32/vs7:
	  project files updated to the default vs7 configuration
	* win32/common/libgstbase.def:
	* win32/common/libgstreamer.def:
	  added new symbols,
	  removed empty lines,
	  sorted all exported symbols alphabetically
	* win32/common/dirent.c:
	* win32/common/dirent.h:
	* win32/common/gchar.h:
	  use windows line end.
	  
2006-02-06  Tim-Philipp Müller  <tim at centricular dot net>

	* libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
	  Send EOS event when stopping.

2006-02-06  Tim-Philipp Müller  <tim at centricular dot net>

	* docs/README:
	  Tell folks what to do if the plugin-foobar.xml file
	  hasn't been generated for a newly-added plugin.

2006-02-05  Julien MOUTTE  <julien@moutte.net>

	* libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
	(gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
	(gst_collect_pads_start), (gst_collect_pads_stop),
	(gst_collect_pads_event): Collectpads now holds a reference
	to the GstPad that was added. Indeed we don't want to look
	at pads that might just go away with no warning...

2006-02-05  Julien MOUTTE  <julien@moutte.net>

	* libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
	(gst_collect_pads_start), (gst_collect_pads_stop),
	(gst_collect_pads_event), (gst_collect_pads_chain):
	* libs/gst/base/gstcollectpads.h: Handle flush. Adapted from
	Mark Nauwelaerts's patch on bug #328491.

2006-02-04  Tim-Philipp Müller  <tim at centricular dot net>

	* tests/check/gst/gstutils.c: (test_parse_bin_from_description),
	(gst_utils_suite):
	  Add some simple tests for gst_parse_bin_from_description() and
	  gst_bin_find_unconnected_pad() (#329069).

2006-02-04  Tim-Philipp Müller  <tim at centricular dot net>

	* tools/gst-launch.c: (event_loop), (main):
	  Catch errors during preroll (#320084).

2006-02-03  Tim-Philipp Müller  <tim at centricular dot net>

	* plugins/elements/gsttypefindelement.c:
	(gst_type_find_element_activate):
	  Post TYPE_NOT_FOUND error message when typefinding
	  is unsuccessful in the activate function as well.

2006-02-02  Wim Taymans  <wim@fluendo.com>

	* docs/design/part-element-sink.txt:
	Updated doc.

2006-02-02  Wim Taymans  <wim@fluendo.com>

	* libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync),
	(gst_base_sink_render_object),
	(gst_base_sink_queue_object_unlocked):
	Only keep track of prerollable items when we are 
	prerolling.
	Before rendering after preroll, always check if we
	have queued items.
	Added some more debugging.

2006-02-02  Wim Taymans  <wim@fluendo.com>

	* gst/gstelement.c: (gst_element_continue_state),
	(gst_element_set_state_func), (gst_element_change_state):
	Fixed #326576, been running this for quite some time with
	no regressions at all.

2006-02-02  Wim Taymans  <wim@fluendo.com>

	* common/gst.supp:
	Added more suppressions

2006-02-02  Wim Taymans  <wim@fluendo.com>

	* docs/design/part-element-sink.txt:
	Updated document.

	* libs/gst/base/gstbasesink.c: (gst_base_sink_init),
	(gst_base_sink_finalize), (gst_base_sink_preroll_queue_flush),
	(gst_base_sink_configure_segment), (gst_base_sink_commit_state),
	(gst_base_sink_get_sync_times), (gst_base_sink_wait_clock),
	(gst_base_sink_do_sync), (gst_base_sink_render_object),
	(gst_base_sink_preroll_object),
	(gst_base_sink_queue_object_unlocked),
	(gst_base_sink_queue_object), (gst_base_sink_event),
	(gst_base_sink_chain_unlocked), (gst_base_sink_chain),
	(gst_base_sink_loop), (gst_base_sink_activate_pull),
	(gst_base_sink_get_position), (gst_base_sink_change_state):
	* libs/gst/base/gstbasesink.h:
	Totally refactored matching the design doc.
	Use two segments, one to clip incomming buffers and another to
	perform sync.
	Handle queueing correctly, bypass the queue when playing.
	Make EOS cancelable.
	Handle errors correctly when operating in pull based mode.

	* tests/check/elements/fakesink.c: (GST_START_TEST),
	(fakesink_suite):
	Added new check for sinks.

2006-02-02  Wim Taymans  <wim@fluendo.com>

	* gst/gstsegment.c: (gst_segment_clip):
	No reason to refuse to clip when start == -1

2006-02-02  Stefan Kost  <ensonic@users.sf.net>

	* docs/README:
	* docs/manual/intro-basics.xml:
	* docs/manual/intro-preface.xml:
	* docs/manual/manual.xml:
	* docs/pwg/advanced-dparams.xml:
	* docs/pwg/intro-basics.xml:
	* docs/pwg/intro-preface.xml:
	* docs/pwg/pwg.xml:
	  describe dparams (controller) for plugins
	  unify docs a little more

2006-02-02  Tim-Philipp Müller  <tim at centricular dot net>

	* docs/gst/gstreamer-sections.txt:
	* gst/gstutils.c: (element_find_unconnected_pad),
	(gst_bin_find_unconnected_pad), (gst_parse_bin_from_description):
	* gst/gstutils.h:
	  Add new API: gst_parse_bin_from_description() and
	  gst_bin_find_unconnected_pad() (#329069).

2006-02-01  Stefan Kost  <ensonic@users.sf.net>

	* docs/manual/README:
	  uncover a nasty detail of the docs build

2006-01-31  Wim Taymans  <wim@fluendo.com>

	* gst/gstbin.c: (bin_remove_messages), (bin_query_duration_done):
	Don't cache duration messages if we're not going to use or
	free them.

2006-01-31  Stefan Kost  <ensonic@users.sf.net>

	* docs/manual/advanced-dparams.xml:
	* docs/pwg/advanced-dparams.xml:
	  more dparam docs
	* gst/gstindex.c:
	  fix docs
	* libs/gst/controller/lib.c: (gst_controller_init):
	  init just once

2006-01-31  Thomas Vander Stichele  <thomas at apestaart dot org>

	* gst/gstelement.c: (gst_element_message_full):
	  also show file/line/func if no additional debug was given

2006-01-31  Sebastien Moutte  <sebastien@moutte.net>
	
	* win32/vs7/grammar.vcproj:
	  activate copy of autogenerated files for Release mode

2006-01-30  Sebastien Moutte  <sebastien@moutte.net>
	
	* win32/common/libgstreamer.def:
	  export gst_value_compare

2006-01-30  Jan Schmidt  <thaytan@mad.scientist.com>

	* plugins/elements/Makefile.am:
	* plugins/elements/gstelements.c:
	* plugins/elements/gstfdsink.c: (_do_init),
	(gst_fd_sink_base_init), (gst_fd_sink_class_init),
	(gst_fd_sink_init), (gst_fd_sink_dispose), (gst_fd_sink_query),
	(gst_fd_sink_render), (gst_fd_sink_check_fd), (gst_fd_sink_start),
	(gst_fd_sink_stop), (gst_fd_sink_unlock), (gst_fd_sink_update_fd),
	(gst_fd_sink_set_property), (gst_fd_sink_uri_get_type),
	(gst_fd_sink_uri_get_protocols), (gst_fd_sink_uri_get_uri),
	(gst_fd_sink_uri_set_uri), (gst_fd_sink_uri_handler_init):
	* plugins/elements/gstfdsink.h:
	Port fdsink to 0.10 (patch by Philippe Rouquier) (Fixes #325490)

2006-01-30  Stefan Kost  <ensonic@users.sf.net>

	* docs/manual/advanced-dparams.xml:
	  describe controller
	* docs/manual/advanced-position.xml:
	* docs/manual/basics-init.xml:
	* docs/manual/manual.xml:
	* docs/manual/titlepage.xml:
	* docs/pwg/pwg.xml:
	* docs/pwg/titlepage.xml:
	  cleanup xml (more to come)
	* libs/gst/controller/gstcontroller.c:
	  fix typo

2006-01-30  Sebastien Moutte  <sebastien@moutte.net>
	
	* win32/vs6/grammar.dsp:
	  add autogen of gstmarshal.c,h for Release mode
		
2006-01-30  Wim Taymans  <wim@fluendo.com>

	* libs/gst/base/gstbasesink.c: (gst_base_sink_init),
	(gst_base_sink_preroll_queue_empty), (gst_base_sink_commit_state),
	(gst_base_sink_handle_object), (gst_base_sink_event),
	(gst_base_sink_is_prerolled), (gst_base_sink_wait),
	(gst_base_sink_do_sync), (gst_base_sink_handle_event),
	(gst_base_sink_handle_buffer), (gst_base_sink_set_flushing),
	(gst_base_sink_deactivate), (gst_base_sink_activate),
	(gst_base_sink_activate_pull), (gst_base_sink_get_position),
	(gst_base_sink_query), (gst_base_sink_change_state):
	Basesink cleanups, remove some old code.
	Handle the case where a subclass can preroll in the render
	method (mostly audiosinks).
	Handle more events.
	Remove some locks around variables that are now protected
	with the PREROLL_LOCK (clock_id, flushing, ..).
	Optimize position query some more, do correct locking.
	Remove old code to push queue in state change, this is not
	needed anymore since preroll blocks on all prerollable items 
	now.
	Almost implemented as described in design doc.

2006-01-30  Wim Taymans  <wim@fluendo.com>

	* tests/check/gst/gstbin.c: (GST_START_TEST):
	Wait for refcount to settle down before checking.

2006-01-30  Wim Taymans  <wim@fluendo.com>

	* docs/design/part-element-sink.txt:
	Pseudo code overview of desired sink behaviour regarding
	preroll.

2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
	* win32/vs6/grammar.dsp:
	  fix some bugs in Release mode for autogenerated files
		
2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
	* win32/common/libgstbase.def:
	* win32/common/libgstreamer.def:
	  export some new symbols: gst_base_src_set_format,
	  gst_iterator_next, gst_structure_set_valist

2006-01-29  Julien MOUTTE  <julien@moutte.net>

	* gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked):
	Set pad functions unconditionally. Fixes #329105.

2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
	* win32/vs8:
	  add vs8 project files created by Sergey Scobich

2006-01-28  Jan Schmidt  <thaytan@mad.scientist.com>

	* gst/gstutils.c: (gst_element_unlink_pads):
	Don't leak pad references.

	* tests/check/elements/fakesink.c: (GST_START_TEST):
	* tests/check/generic/sinks.c: (GST_START_TEST):
	* tests/check/generic/states.c: (GST_START_TEST):
	* tests/check/gst/gstbin.c: (GST_START_TEST):
	* tests/check/gst/gstcaps.c: (GST_START_TEST):
	* tests/check/gst/gstelement.c: (GST_START_TEST):
	* tests/check/gst/gstghostpad.c: (GST_START_TEST):
	* tests/check/gst/gstiterator.c: (GST_START_TEST):
	* tests/check/gst/gstvalue.c: (GST_START_TEST):
	Fix a bunch of leaks. Make generic/sinks.c
	use a bit less cpu by slowing the buffer rate
	between fakesrc and fakesink.
	
2006-01-27  Stefan Kost  <ensonic@users.sf.net>
	* gst/gstcaps.c:
	* gst/gstelement.c: (gst_element_send_event):
	* gst/gstevent.c:
	* gst/gstinfo.c:
	* gst/gstiterator.c:
	* gst/gstiterator.h:
	* gst/gstpad.c: (gst_pad_send_event):
	* gst/gststructure.c:
	* gst/gsturi.c:
	* gst/gstutils.c:
	* gst/gstvalue.c:
	* libs/gst/base/gstadapter.c:
	  doc fixes, to link to function, just write gst_cool_function(), don't
	  prefix with '#'

2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>

	* plugins/elements/gsttee.c: (gst_tee_do_push),
	(gst_tee_handle_buffer):
	Always prefer an actual return value from a src
	pad in place of NOT_LINKED. This means we return
	WRONG_STATE when all src pads are WRONG_STATE
	instead of NOT_LINKED.

	Lock when replacing the last message to prevent
	racing with the get_property method.

	Add debug output

2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>

	* tests/check/Makefile.am:
	* tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite),
	(main):
	Add a very simple check that should have caught the memleak I fixed
	last night (if not for the slice allocator hiding it)

2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>

	* gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
	(gst_bin_remove_func), (gst_bin_handle_message_func),
	(bin_query_duration_fold), (bin_query_generic_fold):
	Clean up references to the clock provider when disposed or when
	handling a clock-lost message from it.

	Unref sinks when performing a query via gst_iterator_fold, as the
	gst_bin_iterate_sinks iterator refs each item. (Fixes #323874)

	* gst/gstclock.c: (gst_clock_class_init), (gst_clock_dispose),
	(gst_clock_set_master):
	Drop our reference to the master clock, if any, when we are disposed.

	* gst/gsttypefindfactory.c: (gst_type_find_factory_dispose):
	Chain up in dispose. 

2006-01-26  Wim Taymans  <wim@fluendo.com>

	* libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
	Add some debugging.

2006-01-26  Julien MOUTTE  <julien@moutte.net>

	* plugins/elements/gsttee.c: (gst_tee_do_push),
	(gst_tee_handle_buffer): Apply patch from #328715. Tee now
	handles pad being NOT_LINKED or in WRONG_STATE.

2006-01-26  Stefan Kost  <ensonic@users.sf.net>

	* win32/MANIFEST:
	  more updating

2006-01-26  Stefan Kost  <ensonic@users.sf.net>

	* win32/MANIFEST:
	  remove obsolete entry

2006-01-26  Stefan Kost  <ensonic@users.sf.net>

	* docs/gst/gstreamer-sections.txt:
	* gst/gstbin.c: (bin_element_is_src), (src_iterator_filter),
	(gst_bin_iterate_sources), (gst_bin_send_event):
	* gst/gstbin.h:
	* gst/gstelement.c: (gst_element_send_event):
	* gst/gstevent.c:
	* gst/gstpad.c: (gst_pad_send_event):
	  added code for downstream events, reviewed docs in gstevent.c

2006-01-25  Julien MOUTTE  <julien@moutte.net>

	* libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
	We only query position using the clock in the playing state.
	Query peer in the other cases.
	* win32/common/config.h: Updates.

2006-01-24  Wim Taymans  <wim@fluendo.com>

	* gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
	A clock entry that is scheduled for the exact time of the
	clock is still in time.

	* libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
	(gst_base_sink_do_sync):
	Add some more debug info.

2006-01-23  Sebastien Moutte  <sebastien@moutte.net>

	* win32/vs7:
	  Add new vs7 project files and solution.

2006-01-23  Sebastien Moutte  <sebastien@moutte.net>

	* win32/vs7:
	  all files removed as they were out-dated.

2006-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>

	* docs/random/release:
	  update notes
	* gst/gstbin.c: (gst_bin_init):
	* gst/gstbus.c: (gst_bus_new):
	* gst/gstbus.h:
	* gst/gstpipeline.c: (gst_pipeline_init):
	  use gst_bus_new(), improve logging, fix docs
	* win32/common/config.h:
	  update for cvs build

2006-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>

	* autogen.sh:
	  up required version of automake to 1.7

2006-01-20  Sebastien Moutte  <sebastien@moutte.net>

	* win32/common/libgstreamer.def:
	  export gst_buffer_is_metadata_writable

2006-01-20  Tim-Philipp Müller  <tim at centricular dot net>

	* docs/gst/gstreamer-sections.txt:
	* gst/gstevent.h:
	  Add gst_event_replace() (#327001)

2006-01-20  Wim Taymans  <wim@fluendo.com>

	* gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
	Make it actually compile too..

2006-01-20  Wim Taymans  <wim@fluendo.com>

	* gst/gstcaps.c:
	Clarify behaviour of _is_equal() when passing NULL parameters.

	* gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
	(gst_pad_set_caps):
	Cleanups. Don't unref NULL caps.
	When setting the same caps, protect caps of the pad with
	proper lock.
	Use full functionality of _is_equal() when comparing caps.

2006-01-20  Jan Schmidt  <thaytan@mad.scientist.com>

	* libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
	Don't loop infinitely if there are no buffers to present. Partially
	fixes #327197, but collectpads is just broken for reusing elements
	to do multiple encodes atm.

2006-01-20  Jan Schmidt  <thaytan@mad.scientist.com>

	* tools/gst-inspect.c: (print_element_features):
	* tools/gst-xmlinspect.c: (main):
	URL_HANDLER is not a plugin feature we can search for in
	the registry.

2006-01-19  Edward Hervey  <edward@fluendo.com>

	* gst/gstelement.c: (gst_element_pads_activate): 
	When activating, do src pads first, then sink pads.
	When de-activating, do sink pads first, then src pads.

2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>

	* docs/gst/gstreamer-sections.txt:
	Add gst_index_add_associationv to the docs

2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>

	* gst/gstevent.c:
	  Fix docs typo

	* plugins/elements/gstqueue.c: (gst_queue_handle_sink_event),
	(gst_queue_chain), (gst_queue_push_one), (gst_queue_loop):
	  Do some refactoring. Doesn't actually change functionality,
	  but makes landing the DRAIN event easier later.

2006-01-19  Tim-Philipp Müller  <tim at centricular dot net>

	* docs/pwg/advanced-scheduling.xml:
	  Update from 0.9.x to 0.10 API and make example a bit
	  clearer.

2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>

	* docs/gst/gstreamer-sections.txt:
	Add gst_buffer_(is|make)_metadata_writable methods.

2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>

	* docs/design/part-sparsestreams.txt:
	Update sparse streams doc, hopefully for greater clarity

2006-01-18  Jan Schmidt  <thaytan@mad.scientist.com>

	* docs/design/part-events.txt:
	Remove mention of FILLER events.
	Add DRAIN event.

	* docs/design/part-sparsestreams.txt:
	Write some things about using NEWSEGMENT to keep sparse streams
	flowing.

2006-01-18  Tim-Philipp Müller  <tim at centricular dot net>

	* gst/gstbin.c: (gst_bin_dispose):
	  Guard gst_object_unref call against a NULL object (dispose
	  can theoretically be called multiple times).
	  
2006-01-18  Wim Taymans  <wim@fluendo.com>

	* gst/gstbin.c: (gst_bin_element_set_state):
	* gst/gstclock.c: (gst_clock_id_wait):
	Added some more debug info.

	* libs/gst/base/gstadapter.c:
	Added more docs.

	* libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
	(gst_base_sink_do_sync), (gst_base_sink_chain):
	Added some comments.

2006-01-18  Wim Taymans  <wim@fluendo.com>

	* tests/check/Makefile.am:
	* tests/check/elements/fakesink.c: (chain_async_buffer),
	(chain_async), (chain_async_return), (GST_START_TEST),
	(fakesink_suite), (main):
	Added fakesink test that checks prerolling and clipping
	behaviour.

	* tests/check/gst/gstutils.c: (GST_START_TEST):
	Make check run faster so that buildbots don't timeout.

2006-01-18  Wim Taymans  <wim@fluendo.com>

	* libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
	(gst_base_sink_do_sync):
	Some cleanups.
	When the sink finishes blocking on the preroll buffer, it can
	immediatly render it instead of rendering when the next buffer
	arrives.

2006-01-18  Wim Taymans  <wim@fluendo.com>

	* libs/gst/base/gstbasesink.c: (gst_base_sink_set_property),
	(gst_base_sink_get_property), (gst_base_sink_do_sync),
	(gst_base_sink_chain):
	Small cleanups.
	GST_ELEMENT_CLOCK and sync are protected with LOCK.
	Don't store _last_stop if the buffer is dropped.

2006-01-18  Tim-Philipp Müller  <tim at centricular dot net>

	* plugins/elements/gsttypefindelement.c:
	(gst_type_find_element_class_init):
	  'have-type' signal needs to be G_SIGNAL_RUN_FIRST, as it is the
	  object method handler that sets the caps on the pad and we want
	  that to happen before we emit the signal (fixes e.g. feeding a
	  plain text file to decodebin).

2006-01-18  Christian Schaller  <Christian@fluendo.com>

	* gst/gstplugin.c: Add MPL and Proprietary as license options

2006-01-18  Andy Wingo  <wingo@pobox.com>

	* gst/gstindex.h (gst_index_add_associationv): Add to header. The
	symbol was exported before, it appears this was just an oversight.
	Fixes #168703.
	Patch by: Torsten Schoenfeld <kaffeetisch at gmx.de>

	* gst/gstindex.c (gst_index_add_associationv): Changed int in
	prototype to gint. OK since this prototype was not in the header.

2006-01-17  Andy Wingo  <wingo@pobox.com>

	* gst/gstregistry.c (_gst_registry_remove_cache_plugins): Lock the
	registry while we remove plugins.

	* tools/gst-inspect.c (print_element_info): Don't unref the
	factory arg, that should be the responsibility of whatever code
	received the ref. Fixes a double-free when called from
	print_element_list via gst-inspect-0.10 -a. Fixes #327324.
	(main): Unref the factory if we have one.
	(print_element_list): No change -- relies on the
	plugin_feature_list_free to free the list of features.

2006-01-17  Jan Schmidt  <thaytan@mad.scientist.com>

	* gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
	(gst_buffer_make_metadata_writable):
	* gst/gstbuffer.h:
	* libs/gst/base/gstbasetransform.c:
	(gst_base_transform_prepare_output_buf):
	* plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
	* tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
	  Replace gst_buffer_(make|is)_metadata_writable patch now
	  that the release is out.

2006-01-17  Andy Wingo  <wingo@pobox.com>

	* gst/gstregistry.c: Reflow design comment. Update so as to speak
	in the present tense without reference to versions.

	* gst/gstregistry.c (gst_registry_add_plugin)
	(gst_registry_remove_plugin, gst_registry_remove_feature)
	(gst_registry_find_feature, gst_registry_get_feature_list)
	(gst_registry_get_plugin_list, gst_registry_lookup_feature)
	(gst_registry_lookup, gst_registry_scan_path)
	(_gst_registry_remove_cache_plugins)
	(gst_registry_get_feature_list_by_plugin): Add argument
	validation.

=== release 0.10.2 ===

2006-01-16  Thomas Vander Stichele <thomas at apestaart dot org>

	* configure.ac:
	  releasing 0.10.2, "If man is five"

2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>

	* gst/gstbuffer.c:
	* gst/gstbuffer.h:
	* libs/gst/base/gstbasetransform.c:
	(gst_base_transform_prepare_output_buf):
	* plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
	* tests/check/gst/gstbuffer.c: (gst_test_suite):
	  Back out patch until after the release.

2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>

	* gst/gstminiobject.c:
	  Spelling fix in docs.
	* ChangeLog - remove conflict indicator

2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>

	Reviewed By: Andy Wingo

	* gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
	(gst_buffer_make_metadata_writable):
	* gst/gstbuffer.h:
	  Add gst_buffer_(is|make)_metadata_writable as analogues of
	  gst_buffer_(is|make)_writable.

	* libs/gst/base/gstbasetransform.c:
	(gst_base_transform_prepare_output_buf):
	* plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
	  Use name gst_buffer_(is|make)_metadata_writable functions.

	* tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
	  Test gst_buffer_(is|make)_metadata_writable
	
	  (Closes: #324162)

2006-01-14  Thomas Vander Stichele  <thomas at apestaart dot org>

	* docs/manual/Makefile.am:
	  don't do parallel make
	* configure.ac:
	  AC_SUBST HOST_CPU
	* win32/common/config.h.in:
	  add generations for HOST_CPU and GST_MAJORMINOR
	* win32/common/config.h:
	  commit generated result

2006-01-13  Tim-Philipp Müller  <tim at centricular dot net>

	* docs/manual/appendix-integration.xml:
	  Update GNOME integration section to use gst_init_get_option_group()
	  instead of the old popt stuff (#322911). Also, GNOME applications
	  should  now use gconf*sink and gconf*src instead of the old gconf
	  helper lib we had.

2006-01-13  Stefan Kost  <ensonic@users.sf.net>


	* docs/gst/gstreamer-docs.sgml:
	* docs/gst/gstreamer-sections.txt:
	* docs/libs/gstreamer-libs-sections.txt:
	  add new API entries to the docs
	* libs/gst/controller/Makefile.am:
	* libs/gst/controller/gstcontroller.c:
	* libs/gst/controller/gstcontroller.h:
	* libs/gst/controller/gstcontrollerprivate.h:
	* libs/gst/controller/gsthelper.c:
	* libs/gst/controller/gstinterpolation.c:
	  move private structs to private header
	* po/README:
	  gstreamer-0.7 -> gstreamer-0.10
	* tests/check/libs/struct_i386.h:
	  remove private structs

2006-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>

	* plugins/indexers/Makefile.am:
	  Fixes as part of #317048

2006-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>

	* plugins/indexers/Makefile.am:
	  fix #316086 - compilation when mmap is missing

2006-01-12  Sebastien Moutte  <sebastien@moutte.net>

	* libs/gst/base/gstbasesink.c:
	  *cur = (now - base) * basesink->segment.abs_rate + time; replaced by 
	  *cur = gst_guint64_to_gdouble(now - base) * basesink->segment.abs_rate + time; for vs6
	* win32/common/config.h:
	  added some defines GST_MAJORMINOR and HOST_CPU
	* win32/common/libgstbase.def:
	* win32/common/libgstreamer.def:
	  added some exported functions.

2006-01-12  Stefan Kost  <ensonic@users.sf.net>

	* libs/gst/controller/gstcontroller.c:
	(gst_controlled_property_set_interpolation_mode),
	(gst_controlled_property_new):
	* libs/gst/controller/gstcontroller.h:
	* libs/gst/controller/gstinterpolation.c:
	(interpolate_none_get_string_value_array):
	  make G_TYPE_STRING controlable

2006-01-12  Stefan Kost  <ensonic@users.sf.net>

	* tools/README:
	* tools/gst-feedback.1.in:
	* tools/gst-inspect.1.in:
	* tools/gst-launch.1.in:
	* tools/gst-md5sum.1.in:
	* tools/gst-typefind.1.in:
	* tools/gst-xmlinspect.1.in:
	* tools/gst-xmllaunch.1.in:
	  cleanup man-pages, remove reference to gst-register, document env-vars

2006-01-12  Jan Schmidt  <thaytan@mad.scientist.com>

	* gst/gstbuffer.c: (gst_buffer_span):
	  gst_buffer_span should copy the timestamp of the first buffer
	  if they were both originally overlapping subbuffers of the 
	  same parent, using the same logic as the 'slow copy' case.

2006-01-11  Jan Schmidt  <thaytan@mad.scientist.com>

	* libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop):
	  Need to awaken ALL the pads when we pop a buffer, otherwise
	  collectpads only works when there is 2 input streams.

2006-01-11  Stefan Kost  <ensonic@users.sf.net>

	* docs/random/ensonic/media-device-daemon.txt:
	  more ideas (dbus)
	* gst/gstbuffer.c:
	  fix doc example, add clarification
	* tools/gst-launch.1.in:
	  add initial info about GST_PLUGIN_PATH, needs more work

2006-01-11  Tim-Philipp Müller  <tim at centricular dot net>

	* docs/manual/basics-bins.xml:
	* docs/manual/basics-elements.xml:
	* docs/manual/intro-basics.xml:
	  Some more minor docs additions and updates.

2006-01-11  Wim Taymans  <wim@fluendo.com>

	* docs/manual/basics-bins.xml:
	* docs/manual/basics-elements.xml:
	Some small fixes as pointed out by Ser-ver on IRC.

2006-01-10  Edward Hervey  <edward@fluendo.com>

	* plugins/elements/gstidentity.c: (gst_identity_transform_ip):
	Set the buffer offset/offset_end to GST_CLOCK_TIME_NONE when using
	the single-segment mode.

2006-01-10  Brian Cameron  <brian dot cameron at sun dot com>

	Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>

	* libs/gst/base/gstbasesrc.c: (gst_base_src_init),
	(gst_base_src_perform_seek), (gst_base_src_send_event),
	(gst_base_src_set_property), (gst_base_src_get_property),
	(gst_base_src_loop), (gst_base_src_start),
	(gst_base_src_activate_push):
	* libs/gst/base/gstbasesrc.h:
	  Name (private) union; makes Sun's Forte compiler happy (#324900).

2006-01-09  Tim-Philipp Müller  <tim at centricular dot net>

	* README:
	  gst-register is gone.

2006-01-07  Thomas Vander Stichele  <thomas at apestaart dot org>

	* gst/gstvalue.c: (_gst_value_initialize):
	  make the G_TYPE_DATE instantiation work if debug is disabled

2006-01-06  Tim-Philipp Müller  <tim at centricular dot net>

	* gst/gstmessage.c: (gst_message_parse_tag),
	(gst_message_parse_error), (gst_message_parse_warning):
	  Don't crash when return location for error/warning debug
	  string is NULL; add fact that return locations can be
	  NULL to docs where appropriate.

2006-01-05  Wim Taymans  <wim@fluendo.com>

	* gst/gstplugin.c: (gst_plugin_load_file):
	Replace strdup by g_strdup.

2006-01-05  Thomas Vander Stichele  <thomas at apestaart dot org>

	* docs/pwg/advanced-types.xml:
	  fix doc borkage

2006-01-05  Thomas Vander Stichele  <thomas at apestaart dot org>

	submitted by: Abel Cheung

	* po/LINGUAS:
	* po/zh_TW.po:
	  Added Chinese (traditional) translation

2006-01-04  Wim Taymans  <wim@fluendo.com>

	* docs/manual/basics-pads.xml:
	* docs/plugins/Makefile.am:
	* docs/plugins/gstreamer-plugins-docs.sgml:
	* docs/plugins/gstreamer-plugins-sections.txt:
	* docs/pwg/advanced-clock.xml:
	* docs/pwg/advanced-scheduling.xml:
	* docs/pwg/advanced-types.xml:
	* plugins/elements/gstfdsink.c:
	* plugins/elements/gstfdsrc.c:
	* plugins/elements/gstfdsrc.h:
	* plugins/elements/gstidentity.c: (gst_identity_class_init):
	* plugins/elements/gstidentity.h:
	* plugins/elements/gstqueue.h:
	* plugins/elements/gsttee.c:
	* plugins/elements/gsttee.h:
	* plugins/elements/gsttypefindelement.c:
	(gst_type_find_element_class_init):
	* plugins/elements/gsttypefindelement.h:
	Small updates to various docs.
	Added core plugins to docs.

2006-01-03  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>

	* common/gst.supp:
	  add a suppression for liboil's uninitialized variable

2006-01-02  James Livingston  <jrl at ids dot org dot au>

	Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>

	* gst/gstutils.h:
	  Add prototype for _get_type() function to GST_BOILERPLATE_FULL
	  macro, so that gcc doesn't complain if the -Wmissing-prototypes
	  compiler switch is being used (#325429).

2005-12-29  Tim-Philipp Müller  <tim at centricular dot net>

	* gst/gstbin.c: (gst_bin_query):
	  Disable duration query caching in bins until it gets
	  fixed (see #324807).

2005-12-27  Tim-Philipp Müller  <tim at centricular dot net>

	* tools/gst-inspect.c: (print_element_properties_info):
	  Handle properties of POINTER and BOXED type.

2005-12-27  Tim-Philipp Müller  <tim at centricular dot net>

	* gst/gst.c: (init_post):
	  Init tags stuff and some other things before loading
	  any static plugins (there may be other static plugins
	  than just the GStreamer ones, and they may want to
	  register their own tags or formats or whatever, and
	  preferably without segfaulting).

	* plugins/elements/gstqueue.c: (gst_queue_handle_src_query):
	  Print at least a warning in the debug logs if we drop a
	  query just because we don't know how to adjust the value
	  in the particular format.

2005-12-24  David Schleef  <ds@schleef.org>

	* tools/gstreamer-completion:
	  Replacement for gst-complete written in sh and sed.  Only
	  completes names of features, but that's 90% of what I want
	  it for.  Properties are not available in registry.xml.  (Maybe
	  they should be...)

=== release 0.10.1 ===

2005-12-23  Thomas Vander Stichele <thomas at apestaart dot org>

	* configure.ac:
	  releasing 0.10.1, "Nollaig chridheil"

2005-12-22  Tim-Philipp Müller  <tim at centricular dot net>

	* docs/faq/cvs.xml:
	  Add missing quote, should be make ERROR_CFLAGS="".

2005-12-20  Wim Taymans  <wim@fluendo.com>

	* docs/design/part-trickmodes.txt:
	More documentation on trickmodes.

2005-12-20  Edward Hervey  <edward@fluendo.com>

	* gst/gstcaps.c: (gst_static_caps_get_type):
	* gst/gstcaps.h:
	  API addition: GST_TYPE_STATIC_CAPS
	Added gpointer GType for GstStaticCaps so we can wrap them in bindings.
	* gst/gstpadtemplate.c: (gst_static_pad_template_get_type):
	* gst/gstpadtemplate.h:
	  API addition: GST_TYPE_STATIC_PAD_TEMPLATE
	Added gpointer GType for GstStaticPadTemplate so we can wrap them in
	bindings.

2005-12-18  Wim Taymans  <wim@fluendo.com>

	* libs/gst/base/gstadapter.c:
	* libs/gst/base/gstadapter.h:
	* libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
	(gst_base_sink_get_position):
	* libs/gst/base/gstbasesink.h:
	* libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
	(gst_base_src_default_query), (gst_base_src_default_do_seek),
	(gst_base_src_do_seek), (gst_base_src_perform_seek),
	(gst_base_src_send_event), (gst_base_src_update_length),
	(gst_base_src_get_range), (gst_base_src_loop),
	(gst_base_src_start):
	* libs/gst/base/gstbasesrc.h:
	* libs/gst/base/gstbasetransform.h:
	* libs/gst/base/gstcollectpads.h:
	* libs/gst/base/gstpushsrc.c:
	* libs/gst/base/gstpushsrc.h:
	* libs/gst/dataprotocol/dataprotocol.c:
	* libs/gst/dataprotocol/dataprotocol.h:
	* libs/gst/net/gstnetclientclock.h:
	* libs/gst/net/gstnettimeprovider.h:
	Documentation updates.

2005-12-18  Tim-Philipp Müller  <tim at centricular dot net>

	* docs/manual/basics-helloworld.xml:
	  Remove superfluous closing bracket in helloworld example.

2005-12-17  Tim-Philipp Müller  <tim at centricular dot net>

	* tools/gst-launch.1.in:
	  Update gst-launch man page; add a section with useful
	  environment variables. Fixes #323882.

2005-12-16  Stefan Kost  <ensonic@users.sf.net>

	* gst/gst.c:
	* gst/gst_private.h:
	  change some char* into char[]

2005-12-16  Wim Taymans  <wim@fluendo.com>

	* gst/gstregistryxml.c: (load_feature):
	Cleanups.
	Don't use g_object_unref on GstObjects so that we avoid
	leaks on unsafe glibs.

2005-12-16  Wim Taymans  <wim@fluendo.com>

	* gst/gstbin.c: (gst_bin_recalc_state):
	Small doc updates.

2005-12-16  Wim Taymans  <wim@fluendo.com>

	* common/check.mak:
	Added make forever target for check.

2005-12-16  Thomas Vander Stichele  <thomas at apestaart dot org>

	* gst/gst.c: (init_post):
	  make the registry cache file HOST_CPU-dependent

2005-12-16  Andy Wingo  <wingo@pobox.com>

	* plugins/elements/gstbufferstore.c
	(gst_buffer_store_cleared_func): Pay attention to g_list_append
	return value.

	* tests/check/gst/gstobject.c
	(test_fake_object_name_threaded_unique): Pay attention to
	g_list_sort return value.

2005-12-16  Tim-Philipp Müller  <tim at centricular dot net>

	* tools/gst-feedback-m.m:
	  Update for 0.9/0.10 (fixes #323870).

2005-12-15  Tim-Philipp Müller  <tim at centricular dot net>

	* gst/gstminiobject.c: (gst_value_mini_object_lcopy):
	  Fix lcopy for mini objects, the mini object needs to be ref'ed.
	  
	* tests/check/gst/gstminiobject.c: (my_foo_init),
	(my_foo_get_property), (my_foo_set_property), (my_foo_class_init),
	(test_value_collection), (gst_mini_object_suite):
	  Add test to ensure refcounts end up as expected when passing
	  GstMiniObjects through g_object_get() and g_object_set().

2005-12-14  Julien MOUTTE  <julien@moutte.net>

	* libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
	(gst_collect_pads_remove_pad), (gst_collect_pads_is_collected),
	(gst_collect_pads_event), (gst_collect_pads_chain): Refactoring
	of collectpads. This version removes a lot of races without
	touching API/ABI. Yay !

2005-12-14  Jan Schmidt  <thaytan@mad.scientist.com>

	* gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_link_prepare):
	  Don't allow activation of a srcpad in pull_range if it has no
	  getrange function.
	  Change some debug statements to be a little clearer

	* plugins/elements/gsttypefindelement.c:
	(gst_type_find_handle_src_query):
	  Check that we have a peer before executing queries thereupon.

	* tests/examples/metadata/read-metadata.c: (message_loop):
	  Use gst_bus_pop instead of gst_bus_poll when we just want it to
	  immediately return us any available message with 0 timeout.

2005-12-12  Michael Smith  <msmith@fluendo.com>

	* gst/gsttypefindfactory.c: (gst_type_find_factory_call_function):
	  Don't unref factories after calling them.
	* libs/gst/base/gsttypefindhelper.c: (gst_type_find_helper):
	* plugins/elements/gsttypefindelement.c:
	(gst_type_find_element_chain):
	  Free lists of factories after using them. Fixing typefinding memory
	  leaks.

2005-12-12  Stefan Kost  <ensonic@users.sf.net>

	* gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
	(gst_plugin_feature_load):
	  more meaningful debug output
	* configure.ac:
	* tests/Makefile.am:
	* tests/old/examples/Makefile.am:
	  make make distcheck happy again

2005-12-12  Tim-Philipp Müller  <tim at centricular dot net>

	* plugins/elements/gsttypefindelement.c: (stop_typefinding):
	  Catch the special case where we are operating chain-based,
	  but the downstream peer pad has no chain function. Emit a
	  custom error message in this case instead of letting the
	  core generate one implying that this is some sort of core
	  bug. It's not, it just means that whatever got plugged
	  into the pipeline downstream when we announced the type
	  can only operate pull-based, while our source can only
	  operate push-based (e.g. http://foo/bar.mov ! qtdemux ! ...)
	  Error string has not been marked for translation yet, as
	  it probably needs some more work first.

	(gst_type_find_element_get_best_possibility):
	  Add helper function to find the best of all available
	  found possibilities that qualify given the min. threshold.

	(gst_type_find_element_handle_event):
	  Fix the case where we get an EOS while still in TYPEFIND
	  mode (we want to chose the best of all possible types,
	  not just the first type that happens to be in our unsorted
	  list of possible types).

	(gst_type_find_element_chain):
	  Make sure we return GST_FLOW_ERROR when we errored out
	  in stop_typefinding(); also, don't just find the best of
	  all found type entries and then use the last examined
	  type entry, but actually use the best entry.

2005-12-12  Tim-Philipp Müller  <tim at centricular dot net>

	* tests/examples/typefind/typefind.c: (type_found):
	* tests/examples/xml/runxml.c: (xml_loaded):
	  More gcc4 fixes and a mem leak fix.

2005-12-12  Stefan Kost  <ensonic@users.sf.net>

	* tests/examples/xml/createxml.c: (object_saved):
	  gcc 4 fixes

2005-12-12  Stefan Kost  <ensonic@users.sf.net>

	* tests/Makefile.am:
	  enable the examples even more

2005-12-12  Andy Wingo  <wingo@pobox.com>

	* libs/gst/net/gstnettimeprovider.c
	(gst_net_time_provider_class_init, gst_net_time_provider_init)
	(gst_net_time_provider_set_property)
	(gst_net_time_provider_get_property):
	API addition: Export "active" as a GObject property.
	(gst_net_time_provider_thread): Only respond to time queries if
	the time provider is active.

	* libs/gst/net/gstnettimeprovider.h: Add an "active" boolean to
	NetTimeProvider, preserving binary compat.

2005-12-12  Stefan Kost  <ensonic@users.sf.net>

	* tests/examples/controller/audio-example.c: (main):
	* tests/examples/launch/Makefile.am:
	  convert comments again

2005-12-12  Wim Taymans  <wim@fluendo.com>

	* libs/gst/base/gstpushsrc.c:
	Fix typo.

2005-12-12  Wim Taymans  <wim@fluendo.com>

	* docs/libs/gstreamer-libs-sections.txt:
	Added new symbol to docs.

	* libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
	(gst_base_src_init), (gst_base_src_set_format),
	(gst_base_src_default_query), (gst_base_src_query),
	(gst_base_src_default_do_seek), (gst_base_src_do_seek),
	(gst_base_src_perform_seek), (gst_base_src_send_event),
	(gst_base_src_default_event), (gst_base_src_event_handler),
	(gst_base_src_set_property), (gst_base_src_get_property),
	(gst_base_src_wait), (gst_base_src_do_sync),
	(gst_base_src_update_length), (gst_base_src_get_range),
	(gst_base_src_check_get_range), (gst_base_src_loop),
	(gst_base_src_default_negotiate), (gst_base_src_start),
	(gst_base_src_activate_push), (gst_base_src_activate_pull),
	(gst_base_src_change_state):
	* libs/gst/base/gstbasesrc.h:
	Implement seeking to other formats than _BYTES.
	Implement more seeking methods correctly.
	Doc updates.
	Added query vmethod.
	Added do_seek vmethod to make life easier for subclasses
	when seeking.
	API addition: gst_base_src_set_format()

2005-12-12  Stefan Kost  <ensonic@users.sf.net>

	* tests/examples/Makefile.am:
	  added that too

2005-12-12  Stefan Kost  <ensonic@users.sf.net>

	* configure.ac:
	* docs/random/ensonic/media-device-daemon.txt:
	* tests/examples/controller/.cvsignore:
	* tests/examples/controller/Makefile.am:
	* tests/examples/controller/audio-example.c: (main):
	* tests/examples/helloworld/.cvsignore:
	* tests/examples/helloworld/Makefile.am:
	* tests/examples/helloworld/helloworld.c: (event_loop), (main):
	* tests/examples/launch/.cvsignore:
	* tests/examples/launch/Makefile.am:
	* tests/examples/launch/mp3parselaunch.c: (event_loop), (main):
	* tests/examples/metadata/.cvsignore:
	* tests/examples/metadata/Makefile.am:
	* tests/examples/metadata/read-metadata.c: (message_loop),
	(make_pipeline), (print_tag), (main):
	* tests/examples/queue/.cvsignore:
	* tests/examples/queue/Makefile.am:
	* tests/examples/queue/queue.c: (event_loop), (main):
	* tests/examples/typefind/.cvsignore:
	* tests/examples/typefind/Makefile.am:
	* tests/examples/typefind/typefind.c: (type_found), (event_loop),
	(main):
	* tests/examples/xml/.cvsignore:
	* tests/examples/xml/Makefile.am:
	* tests/examples/xml/createxml.c: (object_saved), (main):
	* tests/examples/xml/runxml.c: (xml_loaded), (event_loop), (main):
	* tests/old/examples/Makefile.am:
	* tests/old/examples/TODO:
	* tests/old/examples/controller/.cvsignore:
	* tests/old/examples/controller/Makefile.am:
	* tests/old/examples/controller/audio-example.c:
	* tests/old/examples/helloworld/.cvsignore:
	* tests/old/examples/helloworld/Makefile.am:
	* tests/old/examples/helloworld/helloworld.c:
	* tests/old/examples/launch/.cvsignore:
	* tests/old/examples/launch/Makefile.am:
	* tests/old/examples/launch/mp3parselaunch.c:
	* tests/old/examples/launch/mp3play:
	* tests/old/examples/manual/Makefile.am:
	* tests/old/examples/metadata/Makefile.am:
	* tests/old/examples/metadata/read-metadata.c:
	* tests/old/examples/queue/.cvsignore:
	* tests/old/examples/queue/Makefile.am:
	* tests/old/examples/queue/queue.c:
	* tests/old/examples/typefind/.cvsignore:
	* tests/old/examples/typefind/Makefile.am:
	* tests/old/examples/typefind/typefind.c:
	* tests/old/examples/xml/.cvsignore:
	* tests/old/examples/xml/Makefile.am:
	* tests/old/examples/xml/createxml.c:
	* tests/old/examples/xml/runxml.c:
	  applied some simple fixing to some examples
	  re-enabled the working examples

2005-12-12  Wim Taymans  <wim@fluendo.com>

	* gst/gstsegment.c: (gst_segment_init),
	(gst_segment_set_last_stop), (gst_segment_set_seek),
	(gst_segment_set_newsegment), (gst_segment_to_stream_time),
	(gst_segment_to_running_time):
	Added more documentation.
	Make sure the last_pos value is updated properly.
	Make sure to_stream_time and to_running_time don't
	operate on wrong values.

	* tests/check/gst/gstsegment.c: (GST_START_TEST):
	Update check.

2005-12-12  Michael Smith  <msmith@fluendo.com>

	* plugins/elements/gsttypefindelement.c: (free_entry),
	(gst_type_find_element_chain):
	  Now that we're not leaking factories, make sure we keep references
	  to them while we need them.

2005-12-12  Thomas Vander Stichele  <thomas at apestaart dot org>

	* tests/check/gst/struct_i386.h:
	  ifdef out the XML structs

2005-12-12  Thomas Vander Stichele  <thomas at apestaart dot org>

	* gst/gstvalue.c: (gst_value_transform_double_fraction):
	  floor is not needed, F is always positive; this obviates the
	  need for adding -lm when building without libxml

2005-12-12  Wim Taymans  <wim@fluendo.com>

	* libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
	Take current playback rate into account when reporting
	the position.

2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>

	* docs/manual/mime-world.fig:
	  Let's try this again, this time with a file that is
	  actually in XFig format.

2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>

	* docs/manual/mime-world.fig:
	  Add audioconvert element to diagram so that it
	  matches the text and the code (fixes #319526).

2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>

	* docs/pwg/building-chainfn.xml:
	* docs/pwg/building-pads.xml:
	* docs/pwg/building-state.xml:
	* docs/pwg/other-source.xml:
	  Update state change stuff for 0.10 (fixes #322969).

2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>

	* docs/manual/advanced-dataaccess.xml:
	* docs/manual/appendix-checklist.xml:
	* docs/manual/appendix-programs.xml:
	* docs/manual/basics-pads.xml:
	* docs/manual/highlevel-components.xml:
	* docs/manual/manual.xml:
	  Update for 0.10: s/0.9/0.10/; s/audioscale/audiorsample/;
	  add converters in front of pipelines; remove curly
	  brackets for threads stuff, they no longer exist; use
	  GST_TYPE_FRACTION for framerates; update some pieces of
	  code to 0.10, but there's plenty more to do.

	* docs/manual/appendix-porting.xml:
	  Expand on asynchroneous state changes; s/0.9/0.10/;
	  mention disappearance of gst_init_get_popt_table()
	  (fixes #322916).

2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>

	* docs/faq/using.xml:
	  Spider no longer exists, and neither does gst-launch-ext.
	  Update examples to use decodebin and playbin and put
	  converters in front of sinks (fixes #323726).

2005-12-09  Michael Smith  <msmith@fluendo.com>

	* plugins/elements/gsttypefindelement.c: (find_peek),
	(gst_type_find_element_chain):
	  Fix leaking element factories in typefinding.
	  Fix problem where we forgot about a probable type on non-seekable
	  files, and thus later mis-typefound it.

2005-12-09  Michael Smith  <msmith@fluendo.com>

	* common/m4/gst-makecontext.m4:
	* common/m4/gst-mcsc.m4:
	* configure.ac:
	* win32/common/config.h:
	* win32/common/config.h.in:
	  Remove makecontext stuff; not used in 0.10 and causes problems on
	  HPUX according to bug #322441

2005-12-07  Wim Taymans  <wim@fluendo.com>

	* tests/check/Makefile.am:
	* tests/check/libs/libsabi.c: (GST_START_TEST), (gstabi_suite),
	(main):
	* tests/check/libs/struct_i386.h:
	Added ABI check for libs

2005-12-07  Wim Taymans  <wim@fluendo.com>

	* tests/check/Makefile.am:
	And add the struct_i386.h to dist.

2005-12-07  Wim Taymans  <wim@fluendo.com>

	* tests/check/Makefile.am:
	* tests/check/gst/.cvsignore:
	* tests/check/gst/gstabi.c: (GST_START_TEST), (gstabi_suite),
	(main):
	* tests/check/gst/struct_i386.h:
	Added check for ABI compatibility.

2005-12-07  Wim Taymans  <wim@fluendo.com>

	* plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
	(gst_fake_src_get_times), (gst_fake_src_create):
	Fix broken sync option, fixes #323259

2005-12-07  Wim Taymans  <wim@fluendo.com>

	* gst/gstbuffer.c:
	Small docs update.

	* gst/gstcaps.c: (gst_caps_is_equal):
	Don't assert on NULL <--> X. Fixes #323260

	* gst/gstminiobject.c: (gst_mini_object_replace):
	If we're doing atomic operations, we might just as well use
	the proper way to get an atomic pointer.

	* libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
	Clean up debugging.

2005-12-07  Michael Smith  <msmith@fluendo.com>

	* gst/parse/grammar.y:
	  Remove handling of { } for threads.

2005-12-06  David Schleef  <ds@schleef.org>

	* libs/gst/base/gstbasetransform.c: speling fix.

2005-12-06  Thomas Vander Stichele  <thomas at apestaart dot org>

	* docs/libs/tmpl/gstdataprotocol.sgml:
	* docs/random/omega/testing/gstobject.c:
	* gst/gst.c:
	* gst/gstclock.c:
	* gst/gstelement.c:
	* gst/gstelementfactory.c:
	* gst/gsterror.c:
	* gst/gstevent.c:
	* gst/gstghostpad.c:
	* gst/gstinfo.c:
	* gst/gstpadtemplate.c:
	* gst/gstregistryxml.c:
	* gst/gsttaglist.c:
	* gst/gsttagsetter.c:
	* gst/gsttypefind.c:
	* gst/gstvalue.c:
	* libs/gst/base/gstbasesrc.c:
	* libs/gst/net/gstnetclientclock.c:
	* libs/gst/net/gstnettimeprovider.c:
	* plugins/elements/gstfakesrc.c:
	* plugins/elements/gstfdsrc.c:
	* plugins/elements/gstfilesrc.c:
	* plugins/elements/gstidentity.c:
	* plugins/elements/gstqueue.c:
	* plugins/elements/gsttypefindelement.c:
	* plugins/indexers/gstfileindex.c:
	* plugins/indexers/gstmemindex.c:
	* tests/check/gst/gsttag.c:
	* tests/old/examples/cutter/cutter.c:
	* tests/old/examples/mixer/mixer.c:
	* tests/old/examples/xml/runxml.c: (main):
	* tests/old/testsuite/caps/normalisation.c:
	* tests/old/testsuite/debug/global.c:
	* tests/old/testsuite/parse/parse1.c:
	* tools/gst-xmlinspect.c:
	* win32/common/dirent.c:
	  expand tabs

=== release 0.10.0 ===

2005-12-05  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>

	* configure.ac:
	  releasing 0.10.0, "Maroilles"

2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>

	submitted by: Funda Wang <fundawang@linux.net.cn>

	* po/LINGUAS:
	* po/zh_CN.po:
	  added Chinese (Traditional) translation

2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>

	* docs/gst/gstreamer-sections.txt:
	* docs/libs/tmpl/gstdataprotocol.sgml:
	* docs/random/thomasvs/TODO:
	* gst/gstutils.c:
	* gst/gstutils.h:
	  fix docs

2005-12-05  Andy Wingo  <wingo@pobox.com>

	patch by: Wim Taymans <wim@fluendo.com>

	* libs/gst/base/gstbasetransform.c
	(gst_base_transform_prepare_output_buf)
	(gst_base_transform_buffer_alloc):
	* plugins/elements/gstqueue.c (gst_queue_bufferalloc): Call
	alloc_buffer_and_set_caps.

	* gst/gstpad.c (gst_pad_alloc_buffer): Changed to not call
	set_caps on the source pad.
	(gst_pad_alloc_buffer_and_set_caps): New function, does what
	alloc_buffer used to do. Fixes #322874.

	* docs/gst/gstreamer-sections.txt: 
	* docs/design/part-negotiation.txt: 
	* docs/pwg/advanced-negotiation.xml: Update for the alloc_buffer
	changes.

2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>

	patch by: Sebastien Moutte

	* win32/MANIFEST:
	* win32/common/config.h.in:
	* win32/vs6/libgstcontroller.dsp:
	  win32 build fixes

2005-12-05  Wim Taymans  <wim@fluendo.com>

	* gst/gstcaps.c: (gst_caps_is_equal):
	* plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
	(gst_fake_src_create):
	Back out previous code changes, leave doc updates, file bugs 
	instead. 

2005-12-05  Wim Taymans  <wim@fluendo.com>

	* plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
	(gst_fake_src_get_times), (gst_fake_src_create):
	* plugins/elements/gstfakesrc.h:
	Fix broken sync code.

2005-12-05  Wim Taymans  <wim@fluendo.com>

	* gst/gstcaps.c: (gst_caps_is_equal):
	Comparing NULL against !NULL yields different caps, not a
	failure.

2005-12-05  Wim Taymans  <wim@fluendo.com>

	* gst/gstpipeline.c:
	Fix small typo in docs.

2005-12-05  Andy Wingo  <wingo@pobox.com>

	patch by: Thomas Vander Stichele  <thomas at apestaart dot org>

	* gst/gst.c (init_post): remove hard-coded 0.9 location for
	registries/plugins with a MAJORMINOR one.
	(plugin_desc): Rename library from gstcoreleements to
	staticelements. Fixes #323222.

2005-12-05  Tim-Philipp Müller  <tim at centricular dot net>

	* libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init):
	  Change debug category to 'collectpads' from 'collect_pads'
	  (fixes #323250).

2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>

	patch by: Sebastien Moutte

	* libs/gst/controller/gstinterpolation.c:
	  use convert function for uint64/double
	* win32/vs6/libgstcontroller.dsp:
	  link to GLib

2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>

	* gst/gstutils.c: (gst_util_guint64_to_gdouble),
	(gst_util_gdouble_to_guint64), (gst_util_uint64_scale_int64):
	* gst/gstutils.h:
	* tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
	  add tests that seem to show that the guint64/gdouble conversions
	  are correct.

2005-12-02  Wim Taymans  <wim@fluendo.com>

	* gst/gstregistry.c: (gst_registry_add_path):
	* gst/gstregistry.h:
	* gst/gstregistryxml.c:
	Fix docs again.

2005-12-02  Wim Taymans  <wim@fluendo.com>

	* gst/gstutils.c: (gst_util_uint64_scale_int64),
	(gst_util_uint64_scale_int):
	Small cleanup.

	* libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object):
	Add debug log line.

	* libs/gst/base/gstbasetransform.c: (gst_base_transform_event):
	Add FIXME.

2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>

	* win32/MANIFEST:
	* win32/common/config.h:
	* win32/vs6/gstreamer.dsw:
	* win32/vs6/libgstcoreelements.dsp:
	* win32/vs6/libgstelements.dsp:
	  renamed core elements plugin

2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>

	* tools/gst-run.c: (compare_major_minor), (find_highest_version),
	(get_candidates):
	  do piece-wise major/minor comparison so 0.9 < 0.10
	  also allow .exe extensions for tools

2005-12-02  Michael Smith  <msmith@fluendo.com>

	* gst/gst.c:
	  Escape a % to make gtkdoc happier; bug 322958.

=== release 0.9.7 ===

2005-12-01  Thomas Vander Stichele <thomas (at) apestaart (dot) org>

	* configure.ac:
	  releasing 0.9.7, "My Dog Has No Nose"

2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>

	* common/gst-xmlinspect.py:
	* configure.ac:
	* docs/libs/tmpl/gstdataprotocol.sgml:
	* docs/random/release:
	* po/af.po:
	* po/az.po:
	* po/bg.po:
	* po/ca.po:
	* po/cs.po:
	* po/de.po:
	* po/en_GB.po:
	* po/fr.po:
	* po/it.po:
	* po/nb.po:
	* po/nl.po:
	* po/ru.po:
	* po/sq.po:
	* po/sr.po:
	* po/sv.po:
	* po/tr.po:
	* po/uk.po:
	* po/vi.po:
	* win32/common/config.h:
	* win32/common/config.h.in:
	* win32/vs6/gst_inspect.dsp:
	* win32/vs6/gst_launch.dsp:
	* win32/vs6/libgstbase.dsp:
	* win32/vs6/libgstelements.dsp:
	* win32/vs6/libgstreamer.dsp:
	* win32/vs7/GStreamer.vcproj:
	* win32/vs7/gst-inspect.vcproj:
	* win32/vs7/gst-launch.vcproj:
	* win32/vs7/libgstbase.vcproj:
	  bump GST_MAJORMINOR to 0.10
	  reset libtool version

2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>

	* po/LINGUAS:
	* po/bg.po:
	  Added Bulgarian translation by (Alexander Shopov)

2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>

	* tests/check/gst/gstplugin.c:
	  fix test

2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>

	* common/gst-xmlinspect.py:
	* common/gtk-doc-plugins.mak:
	* configure.ac:
	* docs/Makefile.am:
	* docs/gst/Makefile.am:
	* docs/gst/gstreamer-docs.sgml:
	* docs/gst/gstreamer-sections.txt:
	* docs/gst/gstreamer.types:
	* docs/gst/gstreamer.types.in:
	* docs/plugins/Makefile.am:
	* docs/plugins/gstreamer-plugins-docs.sgml:
	* docs/plugins/gstreamer-plugins-sections.txt:
	* docs/plugins/gstreamer-plugins.types:
	* docs/plugins/inspect.stamp:
	* docs/plugins/inspect/plugin-coreelements.xml:
	* docs/plugins/inspect/plugin-coreindexers.xml:
	* docs/plugins/scanobj-build.stamp:
	* gstreamer.spec.in:
	* plugins/elements/Makefile.am:
	* plugins/elements/gstelements.c:
	* plugins/elements/gstfakesink.c:
	* plugins/elements/gstfakesrc.c:
	* plugins/elements/gstfilesink.c:
	* plugins/elements/gstfilesrc.c:
	* plugins/elements/gstqueue.c:
	* plugins/indexers/Makefile.am:
	* plugins/indexers/gstindexers.c:
	  document core plugins in a separate document just like all the
	  others
	  rename these plugins to something starting with core

2005-12-01  Andy Wingo  <wingo@pobox.com>

	* gst/gstevent.h (struct _GstEvent): Meant to remove the extra
	padding here before, but it missed the commit.

2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>

	* libs/gst/controller/gstinterpolation.c:
	  whitespace prices have crashed, we should feel free to use some now
	  use gst_guint64_to_gdouble

2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>

	* libs/gst/controller/gstcontroller.c:
	* libs/gst/controller/gsthelper.c:
	* libs/gst/controller/gstinterpolation.c:
	* libs/gst/controller/lib.c:
	  wrap config.h include

2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>

	* docs/gst/gstreamer-sections.txt:
	  update docs

2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>

	* plugins/elements/gstelements.c:
	* plugins/elements/gstfdsink.c: (gst_fd_sink__base_init),
	(gst_fd_sink__class_init), (gst_fd_sink__init),
	(gst_fd_sink__chain), (gst_fd_sink__set_property),
	(gst_fd_sink__get_property):
	* plugins/elements/gstfdsink.h:
	* plugins/elements/gstfdsrc.c: (_do_init), (gst_fd_src_base_init),
	(gst_fd_src_class_init), (gst_fd_src_init), (gst_fd_src_dispose),
	(gst_fd_src_update_fd), (gst_fd_src_start), (gst_fd_src_stop),
	(gst_fd_src_unlock), (gst_fd_src_set_property),
	(gst_fd_src_get_property), (gst_fd_src_create),
	(gst_fd_src_is_seekable), (gst_fd_src_get_size),
	(gst_fd_src_uri_get_type), (gst_fd_src_uri_get_protocols),
	(gst_fd_src_uri_get_uri), (gst_fd_src_uri_set_uri),
	(gst_fd_src_uri_handler_init):
	* plugins/elements/gstfdsrc.h:
	* plugins/elements/gstqueue.c: (gst_queue_get_type):
	  more anal cleanup

2005-11-30  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>

	* docs/gst/Makefile.am:
	* docs/gst/gstreamer.types.in:
	* gst/Makefile.am:
	  fix the docs build

2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>

	* configure.ac:
	* gst/Makefile.am:
	* gst/gst.c:
	* gst/gstplugin.h:
	* gst/gstregistry.h:
	* tests/benchmarks/complexity.c:
	* tests/benchmarks/mass-elements.c:
	* tests/check/Makefile.am:
	* tools/Makefile.am:
	* tools/gst-inspect.c:
	* tools/gst-xmlinspect.c:
	  various fixes to make
	  --disable-nls --disable-registry --disable-loadsave
	  --disable-parse --disable-gst-debug
	  work and get the core .so down to 360444 bytes after stripping

2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>

	* Makefile.am:
	* configure.ac:
	  descend into tests
	* docs/random/thomasvs/TODO:
	* tests/Makefile.am:
	* tests/README:
	  add a README

2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>

	* win32/GStreamer.vcproj:
	* win32/MANIFEST:
	* win32/Makefile:
	* win32/Makefile.inspect:
	* win32/Makefile.launch:
	* win32/Makefile.register:
	* win32/README.txt:
	* win32/gst-inspect.vcproj:
	* win32/gst-launch.vcproj:
	* win32/gst-register.vcproj:
	* win32/gstelements.vcproj:
	* win32/gstgetbits.def:
	* win32/gstgetbits.vcproj:
	* win32/gstreamer-dbg.def:
	* win32/gstreamer.def:
	* win32/libgstbase.def:
	* win32/libgstbase.vcproj:
	* win32/link_oldruntime.c:
	* win32/mman.c:
	* win32/mman.h:
	* win32/mman.inl:
	* win32/msvc71.sln:
	  move even more stuff, win32/ is nice and clean now

2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>

	* libs/gst/control/.cvsignore:
	* win32/MANIFEST:
	* win32/config.h:
	* win32/dirent.c:
	* win32/dirent.h:
	* win32/gstbytestream.def:
	* win32/gstbytestream.vcproj:
	* win32/gstconfig.h:
	* win32/gstenumtypes.c:
	* win32/gstenumtypes.h:
	* win32/gstoptimalscheduler.vcproj:
	* win32/gstversion.h:
	* win32/gtchar.h:
	* win32/testsuite/bins.vcproj:
	* win32/testsuite/bytestream.vcproj:
	* win32/testsuite/caps.vcproj:
	* win32/testsuite/cleanup.vcproj:
	* win32/testsuite/clock.vcproj:
	* win32/testsuite/debug.vcproj:
	* win32/testsuite/dlopen.vcproj:
	* win32/testsuite/dynparams.vcproj:
	* win32/testsuite/elements.vcproj:
	* win32/testsuite/ghostpads.vcproj:
	* win32/testsuite/indexers.vcproj:
	* win32/testsuite/negotiation.vcproj:
	* win32/testsuite/parse.vcproj:
	* win32/testsuite/plugin.vcproj:
	* win32/testsuite/refcounting.vcproj:
	* win32/testsuite/schedulers.vcproj:
	* win32/testsuite/states.vcproj:
	* win32/testsuite/tags.vcproj:
	* win32/testsuite/threads.vcproj:
	  remove old win32 stuff that isn't maintained and should be
	  reorganized

2005-11-30  Andy Wingo  <wingo@pobox.com>

	* configure.ac (GST_PKG_DEPS): Revert previous patch, makes
	loading the gst.interfaces python module bork.

	* configure.ac (GST_PKG_DEPS): Use gmodule-no-export-2.0.pc,
	available since GLib 2.2. Fixes #318031.

2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>

	* Makefile.am:
	* check/.cvsignore:
	* check/Makefile.am:
	* check/elements/.cvsignore:
	* check/elements/fakesrc.c:
	* check/elements/fdsrc.c:
	* check/elements/identity.c:
	* check/generic/.cvsignore:
	* check/generic/states.c:
	* check/gst-libs/.cvsignore:
	* check/gst-libs/controller.c:
	* check/gst-libs/gdp.c:
	* check/gst/.cvsignore:
	* check/gst/capslist.h:
	* check/gst/gst.c:
	* check/gst/gstbin.c:
	* check/gst/gstbuffer.c:
	* check/gst/gstbus.c:
	* check/gst/gstcaps.c:
	* check/gst/gstelement.c:
	* check/gst/gstevent.c:
	* check/gst/gstghostpad.c:
	* check/gst/gstiterator.c:
	* check/gst/gstmessage.c:
	* check/gst/gstminiobject.c:
	* check/gst/gstobject.c:
	* check/gst/gstpad.c:
	* check/gst/gstpipeline.c:
	* check/gst/gstplugin.c:
	* check/gst/gstsegment.c:
	* check/gst/gststructure.c:
	* check/gst/gstsystemclock.c:
	* check/gst/gsttag.c:
	* check/gst/gstutils.c:
	* check/gst/gstvalue.c:
	* check/net/.cvsignore:
	* check/net/gstnetclientclock.c:
	* check/net/gstnettimeprovider.c:
	* check/pipelines/.cvsignore:
	* check/pipelines/cleanup.c:
	* check/pipelines/simple_launch_lines.c:
	* check/pipelines/stress.c:
	* check/states/.cvsignore:
	* check/states/sinks.c:
	* configure.ac:
	* examples/Makefile.am:
	* examples/appreader/.cvsignore:
	* examples/appreader/Makefile.am:
	* examples/appreader/appreader.c:
	* examples/controller/.cvsignore:
	* examples/controller/Makefile.am:
	* examples/controller/audio-example.c:
	* examples/cutter/.cvsignore:
	* examples/cutter/Makefile.am:
	* examples/cutter/cutter.c:
	* examples/cutter/cutter.h:
	* examples/events/Makefile.am:
	* examples/events/seek.c:
	* examples/helloworld/.cvsignore:
	* examples/helloworld/Makefile.am:
	* examples/helloworld/helloworld.c:
	* examples/helloworld2/.cvsignore:
	* examples/helloworld2/Makefile.am:
	* examples/helloworld2/helloworld2.c:
	* examples/launch/.cvsignore:
	* examples/launch/Makefile.am:
	* examples/launch/mp3parselaunch.c:
	* examples/launch/mp3play:
	* examples/manual/.cvsignore:
	* examples/manual/Makefile.am:
	* examples/manual/extract.pl:
	* examples/metadata/Makefile.am:
	* examples/metadata/read-metadata.c:
	* examples/mixer/.cvsignore:
	* examples/mixer/Makefile.am:
	* examples/mixer/mixer.c:
	* examples/mixer/mixer.h:
	* examples/pingpong/.cvsignore:
	* examples/pingpong/Makefile.am:
	* examples/pingpong/pingpong.c:
	* examples/plugins/.cvsignore:
	* examples/plugins/Makefile.am:
	* examples/plugins/example.c:
	* examples/plugins/example.h:
	* examples/pwg/.cvsignore:
	* examples/pwg/Makefile.am:
	* examples/pwg/extract.pl:
	* examples/queue/.cvsignore:
	* examples/queue/Makefile.am:
	* examples/queue/queue.c:
	* examples/queue2/.cvsignore:
	* examples/queue2/Makefile.am:
	* examples/queue2/queue2.c:
	* examples/queue3/.cvsignore:
	* examples/queue3/Makefile.am:
	* examples/queue3/queue3.c:
	* examples/queue4/.cvsignore:
	* examples/queue4/Makefile.am:
	* examples/queue4/queue4.c:
	* examples/retag/.cvsignore:
	* examples/retag/Makefile.am:
	* examples/retag/retag.c:
	* examples/retag/transcode.c:
	* examples/thread/.cvsignore:
	* examples/thread/Makefile.am:
	* examples/thread/thread.c:
	* examples/typefind/.cvsignore:
	* examples/typefind/Makefile.am:
	* examples/typefind/typefind.c:
	* examples/xml/.cvsignore:
	* examples/xml/Makefile.am:
	* examples/xml/createxml.c:
	* examples/xml/runxml.c:
	* tests/Makefile.am:
	* tests/check/Makefile.am:
	* testsuite/.cvsignore:
	* testsuite/Makefile.am:
	* testsuite/Rules:
	* testsuite/caps/.cvsignore:
	* testsuite/caps/Makefile.am:
	* testsuite/caps/app_fixate.c:
	* testsuite/caps/audioscale.c:
	* testsuite/caps/caps.c:
	* testsuite/caps/caps.h:
	* testsuite/caps/caps_strings:
	* testsuite/caps/compatibility.c:
	* testsuite/caps/deserialize.c:
	* testsuite/caps/enumcaps.c:
	* testsuite/caps/eratosthenes.c:
	* testsuite/caps/filtercaps.c:
	* testsuite/caps/fixed.c:
	* testsuite/caps/fraction-convert.c:
	* testsuite/caps/fraction-multiply-and-zero.c:
	* testsuite/caps/intersect2.c:
	* testsuite/caps/intersection.c:
	* testsuite/caps/normalisation.c:
	* testsuite/caps/random.c:
	* testsuite/caps/renegotiate.c:
	* testsuite/caps/sets.c:
	* testsuite/caps/simplify.c:
	* testsuite/caps/string-conversions.c:
	* testsuite/caps/structure.c:
	* testsuite/caps/subtract.c:
	* testsuite/caps/union.c:
	* testsuite/debug/.cvsignore:
	* testsuite/debug/Makefile.am:
	* testsuite/debug/category.c:
	* testsuite/debug/commandline.c:
	* testsuite/debug/global.c:
	* testsuite/debug/output.c:
	* testsuite/debug/printf_extension.c:
	* testsuite/dlopen/.cvsignore:
	* testsuite/dlopen/Makefile.am:
	* testsuite/dlopen/dlopen_gst.c:
	* testsuite/dlopen/loadgst.c:
	* testsuite/elements/.cvsignore:
	* testsuite/elements/Makefile.am:
	* testsuite/elements/gst-inspect-check.in:
	* testsuite/elements/struct_i386.h:
	* testsuite/elements/struct_size.c:
	* testsuite/indexers/.cvsignore:
	* testsuite/indexers/Makefile.am:
	* testsuite/indexers/cache1.c:
	* testsuite/indexers/indexdump.c:
	* testsuite/parse/.cvsignore:
	* testsuite/parse/Makefile.am:
	* testsuite/parse/parse1.c:
	* testsuite/parse/parse2.c:
	* testsuite/plugin/.cvsignore:
	* testsuite/plugin/Makefile.am:
	* testsuite/plugin/README:
	* testsuite/plugin/dynamic.c:
	* testsuite/plugin/linked.c:
	* testsuite/plugin/loading.c:
	* testsuite/plugin/registry.c:
	* testsuite/plugin/static.c:
	* testsuite/plugin/static2.c:
	* testsuite/plugin/testplugin.c:
	* testsuite/plugin/testplugin2.c:
	* testsuite/plugin/testplugin2_s.c:
	* testsuite/plugin/testplugin_s.c:
	* testsuite/refcounting/.cvsignore:
	* testsuite/refcounting/Makefile.am:
	* testsuite/refcounting/bin.c:
	* testsuite/refcounting/element.c:
	* testsuite/refcounting/element_pad.c:
	* testsuite/refcounting/mainloop.c:
	* testsuite/refcounting/mem.c:
	* testsuite/refcounting/mem.h:
	* testsuite/refcounting/object.c:
	* testsuite/refcounting/pad.c:
	* testsuite/refcounting/sched.c:
	* testsuite/refcounting/thread.c:
	* testsuite/states/.cvsignore:
	* testsuite/states/Makefile.am:
	* testsuite/states/bin.c:
	* testsuite/states/locked.c:
	* testsuite/states/parent.c:
	* testsuite/threads/.cvsignore:
	* testsuite/threads/159566.c:
	* testsuite/threads/159852.c:
	* testsuite/threads/Makefile.am:
	* testsuite/threads/queue.c:
	* testsuite/threads/signals.c:
	* testsuite/threads/staticrec.c:
	* testsuite/threads/thread.c:
	* testsuite/threads/threadb.c:
	* testsuite/threads/threadc.c:
	* testsuite/threads/threadd.c:
	* testsuite/threads/threade.c:
	* testsuite/threads/threadf.c:
	* testsuite/threads/threadg.c:
	* testsuite/threads/threadh.c:
	* testsuite/threads/threadi.c:
	  move all of these under tests

2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>

	* configure.ac:
	* tests/Makefile.am:
	  fix distcheck

2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>

	* docs/gst/gstreamer-sections.txt:
	* tests/sched/.cvsignore:
	* tests/sched/Makefile.am:
	* tests/sched/cases/(fs-fs).xml:
	* tests/sched/cases/(fs-i-fs).xml:
	* tests/sched/cases/(fs-i-i-fs).xml:
	* tests/sched/cases/(fs-i-q[i-fs]).xml:
	* tests/sched/dynamic-pipeline.c:
	* tests/sched/interrupt1.c:
	* tests/sched/interrupt2.c:
	* tests/sched/interrupt3.c:
	* tests/sched/runtestcases:
	* tests/sched/runxml.c:
	* tests/sched/sched-stress.c:
	* tests/sched/sort.c:
	* tests/sched/testcases:
	* tests/sched/testcases1.tc:
	* tests/seeking/.cvsignore:
	* tests/seeking/Makefile.am:
	* tests/seeking/seeking1.c:
	* tests/threadstate/.cvsignore:
	* tests/threadstate/Makefile.am:
	* tests/threadstate/test1.c:
	* tests/threadstate/test2.c:
	* tests/threadstate/threadstate1.c:
	* tests/threadstate/threadstate2.c:
	* tests/threadstate/threadstate3.c:
	* tests/threadstate/threadstate4.c:
	* tests/threadstate/threadstate5.c:
	  remove obsolete tests
	* configure.ac:
	* tests/bench-complexity.scm:
	* tests/bench-mass_elements.scm:
	* tests/complexity.c:
	* tests/complexity.gnuplot:
	* tests/instantiate/.cvsignore:
	* tests/instantiate/Makefile.am:
	* tests/instantiate/caps.c:
	* tests/mass_elements.c:
	* tests/network-clock-utils.scm:
	* tests/network-clock.scm:
	* tests/plot-data:
	First pass at cleaning up tests/ dir before moving the rest
	Combined with CVS surgery

2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>

	* po/POTFILES.in:
	  queue has moved, update

2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>

	* docs/gst/gstreamer-sections.txt:
	  remove double entries from the docs
	* gst/gst_private.h:
	* gst/gstinfo.c: (_gst_debug_init):
	  remove the THREAD debug category
	* gst/Makefile.am:
	* gst/gstqueue.c:
	* gst/gstqueue.h:
	* docs/gst/gstreamer.types:
	* plugins/elements/gstqueue.c: (gst_queue_get_type),
	(gst_queue_init), (gst_queue_finalize), (gst_queue_change_state):
	  completely move queue and fix up debugging categories

2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>

	* plugins/elements/gstidentity.c: (gst_identity_transform_ip):
	  make initialization portable, using LL is not

2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>

	* win32/common/gstconfig.h:
	  add large padding

2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>

	* win32/common/libgstreamer.def:
	  rename symbols; sort base section

2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>

	* gst/gstclock.c: (do_linear_regression):
	  remove crack non-portable handrolled DEBUG macro

2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>

	* docs/random/release:
	  update notes
	* win32/common/gstenumtypes.c: (register_gst_object_flags),
	(gst_object_flags_get_type), (register_gst_bin_flags),
	(gst_bin_flags_get_type), (register_gst_buffer_flag),
	(gst_buffer_flag_get_type), (register_gst_bus_flags),
	(gst_bus_flags_get_type), (register_gst_bus_sync_reply),
	(gst_bus_sync_reply_get_type), (register_gst_caps_flags),
	(gst_caps_flags_get_type), (register_gst_clock_return),
	(gst_clock_return_get_type), (register_gst_clock_entry_type),
	(gst_clock_entry_type_get_type), (register_gst_clock_flags),
	(gst_clock_flags_get_type), (register_gst_state),
	(gst_state_get_type), (register_gst_state_change_return),
	(gst_state_change_return_get_type), (register_gst_state_change),
	(gst_state_change_get_type), (register_gst_element_flags),
	(gst_element_flags_get_type), (register_gst_core_error),
	(gst_core_error_get_type), (register_gst_library_error),
	(gst_library_error_get_type), (register_gst_resource_error),
	(gst_resource_error_get_type), (register_gst_stream_error),
	(gst_stream_error_get_type), (register_gst_event_type_flags),
	(gst_event_type_flags_get_type), (register_gst_event_type),
	(gst_event_type_get_type), (register_gst_seek_type),
	(gst_seek_type_get_type), (register_gst_seek_flags),
	(gst_seek_flags_get_type), (register_gst_format),
	(gst_format_get_type), (register_gst_index_certainty),
	(gst_index_certainty_get_type), (register_gst_index_entry_type),
	(gst_index_entry_type_get_type),
	(register_gst_index_lookup_method),
	(gst_index_lookup_method_get_type), (register_gst_assoc_flags),
	(gst_assoc_flags_get_type), (register_gst_index_resolver_method),
	(gst_index_resolver_method_get_type), (register_gst_index_flags),
	(gst_index_flags_get_type), (register_gst_debug_level),
	(gst_debug_level_get_type), (register_gst_debug_color_flags),
	(gst_debug_color_flags_get_type), (register_gst_iterator_result),
	(gst_iterator_result_get_type), (register_gst_iterator_item),
	(gst_iterator_item_get_type), (register_gst_message_type),
	(gst_message_type_get_type), (register_gst_mini_object_flags),
	(gst_mini_object_flags_get_type), (register_gst_pad_link_return),
	(gst_pad_link_return_get_type), (register_gst_flow_return),
	(gst_flow_return_get_type), (register_gst_activate_mode),
	(gst_activate_mode_get_type), (register_gst_pad_direction),
	(gst_pad_direction_get_type), (register_gst_pad_flags),
	(gst_pad_flags_get_type), (register_gst_pad_presence),
	(gst_pad_presence_get_type), (register_gst_pad_template_flags),
	(gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
	(gst_pipeline_flags_get_type), (register_gst_plugin_error),
	(gst_plugin_error_get_type), (register_gst_plugin_flags),
	(gst_plugin_flags_get_type), (register_gst_rank),
	(gst_rank_get_type), (register_gst_query_type),
	(gst_query_type_get_type), (register_gst_tag_merge_mode),
	(gst_tag_merge_mode_get_type), (register_gst_tag_flag),
	(gst_tag_flag_get_type), (register_gst_task_state),
	(gst_task_state_get_type), (register_gst_alloc_trace_flags),
	(gst_alloc_trace_flags_get_type),
	(register_gst_type_find_probability),
	(gst_type_find_probability_get_type), (register_gst_uri_type),
	(gst_uri_type_get_type), (register_gst_parse_error),
	(gst_parse_error_get_type):
	* win32/common/gstenumtypes.h:
	* win32/common/gstversion.h:
	  update visual studio generated files

2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>

	* win32/vs6/libgstbase.dsp:
	* win32/vs6/libgstelements.dsp:
	  update project files for new locations

2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>

	* Makefile.am:
	  remove some files
	* README:
	  reinstate and update
	* DEVEL:
	* REQUIREMENTS:
	  removed
	* LICENSE:
	* docs/random/LICENSE:
	  moved to random

2005-11-30  Edward Hervey  <edward@fluendo.com>

	* gst/gsttypefind.c: (gst_type_find_register):
	* gst/gsttypefind.h:
	* gst/gsttypefindfactory.c: (gst_type_find_factory_init),
	(gst_type_find_factory_dispose):
	* gst/gsttypefindfactory.h:
	Fix memory leak in GstTypeFindFactory.

2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>

	* gst/gst.c:
	* plugins/elements/Makefile.am:
	* plugins/elements/gstelements.c:
	* plugins/elements/gstqueue.c:
	  move queue from core to the elements plugin

2005-11-29  Andy Wingo  <wingo@pobox.com>

	* libs/gst/base/gstbasetransform.h: 
	* libs/gst/base/gstbasesrc.h: 
	* libs/gst/base/gstbasesink.h: en-LARGE the padding.

	* gst/gstconfig.h.in (GST_PADDING_LARGE): New define, the number
	of pointers by which to pad very extensible base classes (like the
	ones in libs/gst/base).

2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>

	* docs/gst/gstreamer-docs.sgml:
	* docs/gst/gstreamer-sections.txt:
	* docs/libs/gstreamer-libs-docs.sgml:
	* docs/libs/gstreamer-libs-sections.txt:
	  moving documentation from core to lib

2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>

	* check/Makefile.am:
	* configure.ac:
	* docs/gst/Makefile.am:
	* gst/Makefile.am:
	* gst/base/.cvsignore:
	* gst/base/Makefile.am:
	* gst/base/README:
	* gst/base/gstadapter.c:
	* gst/base/gstadapter.h:
	* gst/base/gstbasesink.c:
	* gst/base/gstbasesink.h:
	* gst/base/gstbasesrc.c:
	* gst/base/gstbasesrc.h:
	* gst/base/gstbasetransform.c:
	* gst/base/gstbasetransform.h:
	* gst/base/gstcollectpads.c:
	* gst/base/gstcollectpads.h:
	* gst/base/gstpushsrc.c:
	* gst/base/gstpushsrc.h:
	* gst/base/gsttypefindhelper.c:
	* gst/base/gsttypefindhelper.h:
	* gst/check/Makefile.am:
	* gst/check/gstcheck.c:
	* gst/check/gstcheck.h:
	* gst/net/Makefile.am:
	* gst/net/gstnet.h:
	* gst/net/gstnetclientclock.c:
	* gst/net/gstnetclientclock.h:
	* gst/net/gstnettimepacket.c:
	* gst/net/gstnettimepacket.h:
	* gst/net/gstnettimeprovider.c:
	* gst/net/gstnettimeprovider.h:
	* libs/gst/Makefile.am:
	* libs/gst/base/Makefile.am:
	* libs/gst/base/gstbasetransform.c:
	* libs/gst/check/Makefile.am:
	* plugins/elements/Makefile.am:
	* po/POTFILES.in:
	  CVS surgery + support to move base, check, and net out of gst
	  and into libs/gst

2005-11-29  Andy Wingo  <wingo@pobox.com>

	* gst/gstevent.h (struct _GstEvent): Only one pointer of padding.

	* gst/gststructure.h (struct _GstStructure): Only one pointer of
	padding.

	* gst/gstquery.h (struct _GstQuery): Only one pointer of padding.

	* gst/gstpluginfeature.h: Remove a comment in PluginFeature.

	* gst/gstplugin.h (struct _GstPluginClass): Add some padding.

	* gst/gstobject.h: (struct _GstObject): Only one pointer of
	padding; reduces object size by about 30%. We don't expect
	anything else to go into gstobject.

	* gst/gstminiobject.h (struct _GstMiniObject)
	(struct _GstMiniObjectClass): Only one pointer of padding; the
	payload is only a pointer and two ints anyway. For the class there
	are only two methods as well.
	
	* gst/gstelement.h (struct _GstElementClass): Removed
	the state_changed signal callback, it is not used.

2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>

	* docs/gst/gstreamer.types:
	  fix includes, though they are a little dinky

2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>

	* check/Makefile.am:
	  look in the right place for elements, a lot more chance of
	  success
	* gst/Makefile.am:
	  remove indexers and elements subdirs
	* plugins/Makefile.am:
	  make indexers conditional

2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>

	* Makefile.am:
	* configure.ac:
	* plugins/elements/Makefile.am:
	* plugins/elements/gstcapsfilter.c:
	* plugins/elements/gstfilesink.c:
	* plugins/elements/gstfilesrc.c:
	* plugins/elements/gstidentity.c:
	* plugins/indexers/Makefile.am:
	  do CVS surgery and related build fixery to move elements
	  and indexers in a new gstreamer/plugins directory, out of the
	  gst/ directory

2005-11-29  Andy Wingo  <wingo@pobox.com>

	* check/Makefile.am:
	* pkgconfig/gstreamer-net-uninstalled.pc.in:
	* pkgconfig/gstreamer-net.pc.in:
	* gst/net/Makefile.am: Rename gstnet-tempname to gstnet. Fixes
	#322257.

2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>

	* tools/Makefile.am:
	* tools/gst-complete.1.in:
	* tools/gst-complete.c:
	* tools/gst-compprep.1.in:
	* tools/gst-compprep.c:
	  removing -compprep and -complete

2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>

	* gst/gstevent.c: (gst_event_new_new_segment),
	(gst_event_parse_new_segment):
	* gst/gstevent.h:
	  fix #320529 - clean up new_segment API and structure.
	  Let's hope everyone was using the methods, and not the structure.

2005-11-29  Edward Hervey  <edward@fluendo.com>

	* gst/base/gstbasesink.c: (gst_base_sink_handle_object),
	(gst_base_sink_event), (gst_base_sink_do_sync),
	(gst_base_sink_activate_pull), (gst_base_sink_change_state):
	Properly handle non GST_FORMAT_TIME segment
	* gst/elements/gstidentity.c: (gst_identity_transform_ip):
	Properly handle non GST_FORMAT_TIME segment
	* gst/gstsegment.c:
	This function is valid if the accumulator is 0 and the format
	is different from the requested format.
	
2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>

	* docs/gst/gstreamer-sections.txt:
	Add gst_query_new_seeking and gst_query_parse_seeking to the
	docs.

2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>

	* gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
	  Treat a pad alloc with new caps the same as if we were not
	  negotiated, in order to allow a changing upstream output
	  to produce a new format of data.

2005-11-29  Edward Hervey  <edward@fluendo.com>

	* gst/base/gstbasetransform.c: (gst_base_transform_class_init),
	(gst_base_transform_event), (gst_base_transform_eventfunc):
	The event virtual method is now properly implemented, with a default
	handler
	Sub classes should call the parent_class event method. They should
	return FALSE if they had a problem handling the given event, or don't
	want GstBaseTransform to send that even downstream
	* gst/elements/gstidentity.c: (gst_identity_class_init),
	(gst_identity_init), (gst_identity_event),
	(gst_identity_transform_ip), (gst_identity_set_property),
	(gst_identity_get_property):
	* gst/elements/gstidentity.h:
	Added the single-segment boolean property.
	If set to TRUE, it will output a single segment of data, starting from
	0, will eat up all incoming newsegment, and modify the timestamp of the
	buffers accordingly

2005-11-29  Tim-Philipp Müller  <tim at centricular dot net>

	* gst/gstghostpad.c: (gst_proxy_pad_get_target):
	  Don't ref NULL target pad (#322751). Improve docs.

2005-11-29  Michael Smith  <msmith@fluendo.com>

	* gst/gstregistryxml.c: (load_plugin):
	  Don't crash if we failed to load a feature from a plugin. 

2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>

	* check/pipelines/simple_launch_lines.c: (setup_pipeline),
	(GST_START_TEST):
	  use more check API and less GLib API

2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>

	* Makefile.am:
	  don't run checks if we don't have check
	* common/check.mak:
	  remove the registry when running make torture
	* docs/gst/gstreamer-sections.txt:
	  remove second multiply
	* gst/gstqueue.c: (gst_queue_loop):
	  fix a compile warning when disabling debug

2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>

	* gst/gstinfo.h:
	Hey! Let's print the pad name if the pointer != NULL instead
	of when it == NULL :-)

2005-11-28  Wim Taymans  <wim@fluendo.com>

	* check/gst/gstutils.c: (GST_START_TEST):
	Updated check, add some scaling accuracy checking code.

	* gst/gstutils.c: (gst_util_div128_64),
	(gst_util_uint64_scale_int64), (gst_util_uint64_scale),
	(gst_util_uint64_scale_int):
	Fix 6 times faster division code. Optimize for common 
	1/1 and less common X/1 cases.

2005-11-28  Wim Taymans  <wim@fluendo.com>

	* check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
	More checks.

	* gst/gstclock.c: (gst_clock_finalize), (gst_clock_set_master),
	(do_linear_regression), (gst_clock_add_observation):
	Cleanups.
	Release lock when the clock cannot be slaved.
	Catch the case where the regression returned an invalid denominator.

	* gst/gstutils.c: (gst_util_div128_64_iterate),
	(gst_util_div128_64), (gst_util_uint64_scale_int64),
	(gst_util_uint64_scale), (gst_util_uint64_scale_int):
	Add protentially more performant non-iterative 128/64 divide function
	that unfortunatly does not work yet.
	Shortcut the trivial 0/X = 0 case.
	Remove the warnings on overflow.

2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>

	* gst/gstplugin.c: (gst_plugin_register_func):
	  everything causing a plugin not to load should be at least a WARNING

2005-11-28  Stefan Kost  <ensonic@users.sf.net>

	* docs/random/ensonic/dparams.txt:
	  some TODOs for the next dev cycle
	* libs/gst/controller/gstcontroller.c:
	(gst_controlled_property_set_interpolation_mode),
	(gst_controlled_property_new):
	* libs/gst/controller/gstcontroller.h:
	  use base type to assign acccessor functions

2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>

	* check/Makefile.am:
	Oops, that should have been top_srcdir

2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>

	* check/Makefile.am:
	* check/elements/fdsrc.c: (GST_START_TEST):
	Use a cmdline define to specify the location of a file to use for
	testing, to avoid breaking distcheck.

2005-11-28  Andy Wingo  <wingo@pobox.com>

	* gst/gstpad.c (fixate_value): Use array functions for arrays.

2005-11-28  Edward Hervey  <edward@fluendo.com>

	* tools/gst-launch.c: (main):
	Clarify the output strings, makes it easier to translate.
	Fixes #322626

2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>

	* gst/Makefile.am:
	  don't try and build net if we don't even have <sys/socket.h>

2005-11-27  Jan Schmidt  <thaytan@mad.scientist.com>

	* check/Makefile.am:
	* check/elements/fdsrc.c: (event_func), (setup_fdsrc),
	(cleanup_fdsrc), (GST_START_TEST), (fdsrc_suite), (main):
	  Add tests for fdsrc seekability

	* gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
	(gst_fdsrc_init), (gst_fdsrc_update_fd), (gst_fdsrc_start),
	(gst_fdsrc_set_property), (gst_fdsrc_is_seekable),
	(gst_fdsrc_get_size), (gst_fdsrc_uri_set_uri):
	* gst/elements/gstfdsrc.h:
	  fdsrc should not be a 'live' source.
	  Implement seeking on seekable fd's.

	* gst/gstquery.c: (gst_query_new_seeking),
	(gst_query_parse_seeking):
	* gst/gstquery.h:
	  Implement SEEKING query functions: 
	    *_new_seeking and *_parse_seeking

2005-11-27  Stefan Kost  <ensonic@users.sf.net>

	* gst/gstelement.c: (gst_element_dispose):
	  don't loop forever

	* gst/gstiterator.c:
	* gst/gststructure.c:
	  doc fixes

	* libs/gst/controller/gstcontroller.c:
	(gst_controlled_property_set_interpolation_mode):
	* libs/gst/controller/gstcontroller.h:
	* libs/gst/controller/gstinterpolation.c:
	(interpolate_none_get_enum_value_array):
	  support controlling enums

2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>

	* gst/gstvalue.c:
	  Improve documentation for gst_value_union().

	* gst/gstvalue.h:
	  Change return value for union, intersect and subtract functions
	  from gint to gboolean.

2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>

	* gst/gstvalue.c: (gst_value_serialize_any_list),
	(gst_value_transform_any_list_string),
	(gst_value_deserialize_list), (gst_value_deserialize_array),
	(gst_value_set_int_range), (gst_value_deserialize_int_range),
	(gst_value_set_double_range), (gst_value_deserialize_double_range),
	(gst_value_set_fraction_range_full),
	(gst_value_deserialize_fraction_range),
	(gst_value_deserialize_caps), (gst_value_deserialize_buffer),
	(gst_value_deserialize_boolean),
	(gst_value_deserialize_int_helper), (gst_value_deserialize_double),
	(gst_value_serialize_float), (gst_value_deserialize_float),
	(gst_string_wrap), (gst_value_deserialize_string),
	(gst_value_deserialize_enum), (gst_value_deserialize_flags),
	(gst_value_union_int_range_int_range),
	(gst_value_intersect_int_range_int_range),
	(gst_value_intersect_double_range_double_range),
	(gst_value_create_new_range), (gst_value_subtract_int_range_int),
	(gst_value_subtract_int_range_int_range),
	(gst_value_subtract_double_double_range),
	(gst_value_subtract_double_range_double_range),
	(gst_value_deserialize_fraction):
	* gst/gstvalue.h:
	  Use gint, gdouble and gchar in our API instead of int, double and
	  char (and make usage in gstvalue.c more consistent).

2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>

	* check/Makefile.am:
	* libs/gst/controller/Makefile.am:
	* libs/gst/dataprotocol/Makefile.am:
	  fix up Makefile.am and remove GST_ENABLE_NEW

2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>

	* configure.ac:
	* gst/Makefile.am:
	* gst/base/Makefile.am:
	* gst/check/Makefile.am:
	* gst/elements/Makefile.am:
	* gst/net/Makefile.am:
	  update LDFLAGS use some more

2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>

	* common/m4/gst-doc.m4:
	  Fixes #312589

2005-11-26  Edward Hervey  <edward@fluendo.com>

	* gst/gstpluginfeature.c: (gst_plugin_feature_load):
	This shouldn't issue a g_warning since it returns NULL if it
	couldn't find the plugin, and all functions using this behave
	properly on a NULL return. Switching to a GST_WARNING.

2005-11-25  Jan Schmidt  <thaytan@mad.scientist.com>

	* gst/gstbin.c: (gst_bin_handle_message_func):
	Don't leak clock messages.

2005-11-25  Wim Taymans  <wim@fluendo.com>

	* gst/gstutils.c: (gst_util_uint64_scale_int64),
	(gst_util_uint64_scale_int):
	Optimisations, remove unneeded vars.

2005-11-25  Wim Taymans  <wim@fluendo.com>

	* check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
	Added more checks for the high precision uint64 cases.

	* gst/gstutils.c: (gst_util_uint64_scale_int64),
	(gst_util_uint64_scale), (gst_util_uint64_scale_int):
	Implement high precision (guint64 * guint64) / guint64.

2005-11-24  Wim Taymans  <wim@fluendo.com>

	* gst/base/gstbasesrc.c: (gst_base_src_query):
	Fix wrong percentage query.

	* gst/gstutils.c: (gst_util_uint64_scale),
	(gst_util_uint64_scale_int):
	Add some more common cases that can be handled 
	efficiently to _scale.

2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>

	* check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST),
	(gst_mini_object_suite):
	  don't use check calls from threads; check probably isn't
	  threadsafe and using a lock to make it threadsafe would
	  defeat the purpose of this check
	* gst/check/gstcheck.c:
	* gst/check/gstcheck.h:
	  use GST_DEBUG some more

2005-11-24  Wim Taymans  <wim@fluendo.com>

	* gst/gstutils.c: (gst_util_uint64_scale),
	(gst_util_uint64_scale_int):
	Chain trivial case to _scale_int.

2005-11-24  Wim Taymans  <wim@fluendo.com>

	* check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
	Added test for scaling.

	* gst/gstclock.h:
	Small doc fix.

	* gst/gstutils.c: (gst_util_uint64_scale_int):
	Implemented high precision scaling code.

2005-11-24  Stefan Kost  <ensonic@users.sf.net>

	* gst/gstinfo.h:
	  do not crash on pad==NULL

2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>

	Patch by: Stefan Kost

	* common/gtk-doc.mak:
	* docs/gst/Makefile.am:
	* docs/libs/Makefile.am:
	  Fix distcheck issues for the libraries docs build
	  Closes #319599.

2005-11-24  Michael Smith <msmith@fluendo.com>

	* docs/manual/basics-helloworld.xml:
	  Fix bug #315027: memory leak in example code in docs.

2005-11-24  Michael Smith <msmith@fluendo.com>

	* gst/base/gstbasesink.c: (gst_base_sink_handle_object):
	  Unlock the PREROLL_LOCK in a failure case.

2005-11-24  Wim Taymans  <wim@fluendo.com>

	* docs/gst/gstreamer-sections.txt:
	* gst/base/gstadapter.h:
	* gst/base/gstbasesink.h:
	* gst/base/gstbasesrc.h:
	* gst/base/gstbasetransform.h:
	* gst/base/gstpushsrc.h:
	* gst/elements/gstfakesink.h:
	* gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type):
	* gst/elements/gstfakesrc.h:
	* gst/elements/gstfilesink.h:
	* gst/elements/gstfilesrc.h:
	* gst/gst.c:
	* gst/gstbin.c:
	* gst/gstbuffer.c: (_gst_buffer_copy):
	* gst/gstbus.h:
	* gst/gstcaps.c:
	* gst/gstchildproxy.c:
	* gst/gstclock.c:
	* gst/gstelement.c:
	* gst/gstelementfactory.c:
	* gst/gstelementfactory.h:
	* gst/gstevent.c:
	* gst/gstghostpad.h:
	* gst/gstindex.h:
	* gst/gstinterface.h:
	* gst/gstminiobject.c:
	* gst/gstminiobject.h:
	* gst/gstpad.c:
	* gst/gstpad.h:
	* gst/gstpadtemplate.h:
	* gst/gstpipeline.h:
	* gst/gstpluginfeature.h:
	* gst/gstquery.h:
	* gst/gstqueue.h:
	* gst/gsttaglist.c:
	* gst/gsttaglist.h:
	* gst/gsttagsetter.c:
	* gst/gsttagsetter.h:
	* gst/gsttrace.c:
	* gst/gsttrace.h:
	* gst/gsttypefind.h:
	* gst/gsturi.h:
	* gst/gstvalue.c:
	* gst/net/gstnetclientclock.c:
	* gst/net/gstnetclientclock.h:
	* gst/net/gstnettimepacket.c:
	* gst/net/gstnettimeprovider.c:
	* gst/net/gstnettimeprovider.h:
	Doc fixes.

2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>

	* configure.ac: back to HEAD

=== release 0.9.6 ===

2005-11-23  Thomas Vander Stichele <thomas at apestaart dot org>

	* configure.ac:
	  releasing 0.9.6, "Always On Time"

2005-11-23  Wim Taymans  <wim@fluendo.com>

	* docs/gst/gstreamer-sections.txt:
	* gst/glib-compat.c:
	* gst/gsttagsetter.c:
	* gst/gstvalue.c:
	* gst/net/gstnetclientclock.c:
	* gst/net/gstnettimepacket.h:
	Doc updates.

2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>

	* docs/faq/using.xml:
	* docs/libs/tmpl/gstcontrol.sgml:
	* docs/manual/advanced-dparams.xml:
	* docs/manual/appendix-checklist.xml:
	* docs/manual/basics-elements.xml:
	* docs/pwg/other-source.xml:
	* docs/random/moving-plugins:
	* gst/gstpad.c:
	* tools/gst-launch.1.in:
	  remove mentions of sinesrc

2005-11-23  Michael Smith <msmith@fluendo.com>

	* docs/gst/gstreamer-sections.txt:
	  Update for new API and API changes.
	* gst/gstobject.h:
	  Documentation fix: GST_TRYLOCK -> GST_OBJECT_TRYLOCK
	* gst/gstvalue.c:
	  Documentation typo fix.
	* gst/net/gstnettimepacket.c:
	  Documentation fixes for arguments.

2005-11-23  Jan Schmidt  <thaytan@mad.scientist.com>

	* gst/gststructure.c: (gst_structure_get_fraction),
	(gst_structure_parse_value),
	(gst_structure_fixate_field_nearest_fraction):
	* gst/gststructure.h:
	* gst/gstutils.c: (gst_util_uint64_scale_int):
	* gst/gstutils.h:
	* scripts/update-funcnames:
	API Changes. 
	Rename gst_util_clock_time_scale to gst_util_uint64_scale_int
	Make gst_structure_fixate_field_nearest_fraction take a numerator
	and denominator argument instead of a GValue
	add gst_structure_get_fraction helper function.

2005-11-23  Wim Taymans  <wim@fluendo.com>

	* docs/design/part-TODO.txt:
	Update TODO.

	* gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
	* gst/net/gstnetclientclock.h:
	Use parent fields for timeout and window_size.

2005-11-23  Andy Wingo  <wingo@pobox.com>

	* check/net/gstnetclientclock.c (test_functioning): Adjust to
	rate_num/rate_denom change.

	* gst/net/gstnetclientclock.c
	(gst_net_client_clock_observe_times): Take the SLAVE_LOCK not the
	OBJECT_LOCK. Don't call add_observation with the lock.

	* gst/gstclock.c (gst_clock_init): Initialize the rate as a
	fraction.
	(gst_clock_adjust_unlocked): Adjust using uint64_scale and the
	rate fraction.
	(gst_clock_set_calibration, gst_clock_get_calibration): Change to
	deal with rate as a fraction whose numerator and denominator are
	GstClockTime values.
	(gst_clock_set_master): Only use the OBJECT_LOCK to set the
	master; the other fields are protected by the SLAVE_LOCK.
	(do_linear_regression): Note that this must be called with the
	SLAVE_LOCK.
	(gst_clock_add_observation): Take the SLAVE_LOCK, not the
	OBJECT_LOCK. Call set_calibration instead of touching the
	variables directly.
	(gst_clock_set_property, gst_clock_get_property): Protect
	master/slave parameters with the SLAVE_LOCK.

	* gst/gstclock.h (GstClock): Remove rate, add rate_numerator and
	rate_denominator. PR3C1S3. Add a new lock, the SLAVE_LOCK, and
	note that all of the instance variables that add_observation and
	the set_master functions use are protected by that lock and not
	the OBJECT_LOCK.
	(GST_CLOCK_SLAVE_LOCK, GST_CLOCK_SLAVE_UNLOCK): New macros.

	* gst/gstclock.c (gst_clock_add_observation): No longer requires
	the caller to take the object lock.

2005-11-23  Wim Taymans  <wim@fluendo.com>

	* gst/gsterror.c: (_gst_core_errors_init):
	* gst/gsterror.h:
	Add error for clock stuff.

	* gst/gstpipeline.c: (gst_pipeline_change_state),
	(gst_pipeline_set_clock):
	Post clock error when clock cannot be used in a pipeline.

2005-11-23  Stefan Kost  <ensonic@users.sf.net>

	* docs/gst/gstreamer-sections.txt:
	  make two symbols from gstinfo private for the docs
	* gst/base/gstcollectpads.h:
	* gst/gstutils.c:
	  fix doc typos, update docs

2005-11-22  Wim Taymans  <wim@fluendo.com>

	* gst/base/gstbasesink.c: (gst_base_sink_class_init),
	(gst_base_sink_wait), (gst_base_sink_do_sync),
	(gst_base_sink_handle_event):
	* gst/base/gstbasesink.h:
	No need to store the clock, the parent element class already
	has it.

	* gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_add_func):
	Updates for clock_set returning a gboolean

	* gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_wait),
	(gst_clock_id_wait_async), (gst_clock_class_init),
	(gst_clock_init), (gst_clock_finalize),
	(gst_clock_get_internal_time), (gst_clock_get_time),
	(gst_clock_slave_callback), (gst_clock_set_master),
	(gst_clock_get_master), (do_linear_regression),
	(gst_clock_add_observation), (gst_clock_set_property),
	(gst_clock_get_property):
	* gst/gstclock.h:
	Implement master/slave. When setting a clock as a slave, a
	periodic timeout is scheduled to sample master and slave times.
	Then the slave clock is recalibrated to match offset and rate
	of the master clock.
	Update logging a bit.
	Add flag so that a clock can state that is cannot be slaved to
	another clock.

	* gst/gstelement.c: (gst_element_set_clock):
	* gst/gstelement.h:
	The set clock returns a gboolean for when an element cannot
	deal with the selected clock in the pipeline. 

	* gst/gstpipeline.c: (gst_pipeline_change_state),
	(gst_pipeline_set_clock):
	* gst/gstpipeline.h:
	Handle the case where the selected clock cannot be set on
	the pipeline.

	* gst/net/gstnetclientclock.c: (gst_net_client_clock_class_init),
	(gst_net_client_clock_init), (gst_net_client_clock_finalize),
	(gst_net_client_clock_set_property),
	(gst_net_client_clock_get_property),
	(gst_net_client_clock_observe_times):
	* gst/net/gstnetclientclock.h:
	Use regression code in GstClock parent, remove duplicated
	functionality.

2005-11-22  Michael Smith <msmith@fluendo.com>

	* gst/gstutils.c: (gst_util_clock_time_scale):
	* gst/gstutils.h:
	* docs/gst/gstreamer-sections.txt:
	  Rename method to have extra underscore.

2005-11-22  Thomas Vander Stichele  <thomas at apestaart dot org>

	* gst/elements/Makefile.am:
	* gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type):
	* gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
	(gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
	(gst_fake_src_init), (gst_fake_src_prepare_buffer),
	(gst_fake_src_alloc_buffer), (gst_fake_src_get_size):
	* gst/elements/gstfakesrc.h:
	* gst/gstqueue.c: (queue_leaky_get_type):
	  correctly fix GEnumValues so that nick is the short lowercase
	  dashed tag
	* tools/gst-inspect.c: (print_element_properties_info):
	  also show the nick, since it's useful to use from parse_launch
	  syntax
	  Fixes #322139

2005-11-22  Michael Smith <msmith@fluendo.com>

	* gst/gstutils.c: (gst_util_clocktime_scale):
	* gst/gstutils.h:
	* docs/gst/gstreamer-sections.txt:
	  Add util method for scaling a clocktime by a fraction. Useful 
	  implementation is left as an exercise for the reader.

2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>

	* gst/gstvalue.c: (gst_value_collect_fraction_range):
	If needed, allocate storage in the destination value during
	collection.

2005-11-22  Edward Hervey  <edward@fluendo.com>

	* docs/gst/gstreamer-sections.txt:
	* gst/Makefile.am:
	* gst/gst.h:
	* gst/gsturitype.c:
	* gst/gsturitype.h:
	* gst/gstutils.c: (gst_util_set_object_arg):
	* tools/gst-compprep.c: (main):
	* tools/gst-inspect.c: (print_element_properties_info):
	Removed GstURI, closes bug #321061

2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>

	* check/gst/gststructure.c: (GST_START_TEST):
	* gst/gststructure.c: (gst_structure_parse_value):
	  Oops, broke automatic string type parsing.
	  Add a test to catch it in future.

2005-11-22  Andy Wingo  <wingo@pobox.com>

	* gst/gsttagsetter.c (gst_tag_setter_get_tag_merge_mode) 
	(gst_tag_setter_set_tag_merge_mode, gst_tag_setter_get_tag_list):
	Actually rename the function implementations. Grr.

2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>

	* check/gst/capslist.h:
	  Comment test cases
	* check/gst/gststructure.c: (GST_START_TEST),
	(gst_structure_suite):
	  Test automatic value type detection in gst_structure_from_string.
	* gst/gststructure.c: (gst_structure_parse_value):
	  Add fraction as a type we try and guess automatically in
	  caps/structure strings.

2005-11-22  Andy Wingo  <wingo@pobox.com>

	patch by: Torsten Schoenfeld <kaffeetisch gmx de>

	* gst/gsttagsetter.h:
	* gst/gsttagsetter.c: (gst_tag_setter_merge_tags)
	(gst_tag_setter_add_tags, gst_tag_setter_add_tag_values)
	(gst_tag_setter_add_tag_valist)
	(gst_tag_setter_add_tag_valist_values): Renamed from _merge, _add,
	_add_values, _add_valist, and _add_valist_values. Since this is an
	interface the function suffixes should be more explicit so
	language binding don't end up with element.add_valist ->
	gst_tag_setter_add_valist, for example. Fixes #322069.

2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>

	* check/gst/gstcaps.c: (GST_START_TEST):
	  Extend caps string tests to check that a caps to string
	  conversion is reversible and produces the same caps.

	* gst/gststructure.c: (gst_structure_value_get_generic_type):
	  Output "fraction" as the generic type fraction range, so caps
	  serialisation and deserialisation works.
	* check/gst/capslist.h:
	* gst/gstvalue.c: (gst_value_deserialize_fraction):
	  Support 'MIN' and 'MAX' for deserialising fractions.

2005-11-22  Andy Wingo  <wingo@pobox.com>

	* gst/gstevent.h (gst_event_new_new_segment)
	(gst_event_parse_new_segment, gst_event_new_buffer_size)
	(gst_event_parse_buffer_size, gst_ghost_pad_new_no_target):
	Renamed from *_newsegment, *_buffersize, *_notarget.

	* scripts/update-funcnames: New script, performs the changes
	listed above.

2005-11-22  Wim Taymans  <wim@fluendo.com>

	* gst/base/gstbasesink.c: (gst_base_sink_handle_object):
	Make sure the GstFlowReturn is returned.

	* gst/gstbus.c: (gst_bus_add_signal_watch_full),
	(gst_bus_add_signal_watch):
	* gst/gstbus.h:
	add gst_bus_add_signal_watch_full.

	* gst/gstplugin.c: (gst_plugin_load_file):
	Small style cleanup.

2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>

	* check/gst/gstevent.c: (test_event), (GST_START_TEST):
	  Block the fakesrc srcpad when we send an event, to avoid
	  contention on the stream_lock causing random test failures.

2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>

	* check/gst/gstvalue.c: (GST_START_TEST):
	* gst/gstvalue.c: (gst_value_fraction_subtract):
	  Fix subtraction.

2005-11-22  Stefan Kost  <ensonic@users.sf.net>

	* gst/gst.h:
	  include "gstchildproxy.h"
	* gst/gstchildproxy.h:
	* libs/gst/controller/gstcontroller.h:
	  use G_GNUC_NULL_TERMINATED

2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>

	* check/gst/capslist.h:
	* check/gst/gstcaps.c: (GST_START_TEST):
	* check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
	* gst/gststructure.c: (gst_structure_parse_range),
	(gst_structure_fixate_field_nearest_fraction):
	* gst/gststructure.h:
	* gst/gstvalue.c: (gst_value_init_fraction_range),
	(gst_value_free_fraction_range), (gst_value_copy_fraction_range),
	(gst_value_collect_fraction_range),
	(gst_value_lcopy_fraction_range), (gst_value_set_fraction_range),
	(gst_value_set_fraction_range_full),
	(gst_value_get_fraction_range_min),
	(gst_value_get_fraction_range_max),
	(gst_value_serialize_fraction_range),
	(gst_value_transform_fraction_range_string),
	(gst_value_compare_fraction_range),
	(gst_value_deserialize_fraction_range),
	(gst_value_intersect_fraction_fraction_range),
	(gst_value_intersect_fraction_range_fraction_range),
	(gst_value_subtract_fraction_fraction_range),
	(gst_value_subtract_fraction_range_fraction),
	(gst_value_subtract_fraction_range_fraction_range),
	(gst_value_collect_fraction), (gst_value_fraction_multiply),
	(gst_value_fraction_subtract), (gst_value_deserialize_fraction),
	(gst_value_transform_string_fraction), (_gst_value_initialize):
	* gst/gstvalue.h:
	  Implement fraction ranges and extend GstFraction to support
	  arithmetic subtraction, as well as deserialization from integer
	  strings such as "100"
	  Add a testsuite as for int and double range set operations

2005-11-21  Andy Wingo  <wingo@pobox.com>

	* gst/gsttaglist.h: 
	* gst/gstcaps.h: 
	* gst/gststructure.h: Add glib-compat.h.

2005-11-21  Wim Taymans  <wim@fluendo.com>

	* gst/gstbin.c: (gst_bin_change_state_func):
	Fix for #321595

2005-11-21  Wim Taymans  <wim@fluendo.com>

	* gst/gstsegment.h:
	And add a nice define too.

2005-11-21  Wim Taymans  <wim@fluendo.com>

	* gst/gstsegment.c: (gst_segment_copy), (gst_segment_get_type),
	(gst_segment_new), (gst_segment_free), (gst_segment_init),
	(gst_segment_set_duration), (gst_segment_set_last_stop),
	(gst_segment_set_seek), (gst_segment_set_newsegment),
	(gst_segment_to_stream_time), (gst_segment_to_running_time),
	(gst_segment_clip):
	* gst/gstsegment.h:
	Make binding friendly.

2005-11-21  Andy Wingo  <wingo@pobox.com>

	* gst/gsttagsetter.h: 
	* gst/gsttaglist.h: 
	* gst/gststructure.h: 
	* gst/gstcaps.h: 
	* gst/gstutils.h: Sprinkle NULL_TERMINATED to taste. Fixes
	#319940.

	* gst/gsterror.c (_gst_core_errors_init):
	* gst/gsterror.h (GST_CORE_ERROR_MISSING_PLUGIN): New error
	category.

	* gst/Makefile.am (gst_headers): Add glib-compat.h.
	(noinst_HEADERS): noinst the -private.

2005-11-21  Michael Smith <msmith@fluendo.com>

	* gst/gstplugin.h:
	* gst/gstregistry.h:
	  Remove unimplemented declarations for which we can see no sensible
	  use.

2005-11-21  Andy Wingo  <wingo@pobox.com>

	* gst/gst.h: Include glib-compat.h.

	* gst/glib-compat.h: Add G_GNUC_NULL_TERMINATED.

	* gst/glib-compat.c: Include the public and the private header.

	* gst/glib-compat-private.h: Copied here from glib-compat.h.

	* gst/gstvalue.c: 
	* gst/gstpad.c: 
	* gst/gstregistryxml.c: s/glib-compat/glib-compat-private/.

	* check/gst/gstevent.c (create_custom_events): Check that
	FLUSH_STOP is serialized.

	* check/elements/identity.c (event_func): 
	* check/elements/fakesrc.c (event_func): No stream lock, the core
	takes it.

	* gst/base/gstbasetransform.c (gst_base_transform_event): No more
	stream lock taking, yay.

	* gst/gstevent.h (GST_EVENT_FLUSH_STOP): Marked as serialized to
	ensure that core takes the stream lock.

	* gst/base/gstbasesrc.c (gst_base_src_do_seek): Update for stream
	lock name change.

	* gst/base/gstbasesink.c (gst_base_sink_event): No need to take
	the stream lock for EOS, NEWSEGMENT, or FLUSH_STOP, the core does
	it already. For the flush start we do take it though so we get the
	right preroll state change messages.

	* gst/gstqueue.c (gst_queue_sink_activate_push): No need to take
	the stream lock here, the core does it for us.

	* gst/gstpad.h (GST_PAD_GET_STREAM_LOCK): Renamed from
	GST_STREAM_GET_LOCK.
	(GST_PAD_STREAM_LOCK, GST_PAD_STREAM_TRYLOCK) 
	(GST_PAD_STREAM_UNLOCK, GST_PAD_STREAM_UNLOCK_FULL) 
	(GST_PAD_STREAM_LOCK_FULL): Renamed from GST_STREAM_*.
	(GST_PAD_GET_PREROLL_LOCK): Renamed from GST_PREROLL_GET_LOCK.
	(GST_PAD_PREROLL_LOCK, GST_PAD_PREROLL_TRYLOCK) 
	(GST_PAD_PREROLL_UNLOCK): Renamed from GST_PREROLL_*.

	* gst/gstpad.c: Update for stream lock name change.

	* gst/base/gstbasesink.c: Update for preroll lock name change.

2005-11-21  Wim Taymans  <wim@fluendo.com>

	* gst/gstclock.c: (gst_clock_init), (gst_clock_set_master),
	(gst_clock_get_master):
	* gst/gstclock.h:
	* gst/gstsystemclock.c: (gst_system_clock_init):
	Convert Clock flags to object flags.
	Added methods to manage master/slave clocks.

2005-11-21  Wim Taymans  <wim@fluendo.com>

	* check/gst/gstsegment.c: (GST_START_TEST):
	* docs/design/part-TODO.txt:
	* gst/base/gstbasesink.c: (gst_base_sink_handle_object),
	(gst_base_sink_event), (gst_base_sink_do_sync),
	(gst_base_sink_activate_pull), (gst_base_sink_get_position),
	(gst_base_sink_query), (gst_base_sink_change_state):
	* gst/base/gstbasesink.h:
	* gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
	(gst_base_src_default_newsegment),
	(gst_base_src_configure_segment), (gst_base_src_do_seek),
	(gst_base_src_get_range), (gst_base_src_loop),
	(gst_base_src_change_state):
	* gst/base/gstbasesrc.h:
	* gst/base/gstbasetransform.c:
	(gst_base_transform_prepare_output_buf),
	(gst_base_transform_event), (gst_base_transform_change_state):
	* gst/base/gstbasetransform.h:
	* gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
	(gst_collect_pads_event):
	* gst/base/gstcollectpads.h:
	* gst/elements/gstfakesrc.c: (gst_fake_src_init),
	(gst_fake_src_create):
	* gst/elements/gstfakesrc.h:
	* gst/elements/gstidentity.c: (gst_identity_transform_ip):
	* gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
	(gst_segment_set_last_stop), (gst_segment_set_seek),
	(gst_segment_set_newsegment), (gst_segment_to_stream_time),
	(gst_segment_to_running_time), (gst_segment_clip):
	* gst/gstsegment.h:
	More segment updates, replace code in plugins with segment
	helper functions.

2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>

	* gst/elements/gstfdsrc.c: (gst_fdsrc_uri_set_uri):
	Don't ignore sscanf results

2005-11-21  Andy Wingo  <wingo@pobox.com>

	* gst/gstpad.h (GST_IS_PAD_FAST): Removed.

	* *.h:
	* *.c: Ran scripts/update-macros. Oh yes.

	* gst/gstobject.h (GST_OBJECT_GET_LOCK, GST_OBJECT_LOCK)
	(GST_OBJECT_TRYLOCK, GST_OBJECT_UNLOCK): Renamed from
	GST_GET_LOCK, etc.

	* scripts/update-macros: New script. Run it on your files to
	change GST_LOCK to GST_OBJECT_LOCK, and the same for UNLOCK as
	well.

2005-11-21  Stefan Kost  <ensonic@users.sf.net>

	* docs/gst/Makefile.am:
	* docs/gst/gstreamer-docs.sgml:
	* docs/gst/gstreamer-sections.txt:
	* docs/gst/gstreamer.types:
	* gst/gstinfo.h:
	  more docs fixes, add new api to the docs

2005-11-21  Andy Wingo  <wingo@pobox.com>

	* gst/gstbin.c (gst_bin_remove_func): Wim claims I can remove this
	state_broadcast call.

	* gst/gstsegment.c (gst_segment_init): Initialize abs_rate.

2005-11-21  Julien MOUTTE  <julien@moutte.net>

	* gst/gstvalue.c: (gst_value_intersect_array): Fix wrong
	function calls for arrays.

2005-11-21  Stefan Kost  <ensonic@users.sf.net>

	* docs/random/ensonic/media-device-daemon.txt:
	  wild idea, can this be done?
	* docs/gst/gstreamer-sections.txt:
	* gst/gsterror.h:
	* gst/gstfilter.c:
	* gst/gstfilter.h:
	* gst/gstplugin.h:
	* gst/gstpluginfeature.c:
	* gst/gsttrace.c:
	* gst/gstvalue.c:
	* gst/gstvalue.h:
	  doc fixes and additions

2005-11-21  Andy Wingo  <wingo@pobox.com>

	* gst/base/gstbasesrc.c (GST_LIVE_BROADCAST, GST_LIVE_SIGNAL) 
	(GST_LIVE_TIMED_WAIT, GST_LIVE_WAIT, GST_LIVE_GET_COND) 
	(GST_LIVE_UNLOCK, GST_LIVE_TRYLOCK, GST_LIVE_LOCK) 
	(GST_LIVE_GET_LOCK): Moved here from gstbasesrc.h. They are
	private to the basesrc implementation.

	* gst/gstpad.c (gst_pad_send_event): Doc more. Take stream lock on
	behalf of event function if necessary. It should no longer be
	necessary to take the stream lock in pad's event functions. Fixes
	#320299.

2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
	* docs/gst/gstreamer-sections.txt:
	* gst/gststructure.c: (gst_structure_fixate_field_nearest_int),
	(gst_structure_fixate_field_nearest_double),
	(gst_structure_fixate_field_boolean):
	* gst/gststructure.h:
	* win32/common/libgstreamer.def:
	* win32/gstreamer.def:

	Rename gst_caps_structure_fixate_* to gst_structure_fixate_*
	(#322027)

2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>

	* gst/elements/gstfdsrc.c: (_do_init), (gst_fdsrc_class_init),
	(gst_fdsrc_init), (gst_fdsrc_dispose), (gst_fdsrc_set_property),
	(gst_fdsrc_uri_get_type), (gst_fdsrc_uri_get_protocols),
	(gst_fdsrc_uri_get_uri), (gst_fdsrc_uri_set_uri),
	(gst_fdsrc_uri_handler_init):
	* gst/elements/gstfdsrc.h:
	  Port fd:// URI handler from 0.8 to fdsrc

2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>

	* gst/gstvalue.c: (gst_value_transform_fourcc_string),
	(gst_value_serialize_fourcc):
	* gst/gstvalue.h:
	  Drop leading '%' from GST_FOURCC_FORMAT, thus making it
	  consistent with our other format defines (#320324).

2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>

	* gst/gstvalue.c: (gst_value_is_fixed):
	  Revert previous commit. Value lists are by definition
	  not fixed, as they are a list of possible values.

2005-11-21  Andy Wingo  <wingo@pobox.com>

	* gst/gstevent.h (GST_EVENT_FILLER): Removed. Can be added back
	during the stable series if we need it. Fixes #319178.

	* gst/gstevent.c (gst_event_new_filler): Removed.

	* check/gst/gstevent.c: Update comment about filler events.

2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>

	* gst/gstvalue.c: (gst_value_is_fixed):
	  Should handle both value arrays and value lists.

2005-11-21  Andy Wingo  <wingo@pobox.com>

	patch by: Alessandro Dessina <alessandro nnva org>

	* gst/gstvalue.c (gst_value_is_fixed): Use gst_value_array
	functions to access arrays. Fixes #321962.

2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>

	* docs/gst/gstreamer.types:
	  gst_collectpads_get_type => gst_collect_pads_get_type.
	  
	* gst/base/gstbasetransform.c:
	  Remove unused SIGNAL_HANDOFF enum.

2005-11-21  Andy Wingo  <wingo@pobox.com>

	* gst/gstevent.h (GstEventTypeFlags): New data type, the flags of
	the event type (upstream, downstream, serialized). Renamed
	GST_EVDIR_* and GST_EVSER to GST_EVENT_TYPE_*.
	(GstEventType): Use GstEventTypeFlags. Rename CUSTOM_UP to
	CUSTOM_UPSTREAM, CUSTOM_DS to CUSTOM_DOWNSTREAM, etc.

	* gst/gstevent.c: Update for new CUSTOM event names.

	* check/gst/gstevent.c: Update check for new CUSTOM event names.

	* gst/gstevent.h:
	* gst/gstevent.c (gst_event_type_get_flags): New function. Fixes
	bug #319392.

2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>

	* docs/gst/gstreamer-sections.txt:
	* win32/common/libgstbase.def:
	* win32/libgstbase.def:
	* gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
	(gst_collect_pads_class_init), (gst_collect_pads_init),
	(gst_collect_pads_finalize), (gst_collect_pads_new),
	(gst_collect_pads_set_function), (gst_collect_pads_add_pad),
	(gst_collect_pads_remove_pad), (gst_collect_pads_is_active),
	(gst_collect_pads_collect), (gst_collect_pads_collect_range),
	(gst_collect_pads_start), (gst_collect_pads_stop),
	(gst_collect_pads_peek), (gst_collect_pads_pop),
	(gst_collect_pads_available), (gst_collect_pads_read),
	(gst_collect_pads_flush), (gst_collect_pads_event),
	(gst_collect_pads_chain):
	* gst/base/gstcollectpads.h:
	  Rename gst_collecpads_foo() => gst_collect_pads_foo(). Document
	  unimplemented functions as unimplemented. Add padding to
	  GstCollectData. (#320766, #320423)

2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>

	* gst/gstmessage.c:
	  Improve docs for DURATION message (usage of duration parameter)
	  (#320113)

2005-11-20  Wim Taymans  <wim@fluendo.com>

	* check/Makefile.am:
	* check/gst/gstsegment.c: (GST_START_TEST), (gstevents_suite),
	(main):
	* gst/Makefile.am:
	* gst/gst.h:
	* gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
	(gst_segment_set_seek), (gst_segment_set_newsegment),
	(gst_segment_to_stream_time), (gst_segment_to_running_time),
	(gst_segment_clip):
	* gst/gstsegment.h:
	Added segment helper structure and methods. Not fully implemented
	yet.
	Added segment check.

2005-11-20  Jan Schmidt  <thaytan@mad.scientist.com>

	* check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
	  Add a deserialisation test for fractions
	* examples/metadata/read-metadata.c: (message_loop),
	(make_pipeline), (main):
	  Fix up metadata reading sample.
	* gst/base/gstbasesink.c: (gst_base_sink_do_sync):
	  Debug format fix
	* gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
	  Don't try and fixate empty caps
	* gst/gst_private.h:
	  Wrap in G_BEGIN_DECLS/G_END_DECLS
	* gst/gstvalue.c: (gst_value_collect_fraction),
	(gst_value_set_fraction), (gst_value_get_fraction_denominator),
	(gst_value_transform_string_fraction),
	(gst_value_compare_fraction):
	  Add some extra guards to ensure that we don't end up 
	  with an invalid denominator of 0 in a gstfraction and
	  that fractions always get reduced.

2005-11-20  Wim Taymans  <wim@fluendo.com>

	* docs/gst/gstreamer-sections.txt:
	* gst/gstbuffer.h:
	* gst/gstelement.c:
	* gst/gstformat.c:
	* gst/gstformat.h:
	* gst/gstindex.h:
	* gst/gstquery.c:
	* gst/gstquery.h:
	* gst/gstvalue.c:
	Doc fixes.

2005-11-20  Wim Taymans  <wim@fluendo.com>

	* docs/design/part-TODO.txt:
	* gst/gstcaps.h:
	Make a proper enum of the flag.

2005-11-19  Wim Taymans  <wim@fluendo.com>

	* docs/design/part-TODO.txt:
	* gst/gstformat.c: (_gst_format_initialize), (gst_format_get_name),
	(gst_format_to_quark), (gst_format_register):
	* gst/gstformat.h:
	* gst/gstquery.c: (_gst_query_initialize),
	(gst_query_type_get_name), (gst_query_type_to_quark),
	(gst_query_type_register):
	* gst/gstquery.h:
	Add type to quark and type to string conversions.

2005-11-19  Andy Wingo  <wingo@pobox.com>

	* gst/gstbuffer.h (GST_BUFFER_FLAG_ORIGINAL): Removed. Fixes
	#320097.

2005-11-19  Wim Taymans  <wim@fluendo.com>

	* docs/design/part-TODO.txt:
	* gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
	(gst_bin_add_func), (gst_bin_remove_func), (bin_bus_handler),
	(gst_bin_handle_message_func):
	* gst/gstbin.h:
	Make message handling overridable.

2005-11-19  Andy Wingo  <wingo@pobox.com>

	* gst/gstpad.h (GST_PAD_IS_USABLE): Removed. Fixes #321235.

	* gst/gstclock.h:
	* gst/gstclock.c (GstClock, GstClockClass): Change resolution to
	be a GstClockTime.
	(gst_clock_set_resolution, gst_clock_get_resolution): Resolution
	is a GstClockTime. Fixes #321710.

	* gst/gstclock.h (GstClock): Remove offset property. Add
	internal_calibration and external_calibration. Fix padding. Pad
	also by GstClockTime so we don't run into problems.

	* gst/gstclock.c (gst_clock_set_rate_offset): Remove.
	(gst_clock_get_rate_offset): Remove.
	(gst_clock_set_time_adjust): Remove. Fixes #321712.

	* gst/gstutils.h:
	* gst/gstutils.c (g_static_rec_cond_wait)
	(g_static_rec_cond_timed_wait): Removed, no longer needed.

	* gst/gstbin.c: Remove terrible continue_state prototype.

	* gst/gstelement.h (gst_element_continue_state): Make public.

	* gst/gstelement.h:
	* gst/gstelement.c (gst_element_commit_state): Removed, replaced
	by continue_state. Fixes #319389.

	* gst/gstindex.h (GstIndexFilter): Actually pass on the user_data.
	Really fixes #168438. However I don't see anywhere where the
	filter function is called... stupid GStreamer...
	
	* gst/gstindex.h (GstIndex): Add field for user_data_destroy. We
	don't have a dispose function, so it won't get called when the
	object is unreffed, but oh well!

	* gst/gstindex.c (gst_index_set_filter_full): New API function,
	allows a destroy function to be set so user_data can be freed.
	Fixes #168438.
	(gst_index_set_filter): Call gst_index_set_filter_full.

	* check/gst/gstvalue.c (test_string): Add test for bug #165650.

	* gst/gstvalue.c (gst_string_wrap): Trying to serialize a NULL
	string should produce an error, given the lack of a way to
	represent NULL strings. Fixes #165650.
	
	* gst/gstvalue.h: 
	* gst/gstvalue.c (gst_value_array_append_value) 
	(gst_value_array_prepend_value, gst_value_array_get_size) 
	(gst_value_array_get_value): New API, copied from
	gst_value_list_*, only operates on arrays.
	(gst_value_list_append_value, gst_value_list_prepend_value) 
	(gst_value_list_concat, gst_value_list_get_size) 
	(gst_value_list_get_value): Only operate on lists. Fixes #156633.

	* gst/gstvalue.c (gst_value_init_list_or_array): Renamed from
	init_list, because it works on both.
	(copy_garray_of_gstvalue): Renamed from gst_value_list_copy_array.
	(gst_value_copy_list_or_array): Renamed from copy_list.
	(gst_value_free_list_or_array): Renamed from free_list.
	(gst_value_collect_list_or_array): Renamed from collect_list.
	(gst_value_lcopy_list_or_array): Renamed from lcopy_list.
	(gst_value_list_or_array_peek_pointer): Renamed from
	list_peek_pointer.
	(_gst_value_array_value_table, _gst_value_list_value_table):
	Update value table functions.
	(gst_value_compare_list_or_array): Renamed from compare_list.

	* gsttaglist.h: Whoops, foreach function returns void. Also fix
	some constness.

	* gst/gsttaglist.c:
	* gst/gsttaglist.h (gst_tag_list_foreach): Operates on a const
	GstTagList*. Fixes #143472.

	* gst/gststructure.h: Clarify what the foreach/map functions can
	or can't do to their arguments.

2005-11-18  Wim Taymans  <wim@fluendo.com>

	* gst/gstclock.c: (gst_clock_set_calibration),
	(gst_clock_get_calibration):
	Doc and API fixes.
	Calibration can be set with internal time equal to current
	internal time too.

2005-11-18  Thomas Vander Stichele  <thomas at apestaart dot org>

	* gst/gsterror.c:
	* gst/gsterror.h:
	  document

2005-11-18  Andy Wingo  <wingo@pobox.com>

	* configure.ac: 
	* pkgconfig/gstreamer-net.pc.in:
	* pkgconfig/gstreamer-net-uninstalled.pc.in:
	* pkgconfig/Makefile.am: Add net pkgconfig files.

2005-11-18  Stefan Kost  <ensonic@users.sf.net>

	* gst/gstcaps.c:
	* gst/gstghostpad.c:
	* gst/gsttrace.c:
	* gst/gstvalue.c:
	* gst/gstvalue.h:
	  docs fixes

2005-11-18  Andy Wingo  <wingo@pobox.com>

	* gst/net/gstnetclientclock.c: Turn off debugging.

	* check/net/gstnetclientclock.c (test_functioning): Assert that the
	times connverge somewhat. Can't make a real test.

	* gst/net/gstnetclientclock.c (do_linear_regression): Use all
	integer arithmetic. Return the minimum of the domain, which can be
	set as "internal" for gst_clock_set_calibration.
	(gst_net_client_clock_observe_times): Call _set_calibration.
	(gst_net_client_clock_new): Call _set_calibration instead of
	rate_offset.

	* check/net/gstnetclientclock.c (test_functioning): Use the right
	adjustment api.

	* gst/gstclock.h:
	* gst/gstclock.c (gst_clock_get_calibration) 
	(gst_clock_set_calibration): New functions, obsolete the ones I
	added yesterday. Doh. Precision issues mean we have to extrapolate
	from a point in the more recent past than 1970.
	(gst_clock_get_rate_offset, gst_clock_set_rate_offset): Mark as
	obsolete.
	(gst_clock_adjust_unlocked): Use the right calibration data.

2005-11-18  Edward Hervey  <edward@fluendo.com>

	* gst/base/gstbasesink.c: (gst_base_sink_change_state): 
	Also reset the ->current_* values in READY->PAUSED

2005-11-18  Andy Wingo  <wingo@pobox.com>

	* gst/net/gstnetclientclock.c (gst_net_client_clock_thread):
	Whoops, check the right fd. Also add some debugging.
	(gst_net_client_clock_observe_times): Adjust for int64 offset.
	(do_linear_regression): Add a crapload of debugging. Subtract off
	the minimum values from the input series to discard unneeded bits.
	Use only int arithmetic. There is still double arithmetic when
	calculating the intercept that needs fixing. Return boolean to
	indicate success; FALSE would mean the domain or range is too
	great. Still needs fixes.

2005-11-18  Wim Taymans  <wim@fluendo.com>

	* gst/base/gstbasesink.c: (gst_base_sink_get_position):
	For the current position in stream time, we need to subtract
	accumulated time.
	
	* gst/gstsystemclock.c: (gst_system_clock_async_thread):
	Release lock before calling the callback function of async
	entries.

2005-11-18  Andy Wingo  <wingo@pobox.com>

	* gst/net/gstnetclientclock.c (gst_net_client_clock_class_init):
	Port goes all the way to MAXUINT16.

	* gst/net/gstnettimeprovider.c: Make the port range the same as
	for the kernel: 0 assigns, otherwise ports are less than
	MAXUINT16.

	* check/net/gstnettimeprovider.c: Adapt for 0 == kernel assigns
	port change.

	* check/net/gstnetclientclock.c (test_functioning): Add the start
	of another test. 

2005-11-18  Wim Taymans  <wim@fluendo.com>

	* gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
	(gst_bin_remove_func), (bin_bus_handler):
	* gst/gstbin.h:
	Removing a clock provider from a bin, triggers a clock lost message
	so that a new clock will be selected.
	Adding a clock to a bin triggers a clock provider message.
	Make sure we reselect a clock when we received a clock lost message.
	Keep a reference to the element that provided the clock.

2005-11-18  Andy Wingo  <wingo@pobox.com>

	* gst/net/gstnetclientclock.c (gst_net_client_clock_new): Adjust
	the clock initially so it produces values around the base time.
	(gst_net_client_clock_class_init): Typo fix.
	(gst_net_client_clock_thread): Add note on when the socket gets
	closed.

2005-11-17  Wim Taymans  <wim@fluendo.com>

	* gst/net/gstnetclientclock.c: (gst_net_client_clock_finalize):
	Free remote and local time arrays.

2005-11-17  Wim Taymans  <wim@fluendo.com>

	* gst/net/gstnetclientclock.c: (do_linear_regression),
	(gst_net_client_clock_do_select), (gst_net_client_clock_thread):
	Fix compilation, uninitialized vars and a forgotten continue.

2005-11-17  Andy Wingo  <wingo@pobox.com>

	* check/Makefile.am (check_PROGRAMS): 
	* check/net/gstnetclientclock.c: Add a most minimal test for the
	net client clock. More to come later.

	* gst/net/gstnet.h: 
	* gst/net/Makefile.am: Add netclientclock.

	* gst/net/gstnetclientclock.h:
	* gst/net/gstnetclientclock.c: New files, implement an untested
	GstClock that takes its time from a network time provider.
	Implements the algorithm in network-clock.scm.

	* tests/network-clock.scm (*window-size*): Rename from
	*queue-length*.
	* tests/network-clock.scm (network-time): 
	* tests/network-clock-utils.scm (q-push): Update callers.

2005-11-17  Wim Taymans  <wim@fluendo.com>

	* gst/gstbin.c: (gst_bin_provide_clock_func),
	(gst_bin_sort_iterator_new):
	And unref the child too..

2005-11-17  Wim Taymans  <wim@fluendo.com>

	* gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
	(gst_bin_sort_iterator_new), (gst_bin_iterate_sorted):
	Refactor the sort iterator so it can be used while holding the
	LOCK too.
	Make clock selection select a clock closest to the source.

2005-11-17  Michael Smith <msmith@fluendo.com>

	* gst/gstclock.c: (gst_clock_init), (gst_clock_adjust_unlocked),
	(gst_clock_set_rate_offset), (gst_clock_get_rate_offset):
	* gst/gstclock.h:
	  Anonymous structs are a gcc (and some other compilers) extension, so
	  don't use them. Since this is only for ABI-compatibility, and our
	  API/ABI freeze is over in a few days, this whole thing will only
	  last a few days, so don't bother trying to think up a meaningful
	  name for the struct.

2005-11-17  Andy Wingo  <wingo@pobox.com>

	* gst/gstclock.h (GstClock): Add rate and offset properties,
	preserving ABI stability. Add rate/offset accessors. Will file bug
	for the freeze break.

	* gst/gstclock.c (gst_clock_adjust_unlocked): Implement using rate
	and offset, trying to keep precision and avoiding
	underflow/overflow.
	(gst_clock_set_rate_offset, gst_clock_get_rate_offset): New
	functions. Make gst_clock_set_time_adjust obsolete.
	(gst_clock_set_time_adjust): Note that this function is obsolete.
	Will file bug soon.

	* gst/base/gstbasetransform.h: Make the ABI-stability hack
	greppable by using GST_PADDING-1+1.

2005-11-17  Torsten Schoenfeld  <kaffeetisch at gmx dot net>

	Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>

	* gst/gstmessage.c: (gst_message_parse_clock_lost):
	  Assertion should check for CLOCK_LOST, not NEW_CLOCK (#321648).

	* gst/gstpadtemplate.h:
	* gst/gstpluginfeature.h:
	  Don't use c++ style comments in headers (#321638).

2005-11-16  Andy Wingo  <wingo@pobox.com>

	* gst/net/gstnettimepacket.c (gst_net_time_packet_send): Free
	buffer.

	* check/net/gstnettimeprovider.c: Check to see that the time
	provider actually provides times. Works, yo!

2005-11-16  Wim Taymans  <wim@fluendo.com>

	* check/Makefile.am:
	Enable more tests.

	* check/elements/fakesrc.c: (GST_START_TEST):
	Set element to NULL before disposing it.

2005-11-16  Andy Wingo  <wingo@pobox.com>

	* gst/net/Makefile.am:
	* gst/net/gstnet.h:
	* gst/net/gstnettimeprovider.c: 
	* gst/net/gstnettimeprovider.h: Use the timepacket stuff in the
	provider, include it from gstnet.h, and add it to the build.

	* gst/net/gstnettimepacket.h: 
	* gst/net/gstnettimepacket.c: New files, abstracts out the packet
	sending and receiving.

2005-11-16  Wim Taymans  <wim@fluendo.com>

	* check/Makefile.am:
	Enable valgrind check.

	* gst/elements/gstfakesrc.c: (gst_fake_src_alloc_parent),
	(gst_fake_src_alloc_buffer):
	Fix memleak.

2005-11-16  Wim Taymans  <wim@fluendo.com>

	* gst/net/gstnettimeprovider.c: (gst_net_time_provider_finalize):
	Call parent finalize too.

2005-11-16  Wim Taymans  <wim@fluendo.com>

	* check/Makefile.am:
	Enable valgrind check that should work fine now.

	* gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
	* gst/gstqueue.c: (gst_queue_init):
	Fix memleaks in pad allocation.

2005-11-16  Andy Wingo  <wingo@pobox.com>

	* gst/net/Makefile.am:
	* gst/net/gstnet.h: New part of core to hold network elements and
	objects. Put in core because it exposes API that applications want
	to use. The library is named libgstnet-tempname right now because
	of the existing libgstnet in gst-plugins-base. Solution is
	probably to rename the one in plugins-base; will file a bug for
	the freeze break.

	* gst/net/gstnettimeprovider.c: 
	* gst/net/gstnettimeprovider.h: New object to export a GstClock's
	get_time call over the network.

	* configure.ac: 
	* gst/Makefile.am (lib_LTLIBRARIES): Add gstnet to the build.

	* check/Makefile.am:
	* check/net/gstnettimeprovider.c: A most minimal test suite. Will
	get additions shortly.

2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>

	* gst/gstpad.c: (gst_pad_new_from_static_template):
	* gst/gstpad.h:
	  add gst_pad_new_from_static_template functions
	* gst/check/gstcheck.c: (gst_check_setup_src_pad),
	(gst_check_setup_sink_pad):
	* gst/elements/gsttee.c: (gst_tee_init):
	  and use them

2005-11-16  Wim Taymans  <wim@fluendo.com>

	* gst/gstpad.c: (gst_pad_pause_task):
	Removed warning, it's not really an error either.

2005-11-16  Wim Taymans  <wim@fluendo.com>

	* gst/base/gstbasetransform.c:
	(gst_base_transform_prepare_output_buf),
	(gst_base_transform_event):
	Check if the caps are NULL, this can happen if the element
	is shutting down and the pad caps are set to NULL.

2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>

	* gst/elements/gsttee.c: (gst_tee_init):
	  fix pad template leak in tee

2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>

	* gst/glib-compat.c: (g_value_dup_gst_object):
	* gst/glib-compat.h:
	* gst/gstpad.c: (gst_pad_set_property):
	  use gst_object_ref when setting the pad template; this will
	  trigger the pad template leaks on GLib 2.6 and the slaves

2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>

	* gst/glib-compat.c: (gst_flags_get_first_value):
	* gst/glib-compat.h:
	* gst/gstregistryxml.c:
	  remove functions copied from GLib 2.6

2005-11-16  Michael Smith <msmith@fluendo.com>

	* gst/Makefile.am:
	  Don't link against VALGRIND_LIBS. That was always the wrong thing to
	  do, but only breaks with newer valgrind versions. We're not a
	  valgrind tool, we have no link-time dependencies on libcoregrind.

2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>

	* gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
	  some debug changes
	* gst/gstmessage.h:
	  typo fixes

2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>

	* gst/base/gstbasesrc.c: (gst_base_src_init):
	* gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
	* gst/gstqueue.c: (gst_queue_init):
	* gst/gstregistryxml.c: (load_feature):
	  Revert all these unrefs, they don't even pass make check !

2005-11-15  Johan Dahlin  <johan@gnome.org>

	* gst/base/gstbasesrc.c: (gst_base_src_init):
	* gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
	* gst/gstqueue.c: (gst_queue_init): 
	Free pad templates, fixes a couple of leaks.

2005-11-15  Daniel Fischer  <dan at f3c dot com>

	Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>

	* gst/gstpad.c: (gst_pad_get_property):
	  GST_PAD_PAD_TEMPLATE(pad) gets the pad template, while
	  GST_PAD_TEMPLATE(pad) does a cast. We want the former here.
	  (#321452)

2005-11-15  Wim Taymans  <wim@fluendo.com>

	* gst/gstevent.c:
	Small doc update.

2005-11-15  Andy Wingo  <wingo@pobox.com>

	* gst/gstelement.c (gst_element_set_base_time): Add debugging.

	* gst/gstpipeline.c (gst_pipeline_set_new_stream_time): Document
	using GST_CLOCK_TIME_NONE to disable base time management.
	(do_pipeline_seek, gst_pipeline_change_state): Don't reset stream
	time if it was NONE before.
	(gst_pipeline_change_state): Only munge the base time if
	stream_time != GST_CLOCK_TIME_NONE.

	* check/gst/gstpipeline.c (test_base_time): Punt around the
	problem of the probe not being called, because that's not the
	issue I'm looking at. Add a check that setting stream_time to NONE
	disables base time management.
	
2005-11-15  Wim Taymans  <wim@fluendo.com>

	* gst/base/gstbasesink.c: (gst_base_sink_change_state):
	segment_stop == -1 at startup.

	* gst/base/gstbasetransform.c: (gst_base_transform_event),
	(gst_base_transform_change_state):
	Init segment values at start.

2005-11-15  Wim Taymans  <wim@fluendo.com>

	* gst/base/gstbasesink.c: (gst_base_sink_handle_object):
	0 segment values are 0 in any format.

	* gst/base/gstbasetransform.c: (gst_base_transform_event):
	* gst/base/gstbasetransform.h:
	Parse newsegment correctly in basetransform

	* gst/elements/gstidentity.c: (gst_identity_transform_ip):
	Sync to clock using updated segment values.

2005-11-15  Andy Wingo  <wingo@pobox.com>

	* check/gst/gstpipeline.c (test_base_time): Add check that the
	base time and stream time are reset correctly.

2005-11-15  Wim Taymans  <wim@fluendo.com>

	* docs/design/part-TODO.txt:
	Some more TODO items.

2005-11-15  Andy Wingo  <wingo@pobox.com>

	* gst/elements/gstfakesrc.c (gst_fake_src_create): It's not an
	error if the user selected "no clock" as the clocking method.

	* check/gst/gstpipeline.c (test_base_time): New test for buffer
	timestamps with live capture.

	* gst/elements/gstfakesrc.c (gst_fake_src_create): If the datarate
	is 0 but we are a live source, timestamp the buffers using the
	element's clock.

2005-11-14  Stefan Kost  <ensonic@users.sf.net>

	* docs/gst/gstreamer-sections.txt:
	* gst/gsterror.c:
	* gst/gstghostpad.c:
	* gst/gstobject.h:
	* gst/gstxml.c:
	  more section docs

2005-11-14  Wim Taymans  <wim@fluendo.com>

	* common/gst.supp:
	  add suppressions from Wim's Debian machine

2005-11-14  Thomas Vander Stichele  <thomas at apestaart dot org>

	* common/gst.supp:
	  add suppressions from Andy's AMD64 Ubuntu machine

2005-11-14  Andy Wingo  <wingo@pobox.com>

	* gst/gstpad.c (gst_pad_set_active): Change docs; parent's
	STATE_LOCK not necessary. Fixes #311489.

	* gst/gsterror.c (FILE_A_BUG): Be polite *and* helpful. Fixes
	#305291.

	* gst/gstindex.c (gst_index_add_object): Note in the docs that
	this function is not implemented.

2005-11-14  Julien MOUTTE  <julien@moutte.net>

	* gst/base/gstbasetransform.c:
	(gst_base_transform_prepare_output_buf):
	Ref the source pad caps while we need them.
	Fixes (#321386)

2005-11-11  Wim Taymans  <wim@fluendo.com>

	* docs/gst/gstreamer-sections.txt:
	Added some docs for GstCollectData.

	* gst/base/gstadapter.c:
	Some small code example fix.

	* gst/base/gstcollectpads.c:
	* gst/base/gstcollectpads.h:
	Document some more.

2005-11-11  Thomas Vander Stichele  <thomas at apestaart dot org>

	* configure.ac: back to HEAD

=== release 0.9.5 ===

2005-11-11  Thomas Vander Stichele <thomas at apestaart dot org>

	* configure.ac:
	  releasing 0.9.5, "Bike Lunch Day"

2005-11-11  Wim Taymans  <wim@fluendo.com>

	* gst/gstbuffer.c: (_gst_buffer_copy):
	Copy more flags.

	* gst/gstcaps.c: (gst_caps_is_equal):
	Fix some docs.
	Make _is_equal fast in the trivial cases.

	* gst/gstminiobject.c:
	* gst/gstminiobject.h:
	More docs. Spifify .h file.

	* gst/gstutils.c:
	Small doc update.

2005-11-11  Wim Taymans  <wim@fluendo.com>

	* gst/base/gstbasetransform.c:
	(gst_base_transform_prepare_output_buf),
	(gst_base_transform_handle_buffer):
	Small cleanups.
	If we're processing a buffer and need to allocate an output
	buffer, we cannot accept a format change. If we did get a 
	format change, we have to alloc a buffer ourselves of the 
	right size.

2005-11-11  Wim Taymans  <wim@fluendo.com>

	* gst/gstpad.c: (gst_pad_get_caps), (gst_pad_peer_get_caps):
	While checking the flag for reentrancy in the gstcaps function
	is nice to detect recursive invocations, it also makes it 
	impossible to call getcaps from multiple threads, which must be
	possible. So, checking for recursive calls has to go.

2005-11-11  Michael Smith <msmith@fluendo.com>

	* gst/base/gstbasesink.c: (gst_base_sink_do_sync):
	  Don't sync on buffers that fall partially outside our current
	  segment. Prevents an assertion failure/abort playing some files.

2005-11-10  Andy Wingo  <wingo@pobox.com>

	* check/gst/gstbin.c (test_message_state_changed_children): Style
	fix..

	* gst/gstbus.c (poll_destroy, poll_func, gst_bus_poll): Implement
	gst_bus_poll with the signal watch. Ensures that poll and a signal
	watch see the same messages.

	* check/gst/gstbus.c (test_watch_with_poll): New test, checks that
	a poll and a watch at the same time get the same messages.

2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>

	* gst/base/gstbasetransform.c: (gst_base_transform_transform_caps):
	* gst/gstcaps.c: (gst_caps_intersect):
	  Don't call gst_caps_do_simplify - it doesn't respect order of caps
	  and it's not needed.

2005-11-10  Wim Taymans  <wim@fluendo.com>

	* docs/design/part-TODO.txt:
	Updated todo.

2005-11-10  Wim Taymans  <wim@fluendo.com>

	* gst/base/gstbasesink.c: (gst_base_sink_do_sync):
	* gst/base/gstbasesrc.c: (gst_base_src_wait),
	(gst_base_src_do_sync), (gst_base_src_get_range):
	Implement clock sync in base class.

2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>

	patch by: Tim-Philipp Müller <tim at centricular dot net>

	* gst/gststructure.c: (gst_structure_parse_field),
	(gst_structure_from_string):
	  Forward-port a 0.8 patch to handle escaped spaces in structure string,
	  so that gst_parse_launch() can deal with spaces in filtered link
	  caps (fixes #164479)
	* check/gst/capslist.h:
	* check/gst/gststructure.c: (GST_START_TEST):
	  add unit tests for this change

2005-11-10  Wim Taymans  <wim@fluendo.com>

	* docs/gst/gstreamer-sections.txt:
	* gst/gstelement.c:
	* gst/gstelement.h:
	Fix docs, move some STATE macros to private.

2005-11-10  Wim Taymans  <wim@fluendo.com>

	* check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
	Added check for bug #317341

	* gst/gstbuffer.c:
	* gst/gstbuffer.h:
	Some more spiffifying.

	* gst/gstghostpad.c: (gst_ghost_pad_do_link):
	Call peer linkfunction if we are a source pad. Totally fixes
	#317341

	* gst/gstpad.c:
	Update docs, source pads should call the peer linkfunction
	so they can atomically perform the pad link.

2005-11-09  Wim Taymans  <wim@fluendo.com>

	* gst/gstbuffer.c:
	* gst/gstbuffer.h:
	Uber-spiffy-spiffify some more.

2005-11-09  Tim-Philipp Müller  <tim at centricular dot net>

	* gst/base/gstcollectpads.c: (gst_collectpads_add_pad):
	* gst/elements/gstfilesink.c: (gst_file_sink_init):
	* gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
	* gst/gstghostpad.c: (gst_ghost_pad_set_internal),
	(gst_ghost_pad_init), (gst_ghost_pad_new_notarget):
	* gst/gstpad.c: (gst_pad_init):
	  Use GST_DEBUG_FUNCPTR() more extensively.

2005-11-09  Wim Taymans  <wim@fluendo.com>

	* gst/gstobject.c: (gst_object_class_init):
	* gst/gstobject.h:
	Documentation fixes.

2005-11-09  Edward Hervey  <edward@fluendo.com>

	* gst/gsttypefindfactory.c:
	Fix docs.
	
2005-11-09  Edward Hervey  <edward@fluendo.com>

	* gst/base/gsttypefindhelper.c:
	* gst/gsttypefind.c:
	* gst/gsttypefind.h:
	Fix docs.

2005-11-09  Wim Taymans  <wim@fluendo.com>

	* gst/gstiterator.c:
	Fix revision data.

	* gst/gsttask.c:
	* gst/gsttask.h:
	Fix docs.

2005-11-09  Wim Taymans  <wim@fluendo.com>

	* gst/gstevent.h:
	* gst/gsturi.h:
	Fix docs.

2005-11-09  Wim Taymans  <wim@fluendo.com>

	* docs/gst/gstreamer-sections.txt:
	Moved the message async delivery private lock and cond
	to the private section.

	* gst/gstmessage.c:
	* gst/gstmessage.h:
	Fixed docs.

2005-11-09  Edward Hervey  <edward@fluendo.com>

	* docs/gst/gstreamer-sections.txt:
	* gst/gsturi.c:
	* gst/gsturi.h:
	Document GstURIHandler

2005-11-09  Wim Taymans  <wim@fluendo.com>

	* gst/gstiterator.c: (gst_iterator_fold), (gst_iterator_foreach),
	(gst_iterator_find_custom):
	* gst/gstiterator.h:
	Fix iterator docs.

2005-11-09  Wim Taymans  <wim@fluendo.com>

	* gst/gstbin.h:
	Document another field.

	* gst/gststructure.c:
	* gst/gststructure.h:
	Document.

2005-11-09  Wim Taymans  <wim@fluendo.com>

	* gst/gstbin.h:
	Documented structs.

2005-11-09  Wim Taymans  <wim@fluendo.com>

	* docs/gst/gstreamer-sections.txt:
	Added some new macros.

	* gst/gstclock.c:
	* gst/gstclock.h:
	* gst/gstobject.h:
	Docs updates.

2005-11-09  Wim Taymans  <wim@fluendo.com>

	* docs/design/part-TODO.txt:
	Some more items for the TODO

	* gst/gstcaps.c:
	* gst/gstcaps.h:
	Document GstCaps.

2005-11-09  Andy Wingo  <wingo@pobox.com>

	* gst/base/gstbasesink.c: Add the beginning of docs here -- have
	to work on something else now tho...

	* gst/base/gstadapter.c: More adapter docs.

	* gst/elements/gstfilesink.c (gst_file_sink_start) 
	(gst_file_sink_stop): New functions, replace the state change
	handler.
	(gst_file_sink_class_init): Hook up the start and stop functions.
	(gst_file_sink_base_init): Don't set the state change handler any
	more. It was a bit ugly too, being set from here...
	(gst_file_sink_get_property, gst_file_sink_set_property):
	Cleanups...
	(gst_file_sink_set_location): More robust check that doesn't call
	GST_STATE. Ugggggg.

2005-11-08  Tim-Philipp Müller  <tim at centricular dot net>

	* gst/base/gstbasetransform.c: (gst_base_transform_event):
	  Hold STREAM_LOCK while pushing newsegment or tag events as well.

2005-11-08  Wim Taymans  <wim@fluendo.com>

	* gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
	(gst_base_sink_do_sync), (gst_base_sink_handle_event),
	(gst_base_sink_chain), (gst_base_sink_change_state):
	* gst/base/gstbasesink.h:
	* gst/base/gstbasesrc.h:
	* gst/gstelement.h:
	* gst/gstevent.h:
	Avoid excessive typechecking in macros.

	* gst/gstminiobject.c: (gst_mini_object_get_type),
	(gst_mini_object_init), (gst_mini_object_new),
	(gst_mini_object_free):
	* gst/gstobject.c: (gst_object_class_init), (gst_object_init),
	(gst_object_finalize):
	Remove cruft code, optimize alloc_trace.

2005-11-07  Thomas Vander Stichele  <thomas at apestaart dot org>

	* docs/faq/gst-uninstalled:
	  fix up PS1 for systems that try to reset it

2005-11-07  Wim Taymans  <wim@fluendo.com>

	* gst/base/gstbasesrc.c: (gst_base_src_init),
	(gst_base_src_get_range):
	Set the segment_end to -1 initially. Fixed typefind.

2005-11-07  Tim-Philipp Müller  <tim at centricular dot net>

	* gst/base/gstadapter.c:
	  Debug category should be 'adapter', not 'GstAdapter'.
	  
	* gst/base/gstcollectpads.c: (gst_collectpads_base_init),
	(gst_collectpads_class_init), (gst_collectpads_init),
	(gst_collectpads_peek), (gst_collectpads_pop),
	(gst_collectpads_event), (gst_collectpads_chain):
	  Add debug category and some debugging output. Use boilerplate
	  macros. Remove some extraneous words from docs.

2005-11-05  Andy Wingo  <wingo@pobox.com>

	* gst/base/gstpushsrc.c: Shorten by 30% via use of boilerplate
	macro.

2005-11-04  Stefan Kost  <ensonic@users.sf.net>

	* docs/gst/gstreamer-sections.txt:
	* gst/gstcaps.h:
	* gst/gstinfo.c:
	* gst/gstminiobject.h:
	* gst/gstobject.h:
	* gst/gstutils.h:
	  more docs added

2005-11-04  Wim Taymans  <wim@fluendo.com>

	* gst/base/gstbasesrc.c: (gst_base_src_get_range):
	Small update to stop at the configured segment_end
	position.

2005-11-04  Stefan Kost  <ensonic@users.sf.net>

	* gst/gstregistry.c:
	* gst/gstregistry.h:
	  added missing docs

2005-11-04  Edward Hervey  <edward@fluendo.com>

	* gst/base/gstbasesrc.c: (gst_base_src_get_range):
	Check if we are doing a segment seek and have arrived at the
	end of that segment.

2005-11-04  Wim Taymans  <wim@fluendo.com>

	* gst/gstbus.c: (gst_bus_post), (gst_bus_set_sync_handler):
	Don't leak a mutex unlock in case of an error.

	* gst/gstbus.h:
	Doc fixes.

2005-11-04  Wim Taymans  <wim@fluendo.com>

	* gst/gstbus.c: (gst_bus_class_init), (gst_bus_init),
	(gst_bus_post):
	Get the context to wake up only once.

2005-11-03  Wim Taymans  <wim@fluendo.com>

	* check/states/sinks.c: (GST_START_TEST):
	Uncomment fixed check.

	* docs/design/part-TODO.txt:
	Updated TODO.

	* gst/base/gstbasesink.c: (gst_base_sink_commit_state),
	(gst_base_sink_handle_object), (gst_base_sink_do_sync),
	(gst_base_sink_get_position):
	If we are going to PLAYING, post the right pending state
	when we post the intermediate paused message.

	* gst/gstelement.c: (gst_element_continue_state),
	(gst_element_set_state_func), (gst_element_change_state):
	Don't post state changes that were between the same state
	and were not ASYNC.

2005-11-03  Stefan Kost  <ensonic@users.sf.net>

	* docs/gst/gstreamer-sections.txt:
	* gst/gstcaps.h:
	* gst/gstinfo.c:
	* gst/gstminiobject.h:
	* gst/gstobject.h:
	* gst/gstutils.h:
	  more docs and doc style fixes

2005-11-03  Stefan Kost  <ensonic@users.sf.net>

	* docs/gst/gstreamer-sections.txt:
	* gst/gstelement.c:
	* gst/gstminiobject.c:
	doc fixes

2005-11-03  Andy Wingo  <wingo@pobox.com>

	* check/states/sinks.c (test_livesrc_sink): Add checks that the
	state-changed messages actually have the right order and the right
	values.

2005-11-03  Wim Taymans  <wim@fluendo.com>

	* check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
	Added some more checks. Specifically the case where NO_PREROLL
	elements are in the pipeline.

	* gst/base/gstbasesink.c: (gst_base_sink_commit_state),
	(gst_base_sink_handle_object), (gst_base_sink_do_sync),
	(gst_base_sink_get_position):
	Post READY->PAUSED state change messages too.
	Fix bug where VOID was posted as pending state...

	* gst/gstbin.c: (gst_bin_recalc_state):
	use _element_continue_state() to continue the state change.

	* gst/gstelement.c: (gst_element_continue_state),
	(gst_element_commit_state), (gst_element_set_state_func),
	(gst_element_change_state), (gst_element_change_state_func):
	Lots of state change cleanups, assign the STATE_RETURN in
	a new continue_state() function that also propagates the
	last return value from a state change to the app.
	Update some debug statements with proper category.

2005-11-03  Wim Taymans  <wim@fluendo.com>

	* docs/design/part-events.txt:
	* docs/design/part-gstpipeline.txt:
	* docs/design/part-messages.txt:
	* docs/design/part-overview.txt:
	* docs/design/part-seeking.txt:
	* docs/design/part-states.txt:
	* docs/design/part-trickmodes.txt:
	* docs/manual/advanced-position.xml:
	Small docs updates.

	* gst/gstobject.h:
	People think !! is ugly, this looks better.

	* gst/gstpad.c: (gst_pad_set_blocked_async):
	Remove !! since it's fixed elsewhere now.

2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>

	* gst/gstminiobject.h:
	* gst/gstobject.h:
	  Add !! to _FLAG_IS_SET macros to make the result boolean.

2005-11-03  Edward Hervey  <edward@fluendo.com>

	* gst/gstpad.c: (gst_pad_set_blocked_async):
	comparing a flag and a gboolean rarely returns coherent results...
	Added two characters (!!) to make that work correctly.
	
2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>

	* gst/gstbus.c: (gst_bus_class_init):
	  Fix some typos.
	  
	* gst/gstqueue.c: (gst_queue_loop):
	  Don't assume a miniobject that isn't a buffer is an
	  event (it could be that there is a refcounting
	  problem somewhere and the pointer is stale and
	  refers to an already destroyed miniobject).

2005-11-03  Julien MOUTTE  <julien@moutte.net>

	* gst/gstpad.c: (gst_pad_alloc_buffer): Fix some typos.

2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>

	* docs/manual/advanced-position.xml:
	  Update seek example and explanations to current 0.9 API.

	* gst/elements/gsttypefindelement.c:
	(gst_type_find_element_activate):
	  Remove FIXME comment now that the found caps
	  are unreffed.

2005-11-03  Thomas Vander Stichele  <thomas at apestaart dot org>

	* gst/gstregistryxml.c: (load_feature):
	  Add another GST_STR_NULL instance

2005-11-02  Edward Hervey  <edward@fluendo.com>

	* gst/gstpad.c: (handle_pad_block):
	Follow-up to Wim's patch, solves deadlock for blocked and flushing pads
	
2005-11-02  Wim Taymans  <wim@fluendo.com>

	* gst/gstbin.c:
	Fix typo in docs.

	* gst/gstelement.c: (gst_element_commit_state):
	Remove unused value.

	* gst/gstiterator.c:
	Mention that the returned element is reffed in the docs.

2005-11-02  Wim Taymans  <wim@fluendo.com>

	* gst/gstpad.c: (gst_pad_alloc_buffer), (handle_pad_block),
	(gst_pad_push), (gst_pad_push_event):
	Unlock blocked pads when they are flushed.

2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>

	* docs/README:
	* docs/gst/gstreamer-sections.txt:
	* gst/gstbin.c:
	  doc updates
	* gst/gstregistry.c: (gst_registry_scan_path_level):
	  fix for a nasty little missed situation where an installed plug-in
	  which was in the cache did not get overridden by an uninstalled one
	  which was earlier in the plugin path because the newly created plugin
	  for the uninstalled one (not in the registry) didn't get its
	  ->registered set to TRUE

2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>

	* gst/base/gstcollectpads.c: (gst_collectpads_set_function),
	(gst_collectpads_add_pad), (gst_collectpads_remove_pad),
	(gst_collectpads_is_active), (gst_collectpads_collect),
	(gst_collectpads_collect_range), (gst_collectpads_start),
	(gst_collectpads_stop), (gst_collectpads_peek),
	(gst_collectpads_pop), (gst_collectpads_available),
	(gst_collectpads_read), (gst_collectpads_flush):
	  Guard public API with assertions.
	
	* gst/gstpad.c:
	  Fix docs for gst_pad_set_link_function().

2005-11-02  Johan Dahlin  <johan@gnome.org>

	* gst/elements/gsttypefindelement.c (gst_type_find_element_activate): 
	Unref found_caps after we used it.

2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>

	* gst/base/gstcollectpads.c: (gst_collectpads_peek):
	  Don't try to ref NULL.

2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>

	* win32/common/config.h.in:
	  provide a GST_FUNCTION that just gives a string for now

2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>

	* win32/common/gstenumtypes.c: (register_gst_object_flags),
	(gst_object_flags_get_type), (register_gst_bin_flags),
	(gst_bin_flags_get_type), (register_gst_buffer_flag),
	(gst_buffer_flag_get_type), (register_gst_bus_flags),
	(gst_bus_flags_get_type), (register_gst_bus_sync_reply),
	(gst_bus_sync_reply_get_type), (register_gst_clock_return),
	(gst_clock_return_get_type), (register_gst_clock_entry_type),
	(gst_clock_entry_type_get_type), (register_gst_clock_flags),
	(gst_clock_flags_get_type), (register_gst_state),
	(gst_state_get_type), (register_gst_state_change_return),
	(gst_state_change_return_get_type), (register_gst_state_change),
	(gst_state_change_get_type), (register_gst_element_flags),
	(gst_element_flags_get_type), (register_gst_core_error),
	(gst_core_error_get_type), (register_gst_library_error),
	(gst_library_error_get_type), (register_gst_resource_error),
	(gst_resource_error_get_type), (register_gst_stream_error),
	(gst_stream_error_get_type), (register_gst_event_type),
	(gst_event_type_get_type), (register_gst_seek_type),
	(gst_seek_type_get_type), (register_gst_seek_flags),
	(gst_seek_flags_get_type), (register_gst_format),
	(gst_format_get_type), (register_gst_index_certainty),
	(gst_index_certainty_get_type), (register_gst_index_entry_type),
	(gst_index_entry_type_get_type),
	(register_gst_index_lookup_method),
	(gst_index_lookup_method_get_type), (register_gst_assoc_flags),
	(gst_assoc_flags_get_type), (register_gst_index_resolver_method),
	(gst_index_resolver_method_get_type), (register_gst_index_flags),
	(gst_index_flags_get_type), (register_gst_debug_level),
	(gst_debug_level_get_type), (register_gst_debug_color_flags),
	(gst_debug_color_flags_get_type), (register_gst_iterator_result),
	(gst_iterator_result_get_type), (register_gst_iterator_item),
	(gst_iterator_item_get_type), (register_gst_message_type),
	(gst_message_type_get_type), (register_gst_mini_object_flags),
	(gst_mini_object_flags_get_type), (register_gst_pad_link_return),
	(gst_pad_link_return_get_type), (register_gst_flow_return),
	(gst_flow_return_get_type), (register_gst_activate_mode),
	(gst_activate_mode_get_type), (register_gst_pad_direction),
	(gst_pad_direction_get_type), (register_gst_pad_flags),
	(gst_pad_flags_get_type), (register_gst_pad_presence),
	(gst_pad_presence_get_type), (register_gst_pad_template_flags),
	(gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
	(gst_pipeline_flags_get_type), (register_gst_plugin_error),
	(gst_plugin_error_get_type), (register_gst_plugin_flags),
	(gst_plugin_flags_get_type), (register_gst_rank),
	(gst_rank_get_type), (register_gst_query_type),
	(gst_query_type_get_type), (register_gst_tag_merge_mode),
	(gst_tag_merge_mode_get_type), (register_gst_tag_flag),
	(gst_tag_flag_get_type), (register_gst_task_state),
	(gst_task_state_get_type), (register_gst_alloc_trace_flags),
	(gst_alloc_trace_flags_get_type),
	(register_gst_type_find_probability),
	(gst_type_find_probability_get_type), (register_gst_uri_type),
	(gst_uri_type_get_type), (register_gst_parse_error),
	(gst_parse_error_get_type):
	* win32/common/gstversion.h:
	  update win32 copies

2005-11-01  Luca Ognibene  <luogni@tin.it>

	* gst/gst.c:
	  fix docs. popt is dead, long live GOption.

2005-10-31  Wim Taymans  <wim@fluendo.com>

	* gst/gstbuffer.h:
	Small doc fix.

2005-10-31  Andy Wingo  <wingo@pobox.com>

	* Boo!

	* gst/gstqueue.c (gst_queue_chain): Fix downstream leaky mode.

	* gst/gstobject.c (gst_object_dispatch_properties_changed): No
	need to serialize property notifications on GLib 2.8. GLib 2.6 has
	the possibility of deadlocks here if code calling notify() or
	set() has a lock that can be taken in another notify handler (ABBA
	with class lock and e.g. python GIL state lock).

2005-10-28  Julien MOUTTE  <julien@moutte.net>

	* gst/gstbus.c: Doc updates.

2005-10-28  Wim Taymans  <wim@fluendo.com>

	* docs/design/part-TODO.txt:
	* gst/gstiterator.c:
	* gst/gstsystemclock.c:
	* gst/gstsystemclock.h:
	Doc updates.

2005-10-28  Edward Hervey  <edward@fluendo.com>

	* docs/gst/gstreamer-docs.sgml:
	* docs/gst/gstreamer-sections.txt:
	the GstURIType documentation page is private, it only defines GstURIType
	which should be defined in the GstURIHandler page
	
2005-10-28  Thomas Vander Stichele  <thomas at apestaart dot org>

	* gst/gstbin.c: (gst_bin_class_init):
	* gst/gstbin.h:
	* gst/gstutils.c:
	Documentation updates.

2005-10-28  Wim Taymans  <wim@fluendo.com>

	* docs/gst/gstreamer-sections.txt:
	* gst/gstclock.c:
	* gst/gstclock.h:
	Documented the clocks.

2005-10-28  Stefan Kost  <ensonic@users.sf.net>

	* docs/gst/gstreamer-sections.txt:
	  move some macros to private sections
	* gst/gstminiobject.c:
	* gst/gstminiobject.h:
	  add descriptions provided by ds and some more
	* gst/gstpad.h:
	  mark macro as to be removed

2005-10-28  Wim Taymans  <wim@fluendo.com>

	* docs/design/part-TODO.txt:
	Add an item to TODO.

	* gst/gstiterator.c: (gst_iterator_fold),
	(gst_iterator_find_custom):
	* gst/gstiterator.h:
	Add iterator docs.

2005-10-28  Wim Taymans  <wim@fluendo.com>

	* gst/base/gstbasetransform.c: (gst_base_transform_class_init),
	(gst_base_transform_init):
	Don't leak class.

	* gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_loop):
	An EOS event marks the queue as completely filled.

2005-10-27  Wim Taymans  <wim@fluendo.com>

	* gst/base/gstbasesink.c: (gst_base_sink_handle_object),
	(gst_base_sink_do_sync), (gst_base_sink_get_position):
	Some more debugging.

	* gst/base/gstbasetransform.c: (gst_base_transform_finalize),
	(gst_base_transform_init), (gst_base_transform_buffer_alloc),
	(gst_base_transform_event), (gst_base_transform_getrange),
	(gst_base_transform_chain):
	* gst/base/gstbasetransform.h:
	Fix debugging,
	Protect transform and concurrent buffer alloc with a new lock.
	Try not to break ABI/API.

2005-10-27  Wim Taymans  <wim@fluendo.com>

	* gst/base/gstbasesrc.c: (gst_base_src_class_init),
	(gst_base_src_init), (gst_base_src_query),
	(gst_base_src_default_newsegment),
	(gst_base_src_configure_segment), (gst_base_src_do_seek),
	(gst_base_src_send_event), (gst_base_src_event_handler),
	(gst_base_src_pad_get_range), (gst_base_src_loop),
	(gst_base_src_unlock), (gst_base_src_default_negotiate),
	(gst_base_src_start), (gst_base_src_deactivate),
	(gst_base_src_activate_push), (gst_base_src_change_state):
	Move some stuff around and cleanup things.

2005-10-27  Tim-Philipp Müller  <tim at centricular dot net>

	* gst/base/gstbasesrc.c: (gst_base_src_query):
	  Add missing break statements.

2005-10-27  Wim Taymans  <wim@fluendo.com>

	* check/gst/gstbin.c: (GST_START_TEST):
	An extra refcount is taken in basesrc.

	* gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
	(gst_base_src_get_range), (gst_base_src_pad_get_range),
	(gst_base_src_loop):
	Small cleanups, check for flushing after being unlocked from the 
	LIVE_LOCK. take refcounts correctly (not yet everywhere).
	Don't send out EOS when going to READY.

2005-10-27  Wim Taymans  <wim@fluendo.com>

	* gst/base/gstbasesink.c: (gst_base_sink_handle_object),
	(gst_base_sink_get_position):
	Some more debug.

	* gst/gstbin.c: (message_check), (bin_replace_message),
	(bin_remove_messages), (is_eos), (gst_bin_add_func),
	(update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
	(bin_query_duration_init), (bin_query_duration_fold),
	(bin_query_duration_done), (bin_query_generic_fold),
	(gst_bin_query):
	* tools/gst-launch.c: (main):
	Remove old option.

2005-10-26  Stefan Kost  <ensonic@users.sf.net>

	* examples/controller/audio-example.c: (main):
	* examples/queue/queue.c: (event_loop):
	* gst/base/gstbasetransform.h:
	* gst/gstelement.c: (gst_element_send_event):
	* gst/gstevent.h:
	* gst/gstpad.c: (gst_pad_send_event):
	  fixing examples
	  fixing docs typos
	  changing log priority in error situations

2005-10-25  Wim Taymans  <wim@fluendo.com>

	* gst/gstbin.c: (message_check), (bin_replace_message),
	(bin_remove_messages), (is_eos), (gst_bin_add_func),
	(update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
	(bin_query_duration_init), (bin_query_duration_fold),
	(bin_query_duration_done), (bin_query_generic_fold),
	(gst_bin_query):
	Some doc and debug updates.
	Cache previously requested query DURATION for speed. invalidate
	cached duration if element posts a DURATION message.

2005-10-25  Wim Taymans  <wim@fluendo.com>

	* docs/design/part-TODO.txt:
	Update TODO.

	* gst/gstbin.c: (message_check), (bin_replace_message),
	(bin_remove_messages), (is_eos), (gst_bin_add_func),
	(update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
	(bin_query_duration_init), (bin_query_duration_fold),
	(bin_query_duration_done), (bin_query_generic_fold),
	(gst_bin_query):
	Handle SEGMENT_START/DONE messages correctly.
	More evolved query algorithm that handles duration queries
	correctly.

	* gst/gstelement.c: (gst_element_send_event), (gst_element_query),
	(gst_element_get_state_func), (gst_element_abort_state),
	(gst_element_commit_state), (gst_element_lost_state):
	Some more debugging.

	* gst/gstmessage.h:
	Added doc.

2005-10-25  Wim Taymans  <wim@fluendo.com>

	* gst/base/gstbasesink.c: (gst_base_sink_get_position):
	Don't use invalid stream_time.

	* gst/gstevent.c: (gst_event_new_newsegment):
	stream_time in newsegment cannot be undefined.

2005-10-24  Wim Taymans  <wim@fluendo.com>

	* gst/gstbus.c:
	Doc fix.

	* gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
	(gst_queue_loop):
	Fix potential deadlock when QUEUE_LOCK is taken before STREAM_LOCK.

2005-10-24  Stefan Kost  <ensonic@users.sf.net>

	* docs/libs/tmpl/gstdparam.sgml:
	* docs/libs/tmpl/gstdplinint.sgml:
	* docs/libs/tmpl/gstdpman.sgml:
	* docs/libs/tmpl/gstdpsmooth.sgml:
	* docs/libs/tmpl/gstunitconvert.sgml:
	  these are obsolete

2005-10-24  Thomas Vander Stichele  <thomas at apestaart dot org>

	* configure.ac:
	  back to HEAD

=== release 0.9.4 ===

2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>

	* configure.ac:
	  releasing 0.9.4, "Tyrannosaurus Rex"

2005-10-23  Tim-Philipp Müller  <tim at centricular dot net>

	* gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
	(gst_file_sink_get_current_offset):
	  Use fseeko() and ftello() if available. When falling back on
	  lseek() to get the current offset, fflush() first to make sure
	  everything is up-to-date and we get the right offset.

2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>

	* gst/base/gstbasesink.c: (gst_base_sink_handle_object):
	* gst/base/gstbasesrc.c: (gst_base_src_loop):
	* gst/gsterror.c: (_gst_stream_errors_init):
	* gst/gsterror.h:
	* gst/gstqueue.c: (gst_queue_loop):
	* po/POTFILES.in:
	  remove prematurely added error category and clean up the instances

2005-10-21  Wim Taymans  <wim@fluendo.com>

	* gst/base/gstbasesink.c: (gst_base_sink_commit_state),
	(gst_base_sink_get_position), (gst_base_sink_query),
	(gst_base_sink_change_state):
	Simply set the right flag when going to playing, that's all
	we need to do instead of calling a function inside the object
	lock (that could take the lock as well and deadlock)

2005-10-21  Wim Taymans  <wim@fluendo.com>

	* gst/base/gstbasesrc.c: (gst_base_src_do_seek),
	(gst_base_src_loop):
	Don't warn, the peer element knows what to do best when
	the seek failed, it might try something else.

2005-10-21  Wim Taymans  <wim@fluendo.com>

	* gst/base/gstbasesrc.c: (gst_base_src_init),
	(gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
	Fix seeking.

2005-10-21  Wim Taymans  <wim@fluendo.com>

	* docs/design/part-segments.txt:
	More docs.

	* gst/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
	Correctly set caps, even on the subbufer.

2005-10-21  Wim Taymans  <wim@fluendo.com>

	* docs/gst/gstreamer-docs.sgml:
	* docs/gst/gstreamer-sections.txt:
	* gst/gstelement.h:
	* gst/gstevent.c:
	* gst/gstevent.h:
	* gst/gstmessage.h:
	* gst/gstpad.h:
	* gst/gstparse.h:
	* gst/gsttask.c: (gst_task_finalize), (gst_task_func):
	* gst/gsttask.h:
	* gst/gstutils.c:
	* gst/gstutils.h:
	And 2% more doc coverage.

2005-10-21  Andy Wingo  <wingo@pobox.com>

	* gst/base/gstbasesrc.c (gst_base_src_query): Clean up percent
	position reporting.

2005-10-20  Wim Taymans  <wim@fluendo.com>

	* gst/gsterror.c: (gst_error_get_message):
	* gst/gstparse.h:
	* gst/gstquery.h:
	* gst/gststructure.c:
	* gst/gsttrace.c:
	* gst/gstutils.c:
	More docs.

2005-10-20  Wim Taymans  <wim@fluendo.com>

	* gst/gstbuffer.h:
	* gst/gstpad.c:
	* gst/gstparse.c:
	Another 1% more coverage.

2005-10-20  Wim Taymans  <wim@fluendo.com>

	* docs/gst/gstreamer-sections.txt:
	* gst/gstelement.c: (gst_element_get_state_func),
	(gst_element_abort_state), (gst_element_commit_state),
	(gst_element_lost_state):
	* gst/gstevent.h:
	* gst/gstquery.c: (gst_query_set_position),
	(gst_query_parse_position), (gst_query_set_duration),
	(gst_query_parse_duration), (gst_query_new_convert):
	* gst/gstutils.c:
	Yay! 1% more docs coverage.

2005-10-20  Wim Taymans  <wim@fluendo.com>

	* gst/gstpad.h:
	* gst/gstquery.c: (gst_query_set_position),
	(gst_query_parse_position), (gst_query_set_duration),
	(gst_query_parse_duration), (gst_query_new_convert):
	* gst/gstquery.h:
	* gst/gstutils.c: (gst_element_query_convert):
	* gst/gstutils.h:
	Docs and consistency fixes.

2005-10-20  Wim Taymans  <wim@fluendo.com>

	* gst/gsttask.c:
	* gst/gsttask.h:
	More docs.

2005-10-20  Wim Taymans  <wim@fluendo.com>

	* gst/gstbin.c: (message_check), (bin_replace_message),
	(bin_remove_messages), (is_eos), (gst_bin_add_func),
	(update_degree), (gst_bin_sort_iterator_next),
	(gst_bin_change_state_func), (gst_bin_dispose), (bin_bus_handler):
	Reworked the message handling a bit, cache the messages instead of
	only the senders. alows us to do more in the future.

2005-10-20  Wim Taymans  <wim@fluendo.com>

	* docs/design/part-TODO.txt:
	Update TODO

	* gst/base/gstbasesink.c: (gst_base_sink_get_position),
	(gst_base_sink_query):
	Don't use clock time to report position when in EOS.

2005-10-20  Tim-Philipp Müller  <tim at centricular dot net>

	* tools/gst-inspect.c: (print_interfaces),
	(print_element_properties_info), (print_element_info):
	  Fix interface output with gst-inspect -a; don't print
	  newlines after double/float properties.

2005-10-20  Wim Taymans  <wim@fluendo.com>

	* gst/base/gstbasesink.c: (gst_base_sink_get_position),
	(gst_base_sink_query):
	Speed up current position calculation.

	* gst/base/gstbasesrc.c: (gst_base_src_query),
	(gst_base_src_default_newsegment):
	Correctly set stream position in newsegment.

	* gst/gstbin.c: (gst_bin_add_func), (add_to_queue),
	(update_degree), (gst_bin_sort_iterator_next),
	(gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free):
	* gst/gstmessage.c: (gst_message_new_custom):
	Clean up debugging info

	* gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
	(gst_queue_loop), (gst_queue_handle_src_query):
	Pause task faster.

2005-10-19  Wim Taymans  <wim@fluendo.com>

	* gst/base/gstbasesink.c: (gst_base_sink_commit_state),
	(gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
	Fix query handling again.

2005-10-19  Wim Taymans  <wim@fluendo.com>

	* gst/base/gstbasesink.c: (gst_base_sink_commit_state),
	(gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
	* gst/base/gstbasesrc.c: (gst_base_src_query):
	* gst/elements/gstfilesink.c: (gst_file_sink_query):
	* gst/elements/gsttypefindelement.c:
	(gst_type_find_handle_src_query), (find_element_get_length),
	(gst_type_find_element_activate):
	API change fix.

	* gst/gstquery.c: (gst_query_new_position),
	(gst_query_set_position), (gst_query_parse_position),
	(gst_query_new_duration), (gst_query_set_duration),
	(gst_query_parse_duration), (gst_query_set_segment),
	(gst_query_parse_segment):
	* gst/gstquery.h:
	Bundling query position/duration is not a good idea since duration
	does not change much and we don't want to recalculate it for every
	position query, so they are separated again..
	Base value in segment query is not needed.

	* gst/gstqueue.c: (gst_queue_handle_src_query):
	* gst/gstutils.c: (gst_element_query_position),
	(gst_element_query_duration), (gst_pad_query_position),
	(gst_pad_query_duration):
	* gst/gstutils.h:
	Updates for query API change.
	Added some docs here and there.

2005-10-19  Thomas Vander Stichele  <thomas at apestaart dot org>

	* check/gst/gstbin.c: (GST_START_TEST):
	* check/gst/gstghostpad.c: (GST_START_TEST):
	* check/pipelines/cleanup.c: (GST_START_TEST):
	  wait on thread to die so we can check refcount correctly

2005-10-18  Wim Taymans  <wim@fluendo.com>

	* check/pipelines/stress.c: (GST_START_TEST):
	Make check a little more time consuming.

2005-10-18  Wim Taymans  <wim@fluendo.com>

	* check/Makefile.am:
	* check/pipelines/stress.c: (GST_START_TEST),
	(simple_launch_lines_suite), (main):
	Small state change torture test.

	* docs/design/part-states.txt:
	* gst/base/gstbasesink.c: (gst_base_sink_commit_state),
	(gst_base_sink_handle_object), (gst_base_sink_event), (do_playing),
	(gst_base_sink_change_state):
	Never take state lock from streaming thread, clean up ugly
	hacks. Unfortunatly core does not yet support nice ways to
	async commit state.
	
	* gst/gstbin.c: (gst_bin_remove_func), (gst_bin_recalc_state),
	(bin_bus_handler):
	Start state recalc if a STATE_DIRTY message is posted, but only
	on the toplevel bin.

	* gst/gstelement.c: (gst_element_sync_state_with_parent),
	(gst_element_get_state_func), (gst_element_abort_state),
	(gst_element_commit_state), (gst_element_lost_state),
	(gst_element_set_state_func), (gst_element_change_state):
	* gst/gstelement.h:
	State variables are now protected with the LOCK, the state
	lock is only used to serialize _set_state().

2005-10-18  Wim Taymans  <wim@fluendo.com>

	* check/gst/gstbin.c: (GST_START_TEST):
	* check/gst/gstmessage.c: (GST_START_TEST):
	* check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
	* gst/gstbin.c: (gst_bin_class_init), (gst_bin_recalc_func),
	(bin_bus_handler):
	* gst/gstelement.c: (gst_element_abort_state),
	(gst_element_commit_state), (gst_element_lost_state):
	* gst/gstmessage.c: (gst_message_new_state_changed),
	(gst_message_new_state_dirty), (gst_message_new_segment_start),
	(gst_message_new_segment_done), (gst_message_new_duration),
	(gst_message_parse_state_changed),
	(gst_message_parse_segment_start),
	(gst_message_parse_segment_done), (gst_message_parse_duration):
	* gst/gstmessage.h:
	* tools/gst-launch.c: (event_loop):
	Seriously, this is better than a previous commit as we only need
	to notify the fact that an element changed state in a streaming
	thread, marking the state of the parents dirty, hence the 
	STATE_DIRTY message instead of abusing a boolean in a STATE_CHANGE
	message.

2005-10-18  Wim Taymans  <wim@fluendo.com>

	* gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
	(gst_bin_recalc_func):
	* gst/gstelement.c: (gst_element_set_clock),
	(gst_element_abort_state), (gst_element_lost_state):
	Cleanups, prepare for state change fixes.

2005-10-18  Wim Taymans  <wim@fluendo.com>

	* gst/gstbin.h:
	* gst/gstelement.c: (gst_element_class_init),
	(gst_element_set_state), (gst_element_set_state_func):
	* gst/gstelement.h:
	Pending ABI changes.
	GThreadPool in GstBinClass to monitor async state changes.
	state_cookie in GstElement to detect concurrent gst/set state.
	set_state is now virtual too in case a very complicated element
	has to be constructed.

2005-10-18  Wim Taymans  <wim@fluendo.com>

	* check/gst/gstbin.c: (GST_START_TEST):
	* check/gst/gstmessage.c: (GST_START_TEST):
	* check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
	* gst/gstbin.c: (bin_bus_handler):
	* gst/gstelement.c: (gst_element_commit_state),
	(gst_element_lost_state):
	* gst/gstmessage.c: (gst_message_new_state_changed),
	(gst_message_new_segment_start), (gst_message_new_segment_done),
	(gst_message_new_duration), (gst_message_parse_state_changed),
	(gst_message_parse_segment_start),
	(gst_message_parse_segment_done), (gst_message_parse_duration):
	* gst/gstmessage.h:
	* tools/gst-launch.c: (event_loop):
	Make messages future proof.
	state-change gets a flag if it was a message comming from the
	streaming thread.
	segment-start/stop can also be specified in other formats.
	A message to notify an app that a pipeline changed playback 
	duration.
	Also fix a GstMessage leak in -launch

2005-10-18  Andy Wingo  <wingo@pobox.com>

	* gst/gstelement.c (gst_element_dispose): More helpful message.

2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>

	reviewed by: <delete if not using a buddy>

	* common/gtk-doc.mak:

2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>

	* gst/gstregistry.c: (gst_registry_scan_path_level):
	  unref a plug-in we get that was already initialized

2005-10-18  Stefan Kost  <ensonic@users.sf.net>

	* docs/gst/gstreamer-sections.txt:
	* docs/libs/gstreamer-libs-sections.txt:
	* gst/gstelement.h:
	  add new api entries
	  hide internal macro

2005-10-17  Andy Wingo  <wingo@pobox.com>

	* gst/base/gstcollectpads.c (gst_collectpads_chain): Slight
	cleanup.

	* gst/Makefile.am (gstenumtypes.c): Threadsafe now.

	* gst/gstevent.c (gst_event_new, gst_event_finalize): LOG.

	* gst/gstelement.c (gst_element_get_state_func): s/INFO/DEBUG/.
	(gst_element_get_state_func): Better debug message.
	(gst_element_commit_state): s/INFO/DEBUG/.
	(gst_element_lost_state, gst_element_change_state): 

	* gst/gstmessage.c (gst_message_init): s/INFO/LOG/.
	(gst_message_new_custom): s/INFO/LOG/.

2005-10-17  Michael Smith <msmith@fluendo.com>

	* gst/base/gstbasesink.c: (gst_base_sink_do_sync):
	  Check if end time is valid using end time, not start time.

2005-10-17  Stefan Kost  <ensonic@users.sf.net>

	* check/gst-libs/controller.c: (GST_START_TEST),
	(gst_controller_suite):
	* libs/gst/controller/gstcontroller.c:
	(gst_controlled_property_set_interpolation_mode):
	* libs/gst/controller/gstcontroller.h:
	* libs/gst/controller/gstinterpolation.c:
	* testsuite/controller/.cvsignore:
	* testsuite/controller/Makefile.am:
	* testsuite/controller/interpolator.c:
	  merge controller testsuites
	  fix broken tests
	  remove mem-chunk from docs

2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>

	* gst/gstmemchunk.c:
	* gst/gstmemchunk.h:
	* gst/gsttrashstack.c:
	* gst/gsttrashstack.h:
	  out.  get out.  you're fired.  to the Attic !

2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>

	* gst/gstcaps.c: (gst_caps_intersect):
	  fix signedness issues in a (hopefully) correct way
	* gst/gstelement.c: (gst_element_pads_activate):
	  some debugging
	* gst/gstobject.c: (gst_object_set_parent):
	  some debugging

2005-10-17  Julien MOUTTE  <julien@moutte.net>

	* gst/gstvalue.h: Fix prototypes.

2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>

	* docs/gst/gstreamer-sections.txt:
	* gst/gst.c: (gst_version_string):
	* gst/gst.h:
	* gst/gstversion.h.in:
	* win32/common/libgstreamer.def:
	  add gst_version_string ()

2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>

	* configure.ac:
	  clean up further
	* gst/gst.c: (init_post):
	* win32/common/config.h.in:
	  it's PLUGINDIR now
	* gst/gstcaps.c: (gst_caps_intersect):
	  use gint64, the range could be bigger than a guint

2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>

	* gst/gstclock.h:
	  document potential problem in 2038

2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>

	* gst/gstcaps.c: (gst_caps_intersect):
	  Fix guint j diving under 0

2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>

	* configure.ac:
	* win32/common/config.h:
	* win32/common/config.h.in:
	  check for process.h, declares getpid() on Windows
	* gst/gstinfo.c:
	  include process.h if we have it
	* gst/gstmemchunk.c: (populate), (gst_mem_chunk_new):
	* gst/gstmemchunk.h:
	  fix signedness issues
	* win32/common/libgstreamer.def:
	  fix get_type's

2005-10-16  Julien MOUTTE  <julien@moutte.net>

	* gst/gstcaps.c: (gst_caps_intersect): Fix a bad bug with a simple
	fix. Because of unsigned ints, caps intersection was going nuts and
	trying to access structures with G_MAXUINT index. That fixes
	videotestsrc ! ffmpegcolorspace ! fakesink
	* gst/gstpad.c: (gst_pad_link_check_compatible_unlocked): logs
	consistency.

2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>

	* configure.ac:
	  use the gettext macro
	* gst/elements/gstelements.c:
	* gst/gst.c:
	* gst/indexers/gstindexers.c:
	  update for GST_PACKAGE_NAME, GST_PACKAGE_ORIGIN
	* win32/common/config.h:
	  updated config.h
	* win32/common/config.h.in:
	  add the template to generate config.h
	* win32/common/gstenumtypes.c:
	* win32/common/gstversion.h:
	  updated copies

2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>

	* gst/gst.c: (gst_version):
	* gst/gstversion.h.in:
	  add the nano

2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>

	* gst/gstevent.h:
	  Oops, add missing closing bracket.

2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>

	* configure.ac:
	  use common m4's for argument checking

2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>

	* docs/gst/gstreamer-sections.txt:
	* gst/gstevent.h:
	  Add GST_EVENT_TYPE_NAME() macro.

2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>

	* gst/gstinfo.c:
	* gst/gstpluginfeature.c:
	* gst/gsttask.c:
	  privatize more symbols

2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>

	* configure.ac:
	  add srcdir, builddir includes to GST_ALL_CFLAGS, since
	  everything that uses GStreamer API should have the includes

2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>

	* docs/gst/gstreamer-sections.txt:
	* gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
	* gst/gstvalue.h:
	  give each value a _get_type, removes the DATA exports

2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>

	* gst/gst.c:
	* gst/gst.h:
	  remove _gst_registry_auto_load, not used anymore
	* gst/gstbin.c: (gst_bin_get_type):
	* gst/gstbin.h:
	* gst/gstelement.c: (gst_element_get_type):
	* gst/gstelement.h:
	* gst/gstobject.c: (gst_object_get_type):
	* gst/gstobject.h:
	* gst/gstpad.c: (gst_pad_get_type):
	* gst/gstpad.h:
	  make _get_type functions similar, fixes data export from library

2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>

	* configure.ac:
	  correctly make conditionals
	* gst/elements/Makefile.am:
	* gst/elements/gstelements.c:
	  fix typo causing fdsrc not to build

2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>

	* testsuite/Makefile.am:
	* testsuite/bytestream/.cvsignore:
	* testsuite/bytestream/Makefile.am:
	* testsuite/bytestream/filepadsink.c:
	* testsuite/bytestream/gstbstest.c:
	* testsuite/bytestream/test1.c:
	* testsuite/bytestream/testfile1:
	* testsuite/caps/normalisation.c:
	* testsuite/caps/random.c: (main):
	* testsuite/cleanup/.cvsignore:
	* testsuite/cleanup/Makefile.am:
	* testsuite/cleanup/cleanup1.c:
	* testsuite/cleanup/cleanup2.c:
	* testsuite/cleanup/cleanup3.c:
	* testsuite/cleanup/cleanup4.c:
	* testsuite/cleanup/cleanup5.c:
	* testsuite/controller/interpolator.c:
	* testsuite/debug/printf_extension.c: (main):
	* testsuite/elements/tee.c:
	* testsuite/negotiation/.cvsignore:
	* testsuite/negotiation/Makefile.am:
	* testsuite/negotiation/pad_link.c:
	* testsuite/pad/Makefile.am:
	* testsuite/pad/chainnopull.c:
	* testsuite/pad/getnopush.c:
	* testsuite/pad/link.c:
	* testsuite/refcounting/sched.c: (create_pipeline):
	* testsuite/registry/Makefile.am:
	* testsuite/registry/gst-print-formats.c:
	* testsuite/schedulers/.cvsignore:
	* testsuite/schedulers/142183-2.c:
	* testsuite/schedulers/142183.c:
	* testsuite/schedulers/143777-2.c:
	* testsuite/schedulers/143777.c:
	* testsuite/schedulers/147713.c:
	* testsuite/schedulers/147819.c:
	* testsuite/schedulers/147894-2.c:
	* testsuite/schedulers/147894.c:
	* testsuite/schedulers/Makefile.am:
	* testsuite/schedulers/group_link.c:
	* testsuite/schedulers/queue_link.c:
	* testsuite/schedulers/relink.c:
	* testsuite/schedulers/unlink.c:
	* testsuite/schedulers/unref.c:
	* testsuite/schedulers/useless_iteration.c:
	* testsuite/states/bin.c:
	  clean out/remove some stuff from the testsuite directories

2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>

	* configure.ac:
	  check for some headers
	* gst/elements/Makefile.am:
	* gst/elements/gstelements.c:
	  don't compile fdsrc without sys/socket.h
	* gst/indexers/Makefile.am:
	* gst/indexers/gstindexers.c: (plugin_init):
	  don't compile fileindex without mmap

2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>

	* configure.ac:
	  reorganize
	  clean up
	  document more
	  remove cruft
	* check/Makefile.am:
	* docs/gst/Makefile.am:
	* examples/helloworld/Makefile.am:
	* gst/Makefile.am:
	* gst/base/Makefile.am:
	* gst/check/Makefile.am:
	* gst/elements/Makefile.am:
	* gst/indexers/Makefile.am:
	* gst/parse/Makefile.am:
	* libs/gst/controller/Makefile.am:
	* libs/gst/dataprotocol/Makefile.am:
	* examples/helloworld/helloworld.c: (event_loop):
	  compile fixes, though it's not being compiled currently

2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>

	* check/gst/gsttag.c: (test_date_tags), (gst_tag_suite):
	  Add some simple tests for the new taglist date API.

2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>

	* gst/elements/gstfakesink.c: (gst_fake_sink_render):
	* gst/elements/gstfakesrc.c: (gst_fake_src_create):
	  Beautify 'last-message' output: print 'none' for buffer timestamps
	  and durations if none is set; improve alignment with next messages.

2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>

	* gst/gstpluginfeature.c: (gst_plugin_feature_check_version):
	* gst/gstpluginfeature.h:
	* gst/gstregistry.c: (gst_default_registry_check_feature_version):
	* gst/gstregistry.h:
	* docs/gst/gstreamer-sections.txt:
	  Add new API to check plugin feature version requirements.

	* check/gst/gstplugin.c: (test_version_checks), (gst_plugin_suite):
	  Some basic tests for the above.	  

2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>

	* gst/gststructure.c: (gst_structure_to_string):
	  guard against NULL printf - happens when for example
	  a message structure with GstClock gets serialized

2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>

	* gst/base/gstcollectpads.c: (gst_collectpads_event):
	  Fix presumable copy'n'pasto.

2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>

	* gst/elements/gstfakesrc.h:
	* gst/elements/gstfilesrc.c: (gst_file_src_create_read):
	* gst/elements/gsttypefindelement.c:
	  fix some signedness
	* gst/elements/gstfilesink.c: (gst_file_sink_render):
	  I wonder if this could actually write +2GB files before

2005-10-13  Andy Wingo  <wingo@pobox.com>

	* libs/gst/dataprotocol/dataprotocol.c (gst_dp_packet_from_caps):
	Fix Timmeke Waymans bug.
	(gst_dp_caps_from_packet): Make sure we pass a NUL-terminated
	string of the proper length to gst_caps_from_string. There's a
	potential for, before this fix, that this could cause someone
	connecting over the network to cause a segfault if the payload is
	not NUL-terminated.

2005-10-13  Stefan Kost  <ensonic@users.sf.net>

	* docs/design/draft-push-pull.txt:
	* docs/design/part-overview.txt:
	* docs/random/TODO-pre-0.9:
	* docs/random/old/ChangeLog.gstreamer:
	* gst/base/gstpushsrc.c:
	* gst/gstclock.c:
	  fixed typos

2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>

	* gst/glib-compat.c: (gst_flags_get_first_value):
	* gst/glib-compat.h:
	* gst/gstvalue.c: (gst_value_deserialize_int_helper),
	(gst_value_compare_double), (gst_value_serialize_flags):
	  GLib 2.6 g_flags_get_first_value has a bug that triggers an
	  infinite loop

2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>

	* gst/base/gstbasesink.c: (gst_base_sink_handle_object):
	* gst/base/gstbasesrc.c: (gst_base_src_get_range):
	  fix up debugging
	* tools/gst-launch.c: (event_loop):
	  print out clock nicely

2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>

	* docs/gst/gstreamer-sections.txt:
	* gst/gsttaglist.h:
	* gst/gsttaglist.c: (_gst_tag_initialize), (gst_tag_list_get_date),
	(gst_tag_list_get_date_index):
	  Added gst_tag_list_get_date() and gst_tag_list_get_date_index().
	  GST_TAG_DATE now has a tag type of GST_TYPE_DATE (#170777).

2005-10-13  Julien MOUTTE  <julien@moutte.net>

	* gst/base/gstcollectpads.c: (gst_collectpads_event),
	(gst_collectpads_chain):
	* gst/base/gstcollectpads.h: Handle newsegment and store informations
	in CollectData.

2005-10-13  Stefan Kost  <ensonic@users.sf.net>

	* docs/gst/gstreamer-sections.txt:
	* gst/gst.c:
	* gst/gsterror.h:
	* tools/gst-inspect.c: (main):
	* tools/gst-launch.c: (main):
	* tools/gst-run.c: (main):
	* tools/gst-xmlinspect.c: (main):
	  fix GOption context leaks
	  doc fixes

2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>

	* gst/gstbus.c:
	  use HAVE_UNISTD_H
	* win32/common/config.h:
	  update config
	* win32/vs6/grammar.dsp:
	* win32/vs6/libgstelements.dsp:
	* win32/vs6/libgstreamer.dsp:
	  update vs6 files

2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>

	* gst/base/gstbasesink.c: (gst_base_sink_handle_object):
	* gst/base/gstbasesrc.c: (gst_base_src_query):
	  fix more guint64<->gdouble conversions

2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>

	* Makefile.am:
	  add win32-update target
	* win32/common/gstconfig.h:
	* win32/common/gstenumtypes.c:
	* win32/common/gstenumtypes.h:
	* win32/common/gstversion.h:
	  add files that visual studio can't generate

2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>

	* Makefile.am:
	  add a win32-update target
	* configure.ac:

2005-10-12  Wim Taymans  <wim@fluendo.com>

	* gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
	(reset_degree), (gst_bin_dispose), (bin_bus_handler):
	* gst/gstelement.c: (gst_element_commit_state),
	(gst_element_set_state):
	Protect flags with proper lock.
	unref provided cached clock in dispose.

2005-10-12  Stefan Kost  <ensonic@users.sf.net>

	* gst/gst.c:
	* gst/gstminiobject.h:
	* gst/gstpad.h:
	* win32/gstenumtypes.c: (gst_mini_object_flags_get_type):
	  removed unused flags from miniobject
	  doc fixes

2005-10-12  Wim Taymans  <wim@fluendo.com>

	* gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
	(gst_file_sink_event), (gst_file_sink_render):
	Flush before seeking.

2005-10-12  Andy Wingo  <wingo@pobox.com>

	* gst/gst.c (gst_init_check): Ignore unknown options, as has
	always been the case.

2005-10-12  Stefan Kost  <ensonic@users.sf.net>

	* check/gst/gstbin.c: (GST_START_TEST):
	* docs/gst/gstreamer-sections.txt:
	* gst/base/gstbasesink.c: (gst_base_sink_init):
	* gst/base/gstbasesrc.c: (gst_base_src_init),
	(gst_base_src_get_range), (gst_base_src_check_get_range),
	(gst_base_src_start), (gst_base_src_stop):
	* gst/base/gstbasesrc.h:
	* gst/elements/gstfakesrc.c: (gst_fake_src_set_property):
	* gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
	(bin_element_is_sink), (reset_degree), (gst_bin_element_set_state),
	(bin_bus_handler):
	* gst/gstbin.h:
	* gst/gstbuffer.h:
	* gst/gstbus.c: (gst_bus_post), (gst_bus_set_flushing):
	* gst/gstbus.h:
	* gst/gstelement.c: (gst_element_is_locked_state),
	(gst_element_set_locked_state), (gst_element_commit_state),
	(gst_element_set_state):
	* gst/gstelement.h:
	* gst/gstindex.c: (gst_index_init):
	* gst/gstindex.h:
	* gst/gstminiobject.h:
	* gst/gstobject.c: (gst_object_init), (gst_object_sink),
	(gst_object_set_parent):
	* gst/gstobject.h:
	* gst/gstpad.c: (gst_pad_set_blocked_async), (gst_pad_is_blocked),
	(gst_pad_get_caps_unlocked), (gst_pad_set_caps):
	* gst/gstpad.h:
	* gst/gstpadtemplate.h:
	* gst/gstpipeline.c: (gst_pipeline_provide_clock_func),
	(gst_pipeline_use_clock), (gst_pipeline_auto_clock):
	* gst/gstpipeline.h:
	* gst/indexers/gstfileindex.c: (gst_file_index_load),
	(gst_file_index_commit):
	* testsuite/bytestream/filepadsink.c: (gst_fp_sink_init):
	* testsuite/pad/link.c: (gst_test_src_init),
	(gst_test_filter_init), (gst_test_sink_init):
	* testsuite/states/locked.c: (main):
	  renamed GST_FLAGS macros to GST_OBJECT_FLAGS
	  moved bitshift from macro to enum definition

2005-10-12  Wim Taymans  <wim@fluendo.com>

	* gst/base/gstbasesink.c: (gst_base_sink_handle_buffer):
	* gst/elements/gstfilesink.c: (gst_file_sink_event),
	(gst_file_sink_render):
	Some more debugging info.

2005-10-12  Wim Taymans  <wim@fluendo.com>

	* docs/design/part-states.txt:
	* tools/gst-launch.c: (main):
	Some doc updates.
	Revert non-intentional change.

2005-10-12  Wim Taymans  <wim@fluendo.com>

	* check/gst/gstbin.c: (GST_START_TEST):
	* check/gst/gstelement.c: (GST_START_TEST):
	* check/gst/gstevent.c: (GST_START_TEST), (test_event):
	* check/gst/gstghostpad.c: (GST_START_TEST):
	* check/gst/gstpipeline.c: (GST_START_TEST):
	* check/pipelines/simple_launch_lines.c: (run_pipeline):
	* check/states/sinks.c: (GST_START_TEST):
	* gst/elements/gsttypefindelement.c: (stop_typefinding):
	* gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
	(gst_bin_remove_func), (gst_bin_get_state_func),
	(gst_bin_recalc_state), (gst_bin_change_state_func),
	(bin_bus_handler):
	* gst/gstelement.c: (gst_element_get_state_func),
	(gst_element_get_state), (gst_element_abort_state),
	(gst_element_commit_state), (gst_element_set_state),
	(gst_element_change_state), (gst_element_change_state_func):
	* gst/gstelement.h:
	* gst/gstpipeline.c: (gst_pipeline_class_init), (do_pipeline_seek),
	(gst_pipeline_provide_clock_func):
	* gst/gstutils.c: (gst_element_link_pads_filtered):
	* tools/gst-launch.c: (main):
	* tools/gst-typefind.c: (main):
	Use GstClockTime in _get_state() instead of GTimeVal.
	Remove old code in gstutils.c

2005-10-12  Andy Wingo  <wingo@pobox.com>

	* gst/gstregistry.h (gst_registry_scan_paths): Not implemented, so
	removed.

	* gst/gstpad.c (gst_pad_pause_task): Actually return FALSE if
	there is no task. Shouldn't affect any code, as nothing in our
	plugins checks this return value.
	(gst_pad_stop_task): Also take the stream lock if the pad has no
	task. Docs updated.

2005-10-12  Wim Taymans  <wim@fluendo.com>

	* gst/gstpad.c: (pre_activate), (post_activate),
	(gst_pad_activate_pull), (gst_pad_activate_push):
	Cleanup activation code. Reset old state if
	activation failed.

2005-10-12  Wim Taymans  <wim@fluendo.com>

	* gst/base/gstbasesink.c: (gst_base_sink_handle_object),
	(gst_base_sink_change_state):
	No need to prerol after receiving EOS.

	* gst/elements/gstfakesink.c: (gst_fake_sink_event):
	* gst/elements/gstfakesrc.c: (gst_fake_src_event_handler):
	* gst/elements/gstidentity.c: (gst_identity_event):
	Print events more verbosely.

2005-10-12  Wim Taymans  <wim@fluendo.com>

	* check/Makefile.am:
	* check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
	* check/states/sinks2.c:
	Moved sinks2 testcode in sinks check.

	* gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
	(gst_bin_remove_func), (gst_bin_recalc_state),
	(gst_bin_change_state_func), (bin_bus_handler):
	Fix potential race condition when _get_state() iterated over an
	ASYNC element right before it posted a state completion.

	* gst/gstclock.h:
	Do proper cast here.

	* gst/gstevent.c: (gst_event_new_newsegment),
	(gst_event_parse_newsegment):
	A playback rate of 0.0 is not allowed.

2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>

	* win32/common/config.h:
	* win32/common/dirent.c: (_topendir), (_treaddir), (_tclosedir),
	(_trewinddir), (_ttelldir), (_tseekdir):
	* win32/common/dirent.h:
	* win32/common/gtchar.h:
	* win32/common/libgstbase.def:
	* win32/common/libgstreamer.def:
	* win32/vs6/grammar.dsp:
	* win32/vs6/gst_inspect.dsp:
	* win32/vs6/gst_launch.dsp:
	* win32/vs6/gstreamer.dsw:
	* win32/vs6/libgstbase.dsp:
	* win32/vs6/libgstelements.dsp:
	* win32/vs6/libgstreamer.dsp:
	  Visual Studio 6 project files, and a new common directory.
	  Phear.

2005-10-11  Wim Taymans  <wim@fluendo.com>

	* gst/base/gstbasesink.c: (gst_base_sink_handle_object),
	(gst_base_sink_do_sync), (gst_base_sink_query),
	(gst_base_sink_change_state):
	* gst/base/gstbasesink.h:
	Correctly parse newsegment info.

2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>

	* gst/gst.c: (init_post):
	  split plugin paths correctly

2005-10-11  Wim Taymans  <wim@fluendo.com>

	* check/gst/gstevent.c: (GST_START_TEST):
	* gst/base/gstbasesink.c: (gst_base_sink_handle_object),
	(gst_base_sink_change_state):
	* gst/base/gstbasesrc.c: (gst_base_src_default_newsegment):
	* gst/base/gstbasetransform.c: (gst_base_transform_event):
	* gst/elements/gstfilesink.c: (gst_file_sink_event):
	* gst/gstevent.c: (gst_event_new_newsegment),
	(gst_event_parse_newsegment):
	* gst/gstevent.h:
	Added extra flag to newsegment for future API freeze.
	Updated check and base elements.

2005-10-11  Julien MOUTTE  <julien@moutte.net>

	* gst/base/gstcollectpads.c: (gst_collectpads_init),
	(gst_collectpads_add_pad), (gst_collectpads_pop),
	(gst_collectpads_event), (gst_collectpads_chain):
	* gst/base/gstcollectpads.h: Handle EOS correctly.

2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>

	* tools/gst-launch.c: (main):
	  more null protecting

2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>

	* gst/gst-i18n-lib.h:
	  check for ENABLE_NLS, not GETTEXT_PACKAGE
	* gst/gstregistry.c: (gst_registry_add_plugin),
	(gst_registry_scan_path_level),
	(_gst_registry_remove_cache_plugins):
	  protect possibly NULL strings
	* gst/parse/types.h:
	  config.h already included before
	* tools/gst-inspect.c: (main):
	  sys/wait.h also doesn�t exist on mingw, so change the ifdef check
	  check for ENABLE_NLS, not GETTEXT_PACKAGE
	* tools/gst-launch.c: (main):
	  check for ENABLE_NLS, not GETTEXT_PACKAGE

2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>

	* configure.ac:
	  if we don't have glib, fail before testing 2.8
	* gst/base/gstbasetransform.c: (gst_base_transform_change_state):
	  fix a leak, should fix plugins-base testsuite

2005-10-11  Andy Wingo  <wingo@pobox.com>

	* gst/gstpad.c (pre_activate): Renamed from pre_activate_switch,
	take the mode we're going to as an arg. Go head and set the mode
	and flushing flags now, so that if the activate function starts a
	thread all the flags will be in the right state.
	(post_activate): Renamed also. Just handle making sure streaming
	finishes for the deactivation case, and setting the deactivated
	mode.
	(gst_pad_set_active): Complain loudly if deactivation fails.
	(gst_pad_activate_pull): Adapt to pre/post_activate changes.
	(gst_pad_activate_push): Adapt to pre/post_activate changes,
	remove the terrible hack.

2005-10-11  Wim Taymans  <wim@fluendo.com>

	* gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
	(is_eos), (gst_bin_add_func), (gst_bin_remove_func),
	(gst_bin_recalc_state), (gst_bin_change_state_func),
	(gst_bin_dispose), (bin_bus_handler):
	* gst/gstbin.h:
	Prepare to make current EOS message queue more generic.
	Fix some typos.

	* gst/gstevent.c: (gst_event_new_newsegment),
	(gst_event_parse_newsegment):
	* gst/gstevent.h:
	Rename base to stream_time.

	* gst/gstmessage.h:
	Fix typo in docs.

2005-10-11  Wim Taymans  <wim@fluendo.com>

	* gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
	(gst_bin_add_func), (gst_bin_remove_func), (gst_bin_recalc_state),
	(gst_bin_change_state_func), (bin_bus_handler):
	* gst/gstbin.h:
	Work on proper clock selection.

2005-10-11  Edward Hervey  <edward@fluendo.com>

	* libs/gst/controller/gstcontroller.c: (gst_controller_remove_properties_list): 
	* libs/gst/controller/gstcontroller.h:
	Added GList* version of _remove_properties() in order to be able to wrap
	it in bindings.

2005-10-11  Wim Taymans  <wim@fluendo.com>

	* docs/design/part-states.txt:
	Some more docs.

	* gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_recalc_state),
	(gst_bin_change_state_func), (bin_bus_handler):
	Doc updates. Don't distribute the same clock over and over again.

	* gst/gstclock.c:
	* gst/gstclock.h:
	Doc updates.

	* gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark),
	(gst_pad_get_type), (gst_pad_push), (gst_pad_push_event),
	(gst_pad_send_event):
	* gst/gstpad.h:
	Make probe emission threadsafe again.
	Register quarks and move _get_name() from utils.
	Doc updates.

	* gst/gstpipeline.c: (gst_pipeline_class_init),
	(gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
	Only redistribute the clock of it changed.

	* gst/gstsystemclock.h:
	Doc updates. 

	* gst/gstutils.c:
	* gst/gstutils.h:
	Moved the _flow_get_name() to GstPad.

2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>

	* check/gst-libs/gdp.c: (GST_START_TEST):
	* check/gst/gstcaps.c: (GST_START_TEST):
	* libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc),
	(gst_dp_dump_byte_array), (gst_dp_header_from_buffer),
	(gst_dp_packet_from_caps):
	  fix more valgrind warnings before turning up the heat

2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>

	* gst/parse/grammar.y:
	  some cleanup before the hacking

2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>

	* gst/base/gstbasesrc.c: (gst_base_src_query):
	  use conversions
	* gst/gstutils.c: (gst_guint64_to_gdouble),
	(gst_gdouble_to_guint64), (gst_util_uint64_scale):
	* gst/gstutils.h:
	  externalize, basesrc uses it
	  obviously the implementation needs testing

2005-10-10  Wim Taymans  <wim@fluendo.com>

	* tests/sched/Makefile.am:
	* tests/sched/sort.c: (make_pipeline1), (make_pipeline2),
	(make_pipeline3), (make_pipeline4), (print_elem), (main):

2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>

	* gst/gstutils.c: (guint64_to_gdouble), (gst_util_uint64_scale):
	  apparently converting from guint64 to double is not implemented
	  on MSVC

2005-10-10  Wim Taymans  <wim@fluendo.com>

	* check/Makefile.am:
	* check/generic/states.c: (GST_START_TEST):
	* check/gst/gstbin.c: (GST_START_TEST):
	* check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
	* check/states/sinks.c: (GST_START_TEST):
	* check/states/sinks2.c: (GST_START_TEST), (gst_object_suite),
	(main):
	Check fixes, use API as stated in design docs, remove hacks.

	* gst/base/gstbasesink.c: (gst_base_sink_handle_object),
	(gst_base_sink_change_state):
	Catch stopping our task while we're shutting down.

	* gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
	(gst_bin_remove_func), (gst_bin_get_state_func),
	(gst_bin_recalc_state), (gst_bin_change_state_func),
	(bin_bus_handler):
	* gst/gstbin.h:
	* gst/gstelement.c: (gst_element_init),
	(gst_element_get_state_func), (gst_element_abort_state),
	(gst_element_commit_state), (gst_element_lost_state),
	(gst_element_set_state), (gst_element_change_state),
	(gst_element_change_state_func):
	* gst/gstelement.h:
	New state change algorithm (see #318116)

	* gst/gstpipeline.c: (gst_pipeline_class_init),
	(gst_pipeline_init), (gst_pipeline_set_property),
	(gst_pipeline_get_property), (do_pipeline_seek),
	(gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
	* gst/gstpipeline.h:
	Remove crude state change hacks.

	* gst/gstutils.h:
	Remove crude hacks.

	* tools/gst-launch.c: (main):
	Fixes for state change. Needs some more work to fully use the
	new stuff.

2005-10-10  Andy Wingo  <wingo@pobox.com>

	* tests/Makefile.am (noinst_PROGRAMS): No more init.c.

	* gst/gst.c (G_OPTION_FLAG_NO_ARG): Apparently GLib 2.8 requires
	this flag, but it's not even in GLib 2.6. Odd. Hack around the
	issue.

2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>

	* gst/gstiterator.c: (gst_iterator_new):
	  Fix my previous commit: GTypes passed to gst_iterator_new()
	  can be fundamental types.

2005-10-10  Wim Taymans  <wim@fluendo.com>

	* gst/gstelement.c: (gst_element_iterate_pad_list),
	(gst_element_iterate_pads), (gst_element_iterate_src_pads),
	(gst_element_iterate_sink_pads):
	Use src/sink pads lists for the respective iterators instead
	of filtering.

2005-10-10  Andy Wingo  <wingo@pobox.com>

	Merged in popt removal + GOption addition patch from Ronald, bug
	#169772.

	* docs/gst/gstreamer-sections.txt: Add STATE_(UN)LOCK_FULL, move
	GstElement macros around, remove popt-related symbols, add goption
	stuff.

	* configure.ac: Remove popt checks, require GLib 2.6 for GOption.
	
	* docs/gst/Makefile.am:
	* docs/libs/Makefile.am: No POPT_CFLAGS.
	
	* examples/manual/Makefile.am:
	* docs/manual/basics-init.xml: Doc updates with an example.
	
	* gst/gst.c: (gst_init_get_option_group), (gst_init_check),
	(gst_init), (parse_one_option), (parse_goption_arg):
	* gst/gst.h: Removed gst_init_with_popt_table and friends. Took a
	bit of hand merging and debugging to get the GOption stuff working
	tho.
	
	* tests/Makefile.am:
	* tools/Makefile.am:
	* tools/gst-inspect.c: (main):
	* tools/gst-launch.c: (main):
	* tools/gst-run.c: (main):
	* tools/gst-xmlinspect.c: (main): Thanks Ronald!

2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>

	* gst/gstiterator.c: (gst_iterator_new):
	  Add assertions to make sure passed GType is likely to really
	  be a GType (as the compiler won't catch it if the size and
	  GType arguments get mixed up, see #318447).

2005-10-10  Josef Zlomek  <josef dot zlomek at xeris dot cz>

	Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>

	* gst/gstbin.c: (gst_bin_iterate_sorted):
	  Pass GType and size arguments to gst_iterator_new() in the right
	  order (maybe we should make _new() take the GType as first argument
	  just like _new_list()?) (#318447).
	  

2005-10-10  Wim Taymans  <wim@fluendo.com>

	* gst/gstelement.c: (gst_element_finalize):
	And free the GStaticRecMutex too

2005-10-10  Andy Wingo  <wingo@pobox.com>

	* gst/gstelement.c (gst_element_init, gst_element_finalize):
	Allocate and free the mutex properly.

	* gst/gstelement.h (GST_STATE_UNLOCK_FULL, GST_STATE_LOCK_FULL):
	New macros.
	(GstElement): The state_lock is now recursive. Rebuild your
	plugins, suckers. Old macros adapted.

	* docs/gst/gstreamer-sections.txt: Doc updates.

	* gst/gstutils.h:
	* gst/gstutils.c (g_static_rec_cond_timed_wait) 
	(g_static_rec_cond_wait): Ported from state changes patch, while
	we wait on bug #317802 to be solved in a well-distributed GLib.

	* gst/gstelement.c (gst_element_change_state_func): Renamed from
	gst_element_change_state, variable name changes.
	(gst_element_change_state): Split out of gst_element_set_state in
	preparation for the state change merge. Doesn't pay attention to
	the 'transition' argument.
	(gst_element_set_state): Updates, hopefully purely cosmetic.
	(gst_element_sync_state_with_parent): MT-safety. Ported from the
	state change patch.
	(gst_element_get_state_func): Renamed from get_state, cosmetic
	changes.

2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>

	* gst/elements/gstelements.c:
	* win32/GStreamer.vcproj:
	* win32/config.h:
	* win32/dirent.c: (_tseekdir):
	* win32/gst-inspect.vcproj:
	* win32/gst-launch.vcproj:
	* win32/gstconfig.h:
	* win32/gstelements.vcproj:
	* win32/gstenumtypes.c: (gst_object_flags_get_type):
	* win32/gstreamer.def:
	* win32/msvc71.sln:
	  updates for the win32 build (patch from Sebastien Moutte)

2005-10-10  Andy Wingo  <wingo@pobox.com>

	* gst/gstbin.c (gst_bin_get_state_func): Renamed from
	gst_bin_get_state, cleaned up (but no logic changes).
	(bin_element_is_sink): Comment updates.
	(sink_iterator_filter): Remove needless cast.
	(gst_bin_iterate_sinks): Doc update.
	(gst_bin_change_state_func): Renamed from gst_bin_change_state,
	cleaned up (but no logic changes).

	* check/states/sinks.c (test_src_sink): Cleanups from the state
	change patch.
	(test_livesrc_sink): Sync on the state.

	* check/pipelines/simple_launch_lines.c (run_pipeline): Merge from
	the state change patch.

	* check/gst/gstghostpad.c (test_ghost_pads): Merge from the state
	change patch.

	* check/gst/gstbin.c: Merge in some style fixes and additional
	checks from Wim's state change patch.

2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>

	* gst/base/gsttypefindhelper.c: (helper_find_peek),
	(gst_type_find_helper):
	  Check whether we have the requested data already in our list of
	  cached buffers before pulling a new buffer; also make the buffer
	  list a GSList. Speeds up typefinding by ca. 5-10% altogether.

2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>

	* gst/gstcaps.c:
	* gst/gstevent.c:
	  doc updates
	* gst/gstvalue.c: (gst_value_deserialize_int_helper):
	  don't use long long, it's not portable.  Replacing with
	  gint64 seems to work; let's hope no skeletons fall out of the closet.

2005-10-10  Andy Wingo  <wingo@pobox.com>

	* autogen.sh (CONFIGURE_DEF_OPT): No more --plugin-buiddir, yay

2005-10-09  Stefan Kost  <ensonic@users.sf.net>

	* docs/gst/gstreamer-sections.txt:
	* gst/gstevent.c:
	* gst/gstevent.h:
	* gst/gstinfo.c:
	* gst/gstinfo.h:
	* gst/gstmessage.c: (gst_message_parse_state_changed):
	* gst/gstpad.c:
	* gst/gstpad.h:
	  more docs, fix compilation

2005-10-09  Philippe Khalaf <burger@speedy.org>
	* gst/gstmessage.c:
	  Fixed a few forgotten variables on previous commit

2005-10-09  Tim-Philipp Müller  <tim at centricular dot net>

	* gst/base/gsttypefindhelper.c: (helper_find_peek):
	  Fix evil typefind crasher: getrange() might return a short
	  buffer at the end of a file, but gst_type_find_peek() must
	  either return the full data as requested or NULL, but
	  never a short buffer.

2005-10-09  Thomas Vander Stichele  <thomas at apestaart dot org>

	* gst/gstmessage.c: (gst_message_new_state_changed),
	(gst_message_parse_state_changed):
	* gst/gstmessage.h:
	  don't use "new", it's a C++ keyword

2005-10-08  Wim Taymans  <wim@fluendo.com>

	* gst/gstbin.c: (is_eos), (update_degree), (gst_bin_query):
	* gst/gstelement.c: (gst_element_post_message):
	* gst/gstpipeline.c: (gst_pipeline_change_state):
	Small docs and debug updates.

2005-10-08  Stefan Kost  <ensonic@users.sf.net>

	* docs/gst/gstreamer-sections.txt:
	* gst/gstelementfactory.c:
	* gst/gstevent.c:
	* gst/gsttaglist.c:
	  more docs

2005-10-08  Wim Taymans  <wim@fluendo.com>

	* gst/gstbin.c: (is_eos), (update_degree), (gst_bin_change_state),
	(gst_bin_dispose), (bin_bus_handler):
	Fix typos, add comments.
	Clear EOS list when going to PAUSED from any direction and do it
	in a threadsafe way.
	Get base time in a threadsafe way too.
	Fix confusing debug in the change_state function.
	Various other small cleanups.
	
	* gst/gstelement.c: (gst_element_post_message):
	Fix very verbose bus posting code.

	* gst/gstpipeline.c: (gst_pipeline_class_init),
	(gst_pipeline_set_property), (gst_pipeline_get_property),
	(gst_pipeline_change_state):
	Small ARG_ -> PROP_ cleanup

2005-10-08  Wim Taymans  <wim@fluendo.com>

	* gst/gstbin.c: (is_eos), (bin_bus_handler):
	Do a less CPU demanding EOS check because we can.

2005-10-08  Wim Taymans  <wim@fluendo.com>

	* libs/gst/dataprotocol/dataprotocol.c:
	(gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
	(gst_dp_packet_from_event):
	* libs/gst/dataprotocol/dataprotocol.h:
	* libs/gst/dataprotocol/dp-private.h:
	It's about time we bump the version number.
	Since event types don't fit in the guint8 anymore describing
	the payload type, make payload type 16 bits wide.

2005-10-08  Wim Taymans  <wim@fluendo.com>

	* docs/design/part-TODO.txt:
	* docs/design/part-clocks.txt:
	* docs/design/part-events.txt:
	* docs/design/part-gstbin.txt:
	* docs/design/part-gstelement.txt:
	* docs/design/part-gstpipeline.txt:
	* docs/design/part-live-source.txt:
	* docs/design/part-messages.txt:
	* docs/design/part-overview.txt:
	* docs/design/part-states.txt:
	Many doc updates.

2005-10-08  Wim Taymans  <wim@fluendo.com>

	* gst/gstevent.c:
	* gst/gstevent.h:
	Fix event quark registration.
	Add some space between events so we can insert them in the
	right groups.

2005-10-08  Wim Taymans  <wim@fluendo.com>

	* gst/base/gstbasesink.c: (gst_base_sink_handle_object),
	(gst_base_sink_handle_buffer):
	Better log message.

	* gst/gstbus.h:
	* gst/gstelement.h:
	More docs.

	* gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
	(gst_queue_set_property), (gst_queue_get_property):
	* gst/gstqueue.h:
	Remove old unused properties.

2005-10-08  Stefan Kost  <ensonic@users.sf.net>
	* docs/gst/gstreamer-sections.txt:
	* gst/gstmessage.c:
	* gst/gstmessage.h:
	* gst/gstminiobject.c:
	* gst/gstminiobject.h:
	* gst/gstobject.h:
	* gst/gstpad.h:
	* gst/gstutils.h:
	  lots of new docs and doc fixes

2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>

	* gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_load_file):
	* gst/gstplugin.h:
	* gst/gstregistry.c: (gst_registry_lookup_locked),
	(gst_registry_scan_path_level):
	* gst/gstregistryxml.c: (load_plugin):
	  Only ever load one plugin for a given plugin basename.
	  This ensures correct overriding of GST_PLUGIN_PATH over
	  GST_PLUGIN_SYSTEM_PATH and of home dir plugins over
	  system installed plugins.

2005-10-08  Wim Taymans  <wim@fluendo.com>

	* gst/base/gstbasesink.c: (gst_base_sink_handle_object),
	(gst_base_sink_do_sync), (gst_base_sink_handle_buffer):
	Prepare for doing QOS.

2005-10-08  Wim Taymans  <wim@fluendo.com>

	* check/gst/gstbin.c: (GST_START_TEST):
	* check/pipelines/cleanup.c: (GST_START_TEST):
	* check/pipelines/simple_launch_lines.c: (GST_START_TEST):
	Allow new clock message too.

2005-10-08  Wim Taymans  <wim@fluendo.com>

	* gst/gstmessage.c: (gst_message_new_error),
	(gst_message_new_warning), (gst_message_new_tag),
	(gst_message_new_state_changed), (gst_message_new_clock_provide),
	(gst_message_new_clock_lost), (gst_message_new_new_clock),
	(gst_message_new_segment_start), (gst_message_new_segment_done),
	(gst_message_parse_state_changed),
	(gst_message_parse_clock_provide), (gst_message_parse_clock_lost),
	(gst_message_parse_new_clock):
	* gst/gstmessage.h:
	Also carry the clock in question.

2005-10-08  Wim Taymans  <wim@fluendo.com>

	* gst/gstmessage.c: (gst_message_new_custom),
	(gst_message_new_eos), (gst_message_new_error),
	(gst_message_new_warning), (gst_message_new_tag),
	(gst_message_new_state_changed), (gst_message_new_clock_provide),
	(gst_message_new_new_clock), (gst_message_new_segment_start),
	(gst_message_new_segment_done), (gst_message_parse_state_changed),
	(gst_message_parse_clock_provide), (gst_message_parse_new_clock):
	* gst/gstmessage.h:
	Clean up.
	Added clock related messages.

	* gst/gstpipeline.c: (gst_pipeline_change_state):
	Post message when the clock changed.

	* tools/gst-launch.c: (event_loop):
	Print new clock.

2005-10-08  Tim-Philipp Müller  <tim at centricular dot net>

	* tools/gst-inspect.c: (print_element_properties_info):
	  Can't pass NULL strings to g_print() on windows.

2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>

	* docs/Makefile.am:
	* docs/gst/Makefile.am:
	* docs/gst/gstreamer-docs.sgml:
	* docs/gst/running.xml:
	* docs/version.entities.in:
	  add a chapter on running GStreamer.
	  document GST_DEBUG and GST_PLUGIN* env vars

2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>

	* Makefile.am:
	  remove include dir
	* configure.ac:
	  remove PLUGINS_BUILDDIR stuff
	* gst/gst.c: (init_post):
	  reorder parsing of GST_PLUGIN_PATH and GST_PLUGIN_SYSTEM_PATH
	* idiottest.mak:
	  remove, it was condescending and not needed

2005-10-08  Wim Taymans  <wim@fluendo.com>

	* gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
	(gst_base_sink_handle_object), (gst_base_sink_event),
	(gst_base_sink_wait), (gst_base_sink_handle_event),
	(gst_base_sink_change_state):
	* gst/base/gstbasesink.h:
	Repost EOS message while going to PLAYING if still EOS.
	Make sure that when receiving a FLUSH_START we don't attempt
	to sync on the clock anymore.

2005-10-08  Wim Taymans  <wim@fluendo.com>

	* tools/gst-launch.c: (event_loop):
	Better message printout.

2005-10-08  Wim Taymans  <wim@fluendo.com>

	* gst/gstbin.c: (gst_bin_child_proxy_get_child_by_index),
	(gst_bin_child_proxy_get_children_count):
	* gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
	(gst_child_proxy_lookup), (gst_child_proxy_get_property),
	(gst_child_proxy_get_valist), (gst_child_proxy_set_property),
	(gst_child_proxy_set_valist):
	* gst/parse/grammar.y:
	Make ChildProxy threadsafe and fix mem leaks.

2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>

	* gst/gst.c: (init_post):
	  debug the GST_PLUGIN_ env vars

2005-10-08  Wim Taymans  <wim@fluendo.com>

	* check/gst/gstbin.c: (GST_START_TEST):
	* check/gst/gstmessage.c: (GST_START_TEST):
	* check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
	* gst/gstelement.c: (gst_element_commit_state),
	(gst_element_lost_state):
	* gst/gstmessage.c: (gst_message_new_state_changed),
	(gst_message_parse_state_changed):
	* gst/gstmessage.h:
	* tools/gst-launch.c: (event_loop):
	Added extra field to STATE_CHANGE message with the pending
	state, which will be different from the new state soon.

2005-10-08  Wim Taymans  <wim@fluendo.com>

	* gst/gstbus.c: (gst_bus_pop):
	* gst/gstclock.c:
	* gst/gstsystemclock.c: (gst_system_clock_async_thread):
	Small cleanups and doc updates.

2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>

	* gst/gst.c: (init_pre):
	* gst/gstbin.c: (gst_bin_add_func):
	  log distributing clocks and base time
	* gst/gstregistry.c: (gst_registry_add_plugin),
	(gst_registry_scan_path_level), (gst_registry_scan_path):
	  clean up the debugging output a little
	* gst/gstutils.c: (gst_element_state_get_name):
	  warn about a memleak (I've actually seen this be used, though
	  it was probably a bug)

2005-10-07  Wim Taymans  <wim@fluendo.com>

	* gst/base/gstbasesrc.c: (gst_base_src_class_init),
	(gst_base_src_init), (gst_base_src_default_newsegment),
	(gst_base_src_newsegment), (gst_base_src_do_seek),
	(gst_base_src_loop), (gst_base_src_start):
	* gst/base/gstbasesrc.h:
	Make the newsegment event customizable by subclasses.

2005-10-07  Wim Taymans  <wim@fluendo.com>

	* gst/gstevent.c: (gst_event_new_buffersize),
	(gst_event_parse_buffersize):
	* gst/gstevent.h:
	New event for future idea.

2005-10-07  Andy Wingo  <wingo@pobox.com>

	* gst/gstelement.c (gst_element_post_message): Doc update.

	* docs/gst/gstreamer-sections.txt: Update.

	* gst/gstmessage.c (gst_message_new_application): Made into a
	function like honest API calls.
	(gst_message_new_element): New message type.

	* gst/gstmessage.h (enum): Add GST_MESSAGE_ELEMENT type.

	* check/elements/fakesrc.c (test_no_preroll): New check, checks
	that setting a live fakesrc to PAUSED returns NO_PREROLL both
	times.

	* gst/base/gstbasesrc.c (gst_base_src_change_state): Allow a
	NO_PREROLL from gst_element_change_state to fall through.

2005-10-07  Wim Taymans  <wim@fluendo.com>

	* gst/gstghostpad.c: (gst_ghost_pad_get_internal),
	(gst_ghost_pad_do_activate_push):
	Activating a ghostpad with no internal pad in push mode
	is ok.

2005-10-07  Thomas Vander Stichele  <thomas at apestaart dot org>

	* gst/gstobject.h:
	  there's no point in wrapping FLAG_SET/_UNSET in STMT macros.
	  Fixes compilation on Windows.

2005-10-07  Michael Smith <msmith@fluendo.com>

	* tools/gst-inspect.c:
	  Print out feature and plugin count at the end when printing out
	  all features.

2005-10-04  Michael Smith <msmith@fluendo.com>

	* gst/gsterror.c: (_gst_stream_errors_init):
	  Add another error string used in a few existing plugins.

	* gst/gstplugin.c:
	* gst/gstpluginfeature.c: (gst_plugin_feature_load):
	* tools/gst-inspect.c: (print_element_info):
	  When a feature disappears from a plugin (and the feature exists in
	  the cached registry file), things went horribly wrong. This isn't a
	  complete fix, we should actually be removing the 'missing' features
	  from the features list when we load the actual plugin. That's not
	  yet implemented. 

2005-10-04  Johan Dahlin  <johan@gnome.org>

	* check/gst/gstiterator.c: (GST_START_TEST):
	* gst/gstbin.c: (gst_bin_iterate_elements),
	(gst_bin_iterate_recurse), (gst_bin_iterate_sorted):
	* gst/gstelement.c: (gst_element_iterate_pads):
	* gst/gstformat.c: (gst_format_iterate_definitions):
	* gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
	(gst_iterator_new_list), (gst_iterator_filter):
	* gst/gstiterator.h:
	* gst/gstquery.c: (gst_query_type_iterate_definitions):
	Add a GType to GstIterator, update callsites and tests.

2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>

	* gst/gstpad.c: (gst_pad_event_default_dispatch):
	  give events a chance to be handled by event probes when the pad
	  is not linked

2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>

	* gst/gstevent.c: (gst_event_type_get_name),
	(gst_event_type_to_quark), (gst_event_finalize), (gst_event_new):
	* gst/gstevent.h:
	  add string representations for event types

2005-10-06  Wim Taymans  <wim@fluendo.com>

	* gst/elements/gstfilesink.c: (gst_file_sink_close_file):
	Don't use NULL pointers.

2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>

	* gst/gst_private.h:
	* gst/gstbus.c:
	* gst/gstelement.c:
	* gst/gstinfo.c:
	* gst/gstpluginfeature.c:
	  widen the debug category in output to fit the biggest one we have
	  add a bus category and use it
	  play with the colors
	  fix up some categories

2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>

	* gst/gstghostpad.c: (gst_ghost_pad_internal_do_activate_push):
	  add push activation of sink ghost pads.
	  Andye, please verify

2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>

	* gst/gstutils.c: (gst_element_link_pads):
	  fix a bug in the case where neither element has a pad
	* check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
	  add a test for that case

2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>

	* gst/gstpad.c: (gst_pad_push), (gst_pad_push_event):
	  emit have-data before checking for peers.  This allows
	  for probe handlers to connect elements.  This helps autopluggers.
	* check/gst/gstpad.c: (GST_START_TEST), (_probe_handler),
	(gst_pad_suite):
	  add six checks, linked/unlinked with no/true/false probe

2005-10-04  Wim Taymans  <wim@fluendo.com>

	* gst/elements/gstfakesink.c: (gst_fake_sink_get_property),
	(gst_fake_sink_event), (gst_fake_sink_preroll),
	(gst_fake_sink_render), (gst_fake_sink_change_state):
	* gst/elements/gstfakesrc.c: (gst_fake_src_event_handler),
	(gst_fake_src_get_property), (gst_fake_src_create),
	(gst_fake_src_stop):
	* gst/elements/gstidentity.c: (gst_identity_stop):
	Protect last_message with lock.

2005-10-04  Edward Hervey  <edward@fluendo.com>

	* gst/gstformat.h: 
	Added precision in the comments for GST_FORMAT_DEFAULT

2005-10-04  Tim-Philipp Müller  <tim at centricular dot net>

	* tools/gst-launch.c: (main):
	  Don't try to run erroneous pipelines.

2005-10-04  Julien MOUTTE  <julien@moutte.net>

	* gst/gstbus.c: We don't need this header.

2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>

	* configure.ac:
	  back to development

=== release 0.9.3 ===

2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>

	* README:
	* configure.ac:
	  Releasing 0.9.3, "Unregistered"

2005-10-03  Andy Wingo  <wingo@pobox.com>

	* gst/gstpad.c (gst_pad_activate_push): There is a race condition
	whereby calling a pad's activatepush() function can start a thread
	that starts to push or pull before the pad gets the FLUSHING flag
	unset. Hack around it by holding the stream lock until the flag is
	set. Need to replace this with a proper solution. Together with
	the ghost pad fixes, this fixes mp3 playing/tagreading.

	* docs/design/part-gstghostpad.txt: Add a note about activation of
	proxy pads outside of ghost pads.

	* gst/gstghostpad.c: Implement the ghost pad activation design.

2005-10-02  Andy Wingo  <wingo@pobox.com>

	* gst/gstobject.h (GST_OBJECT_REFCOUNT_VALUE): Just use the int.
	It is volatile, after all.

	* docs/design/part-gstghostpad.txt: Flesh out activation with
	ghost pads.

	* gst/base/gstbasesrc.c (gst_base_src_init): Use
	GST_DEBUG_FUNCPTR.

2005-10-02  Tim-Philipp Müller  <tim at centricular dot net>

	* configure.ac:
	  Fix (unused) AM_CONDITIONAL tests.

2005-10-01  Alessandro Decina  <alessandro at nnva dot org>

	Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>

	* gst/gstutils.c: (gst_pad_query_convert):
	  Add assertion that makes sure src_val is >=0, just like
	  gst_query_new_convert() has. (#315895)

2005-09-30  Edward Hervey  <edward@fluendo.com>

	* gst/elements/gsttee.c: (gst_tee_do_push), (gst_tee_handle_buffer):
	Let's not iterate pads we're not interested in, it avoids getting 
	sky-high refcounts on sinkpad.

2005-09-30  Wim Taymans  <wim@fluendo.com>

	* gst/gstelement.c: (gst_element_set_state),
	(gst_element_change_state):
	Small tweak, element in ASYNC remains ASYNC.

2005-09-30  Wim Taymans  <wim@fluendo.com>

	* gst/base/gstbasesink.c: (gst_base_sink_change_state):
	Only error is an error.

	* gst/gstbin.c: (gst_bin_change_state):
	Better debugging.

	* gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_chain):
	Also call pad_block in pad alloc.

	* gst/gstutils.c: (gst_flow_get_name):
	Better debugging.

2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>

	* gst/base/gstbasesrc.c: (gst_base_src_class_init),
	(gst_base_src_get_range):
	  Fix documentation typos. Add some more debug info.

2005-09-29  David Schleef  <ds@schleef.org>

	* gst/gstplugin.c: (gst_plugin_load_file): Make some error messages
	  more end-user friendly.
	* tools/gst-inspect.c: (main): Check if command-line argument is
	  a file and attempt to load that file as a plugin.

2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>

	* check/gst/gstbin.c:
	* check/states/sinks.c:
	  fix tests for the new warning
	* check/gst/gstpipeline.c:
	  add a test for pipeline and bus interaction
	* gst/gstelement.c:
	  elements should be NULL if they get disposed; add a warning if not

2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>

	* gst/gstobject.c:
	  for 2.6 refcounting, make debug log more correct by printing
	  the actual refcounts at the time of swap (Wim)

2005-09-29  Andy Wingo  <wingo@pobox.com>

	* gst/gstbus.c (gst_bus_remove_signal_watch): New function,
	removes signal watches previously added via
	gst_bus_add_signal_watch.
	(gst_bus_add_signal_watch): Don't return the source id, just store
	it on the bus if there wasn't an id already.

	* gst/gstbus.h (GstBus): Add a couple new fields. API changes for
	add_signal_watch and remove_signal_watch.

2005-09-29  Edward Hervey  <edward@fluendo.com>

	* libs/gst/controller/gstcontroller.c: (gst_controller_new_list): 
	Better if we actually iterate the list :)

2005-09-29  Wim Taymans  <wim@fluendo.com>

	* check/gst/gstbin.c: (GST_START_TEST):
	Change for new bus API.

	* check/gst/gstbus.c: (message_func_eos), (message_func_app),
	(send_messages), (GST_START_TEST), (gstbus_suite):
	Change for new bus signal API.

	* gst/gstbus.c: (gst_bus_class_init), (gst_bus_have_pending),
	(gst_bus_source_prepare), (gst_bus_source_check),
	(gst_bus_create_watch), (gst_bus_add_watch_full),
	(gst_bus_add_watch), (gst_bus_poll), (gst_bus_async_signal_func),
	(gst_bus_sync_signal_handler), (gst_bus_add_signal_watch):
	* gst/gstbus.h:
	Remove support for multiple GSources operating on different
	message types as it is too complex and unneeded when using
	signals.
	Added support for receiving signals from the bus.

2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>

	* docs/libs/tmpl/gstdataprotocol.sgml:
	* docs/manual/advanced-dataaccess.xml:
	* gst/elements/gstcapsfilter.c:
	* gst/gstutils.c:
	  rename filter-caps to caps property

2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>

	* gst/gstvalue.c: (gst_value_deserialize_fraction):
	  More robust fraction string parsing.

	* docs/pwg/appendix-porting.xml:
	  Mention gst_pad_use_explicit_caps() => gst_pad_use_fixed_caps()

2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>

	* gst/gstcaps.c: (gst_caps_do_simplify):
	  Thou shalt not free a structure and then continue using it
	  in the next loop iteration.

	* check/gst/gstcaps.c: (check_fourcc_list), (test_simplify),
	(gst_caps_suite):
	  Add test case for caps simplification.

2005-09-29  Wim Taymans  <wim@fluendo.com>

	* check/gst/gstbin.c: (GST_START_TEST):
	Oops.

2005-09-29  Wim Taymans  <wim@fluendo.com>

	* check/gst/gstbin.c: (GST_START_TEST):
	Add bus to bin.

	* gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
	(add_to_queue), (clear_queue), (reset_degree), (update_degree),
	(find_element), (gst_bin_sort_iterator_next),
	(gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
	(gst_bin_iterate_sorted), (gst_bin_element_set_state),
	(gst_bin_change_state), (gst_bin_dispose):
	A bin does not have a bus, it gets the bus from the parent.

	* gst/gstelement.c: (gst_element_requires_clock),
	(gst_element_provides_clock), (gst_element_is_indexable),
	(gst_element_is_locked_state), (gst_element_change_state),
	(gst_element_set_bus_func):
	Small cleanups.

	* gst/gstpipeline.c: (gst_pipeline_class_init),
	(gst_pipeline_init), (gst_pipeline_provide_clock_func):
	The pipeline provides a bus.

2005-09-28  Johan Dahlin  <johan@gnome.org>

	* gst/gstmessage.c (gst_message_parse_state_changed): Use
	gst_structure_get_enum instead of gst_structure_get_int

	* gst/gststructure.c (gst_structure_get_enum): Impl.

	* gst/gststructure.h (gst_structure_get_enum): Add

	* docs/gst/gstreamer-sections.txt: Ditto

	* gst/gstmessage.c (gst_message_new_state_changed): Use
	GST_TYPE_STATE instead of G_TYPE_INT, mainly for language bindings
	which does introspection.
	Reviewed by Christian Schaller

2005-09-28  Stefan Kost  <ensonic@users.sf.net>

	* gst/gstinfo.c: (gst_debug_log_default):
	  don't do dummy g_strdup()s
	* libs/gst/controller/gstcontroller.c:
	(on_object_controlled_property_changed),
	(gst_controlled_property_new), (gst_controller_new_valist),
	(gst_controller_new_list),
	(gst_controller_remove_properties_valist), (gst_controller_set),
	(gst_controller_get), (gst_controller_sync_values),
	(gst_controller_get_value_array), (_gst_controller_class_init),
	(gst_controller_get_type):
	* libs/gst/controller/gstcontroller.h:
	* libs/gst/controller/gstinterpolation.c:
	(gst_controlled_property_find_timed_value_node):
	  convert // to /**/ comments

2005-09-28  Wim Taymans  <wim@fluendo.com>

	* gst/gstbus.c: (marshal_VOID__MINIOBJECT), (gst_bus_class_init),
	(gst_bus_post), (poll_func), (gst_bus_async_signal_func),
	(gst_bus_sync_signal_handler):
	* gst/gstbus.h:
	Added async-message and sync-message signals to the bus.
	Added helper BusFunc to emit signals for all posted messages.

	* gst/gstmessage.c: (gst_message_type_get_name),
	(gst_message_type_to_quark), (gst_message_get_type):
	* gst/gstmessage.h:
	Register quarks for message names.

2005-09-28  Stefan Kost  <ensonic@users.sf.net>

	* docs/libs/gstreamer-libs-sections.txt:
	* libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
	(gst_controller_new_list):
	* libs/gst/controller/gstcontroller.h:
	  added another constructor for language bindings

2005-09-28  Thomas Vander Stichele  <thomas at apestaart dot org>

	* check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
	  add another check
	* gst/gstbus.c:
	  add some doc
	* gst/gstinfo.c: (_gst_debug_init):
	  slightly more readable color for refcount debugging

2005-09-28  Wim Taymans  <wim@fluendo.com>

	* gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
	(add_to_queue), (clear_queue), (reset_degree), (update_degree),
	(find_element), (gst_bin_sort_iterator_next),
	(gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
	(gst_bin_iterate_sorted), (gst_bin_element_set_state),
	(gst_bin_change_state), (gst_bin_dispose):
	Small doc fixes. get_clock -> provide_clock.

	* gst/gstelement.c: (gst_element_class_init),
	(gst_element_provides_clock), (gst_element_provide_clock),
	(gst_element_get_clock), (gst_element_commit_state),
	(gst_element_lost_state):
	* gst/gstelement.h:
	Make get/set_clock() symetric. Add provide_clock vmethod since
	that is actually what this function does.

	* gst/gstpipeline.c: (gst_pipeline_class_init),
	(gst_pipeline_change_state), (gst_pipeline_provide_clock_func),
	(gst_pipeline_get_clock):
	get_clock -> provide_clock.

2005-09-28  Andy Wingo  <wingo@pobox.com>

	* gst/base/gstbasesrc.c (gst_base_src_unlock): Comment a bit in
	lieu of real docs...

	* gst/elements/gstfdsrc.c: Cleaned up a bit.

2005-09-28  Tim-Philipp Müller  <tim at centricular dot net>

	* gst/elements/gstcapsfilter.c:
	* gst/elements/gstfakesink.c:
	* gst/elements/gstfakesrc.c:
	* gst/elements/gstfdsink.c:
	* gst/elements/gstfdsrc.c:
	* gst/elements/gstfilesink.c:
	* gst/elements/gstfilesrc.c:
	* gst/elements/gstidentity.c:
	* gst/elements/gsttee.c:
	* gst/elements/gsttypefindelement.c:
	  Make element details static.

2005-09-28  Wim Taymans  <wim@fluendo.com>

	* gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
	(update_outdegree), (find_element), (gst_bin_sort_iterator_next),
	(gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
	(gst_bin_iterate_sorted), (gst_bin_element_set_state),
	(gst_bin_change_state), (gst_bin_dispose):
	Some documentation updates.
	Clean up dispose handlers.

	* gst/gstobject.c: (gst_object_ref), (gst_object_unref):
	* gst/gstpad.c: (gst_pad_dispose):
	Clean up dispose handler.

	* gst/gstpipeline.c: (gst_pipeline_change_state):
	Removed spurious UNLOCK.

2005-09-27  Stefan Kost  <ensonic@users.sf.net>

	* docs/gst/gstreamer-sections.txt:
	* gst/base/gstbasesrc.h:
	* gst/gstelement.h:
	* gst/gstevent.h:
	* gst/gstobject.h:
	* gst/gstpad.h:
	* gst/gstpipeline.c:
	* gst/gstpipeline.h:
	* gst/gstutils.h:
	* gst/gstxml.h:
	  added two new functions to the docs
		documents all undocumented GstXXXFlags
		completed some incomplete docs 

2005-09-27  Thomas Vander Stichele  <thomas at apestaart dot org>

	* gst/gstbin.c: (gst_bin_dispose):
	* gst/gstelement.c: (gst_element_dispose):
	  remove now useless and leaky resurrection code in dispose
	* gst/base/gstbasesrc.c: (gst_base_src_init):
	* gst/gstelementfactory.c: (gst_element_factory_create):
	* gst/gstobject.c: (gst_object_set_parent):
	  add some debugging

2005-09-27  Wim Taymans  <wim@fluendo.com>

	* docs/design/part-TODO.txt:
	Update TODO.

	* gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
	(update_outdegree), (find_element), (gst_bin_sort_iterator_next),
	(gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
	(gst_bin_iterate_sorted), (gst_bin_element_set_state),
	(gst_bin_change_state):
	* gst/gstelement.h:
	Remove element variable, we keep element info in the iterator now.

2005-09-27  Andy Wingo  <wingo@pobox.com>

	* libs/gst/dataprotocol/dataprotocol.c: Fix error-checking return
	values.

2005-09-27  Wim Taymans  <wim@fluendo.com>

	* check/gst/gstbin.c: (GST_START_TEST):
	Enable check that works now.

	* gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
	(update_outdegree), (find_element), (gst_bin_sort_iterator_next),
	(gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
	(gst_bin_iterate_sorted), (gst_bin_element_set_state),
	(gst_bin_change_state):
	* gst/gstbin.h:
	Redid the state change algorithm using a topological sort algo.
	Handles all cases correctly.
	Exposed iterator for state change order.

	* gst/gstelement.h:
	Temp storage for state changes. Need to get rid of this soon.

2005-09-27  Wim Taymans  <wim@fluendo.com>

	* gst/elements/gsttee.c: (gst_tee_init), (gst_tee_do_push):
	* gst/gstutils.c: (intersect_caps_func), (gst_pad_proxy_getcaps),
	(link_fold_func), (gst_pad_proxy_setcaps):
	Leak fixes, the fold functions need to unref the passed object and
	_get_parent_*() returns ref to parent.

2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>

	* check/gst/gstbuffer.c: (test_make_writable):
	  Plug leak in test case and fix 'make check-valgrind'

2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>

	* gst/gstbuffer.c: (gst_subbuffer_init):
	  Set READONLY flag on subbuffers, so that gst_buffer_make_writable()
	  works correctly in all circumstances (we could have just copied
	  the parent buffer's readonly flag, but conceptually it seems
	  cleaner to mark all subbuffers as read-only). (based on patch
	  by Alessandro Decina, #314710).
	
	* check/gst/gstbuffer.c: (create_read_only_buffer),
	(test_make_writable), (test_subbuffer_make_writable),
	(gst_test_suite):
	  Add some tests for gst_buffer_make_writable().

2005-09-27  Wim Taymans  <wim@fluendo.com>

	* gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_change_state):
	use gst_object_has_ancestor().

	* gst/gstobject.c: (gst_object_has_ancestor):
	* gst/gstobject.h:
	gst_object_has_ancestor() copied from gstbin.c as it is a
	useful function.

	* tests/instantiate/create.c: (create_all_elements):
	* tests/lat.c: (handoff_src), (handoff_sink):
	* tests/sched/runxml.c: (main):
	* tests/seeking/seeking1.c: (main):
	* tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
	(main):
	Fix compilation of some tests.

2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>

	* gst/gsterror.h:
	  Remove comment. GST_TYPE_G_ERROR is here to stay,
	  G_TYPE_ERROR has been WONTFIX'ed by the GLib folks
	  (#316961, #300610).

2005-09-26  Wim Taymans  <wim@fluendo.com>

	* check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
	Added check that shows error in state change order.

2005-09-26  Wim Taymans  <wim@fluendo.com>

	* gst/gstbin.c: (gst_bin_change_state):
	Make state change function use 3 queues again, we were
	adding elements in the wrong order.

	* gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
	Some debug info,

	* gst/gstpad.c: (gst_pad_dispose):
	Added some debug info first.

2005-09-26  Tim-Philipp Müller  <tim at centricular dot net>

	* docs/design/draft-push-pull.txt:
	* docs/design/part-events.txt:
	* docs/design/part-overview.txt:
	* docs/design/part-scheduling.txt:
	  Replace all _pull_region() with _pull_range()
	  
2005-09-26  Andy Wingo  <wingo@pobox.com>

	* gst/gstvalue.c (_gst_value_initialize): Better fakeout.

	* check/gst-libs/controller.c: Update for controller api change.

	* configure.ac: 
	* tests/Makefile.am:
	* tests/memchunk: Remove memchunk benchmark stuff, this is taken
	over by GLib bug 118439.
	
	* gst/base/gstbasesink.c (gst_base_sink_wait): Factor out the wait
	routines to a function.

	* docs/libs/gstreamer-libs-sections.txt: I am a good person today.

	* libs/gst/controller/gsthelper.c:
	* libs/gst/controller/gstcontroller.h (gst_controller_sync_values)
	(gst_object_sync_values): Renamed from sink_values. Ugh.

	* libs/gst/controller/gsthelper.c: Update for __gst_controller_key.

	* libs/gst/controller/gstcontroller.c (__gst_controller_key):
	Renamed from controller_key, as it is exported.

	* gst/gstvalue.c (_gst_value_initialize): Fake out the compiler.

2005-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>

	* gst/Makefile.am:
	* gst/gst.h:
	* gst/gstpad.h:
	* gst/gstpadtemplate.h:
	* gst/gstquery.c:
	* gst/gstquery.h:
	* gst/gstqueryutils.c:
	* gst/gstqueryutils.h:
	  remove queryutils headers after moving the two used functions
	  to gstquery.  also fixes build problem for gstsiddec

2005-09-26  Michael Smith <msmith@fluendo.com>

	* tools/gst-launch.1.in:
	Correct documentation in manpage of debug syntax

2005-09-26  Wim Taymans  <wim@fluendo.com>

	* gst/base/gstbasesrc.c: (gst_base_src_get_range),
	(gst_base_src_is_seekable), (gst_base_src_change_state):
	Some more debugging info.

2005-09-25  Stefan Kost  <ensonic@users.sf.net>

	* docs/gst/gstreamer-sections.txt:
	* gst/base/gstbasetransform.h:
	* gst/gstindex.h:
	  added more docs

2005-09-25  Stefan Kost  <ensonic@users.sf.net>

	* docs/gst/.cvsignore:
	* docs/gst/tmpl/.cvsignore:
	* docs/gst/tmpl/gstpipeline.sgml:
	* docs/gst/tmpl/gstplugin.sgml:
	* gst/gstpipeline.c:
	* gst/gstplugin.c:
	* gst/gstplugin.h:
	  inlined the last two docs files
	  removed the tmpl directory from cvs (no more conflicts here!)

2005-09-25  Stefan Kost  <ensonic@users.sf.net>

	* docs/gst/gstreamer-sections.txt:
	* docs/gst/tmpl/.cvsignore:
	* docs/gst/tmpl/gstpad.sgml:
	* docs/gst/tmpl/gstpadtemplate.sgml:
	* gst/Makefile.am:
	* gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
	(gst_pad_finalize), (gst_pad_set_pad_template):
	* gst/gstpad.h:
	* gst/gstpadtemplate.c: (gst_pad_template_get_type),
	(gst_pad_template_class_init), (gst_pad_template_init),
	(gst_pad_template_dispose), (name_is_valid),
	(gst_static_pad_template_get), (gst_pad_template_new),
	(gst_static_pad_template_get_caps), (gst_pad_template_get_caps),
	(gst_pad_template_pad_created):
	* gst/gstpadtemplate.h:
	  inlined two more docs
	  factored gstpadtemplate out of gstpad

2005-09-24  Tim-Philipp Müller  <tim at centricular dot net>

	* check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
	(test_children_state_change_order_semi_sink):
	  Fix test case: we can't rely on a fixed state change order when
	  going from READY => PAUSED because the sink might commit its 
	  new state first when the first buffer created by the source 
	  reaches the sink before the source has finished its change state.
	  (Test case still fails at times, see #316856, comment 5 onwards)

2005-09-24  Wim Taymans  <wim@fluendo.com>

	* docs/design/part-events.txt:
	* docs/design/part-gstbus.txt:
	* docs/design/part-gstpipeline.txt:
	* docs/design/part-messages.txt:
	* docs/design/part-overview.txt:
	* docs/design/part-segments.txt:
	* gst/gstbin.c:
	* gst/gstbuffer.c:
	* gst/gstclock.c:
	* gst/gstelement.c:
	* gst/gstevent.c:
	* gst/gstfilter.c:
	* gst/gstiterator.c:
	Various documentation updates.

2005-09-24  Thomas Vander Stichele  <thomas at apestaart dot org>

	* gst/gstclock.h:
	  Well, that's embarassing.  Luckily we weren't using
	  GST_CLOCK_DIFF anywhere.

2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>

	* common/gtk-doc.mak:
	  don't fail on building XML, FC4 slave shows a bunch of doc
	  missing bits that I don't get
	* gst/gstpad.c:
	* gst/gstpipeline.c:
	* gst/gststructure.c:
	  some doc updates

2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>

	* docs/design/part-gstbin.txt:
	* docs/design/part-gstbus.txt:
	* gst/gstbus.c:
	  Add blurb about how the bus goes into flushing mode and
	  drops all messages when its bin goes from READY into NULL 
	  state.

2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>

	* docs/gst/gstreamer-sections.txt:
	* gst/gststructure.c: (gst_structure_get_clock_time):
	* gst/gststructure.h:
	  add a method to get a GstClockTime out of a structure

2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>

	* check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
	(test_children_state_change_order_semi_sink), (gst_bin_suite):
	  Added test to check state change order in bins (can still be made
	  to fail here under heavy disk load; bails out with 'Push on pad
	  fakesink:sink0, but it was not activated in push mode').

	* gst/gstbin.c: (gst_bin_class_init), (gst_bin_change_state):
	  Fix state change order when there is only a semi sink (#316856)

	* gst/gstbus.c: (gst_bus_class_init):
	  Use _class_peek_parent(), not _class_ref(); fix docs to say
	  'default main context' instead of 'mainloop' where that is
	  what's meant.

	* gst/gstelement.c: (gst_element_commit_state),
	(gst_element_set_state):
	  Fix typos in debug messages

2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>

	* docs/README:
	* gst/gstpad.c: (gst_pad_class_init), (gst_pad_chain):
	* gst/gstpluginfeature.c:
	* gst/gstutils.c:
	  various doc updates
	* gst/base/gstbasesink.c: (gst_base_sink_handle_object):
	  change an assert into an error until it gets fixed properly

2005-09-23  Stefan Kost  <ensonic@users.sf.net>

	* docs/gst/gstreamer-sections.txt:
	* docs/gst/tmpl/.cvsignore:
	* docs/gst/tmpl/gstelement.sgml:
	* docs/gst/tmpl/gstinfo.sgml:
	* docs/gst/tmpl/gstobject.sgml:
	* gst/gstelement.c:
	* gst/gstelement.h:
	* gst/gstinfo.c:
	* gst/gstinfo.h:
	* gst/gstobject.c: (gst_object_class_init):
	* gst/gstobject.h:
	  inlined 3 more biiiig doc files and added some missing docs on the fly

2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>

	* check/gst/.cvsignore:
	* check/gst/gstplugin.c: (GST_START_TEST), (gst_plugin_suite):
	* gst/gstregistryxml.c: (load_plugin),
	(gst_registry_xml_save_plugin):
	  put back source in registry.  add checks for find_plugin.
	* testsuite/states/bin.c: (assert_state), (empty_bin),
	(test_adding_one_element), (main):
	* testsuite/states/locked.c: (main):
	  some compile/run fixes

2005-09-22  Thomas Vander Stichele  <thomas at apestaart dot org>

	* check/gst/gstvalue.c: (GST_START_TEST):
	  fix leaks in the test itself

2005-09-22  Wim Taymans  <wim@fluendo.com>

	* gst/base/gstbasesink.c: (gst_base_sink_class_init),
	(gst_base_sink_send_event), (gst_base_sink_peer_query),
	(gst_base_sink_query):
	Prepare for more accurate position reporting and query
	handling.

	* gst/gstelement.c: (gst_element_send_event),
	(gst_element_set_state):
	Add some comment.

2005-09-22  Wim Taymans  <wim@fluendo.com>

	* gst/gstquery.c: (gst_query_new_segment), (gst_query_set_segment),
	(gst_query_parse_segment):
	* gst/gstquery.h:
	More documentation.
	Add segment query for future use.

2005-09-22  Wim Taymans  <wim@fluendo.com>

	* gst/gstbin.c: (gst_bin_add_func):
	Some more debug info.

	* gst/gstelement.c: (gst_element_send_event):
	Simplify send_event

	* gst/gstelement.h:
	Don't know how flags got broken.

	* gst/gstquery.h:
	Added new query.

2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>

	* check/gst/gstvalue.c: (test_date), (gst_value_suite):
	  Add simplistic test suite for GST_TYPE_DATE serialisation and
	  deserialisation.

2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>

	* docs/gst/gstreamer-sections.txt:
	* gst/gststructure.c: (gst_structure_set_valist),
	(gst_structure_get_date):
	* gst/gststructure.h:
	* gst/gstvalue.c: (gst_value_set_date), (gst_value_get_date),
	(gst_date_copy), (gst_value_compare_date),
	(gst_value_serialize_date), (gst_value_deserialize_date),
	(gst_value_transform_date_string),
	(gst_value_transform_string_date), (_gst_value_initialize):
	* gst/gstvalue.h:
	  Add GST_TYPE_DATE, a boxed type that wraps GDate, and the usual
	  bunch of utility functions along with a hack that checks that
	  developers don't accidentally use G_TYPE_DATE where GST_TYPE_DATE
	  is required. Part of the grand scheme in #170777.

2005-09-22  Andy Wingo  <wingo@pobox.com>

	* gst/gstconfig.h.in: Psych out gtk-doc.

	* docs/gst/gstreamer-sections.txt: Add GST_HAVE_GLIB_2_8.

	* check/Makefile.am (check_PROGRAMS): Add gstplugin to the tests.

	* tools/gst-inspect.c (print_element_list): Plug some
	inconsequential leaks.

	* gst/gstregistry.c (gst_registry_get_default): Doc.

	* check/gst/gstplugin.c: 
	* gst/gsttypefindfactory.c (gst_type_find_factory_call_function):
	* gst/gstelementfactory.c (gst_element_factory_create): 
	* gst/gstindexfactory.c (gst_index_factory_create): Update for
	refcount changes.

	* gst/gstpluginfeature.c (gst_plugin_feature_list_free): Doc.
	(gst_plugin_feature_load): Doc, don't eat refs.

	* gst/gstplugin.c (gst_plugin_load): Doc, don't eat refs.
	(gst_plugin_list_free): Doc.
	(gst_plugin_load_file): Doc updates.

	* gst/gstbuffer.c (gst_buffer_get_caps): Like all our _get
	accessors returning refcounted objects, return a ref.

	* check/gst/gstbuffer.c (GST_START_TEST): Use refcount-idempotent
	accessor for caps. IDEMPOTENCE. Oh yes.

2005-09-21  Francis Labonte  <francis_labonte at hotmail dot com>

	Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>

	* gst/gstinfo.c: (_gst_debug_nameof_funcptr),
	(_gst_debug_register_funcptr):
	  Add mutex to serialise access to the hash table with
	  the function pointer => function name string mapping;
	  make that hash table static scope (#316809).

	* gst/registries/.cvsignore:
	  Remove left-over file.

2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>

	* docs/pwg/appendix-porting.xml:
	  And something about newsegment events and caps-on-buffers to
	  the porting guide (feel free to improve).

2005-09-21  Andy Wingo  <wingo@pobox.com>

	* check/gst/gstutils.c (test_buffer_probe_n_times): Add tests for
	data and event probes on the same pad.
	(test_buffer_probe_once): Test that removing probes from within
	the probe functions works.

2005-09-21  Andy Wingo  <wingo@pobox.com>

	* check/gst/gstutils.c: New file.
	(test_buffer_probe_n_times): A simple buffer probe test. More to
	come, foolios.

	* gst/gstutils.c (gst_pad_add_buffer_probe): Connect to
	have-data::buffer, not have-data.
	(gst_pad_add_event_probe): Likewise for have-data::event.
	(gst_pad_add_data_probe): More docs. The part about 'resolving the
	peer' isn't quite right yet though.
	(gst_pad_remove_buffer_probe, gst_pad_remove_event_probe) 
	(gst_pad_remove_data_probe): Change to take the guint handler_id
	as their arg, not the function+data, which is more glib-like.

	* gst/gstpad.c (gst_pad_emit_have_data_signal): Add a detail to
	the signal emission to indicate if the data is a buffer or an
	event.
	(gst_pad_get_type): Initialize buffer and event quarks.
	(gst_pad_class_init): have-data is now a detailed signal, yes it
	is.

2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>

	* gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
	* gst/gstutils.c: (gst_util_set_value_from_string),
	(gst_util_set_object_arg):
	  Don't put functional code in g_return_if_fail() or
	  g_return_val_if_fail() statements, otherwise things will 
	  break when G_DISABLE_CHECKS is defined during compilation.

2005-09-21  Stefan Kost  <ensonic@users.sf.net>

	* docs/gst/tmpl/.cvsignore:
	* docs/gst/tmpl/gstvalue.sgml:
	* gst/gstvalue.c:
	* gst/gstvalue.h:
	  inlied another one and added  some obvious docs

2005-09-21  Wim Taymans  <wim@fluendo.com>

	* gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
	(gst_fdsrc_init), (gst_fdsrc_start), (gst_fdsrc_stop),
	(gst_fdsrc_unlock), (gst_fdsrc_set_property),
	(gst_fdsrc_get_property), (gst_fdsrc_create):
	* gst/elements/gstfdsrc.h:
	Properly implement fdsrc. Removed signal and timeout,
	better implemented somewhere else.

2005-09-21  Stefan Kost  <ensonic@users.sf.net>

	* docs/gst/tmpl/.cvsignore:
	* docs/gst/tmpl/gstimplementsinterface.sgml:
	* gst/gstinterface.c:
	  inlined more docs

2005-09-21  Stefan Kost  <ensonic@users.sf.net>

	* docs/gst/gstreamer-sections.txt:
	* docs/gst/tmpl/.cvsignore:
	* docs/gst/tmpl/gstenumtypes.sgml:
	  remove obsolete doc file

2005-09-21  David Schleef  <ds@schleef.org>

	* gst/gstelementfactory.c: (gst_element_factory_make): Drink a
	little beer, fix a little leak.

2005-09-21  Stefan Kost  <ensonic@users.sf.net>

	* docs/gst/gstreamer-docs.sgml:
	* docs/gst/gstreamer-sections.txt:
	* docs/gst/tmpl/.cvsignore:
	* gst/Makefile.am:
	* gst/gst.h:
	* gst/gstbin.c:
	* gst/gstelement.h:
	* gst/gstindex.c: (gst_index_class_init):
	* gst/gstindex.h:
	* gst/gstindexfactory.c: (gst_index_factory_get_type),
	(gst_index_factory_class_init), (gst_index_factory_init),
	(gst_index_factory_finalize), (gst_index_factory_new),
	(gst_index_factory_destroy), (gst_index_factory_find),
	(gst_index_factory_create), (gst_index_factory_make):
	* gst/gstindexfactory.h:
	* gst/gstpluginfeature.c:
	* gst/gstpluginfeature.h:
	* libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
	  more docs inlined, splitted gstindex.{c,h}

2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>

	* libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
	  fix a leak

2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>

	* gst/elements/gstfilesink.c: (gst_file_sink_init):
	  Set sync to FALSE by default.

2005-09-20  Wim Taymans  <wim@fluendo.com>

	* gst/base/gstbasesink.c: (gst_base_sink_class_init),
	(gst_base_sink_init):
	Make sync property settable from subclass.

	* gst/elements/gstfakesink.c: (gst_fake_sink_init),
	(gst_fake_sink_change_state):
	Set sync to FALSE by default.

2005-09-20  Wim Taymans  <wim@fluendo.com>

	* gst/gstbus.c: (poll_func), (poll_timeout), (gst_bus_poll):
	* tools/gst-launch.c: (main):
	The timeout handler should have lower priority than the source
	so we don't timeout before popping a message with 0 timeout.
	Dump error messages after failed state change.

2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>

	* tools/gst-inspect.c: (print_element_properties_info):
	  Fix two typos.

2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>

	* check/gst/gstevent.c:
	* gst/elements/gstfakesink.c:
	* gst/elements/gstfakesink.h:
	  remove the sync property from fakesink.
	  has the side effect of setting sync TRUE
	  for fakesink, which is a change.  Anyone who knows how
	  to fix this nicely in a GObject-y way, feel free.

2005-09-20  Stefan Kost  <ensonic@users.sf.net>

	* docs/gst/gstreamer-docs.sgml:
	  remove probe refsection

2005-09-20  Stefan Kost  <ensonic@users.sf.net>

	* check/Makefile.am:
	  disable valgrinding the controller test again
	* docs/gst/gstreamer-sections.txt:
	  update for api-changes

2005-09-20  Wim Taymans  <wim@fluendo.com>

	* gst/base/gstbasesink.c: (gst_base_sink_class_init),
	(gst_base_sink_set_property), (gst_base_sink_get_property),
	(gst_base_sink_do_sync):
	* gst/base/gstbasesink.h:
	Added sync property to basesink to disable clock sync.

2005-09-20  Andy Wingo  <wingo@pobox.com>

	* gst/gstelementfactory.c (gst_element_factory_create): Avoid
	eating the caller's refcount.

	* gst/gstobject.h (GST_OBJECT_REFCOUNT) 
	(GST_OBJECT_REFCOUNT_VALUE): Conditionally fondle the right
	refcount.

	* gst/gstconfig.h.in (GST_HAVE_GLIB_2_8):
	* configure.ac (GST_HAVE_GLIB_2_8_DEFINE): Make the availability
	of GLib 2.8 public, so we can know which refcount to check in
	tests.

	* gst/gstobject.c: Use the GST_HAVE_GLIB_2_8 define.
	(gst_object_init): Only set the gst refcount if we're going ahead
	with the refcount hack.

2005-09-20  Stefan Kost  <ensonic@users.sf.net>

	* check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
	* libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
	  more leaks plumbed, added more debug-logging
	* gst/gstmacros.h:
	  whitespace fix

2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>

	* gst/gstmessage.c:
	  remove include of gstmemchunk.h

2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>

	* gst/gstclock.c: (_gst_clock_id_free):
	  Commit from the Political Party For More Atomic CVS Commits,
	  so that people don't waste too much of their day fishing
	  out obvious leaks out of massive commits.
	  Oh, and fix a pretty damn obvious leak in the memchunk
	  removal code.

2005-09-20  Stefan Kost  <ensonic@users.sf.net>

	* check/Makefile.am:
	* check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
	  plug mem-leak, re-add to valgrindable tests

2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>

	* gst/gstplugin.h:
	  unbreak the build for those who have chronic arthritis
	  and typing "make check" is just too taxing on the hands

2005-09-20  Andy Wingo  <wingo@pobox.com>

	* gst/gst.h: Re-add marshal to gst.h's include list -- if we
	really want it out, you should fix plugins at the same time.

2005-09-19  Stefan Kost  <ensonic@users.sf.net>

	* configure.ac:
	* docs/gst/gstreamer-sections.txt:
	* gst/gstobject.c:
	  added missing symbols to api docs
	  disable ref-count hack if we have glib >= 2.8

2005-09-19  David Schleef  <ds@schleef.org>

	* docs/gst/Makefile.am: Ignore a few more internal headers
	* docs/gst/gstreamer-docs.sgml: Remove old sections
	* docs/gst/gstreamer-sections.txt: Remove old sections
	* docs/gst/tmpl/gstobject.sgml: update
	* docs/gst/tmpl/gstplugin.sgml: update
	* docs/gst/tmpl/gstpluginfeature.sgml: update
	* docs/random/ds/0.9-suggested-changes: update.
	* gst/Makefile.am: remove memchunk and trashstack, since they're
	  not used.
	* gst/gst.c: (gst_deinit): rename gst_registry_deinit to _cleanup
	* gst/gst.h: don't include some headers
	* gst/gstchildproxy.c: add gstmarshal.h
	* gst/gstclock.c: Don't use memchunks
	* gst/gstminiobject.c: Add some docs
	* gst/gstobject.c: remove DESTROYED flag, since it's redundant
	* gst/gstobject.h: same
	* gst/gstplugin.c: include gstmacros.h
	* gst/gstplugin.h: don't include gstmacros.h, since it's private
	* gst/gstquery.c: don't use memchunks
	* gst/gstregistry.c: rename gst_registry_deinit()
	* gst/gstregistry.h: same

2005-09-19  David Schleef  <ds@schleef.org>

	* docs/libs/gstreamer-libs-docs.sgml: Remove docs for getbits
	* docs/libs/gstreamer-libs-sections.txt:
	* docs/libs/tmpl/gstgetbits.sgml:
	* docs/libs/tmpl/gstputbits.sgml:

2005-09-19  Tim-Philipp Müller  <tim at centricular dot net>

	* win32/gstenumtypes.c:
	* win32/gstenumtypes.h:
	  Update.

2005-09-19  Wim Taymans  <wim@fluendo.com>

	* gst/gstpipeline.c: (do_pipeline_seek), (gst_pipeline_send_event):
	Automatically PAUSE and RESUME a pipeline when a flushing seek
	is performed.

2005-09-19  Andy Wingo  <wingo@pobox.com>

	* gst/gstregistry.h: Spacing fixen.

2005-09-19  Wim Taymans  <wim@fluendo.com>

	* gst/base/gstbasesrc.c: (gst_base_src_change_state):
	Handle state change failure more correctly.

2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>

	* check/Makefile.am:
	* check/pipelines/cleanup.c: (run_pipeline):
	* check/pipelines/simple_launch_lines.c: (run_pipeline),
	(GST_START_TEST):
	  enable cleanup again after fixing the leak
	* docs/README:
	  some more info on docs

2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>

	* check/Makefile.am:
	  re-enable tests now that leaks are plugged
	* check/gst/gst.c:
	* check/gst/gstbin.c:
	* check/gst/gstpipeline.c:
	  add some more tests while fixing leaks
	* common/check.mak:
	  make sure binaries are uptodate when valgrinding/gdbing
	* gst/gst.c:
	* gst/gstelementfactory.c:
	  remove a ref too many, and add a FIXME for when we get
	  round to disposing of classes
	* gst/gstplugin.c:
	  fix the refcounting when loading a plugin from a file and
	  the code pretends that the pointer is the same even though
	  of course it can change
	* gst/gstpluginfeature.c:
	  unref plugins marked cached (a bit confusing as a name)
	  as the docs state should be done
	  various doc additions to explain refcounting
	* gst/gstregistry.c:
	* gst/gstregistryxml.c:
	  debugging

2005-09-19  Wim Taymans  <wim@fluendo.com>

	* check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
	* check/gst/gstbus.c: (message_func_eos), (message_func_app),
	(send_messages), (GST_START_TEST), (gstbus_suite):
	* check/gst/gstpipeline.c: (GST_START_TEST):
	* check/pipelines/cleanup.c: (run_pipeline):
	* check/pipelines/simple_launch_lines.c: (run_pipeline),
	(GST_START_TEST):
	* gst/gstbus.c: (gst_bus_have_pending), (gst_bus_source_prepare),
	(gst_bus_source_check), (gst_bus_source_dispatch),
	(gst_bus_create_watch), (gst_bus_add_watch_full),
	(gst_bus_add_watch), (poll_func), (poll_timeout), (gst_bus_poll):
	* gst/gstbus.h:
	* tools/gst-launch.c: (event_loop):
	* tools/gst-md5sum.c: (event_loop):
	GstBusHandler -> GstBusFunc, return value has the same meaning as
	any other GSource (FALSE == remove source).
	_add_watch() and _add_watch_full() now take a MessageType mask to
	only handle specific types of messages.
	_poll() returns the GstMessage instead of the message type to avoid
	race conditions.
	_have_pending() takes a MessageType mask now too.
	Added testsuite for multiple bus watches.
	Fix testsuites and applications for new bus API.

2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>

	* check/Makefile.am:
	  mark a bunch of the tests as to fix until we fix them

2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>

	* common/check.mak:
	  use GST_PLUGIN settings for valgrind tests as well, so we're
	  valgrinding the correct thing
	* gst/gst.c: (init_post):
	  plug another leak

2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>

	* gst/gst.c: (init_post), (gst_deinit):
	* gst/gstelementfactory.c: (gst_element_factory_class_init),
	(gst_element_factory_finalize), (gst_element_factory_cleanup):
	* gst/gstindex.c: (gst_index_factory_class_init),
	(gst_index_factory_finalize):
	* gst/gstobject.c: (gst_object_dispose):
	* gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
	(gst_plugin_load_file), (gst_plugin_desc_free):
	* gst/gstpluginfeature.c: (gst_plugin_feature_class_init),
	(gst_plugin_feature_finalize):
	* gst/gstregistry.c: (gst_registry_class_init),
	(gst_registry_init), (gst_registry_finalize),
	(gst_registry_get_default), (gst_registry_deinit):
	* gst/gstregistry.h:
	* gst/gstregistryxml.c: (load_feature), (load_plugin):
	  various cleanups and memleak plugging.  make valgrind is happy now.

2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>

	* common/check.mak:
	  add a check-valgrind target

2005-09-18  David Schleef  <ds@schleef.org>

	* tools/gst-inspect.c: Revert the GOption code.

2005-09-17  David Schleef  <ds@schleef.org>

	* check/Makefile.am: Fix environment variables.
	* check/gst/gstplugin.c: Fix for API changes.
	* tools/gst-inspect.c: Fix for API changes.
	* tools/gst-xmlinspect.c: Fix for API changes.
	* gst/gstelementfactory.c:
	* gst/gstplugin.c:
	* gst/gstplugin.h:
	* gst/gstpluginfeature.c:
	* gst/gstpluginfeature.h:
	* gst/gstregistry.c:
	* gst/gstregistry.h:
	* gst/gstregistryxml.c:
	* gst/gsttypefind.c:
	* gst/gsttypefindfactory.c:
	* gst/indexers/gstfileindex.c:
	* gst/indexers/gstmemindex.c:
	* gst/schedulers/Makefile.am:
	  Change registry to keep track of both plugins and features,
	  removing the feature tracking from plugins themselves.

2005-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>

	* check/Makefile.am:
	* tools/gst-register.1.in:
	  remove gst-register

2005-09-15  David Schleef  <ds@schleef.org>

	* check/gst/gstplugin.c:
	* gst/gstelementfactory.c:
	* gst/gstplugin.c:
	* gst/gstpluginfeature.c:
	* gst/gstregistry.c:
	  Getting tired of debugging.  Disabled all the unreffing of
	  plugins and features, which fixes the segfaults, but of
	  course leaks like crazy.  At least playbin works.

2005-09-15  David Schleef  <ds@schleef.org>

	* check/gst/gstplugin.c: (register_check_elements),
	(GST_START_TEST), (peek), (suggest), (gst_plugin_suite):
	More testing
	* gst/elements/gsttypefindelement.c: Fix refcounting.
	* gst/gsttypefind.c:
	* gst/gsttypefindfactory.c:
	* gst/gsttypefindfactory.h:

2005-09-15  David Schleef  <ds@schleef.org>

	* gst/gstindex.c: get refcounting correct.
	* gst/gstregistry.c: Handle the case where a feature/plugin is
	  not found.

2005-09-15  David Schleef  <ds@schleef.org>

	* check/Makefile.am:
	* check/gst/gstplugin.c: Add test
	* gst/gstplugin.c: Fix problems noticed by testsuite
	* gst/gstplugin.h:
	* gst/gstregistry.c: 
	* gst/gstregistry.h:

2005-09-15  David Schleef  <ds@schleef.org>

	* gst/gstplugin.c: Implement semi-decent recounting and locking
	  in plugins and plugin features.
	* gst/gstplugin.h:
	* gst/gstpluginfeature.c:
	* gst/gstpluginfeature.h:
	* gst/gstregistry.c:

2005-09-15  Michael Smith <msmith@fluendo.com>

	* gst/gstregistry.c: (gst_registry_get_feature_list):
	  Implement this. Makes oggdemux work; decodebin still broken.

2005-09-14  David Schleef  <ds@schleef.org>

	* configure.ac: Add -no-undefined to GST_PLUGIN_LDFLAGS (bug
	  #316076)
	* gst/base/Makefile.am: Add -no-undefined to LDFLAGS for libs
	* gst/check/Makefile.am:
	* libs/gst/controller/Makefile.am:
	* libs/gst/dataprotocol/Makefile.am:

2005-09-14  David Schleef  <ds@schleef.org>

	* configure.ac: Remove getbits library.  Nothing uses it, and
	  it should be in something like liboil if someone did want
	  to use it.
	* libs/gst/Makefile.am:
	* libs/gst/getbits/Makefile.am:
	* libs/gst/getbits/gbtest.c:
	* libs/gst/getbits/getbits.c:
	* libs/gst/getbits/getbits.h:
	* libs/gst/getbits/gstgetbits_generic.c:
	* libs/gst/getbits/gstgetbits_i386.s:
	* libs/gst/getbits/gstgetbits_inl.h:

2005-09-14  David Schleef  <ds@schleef.org>

	* gst/Makefile.am: Dist glib-compat.h

2005-09-14  David Schleef  <ds@schleef.org>

	* configure.ac: Remove gst/registries, since it's no longer used.
	* gst/registries/Makefile.am:
	* gst/registries/gstlibxmlregistry.c:
	* gst/registries/gstlibxmlregistry.h:
	* gst/registries/gstxmlregistry.c:
	* gst/registries/gstxmlregistry.h:
	* gst/registries/registrytest.c:

2005-09-14  David Schleef  <ds@schleef.org>

	* gst/glib-compat.h:
	* gst/gstregistryxml.c:
	  Convergence is near.  Seriously.

2005-09-14  David Schleef  <ds@schleef.org>

	* gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
	* gst/glib-compat.h:
	  Attempt #4 to appease the buildbots.

2005-09-14  David Schleef  <ds@schleef.org>

	* gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
	  Attempt #3.

2005-09-14  David Schleef  <ds@schleef.org>

	* gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
	Attempt #2.

2005-09-14  David Schleef  <ds@schleef.org>

	* gst/Makefile.am: Oh yeah, libgstreamer.so needs to contain
	  the new functions.

2005-09-14  David Schleef  <ds@schleef.org>

	* gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
	* gst/glib-compat.h: Add some functions that are in newer versions
	  of glib than we care to require.
	* gst/gstregistryxml.c: Use them.

2005-09-14  David Schleef  <ds@schleef.org>

	* po/POTFILES.in: remove gst-register.c

2005-09-14  David Schleef  <ds@schleef.org>

	* docs/gst/gstreamer-docs.sgml:
	* docs/gst/gstreamer-sections.txt:
	* docs/gst/gstreamer.types:
	* docs/gst/tmpl/gstelement.sgml:
	* docs/gst/tmpl/gstplugin.sgml:
	* docs/gst/tmpl/gstpluginfeature.sgml:
	  Documentation updates for registry changes.

2005-09-14  David Schleef  <ds@schleef.org>

	* gst/gstregistryxml.c: Copy g_mkdir_with_parent() from glib,
	  because we don't require glib-2.8.

2005-09-14  David Schleef  <ds@schleef.org>

	* gst/gstregistryxml.c: Added.  Essentially moved out of the
	  registries directory.

2005-09-14  David Schleef  <ds@schleef.org>

	* check/Makefile.am:
	* check/generic/states.c:
	* gst/Makefile.am:
	* gst/gst.c:
	* gst/gst.h:
	* gst/gst_private.h:
	* gst/gstelementfactory.c:
	* gst/gstindex.c:
	* gst/gstinfo.c:
	* gst/gstplugin.c:
	* gst/gstplugin.h:
	* gst/gstpluginfeature.c:
	* gst/gstpluginfeature.h:
	* gst/gstregistry.c:
	* gst/gstregistry.h:
	* gst/gstregistrypool.c: remove
	* gst/gstregistrypool.h: remove
	* gst/gsttypefind.c:
	* gst/gsttypefindfactory.c:
	* gst/gsturi.c:
	* tools/Makefile.am:
	* tools/gst-compprep.c:
	* tools/gst-inspect.c:
	* tools/gst-register.c: remove
	* tools/gst-xmlinspect.c:
	  Registry rewrite.  Changes registry from being a file created
	  by a tool into a simple cache file created automatically by 
	  libgstreamer.  Removed gst-register (because it's no longer
	  needed).  Remove registry pools, because we only have one
	  registry implementation (XML).  Fix up other subsystems as
	  necessary.

2005-09-13  Michael Smith <msmith@fluendo.com>

	* gst/gstconfig.h.in:
	  Don't Use windows linking attributes for MinGW. Fixes #316157

2005-09-13  Thomas Vander Stichele  <thomas at apestaart dot org>

	* gst/gstutils.c: (set_state_async_thread_func),
	(gst_element_set_state_async):
	  Apparently people think it's better if this function doesn't
	  try to set the state to whatever state was asked for on the first
	  call to this function for any object.  Seriously.

2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>

	* check/gst/gstpipeline.c: (GST_START_TEST):
	* docs/gst/gstreamer-sections.txt:
	* gst/gstutils.c: (set_state_async_thread_func),
	(gst_element_set_state_async):
	* gst/gstutils.h:
	  add a "gst_element_set_state_async" method that
	  sets the state and starts a thread to make sure the state
	  change completes as best as it can

2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>

	* check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
	  codify design+behaviour in testsuite after discussion

2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>

	* docs/gst/tmpl/gstelement.sgml:
	* docs/manual/appendix-quotes.xml:
	  add a quote
	* gst/gstelement.c: (gst_element_set_state):
	  add some debug

2005-09-12  Jan Schmidt  <thaytan@mad.scientist.com>

	* gst/base/gstbasetransform.c: (gst_base_transform_class_init),
	(gst_base_transform_prepare_output_buf),
	(gst_base_transform_handle_buffer):
	* gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip),
	(gst_capsfilter_prepare_buf):
	  Remove the requirement for sub-classes to call the parent
	  implementation of prepare_output_buffer with a wrapper function.
	  
	* gst/gsttaglist.h:
	* gst/gsttagsetter.h:
	  Fix #define wrapper

2005-09-11  Stefan Kost  <ensonic@users.sf.net>

	* docs/gst/gstreamer-sections.txt:
	  more doc cleanups

2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>

	* docs/gst/gstreamer-sections.txt:
	* docs/gst/tmpl/gstelement.sgml:
	* docs/gst/tmpl/gstplugin.sgml:
	* gst/gstminiobject.c:
	* gst/gstvalue.h:
	  docs now stop throwing warnings

2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>

	* docs/gst/gstreamer-sections.txt:
	* docs/gst/gstreamer.types:
	* docs/gst/tmpl/gstpad.sgml:
	* docs/gst/tmpl/gsttypes.sgml:
	* gst/base/gstadapter.h:
	* gst/base/gstbasesink.h:
	* gst/base/gstbasesrc.h:
	* gst/gstbin.h:
	* gst/gstbuffer.h:
	* gst/gstbus.h:
	* gst/gstcaps.h:
	* gst/gstclock.h:
	* gst/gstelement.h:
	* gst/gstevent.h:
	* gst/gstmessage.h:
	* gst/gstpad.h:
	* gst/gststructure.c:
	* gst/registries/gstlibxmlregistry.h:
	  various documentation fixes

2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>

	* docs/gst/gstreamer-sections.txt:
	* docs/gst/tmpl/gstvalue.sgml:
	  rearrange gstvalue section
	* gst/gstutils.c: (gst_element_state_get_name):
	  NONE -> VOID
	* gst/gstvalue.c: (_gst_value_initialize):
	* gst/gstvalue.h:
	  doc updates

2005-09-10  Jan Schmidt  <thaytan@mad.scientist.com>

	* check/gst-libs/controller.c:
	  Header include fix.
	* gst/base/gstbasetransform.c:
	(gst_base_transform_default_prepare_buf),
	(gst_base_transform_handle_buffer):
	* gst/base/gstbasetransform.h:
	  Some more basetransform changes and fixes to enable sub-classes
	  that modify buffer metadata only.
	* gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
	(gst_capsfilter_init), (gst_capsfilter_transform_ip),
	(gst_capsfilter_prepare_buf):
	  If the output pad has fixed allowed caps and input buffers 
	  don't have any, set the fixed caps on outgoing buffers.

2005-09-09  Jan Schmidt  <thaytan@mad.scientist.com>
	* check/elements/identity.c: (GST_START_TEST):
	  Make the error a little clearer when the test fails because
	  identity made a copy of the buffer.
	* docs/gst/gstreamer-sections.txt:
	  New symbols in gstbasetransform.h
	* gst/base/gstbasetransform.c: (gst_base_transform_class_init),
	(gst_base_transform_init), (gst_base_transform_transform_size),
	(gst_base_transform_configure_caps), (gst_base_transform_setcaps),
	(gst_base_transform_default_prepare_buf),
	(gst_base_transform_get_unit_size),
	(gst_base_transform_buffer_alloc),
	(gst_base_transform_handle_buffer), (gst_base_transform_chain),
	(gst_base_transform_change_state),
	(gst_base_transform_set_passthrough),
	(gst_base_transform_set_in_place),
	(gst_base_transform_is_in_place):
	* gst/base/gstbasetransform.h:
	  Change BaseTransform to separate in_place operate from same_caps
	  output. in_place implies that the element can perform the transform
	  on incoming buffers in-place, even if the caps on the output are
	  different.
	  Sub-class elements can now implement special buffer allocation
	  methods for outgoing buffers if they wish to.
	  Big documentation addition.
	* gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip):
	* gst/elements/gstelements.c:
	  Changes for basetransform modifications.
	* gst/elements/Makefile.am:
	* gst/elements/gstfdsrc.c: (gst_fdsrc_init), (gst_fdsrc_create):
	  Compile fix. Extra debug output.

2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>

	* check/gst/gstpad.c: (GST_START_TEST), (name_is_valid),
	(gst_pad_suite):
	  add tests for valid pad naming
	* gst/check/gstcheck.c: (gst_check_log_message_func),
	(gst_check_log_critical_func):
	  add ASSERT_WARNING
	  remove printing of code, it is fragile when the code contains
	  % and the line number is enough info
	* gst/check/gstcheck.h:
	* gst/gstpad.c: (gst_pad_template_new):
	  fix memleaks

2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>

	* configure.ac:
	  say what CHECK flags we use
	* docs/libs/gstreamer-libs.types:
	* libs/gst/controller/Makefile.am:
	* libs/gst/controller/gst-controller.c:
	* libs/gst/controller/gst-controller.h:
	* libs/gst/controller/gst-helper.c:
	* libs/gst/controller/gst-interpolation.c:
	* libs/gst/controller/gstcontroller.c:
	* libs/gst/controller/gsthelper.c:
	* libs/gst/controller/gstinterpolation.c:
	* tools/gst-inspect.c: (print_plugin_info):
	  we don't use dashes in header names

2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>

	* check/Makefile.am:
	* check/gst/.cvsignore:
	* check/gst/gstpipeline.c: (pop_messages), (GST_START_TEST),
	(gst_pipeline_suite), (main):
	  adding a test for pipelines and state changes
	* gst/gstutils.c: (get_state_func):
	  add some debugging
	* gstreamer.spec.in:
	  fix up spec file

2005-09-08  Michael Smith <msmith@fluendo.com>

	* gst/elements/gstfilesrc.c: (gst_file_src_map_region),
	(gst_file_src_map_small_region), (gst_file_src_create_mmap),
	(gst_file_src_is_seekable), (gst_file_src_get_size),
	(gst_file_src_start):
	* gst/elements/gstfilesrc.h:
	  Various fixes for unseekable, unmmapable, and non-normal files, so
	  that fallback to read() rather than mmap() works.
	* gst/gstevent.c: (gst_event_new_newsegment):
	  Allow newsegment events with segment_start == segment_end, as will
	  correctly happen if you use filesrc on a zero-size file, for
	  example.

2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>

	* gst/gstplugin.c: (gst_plugin_load_file):
	  Call g_module_close when we don't load the module

	* gst/registries/gstlibxmlregistry.c:
	(gst_xml_registry_get_property):
	  Port leak fix from 0.8

2005-09-07  Stefan Kost  <ensonic@users.sf.net>

	* docs/gst/gstreamer-docs.sgml:
	* docs/gst/tmpl/.cvsignore:
	* docs/gst/tmpl/gsttrace.sgml:
	* docs/gst/tmpl/gsttrashstack.sgml:
	* gst/Makefile.am:
	* gst/gst.h:
	* gst/gstelement.h:
	* gst/gstevent.h:
	* gst/gstmessage.c:
	* gst/gstmessage.h:
	* gst/gsttag.c:
	* gst/gsttag.h:
	* gst/gsttaginterface.c:
	* gst/gsttaginterface.h:
	* gst/gsttaglist.c:
	* gst/gsttaglist.h:
	* gst/gsttagsetter.c:
	* gst/gsttagsetter.h:
	* gst/gsttrace.c:
	* gst/gsttrace.h:
	* gst/gsttrashstack.c:
	  renamed gsttag -> gsttaglist, gsttaginterface -> gsttagsetter
	  inlined docs for gsttrace, gsttrashstack

2005-09-07  Stefan Kost  <ensonic@users.sf.net>

	* gst/Makefile.am:
	* gst/elements/gstbufferstore.h:
	* gst/elements/gsttypefindelement.c:
	* gst/elements/gsttypefindelement.h:
	* gst/gst.h:
	* gst/gsttypefind.c:
	* gst/gsttypefind.h:
	* gst/gsttypefindfactory.c: (gst_type_find_factory_get_type),
	(gst_type_find_factory_class_init), (gst_type_find_factory_init),
	(gst_type_find_factory_dispose),
	(gst_type_find_factory_unload_thyself),
	(gst_type_find_load_plugin), (gst_type_find_factory_get_list),
	(gst_type_find_factory_get_caps),
	(gst_type_find_factory_get_extensions),
	(gst_type_find_factory_call_function):
	* gst/gsttypefindfactory.h:
	* gst/registries/gstlibxmlregistry.c:
	* gst/registries/gstxmlregistry.c:
	  splitted gsttypefind into gsttypefind, gsttypefindfactory

2005-09-07  Andy Wingo  <wingo@pobox.com>

	* gst/base/gstbasesink.c (gst_base_sink_activate_pull): Fix a race
	condition whereby the pad's task function is entered before the
	pad_mode variable was set.

2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>

	* gst/gstpad.c: (gst_pad_alloc_buffer):
	  Catch misbehaving pad_alloc functions that don't
	  set up caps and do it for them.

2005-09-07  Stefan Kost  <ensonic@users.sf.net>

	* check/pipelines/simple_launch_lines.c: (run_pipeline):
	  test for pipe!=NULL
	* docs/gst/tmpl/.cvsignore:
	* docs/gst/tmpl/gstmemchunk.sgml:
	* docs/gst/tmpl/gstparse.sgml:
	* docs/gst/tmpl/gsttaglist.sgml:
	* docs/gst/tmpl/gsttagsetter.sgml:
	* docs/gst/tmpl/gsttypefind.sgml:
	* docs/gst/tmpl/gsttypefindfactory.sgml:
	* gst/gstmemchunk.c:
	* gst/gstparse.c:
	* gst/gsttag.c:
	* gst/gsttaginterface.c:
	* gst/gsttypefind.c:
	* gst/gsttypefind.h:
	  inlined more docs

=== release 0.9.2 ===

2005-09-06  Thomas Vander Stichele  <thomas at apestaart dot org>

	* NEWS:
	* RELEASE:
	* configure.ac:
	  releasing 0.9.2, "South"

2005-09-05  Andy Wingo  <wingo@pobox.com>

	* gst/registries/gstxmlregistry.h:
	* gst/registries/gstxmlregistry.c: Um... resurrect...
	
	* gst/registries/gstxmlregistry.h:
	* gst/registries/gstxmlregistry.c: and update to newer API.
	Incidentally they should be a bit faster now that they don't have
	to parse the caps.
	
2005-09-05  Andy Wingo  <wingo@pobox.com>

	* gst/registries/gstxmlregistry.h:
	* gst/registries/gstxmlregistry.c: Remove from CVS, they were
	replaced by the libxml registry a while back

2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>

	* docs/gst/tmpl/gstplugin.sgml:
	* gst/elements/gstelements.c:
	* gst/gst.c:
	* gst/gstplugin.c: (gst_plugin_register_func),
	(gst_plugin_desc_copy), (gst_plugin_desc_free),
	(gst_plugin_get_source):
	* gst/gstplugin.h:
	* gst/registries/gstlibxmlregistry.c: (load_plugin),
	(gst_xml_registry_save_plugin):
	* gst/registries/gstxmlregistry.c: (gst_xml_registry_parse_plugin),
	(gst_xml_registry_save_plugin):
	* tools/gst-inspect.c: (print_plugin_info):
	  add a "source" plugin description field, to represent the source
	  module this plugin is a part of.  By default GST_PLUGIN_DEFINE
	  will set it to PACKAGE, which is automake's idea of the name of
	  the source project.

2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>

	* Makefile.am:
	* autogen.sh:
	* configure.ac:
	* docs/Makefile.am:
	* docs/faq/Makefile.am:
	* docs/gst/tmpl/gstelement.sgml:
	* docs/gst/tmpl/gsttypes.sgml:
	* docs/htmlinstall.mak:
	* docs/manual/Makefile.am:
	* docs/pwg/Makefile.am:
	  reorganize doc build a little
	  split out docbook and gtk-doc stuff
	  have two separate --enable's and enable them through autogen
	  but disable by default in configure (to be similar to other
	  projects)
	* gstreamer.spec.in:
	  clean up docs install
	* po/af.po:
	* po/az.po:
	* po/ca.po:
	* po/cs.po:
	* po/de.po:
	* po/en_GB.po:
	* po/fr.po:
	* po/it.po:
	* po/nb.po:
	* po/nl.po:
	* po/ru.po:
	* po/sq.po:
	* po/sr.po:
	* po/sv.po:
	* po/tr.po:
	* po/uk.po:
	* po/vi.po:
	  translation updates

2005-09-03  Tim-Philipp Müller  <tim at centricular dot net>

	* gst/base/gstbasesink.c: (gst_base_sink_pad_buffer_alloc):
	  Add comment.
	  
	* gst/elements/gstfakesink.c: (gst_fake_sink_init),
	(gst_fake_sink_change_state):
	  Make state change function thread-safe.
	  
	* gst/gstpad.c: (gst_pad_alloc_buffer):
	  Set offset on generic buffer allocated by fallback.

2005-09-03  Stefan Kost  <ensonic@users.sf.net>

	* docs/gst/gstreamer-sections.txt:
	* docs/gst/tmpl/gstelement.sgml:
	* gst/gstpad.c:
	* libs/gst/controller/gst-controller.c:
	(gst_controlled_property_set_interpolation_mode),
	(gst_controlled_property_new),
	(gst_controller_find_controlled_property):
	 run the wingo-magic script against the docs

2005-09-02  Stefan Kost  <ensonic@users.sf.net>

	* docs/gst/gstreamer-docs.sgml:
	* docs/gst/gstreamer-sections.txt:
	* docs/gst/tmpl/.cvsignore:
	* docs/gst/tmpl/gstelementdetails.sgml:
	* docs/gst/tmpl/gstelementfactory.sgml:
	* gst/gst.c:
	* gst/gstbus.c:
	* gst/gstelementfactory.c:
	* gst/gstelementfactory.h:
	  merged elementdetails docs into elementfactory docs
	  inlined both

2005-09-02  Andy Wingo  <wingo@pobox.com>

	* gst/gstelement.h: Add magical pixie dust to make glib-mkenums
	consider this enum an enum and not a flags.

2005-09-02  Stefan Kost  <ensonic@users.sf.net>

	* docs/gst/gstreamer-docs.sgml:
	* docs/gst/tmpl/.cvsignore:
	* docs/gst/tmpl/gstghostpad.sgml:
	* docs/gst/tmpl/gstiterator.sgml:
	* docs/gst/tmpl/gstmacros.sgml:
	* docs/gst/tmpl/gstrealpad.sgml:
	* docs/gst/tmpl/gstregistry.sgml:
	* docs/gst/tmpl/gstregistrypool.sgml:
	* docs/gst/tmpl/gststructure.sgml:
	* docs/gst/tmpl/gstsystemclock.sgml:
	* docs/gst/tmpl/gsttrace.sgml:
	* gst/gstghostpad.c:
	* gst/gstmacros.h:
	* gst/gstmemchunk.c:
	* gst/gstmemchunk.h:
	* gst/gstqueue.c:
	* gst/gstregistry.c:
	* gst/gstregistrypool.c:
	* gst/gststructure.c:
	* gst/gstsystemclock.c:
	  more docs inlined

2005-09-02  Andy Wingo  <wingo@pobox.com>

	* gst/gstelement.h (GstState): Renamed from GstElementState,
	changed to be a normal enum instead of flags.
	(GstStateChangeReturn): Renamed from GstElementStateReturn, names
	munged to be GST_STATE_CHANGE_*.
	(GST_STATE_CHANGE): Renamed from GST_STATE_TRANSITION, updated to
	work with the new state representation.
	(GstStateChange): New enumeration of possible state transitions.
	Replaces GST_STATE_FOO_TO_BAR with GST_STATE_CHANGE_FOO_TO_BAR.
	(GstElementClass::change_state): Pass the GstStateChange along as
	an argument. Helps language bindings, so they don't have to use
	tricky lock-needing macros like GST_STATE_CHANGE ().

	* scripts/update-states (file): New script. Run it on a file to
	update it for state naming and API changes. Updates files in
	place.

	* All files updated for the new API.

2005-09-02  Thomas Vander Stichele  <thomas at apestaart dot org>

	* gst/gsttrace.c: (gst_trace_flush), (gst_trace_text_flush):
	* gst/gstutils.c: (gst_util_set_value_from_string),
	(gst_util_set_object_arg):
	  fix a bunch of unchecked return values
	* tools/gst-complete.c: (main):
	* gstreamer.spec.in:
	  clean up a little

2005-09-01  Wim Taymans  <wim@fluendo.com>

	* gst/base/gstbasesink.c: (gst_base_sink_handle_object),
	(gst_base_sink_event), (gst_base_sink_do_sync),
	(gst_base_sink_handle_event):
	* gst/base/gstbasesink.h:
	Handle newsegments more correctly.

	* gst/gstbus.c:
	Fix docs.

	* gst/gstevent.c: (gst_event_new_newsegment):
	A newsegment cannot have a start_time of -1

2005-09-01  Tim-Philipp Müller  <tim at centricular dot net>

	* win32/gstenumtypes.c:
	* win32/gstenumtypes.h:
	  Update

2005-08-31  Stefan Kost  <ensonic@users.sf.net>

	* libs/gst/controller/gst-controller.c:
	(gst_controlled_property_set_interpolation_mode),
	(gst_controlled_property_new):
	 fixed boolean again

2005-08-31  Thomas Vander Stichele  <thomas at apestaart dot org>

	* docs/faq/gst-uninstalled:
	  add -good
	* gst/gstevent.c:
	* gst/gstevent.h:
	  remove wrong docs
	* gst/gstutils.c: (gst_element_link_filtered):
	* gst/gstutils.h:
	  add gst_element_link_filtered

2005-08-31  Stefan Kost  <ensonic@users.sf.net>

	* docs/gst/gstreamer-docs.sgml:
	* docs/gst/gstreamer-sections.txt:
	* docs/gst/tmpl/.cvsignore:
	* docs/gst/tmpl/gsterror.sgml:
	* docs/gst/tmpl/gstfilter.sgml:
	* docs/gst/tmpl/gsturihandler.sgml:
	* docs/gst/tmpl/gsturitype.sgml:
	* docs/gst/tmpl/gstutils.sgml:
	* docs/gst/tmpl/gstxml.sgml:
	* gst/gsterror.c:
	* gst/gsterror.h:
	* gst/gstfilter.c:
	* gst/gsturi.c:
	* gst/gsturitype.c:
	* gst/gstutils.c:
	* gst/gstxml.c:
	  inlined more docs, fixed double id-ref

2005-08-31  Wim Taymans  <wim@fluendo.com>

	* gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
	(gst_base_transform_handle_buffer):
	Passthrough elements don't need the caps as they don't care.

2005-08-31  Wim Taymans  <wim@fluendo.com>

	* gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
	(gst_base_transform_handle_buffer), (gst_base_transform_chain):
	Don't leak refcounts on buffers.

2005-08-31  Wim Taymans  <wim@fluendo.com>

	* gst/base/gstbasetransform.c: (gst_base_transform_configure_caps),
	(gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
	(gst_base_transform_chain), (gst_base_transform_change_state):
	* gst/base/gstbasetransform.h:
	Handle the case where we are not negotiated more gracefully.

2005-08-31  Tim-Philipp Müller  <tim at centricular dot net>

	* gst/elements/gstfilesrc.c: (gst_mmap_buffer_init),
	(gst_file_src_map_region):
	  Set READONLY flag on mmap'ed buffers, otherwise
	  gst_buffer_make_writable() won't work properly (#314708).

2005-08-31  Wim Taymans  <wim@fluendo.com>

	* gst/base/gstbasetransform.c: (gst_base_transform_handle_buffer):
	passthrough elements can even do inplace on non writable
	buffers (as they don't touch them).

2005-08-31  Stefan Kost  <ensonic@users.sf.net>

	* check/gst-libs/controller.c: (gst_test_mono_source_get_property),
	(gst_test_mono_source_set_property),
	(gst_test_mono_source_class_init), (GST_START_TEST),
	(gst_controller_suite):
	  more tests (hehe I have the most)
	* gst/gstbus.c:
	  describe popping messages whenusing mulltiple sources
	* libs/gst/controller/gst-controller.c:
	(gst_controlled_property_set_interpolation_mode),
	(gst_controlled_property_new):
	* libs/gst/controller/gst-controller.h:
	* libs/gst/controller/gst-interpolation.c:
	  implement boolean properties

2005-08-31  Wim Taymans  <wim@fluendo.com>

	* gst/gstminiobject.c: (gst_mini_object_ref):
	Cannot assert that the refcount has to be positive
	since a disposed object can be resurrected.

2005-08-31  Wim Taymans  <wim@fluendo.com>

	* gst/gstpad.c: (gst_pad_init):
	Revert change, need to first fix badly behaving 
	apps.

2005-08-30  Wim Taymans  <wim@fluendo.com>

	* check/elements/fakesrc.c: (setup_fakesrc):
	* check/elements/identity.c: (setup_identity):
	Activate pads before using them.

2005-08-30  Wim Taymans  <wim@fluendo.com>

	* gst/base/gstadapter.c: (gst_adapter_flush):
	Flushing out 0 bytes is ok for this function.

	* gst/base/gstbasesink.c: (gst_base_sink_handle_object):
	no newsegment gives a warning and sets the start/stop to 
	invalid.

	* gst/base/gstbasetransform.c: (gst_base_transform_change_state),
	(gst_base_transform_set_passthrough):
	Some debug info.

	* gst/gstminiobject.c: (gst_mini_object_ref):
	Check refcount here too.

	* gst/gstpad.c: (gst_pad_init):
	Pads are initially flushing and refusing data.

	* gst/gstutils.c: (gst_element_link_pads_filtered):
	When adding a capsfilter element make sure it has the
	same state as the parent bin.

2005-08-30  Stefan Kost  <ensonic@users.sf.net>

	* docs/gst/tmpl/.cvsignore:
	* docs/gst/tmpl/gstformat.sgml:
	* docs/gst/tmpl/gstversion.sgml:
	* gst/gstbus.h:
	* gst/gstformat.c:
	* gst/gstformat.h:
	* gst/gstversion.h.in:
	  more docs and two more inlined

2005-08-30  Wim Taymans  <wim@fluendo.com>

	* gst/elements/gstfilesink.c: (gst_file_sink_class_init):
	Don't sync to clock.

2005-08-30  Stefan Kost  <ensonic@users.sf.net>

	* docs/gst/gstreamer-sections.txt:
	  ultral33t func10ns deserve to appear in the docs actually
	* docs/gst/tmpl/.cvsignore:
	* docs/gst/tmpl/gstcompat.sgml:
	* docs/gst/tmpl/gstconfig.sgml:
	* gst/check/gstcheck.c:
	* gst/gstcompat.h:
	* gst/gstconfig.h.in:
	  inlined more docs

2005-08-30  Stefan Kost  <ensonic@users.sf.net>

	* docs/gst/tmpl/.cvsignore:
	* docs/gst/tmpl/gstquery.sgml:
	* docs/gst/tmpl/gstutils.sgml:
	* gst/gstquery.c:
	* gst/gstquery.h:
	  inlined and extended docs

2005-08-30  Stefan Kost  <ensonic@users.sf.net>

	* check/gst-libs/controller.c: (GST_START_TEST),
	(gst_controller_suite):
	  more tests
	* docs/gst/tmpl/gstutils.sgml:
	* docs/libs/gstreamer-libs-sections.txt:
	* docs/libs/tmpl/gstdataprotocol.sgml:
	  include path fixes
	* examples/controller/audio-example.c: (main):
	  controller example works now
	* gst/gstclock.h:
	  doc fixes
	* tools/gst-inspect.c: (print_element_properties_info):
	  show param spec flags

2005-08-29  Andy Wingo  <wingo@pobox.com>

	* gst/gstutils.c (gst_util_uint64_scale): New 3733t funct10n.

2005-08-28  Andy Wingo  <wingo@pobox.com>

	* gst/gstutils.h (GST_BOILERPLATE_FULL): Prototype instance_init
	as having two arguments instead of just one. Allows superclasses
	to access information on subclasses -- see the terrible for() loop
	in gtype.c:g_type_create_instance for the reason why. All callers
	changed.

2005-08-27  Stefan Kost  <ensonic@users.sf.net>

	* docs/design/part-messages.txt:
	  update info
	* docs/gst/tmpl/.cvsignore:
	* docs/gst/tmpl/gstcaps.sgml:
	* docs/gst/tmpl/gstclock.sgml:
	* gst/gstbus.c:
	* gst/gstcaps.c:
	* gst/gstcaps.h:
	* gst/gstclock.c:
	* gst/gstclock.h:
	* gst/gstmessage.c:
	  added descriptions for bus and message
	  inline caps and clock docs

2005-08-27  Stefan Kost  <ensonic@users.sf.net>

	* gst/gstmessage.c:
	* gst/gstmessage.h:
	  doc fixes

2005-08-27  Stefan Kost  <ensonic@users.sf.net>

	* gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
	  fix div-by-zero

2005-08-26  Andy Wingo  <wingo@pobox.com>

	* check/pipelines/simple_launch_lines.c (run_pipeline): Check
	element_set_state's return val.
	(test_2_elements): Add test that's been disabled for months.

	* gst/elements/gstfakesink.c: Cleanups. Add can-activate-push and
	can-activate-pull properties.

	* gst/elements/gstfakesrc.c: Cleanups. Add can-activate-push and
	can-activate-pull properties. Implement is_seekable so fakesrc can
	operate in pull mode.

	* gst/base/gstbasesink.c (GstBaseSink): Remove has-loop, has-chain
	properties.
	(gst_base_sink_activate, gst_base_sink_activate_pull)
	(gst_base_sink_activate_push): Make activation mode choosing work.
	Cleanups.
	(gst_base_sink_chain, gst_base_sink_loop): Assert activation mode
	is right. Make pull mode work. Post an eos before pausing in pull
	mode.
	(gst_base_sink_change_state): Pay attention to the core's
	change_state() return val.
	
	* gst/base/gstbasesrc.c (GstBaseSrc): Remove has-loop,
	has-getrange properties. Cleanups.
	
	* gst/base/gstbasesrc.h (GstBaseSrc): Remove has_loop,
	has_getrange and replace with can_activate_pull and
	can_activate_push.

	* gst/base/gstbasesink.h (GstBaseSink): Rearrange fields, add
	locking comments. Remove has_loop, has_chain and replace with
	can_activate_pull and can_activate_push.

2005-08-26  Jan Schmidt  <thaytan@mad.scientist.com>

	* configure.ac:
	* examples/Makefile.am:
	* examples/metadata/Makefile.am:
	* examples/metadata/read-metadata.c: (message_loop),
	(have_pad_handler), (make_pipeline), (print_tag), (main):
	  Add metadata reading example that loops over a list of filenames,
	  dumping any tags found.

	* gst/gstbus.c: (gst_bus_dispose):
	* gst/gstelement.c: (gst_element_dispose):
	  Release a few potentially-held references in dispose.

2005-08-26  Stefan Kost  <ensonic@users.sf.net>

	* docs/gst/tmpl/gstminiobject.sgml:
	  do *not* add tmpl/*.sgml files to CVS!

2005-08-26  Stefan Kost  <ensonic@users.sf.net>

	* libs/gst/bytestream/.cvsignore:
	* libs/gst/bytestream/Makefile.am:
	* libs/gst/bytestream/adapter.c:
	* libs/gst/bytestream/adapter.h:
	* libs/gst/bytestream/bytestream.c:
	* libs/gst/bytestream/bytestream.h:
	* libs/gst/bytestream/filepad.c:
	* libs/gst/bytestream/filepad.h:
	  removing obsolete files

2005-08-26  Stefan Kost  <ensonic@users.sf.net>

	* docs/gst/gstreamer-docs.sgml:
	* docs/libs/gstreamer-libs-docs.sgml:
	  disabed additional index entries again, as this makes docs-gen just
	  slow and they aren't useful yet
	* docs/libs/gstreamer-libs-sections.txt:
	  little -section.txt cleanup for libs

2005-08-26  Thomas Vander Stichele  <thomas at apestaart dot org>

	* gst/base/gstbasesink.c: (gst_base_sink_handle_object):
	* gst/base/gstbasetransform.c: (gst_base_transform_transform_size),
	  fix up some debugging
	(gst_base_transform_get_unit_size),
	(gst_base_transform_buffer_alloc), (gst_base_transform_event),
	(gst_base_transform_handle_buffer):
	* gst/base/gstbasetransform.h:
	  handle and store timed NEWSEGMENT events so that subclasses that
	  calculate time by counting samples have a segment_start time they
	  need to add to their timestamps - see audioresample

2005-08-26  Stefan Kost  <ensonic@users.sf.net>

	* gst/gstbin.h:
	  removed ';' from the end of macro defs
	* docs/gst/gstreamer-docs.sgml:
	* docs/gst/gstreamer-sections.txt:
	* docs/gst/tmpl/.cvsignore:
	* gst/gstbus.h:
	* gst/gstelement.c: (gst_element_class_init),
	(gst_element_set_state), (activate_pads),
	(gst_element_save_thyself):
	* gst/gstevent.c: (gst_event_new_newsegment):
	* gst/gstevent.h:
	* gst/gstiterator.c:
	* gst/gstiterator.h:
	* gst/gstpad.c:
	* gst/gstprobe.h:
	* gst/gstutils.c: (gst_pad_query_convert):
	* gst/gstutils.h:
	  fixed parameter name mismatches between source, header and docs
	  added some more docs, resolved the last batch of unused elements in
	  docs (now someone needs to doc them)

2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>

	* gst/registries/gstlibxmlregistry.c: (gst_xml_registry_rebuild):
	* gst/registries/gstxmlregistry.c: (gst_xml_registry_rebuild):
	  don't walk through the plugins backwards.  Where is all this
	  reversed logic coming from ?

2005-08-25  Wim Taymans  <wim@fluendo.com>

	* gst/base/gstbasetransform.c: (gst_base_transform_init),
	(gst_base_transform_transform_size),
	(gst_base_transform_configure_caps),
	(gst_base_transform_get_unit_size),
	(gst_base_transform_buffer_alloc),
	(gst_base_transform_change_state):
	* gst/base/gstbasetransform.h:
	Cache caps unit_size.
	Make sure we cannot negotiate up and downstream at the
	same time.

2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>

	* gst/gst.c: (init_pre), (init_post):
	  register the installed plugin path after the env var
	* gst/registries/gstlibxmlregistry.c: (gst_xml_registry_save):
	* gst/registries/gstxmlregistry.c: (gst_xml_registry_save):
	  don't reverse order of paths; conserve the order of GST_PLUGIN_PATH
	  directories, so the tests can prefer uninstalled over installed

2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>

	* gst/base/gstbasetransform.h:
	  comment
	* gst/gstpad.c:
	  add to docs

2005-08-25  Wim Taymans  <wim@fluendo.com>

	* gst/gstbin.c: (bin_bus_handler):
	Be a bit more conservative about the posted message.
	
	* gst/gstbus.c: (gst_bus_post):
	Some cleanups, warn wrong return values.

2005-08-25  Jan Schmidt  <thaytan@mad.scientist.com>

	* check/gst/gstbin.c: (GST_START_TEST):
	* gst/gstbin.c: (bin_bus_handler):
	* gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
	(gst_message_new), (gst_message_new_eos), (gst_message_new_error),
	(gst_message_new_warning), (gst_message_new_tag),
	(gst_message_new_state_changed), (gst_message_new_segment_start),
	(gst_message_new_segment_done), (gst_message_new_custom):
	* gst/gstmessage.h:
	* tools/gst-launch.c: (event_loop):
	* tools/gst-md5sum.c: (event_loop):
	  Revert unpopular change for GST_MESSAGE_SRC to GObject.

2005-08-25  Wim Taymans  <wim@fluendo.com>

	* check/generic/states.c: (GST_START_TEST):
	Cleanup can be done at the end.

	* gst/gsttask.c: (gst_task_get_type), (gst_task_finalize),
	(gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
	(gst_task_get_state), (gst_task_start), (gst_task_pause):
	Oh boy.. Thanks for finding this, Thomas. 

2005-08-25  Stefan Kost  <ensonic@users.sf.net>

	* docs/gst/gstreamer.types:
	  added missing types

2005-08-25  Stefan Kost  <ensonic@users.sf.net>

	* docs/gst/gstreamer-docs.sgml:
	* docs/gst/gstreamer-sections.txt:
	* docs/gst/tmpl/.cvsignore:
	* gst/gstbin.c:
	* gst/gstiterator.c:
	* gst/gstutils.c:
	* gst/registries/gstxmlregistry.h:
	  added missing classes and symbols (123 more to go)
	  removed removed symbols from section file
	  fixed many doc-comments

2005-08-24  Wim Taymans  <wim@fluendo.com>

	* check/generic/states.c: (GST_START_TEST):
	Make sure all tasks are stopped.

	* check/gst/gstbin.c: (GST_START_TEST):
	Unref after usage for proper valgrinding.

	* gst/gstpad.c: (gst_pad_finalize), (gst_pad_stop_task):
	Really wait for the task to stop before destroying the
	mutex.

	* gst/gstqueue.c: (gst_queue_sink_activate_push),
	(gst_queue_src_activate_push):
	Small cleanups. Don't stop the task when we did not start
	it.

	* gst/gsttask.c: (gst_task_get_type), (gst_task_init),
	(gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
	(gst_task_get_state), (gst_task_start), (gst_task_pause),
	(gst_task_join):
	* gst/gsttask.h:
	Protect the stream lock with the object lock.
	Disallow setting the stream lock when running.
	Add cleanup_all to wait for the threadpool to finish.
	Remove code to autoallocate a mutex if none was provided.
	Add _join() to wait for a task to stop.
	Protect the thread pool with a global lock.

2005-08-24  Wim Taymans  <wim@fluendo.com>

	* gst/base/gstbasesink.c: (gst_base_sink_handle_object),
	(gst_base_sink_get_times), (gst_base_sink_do_sync),
	(gst_base_sink_handle_buffer), (gst_base_sink_change_state):
	* gst/base/gstbasesink.h:
	Handle newsegment events correctly.
	Drop buffers out of the segment range.

2005-08-22  Andy Wingo  <wingo@pobox.com>

	* gst/gstutils.h (GST_BOILERPLATE_WITH_INTERFACE): New ghetto
	macro, implements an interface and gstimplementsinterface for a
	new type.

2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>

	* check/Makefile.am:
	* check/generic/states.c: (GST_START_TEST), (states_suite), (main):
	  add a test that does a bunch of state changes on elements
	  needs some fixing for valgrind
	* check/states/sinks.c: (gst_object_suite):
	  whitespace
	* gst/gstcaps.h:
	  add prototype for gst_caps_is_equal_fixed
	* gst/gstplugin.c:
	* gst/gstregistrypool.c:
	  doc fixes

2005-08-24  Andy Wingo  <wingo@pobox.com>

	* gst/gstquery.c (gst_query_new_convert): Spew if we try to
	convert a negative value. Doesn't make much sense. Mostly this is
	here to force callers to ensure -1 maps to -1.

2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>

	* docs/pwg/advanced-types.xml:
	  Well done to Michael for catching my deliberate introduction
	  of this spelling mistake. 
	* gst/gstbin.c: (gst_bin_remove_func), (bin_bus_handler):
	* gst/gstelement.h:
	  Add GST_ELEMENT_UNPARENTING to prevent races so that we can
	  unlink pads before removing the element from the bin.

2005-08-24  Andy Wingo  <wingo@pobox.com>

	* gst/gst.c (parse_debug_list): Accept e.g. GST_DEBUG=4 to mean
	the same thing as GST_DEBUG=*:4.
	(parse_debug_level, parse_debug_category): New helper parsers.

2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>

	* gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
	(gst_base_transform_transform_size), (gst_base_transform_getcaps),
	(gst_base_transform_setcaps), (gst_base_transform_get_unit_size),
	(gst_base_transform_buffer_alloc),
	(gst_base_transform_handle_buffer):
	  use gboolean return values and pointers to size so we can use the
	  full GST_BUFFER_SIZE range (guint) for buffer sizes
	  use GstPadDirection for transform_caps
	* gst/base/gstbasetransform.h:
	  rename get_size to get_unit_size since that's what it is
	* gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_caps):
	  use GstPadDirection for transform_caps
	* gst/gstbuffer.c: (gst_buffer_new_and_alloc):
	* gst/gstutils.h:
	  cleanup and debugging

2005-08-24  Stefan Kost  <ensonic@users.sf.net>

	* gst/gstelement.c: (gst_element_class_init),
	(gst_element_set_state), (activate_pads),
	(gst_element_save_thyself):
	* tools/gst-compprep.c: (main):
	* tools/gst-inspect.c: (print_element_properties_info):
	* tools/gst-xmlinspect.c: (print_element_properties):
	  Fixed long standing mem-leak

2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>

	* check/gst/gstbin.c: (GST_START_TEST):
	* gst/gstbin.c: (bin_bus_handler):
	* gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
	(gst_message_new), (gst_message_new_eos), (gst_message_new_error),
	(gst_message_new_warning), (gst_message_new_tag),
	(gst_message_new_state_changed), (gst_message_new_segment_start),
	(gst_message_new_segment_done), (gst_message_new_custom):
	* gst/gstmessage.h:
	* tools/gst-launch.c: (event_loop):
	* tools/gst-md5sum.c: (event_loop):
	  Change GST_MESSAGE_SRC to be a GObject rather than a GstObject, so
	  that applications can sensibly post custom messages with references
	  to their own objects.

2005-08-24  Andy Wingo  <wingo@pobox.com>

	* gst/gstpad.c (gst_pad_fixate_caps): Check if the caps is fixed
	already.

2005-08-24  Wim Taymans  <wim@fluendo.com>

	* gst/base/gstbasetransform.c: (gst_base_transform_init),
	(gst_base_transform_transform_caps),
	(gst_base_transform_transform_size),
	(gst_base_transform_configure_caps), (gst_base_transform_setcaps),
	(gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
	(gst_base_transform_handle_buffer):
	* gst/base/gstbasetransform.h:
	Many fixes and new features added by Thomas. Can now also do
	transforms with variable sizes and a custom fixate_caps function.

2005-08-24  Wim Taymans  <wim@fluendo.com>

	* gst/gstbuffer.c: (gst_buffer_new_and_alloc):
	Some debugging.

	* gst/gstclock.h:
	Cast to ClockTime before formatting to time.

	* gst/gstutils.h:
	Cleanups.

2005-08-24  Stefan Kost  <ensonic@users.sf.net>

	* check/gst-libs/controller.c: (GST_START_TEST),
	(gst_controller_suite):
	* docs/gst/tmpl/gstcaps.sgml:
	* docs/gst/tmpl/gstghostpad.sgml:
	* docs/gst/tmpl/gstquery.sgml:
	* docs/gst/tmpl/gstutils.sgml:
	* libs/gst/controller/gst-helper.c: (gst_object_set_controller),
	(gst_object_sink_values), (gst_object_get_value_arrays),
	(gst_object_get_value_array):
	  gracefully handle helper method calls to objects that are not beeing
	  controlled, added test case for that          

2005-08-23  Wim Taymans  <wim@fluendo.com>

	* gst/gstevent.c: (_gst_event_copy), (gst_event_new_custom),
	(gst_event_new_newsegment), (gst_event_parse_newsegment),
	(gst_event_new_tag), (gst_event_parse_tag), (gst_event_new_qos),
	(gst_event_parse_qos), (gst_event_new_seek),
	(gst_event_parse_seek):
	* gst/gstevent.h:
	Some more debugging output and doc cleanups.

	* gst/gstqueue.c: (gst_queue_handle_sink_event):
	Fix possible deadlock.

2005-08-23  Stefan Kost  <ensonic@users.sf.net>

	* docs/gst/gstreamer-docs.sgml:
	* docs/gst/gstreamer-sections.txt:
	* docs/gst/gstreamer.types:
	* docs/gst/tmpl/.cvsignore:
	* gst/gstbin.h:
	* gst/gstbus.c:
	* gst/gstelement.c:
	* gst/gstevent.h:
	  added 100 symbols from gstreamer-unused.txt to the right sections
	  fixed more broken comments
	  added GstBus to docs

2005-08-23  Stefan Kost  <ensonic@users.sf.net>

	* docs/gst/gstreamer-sections.txt:
	* docs/gst/tmpl/.cvsignore:
	* docs/gst/tmpl/gstbin.sgml:
	* docs/gst/tmpl/gstbuffer.sgml:
	* gst/base/gstbasesrc.c:
	* gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
	* gst/gstbuffer.c:
	* gst/gstbuffer.h:
	* tools/gst-launch.1.in:
	  inlined more doc comments, added missing comments and fixed comments
	  fixed typos

2005-08-23  Thomas Vander Stichele  <thomas at apestaart dot org>

	* gst/gstbuffer.c: (gst_buffer_new_and_alloc):
	  some debugging
	* gst/gstcaps.h:
	  whitespace fixes
	* gst/gstpad.c: (gst_pad_activate_push), (gst_pad_alloc_buffer):
	  more debugging
	* gst/gststructure.c: (gst_caps_structure_fixate_field_boolean):
	* gst/gststructure.h:
	  add a fixate function for booleans; add a FIXME that these func
	  names should probably be gst_structure_fixate_*

2005-08-23  Stefan Kost  <ensonic@users.sf.net>

	* docs/gst/gstreamer-docs.sgml:
	* docs/gst/gstreamer-sections.txt:
	* gst/Makefile.am:
	* gst/gstbin.c: (gst_bin_get_type),
	(gst_bin_child_proxy_get_child_by_index),
	(gst_bin_child_proxy_get_children_count),
	(gst_bin_child_proxy_init):
	* gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
	(gst_child_proxy_get_child_by_index),
	(gst_child_proxy_get_children_count), (gst_child_proxy_lookup),
	(gst_child_proxy_get_property), (gst_child_proxy_get_valist),
	(gst_child_proxy_get), (gst_child_proxy_set_property),
	(gst_child_proxy_set_valist), (gst_child_proxy_set),
	(gst_child_proxy_child_added), (gst_child_proxy_child_removed),
	(gst_child_proxy_base_init), (gst_child_proxy_get_type):
	* gst/gstchildproxy.h:
	* gst/parse/grammar.y:
	* tools/gst-inspect.c: (print_interfaces),
	(print_element_properties_info), (print_element_info):
	  ported gstchildproxy over from 0.8
	  ported gst-inspect fixes and enhancements over from 0.8

2005-08-22  Wim Taymans  <wim@fluendo.com>

	* gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
	(gst_base_transform_handle_buffer):
	Also call the transform function if we have ANY caps.

	* gst/gstpipeline.c: (gst_pipeline_set_new_stream_time):
	Fix debug info.

2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>

	* gst/base/gstbasesrc.c: (gst_base_src_event_handler)
	  Don't pretend to handle seek events if the source is not seekable

2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>

	* gst/base/gstbasesink.c: (gst_base_sink_handle_object):
	  Remove extra parameter to debug output

	* gst/base/gstbasesrc.c: (gst_base_src_send_discont),
	(gst_base_src_do_seek), (gst_base_src_activate_push):
	  Fix seek event handling.

	* gst/gstpipeline.c: (gst_pipeline_change_state):
	* gst/gstqueue.c: (gst_queue_handle_sink_event),
	(gst_queue_src_activate_push):
	  Don't start the src pad task on FLUSH_STOP if the pad
	  isn't linked.
	  Debug changes.

2005-08-22  Wim Taymans  <wim@fluendo.com>

	* check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
	Added check for gst_static_caps_get() refcounting.

2005-08-22  Wim Taymans  <wim@fluendo.com>

	* gst/gstcaps.c: (gst_static_caps_get), (gst_caps_to_string):
	Make _static_caps_get() refcounting sane.
	
	* gst/gstelement.c: (gst_element_set_state):
	Add g_return_val_if_fail() to protect against segfaults.

2005-08-22  Stefan Kost  <ensonic@users.sf.net>

	* docs/gst/tmpl/gstevent.sgml:
	* gst/gstevent.c:
	* gst/gstevent.h:
	  inlined remaining docs, added missing doc comments

2005-08-22  Thomas Vander Stichele  <thomas at apestaart dot org>

	* check/gst/gstbin.c: (GST_START_TEST):
	  since we don't know when preroll is done, use refcount range
	  check for the sink
	* gst/check/gstcheck.h:
	  add macro for checking refcount range

2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>

	* check/Makefile.am:
	  clean up environment for when registry gets built versus
	  when actual tests are run; valgrind seems to not report
	  leaks if GST_PLUGIN_PATH is set to some specific values
	* check/gst/gstbin.c: (GST_START_TEST):
	  add more refcounting checks; maybe this exposes a
	  preroll lock bug ?
	* common/check.mak:
	* gst/base/gstbasesink.c: (gst_base_sink_handle_object):
	* gst/check/gstcheck.h:
	* gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_get_state),
	(gst_bin_change_state):
	* gst/gstpad.c: (gst_pad_activate_push), (gst_pad_chain):
	  add/fix debugging/whitespace

2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>

	* check/gst/gstevent.c: (event_probe), (test_event),
	(GST_START_TEST):
	 Er, don't call gst_bin_watch_for_state_change you idiot.

2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>

	* check/Makefile.am:
	  Use CHECK_CFLAGS and CHECK_LIBS
	* check/gst/gstevent.c: (event_probe), (test_event),
	(GST_START_TEST):
	  Don't leak events.
	* gst/base/gstbasesrc.c: (gst_base_src_send_discont),
	(gst_base_src_start), (gst_base_src_stop),
	(gst_base_src_activate_push), (gst_base_src_activate_pull),
	(gst_base_src_change_state):
	  Sprinkle gst_base_src_stop liberally around error paths to fix
	  problems reusing a source after failed state changes.
	* gst/base/gsttypefindhelper.c: (helper_find_peek),
	(helper_find_suggest), (gst_type_find_helper):
	  Extra debug output. Don't segfault on GST_PAD_GETRANGEFUNC = NULL
	* gst/gstevent.h:
	* docs/gst/tmpl/gstevent.sgml:
	  Migrate part of the docs from the SGML file. Wait for ensonic to
	  tell me how I did it wrong ;)
	* tools/gst-typefind.c: (main):
	  Extra robustness to state changes between files.

2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>

	* check/Makefile.am:
	  don't valgrind the controller test - it's leaking - Stefan, HELP
	* gst/check/gstcheck.c: (gst_check_message_error),
	(gst_check_chain_func), (gst_check_setup_element),
	(gst_check_teardown_element), (gst_check_setup_src_pad),
	(gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
	(gst_check_teardown_sink_pad):
	* gst/check/gstcheck.h:
	  add a bunch of methods to set up elements, and src and sink pads
	* check/elements/fakesrc.c: (setup_fakesrc), (cleanup_fakesrc):
	* check/elements/identity.c: (setup_identity), (cleanup_identity),
	(GST_START_TEST):
	  use them
	* gst/gstmessage.c:
	* gst/gsttag.h:
	  whitespace/doc fixes

2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>

	* gst/gstelement.h:
	  make GST_ELEMENT_ERROR not do GST_ERROR_OBJECT - these errors should
	  be handled by the application and not always printed as well

2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>

	* check/Makefile.am:
	  set GST_TOOLS_DIR
	* gst/check/gstcheck.c: (gst_check_message_error):
	* gst/check/gstcheck.h:
	  add a fail_unless_equals_int
	  add fail_unless for error messages

2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>

	* check/Makefile.am:
	* check/gst.supp:
	* common/Makefile.am:
	* common/check.mak:
	* common/gst.supp:
	  factor out some of the common stuff so we can use it

2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>

	* check/Makefile.am:
	* check/gst/gstiterator.c: (GST_START_TEST):
	* check/gst/gstsystemclock.c: (GST_START_TEST),
	(gst_systemclock_suite):
	* check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
	* gst/gstclock.c:
	  valgrind more tests

2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>

	* check/elements/.cvsignore:
	* check/elements/gstfakesrc.c:
	  rename to name of element
	* check/elements/identity.c: (chain_func), (event_func),
	(setup_identity), (cleanup_identity), (GST_START_TEST),
	(identity_suite), (main):
	  add a test for identity
	* check/Makefile.am:
	* pkgconfig/Makefile.am:
	* pkgconfig/gstreamer-check.pc.in:
	* pkgconfig/gstreamer-check-uninstalled.pc.in:
	* gst/check:
	* gst/Makefile.am:
	* configure.ac:
	  move the check stuff to a library that gets installed
	* check/gst-libs/controller.c: (GST_START_TEST):
	* check/gst-libs/gdp.c:
	* check/gst/gst.c: (GST_START_TEST):
	* check/gst/gstbin.c:
	* check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
	* check/gst/gstbus.c:
	* check/gst/gstcaps.c: (GST_START_TEST):
	* check/gst/gstelement.c:
	* check/gst/gstghostpad.c:
	* check/gst/gstiterator.c:
	* check/gst/gstmessage.c:
	* check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST):
	* check/gst/gstobject.c:
	* check/gst/gstpad.c: (GST_START_TEST):
	* check/gst/gststructure.c: (GST_START_TEST):
	* check/gst/gstsystemclock.c: (GST_START_TEST),
	(gst_systemclock_suite):
	* check/gst/gsttag.c: (gst_tag_suite):
	* check/gst/gstvalue.c:
	* check/pipelines/cleanup.c:
	* check/pipelines/simple_launch_lines.c:
	* check/states/sinks.c:
	  change include statement

	* docs/gst/gstreamer-sections.txt:
	* docs/gst/tmpl/gstpad.sgml:
	  document more pad stuff
	* gst/gstminiobject.c: (gst_mini_object_ref),
	(gst_mini_object_unref):
	  debug refcounting

2005-08-19  Stefan Kost  <ensonic@users.sf.net>

	* docs/gst/tmpl/gst.sgml:
	* gst/gst.c:
	  eliminate another tmpl file, fix spelling in the long-description

2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>

	* check/gst/gstevents.c: (GST_START_TEST), (event_probe),
	(test_event), (timediff), (gstevents_suite):
	  Should fix build on 64-bit arch's

2005-08-18  Andy Wingo  <wingo@pobox.com>

	Make sure that when a pipeline goes to PLAYING, that data has
	actually hit the sink.

	* check/states/sinks.c (test_sink): A sink that doesn't get any
	data shouldn't return SUCCESS for going to either PLAYING or
	PAUSED. Test also the return values on the way back down.

	* gst/gstelement.c (gst_element_set_state): When changing the
	state of an element currently changing state asynchronously, go to
	lost-state after commiting the pending state. Makes future calls
	to get_state continue to return ASYNC.

	* gst/base/gstbasesink.c (gst_base_sink_change_state): Return
	ASYNC when going to PLAYING if we still don't have preroll, as can
	happen with live sources.

2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>

	* docs/pwg/advanced-types.xml:
	  Hack long paragraph into 2 chunks as a workaround for buggy
	  jadetex version in sid and breezy that loops infinitely and
	  eats all RAM.

2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>

	* check/gst/gstevents.c: (GST_START_TEST), (event_probe),
	(test_event), (timediff), (gstevents_suite):
	  Provide more error margin in clock measurements to allow for 
	  g_get_current_time inaccuracies.

2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>

	* check/gst/gstevents.c: (GST_START_TEST), (event_probe),
	(test_event), (timediff), (gstevents_suite):
	   Fix error message output so I might be able to tell why the
	   test works here but fails on the build farm.

2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>

	* check/Makefile.am:
	* check/gst/gstevents.c: (GST_START_TEST), (event_probe),
	(test_event), (timediff), (gstevents_suite), (main):
	  I wrote a test!

	* docs/design/part-seeking.txt:
	  Spelling correction

	* docs/gst/tmpl/gstevent.sgml:
	* docs/gst/tmpl/gstfakesrc.sgml:
	  Docs updates.

	* gst/base/gstbasesink.c: (gst_base_sink_handle_object):
	  Treat a buffer-without-newsegment the same as a receiving 
	  a newsegment not in time format, and disable syncing to the clock
	  with a warning.

	* gst/gstbus.c: (gst_bus_set_sync_handler):
	  Assert if anyone tries to replace the existing sync_handler for bus, 
	  as only the owner should be setting it.

	* gst/gstevent.h:
	  Have a fixed set of custom event enums with events identified by
	  their structure name (as in 0.8), rather than a free-for-all
	  allowing collisions between enum values from different plugins.

	* gst/gstpad.c: (gst_pad_class_init):
	  Docs change.
	  
	* gst/gstqueue.c: (gst_queue_handle_sink_event):
	  Handle out-of-band downstream events from the sending thread.

2005-08-17  Andy Wingo  <wingo@pobox.com>

	* gst/gstpipeline.c (gst_pipeline_change_state): Interpret
	play-timeout==0 to mean no timeout at all. In that case, don't
	bother with a get_state or a warning, just return directly, even
	if it's ASYNC.

	* gst/base/gstbasetransform.c: Debug changes.

	* gst/gstutils.h:
	* gst/gstutils.c (gst_bin_watch_for_state_change): Add function to
	ensure bins post state change messages. A bit of a hack but I can't
	think of a way to avoid it.

	* check/gst/gstbin.c (test_watch_for_state_change): Added test.

2005-08-16  Andy Wingo  <wingo@pobox.com>

	* gst/base/gstadapter.h:
	* gst/base/gstadapter.c (gst_adapter_take): New function, like
	peek() but you own the data. Not terribly efficient atm.

2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>

	* gst/gstutils.c: (gst_element_found_tags_for_pad), (push_and_ref),
	(gst_element_found_tags):
	* gst/gstutils.h:
	  Add two utility functions for tag handling.

2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>

	* docs/manual/advanced-dataaccess.xml:
	* docs/manual/basics-helloworld.xml:
	  Fix docs to use _bin_add() before _link(), which fixes the examples
	  with recent core versions (reported by Madhan Raj M
	  <raj_madan@rediffmail.com>, #313199).

2005-08-16  Wim Taymans  <wim@fluendo.com>

	* check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
	Added subtract checks.

	* docs/design/part-events.txt:
	Some more docs about newsegment

	* gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
	Fix FIXME

	* gst/gstcaps.c: (gst_caps_to_string):
	Add comments, cleanups.
	
	* gst/gstelement.c: (gst_element_save_thyself):
	cleanups
	
	* gst/gstvalue.c: (gst_value_collect_int_range),
	(gst_string_unwrap), (gst_value_union_int_int_range),
	(gst_value_union_int_range_int_range),
	(gst_value_intersect_int_int_range),
	(gst_value_intersect_int_range_int_range),
	(gst_value_intersect_double_double_range),
	(gst_value_intersect_double_range_double_range),
	(gst_value_intersect_list), (gst_value_subtract_int_int_range),
	(gst_value_subtract_int_range_int),
	(gst_value_subtract_double_range_double),
	(gst_value_subtract_double_range_double_range),
	(gst_value_subtract_from_list), (gst_value_subtract_list),
	(gst_value_can_compare), (gst_value_compare_fraction):
	Cleanups, add comments, remove unneeded asserts.

2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>

	* tools/gst-launch.c: (event_loop):
	  don't convert NULL structures to strings

2005-08-15  Stefan Kost  <ensonic@users.sf.net>

	* docs/gst/gstreamer-sections.txt:
	  made some defines private
	* docs/gst/tmpl/gstconfig.sgml:
	* docs/gst/tmpl/gstqueue.sgml:
	* docs/gst/tmpl/gsttaglist.sgml:
	* docs/gst/tmpl/gsttypes.sgml:
	* docs/gst/tmpl/gstutils.sgml:
	* docs/pwg/appendix-porting.xml:
	* gst/base/gstbasesink.h:
	* gst/base/gstbasesrc.c:
	* gst/base/gstbasesrc.h:
	* gst/elements/gstfakesink.c: (gst_fake_sink_class_init):
	* gst/elements/gstfakesrc.c: (gst_fake_src_class_init):
	* gst/gstelement.c: (gst_element_class_init):
	* gst/gstpad.c: (gst_pad_class_init):
	* gst/gstqueue.c: (gst_queue_class_init):
	* gst/gstxml.c: (gst_xml_class_init):
	  documented all undocumented signal inline
	* libs/gst/controller/gst-controller.h:
	  added padding

2005-08-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>

	* docs/pwg/appendix-porting.xml:
	  Document _set_link_function -> _set_setcaps_function.

2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>

	* check/Makefile.am:
	  add a .check target for running the check
	* check/gst-libs/controller.c: (GST_START_TEST):
	  cosmetic fixups
	* check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
	  complete checks for gstbuffer; would be nice if I could get the
	  gcov stuff to work so I can see if I actually completed gstbuffer.c
	* check/gstcheck.h:
	  add ASSERT_BUFFER_REFCOUNT

2005-08-13  Tim-Philipp Müller  <tim at centricular dot net>

	* docs/gst/gstreamer-sections.txt:
	* gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
	* gst/gsttag.h:
	  Add GST_TAG_LANGUAGE_CODE as we have in 0.8, and don't
	  spew out a warning if a tag that is already registered
	  is re-registered, unless it is re-registered with a 
	  different type (#308438).

2005-08-12  Tim-Philipp Müller  <tim at centricular dot net>

	* docs/pwg/appendix-porting.xml:
	* docs/pwg/building-state.xml:
	  Add some paragraphs about state changes in 0.9 to the PWG
	  and the porting guide, in particular about the new meaning
	  of GST_STATE_PAUSED and how to write state change functions
	  with concurrent access by multiple threads in mind.

2005-08-11  Stefan Kost  <ensonic@users.sf.net>

	* docs/gst/gstreamer-docs.sgml:
	* docs/libs/gstreamer-libs-docs.sgml:
	  added deprecation and since indexes
	* libs/gst/controller/gst-controller.c:
	* libs/gst/controller/gst-helper.c:
	  added since tags


2005-08-11  Wim Taymans  <wim@fluendo.com>

	* gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked),
	(gst_proxy_pad_set_target), (gst_proxy_pad_get_target),
	(gst_proxy_pad_dispose), (gst_ghost_pad_do_activate_push),
	(gst_ghost_pad_do_link), (gst_ghost_pad_set_internal),
	(gst_ghost_pad_new_notarget), (gst_ghost_pad_get_target),
	(gst_ghost_pad_set_target):
	Actually implement (re)setting the target on a ghostpad
	as described in the docs.

2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>

	* gst/gst.c: (gst_init_check_with_popt_table), (init_pre):
	  Check whether GST_DEBUG_NO_COLOR environment variable is
	  set and disable coloured debug output if that is the case.

2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>

	* gst/base/gsttypefindhelper.c: (helper_find_peek),
	(gst_type_find_helper):
	  The memory returned by gst_type_find_peek() needs to
	  stay valid until the end of a typefind function, and
	  typefind functions may keep results from different 
	  offsets around, so we can't just unref the buffer from
	  the previous _peek(), but have to save all buffers 
	  returned by _peek() until typefinding is done and only
	  free them then.

2005-08-09  Tim-Philipp Müller  <tim at centricular dot net>

	* docs/gst/gstreamer-sections.txt:
	* gst/gstutils.h:
	  New macros: GST_ROUND_UP_2() through GST_ROUND_UP_64().

2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>

	* gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
	  Fix a pretty good memleak.

2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>

	* gst/gstiterator.h:
	  Fix wrong include and 'make distcheck'.

2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>

	* gst/gstbin.c: (bin_bus_handler):
	  Use gst_element_post_message() instead.

2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>

	* gst/base/gstadapter.h:
	* gst/base/gstbasesink.h:
	* gst/base/gstbasesrc.h:
	* gst/base/gstbasetransform.h:
	* gst/base/gstcollectpads.h:
	* gst/base/gstpushsrc.h:
	* gst/gstiterator.h:
	  Add padding to our base elements' class and instance structs and
	  to GstIterator (you will need to rebuild all plugins and apps!)

2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>

	* gst/gstbin.c: (bin_bus_handler):
	  Make default message forwarding from child->bus to bin->bus
	  threadsafe and make it not emit warnings if the parent has no bus.

2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>

	* gst/gstelement.c: (activate_pads):
	  On paused->ready, set pad->caps to NULL, as is the documented
	  behaviour in this state change. Fixes playback of series of
	  media files when visualization is enabled in Totem.

2005-08-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>

	* gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
	  Allow NULL as filter-caps (which means "any").

2005-08-05  Stefan Kost  <ensonic@users.sf.net>

	* docs/libs/gstreamer-libs-sections.txt:
	* libs/gst/controller/gst-controller.c:
	* libs/gst/controller/gst-controller.h:
	* libs/gst/controller/gst-helper.c:
	  adding more entries to the docs and fix small doc-bugs

2005-08-05  Stefan Kost  <ensonic@users.sf.net>

	* docs/gst/gstreamer-docs.sgml:
	* docs/gst/gstreamer-sections.txt:
	* docs/gst/gstreamer.types:
	* docs/gst/tmpl/gstbasesink.sgml:
	* docs/gst/tmpl/gstbasesrc.sgml:
	* docs/gst/tmpl/gstbasetransform.sgml:
	* docs/gst/tmpl/gstfakesrc.sgml:
	* gst/base/gstcollectpads.c:
	* gst/base/gstcollectpads.h:
	* libs/gst/controller/gst-controller.c:
	* libs/gst/controller/gst-controller.h:
	* libs/gst/controller/gst-helper.c:
	* libs/gst/controller/gst-interpolation.c:
	* libs/gst/controller/lib.c:
	  added long/short desc for controller docs
	  added collectpads base class docs
	  added correct includes to base-class docs

2005-08-05  Stefan Kost  <ensonic@users.sf.net>

	* check/gst-libs/controller.c: (gst_test_mono_source_get_property),
	(gst_test_mono_source_set_property),
	(gst_test_mono_source_class_init), (GST_START_TEST),
	(gst_controller_suite):
	* docs/gst/gstreamer-docs.sgml:
	* docs/gst/gstreamer-sections.txt:
	* docs/gst/gstreamer.types:
	* docs/libs/gstreamer-libs-docs.sgml:
	* docs/libs/gstreamer-libs-sections.txt:
	* gst/base/gstadapter.c:
	* libs/gst/controller/gst-controller.c:
	(gst_controlled_property_new), (gst_controlled_property_free),
	(gst_controller_new_valist),
	(gst_controller_remove_properties_valist),
	(gst_controller_sink_values), (_gst_controller_finalize):
	* libs/gst/controller/gst-controller.h:
	* libs/gst/controller/gst-helper.c:
	(gst_object_control_properties), (gst_object_uncontrol_properties),
	(gst_object_get_controller), (gst_object_set_controller),
	(gst_object_sink_values), (gst_object_get_value_arrays),
	(gst_object_get_value_array):
	  more tests (and fixes) for the controller
	  more docs for the controller
	  integrated companies docs for the adapter 

2005-08-05  Thomas Vander Stichele  <thomas at apestaart dot org>

	* check/elements/gstfakesrc.c: (setup_fakesrc), (cleanup_fakesrc),
	(GST_START_TEST), (fakesrc_suite):
	  add tests for sizetype

2005-08-04  Andy Wingo  <wingo@pobox.com>

	* gst/elements/gstcapsfilter.c: Reimplement using basetransform,
	fixes buffer_alloc proxying among other things.

	* gst/base/gstbasetransform.c:
	* gst/base/gstbasetransform.h:
	Revert patch to gstbasetransform from 7-28 removing
	delay_configure.

	* gst/base/gstbasetransform.h (GstBaseTransformClass.get_size):
	* gst/base/gstbasetransform.c (gst_base_transform_get_size):
	Semantics changed, should return not the size of the output buffer
	but the byte size of a buffer with a given caps.

	* gst/base/gstbasetransform.c (gst_base_transform_getcaps): Better
	debug object.
	(gst_base_transform_configure_caps): Don't set out_size here: (in,
	out) are not the pad caps until setcaps finishes.
	(gst_base_transform_buffer_alloc): Proxy the buffer_alloc for the
	not-in-place case as well. Deal with changing from in-place to
	not-in-place within calling pad_alloc_buffer. Still a bit
	concerned about the overhead here...

2005-08-03  Andy Wingo  <wingo@pobox.com>

	* gst/base/gstbasetransform.c (gst_base_transform_setcaps): Not
	fixating is an error.

2005-08-04  Edward Hervey  <edward@fluendo.com>

	* gst/base/gstadapter.h: 
	Added gst_adapter_get_type() to the header

2005-08-03  Stefan Kost  <ensonic@users.sf.net>

	* check/Makefile.am:
	* check/gst-libs/controller.c:
	* libs/gst/controller/gst-controller.c:
	(gst_controller_new_valist):
	  added check test suite for the controller
	* gst/base/gstpushsrc.c:
	  fixed a doc typo

2005-08-03  Stefan Kost  <ensonic@users.sf.net>

	* docs/gst/Makefile.am:
	* docs/gst/gstreamer-docs.sgml:
	* docs/gst/gstreamer-sections.txt:
	* docs/gst/gstreamer.types:
	* docs/gst/tmpl/gstfakesrc.sgml:
	* gst/base/README:
	* gst/base/gstbasesink.c:
	* gst/base/gstbasesink.h:
	* gst/base/gstbasesrc.c:
	* gst/base/gstbasesrc.h:
	* gst/base/gstbasetransform.c:
	* gst/base/gstpushsrc.c:
	* gst/base/gstpushsrc.h:
	  add short/long description docs to base classes
	  add pushsrc to the docs
	  remove consolidated doc fragments

2005-08-03  Stefan Kost  <ensonic@users.sf.net>

	* configure.ac:
	* docs/libs/Makefile.am:
	* docs/libs/gstreamer-libs-docs.sgml:
	* docs/libs/gstreamer-libs-sections.txt:
	* docs/libs/gstreamer-libs.types:
	* examples/Makefile.am:
	* examples/controller/.cvsignore:
	* examples/controller/Makefile.am:
	* examples/controller/audio-example.c: (main):
	* libs/gst/Makefile.am:
	* libs/gst/controller/.cvsignore:
	* libs/gst/controller/Makefile.am:
	* libs/gst/controller/gst-controller.c:
	(on_object_controlled_property_changed), (gst_timed_value_compare),
	(gst_timed_value_find),
	(gst_controlled_property_set_interpolation_mode),
	(gst_controlled_property_new), (gst_controlled_property_free),
	(gst_controller_find_controlled_property),
	(gst_controller_new_valist), (gst_controller_new),
	(gst_controller_remove_properties_valist),
	(gst_controller_remove_properties), (gst_controller_set),
	(gst_controller_set_from_list), (gst_controller_unset),
	(gst_controller_get), (gst_controller_get_all),
	(gst_controller_sink_values), (gst_controller_get_value_arrays),
	(gst_controller_get_value_array),
	(gst_controller_set_interpolation_mode),
	(_gst_controller_finalize), (_gst_controller_init),
	(_gst_controller_class_init), (gst_controller_get_type):
	* libs/gst/controller/gst-controller.h:
	* libs/gst/controller/gst-helper.c: (g_object_control_properties),
	(g_object_uncontrol_properties), (g_object_get_controller),
	(g_object_set_controller), (g_object_sink_values),
	(g_object_get_value_arrays), (g_object_get_value_array):
	* libs/gst/controller/gst-interpolation.c:
	(gst_controlled_property_find_timed_value_node),
	(interpolate_none_get), (interpolate_trigger_get),
	(interpolate_trigger_get_value_array):
	* libs/gst/controller/lib.c: (gst_controller_init):
	* pkgconfig/Makefile.am:
	* pkgconfig/gstreamer-control-uninstalled.pc.in:
	* pkgconfig/gstreamer-control.pc.in:
	* testsuite/Makefile.am:
	* testsuite/controller/.cvsignore:
	* testsuite/controller/Makefile.am:
	* testsuite/controller/interpolator.c: (main):
	  added controller code
	  removed dparam pc files

2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
	* gst/base/gstcollectpads.c: (gst_collectpads_finalize),
	(gst_collectpads_stop):
	  Broadcast the condition when shutting down, to make sure we wake all
	  threads up. Shut down pads on finalize, for safety.

2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
	* gst/base/gstbasetransform.c: (gst_base_transform_init),
	(gst_base_transform_handle_buffer),
	(gst_base_transform_change_state):
	  Handle PAUSED->READY->PAUSED transition after negotiation
	  occurred already.
	* gst/gstmessage.c: (gst_message_init):
	  Extra piece of debug for new messages.

2005-08-01  Stefan Kost  <ensonic@users.sf.net>

	* configure.ac:
	* docs/gst/tmpl/gstbasesrc.sgml:
	* docs/gst/tmpl/gstelement.sgml:
	* docs/gst/tmpl/gstevent.sgml:
	* docs/gst/tmpl/gstfakesrc.sgml:
	* docs/gst/tmpl/gstformat.sgml:
	* docs/gst/tmpl/gstghostpad.sgml:
	* docs/gst/tmpl/gstpad.sgml:
	* docs/gst/tmpl/gstquery.sgml:
	* docs/gst/tmpl/gststructure.sgml:
	* docs/gst/tmpl/gsttaglist.sgml:
	* docs/gst/tmpl/gstvalue.sgml:
	* docs/libs/gstreamer-libs-docs.sgml:
	* docs/libs/gstreamer-libs-sections.txt:
	* docs/libs/gstreamer-libs.types:
	* libs/gst/Makefile.am:
	* libs/gst/control/.cvsignore:
	* libs/gst/control/Makefile.am:
	* libs/gst/control/control.c:
	* libs/gst/control/control.h:
	* libs/gst/control/dparam.c:
	* libs/gst/control/dparam.h:
	* libs/gst/control/dparam_smooth.c:
	* libs/gst/control/dparam_smooth.h:
	* libs/gst/control/dparamcommon.h:
	* libs/gst/control/dparammanager.c:
	* libs/gst/control/dparammanager.h:
	* libs/gst/control/dplinearinterp.c:
	* libs/gst/control/dplinearinterp.h:
	* libs/gst/control/unitconvert.c:
	* libs/gst/control/unitconvert.h:
	* testsuite/Makefile.am:
	* testsuite/dynparams/.cvsignore:
	* testsuite/dynparams/Makefile.am:
	* testsuite/dynparams/dparamstest.c:
	* tools/Makefile.am:
	* tools/gst-inspect.c: (print_element_info), (main):
	* tools/gst-xmlinspect.c: (print_element_info), (main):
	  deactivate and remove dparams (libgstcontrol)

2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>

	* gst/elements/gsttypefindelement.c:
	(gst_type_find_element_have_type), (gst_type_find_element_init),
	(stop_typefinding), (gst_type_find_element_handle_event),
	(gst_type_find_element_chain), (gst_type_find_element_getrange):
	* gst/elements/gsttypefindelement.h:
	  Set caps on all outgoing buffers, not just the first one.

2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>

	* gst/elements/gsttypefindelement.c:
	(gst_type_find_element_have_type),
	(gst_type_find_element_check_set_buffer_caps),
	(gst_type_find_element_init), (stop_typefinding),
	(gst_type_find_element_handle_event),
	(gst_type_find_element_chain), (gst_type_find_element_getrange):
	* gst/elements/gsttypefindelement.h:
	  Set caps on first outgoing buffer when we've found the type.

2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>

	* docs/gst/gstreamer-docs.sgml:
	* docs/gst/gstreamer-sections.txt:
	* docs/gst/tmpl/gstscheduler.sgml:
	* docs/gst/tmpl/gstschedulerfactory.sgml:
	  Remove some old cruft from docs.

2005-07-31  Tim-Philipp Müller  <tim at centricular dot net>

	* gst/gstpad.h:
	  Fix inline docs for GstPadLinkReturn.
	  
	* gst/gststructure.c: (gst_structure_has_name):
	* gst/gststructure.h:
	* docs/gst/gstreamer-sections.txt:
	  New API: gst_structure_has_name().

2005-07-30  Tim-Philipp Müller  <tim at centricular dot net>

	* configure.ac:
	  Use AC_SYS_LARGEFILE, which will set _FILE_OFFSET_BITS=64
	  and _LARGEFILE_SOURCE in config.h as required. Do not 
	  export those flags in our .pc files any longer (#142209).

	  Remove unused GST_DISABLE_OMEGA_COTHREADS stuff.

	* gst/elements/gstfilesink.c: (gst_file_sink_class_init),
	(gst_file_sink_do_seek), (gst_file_sink_event),
	(gst_file_sink_get_current_offset), (gst_file_sink_render):
	  Redo seek/tell calls with large file support in mind; add some
	  debugging messages; add log message that tells us when large
	  file support is unavailable or not enabled for some reason.

	* gst/elements/gstfilesrc.c: (gst_file_src_class_init):
	  Add log message that tells us when large file support 
	  is unavailable or not enabled for some reason.

2005-07-29  Wim Taymans  <wim@fluendo.com>

	* check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
	Added test for removing an element with ghostpad from a bin.
	Fixed test as current implementation does the right thing.

	* gst/gstghostpad.c: (gst_proxy_pad_class_init),
	(gst_proxy_pad_do_query_type), (gst_proxy_pad_do_event),
	(gst_proxy_pad_do_query), (gst_proxy_pad_do_internal_link),
	(gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_activate),
	(gst_proxy_pad_do_activatepull), (gst_proxy_pad_do_activatepush),
	(gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
	(gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
	(gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
	(gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target),
	(gst_proxy_pad_get_target), (gst_proxy_pad_init),
	(gst_proxy_pad_dispose), (gst_proxy_pad_finalize),
	(gst_ghost_pad_class_init), (gst_ghost_pad_do_activate_push),
	(gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
	(gst_ghost_pad_set_internal), (gst_ghost_pad_dispose),
	(gst_ghost_pad_new_notarget), (gst_ghost_pad_new),
	(gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
	* gst/gstghostpad.h:
	Clean up ghostpads, remove properties for internal stuff.
	Make threadsafe.
	Fix refcounting.
	Prepare for switching targets, not all use cases work yet.

2005-07-29  Wim Taymans  <wim@fluendo.com>

	* docs/design/part-gstghostpad.txt:
	Small update.

	* gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
	(gst_bin_remove_func):
	Unlinking pads while holding the bin LOCK is not a good
	idea.

	* gst/gstpad.c: (gst_pad_class_init),
	(gst_pad_link_check_hierarchy), (gst_pad_get_caps_unlocked),
	(gst_pad_accept_caps), (gst_pad_set_caps), (gst_pad_send_event):
	No prob setting template after creating the pad.

2005-07-29  Jan Schmidt  <thaytan@mad.scientist.com>

	* gst/gstbus.c: (gst_bus_set_flushing), (gst_bus_pop),
	(gst_bus_peek), (gst_bus_source_dispatch),
	(gst_bus_add_watch_full), (poll_handler), (poll_timeout),
	(poll_destroy), (poll_destroy_timeout), (gst_bus_poll):
	  gst_bus_poll may be called from other threads. Handle
	  this nicely by not making poll_data disappear off the
	  stack once gst_bus_poll returns.
	  gst_bus_peek now increments the refcount on the returned
	  message.

2005-07-29  Wim Taymans  <wim@fluendo.com>

	* docs/design/part-gstghostpad.txt:
	Overview of current GhostPad datastructures and use
	cases for changing the target.

2005-07-28  Wim Taymans  <wim@fluendo.com>

	* check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
	Added checks for hierarchy consistency whan adding linked
	elements to bins.

	* check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
	Added check to test element scheduling without bin/pipeline.

	* check/pipelines/simple_launch_lines.c: (GST_START_TEST):
	First add elements to bin, then link.
	
	* gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
	(gst_bin_remove_func):
	Unlink pads from elements added/removed from bin to maintain
	hierarchy consistency.

2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>

	* gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
	(gst_base_transform_handle_buffer):
	* gst/base/gstbasetransform.h:
	  Remove broken delay_configure (fixes renegotiation of software
	  scaling pipelines); remove some leftover printf()s.

2005-07-28  Wim Taymans  <wim@fluendo.com>

	* check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
	Added some more tests for wrong hierarchy

	* docs/design/part-overview.txt:
	Some updates.

	* gst/gstbin.c: (gst_bin_remove_func), (gst_bin_dispose):
	Cleanups.

	* gst/gstelement.c: (gst_element_remove_pad), (gst_element_seek),
	(gst_element_dispose):
	Some more cleanups.

	* gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
	(gst_pad_link_check_hierarchy), (gst_pad_link_prepare),
	(gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
	(gst_pad_set_caps), (gst_pad_send_event):
	Check for correct hierarchy when linking pads. Moving to
	strict requirement for ghostpads when linking elements in
	different bins.

	* gst/gstpad.h:
	Clean ups. Added WRONG_HIERARCHY return value.

2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>

	* gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
	  Better debug if no transform is possible.

2005-07-27  Wim Taymans  <wim@fluendo.com>

	* docs/random/wtay/network-transp:
	Some old doc I had.

2005-07-27  Wim Taymans  <wim@fluendo.com>

	* libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
	(gst_dp_event_from_packet):
	Fix serialization of seek events.

2005-07-27  Wim Taymans  <wim@fluendo.com>

	* check/gst-libs/gdp.c: (GST_START_TEST):
	* gst/elements/gstfakesink.c: (gst_fake_sink_event):
	Fix compilation and fix event serialization.

2005-07-27  Wim Taymans  <wim@fluendo.com>

	* CHANGES-0.9:
	* docs/design/part-TODO.txt:
	* docs/design/part-events.txt:
	Some docs updates

	* gst/base/gstbasesink.c: (gst_base_sink_handle_object),
	(gst_base_sink_event), (gst_base_sink_do_sync),
	(gst_base_sink_activate_push), (gst_base_sink_activate_pull):
	* gst/base/gstbasesrc.c: (gst_base_src_send_discont),
	(gst_base_src_do_seek), (gst_base_src_event_handler),
	(gst_base_src_loop):
	* gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
	(gst_base_transform_configure_caps), (gst_base_transform_setcaps),
	(gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
	(gst_base_transform_event), (gst_base_transform_handle_buffer),
	(gst_base_transform_set_passthrough),
	(gst_base_transform_is_passthrough):
	* gst/elements/gstfakesink.c: (gst_fake_sink_event):
	* gst/elements/gstfilesink.c: (gst_file_sink_event):
	Event updates.

	* gst/gstbuffer.h:
	Use faster casts.

	* gst/gstelement.c: (gst_element_seek):
	* gst/gstelement.h:
	Update gst_element_seek.

	* gst/gstevent.c: (gst_event_finalize), (_gst_event_copy),
	(gst_event_new), (gst_event_new_custom), (gst_event_get_structure),
	(gst_event_new_flush_start), (gst_event_new_flush_stop),
	(gst_event_new_eos), (gst_event_new_newsegment),
	(gst_event_parse_newsegment), (gst_event_new_tag),
	(gst_event_parse_tag), (gst_event_new_filler), (gst_event_new_qos),
	(gst_event_parse_qos), (gst_event_new_seek),
	(gst_event_parse_seek), (gst_event_new_navigation):
	* gst/gstevent.h:
	Make GstEvent use GstStructure. Add parsing code, make sure the
	API is sufficiently generic.
	Mark possible directions of events and serialization.

	* gst/gstmessage.c: (gst_message_init), (gst_message_finalize),
	(_gst_message_copy), (gst_message_new_segment_start),
	(gst_message_new_segment_done), (gst_message_new_custom),
	(gst_message_parse_segment_start),
	(gst_message_parse_segment_done):
	Small cleanups.

	* gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
	(gst_pad_set_caps), (gst_pad_send_event):
	Update for new events. 
	Catch events sent in wrong directions.

	* gst/gstqueue.c: (gst_queue_link_src),
	(gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
	(gst_queue_handle_src_query):
	Event updates.

	* gst/gsttag.c:
	* gst/gsttag.h:
	Remove event code from this file.

	* libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
	(gst_dp_event_from_packet):
	Event updates.

2005-07-27  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>

	* gst/base/gstbasetransform.c: (gst_base_transform_getcaps),
	(gst_base_transform_configure_caps), (gst_base_transform_setcaps),
	(gst_base_transform_get_size), (gst_base_transform_handle_buffer):
	  Make debugging actually useful.

2005-07-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>

	* gst/gstpad.c: (fixate_value), (gst_pad_default_fixate),
	(gst_pad_fixate_caps):
	  Implement default fixation once again, so that gst_pad_fixate()
	  actually does anything at all. This probably needs to be some
	  sort of a last resort, and use profile-based fixation first, but
	  since that doesn't exist yet, this is the best we have. Fixes
	  visualization in Totem.

2005-07-22  Wim Taymans  <wim@fluendo.com>

	* docs/design/part-events.txt:
	Small update.

	* gst/base/gstbasesink.c: (gst_base_sink_handle_object),
	(gst_base_sink_do_sync), (gst_base_sink_activate_push),
	(gst_base_sink_activate_pull):
	Some more comments.

	* gst/elements/gstfakesrc.c: (gst_fake_src_class_init),
	(gst_fake_src_create):
	Fix handoff marshall.

	* gst/elements/gstidentity.c: (gst_identity_class_init),
	(gst_identity_transform_ip):
	We're a real inplace element.

	* gst/gstbus.c: (gst_bus_post):
	Added some comments.

	* tests/lat.c: (fakesrc), (fakesink), (simple), (queue), (main):
	* tests/muxing/case1.c: (main):
	* tests/sched/dynamic-pipeline.c: (main):
	* tests/sched/interrupt1.c: (main):
	* tests/sched/interrupt2.c: (main):
	* tests/sched/interrupt3.c: (main):
	* tests/sched/runxml.c: (main):
	* tests/sched/sched-stress.c: (main):
	* tests/seeking/seeking1.c: (event_received), (main):
	* tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
	(main):
	* tests/threadstate/threadstate3.c: (main):
	* tests/threadstate/threadstate4.c: (main):
	* tests/threadstate/threadstate5.c: (main):
	Fix the tests.

2005-07-21  Wim Taymans  <wim@fluendo.com>

	* docs/design/part-seeking.txt:
	Some small additions.

	* gst/base/gstbasesink.c: (gst_base_sink_handle_object),
	(gst_base_sink_get_times), (gst_base_sink_do_sync),
	(gst_base_sink_activate_push), (gst_base_sink_activate_pull):
	* gst/base/gstbasesink.h:
	discont values are gint64, handle the math correctly.

	* gst/base/gstbasesrc.c: (gst_base_src_loop):
	Make the basesrc report error if the source pad is not linked.

	* gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
	(gst_queue_loop), (gst_queue_handle_src_query),
	(gst_queue_src_activate_push):
	Make queue collect data even if the srcpad is not linked.
	Start pushing out data as soon as it is linked.

	* gst/gstutils.c: (gst_element_unlink), (gst_flow_get_name):
	* gst/gstutils.h:
	Added gst_flow_get_name() to ease error reporting.

2005-07-20  Wim Taymans  <wim@fluendo.com>

	* gst/gstmessage.c: (gst_message_new_segment_start),
	(gst_message_new_segment_done), (gst_message_parse_segment_start),
	(gst_message_parse_segment_done):
	* gst/gstmessage.h:
	Added a bunch of messages for advanced seeking.

	* gst/parse/grammar.y:
	* libs/gst/control/dparammanager.c: (gst_dpman_set_parent),
	(gst_dpman_state_changed):
	Fix some new-pad -> pad-added signals

2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>

	* docs/manual/appendix-porting.xml:
	* docs/pwg/appendix-porting.xml:
	  Document new-pad/state-change signal renames and the FixedList
	  type rename.

2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>

	* docs/manual/advanced-autoplugging.xml:
	* docs/manual/basics-helloworld.xml:
	* docs/manual/basics-pads.xml:
	* docs/random/ds/0.9-suggested-changes:
	* gst/gstelement.c: (gst_element_class_init), (gst_element_seek):
	* gst/gstelement.h:
	* gst/gstevent.h:
	* gst/gstformat.h:
	* gst/gstquery.h:
	* gst/gststructure.c: (gst_structure_value_get_generic_type),
	(gst_structure_parse_array), (gst_structure_parse_value):
	* gst/gstvalue.c: (gst_type_is_fixed),
	(gst_value_list_prepend_value), (gst_value_list_append_value),
	(gst_value_list_get_size), (gst_value_list_get_value),
	(gst_value_transform_array_string), (gst_value_serialize_array),
	(gst_value_deserialize_array), (gst_value_intersect_array),
	(gst_value_is_fixed), (_gst_value_initialize):
	* gst/gstvalue.h:
	  GstElement::new-pad -> pad-added, GstElement::state-change ->
	  state-changed, GstValueFixedList -> GstValueArray, add format and
	  flags as their own arguments in gst_element_seek() (should improve
	  "bindeability"), remove function generators since they don't work
	  under a whole bunch of compilers (they were deprecated already
	  anyway).

2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>

	* gst/gstinfo.c: (_gst_debug_nameof_funcptr),
	(_gst_debug_register_funcptr):
	* gst/gstinfo.h:
	  Fix illegal cast on some platforms (#309253).

2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>

	* gst/gstmessage.c: (gst_message_new_custom):
	* gst/gstmessage.h:
	  Add _new_custom, make _new_application a macro to _new_custom.

2005-07-20  Wim Taymans  <wim@fluendo.com>

	* gst/base/gstbasesrc.c: (gst_base_src_init),
	(gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
	* gst/base/gstbasesrc.h:
	Add a gboolean to decide when to push out a discont.

	* gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
	(gst_queue_loop), (gst_queue_handle_src_query),
	(gst_queue_sink_activate_push), (gst_queue_src_activate_push),
	(gst_queue_set_property), (gst_queue_get_property):
	Some cleanups.

	* tests/threadstate/threadstate1.c: (main):
	Make a thread test compile and run... very silly..


2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>

	* docs/manual/appendix-porting.xml:
	  Mention removal of libgstgconf-0.9.la and existence of gconf
	  elements.

2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>

	* docs/pwg/advanced-clock.xml:
	* docs/pwg/appendix-porting.xml:
	* docs/pwg/intro-preface.xml:
	* docs/pwg/other-base.xml:
	* docs/pwg/other-manager.xml:
	* docs/pwg/other-nton.xml:
	* docs/pwg/other-ntoone.xml:
	* docs/pwg/other-oneton.xml:
	* docs/pwg/pwg.xml:
	  Document base classes, update sections of n-to-1 and 1-to-n (muxer,
	  demuxer), remove n-to-n (was never written), fix some code examples
	  and links and update the porting section to include all this.

2005-07-19  Wim Taymans  <wim@fluendo.com>

	* gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_sink_event),
	(gst_queue_chain), (gst_queue_loop), (gst_queue_handle_src_event),
	(gst_queue_handle_src_query), (gst_queue_sink_activate_push),
	(gst_queue_src_activate_push), (gst_queue_change_state),
	(gst_queue_get_property):
	* gst/gstqueue.h:
	Propagate GstFlowReturn more intelligently upstream and output
	an ERROR/EOS when streaming stopped due to fatal error.

2005-07-19  Wim Taymans  <wim@fluendo.com>

	* tools/gst-launch.c: (check_intr), (event_loop), (main):
	Don't block forever for the state change to complete, the
	pipeline already did with a sensible timeout.

2005-07-19  Wim Taymans  <wim@fluendo.com>

	* gst/base/gstbasesrc.c: (gst_base_src_get_range):
	Make sure we never call the create function is we
	got deactivated.

2005-07-19  Andy Wingo  <wingo@pobox.com>

	* gst/parse/parse.l: Attempt to solve bug #172815.

2005-07-19  Wim Taymans  <wim@fluendo.com>

	* docs/design/part-clocks.txt:
	* docs/design/part-events.txt:
	* gst/base/gstbasesrc.c: (gst_base_src_do_seek):
	Small docs updates.
	Only update the seeking values when we are not
	busy streaming.

2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>

	* gst/base/gstbasesrc.c: (gst_base_src_loop):
	  Oops, ignore the result of gst_pad_push_event here.

2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>

	* gst/base/gstbasesrc.c: (gst_base_src_loop),
	(gst_base_src_activate_push):
	  Send discont event from the loop function, as pads
	  aren't activated yet in the activate_push handler.

	* gst/gstbin.c: (bin_bus_handler):
	  Don't leak element name.

2005-07-18  Andy Wingo  <wingo@pobox.com>

	* configure.ac: Use AS_LIBTOOL_TAGS.

2005-07-18  Wim Taymans  <wim@fluendo.com>

	* docs/gst/gstreamer.types:
	Remove deleted types.

2005-07-18  Wim Taymans  <wim@fluendo.com>

	* check/elements/gstfakesrc.c: (GST_START_TEST):
	* configure.ac:
	* gst/Makefile.am:
	* gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
	(init_popt_callback):
	* gst/gst.h:
	* gst/gst_private.h:
	* gst/gstbin.c: (gst_bin_class_init), (gst_bin_add_func),
	(gst_bin_remove_func), (gst_bin_get_state), (gst_bin_change_state):
	* gst/gstbin.h:
	* gst/gstbus.h:
	* gst/gstconfig.h.in:
	* gst/gstelement.c: (gst_element_class_init),
	(gst_element_set_base_time), (gst_element_get_base_time),
	(iterator_fold_with_resync), (gst_element_change_state),
	(gst_element_dispose), (gst_element_get_bus):
	* gst/gstelement.h:
	* gst/gstelementfactory.h:
	* gst/gsterror.c: (_gst_core_errors_init):
	* gst/gsterror.h:
	* gst/gstevent.h:
	* gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
	* gst/gstindex.c:
	* gst/gstinfo.c: (_gst_debug_init):
	* gst/gstmessage.c: (_gst_message_copy):
	* gst/gstmessage.h:
	* gst/gstminiobject.h:
	* gst/gstobject.c:
	* gst/gstobject.h:
	* gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
	(gst_pad_set_caps), (gst_pad_start_task), (gst_pad_stop_task):
	* gst/gstpad.h:
	* gst/gstparse.h:
	* gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
	(gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
	(gst_pipeline_get_last_stream_time):
	* gst/gstpipeline.h:
	* gst/gstpluginfeature.h:
	* gst/gstquery.h:
	* gst/gstscheduler.c:
	* gst/gstscheduler.h:
	* gst/gststructure.h:
	* gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
	(gst_task_finalize), (gst_task_func), (gst_task_create),
	(gst_task_set_lock), (gst_task_get_state), (gst_task_start),
	(gst_task_stop), (gst_task_pause):
	* gst/gsttask.h:
	* gst/gsttypefind.h:
	* gst/gsttypes.h:
	* gst/registries/gstlibxmlregistry.c: (load_feature),
	(gst_xml_registry_load), (gst_xml_registry_save_feature):
	* gst/registries/gstxmlregistry.c:
	(gst_xml_registry_start_element), (gst_xml_registry_save_feature):
	* gst/schedulers/threadscheduler.c:
	* libs/gst/control/dparammanager.h:
	* tools/gst-inspect.c: (print_element_list),
	(print_plugin_features), (print_element_features):
	* tools/gst-xmlinspect.c: (print_element_list),
	(print_plugin_info), (main):
	Removed plugable schedulers.
	Removed Scheduler/Manager from elements.
	Removed gsttypes.h, rearranged includes.
	Removed dependency pad<->element, element<>pipeline, and
	various others,  fix includes.
	implement gst_pad_get_parent() with gst_object_get_parent()
	Make GstTask sefcontained.
	Fix _get_state() on GstBin, it did not return ASYNC with a 0
	timeout.
	Fix endless loop in iterator_fold_with_resync.


2005-07-18  Wim Taymans  <wim@fluendo.com>

	* gst/Makefile.am:
	* gst/gstarch.h:
	Remove old file.

2005-07-18  Wim Taymans  <wim@fluendo.com>

	* gst/Makefile.am:
	No more cothreads.h

2005-07-18  Wim Taymans  <wim@fluendo.com>

	* gst/cothreads.c:
	* gst/cothreads.h:
	Let's remove these.

2005-07-18  Wim Taymans  <wim@fluendo.com>

	* docs/design/part-dynamic.txt:
	* docs/design/part-events.txt:
	* docs/design/part-seeking.txt:
	Some more docs in the works.

	* gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
	(gst_base_transform_getcaps), (gst_base_transform_configure_caps),
	(gst_base_transform_setcaps), (gst_base_transform_get_size),
	(gst_base_transform_buffer_alloc), (gst_base_transform_event),
	(gst_base_transform_handle_buffer),
	(gst_base_transform_sink_activate_push),
	(gst_base_transform_src_activate_pull),
	(gst_base_transform_set_passthrough),
	(gst_base_transform_is_passthrough):
	Refcounting fixes.

	* gst/gstbus.c: (gst_bus_source_dispatch), (gst_bus_poll):
	Cleanups.

	* gst/gstevent.c: (gst_event_finalize):
	Set SRC to NULL.

	* gst/gstutils.c: (gst_element_unlink),
	(gst_pad_get_parent_element), (gst_pad_proxy_getcaps),
	(gst_pad_proxy_setcaps):
	* gst/gstutils.h:
	Add _get_parent_element() to get a pads parent as an element.

2005-07-18  Wim Taymans  <wim@fluendo.com>

	* check/gst/gstbin.c: (GST_START_TEST):
	Remove bogus test.

2005-07-18  Wim Taymans  <wim@fluendo.com>

	* gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
	(gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
	(gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
	(gst_base_sink_event), (gst_base_sink_do_sync),
	(gst_base_sink_chain), (gst_base_sink_loop),
	(gst_base_sink_deactivate), (gst_base_sink_activate_push),
	(gst_base_sink_activate_pull), (gst_base_sink_change_state):
	Refcounting fixes.
	Fix logic for returning ASYNC when not prerolled.

2005-07-18  Wim Taymans  <wim@fluendo.com>

	* gst/gstqueue.c: (gst_queue_handle_sink_event):
	Fix nasty refcount bug.

2005-07-16 Philippe Khalaf <burger@speedy.org>

	* gst/elements/gstfdsrc.c:
	* gst/elements/gstfdsrc.h:
	* gst/elements/gstelements.c:
	* gst/elements/Makefile.am:
	Ported fdsrc to 0.9.

2005-07-16  Wim Taymans  <wim@fluendo.com>

	* gst/base/gstbasesink.c: (gst_base_sink_handle_object),
	(gst_base_sink_do_sync):
	Fix compile error.

2005-07-16  Wim Taymans  <wim@fluendo.com>

	* gst/base/gstbasesink.c: (gst_base_sink_handle_object),
	(gst_base_sink_event), (gst_base_sink_get_times),
	(gst_base_sink_do_sync), (gst_base_sink_change_state):
	* gst/base/gstbasesink.h:
	Store and use discont values when syncing buffers as described
	in design docs.
	
	* gst/base/gstbasesrc.c: (gst_base_src_send_discont),
	(gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start),
	(gst_base_src_activate_push):
	Push discont event when starting.

	* gst/elements/gstidentity.c: (gst_identity_transform):
	Small cleanups.

	* gst/gstbin.c: (gst_bin_change_state):
	Small cleanups in base_time  distribution.

	* gst/gstelement.c: (gst_element_set_base_time),
	(gst_element_get_base_time), (gst_element_change_state):
	* gst/gstelement.h:
	Added methods for the base_time of the element.
	Some MT fixes.

	* gst/gstpipeline.c: (gst_pipeline_send_event),
	(gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
	(gst_pipeline_get_last_stream_time):
	* gst/gstpipeline.h:
	MT fixes.
	Handle seeking as described in design doc, remove stream_time
	hack.
	Cleanups clock and stream_time selection code. Added accessors
	for the stream_time.
	

2005-07-16  Andy Wingo  <wingo@pobox.com>

	* gst/gsterror.c (_gst_core_errors_init): Use the magic word
	(#305291).

2005-07-16  Wim Taymans  <wim@fluendo.com>

	* check/gst/gstbin.c: (GST_START_TEST):
	Make elements silent as the deep_notify refs the
	parent, which might make the test fail.

	* gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
	Don't hold the lock for too long.

2005-07-16  Tim-Philipp Müller  <tim at centricular dot net>

	* gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
	  Don't unref the caps we passed to gst_caps_make_writable() after
	  passing them. gst_caps_make_writable() will do that for us.

2005-07-15  Andy Wingo  <wingo@pobox.com>

	* gst/gstcaps.h (gst_caps_is_simple): Removed deprecated macro
	(#157311).

	* gst/elements/gstidentity.c (marshal_VOID__MINIOBJECT): Write our
	own marshalling function for the handoff signal. Properly type the
	buffer as a buffer. Fixes some warnings. Should do a more general
	solution.
	(gst_identity_class_init): Plug into the right marshaller.

2005-07-15  Wim Taymans  <wim@fluendo.com>

	* docs/design/part-TODO.txt:
	* docs/design/part-clocks.txt:
	* docs/design/part-element-sink.txt:
	* docs/design/part-events.txt:
	* docs/design/part-gstpipeline.txt:
	Updated docs, mostly DISCONT related.

2005-07-15  Tim-Philipp Müller  <tim at centricular dot net>

	* docs/pwg/building-pads.xml:
	  s/GST_PAD_LINK_REFUSED/FALSE/ in gst_my_filter_setcaps()

2005-07-15  Andy Wingo  <wingo@pobox.com>

	* tools/gst-typefind.c: Update, add copyright block.

	* gst/base/gstbasesrc.c (gst_base_src_default_negotiate):
	Normalize and truncate caps before fixation.

	* gst/gstcaps.h:
	* gst/gstcaps.c (gst_caps_truncate): New function, destructively
	discards all but the first structure from its argument.

2005-07-15  Wim Taymans  <wim@fluendo.com>

	* gst/base/gstbasetransform.c: (gst_base_transform_init),
	(gst_base_transform_transform_caps), (gst_base_transform_getcaps),
	(gst_base_transform_configure_caps), (gst_base_transform_setcaps),
	(gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
	(gst_base_transform_handle_buffer), (gst_base_transform_getrange),
	(gst_base_transform_chain), (gst_base_transform_change_state),
	(gst_base_transform_set_passthrough),
	(gst_base_transform_is_passthrough):
	* gst/base/gstbasetransform.h:
	Make passthrough work using the bufferpools.
	Changed API a bit, subclasses have to write into a buffer
	provided by the base class.
	More debug info in nego functions.
	
	* gst/elements/gstidentity.c: (gst_identity_init),
	(gst_identity_transform):
	Port to new base class.

2005-07-15  Wim Taymans  <wim@fluendo.com>

	* gst/gstmessage.c: (gst_message_new_state_changed):
	* tools/gst-launch.c: (event_loop), (main):
	Totally dump messages in -launch with the -m option.
	Fix message name for State messages,

2005-07-14  Wim Taymans  <wim@fluendo.com>

	* gst/base/gstbasesrc.c: (gst_base_src_loop):
	Post error messages on errors.

2005-07-14  Wim Taymans  <wim@fluendo.com>

	* gst/gstcaps.c: (gst_caps_do_simplify):
	Remove debug info.

	* gst/gsterror.h:
	Define error for stream stopped.

	* gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
	(gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange):
	Do proper return values.

	* gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
	(gst_pad_set_caps), (gst_pad_chain), (gst_pad_push),
	(gst_pad_get_range):
	Better return values.

	* gst/gstpad.h:
	Reorganise return values, add macro to check for fatal errors.

	* gst/gstqueue.c: (gst_queue_chain):
	Return proper GstFlowReturn values,

2005-07-14  Thomas Vander Stichele  <thomas at apestaart dot org>

	* docs/gst/gstreamer-sections.txt:
	* docs/gst/gstreamer.types:
	* docs/gst/tmpl/gst.sgml:
	* docs/gst/tmpl/gstbasesink.sgml:
	* docs/gst/tmpl/gstbasesrc.sgml:
	* docs/gst/tmpl/gstbasetransform.sgml:
	* docs/gst/tmpl/gstbin.sgml:
	* docs/gst/tmpl/gstbuffer.sgml:
	* docs/gst/tmpl/gstcaps.sgml:
	* docs/gst/tmpl/gstclock.sgml:
	* docs/gst/tmpl/gstcompat.sgml:
	* docs/gst/tmpl/gstconfig.sgml:
	* docs/gst/tmpl/gstelement.sgml:
	* docs/gst/tmpl/gstelementdetails.sgml:
	* docs/gst/tmpl/gstelementfactory.sgml:
	* docs/gst/tmpl/gstenumtypes.sgml:
	* docs/gst/tmpl/gsterror.sgml:
	* docs/gst/tmpl/gstevent.sgml:
	* docs/gst/tmpl/gstfakesink.sgml:
	* docs/gst/tmpl/gstfakesrc.sgml:
	* docs/gst/tmpl/gstfilesink.sgml:
	* docs/gst/tmpl/gstfilesrc.sgml:
	* docs/gst/tmpl/gstfilter.sgml:
	* docs/gst/tmpl/gstformat.sgml:
	* docs/gst/tmpl/gstghostpad.sgml:
	* docs/gst/tmpl/gstimplementsinterface.sgml:
	* docs/gst/tmpl/gstindex.sgml:
	* docs/gst/tmpl/gstindexfactory.sgml:
	* docs/gst/tmpl/gstinfo.sgml:
	* docs/gst/tmpl/gstiterator.sgml:
	* docs/gst/tmpl/gstmacros.sgml:
	* docs/gst/tmpl/gstmemchunk.sgml:
	* docs/gst/tmpl/gstminiobject.sgml:
	* docs/gst/tmpl/gstobject.sgml:
	* docs/gst/tmpl/gstpad.sgml:
	* docs/gst/tmpl/gstpadtemplate.sgml:
	* docs/gst/tmpl/gstparse.sgml:
	* docs/gst/tmpl/gstpipeline.sgml:
	* docs/gst/tmpl/gstplugin.sgml:
	* docs/gst/tmpl/gstpluginfeature.sgml:
	* docs/gst/tmpl/gstquery.sgml:
	* docs/gst/tmpl/gstqueue.sgml:
	* docs/gst/tmpl/gstregistry.sgml:
	* docs/gst/tmpl/gstregistrypool.sgml:
	* docs/gst/tmpl/gstscheduler.sgml:
	* docs/gst/tmpl/gstschedulerfactory.sgml:
	* docs/gst/tmpl/gststructure.sgml:
	* docs/gst/tmpl/gstsystemclock.sgml:
	* docs/gst/tmpl/gsttaglist.sgml:
	* docs/gst/tmpl/gsttagsetter.sgml:
	* docs/gst/tmpl/gsttrace.sgml:
	* docs/gst/tmpl/gsttrashstack.sgml:
	* docs/gst/tmpl/gsttypefind.sgml:
	* docs/gst/tmpl/gsttypefindfactory.sgml:
	* docs/gst/tmpl/gsttypes.sgml:
	* docs/gst/tmpl/gsturihandler.sgml:
	* docs/gst/tmpl/gsturitype.sgml:
	* docs/gst/tmpl/gstutils.sgml:
	* docs/gst/tmpl/gstvalue.sgml:
	* docs/gst/tmpl/gstversion.sgml:
	* docs/gst/tmpl/gstxml.sgml:
	* docs/libs/tmpl/gstcontrol.sgml:
	* docs/libs/tmpl/gstdataprotocol.sgml:
	* docs/libs/tmpl/gstdparam.sgml:
	* docs/libs/tmpl/gstdplinint.sgml:
	* docs/libs/tmpl/gstdpman.sgml:
	* docs/libs/tmpl/gstdpsmooth.sgml:
	* docs/libs/tmpl/gstgetbits.sgml:
	* docs/libs/tmpl/gstunitconvert.sgml:
	* gst/base/gstpushsrc.c: (gst_push_src_get_type),
	(gst_push_src_base_init), (gst_push_src_class_init),
	(gst_push_src_init), (gst_push_src_create):
	* gst/base/gstpushsrc.h:
	* gst/elements/gstelements.c:
	* gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type),
	(gst_fake_sink_base_init), (gst_fake_sink_class_init),
	(gst_fake_sink_init), (gst_fake_sink_set_property),
	(gst_fake_sink_get_property), (gst_fake_sink_get_times),
	(gst_fake_sink_event), (gst_fake_sink_preroll),
	(gst_fake_sink_render), (gst_fake_sink_change_state):
	* gst/elements/gstfakesink.h:
	* gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
	(gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
	(gst_fake_src_base_init), (gst_fake_src_class_init),
	(gst_fake_src_init), (gst_fake_src_event_handler),
	(gst_fake_src_alloc_parent), (gst_fake_src_set_property),
	(gst_fake_src_get_property), (gst_fake_src_prepare_buffer),
	(gst_fake_src_alloc_buffer), (gst_fake_src_get_size),
	(gst_fake_src_create_buffer), (gst_fake_src_create),
	(gst_fake_src_start), (gst_fake_src_stop):
	* gst/elements/gstfakesrc.h:
	* gst/elements/gstfilesink.c: (_do_init),
	(gst_file_sink_base_init), (gst_file_sink_class_init),
	(gst_file_sink_init), (gst_file_sink_dispose),
	(gst_file_sink_set_location), (gst_file_sink_set_property),
	(gst_file_sink_get_property), (gst_file_sink_open_file),
	(gst_file_sink_close_file), (gst_file_sink_query),
	(gst_file_sink_event), (gst_file_sink_render),
	(gst_file_sink_change_state), (gst_file_sink_uri_get_type),
	(gst_file_sink_uri_get_protocols), (gst_file_sink_uri_get_uri),
	(gst_file_sink_uri_set_uri), (gst_file_sink_uri_handler_init):
	* gst/elements/gstfilesink.h:
	* gst/elements/gstfilesrc.c: (_do_init), (gst_file_src_base_init),
	(gst_file_src_class_init), (gst_file_src_init),
	(gst_file_src_finalize), (gst_file_src_set_location),
	(gst_file_src_set_property), (gst_file_src_get_property),
	(gst_file_src_map_region), (gst_file_src_map_small_region),
	(gst_file_src_create_mmap), (gst_file_src_create_read),
	(gst_file_src_create), (gst_file_src_is_seekable),
	(gst_file_src_get_size), (gst_file_src_start), (gst_file_src_stop),
	(gst_file_src_uri_get_type), (gst_file_src_uri_get_protocols),
	(gst_file_src_uri_get_uri), (gst_file_src_uri_set_uri),
	(gst_file_src_uri_handler_init):
	* gst/elements/gstfilesrc.h:
	  more autistic cleanliness in functions/names/defines

2005-07-13  Andy Wingo  <wingo@pobox.com>

	* gst/base/gstbasesrc.c (gst_base_src_start): Post an error if the
	source couldn't negotiate.

	* gst/parse/grammar.y: Revert 1.54->1.55, so we now do filtered
	connections again.

	* gst/gstutils.h:
	* gst/gstutils.c (gst_element_link_pads_filtered): New old
	function. I am channeling Hades. Put your boots on suckers!!!

2005-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>

	* testsuite/caps/Makefile.am:
	* testsuite/caps/value_compare.c:
	* testsuite/caps/value_intersect.c:
	* check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
	  move two testsuite apps over to the check dir

2005-07-12  Wim Taymans  <wim@fluendo.com>

	* gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
	Added more debug info in the negotiate process.

	* gst/gstmessage.h:
	Prepare for segment playback.

	* gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps):
	Better debugging.

	* gst/gstutils.c:
	Some more docs.

	* tools/gst-launch.c: (main):
	NULL pipeline on errors.

2005-07-12  Andy Wingo  <wingo@pobox.com>

	* gst/gstbuffer.c (_gst_buffer_copy): Copy the buffer whether or
	not it comes from a malloc region. Make sure our copy gets freed.

2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>

	* check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
	* check/gst/gstmessage.c: (GST_START_TEST):
	* check/gst/gststructure.c: (GST_START_TEST),
	(gst_structure_suite), (main):
	  more testing
	* gst/gstelement.c: (gst_element_message_full):
	  clean up GError and debug string now that they get copied
	* gst/gstmessage.c: (gst_message_new_error),
	(gst_message_new_warning), (gst_message_parse_error),
	(gst_message_parse_warning):
	  use GST_TYPE_G_ERROR for structure_new, and take copies of
	  arguments, so that we don't mess up refcounting

2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>

	* check/Makefile.am:
	  add per-test valgrind targets
	* check/gst-libs/gdp.c: (GST_START_TEST),
	(gst_data_protocol_suite), (main):
	  clean up

2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>

	* check/Makefile.am:
	  instate more valgrindable tests
	* check/elements/gstfakesrc.c: (chain_func), (event_func),
	(GST_START_TEST), (fakesrc_suite):
	* check/gst/gstpad.c: (GST_START_TEST):
	* check/gst/gststructure.c: (GST_START_TEST):
	  fix test leaks
	* docs/gst/tmpl/gstminiobject.sgml:
	* gst/gstpad.c: (gst_pad_finalize):
	  fix the static mutex leak

2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>

	* check/Makefile.am:
	  add two more tests for valgrinding
	* check/gst/gstvalue.c: (GST_START_TEST):
	  test refcount of deserialized buffer, found a leak
	* docs/gst/gstreamer-docs.sgml:
	* docs/gst/gstreamer-sections.txt:
	* docs/gst/gstreamer.types:
	* docs/gst/tmpl/gstminiobject.sgml:
	  add miniobject to docs
	* gst/gstminiobject.c:
	  add some docs
	* gst/gstvalue.c: (gst_value_deserialize_buffer),
	(gst_string_unwrap):
	  fix a hard-to-find invalid write for one of the tests
	  fix a leak for deserialized buffers

2005-07-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>

	* docs/pwg/advanced-events.xml:
	* docs/pwg/advanced-request.xml:
	* docs/pwg/advanced-scheduling.xml:
	* docs/pwg/appendix-porting.xml:
	* docs/pwg/building-boiler.xml:
	* docs/pwg/intro-preface.xml:
	* docs/pwg/other-ntoone.xml:
	  Rewrite scheduling-chapter for scheduling model in 0.9. Add lots
	  of example code and explanation for pad activation, loop() and
	  getrange() functions and a bit more. Remove old comments pointing
	  to loop-functions.
	* examples/pwg/Makefile.am:
	  Add loop/getrange examples.

2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>

	* configure.ac:
	  check for valgrind binary + some fixes
	* check/gst.supp:
	  valgrind suppressions for the tests
	* check/Makefile.am:
	  add a valgrind: target that valgrinds the unit tests
	* check/gst/gst.c: (GST_START_TEST), (gst_suite):
	* check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
	* check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
	* check/gst/gstghostpad.c:
	  added some cleanup
	* check/gst/gstdata.c:
	  removed
	* check/gst/gstminiobject.c: (GST_START_TEST), (thread_ref),
	(thread_unref), (gst_mini_object_suite), (main):
	  added
	* gst/gst.c: (gst_deinit):
	* gst/gst.h:
	  add a method to clean up.
	* gst/gstsystemclock.c: (gst_system_clock_dispose),
	(gst_system_clock_obtain):
	  allow for disposing the system clock.
	* tools/gst-launch.c: (main):
	  deinit

2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>

	* docs/gst/tmpl/gstbasesrc.sgml:
	* docs/gst/tmpl/gstfakesrc.sgml:
	* gst/base/gstbasesrc.c: (gst_base_src_class_init),
	(gst_base_src_init), (gst_base_src_set_property),
	(gst_base_src_get_property), (gst_base_src_get_range),
	(gst_base_src_start):
	* gst/base/gstbasesrc.h:
	  add num-buffers property
	* gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
	(gst_fakesrc_init), (gst_fakesrc_set_property),
	(gst_fakesrc_get_property), (gst_fakesrc_create),
	(gst_fakesrc_start):
	  remove num-buffers property

2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>

	* docs/gst/gstreamer-sections.txt:
	* docs/gst/tmpl/gstbasesink.sgml:
	* docs/gst/tmpl/gstbasesrc.sgml:
	* gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
	(gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
	(gst_base_sink_finalize), (gst_base_sink_set_clock),
	(gst_base_sink_set_property), (gst_base_sink_get_property),
	(gst_base_sink_handle_object), (gst_base_sink_event),
	(gst_base_sink_do_sync), (gst_base_sink_handle_event),
	(gst_base_sink_handle_buffer), (gst_base_sink_chain),
	(gst_base_sink_loop), (gst_base_sink_deactivate),
	(gst_base_sink_activate_push), (gst_base_sink_activate_pull),
	(gst_base_sink_change_state):
	* gst/base/gstbasesink.h:
	* gst/base/gstbasesrc.h:
	* gst/elements/gstfakesink.c: (gst_fakesink_get_times):
	* gst/elements/gstfilesink.c: (gst_filesink_class_init),
	(gst_filesink_init):
	  more macro splitting

2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>

	* gst/gstelement.c: (gst_element_get_bus):
	  add debug
	* tools/gst-launch.c: (check_intr), (event_loop):
	  fix bus leaks

2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>

	* gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
	  fix a caps leak

2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>

	* gst/base/gstbasesrc.c: (gst_base_src_class_init),
	(gst_base_src_finalize):
	  add finalize method and clean up properly
	* gst/gstpipeline.c: (gst_pipeline_dispose):
	  add debug

2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>

	* check/gst/gstbin.c: (pop_messages), (GST_START_TEST),
	(gst_bin_suite):
	  add more things to check
	* gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
	* gst/gstelement.c:
	  more debug

2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>

	* check/elements/gstfakesrc.c: (chain_func), (event_func),
	(GST_START_TEST), (fakesrc_suite):
	* check/gst-libs/gdp.c: (GST_START_TEST):
	* check/gst/gst.c: (GST_START_TEST):
	* check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
	* check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
	* check/gst/gstbus.c: (GST_START_TEST):
	* check/gst/gstcaps.c: (GST_START_TEST):
	* check/gst/gstdata.c: (GST_START_TEST):
	* check/gst/gstelement.c: (GST_START_TEST):
	* check/gst/gstghostpad.c: (GST_START_TEST):
	* check/gst/gstiterator.c: (GST_START_TEST):
	* check/gst/gstmessage.c: (GST_START_TEST):
	* check/gst/gstobject.c: (GST_START_TEST):
	* check/gst/gstpad.c: (GST_START_TEST):
	* check/gst/gststructure.c: (GST_START_TEST):
	* check/gst/gstsystemclock.c: (GST_START_TEST),
	(gst_systemclock_suite):
	* check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
	* check/gst/gstvalue.c: (GST_START_TEST):
	* check/pipelines/cleanup.c: (GST_START_TEST):
	* check/pipelines/simple_launch_lines.c: (GST_START_TEST):
	* check/states/sinks.c: (GST_START_TEST):
	* check/gstcheck.c: (gst_check_init):
	* check/gstcheck.h:
	  add debugging category
	  use GST_START_TEST now, so we add a debug line

2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>

	* check/gst/gstbin.c: (START_TEST), (gst_bin_suite):
	  add test for state change message on a bin
	* check/gst/gstelement.c: (START_TEST), (gst_element_suite):
	  add another test
	* gst/gstbin.c: (gst_bin_init):
	* gst/gstbus.c: (gst_bus_init), (gst_bus_post):
	* gst/gstelement.c: (gst_element_post_message),
	(gst_element_set_state):
	* gst/gstelementfactory.c: (gst_element_factory_create):
	* gst/gstmessage.c: (gst_message_new):
	* gst/gstscheduler.c:
	  various debugging additions and cleanups

2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>

	* check/Makefile.am:
	* check/gst/gstelement.c: (START_TEST), (gst_element_suite),
	(main):
	  adding tests for elements
	* gst/gstelement.c: (gst_element_dispose):

2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>

	* gst/registries/gstlibxmlregistry.c: (load_feature):
	  plug more leaks.  A simple gst_init() now is leakfree, yay.

2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>

	* gst/registries/gstlibxmlregistry.c: (read_string), (load_paths),
	(gst_xml_registry_load):
	  plug another memleak

2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>

	* configure.ac:
	  use GST_SET_ERROR_CFLAGS
	* docs/faq/cvs.xml:
	  change to ERROR_CFLAGS

2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>

	* configure.ac:
	  make GST_ERROR_CFLAGS overridable and re-enable Werror
	* docs/faq/cvs.xml:
	  add a note about error CFLAGS
	* docs/gst/tmpl/gstfakesrc.sgml:
	* gst/elements/gstfakesrc.c:
	  comment out some unused code
	* gst/gst.c: (split_and_iterate):
	* gst/registries/gstlibxmlregistry.c: (load_pad_template),
	(load_feature):
	  plug some memleaks

2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>

	* common/Makefile.am:
	* common/gtk-doc.mak:
	* docs/gst/Makefile.am:
	  factor out gtk-doc.mak

2005-07-07  Wim Taymans  <wim@fluendo.com>

	* gst/schedulers/threadscheduler.c: (gst_thread_scheduler_func),
	(gst_thread_scheduler_dispose):
	Unlock the STREAM_LOCK completely.

2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>

	* check/Makefile.am:
	* check/elements/.cvsignore:
	* check/elements/gstfakesrc.c: (chain_func), (event_func),
	(START_TEST), (fakesrc_suite), (main):
	* gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
	(gst_fakesrc_set_property), (gst_fakesrc_get_property),
	(gst_fakesrc_create), (gst_fakesrc_start):
	* gst/elements/gstfakesrc.h:
	  adding a first element test

2005-07-07  Andy Wingo  <wingo@pobox.com>

	* gst/gstbus.c (gst_bus_have_pending): Remove intensely irritating
	debug message.

2005-07-07  Wim Taymans  <wim@fluendo.com>

	* gst/gstquery.c:
	* gst/gstquery.h:
	Remove old types

2005-07-07  Wim Taymans  <wim@fluendo.com>

	* gst/base/gstbasesrc.c: (gst_base_src_get_range),
	(gst_base_src_default_negotiate), (gst_base_src_negotiate):
	Allow subclasses to implement their own negotiation.

2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>

	* docs/design/part-gstbin.txt:
	* docs/design/part-gstpipeline.txt:
	  Update design notes to reflect the movement of
	  responsibility for bus handling from GstPipeline to
	  GstBin

2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>

	* configure.ac:
	  Remove unnecessary queue2/3/4 examples.

2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>

	* examples/Makefile.am:
	* examples/helloworld/helloworld.c: (event_loop), (main):
	* examples/queue/queue.c: (event_loop), (main):
	* examples/queue2/queue2.c: (main):
	  Update a couple of the examples to work again.

	* gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
	(gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_event):
	 Spelling corrections and extra debug.
	
	* gst/gstbin.c: (gst_bin_class_init), (gst_bin_init), (is_eos),
	(gst_bin_add_func), (bin_element_is_sink), (gst_bin_get_state),
	(gst_bin_change_state), (gst_bin_dispose), (bin_bus_handler):
	* gst/gstbin.h:
	* gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
	(gst_pipeline_change_state):
	* gst/gstpipeline.h:
	  Move the bus handler for children to the GstBin, and create a
	  separate bus for receiving messages from children to the one the
	  bus sends 'upwards' on.

2005-07-06  Wim Taymans  <wim@fluendo.com>

	* gst/base/README:
	* gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
	(gst_base_sink_handle_object), (gst_base_sink_loop),
	(gst_base_sink_change_state):
	* gst/base/gstbasesink.h:
	* gst/base/gstbasesrc.c: (gst_base_src_class_init),
	(gst_base_src_init), (gst_base_src_setcaps),
	(gst_base_src_getcaps), (gst_base_src_loop),
	(gst_base_src_default_negotiate), (gst_base_src_negotiate),
	(gst_base_src_start), (gst_base_src_change_state):
	* gst/base/gstbasesrc.h:
	Make basesrc negotiate.
	Handle the case where preroll fails in basesink.
	Update README.

2005-07-06  Wim Taymans  <wim@fluendo.com>

	* gst/gstpad.c: (gst_pad_fixate_caps), (gst_pad_accept_caps):
	Implement the fixate function.
	Clean up acceptcaps.

2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>

	* docs/pwg/building-filterfactory.xml:
	* docs/pwg/pwg.xml:
	  Remove never-written filter-factory chapter; I'll add the various
	  base classes to part 4 ("other element types") later on.

2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>

	* docs/pwg/advanced-negotiation.xml:
	* docs/pwg/building-boiler.xml:
	* docs/pwg/building-pads.xml:
	* docs/pwg/pwg.xml:
	* examples/pwg/Makefile.am:
	  Add a chapter on caps negotiation, simplify the original code
	  samples a bit w.r.t. caps negotiation, add link to the advanced
	  section. Add a bunch of examples showing different use cases of
	  different types of caps negotiation. Upstream renegotiation isn't
	  fully documented yet since nobody knows how that works.

2005-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>

	* check/gst/gstpad.c:
	* check/gstcheck.c:
	* gst/gstpad.c: (gst_pad_get_internal_links_default):
	  if pad has no parent, return NULL as list of internal links

2005-07-05  Andy Wingo  <wingo@pobox.com>

	* gst/elements/gstfilesrc.c:
	* gst/elements/gstfakesrc.c: 
	* gst/base/gstpushsrc.c:
	* gst/base/gstbasesrc.h: 
	* gst/base/gstbasesrc.c: s/BASESRC/BASE_SRC/g.
	
2005-07-05  Stefan Kost  <ensonic@users.sf.net>

	* Makefile.am:
	  better report generation target (lcov needs a patch)

2005-07-05  Andy Wingo  <wingo@pobox.com>

	* gst/elements, testsuite: Null if we got it...

2005-07-05  Wim Taymans  <wim@fluendo.com>

	* configure.ac:
	* libs/gst/dataprotocol/Makefile.am:
	* libs/gst/dataprotocol/dataprotocol.c: (gst_dp_validate_packet):
	* libs/gst/dataprotocol/dataprotocol.h:
	* pkgconfig/Makefile.am:
	* pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in:
	* pkgconfig/gstreamer-dataprotocol.pc.in:
	Ported dataprotol to 0.9. 
	Added pkgconfig files.

2005-07-05  Andy Wingo  <wingo@pobox.com>

	* gst/base/gstbasetransform.c (gst_base_transform_setcaps):
	Default to returning TRUE for the case when tranform_caps returns
	a fixed caps, like for identity or volume.

	* check/gst/gstbus.c (pound_bus_with_messages): 
	* check/gst/gstmessage.c (START_TEST): 
	* check/pipelines/simple_launch_lines.c (got_handoff): Application
	message API change.

	* gst/base/gstbasetransform.c (gst_base_transform_setcaps): More
	logic weaks here: always run transform_caps, trying passthrough
	operation only if the original caps intersects with the transform.

	* gst/gstpad.c (gst_pad_link_check_compatible_unlocked): Debug
	source and sink caps.

	* gst/base/gstbasetransform.c (gst_base_transform_getcaps):
	Intersect the peer caps with the pad template before going into
	transform_caps.
	(gst_base_transform_transform_caps): More debugging.

	* gst/gstmessage.h (gst_message_new_application): Take a GstObject
	src argument.

2005-07-04  Edward Hervey  <edward@fluendo.com>

	* gst/gstutils.c:
	* gst/gstutils.h:
	(gst_pad_add_*_probe): now returns the signal id for better wrapping
	in bindings.

2005-07-04  Andy Wingo  <wingo@pobox.com>

	* check/gst/gstpad.c: Only set explicit caps on pads.

2005-07-01  Andy Wingo  <wingo@pobox.com>

	* tests/network-clock.scm: Commentary update.

	* gst/elements/gstidentity.c (PROP_DUPLICATE): Gone daddy gone.
	Didn't really make sense, not implementable with basetransform,
	etc.
	(gst_identity_transform): Unref inbuf via make_writable. Feeble
	attempt at implementing the sync property, needs an unlock method.

	* gst/base/gstbasetransform.c (gst_base_transform_transform_caps):
	New func, by default returns the same caps (the identity
	transformation).
	(gst_base_transform_getcaps): Uses transform_caps to return
	something sensible.
	(gst_base_transform_setcaps): Complicated logic to get caps on
	both pads, even if they are different, and to call set_caps once
	for every time both pads get their caps set.
	(gst_base_transform_handle_buffer): Give the ref to the transform
	function. Allows in-place modification of the buffer.

	* gst/base/gstbasetransform.h (transform_caps): New class method.
	Given caps on one side, what can I do on the other.
	(set_caps): Take two caps, one for each side of the element.

	* gst/gstpad.h:
	* gst/gstpad.c (gst_pad_fixate_caps): Change prototype to modify
	caps in place. This is safe because we can check the mutability of
	the caps, and a good idea because fixate functions are just called
	as a matter of last resort. (Not actually implemented.)
	(gst_pad_set_caps): If the caps we're setting is actually the same
	as the existing pad caps, just update the pointer without calling
	setcaps. Assert that caps is either NULL or fixed, as per the
	docs.

	* gst/gstghostpad.c: Update for fixate changes.

2005-07-02  Andy Wingo  <wingo@pobox.com>

	* gst/gstcaps.c:
	* gst/gstcaps.h (gst_static_caps_get): Not const return, having
	two refcounts makes it immutable, which is enough. Doc more.

2005-07-02  Jan Schmidt  <thaytan@mad.scientist.com>

	* gst/gstpad.c: (gst_pad_emit_have_data_signal):
	  Put the mini_object into GValue as a mini_object,
	  not a gpointer, since that's how we declared
	  the signal.

2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>

	* examples/pwg/Makefile.am:
	  Fix buildbot again.

2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>

	* docs/pwg/building-testapp.xml:
	  Add extra check.
	* examples/pwg/Makefile.am:
	  Fix buildbot.

2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>

	* configure.ac:
	* examples/Makefile.am:
	* examples/pwg/Makefile.am:
	* examples/pwg/extract.pl:
	  Enable building the PWG examples.
	* docs/pwg/advanced-interfaces.xml:
	  Add URI interface stub.
	* docs/pwg/advanced-types.xml:
	* docs/pwg/other-autoplugger.xml:
	* docs/pwg/appendix-porting.xml:
	* docs/pwg/pwg.xml:
	  Add porting guide (mostly stubs), remove autoplugging (see ADM).
	* docs/pwg/building-boiler.xml:
	* docs/pwg/building-chainfn.xml:
	* docs/pwg/building-pads.xml:
	* docs/pwg/building-props.xml:
	* docs/pwg/building-state.xml:
	* docs/pwg/building-testapp.xml:
	  Update the building-*.xml parts for 0.9 changes. All examples
	  code blocks compile in examples/pwg/*.

2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>

	* docs/manual/advanced-autoplugging.xml:
	* docs/manual/appendix-checklist.xml:
	* docs/manual/appendix-integration.xml:
	* docs/manual/highlevel-components.xml:
	  Fix playbin/decodebin examples, update docs a bit, mention bus
	  instead of signals in various places, mention kmplayer and
	  kaffeine since they have a working GStreamer backend in the KDE
	  section.

2005-06-30  Wim Taymans  <wim@fluendo.com>

	* CHANGES-0.9:
	* docs/design/draft-ghostpads.txt:
	* docs/design/draft-push-pull.txt:
	* docs/design/draft-query.txt:
	* docs/design/part-TODO.txt:
	* docs/design/part-query.txt:
	Added CHANGES-0.9 doc, updated status of other docs.
	
	* gst/gstquery.h:
	Remove "hmm" macro

2005-06-30  Wim Taymans  <wim@fluendo.com>

	* gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
	(gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
	(gst_base_sink_change_state):
	* gst/base/gstbasesink.h:
	Some tweaks, only EOS and a buffer complete a preroll.

2005-06-30  Andy Wingo  <wingo@pobox.com>

	* gst/gstghostpad.c (gst_ghost_pad_do_activate_push): Proxy
	activate_push down to the internal pad as well.

2005-06-30  Torsten Schoenfeld  <kaffeetisch@gmx.de>

	Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>

	* gst/gsttaginterface.c:
	  Some documentation fixes (#307394 and #307397).

2005-06-30  Antoine Tremblay  <hexa00@gmail.com>

	Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>

	* gst/gstvalue.c: (gst_value_intersect_list):
	  Fix memleak (#309125).

2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>

	* docs/manual/advanced-dataaccess.xml:
	  Fix fakesrc example to compile; doesn't work, bug somewhere...?
	* docs/manual/basics-pads.xml:
	  Add reference for filtered caps to above chapter.

2005-06-30  Wim Taymans  <wim@fluendo.com>

	* gst/gstbin.c: (clear_queue), (remove_all_from_queue),
	(gst_bin_change_state):
	Probes are gone.
	Lame attempt at making the state change function a bit
	more readable.

2005-06-30  Wim Taymans  <wim@fluendo.com>

	* docs/design/part-clocks.txt:
	* docs/design/part-element-sink.txt:
	* docs/design/part-events.txt:
	* docs/design/part-preroll.txt:
	* docs/design/part-states.txt:
	Some more tweeks and additions to the docs.

2005-06-30  Wim Taymans  <wim@fluendo.com>

	* gst/gstpad.c: (_gst_do_pass_data_accumulator),
	(default_have_data), (gst_pad_class_init), (gst_pad_init),
	(gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
	(gst_pad_check_pull_range), (gst_pad_get_range),
	(gst_pad_pull_range), (gst_pad_push_event), (gst_pad_send_event):
	* gst/gstpad.h:
	* gst/gstutils.c: (gst_atomic_int_set), (gst_pad_add_data_probe),
	(gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
	(gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
	(gst_pad_remove_buffer_probe):
	Removed atomic operations, use existing LOCK.
	Move exception handling out of main code path.

2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>

	* gst/gstpad.c: (_gst_do_pass_data_accumulator),
	(silly_return_true_function), (gst_pad_class_init),
	(gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
	(gst_pad_get_range), (gst_pad_pull_range), (gst_pad_push_event),
	(gst_pad_send_event):
	  Fix accumulator, add default value by using _emitv() instead
	  of _emit() for signal emission.

2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>

	* docs/manual/advanced-dataaccess.xml:
	* examples/manual/Makefile.am:
	  Add probe example.
	* gst/gstpad.c: (_gst_do_pass_data_accumulator):
	  Make work (??).

2005-06-29  Tim-Philipp Müller  <tim at centricular dot net>

	* gst/elements/gstfilesink.c: (gst_filesink_render):
	  Simplify code so that we don't have to handle short
	  writes and return GST_FLOW_ERROR if an error occured.

2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>

	* docs/gst/gstreamer-docs.sgml:
	  Remove probes more.

2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>

	* docs/gst/gstreamer-sections.txt:
	* docs/gst/tmpl/gstpad.sgml:
	* docs/gst/tmpl/gstprobe.sgml:
	* gst/Makefile.am:
	* gst/gstpad.c: (_gst_do_pass_data_accumulator),
	(gst_pad_class_init), (gst_pad_init), (gst_pad_chain),
	(gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
	(gst_pad_push_event), (gst_pad_send_event):
	* gst/gstpad.h:
	* gst/gstutils.c: (gst_pad_add_data_probe),
	(gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
	(gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
	(gst_pad_remove_buffer_probe):
	* gst/gstutils.h:
	  Remove old probes, add new g-signal-based probes and some utility
	  functions.

2005-06-29  Edward Hervey  <edward@fluendo.com>

	* gst/gstelementfactory.c:
	* gst/gstutils.h:
	* gst/gstutils.c:
	Moved gst_element_factory_can_[sink|src]_caps() to gstutils and added
	the definition to the header file.

2005-06-29  Andy Wingo  <wingo@pobox.com>

	* docs/gst/Makefile.am (scan-build.stamp): Totally only check
	plugins from the source directory.

2005-06-29  Wim Taymans  <wim@fluendo.com>

	* docs/gst/tmpl/gstbuffer.sgml:
	* docs/gst/tmpl/gstclock.sgml:
	Some fixings for blantently wrong text.

2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>

	* check/Makefile.am:
	* gst/gst.c: (add_path_func), (init_pre):
	* gst/gstregistry.c: (gst_registry_add_path):
	  add A GST_PLUGIN_PATH_ONLY env var; if it is set, it will
	  only scan the GST_PLUGIN_PATH locations, and not add
	  system locations

2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>

	* docs/gst/gstreamer-sections.txt:
	* docs/gst/tmpl/gstbasesrc.sgml:
	* gst/gstelement.c:
	* gst/gstelement.h:
	* gst/gstevent.c:
	* gst/gstutils.c:
	  doc fixes

2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>

	* docs/manual/advanced-autoplugging.xml:
	  Fix autoplugging example.

2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>

	* docs/manual/advanced-autoplugging.xml:
	* docs/manual/mime-world.fig:
	  Try to get autoplugging working, fix type detection. Fix text
	  in hello-world image.

2005-06-29  Wim Taymans  <wim@fluendo.com>

	* gst/base/gstbasesink.c: (gst_base_sink_handle_object),
	(gst_base_sink_change_state):
	Small debug line.

	* gst/gstclock.h:
	map SIGNAL and BROADCAST to the right function.

	* gst/gstobject.h:
	Remove redundant braces.

	* gst/gstpad.c: (gst_pad_set_caps):
	Don't call setcaps function when reseting caps to NULL.

	* gst/gstsystemclock.c: (gst_system_clock_dispose),
	(gst_system_clock_async_thread), (gst_system_clock_id_wait_async),
	(gst_system_clock_id_unschedule):
	Use BROADCAST as this is what we do.

2005-06-29  Wim Taymans  <wim@fluendo.com>

	* gst/base/gstbasesink.c: (gst_base_sink_handle_object):
	We are actually prerolling before commiting the state
	change. 

2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>

	* docs/manual/advanced-clocks.xml:
	* docs/manual/advanced-interfaces.xml:
	* docs/manual/advanced-metadata.xml:
	* docs/manual/advanced-position.xml:
	* docs/manual/advanced-schedulers.xml:
	* docs/manual/advanced-threads.xml:
	* docs/manual/appendix-porting.xml:
	* docs/manual/basics-bins.xml:
	* docs/manual/basics-bus.xml:
	* docs/manual/basics-elements.xml:
	* docs/manual/basics-helloworld.xml:
	* docs/manual/basics-pads.xml:
	* docs/manual/highlevel-components.xml:
	* docs/manual/manual.xml:
	* docs/manual/thread.fig:
	  Update (until threads/scheduling) Application Development Manual;
	  remove GstThread, add GstBus, add simple porting checklist, add
	  documentation for tag writing, clocks, make all examples until this
	  part compile and run.
	* examples/manual/Makefile.am:
	  Update from changes to Application Development Manual; add bus
	  example, remove thread example.

2005-06-28  Wim Taymans  <wim@fluendo.com>

	* gst/gstbus.c: (gst_bus_post), (gst_bus_have_pending),
	(gst_bus_set_flushing), (gst_bus_pop), (gst_bus_peek),
	(gst_bus_source_dispatch):
	Add debugging messages.
	Make internal methods static.
	Handle the case where the bus is flushed in the handler.
	
	* gst/gstelement.c: (gst_element_get_bus):
	Fix refcount in _get_bus();

	* gst/gstpipeline.c: (gst_pipeline_change_state),
	(gst_pipeline_get_clock_func):
	Clock refcounting fixes.
	Handle the case where preroll timed out more gracefully.
	
	* gst/gstsystemclock.c: (gst_system_clock_dispose):
	Clean up the internal thread in dispose. This is needed
	for subclasses that actually get disposed.
	
	* gst/schedulers/threadscheduler.c:
	(gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
	(gst_thread_scheduler_dispose):
	Free thread pool in dispose.

2005-06-28  Andy Wingo  <wingo@pobox.com>

	* tests/network-clock-utils.scm (debug, print-event): New utils.

	* tests/network-clock.scm (*debug*, *with-graph*): New parameters.
	(*packet-loss*): Unified loss probability.
	(network-time): Report out-of-band events.

	* tests/plot-data: Add support for out-of-band events. Hack it
	into this script instead of passing it down the pipe; should fix
	this later.

2005-06-28  Wim Taymans  <wim@fluendo.com>

	* docs/gst/gstreamer.types:
	* docs/gst/tmpl/gstbasesrc.sgml:
	* docs/gst/tmpl/gstpad.sgml:
	Docs fixes.

2005-06-28  Wim Taymans  <wim@fluendo.com>

	* gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
	(gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_acceptcaps),
	(gst_proxy_pad_do_fixatecaps):
	Correctly proxy the check_pull_range function.

2005-06-28  Andy Wingo  <wingo@pobox.com>

	* tests/network-clock.scm: Removed need for slib.
	
2005-06-28  Wim Taymans  <wim@fluendo.com>

	* gst/base/gstbasesink.c: (gst_basesink_set_pad_functions),
	(gst_basesink_preroll_queue_flush):
	* gst/base/gstbasesrc.c: (gst_basesrc_set_dataflow_funcs):
	* gst/elements/gsttee.c: (gst_tee_update_pad_functions):
	* gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
	(gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
	(gst_proxy_pad_set_property):
	* gst/gstpad.c:
	* gst/gstpad.h:
	* gst/gstqueue.c: (gst_queue_init):
	The deprecated pad loop function is removed now.

2005-06-28  Andy Wingo  <wingo@pobox.com>

	* tests/network-clock.scm (*timeout*, *send-loss*, *recv-loss*):
	New parameters, simulate network packet loss.

	* tests/network-clock-utils.scm: Initialize the RNG.

2005-06-28  Wim Taymans  <wim@fluendo.com>

	* gst/base/gstbasesink.c: (gst_basesink_preroll_queue_flush),
	(gst_basesink_event), (gst_basesink_deactivate):
	Flushing the preroll queue always needs to unlock the waiters.

2005-06-28  Edward Hervey  <edward@fluendo.com>

	* gst/gstpipeline.c: (gst_pipeline_send_event): 
	Wheen a seek was successful on a pipeline, set the stream_time to the
	seek offset in order to have a synchronized stream_time.

2005-06-28  Wim Taymans  <wim@fluendo.com>

	* gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
	(gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
	(gst_proxy_pad_do_getcaps), (gst_proxy_pad_do_acceptcaps),
	(gst_proxy_pad_do_fixatecaps):
	Call wrapper function instead of just calling the function
	pointers. This takes care of any locking and whatmore.

2005-06-28  Wim Taymans  <wim@fluendo.com>

	* gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push),
	(gst_pad_pull_range):
	* gst/gstpad.h:
	CONNECTED -> LINKED.

2005-06-28  Andy Wingo  <wingo@pobox.com>

	* *.c: Don't cast to GST_OBJECT when reffing or unreffing. Large
	source-munging commit!!!

	* gst/gstobject.c (gst_object_unref, gst_object_ref) 
	(gst_object_sink): Take gpointer arguments, not GstObject --
	avoids casts. Like GLib.

	* gst/gstghostpad.c (gst_proxy_pad_do_activate): Don't proxy
	activate.

2005-06-27  Andy Wingo  <wingo@pobox.com>

	* gst/base/gsttypefindhelper.c (gst_type_find_helper): Unref any
	remaining buffer.

	* gst/gsttrace.c (gst_alloc_trace_list_sorted): New helper,
	returns a sorted copy of the trace list.
	(gst_alloc_trace_print_live): New API, only prints traces with
	live objects. Sort the list.
	(gst_alloc_trace_print_all): Sort the list.
	(gst_alloc_trace_print): Align columns.

	* gst/elements/gstttypefindelement.c:
	* gst/elements/gsttee.c:
	* gst/base/gstbasesrc.c:
	* gst/base/gstbasesink.c:
	* gst/base/gstbasetransform.c:
	* gst/gstqueue.c: Adapt for pad activation changes.

	* gst/gstpipeline.c (gst_pipeline_init): Unref after parenting
	sched.
	(gst_pipeline_dispose): Drop ref on sched.

	* gst/gstpad.c (gst_pad_init): Set the default activate func.
	(gst_pad_activate_default): Push mode by default.
	(pre_activate_switch, post_activate_switch): New stubs, things to
	do before and after switching activation modes on pads.
	(gst_pad_set_active): Take a boolean and not a mode, dispatch to
	the pad's activate function to choose which mode to activate.
	Shortcut on deactivation and call the right function directly.
	(gst_pad_activate_pull): New API, (de)activates a pad in pull
	mode.
	(gst_pad_activate_push): New API, same for push mode.
	(gst_pad_set_activate_function) 
	(gst_pad_set_activatepull_function) 
	(gst_pad_set_activatepush_function): Setters for new API.

	* gst/gstminiobject.c (gst_mini_object_new, gst_mini_object_free):
	Trace all miniobjects.
	(gst_mini_object_make_writable): Unref the arg if we copy, like
	gst_caps_make_writable.

	* gst/gstmessage.c (_gst_message_initialize): No trace init.

	* gst/gstghostpad.c (gst_proxy_pad_do_activate) 
	(gst_proxy_pad_do_activatepull, gst_proxy_pad_do_activatepush):
	Adapt for new pad API.

	* gst/gstevent.c (_gst_event_initialize): Don't initialize trace.

	* gst/gstelement.h:
	* gst/gstelement.c (gst_element_iterate_src_pads) 
	(gst_element_iterate_sink_pads): New API functions.
	
	* gst/gstelement.c (iterator_fold_with_resync): New utility,
	should fold into gstiterator.c in some form.
	(gst_element_pads_activate): Simplified via use of fold and
	delegation of decisions to gstpad->activate.

	* gst/gstbus.c (gst_bus_source_finalize): Set the bus to NULL,
	help in debugging.

	* gst/gstbuffer.c (_gst_buffer_initialize): Ref the buffer type
	class once in init, like gstmessage. Didn't run into this issue
	but it seems correct. Don't initialize a trace, gstminiobject does
	that.

	* check/pipelines/simple_launch_lines.c (test_stop_from_app): New
	test, runs fakesrc ! fakesink, stopping on ::handoff via a message
	to the bus.
	(assert_live_count): New util function, uses alloc traces to check
	cleanup.

	* check/gst/gstghostpad.c (test_ghost_pads): More refcount checks.
	To be modified when unlink drops the internal pad.

2005-06-27  Wim Taymans  <wim@fluendo.com>

	* gst/gstbin.c: (gst_bin_get_state), (gst_bin_iterate_state_order),
	(gst_bin_change_state):
	Cleanup the get_state() function a little, make sure it
	iterates the same set of elements.
	Added stub iterate_state_order().

2005-06-27  Thomas Vander Stichele  <thomas at apestaart dot org>

	* docs/gst/gstreamer-docs.sgml:
	* docs/gst/gstreamer-sections.txt:
	* docs/gst/gstreamer.types:
	* docs/gst/tmpl/gstbasesink.sgml:
	* docs/gst/tmpl/gstbasesrc.sgml:
	* docs/gst/tmpl/gstbasetransform.sgml:
	* docs/gst/tmpl/gstelement.sgml:
	* docs/gst/tmpl/gstiterator.sgml:
	* gst/base/gstbasesrc.c:
	* gst/base/gstbasesrc.h:
	* gst/base/gstbasetransform.h:
	* gst/gstelement.c:
	* gst/gstiterator.h:
	  adding basetransform and iterator docs

2005-06-27  Andy Wingo  <wingo@pobox.com>

	* docs/design/part-activation.txt: Notes on how activation should
	work -- not quite implemented yet.

2005-06-25  Wim Taymans  <wim@fluendo.com>

	* gst/gstghostpad.c: (gst_proxy_pad_do_chain):
	At least get the chain function correct, needs more
	fixing.

2005-06-25  Wim Taymans  <wim@fluendo.com>

	* gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
	(gst_basesink_handle_object), (gst_basesink_event),
	(gst_basesink_do_sync), (gst_basesink_handle_event),
	(gst_basesink_change_state):
	* gst/gsttask.h:
	Right, two problems here: ghostpads don't take locks and
	glib _rec_mutex_lock_full() with depth==0 still locks.
	Catch illegal locking and g_warn them.

2005-06-25  Wim Taymans  <wim@fluendo.com>

	* check/states/sinks.c: (START_TEST), (gst_object_suite):
	Have to check for completion now...

2005-06-25  Wim Taymans  <wim@fluendo.com>

	* gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
	(gst_basesink_handle_object), (gst_basesink_event),
	(gst_basesink_do_sync), (gst_basesink_handle_event),
	(gst_basesink_change_state):
	* gst/gstpad.h:
	Unlock STREAM_LOCK whatever the recursion was.

2005-06-25  Wim Taymans  <wim@fluendo.com>

	* gst/base/gstbasesink.c: (gst_basesink_set_property),
	(gst_basesink_preroll_queue_empty),
	(gst_basesink_preroll_queue_flush), (gst_basesink_handle_object),
	(gst_basesink_event), (gst_basesink_do_sync),
	(gst_basesink_handle_event), (gst_basesink_handle_buffer),
	(gst_basesink_chain), (gst_basesink_loop), (gst_basesink_activate),
	(gst_basesink_change_state):
	Reworked the base sink, handle event and buffer serialisation
	correctly and removed possible deadlock.
	Handle EOS correctly.

2005-06-25  Wim Taymans  <wim@fluendo.com>

	* gst/gstpipeline.c: (is_eos), (pipeline_bus_handler),
	(gst_pipeline_change_state):
	* tools/gst-launch.c: (check_intr), (event_loop), (main):
	Allow elements to post EOS in the state change function.
	Fix up -launch, make it exit the poll loop when the
	pipeline actually changed state.
	Fix up warning parsing in -launch.

2005-06-25  Wim Taymans  <wim@fluendo.com>

	* gst/elements/gsttee.c: (gst_tee_chain), (gst_tee_loop),
	(gst_tee_sink_activate):
	Core takes STREAM_LOCK for us now.

2005-06-25  Wim Taymans  <wim@fluendo.com>

	* gst/gstelement.c: (gst_element_get_state_func),
	(gst_element_set_state):
	* gst/gstelement.h:
	* gst/gstmessage.c: (gst_message_parse_error),
	(gst_message_parse_warning):
	Keep track of current target state while performing a state
	change so that subclasses can do something interesting.
	Fix parsing of warning/error messages when GError is NULL.

2005-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>

	* docs/gst/Makefile.am:
	* docs/gst/gstreamer-docs.sgml:
	* docs/gst/gstreamer-sections.txt:
	* docs/gst/gstreamer.types:
	* docs/gst/tmpl/gstbasesink.sgml:
	* docs/gst/tmpl/gstbasesrc.sgml:
	* docs/gst/tmpl/gstbin.sgml:
	* docs/gst/tmpl/gstcompat.sgml:
	* docs/gst/tmpl/gstfakesink.sgml:
	* docs/gst/tmpl/gstfakesrc.sgml:
	* docs/gst/tmpl/gstfilesink.sgml:
	* docs/gst/tmpl/gstfilesrc.sgml:
	* docs/gst/tmpl/gstindex.sgml:
	* docs/manual/appendix-quotes.xml:
	* gst/base/gstbasesrc.h:
	* gst/elements/gstfakesrc.h:
	* gst/gstmessage.h:
	  start pulling in base classes and elements in our docs

2005-06-24  Stefan Kost  <ensonic@users.sf.net>

	* docs/gst/Makefile.am:
	* docs/libs/Makefile.am:
	  fixed make distcheck with gtk-doc 1.3

2005-06-23  Wim Taymans  <wim@fluendo.com>

	* gst/gstelement.c: (gst_element_get_state_func),
	(gst_element_set_state), (gst_element_change_state):
	When the state did not change, also report NO_PREROLL
	when it matters.

2005-06-23  Wim Taymans  <wim@fluendo.com>

	* gst/gstpad.c: (gst_pad_event_default):
	* gst/gstqueue.c: (gst_queue_loop):
	No unsafe task pausing please.

2005-06-23  Wim Taymans  <wim@fluendo.com>

	* gst/schedulers/threadscheduler.c:
	(gst_thread_scheduler_task_start),
	(gst_thread_scheduler_task_pause), (gst_thread_scheduler_func):
	Ref the task before pushing it on the threadpool. This
	makes sure that we have a ref when the threadfunction is
	actually called.

2005-06-23  Andy Wingo  <wingo@pobox.com>

	* gst/base/gstbasesrc.c (gst_basesrc_get_range): Check if the
	offset is greater than the file's size.

	* gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK) 
	(GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass)
	* gst/gstobject.c (gst_object_class_init): Make the class lock
	recursive. Wim won't let me drop deep_notify. Decodebin works
	again, whoopdy doo.

	* gst/gstghostpad.c (on_int_notify): Catches notify::caps on the
	internal pad, and hacks accordingly. Doesn't do it on the target
	pad because we change its caps. Probably catches all cases of
	interest tho.
	(gst_ghost_pad_set_property): Connect to notify::caps as
	appropritate.

	* tests/network-clock.scm (plot-simulation): Pipe data to the
	elite python skript.

	* tests/network-clock-utils.scm (define-parameter): New macro,
	defines a parameter that can be set via the command line.
	(set-parameter!, parse-parameter-arguments): Command line args
	parser.

	* tests/plot-data: Simple matplotlib-based plotter, takes input on
	stdin.

2005-06-23  Jan Schmidt  <thaytan@mad.scientist.com>

	* gst/elements/gsttypefindelement.c:
	(gst_type_find_element_handle_event):
	  Don't restart typefinding on a discont.
	* gst/gstelement.c: (gst_element_set_state):
	  Debug spelling fix.
	* gst/gstpad.c: (gst_pad_set_active), (gst_pad_send_event):
	  Allow changing mode of an active pad.
	  Debug output fixes.
	* gst/registries/gstlibxmlregistry.c: (load_feature):
	  Don't cast a static pad template to a normal pad template.

2005-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>

	* check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
	* gst/gstvalue.c: (gst_value_deserialize_int_helper):
	  remove gst_strtoll completely, since it didn't actually do
	  anything more than what g_ascii_strtoull already does.
	  check for range errors when deserializing
	  do a cast for the unsigned cases; but further fixing needs
	  a decision on what the interpretation of "(int)" and
	  deserialization should be for values that fall outside the
	  type's boundaries (ie, refuse, or interpret as casting)

2005-06-23  Wim Taymans  <wim@fluendo.com>

	* check/Makefile.am:
	* check/states/sinks.c: (START_TEST), (gst_object_suite), (main):
	* docs/design/part-live-source.txt:
	* docs/design/part-states.txt:
	* gst/base/gstbasesrc.c: (gst_basesrc_init),
	(gst_basesrc_set_live), (gst_basesrc_is_live),
	(gst_basesrc_get_range), (gst_basesrc_activate),
	(gst_basesrc_change_state):
	* gst/base/gstbasesrc.h:
	* gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
	(gst_fakesrc_set_property), (gst_fakesrc_get_property):
	* gst/gstbin.c: (gst_bin_get_state), (gst_bin_change_state):
	* gst/gstelement.c: (gst_element_get_state_func),
	(gst_element_set_state):
	* gst/gstelement.h:
	* gst/gsttypes.h:
	* tools/gst-launch.c: (event_loop), (main):
	Added support for live sources and other elements that
	cannot do preroll.
	Updated design docs, added live-source design doc.
	Implemented live source functionality in basesrc
	Fix error condition in _bin_get_state()
	Implement live source handling in -launch.
	Added check for live sources.
	Fixed case in GstBin where elements were changed state
	multiple times.


2005-06-23  Andy Wingo  <wingo@pobox.com>

	* check/gst/gstpad.c (test_get_allowed_caps, test_refcount): Fix
	borken refcounting.

	* gst/gstpad.c (gst_pad_set_caps): Remove needless refs,
	gst_caps_replace takes care of this for us.

	* gst/gstghostpad.c (gst_proxy_pad_do_setcaps): Call the full
	gst_pad_set_caps on the target, not just its setcaps() function.

	* tests/network-clock.scm: 
	* tests/network-clock-utils.scm: A network clock simulator.
	Something of an algorithmic testbed before doing something in C.

2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>

	* check/Makefile.am:
	* check/gst/capslist.h:
	  copy over from 0.8, and add two with bitmasks specified with
	  (int) 0xFF...
	* check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
	  add test to parse everything from capslist.h
	* check/gst/gststructure.c: (START_TEST), (gst_value_suite),
	(main):
	  add test for structure deserialization
	* check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
	  add tests for deserialization of strings to int types
	* gst/gststructure.c: (gst_structure_nth_field_name):
	* gst/gststructure.h:
	  add a way to get the name of a field referenced by index
	* gst/gstvalue.c: (gst_value_deserialize_int_helper):
	  instead of checking if the resulting long long lies between
	  min and max, we check if the long long would fit into
	  a number of bytes for the final type.
	  This fixes cases where a string represents 2^32 - 1, which
	  when cast to int would be the (valid) -1, but is bigger than
	  G_MAXINT

2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>

	* gst/parse/grammar.y:
	  add a log line for type deserialization

2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>

	* check/gst/gstvalue.c: (START_TEST):
	* gst/gstvalue.c: (gst_value_deserialize):
	  return long long, not int, so gint64 deserialization actually
	  works.  Is there any flag that makes the compiler check this ?
	  Fixes #308559

2005-06-22  Wim Taymans  <wim@fluendo.com>

	* gst/gstbuffer.h:
	Added convenience macros for setting buffers in GValue.

2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>

	* check/gst/.cvsignore:
	* check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
	  add a test deserializing int64, and comment part out because
	  it fails, yay !

2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>

	* check/Makefile.am:
	* check/gst/gstvalue.c: (START_TEST), (gst_value_suite), (main):
	* testsuite/Makefile.am:
	* testsuite/caps/Makefile.am:
	* testsuite/caps/value_serialize.c:
	* testsuite/test_gst_init.c:
	  move a value_serialize test over

2005-06-20  Wim Taymans  <wim@fluendo.com>

	* gst/gstpad.c:
	Small doc updates.
	
	* gst/gstvalue.c: (gst_value_compare_buffer),
	(gst_value_serialize_buffer), (gst_value_deserialize_buffer),
	(gst_value_compare_flags), (gst_value_serialize_flags),
	(gst_value_deserialize_flags), (_gst_value_initialize):
	Fix serialisation of buffers, they are not boxed types anymore

2005-06-20  Wim Taymans  <wim@fluendo.com>

	* check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
	Testcase to show error in buffer-on-caps serialisation.

2005-06-20  Andy Wingo  <wingo@pobox.com>

	* docs/random/wingo/porting-plugins-to-0.9: A pitiful document I
	will be adding to later.

	* gst/gstsystemclock.c (gst_system_clock_init): Unlock the clock
	if its socks fill with rocks.
	(gst_system_clock_obtain): Set the name on object construction.
	Avoid double-checked locking.

2005-06-20  Tim-Philipp Müller  <tim at centricular dot net>

	* gst/gsturi.c: (gst_element_make_from_uri):
	  Fix potential endless loop.

2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>

	* check/Makefile.am:
	  add gsttag
	* check/gst/gsttag.c: (check_tags), (START_TEST), (gst_tag_suite),
	(main):
	  move over from testsuite dir and clean up
	* configure.ac:
	* gst/gsttag.c:
	* testsuite/Makefile.am:
	* testsuite/tags/.cvsignore:
	* testsuite/tags/Makefile.am:
	* testsuite/tags/merge.c:
	  remove testsuite/tags

2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>

	* docs/gst/gstreamer-sections.txt:
	* docs/gst/tmpl/gstenumtypes.sgml:
	* win32/gstenumtypes.c:
	  clean up documentation build a little

2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>

	* check/gstcheck.h:
	  add macros for checking refcounts on objects and caps
	* check/gst/gstpad.c: (START_TEST), (gst_pad_suite):
	  add some more unit tests
	* gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
	(gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_allowed_caps):
	  fix leaked refcounts (I hope :)) so unittest works
	* gst/gstpad.h:
	  whitespace removal

2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>

	* configure.ac: back to HEAD

=== release 0.9.1 ===

2005-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>

	* NEWS:
	* RELEASE:
	  updated

2005-06-17  Andy Wingo  <wingo@pobox.com>

	* gst/base/gstbasesink.c (gst_basesink_chain): Remove bogus
	assert; it's always possible that the pad gets deactivated in
	between the checks in gstpad.c and the implementation. Rely on
	finish_preroll() to return a FLUSHING or similar instead of on the
	assert.
	
	* gst/base/gstbasesink.c (gst_basesink_event): Only wait for the
	clock and post an EOS message if we come out of finish_preroll in
	the playing state.

2005-06-16  David Schleef  <ds@schleef.org>

	* gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
	(gst_capsfilter_set_property): Allow NULL as possible value
	for filter_caps property, indicating GST_CAPS_ANY.

2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>

	* gst/elements/gstfakesrc.c: (gst_fakesrc_create):
	  fix debug output
	* gst/schedulers/Makefile.am:
	  use libgst prefix
	* gstreamer.spec.in:
	  fix spec for it

2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>

	* gstreamer.spec.in:
	  clean up

2005-06-08  Andy Wingo  <wingo@pobox.com>

	* gst/gstutils.c: RPAD fixes all around.
	(gst_element_link_pads): Refcounting fixes.

	* tools/gst-inspect.c:
	* tools/gst-xmlinspect.c:
	* parse/grammar.y:
	* gst/base/gsttypefindhelper.c:
	* gst/base/gstbasesink.c:
	* gst/gstqueue.c: RPAD fixes.

	* gst/gstghostpad.h:
	* gst/gstghostpad.c: New ghost pad implementation as full proxy
	pads. The tricky thing is they provide both source and sink
	interfaces, since they proxy the internal pad for the external
	pad, and vice versa. Implement with lower-level ProxyPad objects,
	with the interior proxy pad as a child of the exterior ghost pad.
	Should write a doc on this.
	
	* gst/gstpad.h: s/RPAD/PAD/, s/RealPad/Pad/.
	(gst_pad_set_name, gst_pad_set_parent): Macros removed, use
	gst_object API.
	
	* gst/gstpad.c: Big changes. No more stub base GstPad, now all
	pads are real pads. No ghost pads in this file. Not documenting
	the myriad s/RPAD/PAD/ and REALIZE fixes.
	(gst_pad_class_init): Add properties for "direction" and
	"template". Both are construct-only, so they can't change during
	the life of the pad. Fixes properly deriving from GstPad.
	(gst_pad_custom_new, gst_pad_custom_new_from_template): Gone. For
	derived objects, just set properties when creating the objects via
	g_object_new.
	(gst_pad_get_parent): Implement as a function, return NULL if the
	parent is not an element.
	(gst_pad_get_real_parent, gst_pad_add_ghost_pad)
	(gst_pad_remove_ghost_pad, gst_pad_realize): Removed.
	
	* gst/gstobject.c (gst_object_class_init): Make name a construct
	property. Don't set it in the object init.

	* gst/gstelement.c (gst_element_add_pad): Don't allow adding pads
	with UNKNOWN direction.
	(gst_element_add_ghost_pad): Remove non-orthogonal API. Replace
	with gst_element_add_pad (e, gst_ghost_pad_new (name, pad)).
	(gst_element_remove_pad): Remove ghost-pad special cases.
	(gst_element_pads_activate): Remove rpad cruft.

	* gst/gstbin.c (gst_bin_change_state): Use gst_pad_get_parent to
	catch the pad's-parent-not-an-element case.

	* gst/gst.h: Include gstghostpad.h.

	* gst/gst.c (init_post): No more real, ghost pads.

	* gst/Makefile.am: Add gstghostpad.[ch].

	* check/Makefile.am:
	* check/gst/gstbin.c:
	* check/gst/gstghostpad.c (test_ghost_pads): Check that linking
	into a bin creates ghost pads, and that the refcounts are right.
	Partly moved from gstbin.c.

2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>

	* check/gst-libs/.cvsignore:
	* check/gst/.cvsignore:
	* check/pipelines/.cvsignore:
	  ignore more
	* check/pipelines/cleanup.c: (setup_pipeline), (run_pipeline),
	(START_TEST), (cleanup_suite), (main):
	  add some tests related to cleanup after running pipelines

2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>

	* check/gst/gstbuffer.c: (START_TEST), (gst_test_suite), (main):
	  add a testsuite for GstBuffer

2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>

	* gst/gstminiobject.h:
	  add defines for accessing the refcount

2005-06-03  Stefan Kost  <ensonic@users.sf.net>

	* Makefile.am: added support for html unit test coverage reports

2005-06-03  Jan Schmidt  <thaytan@mad.scientist.com>

	* gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
	  Free existing caps if the capsfilter changes. Add a FIXME about
	  setting those caps on the pads.

	* gst/gstutils.c: (gst_element_get_compatible_pad), (ghost_up):
	  Before adding a ghost pad to a parent bin, check that there isn't
	  already one for the element on the bin. Prevents infinite recursion
	  when using decodebin in parse pipelines. Andy says he'll rewrite the
	  way this works anyway, so ignore the hack.

2005-06-02  Andy Wingo  <wingo@pobox.com>

	* gst/elements/gsttypefindelement.c (do_pull_typefind): Query the
	file size, pass it on to the type find helper.

	* gst/base/gstbasesrc.c (gst_basesrc_do_seek): Set the
	segment_start and segment_end properly according to the seek
	method. Segment_end is still a bit flaky because offset can be
	negative for CUR and END cases, but it takes -1 as an "unset"
	value.

2005-06-02  Wim Taymans  <wim@fluendo.com>

	* gst/base/gstbasesink.c: (gst_basesink_pad_buffer_alloc),
	(gst_base_sink_buffer_alloc), (gst_basesink_preroll_queue_push),
	(gst_basesink_activate):
	* gst/base/gstbasesink.h:
	* gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
	(gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
	(gst_pad_query), (gst_pad_start_task):
	* gst/gstpad.h:
	* gst/gstqueue.c: (gst_queue_bufferalloc),
	(gst_queue_handle_sink_event), (gst_queue_chain):
	Bufferalloc: return GstFlowReturn to more accuratly report
	why allocation failed.

2005-06-02  Wim Taymans  <wim@fluendo.com>

	* gst/gstpipeline.c: (gst_pipeline_send_event):
	Take snapshot of state without blocking.

2005-06-02  Wim Taymans  <wim@fluendo.com>

	* docs/design/part-TODO.txt:
	* docs/design/part-caps.txt:
	* docs/design/part-clocks.txt:
	* docs/design/part-negotiation.txt:
	* docs/design/part-preroll.txt:
	Small doc updates 

2005-05-30  Wim Taymans  <wim@fluendo.com>

	* gst/elements/gstidentity.c: (gst_identity_event),
	(gst_identity_transform), (gst_identity_get_property):
	Protect last_message property as it is accessed from
	multiple threads.

2005-05-30  Wim Taymans  <wim@fluendo.com>

	* gst/gstelement.c: (gst_element_init),
	(gst_element_pads_activate), (gst_element_change_state):
	Slicker pad activation code.

2005-05-30  Wim Taymans  <wim@fluendo.com>

	* gst/Makefile.am:
	* gst/gstelement.h:
	* gst/gstelementfactory.h:
	* gst/gsttypes.h:
	Move elementfactory methods to separate .h file.

2005-05-30  Wim Taymans  <wim@fluendo.com>

	* docs/design/part-overview.txt:
	* gst/gstsystemclock.h:
	Small typo fixes, doc updates.

2005-05-30  Wim Taymans  <wim@fluendo.com>

	* gst/gst.c: (gst_init_get_popt_table), (init_post),
	(init_popt_callback):
	Remove cpu-opt flag.

2005-05-30  Wim Taymans  <wim@fluendo.com>

	* gst/gstbuffer.c: (gst_subbuffer_finalize),
	(gst_buffer_create_sub), (gst_buffer_is_span_fast):
	* gst/gstbuffer.h:
	Avoid typechecking in places where not needed.
	Added accessor for malloc_data.

2005-05-30  Wim Taymans  <wim@fluendo.com>

	* gst/gstpad.c: (gst_real_pad_init), (gst_pad_set_active),
	(gst_pad_link_prepare), (gst_pad_link), (gst_pad_accept_caps),
	(gst_pad_configure_sink), (gst_pad_configure_src),
	(gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_send_event),
	(gst_pad_start_task):
	Propagate errors from _set_caps() in configure_src/sink
	functions instead of returning TRUE.
	FLUSH events can travel up and downstream


2005-05-30  Wim Taymans  <wim@fluendo.com>

	* gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
	(gst_basesink_activate):
	Handle EOS in preroll.

2005-05-30  Wim Taymans  <wim@fluendo.com>

	* gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
	(gst_queue_loop), (gst_queue_handle_src_event):
	Remove old pieces of code
	Flushing the queue in an upstream event is a very bad idea.

2005-05-26  Andy Wingo  <wingo@pobox.com>

	* gst/gstminiobject.c (gst_value_mini_object_collect): Use
	gst_value_set_mini_object so as to add a ref on the object (which
	will be removed when the value is unset).

	* gst/elements/gstfakesink.c (gst_fakesink_class_init): Fix signal
	arg type in ::handoff.

	* gst/gstelement.c (gst_element_change_state): Also deactivate
	pads in READY->NULL, just in case the element didn't make it to
	PAUSED. Wingo tested, Wim approved.

2005-05-26  Wim Taymans  <wim@fluendo.com>

	* gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
	(gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
	(gst_pad_query), (gst_pad_send_event), (gst_pad_start_task):
	A flushing pad cannot be used to alloc_buffer from.

2005-05-26  Wim Taymans  <wim@fluendo.com>

	* gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
	(gst_bus_pop), (gst_bus_source_prepare), (gst_bus_source_check),
	(gst_bus_source_dispatch), (gst_bus_source_finalize),
	(gst_bus_create_watch), (gst_bus_add_watch_full):
	* gst/gstbus.h:
	Implement a real GSource and use g_main_context_wakeup() to
	signal new messages instead of the socketpair.

2005-05-25  Wim Taymans  <wim@fluendo.com>

	* gst/gstbin.c: (bin_element_is_sink), (has_ancestor),
	(bin_element_is_semi_sink), (append_child), (gst_bin_change_state):
	* gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
	(gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
	(gst_pad_send_event), (gst_pad_start_task):
	* gst/gstqueue.c: (gst_queue_init), (gst_queue_locked_flush),
	(gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
	(gst_queue_sink_activate), (gst_queue_src_activate),
	(gst_queue_change_state):
	* gst/gstqueue.h:
	Fix state changes for non sinks. We now change sinks, then elements
	with unconnected srcpads, then the rest.
	More efficient queue unlocking in flush and state changes.
	Set the pad activate mode even if it does not have an activate
	function.

2005-05-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>

	* gst/base/gstbasesrc.c: (gst_basesrc_activate):
	  Don't go in pull mode for non-seekable sources.
	* gst/elements/gsttypefindelement.h:
	* gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
	(gst_type_find_element_dispose), (gst_type_find_handle_src_query),
	(free_entry), (stop_typefinding),
	(gst_type_find_element_handle_event), (find_peek),
	(gst_type_find_element_chain), (do_pull_typefind),
	(gst_type_find_element_change_state):
	  Allow typefinding (w/o seeking) in push-mode, simplified version
	  of what was in 0.8.
	* gst/gstutils.c: (gst_buffer_join):
	* gst/gstutils.h:
	  gst_buffer_join() from 0.8.

2005-05-25  Wim Taymans  <wim@fluendo.com>

	* gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
	(gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
	(gst_pad_send_event), (gst_pad_start_task):
	Disable attempt at mode switching until it is figured out.

2005-05-25  Wim Taymans  <wim@fluendo.com>

	* gst/base/gstadapter.c: (gst_adapter_peek), (gst_adapter_flush):
	* gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
	(gst_basesink_finish_preroll), (gst_basesink_chain),
	(gst_basesink_loop), (gst_basesink_activate),
	(gst_basesink_change_state):
	* gst/base/gstbasesrc.c: (gst_basesrc_do_seek),
	(gst_basesrc_get_range), (gst_basesrc_loop),
	(gst_basesrc_activate):
	* gst/elements/gsttee.c: (gst_tee_sink_activate):
	* gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
	(gst_real_pad_init), (gst_real_pad_set_property),
	(gst_real_pad_get_property), (gst_pad_set_active),
	(gst_pad_is_active), (gst_pad_get_query_types), (gst_pad_unlink),
	(gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_real_parent),
	(gst_real_pad_get_caps_unlocked), (gst_pad_peer_get_caps),
	(gst_pad_accept_caps), (gst_pad_get_peer), (gst_pad_realize),
	(gst_pad_event_default_dispatch), (gst_pad_event_default),
	(gst_pad_dispatcher), (gst_pad_query), (gst_real_pad_dispose),
	(gst_pad_save_thyself), (handle_pad_block), (gst_pad_chain),
	(gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
	(gst_pad_send_event), (gst_pad_start_task), (gst_pad_pause_task),
	(gst_pad_stop_task):
	* gst/gstpad.h:
	* gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
	(gst_queue_loop), (gst_queue_src_activate):
	* gst/gsttask.c: (gst_task_init), (gst_task_set_lock),
	(gst_task_get_state):
	* gst/gsttask.h:
	* gst/schedulers/threadscheduler.c:
	(gst_thread_scheduler_task_start), (gst_thread_scheduler_func):
	Implement gst_pad_pause/start/stop_task(), take STREAM lock
	in task function.
	Remove ACTIVE pad flag, use FLUSHING everywhere
	Added _pad_chain(), _pad_get_range() to call chain/getrange 
	functions.
	Add locks around IS_FLUSHING when reading.
	Take STREAM lock in chain(), get_range() functions so plugins
	don't need to take it anymore.
	


2005-05-25  Wim Taymans  <wim@fluendo.com>

	* tools/gst-launch.c: (event_loop):
	Unref message after using its contents instead of
	before.

2005-05-24  Wim Taymans  <wim@fluendo.com>

	* docs/design/draft-ghostpads.txt:
	* docs/design/draft-push-pull.txt:
	* docs/design/draft-query.txt:
	* docs/design/part-overview.txt:
	Docs updates, added general overview doc.

2005-05-21  David Schleef  <ds@schleef.org>

	* docs/gst/tmpl/old/GstBin.sgml:
	* docs/gst/tmpl/old/GstBuffer.sgml:
	* docs/gst/tmpl/old/GstCaps.sgml:
	* docs/gst/tmpl/old/GstClock.sgml:
	* docs/gst/tmpl/old/GstCompat.sgml:
	* docs/gst/tmpl/old/GstData.sgml:
	* docs/gst/tmpl/old/GstElement.sgml:
	* docs/gst/tmpl/old/GstEvent.sgml:
	* docs/gst/tmpl/old/GstIndex.sgml:
	* docs/gst/tmpl/old/GstStructure.sgml:
	* docs/gst/tmpl/old/GstTag.sgml:
	* docs/gst/tmpl/old/cothreads.sgml:
	* docs/gst/tmpl/old/cothreads_compat.sgml:
	* docs/gst/tmpl/old/gettext.sgml:
	* docs/gst/tmpl/old/gobject2gtk.sgml:
	* docs/gst/tmpl/old/grammar.tab.sgml:
	* docs/gst/tmpl/old/gst-i18n-app.sgml:
	* docs/gst/tmpl/old/gst-i18n-lib.sgml:
	* docs/gst/tmpl/old/gst_private.sgml:
	* docs/gst/tmpl/old/gstaggregator.sgml:
	* docs/gst/tmpl/old/gstarch.sgml:
	* docs/gst/tmpl/old/gstatomic_impl.sgml:
	* docs/gst/tmpl/old/gstbufferstore.sgml:
	* docs/gst/tmpl/old/gstdata_private.sgml:
	* docs/gst/tmpl/old/gstdisksink.sgml:
	* docs/gst/tmpl/old/gstdisksrc.sgml:
	* docs/gst/tmpl/old/gstelementfactory.sgml:
	* docs/gst/tmpl/old/gstextratypes.sgml:
	* docs/gst/tmpl/old/gstfakesink.sgml:
	* docs/gst/tmpl/old/gstfakesrc.sgml:
	* docs/gst/tmpl/old/gstfdsink.sgml:
	* docs/gst/tmpl/old/gstfdsrc.sgml:
	* docs/gst/tmpl/old/gstfilesink.sgml:
	* docs/gst/tmpl/old/gstfilesrc.sgml:
	* docs/gst/tmpl/old/gsthttpsrc.sgml:
	* docs/gst/tmpl/old/gstidentity.sgml:
	* docs/gst/tmpl/old/gstindexfactory.sgml:
	* docs/gst/tmpl/old/gstmarshal.sgml:
	* docs/gst/tmpl/old/gstmd5sink.sgml:
	* docs/gst/tmpl/old/gstmultidisksrc.sgml:
	* docs/gst/tmpl/old/gstmultifilesrc.sgml:
	* docs/gst/tmpl/old/gstpadtemplate.sgml:
	* docs/gst/tmpl/old/gstpipefilter.sgml:
	* docs/gst/tmpl/old/gstschedulerfactory.sgml:
	* docs/gst/tmpl/old/gstsearchfuncs.sgml:
	* docs/gst/tmpl/old/gstshaper.sgml:
	* docs/gst/tmpl/old/gstspider.sgml:
	* docs/gst/tmpl/old/gstspideridentity.sgml:
	* docs/gst/tmpl/old/gststatistics.sgml:
	* docs/gst/tmpl/old/gsttee.sgml:
	* docs/gst/tmpl/old/gsttimecache.sgml:
	* docs/gst/tmpl/old/gsttypefindfactory.sgml:
	* docs/gst/tmpl/old/gstxmlregistry.sgml:
	* docs/gst/tmpl/old/gthread-cothreads.sgml:
	* docs/gst/tmpl/old/types.sgml:
	  I didn't intend to add these or check them in.

2005-05-19  David Schleef  <ds@schleef.org>

	* configure.ac: Use -no-common everywhere.  In a sane world, it
	  would be the default in libtool, because without it, you can't
	  build DLLs on Windows.
	* docs/gst/gstreamer-docs.sgml: Remove GstCpu, GstData, GstThread
	* docs/gst/gstreamer-sections.txt:
	* docs/gst/tmpl/gstcpu.sgml:
	* docs/gst/tmpl/gstdata.sgml:
	* docs/gst/tmpl/gstthread.sgml:

2005-05-19  David Schleef  <ds@schleef.org>

	* gst/gstminiobject.c: (gst_value_set_mini_object),
	(gst_value_take_mini_object), (gst_value_get_mini_object):
	* gst/gstminiobject.h: Add GValue set/get functions.

2005-05-19  Wim Taymans  <wim@fluendo.com>

	* gst/gstbuffer.c: (gst_buffer_init), (gst_subbuffer_get_type),
	(gst_subbuffer_class_init), (gst_subbuffer_finalize),
	(gst_subbuffer_init), (gst_buffer_is_span_fast):
	* gst/gstbuffer.h:
	* gst/gstbus.c: (gst_bus_post):
	* gst/gstelement.c: (gst_element_get_random_pad):
	* gst/gstmessage.c: (gst_message_init), (gst_message_finalize):
	Make subbufer unref the parent in finalize.
	some more debugging info.


2005-05-19  Wim Taymans  <wim@fluendo.com>

	* gst/base/gstbasesink.c: (gst_basesink_class_init),
	(gst_basesink_init), (gst_basesink_finalize),
	(gst_basesink_activate), (gst_basesink_change_state):
	Don't free preroll queue too early.

2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>

	* gst/Makefile.am:
	* gst/ROADMAP:
	  Hi, I'm outdated. Please shoot me.

2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>

	* gst/gstpipeline.c: (gst_pipeline_send_event):
	  Do not access variables after they have been deleted.

2005-05-19  Wim Taymans  <wim@fluendo.com>

	* tools/gst-inspect.c: (print_plugin_features):
	A plugin feature does unfortunatly not use the
	object name yet...

2005-05-18  Wim Taymans  <wim@fluendo.com>

	* gst/gstbuffer.c: (gst_buffer_is_span_fast), (gst_buffer_span):
	Port _span() functions to new subbuffers.

2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>

	* gst/gstbin.c: (gst_bin_add_func):
	  Fix clock settery in bins when adding kids after the clock has
	  been selected.

2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>

	* gst/elements/gstidentity.c: (gst_identity_class_init):
	  Workaround until signals support GstMiniObject.

2005-05-18  Jan Schmidt  <thaytan@mad.scientist.com>

	* gst/gstbuffer.c:
	Oops, fix a typo GST_TYPE_BUFFER -> GST_TYPE_SUBBUFFER.

2005-05-18  Wim Taymans  <wim@fluendo.com>

	* gst/base/Makefile.am:
	* gst/base/gstadapter.c: (gst_adapter_base_init),
	(gst_adapter_class_init), (gst_adapter_init),
	(gst_adapter_dispose), (gst_adapter_finalize), (gst_adapter_new),
	(gst_adapter_clear), (gst_adapter_push), (gst_adapter_peek),
	(gst_adapter_flush), (gst_adapter_available),
	(gst_adapter_available_fast):
	* gst/base/gstadapter.h:
	Ported and added adapter to the base classes.

2005-05-17  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>

	* gst/gst.c:
	* gst/gstmessage.c:
	  Make sure the class is reffed/unreffed once before threads can be
	  used.  Fixes #304551.

2005-05-17  Wim Taymans  <wim@fluendo.com>

	* gst/base/gstbasesink.c: (gst_basesink_finish_preroll),
	(gst_basesink_chain_unlocked), (gst_basesink_activate):
	* gst/gstminiobject.c: (gst_mini_object_get_type),
	(gst_mini_object_free):
	* gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query),
	(gst_pad_push), (gst_pad_push_event):
	* gst/gstqueue.c: (gst_queue_change_state):
	Don't queue buffers in basesink when we are flushing.
	Unref buffer when flushing in basesink.
	Flush queue when going to READY
	Unref buffer when _push() returns an error.
	Don't free MiniObject instance when refcount is incremented
	in _finalize() so that we can recover objects.

2005-05-17  Thomas Vander Stichele  <thomas at apestaart dot org>

	* docs/manual/advanced-schedulers.xml:
	* docs/manual/appendix-checklist.xml:
	* docs/pwg/advanced-clock.xml:
	* docs/pwg/advanced-interfaces.xml:
	* docs/pwg/advanced-request.xml:
	* docs/pwg/advanced-types.xml:
	* docs/pwg/intro-preface.xml:
	* examples/plugins/example.c: (gst_example_get_type),
	(gst_example_class_init), (gst_example_chain),
	(gst_example_set_property), (gst_example_get_property),
	(gst_example_change_state), (plugin_init):
	* examples/plugins/example.h:
	  small doc fixes

2005-05-17  Wim Taymans  <wim@fluendo.com>

	* gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps),
	(gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_push):
	* gst/gstqueue.c: (gst_queue_change_state):
	Clear queue when going to READY.
	Remove IN_SETCAPS flag too.

2005-05-17  Tim-Philipp Müller  <tim at centricular dot net>

	* gst/base/gstbasesrc.c: (gst_basesrc_change_state):
	  Remove implicit cast from gboolean to GstElementStateReturn;
	  make sure we still return failure in paused => ready case if
	  the parent class fails to change state and our own stop 
	  vfunc succeeds.

2005-05-17  Wim Taymans  <wim@fluendo.com>

	* tools/gst-launch.c: (event_loop):
	Message was unreffed too soon.

2005-05-16  Andy Wingo  <wingo@pobox.com>

	* gst/gstbin.c (sink_iterator_filter): Err... um...

	* check/gst/gstbin.c (test_ghost_pads): New test for the
	ghosting-if-elements-not-in-same-bin behavior.

2005-05-16  David Schleef  <ds@schleef.org>

	* gst/gstminiobject.c: Use g_atomic_int_get() instead of
	accessing refcount directly.

2005-05-15  David Schleef  <ds@schleef.org>

	* check/Makefile.am: remove GstData checks
	* check/gst-libs/gdp.c: (START_TEST): fix for API changes
	* gst/Makefile.am: add miniobject, remove data
	* gst/gst.h: add miniobject, remove data
	* gst/gstdata.c: remove
	* gst/gstdata.h: remove
	* gst/gstdata_private.h: remove
	* gst/gsttypes.h: remove GstEvent and GstMessage
	* gst/gstelement.c: (gst_element_post_message): fix for API changes
	* gst/gstmarshal.list: change BOXED -> OBJECT

	Implement GstMiniObject.
	* gst/gstminiobject.c:
	* gst/gstminiobject.h:

	Modify to be subclasses of GstMiniObject.
	* gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
	(gst_buffer_class_init), (gst_buffer_finalize), (_gst_buffer_copy),
	(gst_buffer_init), (gst_buffer_new), (gst_buffer_new_and_alloc),
	(gst_subbuffer_get_type), (gst_subbuffer_init),
	(gst_buffer_create_sub), (gst_buffer_is_span_fast),
	(gst_buffer_span):
	* gst/gstbuffer.h:
	* gst/gstevent.c: (_gst_event_initialize), (gst_event_get_type),
	(gst_event_class_init), (gst_event_init), (gst_event_finalize),
	(_gst_event_copy), (gst_event_new):
	* gst/gstevent.h:
	* gst/gstmessage.c: (_gst_message_initialize),
	(gst_message_get_type), (gst_message_class_init),
	(gst_message_init), (gst_message_finalize), (_gst_message_copy),
	(gst_message_new), (gst_message_new_error),
	(gst_message_new_warning), (gst_message_new_tag),
	(gst_message_new_state_changed), (gst_message_new_application):
	* gst/gstmessage.h:
	* gst/gstprobe.c: (gst_probe_perform),
	(gst_probe_dispatcher_dispatch):
	* gst/gstprobe.h:
	* gst/gstquery.c: (_gst_query_initialize), (gst_query_get_type),
	(gst_query_class_init), (gst_query_finalize), (gst_query_init),
	(_gst_query_copy), (gst_query_new):

	Update elements for GstData -> GstMiniObject changes
	* gst/gstquery.h:
	* gst/gstqueue.c: (gst_queue_finalize), (gst_queue_locked_flush),
	(gst_queue_chain), (gst_queue_loop):
	* gst/elements/gstbufferstore.c:
	(gst_buffer_store_add_buffer_func),
	(gst_buffer_store_cleared_func), (gst_buffer_store_get_buffer):
	* gst/elements/gstfakesink.c: (gst_fakesink_class_init),
	(gst_fakesink_render):
	* gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
	* gst/elements/gstfilesrc.c: (gst_mmap_buffer_get_type),
	(gst_mmap_buffer_class_init), (gst_mmap_buffer_init),
	(gst_mmap_buffer_finalize), (gst_filesrc_map_region),
	(gst_filesrc_create_read):
	* gst/elements/gstidentity.c: (gst_identity_class_init):
	* gst/elements/gsttypefindelement.c:
	(gst_type_find_element_src_event), (free_entry_buffers),
	(gst_type_find_element_handle_event):
	* libs/gst/dataprotocol/dataprotocol.c:
	(gst_dp_header_from_buffer):
	* libs/gst/dataprotocol/dataprotocol.h:
	* libs/gst/dataprotocol/dp-private.h:

2005-05-15  David Schleef  <ds@schleef.org>

	* gst/elements/gstelements.c: Don't include headers that were
	just removed.

2005-05-15  David Schleef  <ds@schleef.org>

	* gst/elements/Makefile.am: Remove some elements that don't
	need to be in the core (or even exist at all).
	* gst/elements/gstaggregator.c:
	* gst/elements/gstaggregator.h:
	* gst/elements/gstmd5sink.c:
	* gst/elements/gstmd5sink.h:
	* gst/elements/gstmultifilesrc.c:
	* gst/elements/gstmultifilesrc.h:
	* gst/elements/gstpipefilter.c:
	* gst/elements/gstpipefilter.h:
	* gst/elements/gstshaper.c:
	* gst/elements/gstshaper.h:
	* gst/elements/gststatistics.c:
	* gst/elements/gststatistics.h:
	* po/POTFILES.in: Remove above files.

2005-05-14  Andy Wingo  <wingo@pobox.com>

	* gst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter
	so as to get the refs right.
	(sink_iterator_filter): New function, wraps bin_element_is_sink,
	unreffing objects that don't pass the filter.

	* gst/gstpipeline.c (gst_pipeline_init): Drop ref on bus after
	gst_element_set_bus.
	(gst_pipeline_dispose): Set the bus on the pipeline to NULL. In
	normal cases, this will destroy the bus.

	* gst/gstutils.c (prepare_link_maybe_ghosting): Drop ref on root
	object.

	* gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin
	has no sinks.

2005-05-13  Andy Wingo  <wingo@pobox.com>

	* gst/gstutils.c (gst_element_link_pads): Instead of calling
	gst_pad_link, call pad_link_maybe_ghosting,
	(pad_link_maybe_ghosting): Links pads, making sure that the
	elements being linked are in the same bin.
	(find_common_root, object_has_ancestor, ghost_up, remove_pad):
	Helpers for pad_link_maybe_ghosting.

2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>

	* configure.ac:
	  Require GLib >= 2.4.0 (for the g_atomic_* funcs)

2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>

	* docs/design/part-element-source.txt:
	  Mention GstPushSrc

2005-05-12  Wim Taymans  <wim@fluendo.com>

	* gst/base/gstbasesink.c: (gst_basesink_init),
	(gst_basesink_activate):
	* gst/base/gstbasesrc.c: (gst_basesrc_unlock),
	(gst_basesrc_is_seekable):
	* gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
	(bin_element_is_sink), (gst_bin_change_state):
	* gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
	* gst/gstelement.h:
	Identify sinks by their flag to avoid overly complicated
	checks (fow now).
	Do state changes even for elements not reachable from the
	sinks.
	BaseSink is a sink now :)
	Some more debugging info in the basesrc.


2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>

	* gst/gstbin.c: (gst_bin_class_init), (gst_bin_query):
	  Implement _query on a bin, similar to _send_event.

2005-05-12  Tim-Philipp Müller  <tim at centricular dot net>

	* gst/base/gstbasesrc.c: (gst_basesrc_do_seek):
	  Discont event offset format should be GST_FORMAT_BYTES,
	  not GST_FORMAT_TIME.

2005-05-12  Wim Taymans  <wim@fluendo.com>

	* gst/gstbin.c: (gst_bin_remove_func), (gst_bin_get_state):
	Same fix as Ronald's but without the signal. 

2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>

	* gst/gstutils.c: (gst_element_query_position):
	  No, an element is not a pad.

2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>

	* gst/gstbin.c: (gst_bin_add_func), (cb_parent_unset),
	(gst_bin_get_state):
	  If a child is removed from a bin while we remove the child from
	  the bin and while we're retrieving its state, signal this to the
	  get_state function so we abort the wait (instead of waiting for
	  a timeout) and can immediately re-iterate over all other elements.

2005-05-12  Wim Taymans  <wim@fluendo.com>

	* gst/base/Makefile.am:
	* gst/base/gstbasesrc.c: (gst_basesrc_is_seekable),
	(gst_basesrc_start):
	* gst/base/gstbasesrc.h:
	* gst/base/gstpushsrc.c: (gst_pushsrc_get_type),
	(gst_pushsrc_base_init), (gst_pushsrc_class_init),
	(gst_pushsrc_init), (gst_pushsrc_create):
	* gst/base/gstpushsrc.h:
	Added is_seekable to BaseSrc
	Added simple PushSrc.

2005-05-11  Wim Taymans  <wim@fluendo.com>

	* gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
	* gst/gstutils.c: (gst_element_get_compatible_pad_template),
	(gst_element_link_pads), (gst_element_query_position),
	(gst_element_query_convert), (intersect_caps_func),
	(gst_pad_query_position), (gst_pad_query_convert):
	Fix refcounting in utils function.
	No point in trying to activate a pad when it's added, it could
	be added from the state change function and then we deadlock, the
	element has to decide what to do.

2005-05-10  Andy Wingo  <wingo@pobox.com>

	* gst/elements/gstfakesink.c (gst_fakesink_render): Er, emit with
	*all* the arguments.

	* gst/base/gstbasetransform.c (gst_base_transform_event): Grab the
	stream lock if it's a FLUSH_DONE; normal flushes don't get the
	lock (according to the docs -- if this is wrong change the docs).

	* gst/gstpipeline.c (gst_pipeline_change_state): Set the bus to
	flush messages in the NULL state.

	* gst/gstbus.c (gst_bus_post): If a bus is flushing, unref the
	message immediately and return.
	(gst_bus_set_flushing): New function. If a bus is flushing, it
	flushes out any queued messages and immediately unrefs new
	messages. This is so when an element goes to NULL, all of the
	unhandled messages coming from it can be freed, and their
	references to the element dropped. In other words: message source
	ref considered harmful :P

	* gst/gstbin.c (gst_bin_change_state): Unref peer element when
	we're finished with it.

	* gst/gstmessage.c (gst_message_new_state_changed): 

2005-05-10  Wim Taymans  <wim@fluendo.com>

	* gst/gstvalue.c: (gst_value_compare_flags),
	(gst_value_serialize_flags), (gst_value_deserialize_flags),
	(_gst_value_initialize):
	Added flags serialize/deserialize/compare code.

2005-05-09  Andy Wingo  <wingo@pobox.com>

	* gst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps):
	Intersect the peer's caps with our caps.

2005-05-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>

	* gst/base/gsttypefindhelper.c: (helper_find_peek):
	* gst/elements/gsttypefindelement.c: (find_peek):
	  Handle negative offsets better. Fixes decodebin.

2005-05-09  Wim Taymans  <wim@fluendo.com>

	* gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps),
	(gst_base_transform_event):
	* gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query):
	Implement accept_caps.
	Fix silly lock/unlock mismatch in base class.

2005-05-09  Wim Taymans  <wim@fluendo.com>

	* docs/design/draft-push-pull.txt:
	* gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_query):
	* gst/elements/gstfilesink.c: (gst_filesink_init),
	(gst_filesink_query):
	* gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
	(gst_type_find_handle_src_query), (find_element_get_length):
	* gst/gstelement.c: (gst_element_seek), (gst_element_query):
	* gst/gstelement.h:
	* gst/gstmessage.c:
	* gst/gstmessage.h:
	* gst/gstpad.c: (gst_real_pad_init), (gst_pad_get_query_types),
	(gst_real_pad_get_caps_unlocked),
	(gst_pad_get_internal_links_default), (gst_pad_get_internal_links),
	(gst_pad_event_default_dispatch), (gst_pad_event_default),
	(gst_pad_dispatcher), (gst_pad_query), (gst_pad_query_default),
	(gst_real_pad_dispose), (gst_real_pad_finalize),
	(gst_pad_load_and_link), (gst_pad_save_thyself),
	(gst_ghost_pad_save_thyself), (handle_pad_block), (gst_pad_push),
	(gst_pad_check_pull_range), (gst_pad_pull_range),
	(gst_pad_template_get_type), (gst_pad_template_class_init),
	(gst_pad_template_init), (gst_pad_template_dispose),
	(name_is_valid), (gst_static_pad_template_get),
	(gst_pad_template_new), (gst_static_pad_template_get_caps),
	(gst_pad_template_get_caps), (gst_pad_set_element_private),
	(gst_pad_get_element_private), (gst_pad_start_task),
	(gst_pad_pause_task), (gst_pad_stop_task),
	(gst_ghost_pad_get_type), (gst_ghost_pad_class_init),
	(gst_ghost_pad_init), (gst_ghost_pad_dispose),
	(gst_ghost_pad_set_property), (gst_ghost_pad_get_property),
	(gst_ghost_pad_new):
	* gst/gstpad.h:
	* gst/gstquery.c: (_gst_query_initialize), (gst_query_new),
	(gst_query_new_position), (gst_query_set_position),
	(gst_query_parse_position), (gst_query_new_convert),
	(gst_query_set_convert), (gst_query_parse_convert):
	* gst/gstquery.h:
	* gst/gstqueryutils.c:
	* gst/gstqueryutils.h:
	* gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
	(gst_queue_bufferalloc), (gst_queue_handle_sink_event),
	(gst_queue_handle_src_query):
	* gst/gstutils.c: (gst_element_get_compatible_pad_template),
	(gst_element_query_position), (gst_element_query_convert),
	(intersect_caps_func), (gst_pad_query_position),
	(gst_pad_query_convert):
	* gst/gstutils.h:
	* tools/gst-inspect.c: (print_pad_info):
	* tools/gst-xmlinspect.c: (print_element_info):
	Remove old query functions. Ported old code.
	Added position/convert helper functions to gstutils.
	Reordered gstpad.c code, grouping relevant things.
	Remove gst_message_new(), always need to speficy a specific
	message.


2005-05-09  Andy Wingo  <wingo@pobox.com>

	* gst/gstiterator.h: Add some includes.

	* gst/gstqueryutils.h: Include more headers.

	* gst/gstpad.h:
	* gst/gstpad.c (gst_pad_query_position): New routine, replaces
	some uses of gst_pad_query.

	* gst/gstqueryutils.c: Build fixes. Make parse functions ignore
	NULL out parameters.
	(gst_query_new_position): New proc, allocates a new position
	query.

	* gst/Makefile.am (libgstreamer_@GST_MAJORMINOR@_la_SOURCES): Add
	gstqueryutils.c to the build.

	* gst/gststructure.c (gst_structure_set_valist): Implement with
	the generic G_VALUE_COLLECT.
	
2005-05-08  Edward Hervey  <bilboed@bilboed.com>

	* gst/Makefile.am: (gst_headers):
	Added gstqueryutils.h to the list of headers to install, that was
	a 'nachty' move wingo :)

2005-05-06  Andy Wingo  <wingo@pobox.com>

	* gst/gstquery.h
	* gst/gstquery.c (_gst_query_initialize): Extend GstQuery from
	GstData, init a memchunk.
	(standard_definitions): Add a few query types, deprecate a few.
	(gst_query_get_type): New proc.
	(_gst_query_copy, _gst_query_free, gst_query_new): GstData
	implementation.
	(gst_query_new_application, gst_query_get_structure): New public
	procs.

	* docs/design/draft-query.txt: Removed LINKS from the query types,
	because all the rest can be dispatched to other pads -- seemed
	ugly to have a query that couldn't be dispatched. internal_links
	is fine as a pad method.

	* gst/gstpad.h: Add query2 as a pad method, add the new functions
	in gstpad.c, but maintain binary compatibility for the moment.
	Will fix before 0.9 is out.

	* gst/gstqueryutils.c: 
	* gst/gstqueryutils.h: New files, implement 3 methods for each
	query type: parse_query, parse_response, and set. Probably need an
	allocator as well.

	* gst/gst.h: Add gstquery.h and gstqueryutils.h to the list.

	* gst/elements/gstfilesink.c (gst_filesink_query2):
	* gst/base/gstbasesrc.c (gst_basesrc_query2): Replace old query,
	query_types, and formats methods.

	* gst/gstpad.c (gst_pad_query2, gst_pad_query2_default)
	(gst_pad_set_query2_function): New functions.
	(gst_real_pad_init): Set query2_default as the default query2
	function. Basically just dispatches to internally linked pads.

	Needs review!
	
	* gst/gstdata_private.h (_GST_DATA_INIT): Set data->refcount to 1
	without using the atomic operations. Only one thread can possibly
	be accessing the data at this point. Changed so as to avoid
	gst_atomic operations.

2005-05-06  Wim Taymans  <wim@fluendo.com>

	* gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push):
	Also set caps if we use the fallback buffer alloc.

2005-05-06  Tim-Philipp Müller  <tim at centricular dot net>

	* docs/gst/Makefile.am:
	* docs/gst/gstreamer-docs.sgml:
	* docs/gst/gstreamer-sections.txt:
	* docs/gst/tmpl/gstatomic.sgml:
	* docs/gst/tmpl/gstmemchunk.sgml:
	* testsuite/elements/struct_i386.h:
	* win32/GStreamer.vcproj:
	* win32/Makefile:
	  Purge GstAtomic stuff from docs and win32 makefiles as well

2005-05-06  Wim Taymans  <wim@fluendo.com>

	* gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps):
	* gst/elements/gstcapsfilter.c: (gst_capsfilter_getcaps):
	* gst/gstpad.c: (gst_pad_peer_get_caps):
	* gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
	(gst_queue_bufferalloc), (gst_queue_handle_sink_event),
	(gst_queue_src_activate), (gst_queue_change_state):
	* gst/gstqueue.h:
	* gst/gstutils.c: (gst_element_get_compatible_pad_template),
	(intersect_caps_func):
	Fix gst_pad_peer_get_caps(), make it return NULL if no peer.
	Always take QUEUE_LOCK after STREAM_LOCK or we might deadlock.
	Some fixes for the peer_get_caps() change.

2005-05-06  Wim Taymans  <wim@fluendo.com>

	* gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
	(gst_basesink_handle_buffer), (gst_basesink_chain_unlocked),
	(gst_basesink_activate):
	Actually do something with error codes returned from the push
	functions.

2005-05-06  Wim Taymans  <wim@fluendo.com>

	* docs/design/part-element-sink.txt:
	* docs/design/part-element-source.txt:
	* gst/base/gstbasesink.c: (gst_basesink_class_init),
	(gst_basesink_event), (gst_basesink_activate):
	* gst/base/gstbasesink.h:
	* gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_unlock),
	(gst_basesrc_activate):
	* gst/base/gstbasesrc.h:
	* gst/gstelement.c: (gst_element_pads_activate):
	Some more documentation.
	Fixed scheduling decision in _pads_activate().

2005-05-05  Andy Wingo  <wingo@pobox.com>

	* check/pipelines/simple_launch_lines.c (test_2_elements): "Fix"
	the test suite.

2005-05-05  Wim Taymans  <wim@fluendo.com>

	* gst/base/Makefile.am:
	* gst/base/gstbasesink.h:
	* gst/base/gstbasesrc.c: (gst_basesrc_init),
	(gst_basesrc_set_dataflow_funcs), (gst_basesrc_query):
	* gst/base/gstcollectpads.c: (gst_collectpads_get_type),
	(gst_collectpads_class_init), (gst_collectpads_init),
	(gst_collectpads_finalize), (gst_collectpads_new),
	(gst_collectpads_set_function), (gst_collectpads_add_pad),
	(find_pad), (gst_collectpads_remove_pad),
	(gst_collectpads_is_active), (gst_collectpads_collect),
	(gst_collectpads_collect_range), (gst_collectpads_start),
	(gst_collectpads_stop), (gst_collectpads_peek),
	(gst_collectpads_pop), (gst_collectpads_available),
	(gst_collectpads_read), (gst_collectpads_flush),
	(gst_collectpads_chain):
	* gst/base/gstcollectpads.h:
	* gst/elements/Makefile.am:
	* gst/elements/gstelements.c:
	* gst/elements/gstfakesink.c: (gst_fakesink_class_init),
	(gst_fakesink_get_times), (gst_fakesink_event),
	(gst_fakesink_preroll), (gst_fakesink_render):
	* gst/elements/gstfilesink.c: (gst_filesink_class_init),
	(gst_filesink_init), (gst_filesink_set_location),
	(gst_filesink_open_file), (gst_filesink_close_file),
	(gst_filesink_pad_query), (gst_filesink_event),
	(gst_filesink_render), (gst_filesink_change_state):
	* gst/elements/gstfilesink.h:
	Added object to help in making collect pad based elements.
	Ported filesink.
	Make event function in sink baseclass return gboolean.

2005-05-05  Wim Taymans  <wim@fluendo.com>

	* gst/gstbin.c: (gst_bin_send_event), (compare_name),
	(gst_bin_get_by_name):
	* gst/gstbuffer.h:
	* gst/gstclock.c: (gst_clock_entry_new), (gst_clock_class_init),
	(gst_clock_finalize):
	* gst/gstdata.c: (gst_data_replace):
	* gst/gstdata.h:
	* gst/gstelement.c: (gst_element_request_pad),
	(gst_element_pads_activate):
	* gst/gstobject.c: (gst_object_init), (gst_object_ref),
	(gst_object_unref):
	* gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
	(gst_pad_set_checkgetrange_function),
	(gst_pad_link_check_compatible_unlocked), (gst_pad_set_caps),
	(gst_pad_check_pull_range), (gst_pad_pull_range),
	(gst_static_pad_template_get_caps), (gst_pad_start_task),
	(gst_pad_pause_task), (gst_pad_stop_task):
	* gst/gstutils.c: (gst_element_get_compatible_pad_template),
	(gst_element_request_pad), (gst_pad_proxy_getcaps):
	Fix name lookup in GstBin.
	Added _data_replace() function and _buffer_replace()
	Use finalize method to clean up clock.
	Fix refcounting on request pads.
	Fix pad schedule mode error.
	Some more object refcounting debug info,


2005-05-04  Andy Wingo <wingo@pobox.com>

	* check/Makefile.am:
	* docs/gst/tmpl/gstatomic.sgml:
	* docs/gst/tmpl/gstplugin.sgml:
	* gst/base/gstbasesink.c: (gst_basesink_activate):
	* gst/base/gstbasesrc.c: (gst_basesrc_class_init),
	(gst_basesrc_init), (gst_basesrc_set_dataflow_funcs),
	(gst_basesrc_query), (gst_basesrc_set_property),
	(gst_basesrc_get_property), (gst_basesrc_check_get_range),
	(gst_basesrc_activate):
	* gst/base/gstbasesrc.h:
	* gst/base/gstbasetransform.c: (gst_base_transform_sink_activate),
	(gst_base_transform_src_activate):
	* gst/elements/gstelements.c:
	* gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
	(gst_fakesrc_set_property), (gst_fakesrc_get_property):
	* gst/elements/gsttee.c: (gst_tee_sink_activate):
	* gst/elements/gsttypefindelement.c: (find_element_get_length),
	(gst_type_find_element_checkgetrange),
	(gst_type_find_element_activate):
	* gst/gstbin.c: (gst_bin_save_thyself), (gst_bin_restore_thyself):
	* gst/gstcaps.c: (gst_caps_do_simplify), (gst_caps_save_thyself),
	(gst_caps_load_thyself):
	* gst/gstelement.c: (gst_element_pads_activate),
	(gst_element_save_thyself), (gst_element_restore_thyself):
	* gst/gstpad.c: (gst_pad_load_and_link), (gst_pad_save_thyself),
	(gst_ghost_pad_save_thyself), (gst_pad_check_pull_range):
	* gst/gstpad.h:
	* gst/gstxml.c: (gst_xml_write), (gst_xml_parse_doc),
	(gst_xml_parse_file), (gst_xml_parse_memory),
	(gst_xml_get_element), (gst_xml_make_element):
	* gst/indexers/gstfileindex.c: (gst_file_index_load),
	(_file_index_id_save_xml), (gst_file_index_commit):
	* gst/registries/gstlibxmlregistry.c: (read_string), (read_uint),
	(read_enum), (load_pad_template), (load_feature), (load_plugin),
	(load_paths):
	* libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps),
	(gst_dp_packet_from_event), (gst_dp_caps_from_packet):
	* tools/gst-complete.c: (main):
	* tools/gst-compprep.c: (main):
	* tools/gst-inspect.c: (print_element_properties_info):
	* tools/gst-launch.c: (xmllaunch_parse_cmdline):
	* tools/gst-xmlinspect.c: (print_element_properties):
	GCC 4 fixen.
	
2005-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>

	* gst/gstplugin.c: (gst_plugin_check_module),
	(gst_plugin_check_file), (gst_plugin_load_file):
	    apply patch from #172526 to make register work on MacOSX

2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>

	* docs/gst/tmpl/gstconfig.sgml:
	* gst/gstconfig.h.in:
	  move documentation for some symbols.  Add doc for GST_PTR_FORMAT
	* testsuite/debug/printf_extension.c: (main):
	  Do not use GST_PTR_FORMAT on pointers to types with
	  sizeof < sizeof(gpointer).  Fixes test on 64-bit
	* testsuite/elements/property.h:
	  use correct printf format

2005-05-02  Wim Taymans  <wim@fluendo.com>

	* docs/design/draft-push-pull.txt:
	* docs/design/draft-query.txt:
	* gst/base/gstbasesrc.c: (gst_basesrc_get_range_unlocked),
	(gst_basesrc_start):
	Added draft for new query API.
	Added draft for better selecting scheduling methods.
	Make basesrc ignore length if the subclass does not support
	it.

2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>

	* gst/Makefile.am:
	  possible fixes for automake-1.5 - _LIBADD is reserved

2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>

	* docs/faq/Makefile.am:
	* docs/manual/Makefile.am:
	* docs/manuals.mak:
	* docs/pwg/Makefile.am:
	* gst/Makefile.am:
	  possible fixes for automake-1.5

2005-04-28  Wim Taymans  <wim@fluendo.com>

	* gst/base/gstbasesink.c: (gst_basesink_base_init),
	(gst_basesink_pad_getcaps), (gst_basesink_init),
	(gst_basesink_do_sync):
	* gst/gstclock.c: (gst_clock_entry_new):
	* gst/gstevent.c: (gst_event_discont_get_value):
	* gst/gstpipeline.c: (pipeline_bus_handler),
	(gst_pipeline_change_state):
	* gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
	Better debugging of clocking info.
	Allow NULL values when getting discont values.

2005-04-27  Wim Taymans  <wim@fluendo.com>

	* check/gst/gstobject.c: (START_TEST), (gst_object_suite):
	* check/gst/gstpad.c: (gst_pad_suite):
	Increase timeout for checks.

2005-04-27  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>

	* check/Makefile.am:
	  fix the broken rule for cleanup.  Apparently this rule is
	  only needed on FC2, so maybe this warrants further autotool
	  inspection.

2005-04-26  Wim Taymans  <wim@fluendo.com>

	* gst/gsttrashstack.h:
	Ooohh. a nasty one! After having a failed pop() from the stack,
	it's possible that the stack is empty. In that case, don't
	follow the NULL pointer.

2005-04-25  Wim Taymans  <wim@fluendo.com>

	* gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
	(gst_pad_set_checkgetrange_function),
	(gst_pad_link_check_compatible_unlocked), (gst_pad_link_prepare),
	(gst_pad_check_pull_range), (gst_pad_pull_range),
	(gst_static_pad_template_get_caps), (gst_pad_start_task),
	(gst_pad_pause_task), (gst_pad_stop_task):
	* gst/gstplugin.c: (gst_plugin_load):
	* gst/gstplugin.h:
	Remove gst_library_load as it does more harm than good with
	the new g_module flags.
	Revert bogus caps template check in pad linking, pad caps
	are important when linking not the template, which is more
	general than the current caps.

2005-04-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>

	* gst/autoplug/.cvsignore:
	* gst/autoplug/Makefile.am:
	* gst/autoplug/gstsearchfuncs.c:
	* gst/autoplug/gstsearchfuncs.h:
	* gst/autoplug/gstspider.c:
	* gst/autoplug/gstspider.h:
	* gst/autoplug/gstspideridentity.c:
	* gst/autoplug/gstspideridentity.h:
	* gst/autoplug/spidertest.c:
	  Die, spider, die.

2005-04-25  Wim Taymans  <wim@fluendo.com>

	* gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
	(gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
	(gst_pad_pull_range), (gst_static_pad_template_get_caps),
	(gst_pad_start_task), (gst_pad_pause_task), (gst_pad_stop_task):
	* gst/gstpad.h:
	Added stubs for unimplemented functions. 

2005-04-24  David Schleef  <ds@schleef.org>

	* gst/gstpad.h: Disable some unimplemented functions.  Wim,
	please fix.

2005-04-24  David Schleef  <ds@schleef.org>

	Convert everything from GstAtomicInt to g_atomic_int_*, and
	remove gstatomic.
	* gst/Makefile.am:
	* gst/gstatomic.c:
	* gst/gstatomic.h:
	* gst/gstatomic_impl.h:
	* gst/gstbuffer.c:
	* gst/gstcaps.c:
	* gst/gstcaps.h:
	* gst/gstclock.c:
	* gst/gstclock.h:
	* gst/gstdata.c:
	* gst/gstdata.h:
	* gst/gstdata_private.h:
	* gst/gstevent.c:
	* gst/gstinfo.c:
	* gst/gstinfo.h:
	* gst/gstmessage.c:
	* gst/gstobject.c:
	* gst/gstobject.h:
	* gst/gststructure.c:
	* gst/gststructure.h:
	* gst/gstutils.c: Add gst_atomic_int_set() compaitibility function.
	* gst/gstutils.h:

2005-04-24  David Schleef  <ds@schleef.org>

	* check/gst/gstpad.c: (START_TEST): Oh yeah, it's always nice to
	make the regressions tests work.  Remove some code that is no
	longer true.
	* gst/gstpad.c: (gst_pad_link_check_templates_compatible_unlocked):
	Disable warning for pads without templates.

2005-04-24  David Schleef  <ds@schleef.org>

	* gst/gstpad.c: Remove handling of filtered caps.  Fix/merge
	functions that handle filtered links.
	* gst/gstpad.h: Remove 'appfilter' field and prototypes of
	removed functions.
	* gst/gstutils.c: Fix/remove utility functions that handle
	filtered caps.
	* gst/gstutils.h:
	* gst/gstvalue.c: Add serialization/deserialization of caps
	* gst/parse/grammar.y: Ignore filtered caps when linking.  This
	requires fixing so that the filter caps notation creates
	a capsfilter element and sets the filter_caps property.  I
	think everyone probably wants to keep the shorthand notation.
	* docs/gst/tmpl/gstelement.sgml: updates for API changes.
	* docs/gst/tmpl/gstpad.sgml:

	* gst/elements/gstelements.c: Register capsfilter element.
	* gst/Makefile.am: fix spacing
	* docs/random/ds/0.9-suggested-changes: random

2005-04-23  David Schleef  <ds@schleef.org>

	* gst/elements/Makefile.am:
	* gst/elements/gstcapsfilter.c: New element that acts like an
	identity, but filters caps.  Will eventually replace filtered
	caps in pad linking.
	* gst/gstutils.c: (gst_element_create_all_pads): New function
	to create all the ALWAYS pads that are registered with an
	element class.  This functionality should eventually be
	merged in with GstElement initialization.
	* gst/gstutils.h:
	* testsuite/trigger/README: part of trigger test code that should
	have been checked in a long time ago.

2005-04-23  David Schleef  <ds@schleef.org>

	* gst/Makefile.am: Remove as-libtool stuff.  It's likely not
	needed with new versions of libtool (nobody will confirm this),
	and hard to carry around.
	* gst/autoplug/Makefile.am:
	* gst/base/Makefile.am:
	* gst/elements/Makefile.am:
	* gst/indexers/Makefile.am:
	* gst/schedulers/Makefile.am:
	* libs/gst/bytestream/Makefile.am:
	* libs/gst/control/Makefile.am:
	* libs/gst/dataprotocol/Makefile.am:
	* libs/gst/getbits/Makefile.am:

2005-04-21  Wim Taymans  <wim@fluendo.com>

	* docs/design/draft-push-pull.txt:
	* docs/design/part-MT-refcounting.txt:
	* docs/design/part-TODO.txt:
	* docs/design/part-caps.txt:
	* docs/design/part-events.txt:
	* docs/design/part-gstbus.txt:
	* docs/design/part-gstpipeline.txt:
	* docs/design/part-messages.txt:
	* docs/design/part-push-pull.txt:
	* docs/design/part-query.txt:
	Some more docs.

2005-04-21  Wim Taymans  <wim@fluendo.com>

	* gst/gstmessage.c: (_gst_message_copy), (_gst_message_free),
	(gst_message_new), (gst_message_new_error),
	(gst_message_new_warning), (gst_message_new_tag),
	(gst_message_new_state_changed), (gst_message_new_application),
	(gst_message_get_structure):
	* gst/gstmessage.h:
	* gst/gststructure.c: (gst_structure_set_parent_refcount),
	(gst_structure_copy_conditional):
	Use parent refcount in GstMessage to ensure GstStructure
	consistency.
	Cleaned up headers a bit.
	

2005-04-20  Wim Taymans  <wim@fluendo.com>

	* gst/base/gstbasesink.c: (gst_basesink_base_init),
	(gst_basesink_pad_getcaps), (gst_basesink_init),
	(gst_basesink_chain_unlocked):
	* gst/base/gsttypefindhelper.c: (helper_find_suggest),
	(gst_type_find_helper):
	* gst/elements/gsttypefindelement.c:
	(gst_type_find_element_have_type), (gst_type_find_element_init),
	(stop_typefinding), (gst_type_find_element_handle_event),
	(find_suggest), (gst_type_find_element_chain),
	(gst_type_find_element_checkgetrange),
	(gst_type_find_element_getrange), (do_typefind),
	(gst_type_find_element_activate):
	* gst/gstbuffer.c: (_gst_buffer_sub_free),
	(gst_buffer_default_free), (gst_buffer_default_copy),
	(gst_buffer_set_caps):
	* gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref),
	(gst_caps_replace):
	* gst/gstmessage.c: (gst_message_new),
	(gst_message_new_state_changed):
	* gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
	(gst_pad_set_checkgetrange_function),
	(gst_pad_link_prepare_filtered), (gst_pad_relink_filtered),
	(gst_pad_set_caps), (gst_pad_check_pull_range),
	(gst_pad_pull_range), (gst_static_pad_template_get_caps):
	* gst/gstpad.h:
	* gst/gsttypefind.c: (gst_type_find_register):
	Make gst_caps_replace() work like other _replace() functions.
	Use _caps_replace() where possible.
	Make sure _message_new() initialises its field.
	Add gst_static_pad_template_get_caps()


2005-04-18  Andy Wingo  <wingo@pobox.com>

	* gst/gstelement.c (gst_element_pads_activate): Check pull_range
	on the peer, not the pad. I think that was a typo. Pass an extra
	arg to see if random access is possible. Activate the pads as
	PULL_RANGE if possible.

	* gst/elements/gstfakesrc.c: s/ARG_/PROP_/.

	* gst/base/gstbasesrc.c (gst_basesrc_set_property) 
	(gst_basesrc_get_property): BLOCKSIZE is a ULONG. Rename ARG_...
	to PROP_....

2005-04-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>

	* docs/faq/using.xml:
	  Add note on gstreamer-properties (#154996).

2005-04-13  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>

	* docs/random/bbb/optional-properties:
	  Some analysis on optional properties.

2005-04-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>

	* docs/gst/tmpl/gstelementfactory.sgml:
	* gst/gstelement.h:
	* gst/gstelementfactory.c: (gst_element_factory_init),
	(gst_element_factory_cleanup), (gst_element_register),
	(__gst_element_factory_add_static_pad_template),
	(gst_element_factory_get_static_pad_templates),
	(gst_element_factory_can_src_caps),
	(gst_element_factory_can_sink_caps):
	* gst/registries/Makefile.am:
	* gst/registries/gstlibxmlregistry.c: (gst_xml_registry_get_type),
	(gst_xml_registry_class_init), (gst_xml_registry_init),
	(gst_xml_registry_new), (gst_xml_registry_set_property),
	(gst_xml_registry_get_property), (get_time), (make_dir),
	(gst_xml_registry_get_perms_func),
	(plugin_times_older_than_recurse), (plugin_times_older_than),
	(gst_xml_registry_open_func), (gst_xml_registry_load_func),
	(gst_xml_registry_save_func), (gst_xml_registry_close_func),
	(add_to_char_array), (read_string), (read_uint), (read_enum),
	(load_pad_template), (load_feature), (load_plugin), (load_paths),
	(gst_xml_registry_load), (gst_xml_registry_load_plugin),
	(gst_xml_registry_save_caps), (gst_xml_registry_save_pad_template),
	(gst_xml_registry_save_feature), (gst_xml_registry_save_plugin),
	(gst_xml_registry_save), (gst_xml_registry_rebuild_recurse),
	(gst_xml_registry_rebuild):
	* gst/registries/gstlibxmlregistry.h:
	* tools/gst-compprep.c: (main):
	* tools/gst-inspect.c: (print_pad_templates_info):
	* tools/gst-xmlinspect.c: (print_element_info):
	  Use libxml2 for registry parsing, use staticpadtemplates in
	  elementfactories. Makes gst_init() +/- 10x faster.

2005-04-12  Wim Taymans  <wim@fluendo.com>

	* gst/base/Makefile.am:
	* gst/base/gstbasesink.c: (gst_basesink_base_init),
	(gst_basesink_pad_getcaps), (gst_basesink_init),
	(gst_basesink_event), (gst_basesink_change_state):
	* gst/base/gstbasesrc.c: (gst_basesrc_get_type),
	(gst_basesrc_init), (gst_basesrc_query),
	(gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
	(gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
	(gst_basesrc_check_get_range), (gst_basesrc_loop),
	(gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
	(gst_basesrc_stop), (gst_basesrc_activate),
	(gst_basesrc_change_state):
	* gst/base/gsttypefindhelper.c: (helper_find_peek),
	(helper_find_suggest), (gst_type_find_helper):
	* gst/base/gsttypefindhelper.h:
	* gst/elements/Makefile.am:
	* gst/elements/gstelements.c:
	* gst/elements/gstfakesink.c: (gst_fakesink_class_init),
	(gst_fakesink_get_times), (gst_fakesink_event),
	(gst_fakesink_preroll), (gst_fakesink_render):
	* gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
	(gst_fakesrc_init), (gst_fakesrc_event_handler),
	(gst_fakesrc_get_property), (gst_fakesrc_create),
	(gst_fakesrc_start), (gst_fakesrc_stop):
	* gst/elements/gstfakesrc.h:
	* gst/elements/gstfilesrc.c: (gst_filesrc_class_init),
	(gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
	(gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
	(gst_filesrc_create_read), (gst_filesrc_create),
	(gst_filesrc_is_seekable), (gst_filesrc_get_size),
	(gst_filesrc_start):
	* gst/elements/gsttypefindelement.c:
	(gst_type_find_element_have_type), (gst_type_find_element_init),
	(start_typefinding), (stop_typefinding), (push_buffer_store),
	(gst_type_find_element_handle_event),
	(gst_type_find_element_chain),
	(gst_type_find_element_checkgetrange),
	(gst_type_find_element_getrange), (do_typefind),
	(gst_type_find_element_activate),
	(gst_type_find_element_change_state):
	* gst/elements/gsttypefindelement.h:
	* gst/gstpipeline.c: (pipeline_bus_handler):
	Added typefind helper.
	Small preroll fix in the base sink.
	Disable typefind code in basesrc.
	Crude port of typefindelement.
	Fakesrc cleanups.


2005-04-11  Wim Taymans  <wim@fluendo.com>

	* check/gst/gstbus.c: (gstbus_suite):
	* check/gst/gstdata.c: (thread_ref), (gst_data_suite):
	* check/gstcheck.h:
	  Fix up the timeout so that the test does not fail.

2005-04-06  Wim Taymans  <wim@fluendo.com>

	* gst/base/README:
	* gst/base/gstbasesrc.c: (gst_basesrc_get_type),
	(gst_basesrc_init), (gst_basesrc_get_formats), (gst_basesrc_query),
	(gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
	(gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
	(gst_basesrc_check_get_range), (gst_basesrc_loop),
	(gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
	(gst_basesrc_stop), (gst_basesrc_activate),
	(gst_basesrc_change_state), (basesrc_find_peek),
	(basesrc_find_suggest), (gst_basesrc_type_find):
	* gst/base/gstbasesrc.h:
	* gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
	(gst_filesrc_class_init), (gst_filesrc_init),
	(gst_filesrc_finalize), (gst_filesrc_set_location),
	(gst_filesrc_set_property), (gst_filesrc_get_property),
	(gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
	(gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
	(gst_filesrc_create_read), (gst_filesrc_create),
	(gst_filesrc_get_size), (gst_filesrc_start), (gst_filesrc_stop):
	* gst/elements/gstfilesrc.h:
	* gst/gstelement.c: (gst_element_get_state_func),
	(gst_element_lost_state), (gst_element_pads_activate):
	* gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
	(gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
	(gst_pad_pull_range):
	* gst/gstpad.h:
	More work on the generic source base class, implement seeking,
	query.
	Make filesrc extend the base source class.
	Added gst_pad_set_checkgetrange_function to GstPad.

2005-04-06  Andy Wingo  <wingo@pobox.com>

	* pkgconfig/gstreamer-base.pc.in:
	* pkgconfig/gstreamer-base-uninstalled.pc.in: New files.

	* pkgconfig/Makefile.am:
	* configure.ac (AC_OUTPUT): Add gstreamer-base pkgconfig files.

2005-04-04  Wim Taymans  <wim@fluendo.com>

	* gst/base/Makefile.am:
	* gst/base/README:
	* gst/base/gstbasesink.c: (gst_basesink_base_init),
	(gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
	(gst_basesink_pad_buffer_alloc), (gst_basesink_init),
	(gst_basesink_do_sync), (gst_basesink_chain_unlocked):
	* gst/base/gstbasesrc.c: (gst_basesrc_get_type),
	(gst_basesrc_base_init), (gst_basesrc_class_init),
	(gst_basesrc_init), (gst_basesrc_get_formats),
	(gst_basesrc_get_query_types), (gst_basesrc_query),
	(gst_basesrc_get_event_mask), (gst_basesrc_event_handler),
	(gst_basesrc_set_property), (gst_basesrc_get_property),
	(gst_basesrc_get_range_unlocked), (gst_basesrc_get_range),
	(gst_basesrc_loop), (gst_basesrc_activate),
	(gst_basesrc_change_state):
	* gst/base/gstbasesrc.h:
	* gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
	(gst_fakesrc_class_init), (gst_fakesrc_init),
	(gst_fakesrc_event_handler), (gst_fakesrc_set_property),
	(gst_fakesrc_get_property), (gst_fakesrc_create):
	* gst/elements/gstfakesrc.h:
	* gst/elements/gstfilesrc.c: (gst_filesrc_getrange),
	(gst_filesrc_open_file), (gst_filesrc_loop),
	(gst_filesrc_activate), (filesrc_find_peek),
	(gst_filesrc_type_find):
	Made base source class, make fakesrc extend it.
	Add comments to basesink class.
	Some filesrc cleanup.

2005-03-31  David Schleef  <ds@schleef.org>

	* gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
	Switch to using G_MODULE_BIND_LOCAL, which means plugins are now
	expected to link against libgstreamer.
	* gst/base/Makefile.am: link against libgstreamer
	* gst/elements/Makefile.am: same

2005-03-31  Andy Wingo  <wingo@pobox.com>

	* tests/instantiate/Makefile.am:
	* tests/instantiate/caps.c: Add test to test speed of caps copy
	and free.

	* tests/memchunk/gmemchunktest.c (main): Use alloc only on the
	GMemChunk to be fair.

	* gst/gsttrashstack.h: Remove warning about using the fallback
	trash stack implementation, it's still faster than malloc.

2005-03-30  Andy Wingo  <wingo@pobox.com>

	* tests/complexity.c: Add a copyright.

2005-03-31  Wim Taymans  <wim@fluendo.com>

	* gst/base/gstbasetransform.c: (gst_base_transform_base_init),
	(gst_base_transform_class_init), (gst_base_transform_init),
	(gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
	(gst_base_transform_get_property),
	(gst_base_transform_sink_activate),
	(gst_base_transform_src_activate),
	(gst_base_transform_change_state):
	* gst/base/gstbasetransform.h:
	* gst/elements/gstidentity.c: (gst_identity_class_init),
	(gst_identity_event), (gst_identity_check_perfect),
	(gst_identity_transform), (gst_identity_start),
	(gst_identity_stop):
	Added start/stop methods to transform base class so subclasses 
	don't need to deal with state changes even.

2005-03-31  Wim Taymans  <wim@fluendo.com>

	* gst/gstevent.c: (gst_event_new_discontinuous_valist),
	(gst_event_new_discontinuous), (gst_event_discont_get_value):
	* gst/gstevent.h:
	* gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
	(gst_pad_pull_range):
	Added rate to the discont event to prepare for variable speed
	and reverse playback.

2005-03-29  David Schleef  <ds@schleef.org>

	* configure.ac:
	* testsuite/trigger/Makefile.am:
	* testsuite/trigger/trigger.c: A little example program to show
	how trigger-based elements can work.

2005-03-29  Wim Taymans  <wim@fluendo.com>

	* gst/base/Makefile.am:
	* gst/base/README:
	* gst/base/gstbasesink.c: (gst_basesink_get_type),
	(gst_basesink_base_init), (gst_basesink_class_init),
	(gst_basesink_pad_getcaps), (gst_basesink_init),
	(gst_basesink_activate), (gst_basesink_change_state):
	* gst/base/gstbasesink.h:
	* gst/base/gstbasetransform.c: (gst_base_transform_get_type),
	(gst_base_transform_base_init), (gst_base_transform_finalize),
	(gst_base_transform_class_init), (gst_base_transform_init),
	(gst_base_transform_proxy_getcaps), (gst_base_transform_setcaps),
	(gst_base_transform_event), (gst_base_transform_getrange),
	(gst_base_transform_chain), (gst_base_transform_handle_buffer),
	(gst_base_transform_set_property),
	(gst_base_transform_get_property),
	(gst_base_transform_sink_activate),
	(gst_base_transform_src_activate),
	(gst_base_transform_change_state):
	* gst/base/gstbasetransform.h:
	* gst/elements/gstidentity.c: (gst_identity_finalize),
	(gst_identity_class_init), (gst_identity_init),
	(gst_identity_event), (gst_identity_check_perfect),
	(gst_identity_transform), (gst_identity_set_property),
	(gst_identity_get_property), (gst_identity_change_state):
	* gst/elements/gstidentity.h:
	* gst/gstelement.c: (gst_element_get_state_func),
	(gst_element_lost_state), (gst_element_pads_activate):
	* gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
	(gst_pad_check_pull_range), (gst_pad_pull_range):
	* gst/gstpad.h:
	Simplify pad activation.
	Added function to check if pull_range can be performed.
	Error out when pulling inactive or flushing pads.
	Removed const from refcounted types as it does not make sense.
	Simplify pad templates in basesink
	Added base class for simple 1-to-1 transforms.
	Make identity subclass the base transform.

2005-03-29  Andy Wingo  <wingo@pobox.com>

	* docs/libs/gstreamer-libs-overrides.txt: 
	* docs/gst/gstreamer-overrides.txt: Add these files to CVS. Now I
	really don't understand what's going on, but like whatever. I want
	green buildbot!

	* docs/gst/Makefile.am:
	* docs/libs/Makefile.am: Dist the overrides files.

	* check/Makefile.am (clean-local): Remove .libs directories.

	* gst/elements/Makefile.am (EXTRA_DIST): Add all the attic
	elements to EXTRA_DIST, so po/ files are happy.

	* po/POTFILES.in: Er, remove it here.

	* po/POTFILES: Remove gstspider.c.

	* configure.ac (AC_OUTPUT): Add missing testsuite makefiles.

	* docs/libs/gstreamer-libs-docs.sgml: 
	* docs/libs/gstreamer-libs-sections.txt: Remove the section on
	bytestream.

	* tests/complexity.c (main): Set the length of the preroll queue
	on the sinks to prevent a lockup.

	* libs/gst/dataprotocol/Makefile.am: 
	* libs/gst/dataprotocol/dataprotocol-test.c: Remove test, it's
	the same as the one in check/gst-libs/gdp.c.

	* po/, docs/gst/: Commit automatic changes to docs and po files.

	* gst/elements/Makefile.am (libgstelements_la_LDFLAGS): Link to
	the versioned libgstbase.

	* check/Makefile.am: Depend on an unversioned gst-register, seems
	to make autoconf happier.

	* gst/base/Makefile.am: Make libgstbase a versioned lib.

2005-03-28  Wim Taymans  <wim@fluendo.com>

	* configure.ac:
	* docs/design/part-gstelement.txt:
	* docs/design/part-negotiation.txt:
	* docs/design/part-preroll.txt:
	* docs/design/part-scheduling.txt:
	* docs/design/part-states.txt:
	* gst/Makefile.am:
	* gst/base/Makefile.am:
	* gst/base/README:
	* gst/base/gstbasesink.c: (gst_basesink_get_template),
	(gst_basesink_base_init), (gst_basesink_class_init),
	(gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
	(gst_basesink_pad_buffer_alloc), (gst_basesink_init),
	(gst_basesink_set_pad_functions),
	(gst_basesink_set_all_pad_functions), (gst_basesink_set_clock),
	(gst_basesink_set_property), (gst_basesink_get_property),
	(gst_base_sink_get_template), (gst_base_sink_get_caps),
	(gst_base_sink_set_caps), (gst_base_sink_buffer_alloc),
	(gst_basesink_preroll_queue_push),
	(gst_basesink_preroll_queue_empty),
	(gst_basesink_preroll_queue_flush), (gst_basesink_finish_preroll),
	(gst_basesink_event), (gst_basesink_get_times),
	(gst_basesink_do_sync), (gst_basesink_handle_buffer),
	(gst_basesink_chain_unlocked), (gst_basesink_chain),
	(gst_basesink_loop), (gst_basesink_activate),
	(gst_basesink_change_state):
	* gst/base/gstbasesink.h:
	* gst/elements/Makefile.am:
	* gst/elements/gstfakesink.c: (gst_fakesink_base_init),
	(gst_fakesink_class_init), (gst_fakesink_init),
	(gst_fakesink_set_property), (gst_fakesink_get_property),
	(gst_fakesink_get_times), (gst_fakesink_event),
	(gst_fakesink_preroll), (gst_fakesink_render),
	(gst_fakesink_change_state):
	* gst/elements/gstfakesink.h:
	* gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
	(gst_bin_get_state), (gst_bin_change_state), (gst_bin_send_event):
	* gst/gstelement.c: (gst_element_add_pad),
	(gst_element_get_state_func), (gst_element_abort_state),
	(gst_element_commit_state), (gst_element_lost_state),
	(gst_element_set_state), (gst_element_pads_activate):
	* gst/gstpad.c: (gst_pad_set_active), (gst_pad_event_default):
	* gst/gstpipeline.c: (gst_pipeline_send_event),
	(gst_pipeline_change_state):
	Added state change code.
	Added/updated docs.
	Added sink base class, make fakesink extend the base class.
	Small cleanups in GstPipeline.

2005-03-26  David Schleef  <ds@schleef.org>

	* gst/Makefile.am: remove gstcpu.[ch].  The gst_cpu functionality
	is broken and should be implemented in a different library.
	* gst/gst.c: (init_post): don't call _gst_cpu_initialize()
	* gst/gst.h: remove gstcpu.h
	* gst/gstcpu.c: remove
	* gst/gstcpu.h: remove
	* gst/Makefile.am.future: Remove this file.  It's ancient.

2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>

	* gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
	(gst_bin_send_event):
	  Add default event/set_manager handlers. The set_manager handler
	  takes care that the manager is distributed over kids that were
	  already in the bin before the manager was set. The event handler
	  is a utility virtual function that sends the event over all sinks,
	  so that gst_element_send_event (bin, event); has the expected
	  behaviour.
	* gst/gstpad.c: (gst_pad_event_default):
	  Re-install default event handling for discontinuities, so that
	  seeking works without requiring hacks in applications or extra
	  code in sinks.
	* gst/gstpipeline.c: (gst_pipeline_class_init),
	(gst_pipeline_send_event):
	  Half hack, half utility: set a pipeline to PAUSED for seek events,
	  since that is the only way we can guarantee a/v sync. Means that
	  you can do gst_element_seek (pipeline, method, pos); on a pipeline
	  and it "just works".

2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>

	* gst/gstpipeline.c: (gst_pipeline_use_clock):
	  Lock/unlock mismatch.

2005-03-25  Thomas Vander Stichele  <thomas at apestaart dot org>

	* docs/faq/gst-uninstalled:
	  add gst-plugins-base
	* docs/gst/Makefile.am:
	  don't error out until docs are fixed
	* docs/gst/gstreamer.types:
	  remove thread

2005-03-22  Wim Taymans  <wim@fluendo.com>

	* check/Makefile.am:
	* check/gst/gstmessage.c: (START_TEST), (gst_data_suite), (main):
	* gst/gststructure.c: (gst_structure_set_valist),
	(gst_structure_copy_conditional):
	Activated more tests.
	Added message test.
	Added G_TYPE_POINTER to GstStructure.
	

2005-03-22  Wim Taymans  <wim@fluendo.com>

	* docs/design/part-TODO.txt:
	* docs/design/part-events.txt:
	* docs/design/part-gstbin.txt:
	* docs/design/part-gstbus.txt:
	* docs/design/part-gstpipeline.txt:
	* docs/design/part-messages.txt:
	* gst/gstbus.c:
	* gst/gstmessage.c:
	Docs updates

2005-03-21  Wim Taymans  <wim@fluendo.com>

	* gst/gstbus.c: (gst_bus_post):
	Fix copy-and-paste error.

2005-03-21  Wim Taymans  <wim@fluendo.com>

	* check/Makefile.am:
	* gst/Makefile.am:
	* gst/elements/Makefile.am:
	* gst/elements/gstelements.c:
	* gst/elements/gstfakesink.c: (gst_fakesink_init),
	(gst_fakesink_event), (gst_fakesink_chain):
	* gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
	(gst_fakesrc_init), (gst_fakesrc_get_event_mask),
	(gst_fakesrc_event_handler), (gst_fakesrc_set_pad_functions),
	(gst_fakesrc_set_all_pad_functions), (gst_fakesrc_request_new_pad),
	(gst_fakesrc_set_property), (gst_fakesrc_get_property),
	(gst_fakesrc_get_range_unlocked), (gst_fakesrc_get_range),
	(gst_fakesrc_loop), (gst_fakesrc_activate),
	(gst_fakesrc_change_state):
	* gst/elements/gstfakesrc.h:
	* gst/elements/gstfilesrc.c: (gst_filesrc_init),
	(gst_filesrc_get_read), (gst_filesrc_getrange), (gst_filesrc_get),
	(gst_filesrc_open_file), (gst_filesrc_loop),
	(gst_filesrc_activate), (gst_filesrc_change_state),
	(filesrc_find_peek), (filesrc_find_suggest),
	(gst_filesrc_type_find):
	* gst/elements/gstidentity.c: (gst_identity_finalize),
	(gst_identity_class_init), (gst_identity_init),
	(gst_identity_proxy_getcaps), (identity_queue_push),
	(identity_queue_pop), (identity_queue_flush), (gst_identity_event),
	(gst_identity_getrange), (gst_identity_chain),
	(gst_identity_sink_loop), (gst_identity_src_loop),
	(gst_identity_handle_buffer), (gst_identity_set_dataflow_funcs),
	(gst_identity_set_property), (gst_identity_get_property),
	(gst_identity_change_state):
	* gst/elements/gstidentity.h:
	* gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
	(gst_tee_update_pad_functions), (gst_tee_request_new_pad),
	(gst_tee_set_property), (gst_tee_get_property), (gst_tee_do_push),
	(gst_tee_handle_buffer), (gst_tee_chain), (gst_tee_loop),
	(gst_tee_sink_activate):
	* gst/elements/gsttee.h:
	* gst/gst.c: (gst_register_core_elements), (init_post):
	* gst/gst.h:
	* gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_bus),
	(gst_bin_set_scheduler), (gst_bin_add_func), (gst_bin_add),
	(gst_bin_remove_func), (gst_bin_remove), (gst_bin_get_state),
	(gst_bin_change_state):
	* gst/gstbin.h:
	* gst/gstbus.c: (gst_bus_get_type), (gst_bus_class_init),
	(gst_bus_init), (gst_bus_dispose), (gst_bus_set_property),
	(gst_bus_get_property), (gst_bus_new), (gst_bus_post),
	(gst_bus_have_pending), (gst_bus_pop), (gst_bus_peek),
	(gst_bus_set_sync_handler), (gst_bus_create_watch),
	(bus_watch_callback), (bus_watch_destroy),
	(gst_bus_add_watch_full), (gst_bus_add_watch), (poll_handler),
	(poll_timeout), (gst_bus_poll):
	* gst/gstbus.h:
	* gst/gstcaps.h:
	* gst/gstdata.h:
	* gst/gstelement.c: (gst_element_class_init), (gst_element_init),
	(gst_element_post_message), (gst_element_message_full),
	(gst_element_get_state_func), (gst_element_get_state),
	(gst_element_abort_state), (gst_element_commit_state),
	(gst_element_lost_state), (gst_element_set_state),
	(gst_element_pads_activate), (gst_element_change_state),
	(gst_element_dispose), (gst_element_set_manager_func),
	(gst_element_set_bus_func), (gst_element_set_scheduler_func),
	(gst_element_set_manager), (gst_element_get_manager),
	(gst_element_set_bus), (gst_element_get_bus),
	(gst_element_set_scheduler), (gst_element_get_scheduler):
	* gst/gstelement.h:
	* gst/gstevent.c: (gst_event_new_segment_seek),
	(gst_event_new_flush):
	* gst/gstevent.h:
	* gst/gstmessage.c: (_gst_message_initialize), (_gst_message_copy),
	(_gst_message_free), (gst_message_get_type), (gst_message_new),
	(gst_message_new_eos), (gst_message_new_error),
	(gst_message_new_warning), (gst_message_new_tag),
	(gst_message_new_state_changed), (gst_message_new_application),
	(gst_message_get_structure), (gst_message_parse_tag),
	(gst_message_parse_state_changed), (gst_message_parse_error),
	(gst_message_parse_warning):
	* gst/gstmessage.h:
	* gst/gstpad.c: (gst_real_pad_class_init), (gst_real_pad_init),
	(gst_real_pad_set_property), (gst_pad_set_active),
	(gst_pad_is_active), (gst_pad_set_blocked_async),
	(gst_pad_set_blocked), (gst_pad_is_blocked),
	(gst_pad_set_activate_function), (gst_pad_set_loop_function),
	(gst_pad_set_getrange_function), (gst_pad_set_acceptcaps_function),
	(gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
	(gst_pad_unlink), (gst_pad_link_prepare_filtered),
	(gst_pad_link_filtered), (gst_pad_relink_filtered),
	(gst_real_pad_get_caps_unlocked), (gst_pad_get_caps),
	(gst_pad_peer_get_caps), (gst_pad_fixate_caps),
	(gst_pad_accept_caps), (gst_pad_peer_accept_caps),
	(gst_pad_set_caps), (gst_pad_configure_sink),
	(gst_pad_configure_src), (gst_pad_get_negotiated_caps),
	(gst_pad_get_filter_caps), (gst_pad_alloc_buffer),
	(gst_real_pad_dispose), (gst_real_pad_finalize),
	(handle_pad_block), (gst_pad_push), (gst_pad_pull_range),
	(gst_pad_event_default_dispatch), (gst_pad_event_default),
	(gst_pad_push_event), (gst_pad_send_event), (gst_pad_get_formats):
	* gst/gstpad.h:
	* gst/gstpipeline.c: (gst_pipeline_init), (is_eos),
	(pipeline_bus_handler), (gst_pipeline_change_state),
	(gst_pipeline_get_scheduler), (gst_pipeline_get_bus):
	* gst/gstpipeline.h:
	* gst/gstprobe.h:
	* gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
	(gst_queue_finalize), (gst_queue_getcaps), (gst_queue_link_sink),
	(gst_queue_link_src), (gst_queue_bufferalloc),
	(gst_queue_locked_flush), (gst_queue_handle_sink_event),
	(gst_queue_is_empty), (gst_queue_is_filled), (gst_queue_chain),
	(gst_queue_loop), (gst_queue_handle_src_event),
	(gst_queue_handle_src_query), (gst_queue_src_activate),
	(gst_queue_change_state):
	* gst/gstqueue.h:
	* gst/gstscheduler.c: (gst_scheduler_init),
	(gst_scheduler_dispose), (gst_scheduler_create_task),
	(gst_scheduler_factory_create):
	* gst/gstscheduler.h:
	* gst/gststructure.c: (gst_structure_get_type),
	(gst_structure_copy_conditional):
	* gst/gststructure.h:
	* gst/gsttaginterface.h:
	* gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
	(gst_task_init), (gst_task_dispose), (gst_task_create),
	(gst_task_get_state), (gst_task_start), (gst_task_stop),
	(gst_task_pause):
	* gst/gsttask.h:
	* gst/gstthread.c:
	* gst/gstthread.h:
	* gst/gsttypes.h:
	* gst/schedulers/Makefile.am:
	* gst/schedulers/cothreads_compat.h:
	* gst/schedulers/entryscheduler.c:
	* gst/schedulers/faircothreads.c:
	* gst/schedulers/faircothreads.h:
	* gst/schedulers/fairscheduler.c:
	* gst/schedulers/gstbasicscheduler.c:
	* gst/schedulers/gstoptimalscheduler.c:
	* gst/schedulers/gthread-cothreads.h:
	* gst/schedulers/threadscheduler.c:
	(gst_thread_scheduler_task_get_type),
	(gst_thread_scheduler_task_class_init),
	(gst_thread_scheduler_task_init),
	(gst_thread_scheduler_task_start),
	(gst_thread_scheduler_task_stop),
	(gst_thread_scheduler_task_pause), (gst_thread_scheduler_get_type),
	(gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
	(gst_thread_scheduler_init), (gst_thread_scheduler_create_task),
	(gst_thread_scheduler_setup), (gst_thread_scheduler_reset),
	(plugin_init):
	* libs/gst/Makefile.am:
	* libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf):
	* libs/gst/bytestream/filepad.c: (gst_file_pad_init),
	(gst_file_pad_parent_set):
	* libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
	(gst_dp_event_from_packet):
	* tests/complexity.c: (main):
	* tests/mass_elements.c: (main):
	* testsuite/states/locked.c: (message_received), (main):
	* testsuite/states/parent.c: (main):
	* tools/gst-inspect.c: (print_element_flag_info),
	(print_implementation_info), (print_pad_info):
	* tools/gst-launch.c: (check_intr), (play_handler), (event_loop),
	(main):
	* tools/gst-md5sum.c: (event_loop), (main):
	* tools/gst-typefind.c: (main):
	* tools/gst-xmlinspect.c: (print_element_info):
	Next big merge.
	Added GstBus for mainloop integration.
	Added GstMessage for sending notifications on the bus.
	Added GstTask as an abstraction for pipeline entry points.
	Removed GstThread.
	Removed Schedulers.
	Simplified GstQueue for multithreaded core.
	Made _link threadsafe, removed old capsnego.
	Added STREAM_LOCK and PREROLL_LOCK in GstPad.
	Added pad blocking functions.
	Reworked scheduling functions in GstPad to prepare for
	scheduling updates soon.
	Moved events out of data stream.
	Simplified GstEvent types.
	Added return values to push/pull.
	Removed clocking from GstElement.
	Added prototypes for state change function for next merge.
	Removed iterate from bins and state change management.
	Fixed some elements, disabled others for now.
	Fixed -inspect and -launch.
	Added check for GstBus.

2005-03-10  Wim Taymans  <wim@fluendo.com>

	* docs/design/part-MT-refcounting.txt:
	* docs/design/part-clocks.txt:
	* docs/design/part-gstelement.txt:
	* docs/design/part-gstobject.txt:
	* docs/design/part-standards.txt:
	* gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
	(gst_bin_remove_func), (gst_bin_remove):
	* gst/gstbin.h:
	* gst/gstbuffer.c:
	* gst/gstcaps.h:
	* testsuite/clock/clock1.c: (main):
	* testsuite/clock/clock2.c: (gst_clock_debug), (element_wait),
	(main):
	* testsuite/dlopen/loadgst.c: (do_test):
	* testsuite/refcounting/bin.c: (add_remove_test1),
	(add_remove_test2), (main):
	* testsuite/refcounting/element.c: (main):
	* testsuite/refcounting/element_pad.c: (main):
	* testsuite/refcounting/pad.c: (main):
	* tools/gst-launch.c: (sigint_handler_sighandler):
	* tools/gst-typefind.c: (main):
	Doc updates.
	Added doc about clock.
	removed gst_bin_iterate_recurse_up(), marked methods
	for removal.
	Fix more testsuites.

2005-03-09  Wim Taymans  <wim@fluendo.com>

	* gst/gstpad.c: (gst_pad_get_direction),
	(_gst_pad_default_fixate_foreach), (gst_pad_collectv),
	(gst_pad_collect_valist):
	* testsuite/bins/interface.c: (main):
	* testsuite/caps/audioscale.c: (test_caps):
	* testsuite/caps/caps.c: (test1), (test2), (test3):
	* testsuite/caps/deserialize.c: (main):
	* testsuite/caps/enumcaps.c: (main):
	* testsuite/caps/filtercaps.c: (main):
	* testsuite/caps/intersect2.c: (main):
	* testsuite/caps/random.c: (main):
	* testsuite/caps/renegotiate.c: (my_fixate), (main):
	* testsuite/caps/sets.c: (check_caps):
	* testsuite/caps/simplify.c: (check_caps), (main):
	* testsuite/caps/subtract.c: (check_caps):
	Fix _pad_get_direction wrt ghostpads.
	Fix caps testsuite.

2005-03-09  Wim Taymans  <wim@fluendo.com>

	* check/Makefile.am:
	* check/gst/gstbin.c: (START_TEST), (gst_bin_suite), (main):
	* check/gst/gstsystemclock.c: (START_TEST), (gst_clock_debug),
	(ok_callback), (error_callback), (gst_systemclock_suite), (main):
	* gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func),
	(gst_bin_set_clock_func), (gst_bin_get_clock_func),
	(gst_bin_add_func), (gst_bin_add), (gst_bin_remove_func),
	(gst_bin_remove), (gst_bin_iterate_recurse_up),
	(bin_element_is_sink), (gst_bin_iterate_sinks),
	(gst_bin_iterate_all_by_interface):
	* gst/gstbin.h:
	* gst/gstelement.c: (gst_element_init), (gst_element_error_full),
	(gst_element_change_state), (gst_element_dispose),
	(gst_element_finalize), (gst_element_set_loop_function):
	* gst/gstelement.h:
	* gst/gstiterator.c: (find_custom_fold_func):
	* gst/gstpad.c: (_gst_pad_default_fixate_foreach),
	(gst_pad_collectv), (gst_pad_collect_valist),
	(gst_pad_template_new):
	* gst/gstpipeline.c: (gst_pipeline_class_init),
	(gst_pipeline_dispose), (gst_pipeline_set_property),
	(gst_pipeline_get_property), (gst_pipeline_get_clock_func),
	(gst_pipeline_get_clock), (gst_pipeline_use_clock),
	(gst_pipeline_set_clock), (gst_pipeline_auto_clock):
	* gst/gstutils.h:
	* gst/schedulers/entryscheduler.c:
	* gst/schedulers/gstbasicscheduler.c:
	(gst_basic_scheduler_cothreaded_chain),
	(gst_basic_scheduler_chain_add_element):
	* testsuite/bins/interface.c: (main):
	Added GstBin test.
	Added GstSystemClock test.
	Implemented clock distribution code in GstBin.
	Implemented iterate sinks method for future use.
	Rearranged gstelement.h
	Fix GstIterator comparison bug.
	Moved some code to GstPipeline, mostly clocking related.

2005-03-09  Wim Taymans  <wim@fluendo.com>

	* configure.ac:
	* gst/gst_private.h:
	* gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
	(gst_bin_remove_func), (gst_bin_remove),
	(gst_bin_get_by_name_recurse_up):
	* gst/gstclock.c: (gst_clock_id_ref), (gst_clock_id_unref),
	(gst_clock_id_compare_func), (gst_clock_id_wait),
	(gst_clock_id_wait_async), (gst_clock_init),
	(gst_clock_adjust_unlocked), (gst_clock_get_time):
	* gst/gstelement.h:
	* gst/gstinfo.c: (_gst_debug_init):
	* gst/gstobject.h:
	* gst/gstpad.c: (_gst_pad_default_fixate_foreach),
	(gst_pad_collectv), (gst_pad_collect_valist), (gst_pad_query):
	* gst/gstpad.h:
	Bump version number, we're now 0.9.0
	Add future debugging category.
	Fix NULL _unref() in _get_by_name_recurse_up
	Rearrange gstpad.h.
	Update some docs.

2005-03-08  Wim Taymans  <wim@fluendo.com>

	* gst/elements/gstaggregator.c: (gst_aggregator_class_init):
	* gst/elements/gstfakesink.c: (gst_fakesink_class_init):
	* gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
	* gst/elements/gstfdsink.c: (gst_fdsink_class_init):
	* gst/elements/gstfdsrc.c: (gst_fdsrc_class_init):
	* gst/elements/gstfilesink.c: (gst_filesink_class_init):
	* gst/elements/gstfilesrc.c: (gst_filesrc_class_init):
	* gst/elements/gstidentity.c: (gst_identity_class_init):
	* gst/elements/gstmd5sink.c: (gst_md5sink_class_init):
	* gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
	* gst/elements/gstshaper.c: (gst_shaper_class_init):
	* gst/elements/gststatistics.c: (gst_statistics_class_init):
	* gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_getcaps),
	(gst_tee_link):
	* gst/gstelement.c: (gst_element_class_init),
	(gst_element_base_class_init), (gst_element_init),
	(gst_element_get_random_pad), (gst_element_wait_state_change),
	(gst_element_change_state), (gst_element_dispose),
	(gst_element_finalize), (gst_element_set_loop_function):
	* gst/gstelement.h:
	* gst/gstqueue.c: (gst_queue_class_init), (gst_queue_link_src):
	* gst/gstthread.c: (gst_thread_class_init),
	(gst_thread_release_children_locks), (gst_thread_change_state):
	* gst/schedulers/gstbasicscheduler.c:
	(gst_basic_scheduler_loopfunc_wrapper),
	(gst_basic_scheduler_chain_wrapper),
	(gst_basic_scheduler_src_wrapper),
	(gst_basic_scheduler_remove_element):
	* gst/schedulers/gstoptimalscheduler.c: (schedule_group):
	Remove threadsafe properties. Fix elements because GObject
	complains when installing a property before declaring a
	set/get_property handler.
	Rearrange gstelement.h file, use STATE macros for state locks.
	Free mutexes in the finalize method instead of dispose.

2005-03-08  Wim Taymans  <wim@fluendo.com>

	* check/gst/gstobject.c: (START_TEST), (gst_object_suite):
	* gst/gstthread.c: (gst_thread_release_children_locks):
	Added parentage check.
	Fix build og GstThread again.

2005-03-08  Wim Taymans  <wim@fluendo.com>

	* docs/design/part-MT-refcounting.txt:
	* docs/design/part-conventions.txt:
	* docs/design/part-gstobject.txt:
	* docs/design/part-relations.txt:
	* docs/design/part-standards.txt:
	* gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
	(gst_bin_remove_func), (gst_bin_remove), (gst_bin_iterate_recurse),
	(gst_bin_get_by_name), (gst_bin_get_by_interface),
	(gst_bin_iterate_all_by_interface):
	* gst/gstbuffer.h:
	* gst/gstclock.h:
	* gst/gstelement.c: (gst_element_class_init),
	(gst_element_change_state), (gst_element_set_loop_function):
	* gst/gstelement.h:
	* gst/gstiterator.c:
	* gst/gstobject.c: (gst_object_class_init), (gst_object_ref),
	(gst_object_unref), (gst_object_sink), (gst_object_dispose),
	(gst_object_dispatch_properties_changed), (gst_object_set_name),
	(gst_object_set_parent), (gst_object_unparent),
	(gst_object_check_uniqueness):
	* gst/gstobject.h:
	Docs updates, clean up some headers.

2005-03-07  Wim Taymans  <wim@fluendo.com>

	* check/.cvsignore:
	* check/Makefile.am:
	* check/gst-libs/.cvsignore:
	* check/gst-libs/gdp.c: (START_TEST), (gst_object_suite), (main):
	* check/gst/.cvsignore:
	* check/gst/gstbus.c: (pound_bus_with_messages), (pull_messages),
	(START_TEST), (gstbus_suite), (main):
	* check/gst/gstcaps.c: (START_TEST), (gst_caps_suite), (main):
	* check/gst/gstdata.c: (START_TEST), (thread_ref), (thread_unref),
	(gst_data_suite), (main):
	* check/gst/gstiterator.c: (make_list_of_ints), (START_TEST),
	(add_fold_func), (gstiterator_suite), (main):
	* check/gst/gstobject.c: (gst_fake_object_get_type), (START_TEST),
	(thread_name_object), (thread_name_object_default),
	(gst_object_name_compare), (gst_object_suite), (main):
	* check/gst/gstpad.c: (START_TEST), (thread_link_unlink),
	(gst_pad_suite), (main):
	* check/gstcheck.c: (gst_check_log_message_func),
	(gst_check_log_critical_func), (gst_check_init):
	* check/gstcheck.h:
	* check/pipelines/simple_launch_lines.c: (setup_pipeline),
	(run_pipeline), (START_TEST), (simple_launch_lines_suite), (main):
	Added checks.

2005-03-07  Wim Taymans  <wim@fluendo.com>

	* gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
	(gst_list_iterator_next), (gst_list_iterator_resync),
	(gst_list_iterator_free), (gst_iterator_new_list),
	(gst_iterator_pop), (gst_iterator_next), (gst_iterator_resync),
	(gst_iterator_free), (gst_iterator_push), (filter_next),
	(filter_resync), (filter_uninit), (filter_free),
	(gst_iterator_filter), (gst_iterator_fold), (foreach_fold_func),
	(gst_iterator_foreach), (find_custom_fold_func),
	(gst_iterator_find_custom):
	* gst/gstiterator.h:
	Added missing files.

2005-03-07  Wim Taymans  <wim@fluendo.com>

	* Makefile.am:
	* configure.ac:
	* docs/design/part-MT-refcounting.txt:
	* docs/design/part-conventions.txt:
	* docs/design/part-gstobject.txt:
	* docs/design/part-relations.txt:
	* examples/mixer/mixer.c: (main):
	* examples/thread/thread.c: (eos), (main):
	* gst/Makefile.am:
	* gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
	* gst/autoplug/gstspider.c: (gst_spider_identity_plug),
	(gst_spider_plug_from_srcpad):
	* gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps),
	(gst_spider_identity_change_state),
	(gst_spider_identity_sink_loop_type_finding):
	* gst/elements/gstfakesrc.c: (gst_fakesrc_loop):
	* gst/elements/gstidentity.c: (gst_identity_init):
	* gst/elements/gsttee.c: (gst_tee_init), (gst_tee_getcaps),
	(gst_tee_link), (gst_tee_request_new_pad), (gst_tee_chain):
	* gst/elements/gsttypefindelement.c: (free_entry):
	* gst/gst.c:
	* gst/gst.h:
	* gst/gstbin.c: (gst_bin_init), (gst_bin_get_clock_func),
	(gst_bin_set_clock_func), (gst_bin_auto_clock),
	(gst_bin_set_index), (gst_bin_set_element_sched),
	(gst_bin_unset_element_sched), (gst_bin_add_func), (gst_bin_add),
	(gst_bin_remove_func), (gst_bin_remove), (iterate_child),
	(gst_bin_iterate_elements), (iterate_child_recurse),
	(gst_bin_iterate_recurse), (gst_bin_dispose), (compare_name),
	(gst_bin_get_by_name), (gst_bin_get_by_name_recurse_up),
	(compare_interface), (gst_bin_get_by_interface),
	(gst_bin_iterate_all_by_interface), (gst_bin_iterate_func):
	* gst/gstbin.h:
	* gst/gstbuffer.c: (gst_buffer_get_type), (_gst_buffer_sub_free),
	(gst_buffer_default_free), (gst_buffer_default_copy),
	(gst_buffer_new), (gst_buffer_get_caps), (gst_buffer_set_caps),
	(gst_buffer_create_sub):
	* gst/gstbuffer.h:
	* gst/gstcaps.c: (gst_caps_get_type), (gst_caps_new_empty),
	(_gst_caps_free), (gst_caps_make_writable), (gst_caps_ref),
	(gst_caps_unref), (gst_static_caps_get),
	(gst_caps_remove_and_get_structure), (gst_caps_append),
	(gst_caps_append_structure), (gst_caps_remove_structure),
	(gst_caps_copy_nth), (gst_caps_set_simple),
	(gst_caps_set_simple_valist), (gst_caps_is_fixed_foreach),
	(gst_structure_is_equal_foreach), (gst_caps_is_subset),
	(gst_caps_structure_intersect_field), (gst_caps_intersect),
	(gst_caps_structure_subtract_field), (gst_caps_subtract),
	(gst_caps_normalize_foreach), (gst_caps_compare_structures),
	(gst_caps_structure_figure_out_union),
	(gst_caps_switch_structures), (gst_caps_do_simplify),
	(gst_caps_replace), (gst_caps_from_string),
	(gst_caps_copy_conditional):
	* gst/gstcaps.h:
	* gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_ref),
	(_gst_clock_id_free), (gst_clock_id_unref),
	(gst_clock_id_compare_func), (gst_clock_id_wait),
	(gst_clock_id_wait_async), (gst_clock_class_init),
	(gst_clock_init), (gst_clock_dispose), (gst_clock_adjust_unlocked),
	(gst_clock_get_time), (gst_clock_set_time_adjust),
	(gst_clock_set_property), (gst_clock_get_property):
	* gst/gstclock.h:
	* gst/gstcompat.h:
	* gst/gstcpu.c: (_gst_cpu_initialize_i386), (gst_cpu_get_flags):
	* gst/gstdata.c: (gst_data_is_writable), (gst_data_copy_on_write):
	* gst/gstdata.h:
	* gst/gstelement.c: (gst_element_class_init), (gst_element_init),
	(gst_element_requires_clock), (gst_element_provides_clock),
	(gst_element_set_clock), (gst_element_clock_wait),
	(gst_element_wait), (gst_element_set_time_delay),
	(gst_element_is_indexable), (gst_element_add_pad),
	(gst_element_add_ghost_pad), (gst_element_remove_pad),
	(pad_compare_name), (gst_element_get_static_pad),
	(gst_element_request_pad), (gst_element_get_request_pad),
	(gst_element_get_pad), (iterate_pad), (gst_element_iterate_pads),
	(gst_element_class_get_pad_template_list),
	(gst_element_class_get_pad_template), (gst_element_error_func),
	(gst_element_get_random_pad), (gst_element_get_event_masks),
	(gst_element_send_event), (gst_element_seek),
	(gst_element_get_query_types), (gst_element_query),
	(gst_element_get_formats), (gst_element_convert),
	(gst_element_is_locked_state), (gst_element_set_locked_state),
	(gst_element_sync_state_with_parent), (gst_element_change_state),
	(gst_element_finalize), (gst_element_yield),
	(gst_element_interrupt), (gst_element_set_scheduler),
	(gst_element_get_scheduler), (gst_element_set_loop_function):
	* gst/gstelement.h:
	* gst/gstevent.h:
	* gst/gstformat.c: (_gst_format_initialize), (gst_format_register),
	(gst_format_get_by_nick), (gst_format_get_details),
	(gst_format_iterate_definitions):
	* gst/gstformat.h:
	* gst/gstindex.c: (gst_index_gtype_resolver):
	* gst/gstinfo.c:
	* gst/gstinfo.h:
	* gst/gstmemchunk.c: (gst_mem_chunk_alloc), (gst_mem_chunk_alloc0),
	(gst_mem_chunk_free):
	* gst/gstobject.c: (gst_object_class_init), (gst_object_init),
	(gst_object_ref), (gst_object_unref), (gst_object_sink),
	(gst_object_replace), (gst_object_dispose), (gst_object_finalize),
	(gst_object_dispatch_properties_changed),
	(gst_object_set_name_default), (gst_object_set_name),
	(gst_object_get_name), (gst_object_set_name_prefix),
	(gst_object_get_name_prefix), (gst_object_set_parent),
	(gst_object_get_parent), (gst_object_unparent),
	(gst_object_check_uniqueness), (gst_object_save_thyself),
	(gst_object_restore_thyself), (gst_object_real_restore_thyself),
	(gst_object_set_property), (gst_object_get_property),
	(gst_object_get_path_string):
	* gst/gstobject.h:
	* gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
	(gst_real_pad_init), (gst_real_pad_get_property),
	(gst_pad_custom_new), (gst_pad_get_direction),
	(gst_pad_set_active), (gst_pad_is_active),
	(gst_pad_set_event_function), (gst_pad_is_linked),
	(gst_pad_link_free), (gst_pad_link_intersect),
	(gst_pad_link_fixate), (gst_pad_set_caps),
	(gst_pad_try_set_caps_nonfixed), (gst_pad_set_pad_template),
	(gst_pad_get_real_parent), (gst_pad_add_ghost_pad),
	(gst_pad_remove_ghost_pad), (_gst_pad_default_fixate_foreach),
	(gst_pad_link_unnegotiate), (gst_pad_proxy_fixate),
	(gst_pad_get_caps), (gst_pad_peer_get_caps),
	(gst_pad_get_pad_template_caps), (gst_pad_get_peer),
	(gst_pad_realize), (gst_pad_get_allowed_caps),
	(gst_real_pad_dispose), (gst_real_pad_finalize),
	(gst_pad_collectv), (gst_pad_collect_valist),
	(gst_pad_template_dispose), (gst_pad_template_new),
	(gst_pad_get_internal_links):
	* gst/gstpad.h:
	* gst/gstpipeline.c: (gst_pipeline_dispose),
	(gst_pipeline_change_state):
	* gst/gstpipeline.h:
	* gst/gstplugin.c:
	* gst/gstpluginfeature.c: (gst_plugin_feature_get_name),
	(gst_plugin_feature_set_rank), (gst_plugin_feature_get_rank):
	* gst/gstpluginfeature.h:
	* gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
	* gst/gstquery.c: (_gst_query_type_initialize),
	(gst_query_type_register), (gst_query_type_get_by_nick),
	(gst_query_type_get_details), (gst_query_type_iterate_definitions):
	* gst/gstquery.h:
	* gst/gstqueue.c: (gst_queue_link_sink), (gst_queue_link_src):
	* gst/gstscheduler.c: (gst_scheduler_add_element),
	(gst_scheduler_factory_create):
	* gst/gststructure.c: (gst_structure_set_parent_refcount),
	(gst_structure_free), (gst_structure_set_name),
	(gst_structure_id_set_value), (gst_structure_set_value),
	(gst_structure_set_valist), (gst_structure_remove_field),
	(gst_structure_remove_fields),
	(gst_structure_remove_fields_valist),
	(gst_structure_remove_all_fields), (gst_structure_foreach),
	(gst_structure_map_in_place),
	(gst_caps_structure_fixate_field_nearest_int),
	(gst_caps_structure_fixate_field_nearest_double):
	* gst/gststructure.h:
	* gst/gstsystemclock.c: (gst_system_clock_class_init),
	(gst_system_clock_init), (gst_system_clock_dispose),
	(gst_system_clock_async_thread),
	(gst_system_clock_id_wait_unlocked), (gst_system_clock_id_wait),
	(gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
	* gst/gstsystemclock.h:
	* gst/gsttag.c: (gst_tag_list_add_value_internal),
	(gst_tag_list_copy_foreach), (structure_foreach_wrapper):
	* gst/gsttaginterface.c:
	* gst/gstthread.c: (gst_thread_dispose),
	(gst_thread_release_children_locks), (gst_thread_change_state),
	(gst_thread_main_loop):
	* gst/gsttrashstack.h:
	* gst/gsttypefind.c: (gst_type_find_factory_dispose):
	* gst/gsttypes.h:
	* gst/gstutils.c: (gst_element_get_compatible_pad_template),
	(gst_element_request_pad), (gst_element_get_pad_from_template),
	(gst_element_request_compatible_pad),
	(gst_element_get_compatible_pad_filtered),
	(gst_element_get_compatible_pad), (gst_element_state_get_name),
	(gst_element_link_pads_filtered), (gst_element_link_filtered),
	(gst_element_link_many), (gst_element_link),
	(gst_element_link_pads), (gst_element_unlink_pads),
	(gst_element_unlink_many), (gst_element_unlink),
	(gst_pad_can_link_filtered), (gst_pad_can_link),
	(gst_pad_use_fixed_caps), (gst_pad_get_fixed_caps_func),
	(gst_object_default_error), (gst_bin_add_many),
	(gst_bin_remove_many), (gst_element_populate_std_props),
	(gst_element_class_install_std_props), (gst_buffer_merge),
	(gst_buffer_stamp), (intersect_caps_func), (gst_pad_proxy_getcaps),
	(link_fold_func), (gst_pad_proxy_setcaps):
	* gst/gstutils.h:
	* gst/gstvalue.c: (gst_value_deserialize_string):
	* gst/parse/grammar.y:
	* gst/schedulers/gstbasicscheduler.c:
	(gst_basic_scheduler_cothreaded_chain),
	(gst_basic_scheduler_chain_recursive_add),
	(gst_basic_scheduler_pad_link):
	* gst/schedulers/gstoptimalscheduler.c:
	(get_group_schedule_function),
	(gst_opt_scheduler_state_transition),
	(gst_opt_scheduler_add_element), (element_get_reachables_func):
	* libs/gst/bytestream/bytestream.c:
	* libs/gst/dataprotocol/dataprotocol.c:
	(gst_dp_header_from_buffer):
	* po/nb.po:
	* po/ru.po:
	* tests/threadstate/threadstate2.c: (eos):
	* tools/gst-compprep.c: (main):
	* tools/gst-inspect.c: (print_field), (print_element_flag_info),
	(print_pad_info), (print_children_info):
	* tools/gst-launch.c: (idle_func), (main):
	* tools/gst-md5sum.c: (idle_func), (main):
	* tools/gst-xmlinspect.c: (print_element_info):
	First THREADED backport attempt, focusing on adding locks and
	making sure the API is threadsafe. Needs more work. More docs
	follow this week.

2005-02-24  Andy Wingo  <wingo@pobox.com>

	* tests/bench-complexity.scm:
	* tests/complexity.gnuplot: New files, good for running complexity
	benchmarks.

	* tests/Makefile.am:
	* tests/complexity.c: New test, sets up N elements, at each level
	teeing into M streams per element. Eeeenteresting.

	* tests/mass_elements.gnuplot: gnuplot file for the mass_elements
	benchmark. Run as gnuplot mass_elements.gnuplot > foo.ps, after
	running bench-mass_elements.scm.

	* tests/bench-mass_elements.scm: New script, runs mass_elements
	for various numbers of identities, outputting the results to a
	file. Requires guile 1.6. Just for testing.

2005-02-23  Thomas Vander Stichele  <thomas at apestaart dot org>

	* gst/schedulers/fairscheduler.c:
	  compile with debug disabled

2005-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>

	* configure.ac:
	  hunting season on 0.9 is now OPEN