gst/net/gstnetclientclock.c (gst_net_client_clock_new): Adjust the clock initially...
[platform/upstream/gstreamer.git] / ChangeLog
1 2005-11-18  Andy Wingo  <wingo@pobox.com>
2
3         * gst/net/gstnetclientclock.c (gst_net_client_clock_new): Adjust
4         the clock initially so it produces values around the base time.
5         (gst_net_client_clock_class_init): Typo fix.
6         (gst_net_client_clock_thread): Add note on when the socket gets
7         closed.
8
9 2005-11-17  Wim Taymans  <wim@fluendo.com>
10
11         * gst/net/gstnetclientclock.c: (gst_net_client_clock_finalize):
12         Free remote and local time arrays.
13
14 2005-11-17  Wim Taymans  <wim@fluendo.com>
15
16         * gst/net/gstnetclientclock.c: (do_linear_regression),
17         (gst_net_client_clock_do_select), (gst_net_client_clock_thread):
18         Fix compilation, uninitialized vars and a forgotten continue.
19
20 2005-11-17  Andy Wingo  <wingo@pobox.com>
21
22         * check/Makefile.am (check_PROGRAMS): 
23         * check/net/gstnetclientclock.c: Add a most minimal test for the
24         net client clock. More to come later.
25
26         * gst/net/gstnet.h: 
27         * gst/net/Makefile.am: Add netclientclock.
28
29         * gst/net/gstnetclientclock.h:
30         * gst/net/gstnetclientclock.c: New files, implement an untested
31         GstClock that takes its time from a network time provider.
32         Implements the algorithm in network-clock.scm.
33
34         * tests/network-clock.scm (*window-size*): Rename from
35         *queue-length*.
36         * tests/network-clock.scm (network-time): 
37         * tests/network-clock-utils.scm (q-push): Update callers.
38
39 2005-11-17  Wim Taymans  <wim@fluendo.com>
40
41         * gst/gstbin.c: (gst_bin_provide_clock_func),
42         (gst_bin_sort_iterator_new):
43         And unref the child too..
44
45 2005-11-17  Wim Taymans  <wim@fluendo.com>
46
47         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
48         (gst_bin_sort_iterator_new), (gst_bin_iterate_sorted):
49         Refactor the sort iterator so it can be used while holding the
50         LOCK too.
51         Make clock selection select a clock closest to the source.
52
53 2005-11-17  Michael Smith <msmith@fluendo.com>
54
55         * gst/gstclock.c: (gst_clock_init), (gst_clock_adjust_unlocked),
56         (gst_clock_set_rate_offset), (gst_clock_get_rate_offset):
57         * gst/gstclock.h:
58           Anonymous structs are a gcc (and some other compilers) extension, so
59           don't use them. Since this is only for ABI-compatibility, and our
60           API/ABI freeze is over in a few days, this whole thing will only
61           last a few days, so don't bother trying to think up a meaningful
62           name for the struct.
63
64 2005-11-17  Andy Wingo  <wingo@pobox.com>
65
66         * gst/gstclock.h (GstClock): Add rate and offset properties,
67         preserving ABI stability. Add rate/offset accessors. Will file bug
68         for the freeze break.
69
70         * gst/gstclock.c (gst_clock_adjust_unlocked): Implement using rate
71         and offset, trying to keep precision and avoiding
72         underflow/overflow.
73         (gst_clock_set_rate_offset, gst_clock_get_rate_offset): New
74         functions. Make gst_clock_set_time_adjust obsolete.
75         (gst_clock_set_time_adjust): Note that this function is obsolete.
76         Will file bug soon.
77
78         * gst/base/gstbasetransform.h: Make the ABI-stability hack
79         greppable by using GST_PADDING-1+1.
80
81 2005-11-17  Torsten Schoenfeld  <kaffeetisch at gmx dot net>
82
83         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
84
85         * gst/gstmessage.c: (gst_message_parse_clock_lost):
86           Assertion should check for CLOCK_LOST, not NEW_CLOCK (#321648).
87
88         * gst/gstpadtemplate.h:
89         * gst/gstpluginfeature.h:
90           Don't use c++ style comments in headers (#321638).
91
92 2005-11-16  Andy Wingo  <wingo@pobox.com>
93
94         * gst/net/gstnettimepacket.c (gst_net_time_packet_send): Free
95         buffer.
96
97         * check/net/gstnettimeprovider.c: Check to see that the time
98         provider actually provides times. Works, yo!
99
100 2005-11-16  Wim Taymans  <wim@fluendo.com>
101
102         * check/Makefile.am:
103         Enable more tests.
104
105         * check/elements/fakesrc.c: (GST_START_TEST):
106         Set element to NULL before disposing it.
107
108 2005-11-16  Andy Wingo  <wingo@pobox.com>
109
110         * gst/net/Makefile.am:
111         * gst/net/gstnet.h:
112         * gst/net/gstnettimeprovider.c: 
113         * gst/net/gstnettimeprovider.h: Use the timepacket stuff in the
114         provider, include it from gstnet.h, and add it to the build.
115
116         * gst/net/gstnettimepacket.h: 
117         * gst/net/gstnettimepacket.c: New files, abstracts out the packet
118         sending and receiving.
119
120 2005-11-16  Wim Taymans  <wim@fluendo.com>
121
122         * check/Makefile.am:
123         Enable valgrind check.
124
125         * gst/elements/gstfakesrc.c: (gst_fake_src_alloc_parent),
126         (gst_fake_src_alloc_buffer):
127         Fix memleak.
128
129 2005-11-16  Wim Taymans  <wim@fluendo.com>
130
131         * gst/net/gstnettimeprovider.c: (gst_net_time_provider_finalize):
132         Call parent finalize too.
133
134 2005-11-16  Wim Taymans  <wim@fluendo.com>
135
136         * check/Makefile.am:
137         Enable valgrind check that should work fine now.
138
139         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
140         * gst/gstqueue.c: (gst_queue_init):
141         Fix memleaks in pad allocation.
142
143 2005-11-16  Andy Wingo  <wingo@pobox.com>
144
145         * gst/net/Makefile.am:
146         * gst/net/gstnet.h: New part of core to hold network elements and
147         objects. Put in core because it exposes API that applications want
148         to use. The library is named libgstnet-tempname right now because
149         of the existing libgstnet in gst-plugins-base. Solution is
150         probably to rename the one in plugins-base; will file a bug for
151         the freeze break.
152
153         * gst/net/gstnettimeprovider.c: 
154         * gst/net/gstnettimeprovider.h: New object to export a GstClock's
155         get_time call over the network.
156
157         * configure.ac: 
158         * gst/Makefile.am (lib_LTLIBRARIES): Add gstnet to the build.
159
160         * check/Makefile.am:
161         * check/net/gstnettimeprovider.c: A most minimal test suite. Will
162         get additions shortly.
163
164 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
165
166         * gst/gstpad.c: (gst_pad_new_from_static_template):
167         * gst/gstpad.h:
168           add gst_pad_new_from_static_template functions
169         * gst/check/gstcheck.c: (gst_check_setup_src_pad),
170         (gst_check_setup_sink_pad):
171         * gst/elements/gsttee.c: (gst_tee_init):
172           and use them
173
174 2005-11-16  Wim Taymans  <wim@fluendo.com>
175
176         * gst/gstpad.c: (gst_pad_pause_task):
177         Removed warning, it's not really an error either.
178
179 2005-11-16  Wim Taymans  <wim@fluendo.com>
180
181         * gst/base/gstbasetransform.c:
182         (gst_base_transform_prepare_output_buf),
183         (gst_base_transform_event):
184         Check if the caps are NULL, this can happen if the element
185         is shutting down and the pad caps are set to NULL.
186
187 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
188
189         * gst/elements/gsttee.c: (gst_tee_init):
190           fix pad tempalte leak in tee
191
192 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
193
194         * gst/glib-compat.c: (g_value_dup_gst_object):
195         * gst/glib-compat.h:
196         * gst/gstpad.c: (gst_pad_set_property):
197           use gst_object_ref when setting the pad template; this will
198           trigger the pad template leaks on GLib 2.6 and the slaves
199
200 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
201
202         * gst/glib-compat.c: (gst_flags_get_first_value):
203         * gst/glib-compat.h:
204         * gst/gstregistryxml.c:
205           remove functions copied from GLib 2.6
206
207 2005-11-16  Michael Smith <msmith@fluendo.com>
208
209         * gst/Makefile.am:
210           Don't link against VALGRIND_LIBS. That was always the wrong thing to
211           do, but only breaks with newer valgrind versions. We're not a
212           valgrind tool, we have no link-time dependencies on libcoregrind.
213
214 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
215
216         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
217           some debug changes
218         * gst/gstmessage.h:
219           typo fixes
220
221 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
222
223         * gst/base/gstbasesrc.c: (gst_base_src_init):
224         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
225         * gst/gstqueue.c: (gst_queue_init):
226         * gst/gstregistryxml.c: (load_feature):
227           Revert all these unrefs, they don't even pass make check !
228
229 2005-11-15  Johan Dahlin  <johan@gnome.org>
230
231         * gst/base/gstbasesrc.c: (gst_base_src_init):
232         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
233         * gst/gstqueue.c: (gst_queue_init): 
234         Free pad templates, fixes a couple of leaks.
235
236 2005-11-15  Daniel Fischer  <dan at f3c dot com>
237
238         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
239
240         * gst/gstpad.c: (gst_pad_get_property):
241           GST_PAD_PAD_TEMPLATE(pad) gets the pad template, while
242           GST_PAD_TEMPLATE(pad) does a cast. We want the former here.
243           (#321452)
244
245 2005-11-15  Wim Taymans  <wim@fluendo.com>
246
247         * gst/gstevent.c:
248         Small doc update.
249
250 2005-11-15  Andy Wingo  <wingo@pobox.com>
251
252         * gst/gstelement.c (gst_element_set_base_time): Add debugging.
253
254         * gst/gstpipeline.c (gst_pipeline_set_new_stream_time): Document
255         using GST_CLOCK_TIME_NONE to disable base time management.
256         (do_pipeline_seek, gst_pipeline_change_state): Don't reset stream
257         time if it was NONE before.
258         (gst_pipeline_change_state): Only munge the base time if
259         stream_time != GST_CLOCK_TIME_NONE.
260
261         * check/gst/gstpipeline.c (test_base_time): Punt around the
262         problem of the probe not being called, because that's not the
263         issue I'm looking at. Add a check that setting stream_time to NONE
264         disables base time management.
265         
266 2005-11-15  Wim Taymans  <wim@fluendo.com>
267
268         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
269         segment_stop == -1 at startup.
270
271         * gst/base/gstbasetransform.c: (gst_base_transform_event),
272         (gst_base_transform_change_state):
273         Init segment values at start.
274
275 2005-11-15  Wim Taymans  <wim@fluendo.com>
276
277         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
278         0 segment values are 0 in any format.
279
280         * gst/base/gstbasetransform.c: (gst_base_transform_event):
281         * gst/base/gstbasetransform.h:
282         Parse newsegment correctly in basetransform
283
284         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
285         Sync to clock using updated segment values.
286
287 2005-11-15  Andy Wingo  <wingo@pobox.com>
288
289         * check/gst/gstpipeline.c (test_base_time): Add check that the
290         base time and stream time are reset correctly.
291
292 2005-11-15  Wim Taymans  <wim@fluendo.com>
293
294         * docs/design/part-TODO.txt:
295         Some more TODO items.
296
297 2005-11-15  Andy Wingo  <wingo@pobox.com>
298
299         * gst/elements/gstfakesrc.c (gst_fake_src_create): It's not an
300         error if the user selected "no clock" as the clocking method.
301
302         * check/gst/gstpipeline.c (test_base_time): New test for buffer
303         timestamps with live capture.
304
305         * gst/elements/gstfakesrc.c (gst_fake_src_create): If the datarate
306         is 0 but we are a live source, timestamp the buffers using the
307         element's clock.
308
309 2005-11-14  Stefan Kost  <ensonic@users.sf.net>
310
311         * docs/gst/gstreamer-sections.txt:
312         * gst/gsterror.c:
313         * gst/gstghostpad.c:
314         * gst/gstobject.h:
315         * gst/gstxml.c:
316           more section docs
317
318 2005-11-14  Wim Taymans  <wim@fluendo.com>
319
320         * common/gst.supp:
321           add suppressions from Wim's Debian machine
322
323 2005-11-14  Thomas Vander Stichele  <thomas at apestaart dot org>
324
325         * common/gst.supp:
326           add suppressions from Andy's AMD64 Ubuntu machine
327
328 2005-11-14  Andy Wingo  <wingo@pobox.com>
329
330         * gst/gstpad.c (gst_pad_set_active): Change docs; parent's
331         STATE_LOCK not necessary. Fixes #311489.
332
333         * gst/gsterror.c (FILE_A_BUG): Be polite *and* helpful. Fixes
334         #305291.
335
336         * gst/gstindex.c (gst_index_add_object): Note in the docs that
337         this function is not implemented.
338
339 2005-11-14  Julien MOUTTE  <julien@moutte.net>
340
341         * gst/base/gstbasetransform.c:
342         (gst_base_transform_prepare_output_buf):
343         Ref the source pad caps while we need them.
344         Fixes (#321386)
345
346 2005-11-11  Wim Taymans  <wim@fluendo.com>
347
348         * docs/gst/gstreamer-sections.txt:
349         Added some docs for GstCollectData.
350
351         * gst/base/gstadapter.c:
352         Some small code example fix.
353
354         * gst/base/gstcollectpads.c:
355         * gst/base/gstcollectpads.h:
356         Document some more.
357
358 2005-11-11  Thomas Vander Stichele  <thomas at apestaart dot org>
359
360         * configure.ac: back to HEAD
361
362 === release 0.9.5 ===
363
364 2005-11-11  Thomas Vander Stichele <thomas at apestaart dot org>
365
366         * configure.ac:
367           releasing 0.9.5, "Bike Lunch Day"
368
369 2005-11-11  Wim Taymans  <wim@fluendo.com>
370
371         * gst/gstbuffer.c: (_gst_buffer_copy):
372         Copy more flags.
373
374         * gst/gstcaps.c: (gst_caps_is_equal):
375         Fix some docs.
376         Make _is_equal fast in the trivial cases.
377
378         * gst/gstminiobject.c:
379         * gst/gstminiobject.h:
380         More docs. Spifify .h file.
381
382         * gst/gstutils.c:
383         Small doc update.
384
385 2005-11-11  Wim Taymans  <wim@fluendo.com>
386
387         * gst/base/gstbasetransform.c:
388         (gst_base_transform_prepare_output_buf),
389         (gst_base_transform_handle_buffer):
390         Small cleanups.
391         If we're processing a buffer and need to allocate an output
392         buffer, we cannot accept a format change. If we did get a 
393         format change, we have to alloc a buffer ourselves of the 
394         right size.
395
396 2005-11-11  Wim Taymans  <wim@fluendo.com>
397
398         * gst/gstpad.c: (gst_pad_get_caps), (gst_pad_peer_get_caps):
399         While checking the flag for reentrancy in the gstcaps function
400         is nice to detect recursive invocations, it also makes it 
401         impossible to call getcaps from multiple threads, which must be
402         possible. So, checking for recursive calls has to go.
403
404 2005-11-11  Michael Smith <msmith@fluendo.com>
405
406         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
407           Don't sync on buffers that fall partially outside our current
408           segment. Prevents an assertion failure/abort playing some files.
409
410 2005-11-10  Andy Wingo  <wingo@pobox.com>
411
412         * check/gst/gstbin.c (test_message_state_changed_children): Style
413         fix..
414
415         * gst/gstbus.c (poll_destroy, poll_func, gst_bus_poll): Implement
416         gst_bus_poll with the signal watch. Ensures that poll and a signal
417         watch see the same messages.
418
419         * check/gst/gstbus.c (test_watch_with_poll): New test, checks that
420         a poll and a watch at the same time get the same messages.
421
422 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
423
424         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps):
425         * gst/gstcaps.c: (gst_caps_intersect):
426           Don't call gst_caps_do_simplify - it doesn't respect order of caps
427           and it's not needed.
428
429 2005-11-10  Wim Taymans  <wim@fluendo.com>
430
431         * docs/design/part-TODO.txt:
432         Updated todo.
433
434 2005-11-10  Wim Taymans  <wim@fluendo.com>
435
436         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
437         * gst/base/gstbasesrc.c: (gst_base_src_wait),
438         (gst_base_src_do_sync), (gst_base_src_get_range):
439         Implement clock sync in base class.
440
441 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
442
443         patch by: Tim-Philipp Müller <tim at centricular dot net>
444
445         * gst/gststructure.c: (gst_structure_parse_field),
446         (gst_structure_from_string):
447           Forward-port a 0.8 patch to handle escaped spaces in structure string,
448           so that gst_parse_launch() can deal with spaces in filtered link
449           caps (fixes #164479)
450         * check/gst/capslist.h:
451         * check/gst/gststructure.c: (GST_START_TEST):
452           add unit tests for this change
453
454 2005-11-10  Wim Taymans  <wim@fluendo.com>
455
456         * docs/gst/gstreamer-sections.txt:
457         * gst/gstelement.c:
458         * gst/gstelement.h:
459         Fix docs, move some STATE macros to private.
460
461 2005-11-10  Wim Taymans  <wim@fluendo.com>
462
463         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
464         Added check for bug #317341
465
466         * gst/gstbuffer.c:
467         * gst/gstbuffer.h:
468         Some more spiffifying.
469
470         * gst/gstghostpad.c: (gst_ghost_pad_do_link):
471         Call peer linkfunction if we are a source pad. Totally fixes
472         #317341
473
474         * gst/gstpad.c:
475         Update docs, source pads should call the peer linkfunction
476         so they can atomically perform the pad link.
477
478 2005-11-09  Wim Taymans  <wim@fluendo.com>
479
480         * gst/gstbuffer.c:
481         * gst/gstbuffer.h:
482         Uber-spiffy-spiffify some more.
483
484 2005-11-09  Tim-Philipp Müller  <tim at centricular dot net>
485
486         * gst/base/gstcollectpads.c: (gst_collectpads_add_pad):
487         * gst/elements/gstfilesink.c: (gst_file_sink_init):
488         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
489         * gst/gstghostpad.c: (gst_ghost_pad_set_internal),
490         (gst_ghost_pad_init), (gst_ghost_pad_new_notarget):
491         * gst/gstpad.c: (gst_pad_init):
492           Use GST_DEBUG_FUNCPTR() more extensively.
493
494 2005-11-09  Wim Taymans  <wim@fluendo.com>
495
496         * gst/gstobject.c: (gst_object_class_init):
497         * gst/gstobject.h:
498         Documentation fixes.
499
500 2005-11-09  Edward Hervey  <edward@fluendo.com>
501
502         * gst/gsttypefindfactory.c:
503         Fix docs.
504         
505 2005-11-09  Edward Hervey  <edward@fluendo.com>
506
507         * gst/base/gsttypefindhelper.c:
508         * gst/gsttypefind.c:
509         * gst/gsttypefind.h:
510         Fix docs.
511
512 2005-11-09  Wim Taymans  <wim@fluendo.com>
513
514         * gst/gstiterator.c:
515         Fix revision data.
516
517         * gst/gsttask.c:
518         * gst/gsttask.h:
519         Fix docs.
520
521 2005-11-09  Wim Taymans  <wim@fluendo.com>
522
523         * gst/gstevent.h:
524         * gst/gsturi.h:
525         Fix docs.
526
527 2005-11-09  Wim Taymans  <wim@fluendo.com>
528
529         * docs/gst/gstreamer-sections.txt:
530         Moved the message async delivery private lock and cond
531         to the private section.
532
533         * gst/gstmessage.c:
534         * gst/gstmessage.h:
535         Fixed docs.
536
537 2005-11-09  Edward Hervey  <edward@fluendo.com>
538
539         * docs/gst/gstreamer-sections.txt:
540         * gst/gsturi.c:
541         * gst/gsturi.h:
542         Document GstURIHandler
543
544 2005-11-09  Wim Taymans  <wim@fluendo.com>
545
546         * gst/gstiterator.c: (gst_iterator_fold), (gst_iterator_foreach),
547         (gst_iterator_find_custom):
548         * gst/gstiterator.h:
549         Fix iterator docs.
550
551 2005-11-09  Wim Taymans  <wim@fluendo.com>
552
553         * gst/gstbin.h:
554         Document another field.
555
556         * gst/gststructure.c:
557         * gst/gststructure.h:
558         Document.
559
560 2005-11-09  Wim Taymans  <wim@fluendo.com>
561
562         * gst/gstbin.h:
563         Documented structs.
564
565 2005-11-09  Wim Taymans  <wim@fluendo.com>
566
567         * docs/gst/gstreamer-sections.txt:
568         Added some new macros.
569
570         * gst/gstclock.c:
571         * gst/gstclock.h:
572         * gst/gstobject.h:
573         Docs updates.
574
575 2005-11-09  Wim Taymans  <wim@fluendo.com>
576
577         * docs/design/part-TODO.txt:
578         Some more items for the TODO
579
580         * gst/gstcaps.c:
581         * gst/gstcaps.h:
582         Document GstCaps.
583
584 2005-11-09  Andy Wingo  <wingo@pobox.com>
585
586         * gst/base/gstbasesink.c: Add the beginning of docs here -- have
587         to work on something else now tho...
588
589         * gst/base/gstadapter.c: More adapter docs.
590
591         * gst/elements/gstfilesink.c (gst_file_sink_start) 
592         (gst_file_sink_stop): New functions, replace the state change
593         handler.
594         (gst_file_sink_class_init): Hook up the start and stop functions.
595         (gst_file_sink_base_init): Don't set the state change handler any
596         more. It was a bit ugly too, being set from here...
597         (gst_file_sink_get_property, gst_file_sink_set_property):
598         Cleanups...
599         (gst_file_sink_set_location): More robust check that doesn't call
600         GST_STATE. Ugggggg.
601
602 2005-11-08  Tim-Philipp Müller  <tim at centricular dot net>
603
604         * gst/base/gstbasetransform.c: (gst_base_transform_event):
605           Hold STREAM_LOCK while pushing newsegment or tag events as well.
606
607 2005-11-08  Wim Taymans  <wim@fluendo.com>
608
609         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
610         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
611         (gst_base_sink_chain), (gst_base_sink_change_state):
612         * gst/base/gstbasesink.h:
613         * gst/base/gstbasesrc.h:
614         * gst/gstelement.h:
615         * gst/gstevent.h:
616         Avoid excessive typechecking in macros.
617
618         * gst/gstminiobject.c: (gst_mini_object_get_type),
619         (gst_mini_object_init), (gst_mini_object_new),
620         (gst_mini_object_free):
621         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
622         (gst_object_finalize):
623         Remove cruft code, optimize alloc_trace.
624
625 2005-11-07  Thomas Vander Stichele  <thomas at apestaart dot org>
626
627         * docs/faq/gst-uninstalled:
628           fix up PS1 for systems that try to reset it
629
630 2005-11-07  Wim Taymans  <wim@fluendo.com>
631
632         * gst/base/gstbasesrc.c: (gst_base_src_init),
633         (gst_base_src_get_range):
634         Set the segment_end to -1 initially. Fixed typefind.
635
636 2005-11-07  Tim-Philipp Müller  <tim at centricular dot net>
637
638         * gst/base/gstadapter.c:
639           Debug category should be 'adapter', not 'GstAdapter'.
640           
641         * gst/base/gstcollectpads.c: (gst_collectpads_base_init),
642         (gst_collectpads_class_init), (gst_collectpads_init),
643         (gst_collectpads_peek), (gst_collectpads_pop),
644         (gst_collectpads_event), (gst_collectpads_chain):
645           Add debug category and some debugging output. Use boilerplate
646           macros. Remove some extraneous words from docs.
647
648 2005-11-05  Andy Wingo  <wingo@pobox.com>
649
650         * gst/base/gstpushsrc.c: Shorten by 30% via use of boilerplate
651         macro.
652
653 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
654
655         * docs/gst/gstreamer-sections.txt:
656         * gst/gstcaps.h:
657         * gst/gstinfo.c:
658         * gst/gstminiobject.h:
659         * gst/gstobject.h:
660         * gst/gstutils.h:
661           more docs added
662
663 2005-11-04  Wim Taymans  <wim@fluendo.com>
664
665         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
666         Small update to stop at the configured segment_end
667         position.
668
669 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
670
671         * gst/gstregistry.c:
672         * gst/gstregistry.h:
673           added missing docs
674
675 2005-11-04  Edward Hervey  <edward@fluendo.com>
676
677         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
678         Check if we are doing a segment seek and have arrived at the
679         end of that segment.
680
681 2005-11-04  Wim Taymans  <wim@fluendo.com>
682
683         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_sync_handler):
684         Don't leak a mutex unlock in case of an error.
685
686         * gst/gstbus.h:
687         Doc fixes.
688
689 2005-11-04  Wim Taymans  <wim@fluendo.com>
690
691         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_init),
692         (gst_bus_post):
693         Get the context to wake up only once.
694
695 2005-11-03  Wim Taymans  <wim@fluendo.com>
696
697         * check/states/sinks.c: (GST_START_TEST):
698         Uncomment fixed check.
699
700         * docs/design/part-TODO.txt:
701         Updated TODO.
702
703         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
704         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
705         (gst_base_sink_get_position):
706         If we are going to PLAYING, post the right pending state
707         when we post the intermediate paused message.
708
709         * gst/gstelement.c: (gst_element_continue_state),
710         (gst_element_set_state_func), (gst_element_change_state):
711         Don't post state changes that were between the same state
712         and were not ASYNC.
713
714 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
715
716         * docs/gst/gstreamer-sections.txt:
717         * gst/gstcaps.h:
718         * gst/gstinfo.c:
719         * gst/gstminiobject.h:
720         * gst/gstobject.h:
721         * gst/gstutils.h:
722           more docs and doc style fixes
723
724 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
725
726         * docs/gst/gstreamer-sections.txt:
727         * gst/gstelement.c:
728         * gst/gstminiobject.c:
729         doc fixes
730
731 2005-11-03  Andy Wingo  <wingo@pobox.com>
732
733         * check/states/sinks.c (test_livesrc_sink): Add checks that the
734         state-changed messages actually have the right order and the right
735         values.
736
737 2005-11-03  Wim Taymans  <wim@fluendo.com>
738
739         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
740         Added some more checks. Specifically the case where NO_PREROLL
741         elements are in the pipeline.
742
743         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
744         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
745         (gst_base_sink_get_position):
746         Post READY->PAUSED state change messages too.
747         Fix bug where VOID was posted as pending state...
748
749         * gst/gstbin.c: (gst_bin_recalc_state):
750         use _element_continue_state() to continue the state change.
751
752         * gst/gstelement.c: (gst_element_continue_state),
753         (gst_element_commit_state), (gst_element_set_state_func),
754         (gst_element_change_state), (gst_element_change_state_func):
755         Lots of state change cleanups, assign the STATE_RETURN in
756         a new continue_state() function that also propagates the
757         last return value from a state change to the app.
758         Update some debug statements with proper category.
759
760 2005-11-03  Wim Taymans  <wim@fluendo.com>
761
762         * docs/design/part-events.txt:
763         * docs/design/part-gstpipeline.txt:
764         * docs/design/part-messages.txt:
765         * docs/design/part-overview.txt:
766         * docs/design/part-seeking.txt:
767         * docs/design/part-states.txt:
768         * docs/design/part-trickmodes.txt:
769         * docs/manual/advanced-position.xml:
770         Small docs updates.
771
772         * gst/gstobject.h:
773         People think !! is ugly, this looks better.
774
775         * gst/gstpad.c: (gst_pad_set_blocked_async):
776         Remove !! since it's fixed elsewhere now.
777
778 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
779
780         * gst/gstminiobject.h:
781         * gst/gstobject.h:
782           Add !! to _FLAG_IS_SET macros to make the result boolean.
783
784 2005-11-03  Edward Hervey  <edward@fluendo.com>
785
786         * gst/gstpad.c: (gst_pad_set_blocked_async):
787         comparing a flag and a gboolean rarely returns coherent results...
788         Added two characters (!!) to make that work correctly.
789         
790 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
791
792         * gst/gstbus.c: (gst_bus_class_init):
793           Fix some typos.
794           
795         * gst/gstqueue.c: (gst_queue_loop):
796           Don't assume a miniobject that isn't a buffer is an
797           event (it could be that there is a refcounting
798           problem somewhere and the pointer is stale and
799           refers to an already destroyed miniobject).
800
801 2005-11-03  Julien MOUTTE  <julien@moutte.net>
802
803         * gst/gstpad.c: (gst_pad_alloc_buffer): Fix some typos.
804
805 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
806
807         * docs/manual/advanced-position.xml:
808           Update seek example and explanations to current 0.9 API.
809
810         * gst/elements/gsttypefindelement.c:
811         (gst_type_find_element_activate):
812           Remove FIXME comment now that the found caps
813           are unreffed.
814
815 2005-11-03  Thomas Vander Stichele  <thomas at apestaart dot org>
816
817         * gst/gstregistryxml.c: (load_feature):
818           Add another GST_STR_NULL instance
819
820 2005-11-02  Edward Hervey  <edward@fluendo.com>
821
822         * gst/gstpad.c: (handle_pad_block):
823         Follow-up to Wim's patch, solves deadlock for blocked and flushing pads
824         
825 2005-11-02  Wim Taymans  <wim@fluendo.com>
826
827         * gst/gstbin.c:
828         Fix typo in docs.
829
830         * gst/gstelement.c: (gst_element_commit_state):
831         Remove unused value.
832
833         * gst/gstiterator.c:
834         Mention that the returned element is reffed in the docs.
835
836 2005-11-02  Wim Taymans  <wim@fluendo.com>
837
838         * gst/gstpad.c: (gst_pad_alloc_buffer), (handle_pad_block),
839         (gst_pad_push), (gst_pad_push_event):
840         Unlock blocked pads when they are flushed.
841
842 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
843
844         * docs/README:
845         * docs/gst/gstreamer-sections.txt:
846         * gst/gstbin.c:
847           doc updates
848         * gst/gstregistry.c: (gst_registry_scan_path_level):
849           fix for a nasty little missed situation where an installed plug-in
850           which was in the cache did not get overridden by an uninstalled one
851           which was earlier in the plugin path because the newly created plugin
852           for the uninstalled one (not in the registry) didn't get its
853           ->registered set to TRUE
854
855 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
856
857         * gst/base/gstcollectpads.c: (gst_collectpads_set_function),
858         (gst_collectpads_add_pad), (gst_collectpads_remove_pad),
859         (gst_collectpads_is_active), (gst_collectpads_collect),
860         (gst_collectpads_collect_range), (gst_collectpads_start),
861         (gst_collectpads_stop), (gst_collectpads_peek),
862         (gst_collectpads_pop), (gst_collectpads_available),
863         (gst_collectpads_read), (gst_collectpads_flush):
864           Guard public API with assertions.
865         
866         * gst/gstpad.c:
867           Fix docs for gst_pad_set_link_function().
868
869 2005-11-02  Johan Dahlin  <johan@gnome.org>
870
871         * gst/elements/gsttypefindelement.c (gst_type_find_element_activate): 
872         Unref found_caps after we used it.
873
874 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
875
876         * gst/base/gstcollectpads.c: (gst_collectpads_peek):
877           Don't try to ref NULL.
878
879 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
880
881         * win32/common/config.h.in:
882           provide a GST_FUNCTION that just gives a string for now
883
884 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
885
886         * win32/common/gstenumtypes.c: (register_gst_object_flags),
887         (gst_object_flags_get_type), (register_gst_bin_flags),
888         (gst_bin_flags_get_type), (register_gst_buffer_flag),
889         (gst_buffer_flag_get_type), (register_gst_bus_flags),
890         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
891         (gst_bus_sync_reply_get_type), (register_gst_clock_return),
892         (gst_clock_return_get_type), (register_gst_clock_entry_type),
893         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
894         (gst_clock_flags_get_type), (register_gst_state),
895         (gst_state_get_type), (register_gst_state_change_return),
896         (gst_state_change_return_get_type), (register_gst_state_change),
897         (gst_state_change_get_type), (register_gst_element_flags),
898         (gst_element_flags_get_type), (register_gst_core_error),
899         (gst_core_error_get_type), (register_gst_library_error),
900         (gst_library_error_get_type), (register_gst_resource_error),
901         (gst_resource_error_get_type), (register_gst_stream_error),
902         (gst_stream_error_get_type), (register_gst_event_type),
903         (gst_event_type_get_type), (register_gst_seek_type),
904         (gst_seek_type_get_type), (register_gst_seek_flags),
905         (gst_seek_flags_get_type), (register_gst_format),
906         (gst_format_get_type), (register_gst_index_certainty),
907         (gst_index_certainty_get_type), (register_gst_index_entry_type),
908         (gst_index_entry_type_get_type),
909         (register_gst_index_lookup_method),
910         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
911         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
912         (gst_index_resolver_method_get_type), (register_gst_index_flags),
913         (gst_index_flags_get_type), (register_gst_debug_level),
914         (gst_debug_level_get_type), (register_gst_debug_color_flags),
915         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
916         (gst_iterator_result_get_type), (register_gst_iterator_item),
917         (gst_iterator_item_get_type), (register_gst_message_type),
918         (gst_message_type_get_type), (register_gst_mini_object_flags),
919         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
920         (gst_pad_link_return_get_type), (register_gst_flow_return),
921         (gst_flow_return_get_type), (register_gst_activate_mode),
922         (gst_activate_mode_get_type), (register_gst_pad_direction),
923         (gst_pad_direction_get_type), (register_gst_pad_flags),
924         (gst_pad_flags_get_type), (register_gst_pad_presence),
925         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
926         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
927         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
928         (gst_plugin_error_get_type), (register_gst_plugin_flags),
929         (gst_plugin_flags_get_type), (register_gst_rank),
930         (gst_rank_get_type), (register_gst_query_type),
931         (gst_query_type_get_type), (register_gst_tag_merge_mode),
932         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
933         (gst_tag_flag_get_type), (register_gst_task_state),
934         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
935         (gst_alloc_trace_flags_get_type),
936         (register_gst_type_find_probability),
937         (gst_type_find_probability_get_type), (register_gst_uri_type),
938         (gst_uri_type_get_type), (register_gst_parse_error),
939         (gst_parse_error_get_type):
940         * win32/common/gstversion.h:
941           update win32 copies
942
943 2005-11-01  Luca Ognibene  <luogni@tin.it>
944
945         * gst/gst.c:
946           fix docs. popt is dead, long live GOption.
947
948 2005-10-31  Wim Taymans  <wim@fluendo.com>
949
950         * gst/gstbuffer.h:
951         Small doc fix.
952
953 2005-10-31  Andy Wingo  <wingo@pobox.com>
954
955         * Boo!
956
957         * gst/gstqueue.c (gst_queue_chain): Fix downstream leaky mode.
958
959         * gst/gstobject.c (gst_object_dispatch_properties_changed): No
960         need to serialize property notifications on GLib 2.8. GLib 2.6 has
961         the possibility of deadlocks here if code calling notify() or
962         set() has a lock that can be taken in another notify handler (ABBA
963         with class lock and e.g. python GIL state lock).
964
965 2005-10-28  Julien MOUTTE  <julien@moutte.net>
966
967         * gst/gstbus.c: Doc updates.
968
969 2005-10-28  Wim Taymans  <wim@fluendo.com>
970
971         * docs/design/part-TODO.txt:
972         * gst/gstiterator.c:
973         * gst/gstsystemclock.c:
974         * gst/gstsystemclock.h:
975         Doc updates.
976
977 2005-10-28  Edward Hervey  <edward@fluendo.com>
978
979         * docs/gst/gstreamer-docs.sgml:
980         * docs/gst/gstreamer-sections.txt:
981         the GstURIType documentation page is private, it only defines GstURIType
982         which should be defined in the GstURIHandler page
983         
984 2005-10-28  Thomas Vander Stichele  <thomas at apestaart dot org>
985
986         * gst/gstbin.c: (gst_bin_class_init):
987         * gst/gstbin.h:
988         * gst/gstutils.c:
989         Documentation updates.
990
991 2005-10-28  Wim Taymans  <wim@fluendo.com>
992
993         * docs/gst/gstreamer-sections.txt:
994         * gst/gstclock.c:
995         * gst/gstclock.h:
996         Documented the clocks.
997
998 2005-10-28  Stefan Kost  <ensonic@users.sf.net>
999
1000         * docs/gst/gstreamer-sections.txt:
1001           move some macros to private sections
1002         * gst/gstminiobject.c:
1003         * gst/gstminiobject.h:
1004           add descriptions provided by ds and some more
1005         * gst/gstpad.h:
1006           mark macro as to be removed
1007
1008 2005-10-28  Wim Taymans  <wim@fluendo.com>
1009
1010         * docs/design/part-TODO.txt:
1011         Add an item to TODO.
1012
1013         * gst/gstiterator.c: (gst_iterator_fold),
1014         (gst_iterator_find_custom):
1015         * gst/gstiterator.h:
1016         Add iterator docs.
1017
1018 2005-10-28  Wim Taymans  <wim@fluendo.com>
1019
1020         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
1021         (gst_base_transform_init):
1022         Don't leak class.
1023
1024         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_loop):
1025         An EOS event marks the queue as completely filled.
1026
1027 2005-10-27  Wim Taymans  <wim@fluendo.com>
1028
1029         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
1030         (gst_base_sink_do_sync), (gst_base_sink_get_position):
1031         Some more debugging.
1032
1033         * gst/base/gstbasetransform.c: (gst_base_transform_finalize),
1034         (gst_base_transform_init), (gst_base_transform_buffer_alloc),
1035         (gst_base_transform_event), (gst_base_transform_getrange),
1036         (gst_base_transform_chain):
1037         * gst/base/gstbasetransform.h:
1038         Fix debugging,
1039         Protect transform and concurrent buffer alloc with a new lock.
1040         Try not to break ABI/API.
1041
1042 2005-10-27  Wim Taymans  <wim@fluendo.com>
1043
1044         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
1045         (gst_base_src_init), (gst_base_src_query),
1046         (gst_base_src_default_newsegment),
1047         (gst_base_src_configure_segment), (gst_base_src_do_seek),
1048         (gst_base_src_send_event), (gst_base_src_event_handler),
1049         (gst_base_src_pad_get_range), (gst_base_src_loop),
1050         (gst_base_src_unlock), (gst_base_src_default_negotiate),
1051         (gst_base_src_start), (gst_base_src_deactivate),
1052         (gst_base_src_activate_push), (gst_base_src_change_state):
1053         Move some stuff around and cleanup things.
1054
1055 2005-10-27  Tim-Philipp Müller  <tim at centricular dot net>
1056
1057         * gst/base/gstbasesrc.c: (gst_base_src_query):
1058           Add missing break statements.
1059
1060 2005-10-27  Wim Taymans  <wim@fluendo.com>
1061
1062         * check/gst/gstbin.c: (GST_START_TEST):
1063         An extra refcount is taken in basesrc.
1064
1065         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
1066         (gst_base_src_get_range), (gst_base_src_pad_get_range),
1067         (gst_base_src_loop):
1068         Small cleanups, check for flushing after being unlocked from the 
1069         LIVE_LOCK. take refcounts correctly (not yet everywhere).
1070         Don't send out EOS when going to READY.
1071
1072 2005-10-27  Wim Taymans  <wim@fluendo.com>
1073
1074         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
1075         (gst_base_sink_get_position):
1076         Some more debug.
1077
1078         * gst/gstbin.c: (message_check), (bin_replace_message),
1079         (bin_remove_messages), (is_eos), (gst_bin_add_func),
1080         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
1081         (bin_query_duration_init), (bin_query_duration_fold),
1082         (bin_query_duration_done), (bin_query_generic_fold),
1083         (gst_bin_query):
1084         * tools/gst-launch.c: (main):
1085         Remove old option.
1086
1087 2005-10-26  Stefan Kost  <ensonic@users.sf.net>
1088
1089         * examples/controller/audio-example.c: (main):
1090         * examples/queue/queue.c: (event_loop):
1091         * gst/base/gstbasetransform.h:
1092         * gst/gstelement.c: (gst_element_send_event):
1093         * gst/gstevent.h:
1094         * gst/gstpad.c: (gst_pad_send_event):
1095           fixing examples
1096           fixing docs typos
1097           changing log priority in error situations
1098
1099 2005-10-25  Wim Taymans  <wim@fluendo.com>
1100
1101         * gst/gstbin.c: (message_check), (bin_replace_message),
1102         (bin_remove_messages), (is_eos), (gst_bin_add_func),
1103         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
1104         (bin_query_duration_init), (bin_query_duration_fold),
1105         (bin_query_duration_done), (bin_query_generic_fold),
1106         (gst_bin_query):
1107         Some doc and debug updates.
1108         Cache previously requested query DURATION for speed. invalidate
1109         cached duration if element posts a DURATION message.
1110
1111 2005-10-25  Wim Taymans  <wim@fluendo.com>
1112
1113         * docs/design/part-TODO.txt:
1114         Update TODO.
1115
1116         * gst/gstbin.c: (message_check), (bin_replace_message),
1117         (bin_remove_messages), (is_eos), (gst_bin_add_func),
1118         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
1119         (bin_query_duration_init), (bin_query_duration_fold),
1120         (bin_query_duration_done), (bin_query_generic_fold),
1121         (gst_bin_query):
1122         Handle SEGMENT_START/DONE messages correctly.
1123         More evolved query algorithm that handles duration queries
1124         correctly.
1125
1126         * gst/gstelement.c: (gst_element_send_event), (gst_element_query),
1127         (gst_element_get_state_func), (gst_element_abort_state),
1128         (gst_element_commit_state), (gst_element_lost_state):
1129         Some more debugging.
1130
1131         * gst/gstmessage.h:
1132         Added doc.
1133
1134 2005-10-25  Wim Taymans  <wim@fluendo.com>
1135
1136         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
1137         Don't use invalid stream_time.
1138
1139         * gst/gstevent.c: (gst_event_new_newsegment):
1140         stream_time in newsegment cannot be undefined.
1141
1142 2005-10-24  Wim Taymans  <wim@fluendo.com>
1143
1144         * gst/gstbus.c:
1145         Doc fix.
1146
1147         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
1148         (gst_queue_loop):
1149         Fix potential deadlock when QUEUE_LOCK is taken before STREAM_LOCK.
1150
1151 2005-10-24  Stefan Kost  <ensonic@users.sf.net>
1152
1153         * docs/libs/tmpl/gstdparam.sgml:
1154         * docs/libs/tmpl/gstdplinint.sgml:
1155         * docs/libs/tmpl/gstdpman.sgml:
1156         * docs/libs/tmpl/gstdpsmooth.sgml:
1157         * docs/libs/tmpl/gstunitconvert.sgml:
1158           these are obsolete
1159
1160 2005-10-24  Thomas Vander Stichele  <thomas at apestaart dot org>
1161
1162         * configure.ac:
1163           back to HEAD
1164
1165 === release 0.9.4 ===
1166
1167 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
1168
1169         * configure.ac:
1170           releasing 0.9.4, "Tyrannosaurus Rex"
1171
1172 2005-10-23  Tim-Philipp Müller  <tim at centricular dot net>
1173
1174         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
1175         (gst_file_sink_get_current_offset):
1176           Use fseeko() and ftello() if available. When falling back on
1177           lseek() to get the current offset, fflush() first to make sure
1178           everything is up-to-date and we get the right offset.
1179
1180 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
1181
1182         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
1183         * gst/base/gstbasesrc.c: (gst_base_src_loop):
1184         * gst/gsterror.c: (_gst_stream_errors_init):
1185         * gst/gsterror.h:
1186         * gst/gstqueue.c: (gst_queue_loop):
1187         * po/POTFILES.in:
1188           remove prematurely added error category and clean up the instances
1189
1190 2005-10-21  Wim Taymans  <wim@fluendo.com>
1191
1192         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
1193         (gst_base_sink_get_position), (gst_base_sink_query),
1194         (gst_base_sink_change_state):
1195         Simply set the right flag when going to playing, that's all
1196         we need to do instead of calling a function inside the object
1197         lock (that could take the lock as well and deadlock)
1198
1199 2005-10-21  Wim Taymans  <wim@fluendo.com>
1200
1201         * gst/base/gstbasesrc.c: (gst_base_src_do_seek),
1202         (gst_base_src_loop):
1203         Don't warn, the peer element knows what to do best when
1204         the seek failed, it might try something else.
1205
1206 2005-10-21  Wim Taymans  <wim@fluendo.com>
1207
1208         * gst/base/gstbasesrc.c: (gst_base_src_init),
1209         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
1210         Fix seeking.
1211
1212 2005-10-21  Wim Taymans  <wim@fluendo.com>
1213
1214         * docs/design/part-segments.txt:
1215         More docs.
1216
1217         * gst/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
1218         Correctly set caps, even on the subbufer.
1219
1220 2005-10-21  Wim Taymans  <wim@fluendo.com>
1221
1222         * docs/gst/gstreamer-docs.sgml:
1223         * docs/gst/gstreamer-sections.txt:
1224         * gst/gstelement.h:
1225         * gst/gstevent.c:
1226         * gst/gstevent.h:
1227         * gst/gstmessage.h:
1228         * gst/gstpad.h:
1229         * gst/gstparse.h:
1230         * gst/gsttask.c: (gst_task_finalize), (gst_task_func):
1231         * gst/gsttask.h:
1232         * gst/gstutils.c:
1233         * gst/gstutils.h:
1234         And 2% more doc coverage.
1235
1236 2005-10-21  Andy Wingo  <wingo@pobox.com>
1237
1238         * gst/base/gstbasesrc.c (gst_base_src_query): Clean up percent
1239         position reporting.
1240
1241 2005-10-20  Wim Taymans  <wim@fluendo.com>
1242
1243         * gst/gsterror.c: (gst_error_get_message):
1244         * gst/gstparse.h:
1245         * gst/gstquery.h:
1246         * gst/gststructure.c:
1247         * gst/gsttrace.c:
1248         * gst/gstutils.c:
1249         More docs.
1250
1251 2005-10-20  Wim Taymans  <wim@fluendo.com>
1252
1253         * gst/gstbuffer.h:
1254         * gst/gstpad.c:
1255         * gst/gstparse.c:
1256         Another 1% more coverage.
1257
1258 2005-10-20  Wim Taymans  <wim@fluendo.com>
1259
1260         * docs/gst/gstreamer-sections.txt:
1261         * gst/gstelement.c: (gst_element_get_state_func),
1262         (gst_element_abort_state), (gst_element_commit_state),
1263         (gst_element_lost_state):
1264         * gst/gstevent.h:
1265         * gst/gstquery.c: (gst_query_set_position),
1266         (gst_query_parse_position), (gst_query_set_duration),
1267         (gst_query_parse_duration), (gst_query_new_convert):
1268         * gst/gstutils.c:
1269         Yay! 1% more docs coverage.
1270
1271 2005-10-20  Wim Taymans  <wim@fluendo.com>
1272
1273         * gst/gstpad.h:
1274         * gst/gstquery.c: (gst_query_set_position),
1275         (gst_query_parse_position), (gst_query_set_duration),
1276         (gst_query_parse_duration), (gst_query_new_convert):
1277         * gst/gstquery.h:
1278         * gst/gstutils.c: (gst_element_query_convert):
1279         * gst/gstutils.h:
1280         Docs and consistency fixes.
1281
1282 2005-10-20  Wim Taymans  <wim@fluendo.com>
1283
1284         * gst/gsttask.c:
1285         * gst/gsttask.h:
1286         More docs.
1287
1288 2005-10-20  Wim Taymans  <wim@fluendo.com>
1289
1290         * gst/gstbin.c: (message_check), (bin_replace_message),
1291         (bin_remove_messages), (is_eos), (gst_bin_add_func),
1292         (update_degree), (gst_bin_sort_iterator_next),
1293         (gst_bin_change_state_func), (gst_bin_dispose), (bin_bus_handler):
1294         Reworked the message handling a bit, cache the messages instead of
1295         only the senders. alows us to do more in the future.
1296
1297 2005-10-20  Wim Taymans  <wim@fluendo.com>
1298
1299         * docs/design/part-TODO.txt:
1300         Update TODO
1301
1302         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
1303         (gst_base_sink_query):
1304         Don't use clock time to report position when in EOS.
1305
1306 2005-10-20  Tim-Philipp Müller  <tim at centricular dot net>
1307
1308         * tools/gst-inspect.c: (print_interfaces),
1309         (print_element_properties_info), (print_element_info):
1310           Fix interface output with gst-inspect -a; don't print
1311           newlines after double/float properties.
1312
1313 2005-10-20  Wim Taymans  <wim@fluendo.com>
1314
1315         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
1316         (gst_base_sink_query):
1317         Speed up current position calculation.
1318
1319         * gst/base/gstbasesrc.c: (gst_base_src_query),
1320         (gst_base_src_default_newsegment):
1321         Correctly set stream position in newsegment.
1322
1323         * gst/gstbin.c: (gst_bin_add_func), (add_to_queue),
1324         (update_degree), (gst_bin_sort_iterator_next),
1325         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free):
1326         * gst/gstmessage.c: (gst_message_new_custom):
1327         Clean up debugging info
1328
1329         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
1330         (gst_queue_loop), (gst_queue_handle_src_query):
1331         Pause task faster.
1332
1333 2005-10-19  Wim Taymans  <wim@fluendo.com>
1334
1335         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
1336         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
1337         Fix query handling again.
1338
1339 2005-10-19  Wim Taymans  <wim@fluendo.com>
1340
1341         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
1342         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
1343         * gst/base/gstbasesrc.c: (gst_base_src_query):
1344         * gst/elements/gstfilesink.c: (gst_file_sink_query):
1345         * gst/elements/gsttypefindelement.c:
1346         (gst_type_find_handle_src_query), (find_element_get_length),
1347         (gst_type_find_element_activate):
1348         API change fix.
1349
1350         * gst/gstquery.c: (gst_query_new_position),
1351         (gst_query_set_position), (gst_query_parse_position),
1352         (gst_query_new_duration), (gst_query_set_duration),
1353         (gst_query_parse_duration), (gst_query_set_segment),
1354         (gst_query_parse_segment):
1355         * gst/gstquery.h:
1356         Bundling query position/duration is not a good idea since duration
1357         does not change much and we don't want to recalculate it for every
1358         position query, so they are separated again..
1359         Base value in segment query is not needed.
1360
1361         * gst/gstqueue.c: (gst_queue_handle_src_query):
1362         * gst/gstutils.c: (gst_element_query_position),
1363         (gst_element_query_duration), (gst_pad_query_position),
1364         (gst_pad_query_duration):
1365         * gst/gstutils.h:
1366         Updates for query API change.
1367         Added some docs here and there.
1368
1369 2005-10-19  Thomas Vander Stichele  <thomas at apestaart dot org>
1370
1371         * check/gst/gstbin.c: (GST_START_TEST):
1372         * check/gst/gstghostpad.c: (GST_START_TEST):
1373         * check/pipelines/cleanup.c: (GST_START_TEST):
1374           wait on thread to die so we can check refcount correctly
1375
1376 2005-10-18  Wim Taymans  <wim@fluendo.com>
1377
1378         * check/pipelines/stress.c: (GST_START_TEST):
1379         Make check a little more time consuming.
1380
1381 2005-10-18  Wim Taymans  <wim@fluendo.com>
1382
1383         * check/Makefile.am:
1384         * check/pipelines/stress.c: (GST_START_TEST),
1385         (simple_launch_lines_suite), (main):
1386         Small state change torture test.
1387
1388         * docs/design/part-states.txt:
1389         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
1390         (gst_base_sink_handle_object), (gst_base_sink_event), (do_playing),
1391         (gst_base_sink_change_state):
1392         Never take state lock from streaming thread, clean up ugly
1393         hacks. Unfortunatly core does not yet support nice ways to
1394         async commit state.
1395         
1396         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_recalc_state),
1397         (bin_bus_handler):
1398         Start state recalc if a STATE_DIRTY message is posted, but only
1399         on the toplevel bin.
1400
1401         * gst/gstelement.c: (gst_element_sync_state_with_parent),
1402         (gst_element_get_state_func), (gst_element_abort_state),
1403         (gst_element_commit_state), (gst_element_lost_state),
1404         (gst_element_set_state_func), (gst_element_change_state):
1405         * gst/gstelement.h:
1406         State variables are now protected with the LOCK, the state
1407         lock is only used to serialize _set_state().
1408
1409 2005-10-18  Wim Taymans  <wim@fluendo.com>
1410
1411         * check/gst/gstbin.c: (GST_START_TEST):
1412         * check/gst/gstmessage.c: (GST_START_TEST):
1413         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
1414         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_recalc_func),
1415         (bin_bus_handler):
1416         * gst/gstelement.c: (gst_element_abort_state),
1417         (gst_element_commit_state), (gst_element_lost_state):
1418         * gst/gstmessage.c: (gst_message_new_state_changed),
1419         (gst_message_new_state_dirty), (gst_message_new_segment_start),
1420         (gst_message_new_segment_done), (gst_message_new_duration),
1421         (gst_message_parse_state_changed),
1422         (gst_message_parse_segment_start),
1423         (gst_message_parse_segment_done), (gst_message_parse_duration):
1424         * gst/gstmessage.h:
1425         * tools/gst-launch.c: (event_loop):
1426         Seriously, this is better than a previous commit as we only need
1427         to notify the fact that an element changed state in a streaming
1428         thread, marking the state of the parents dirty, hence the 
1429         STATE_DIRTY message instead of abusing a boolean in a STATE_CHANGE
1430         message.
1431
1432 2005-10-18  Wim Taymans  <wim@fluendo.com>
1433
1434         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
1435         (gst_bin_recalc_func):
1436         * gst/gstelement.c: (gst_element_set_clock),
1437         (gst_element_abort_state), (gst_element_lost_state):
1438         Cleanups, prepare for state change fixes.
1439
1440 2005-10-18  Wim Taymans  <wim@fluendo.com>
1441
1442         * gst/gstbin.h:
1443         * gst/gstelement.c: (gst_element_class_init),
1444         (gst_element_set_state), (gst_element_set_state_func):
1445         * gst/gstelement.h:
1446         Pending ABI changes.
1447         GThreadPool in GstBinClass to monitor async state changes.
1448         state_cookie in GstElement to detect concurrent gst/set state.
1449         set_state is now virtual too in case a very complicated element
1450         has to be constructed.
1451
1452 2005-10-18  Wim Taymans  <wim@fluendo.com>
1453
1454         * check/gst/gstbin.c: (GST_START_TEST):
1455         * check/gst/gstmessage.c: (GST_START_TEST):
1456         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
1457         * gst/gstbin.c: (bin_bus_handler):
1458         * gst/gstelement.c: (gst_element_commit_state),
1459         (gst_element_lost_state):
1460         * gst/gstmessage.c: (gst_message_new_state_changed),
1461         (gst_message_new_segment_start), (gst_message_new_segment_done),
1462         (gst_message_new_duration), (gst_message_parse_state_changed),
1463         (gst_message_parse_segment_start),
1464         (gst_message_parse_segment_done), (gst_message_parse_duration):
1465         * gst/gstmessage.h:
1466         * tools/gst-launch.c: (event_loop):
1467         Make messages future proof.
1468         state-change gets a flag if it was a message comming from the
1469         streaming thread.
1470         segment-start/stop can also be specified in other formats.
1471         A message to notify an app that a pipeline changed playback 
1472         duration.
1473         Also fix a GstMessage leak in -launch
1474
1475 2005-10-18  Andy Wingo  <wingo@pobox.com>
1476
1477         * gst/gstelement.c (gst_element_dispose): More helpful message.
1478
1479 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
1480
1481         reviewed by: <delete if not using a buddy>
1482
1483         * common/gtk-doc.mak:
1484
1485 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
1486
1487         * gst/gstregistry.c: (gst_registry_scan_path_level):
1488           unref a plug-in we get that was already initialized
1489
1490 2005-10-18  Stefan Kost  <ensonic@users.sf.net>
1491
1492         * docs/gst/gstreamer-sections.txt:
1493         * docs/libs/gstreamer-libs-sections.txt:
1494         * gst/gstelement.h:
1495           add new api entries
1496           hide internal macro
1497
1498 2005-10-17  Andy Wingo  <wingo@pobox.com>
1499
1500         * gst/base/gstcollectpads.c (gst_collectpads_chain): Slight
1501         cleanup.
1502
1503         * gst/Makefile.am (gstenumtypes.c): Threadsafe now.
1504
1505         * gst/gstevent.c (gst_event_new, gst_event_finalize): LOG.
1506
1507         * gst/gstelement.c (gst_element_get_state_func): s/INFO/DEBUG/.
1508         (gst_element_get_state_func): Better debug message.
1509         (gst_element_commit_state): s/INFO/DEBUG/.
1510         (gst_element_lost_state, gst_element_change_state): 
1511
1512         * gst/gstmessage.c (gst_message_init): s/INFO/LOG/.
1513         (gst_message_new_custom): s/INFO/LOG/.
1514
1515 2005-10-17  Michael Smith <msmith@fluendo.com>
1516
1517         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
1518           Check if end time is valid using end time, not start time.
1519
1520 2005-10-17  Stefan Kost  <ensonic@users.sf.net>
1521
1522         * check/gst-libs/controller.c: (GST_START_TEST),
1523         (gst_controller_suite):
1524         * libs/gst/controller/gstcontroller.c:
1525         (gst_controlled_property_set_interpolation_mode):
1526         * libs/gst/controller/gstcontroller.h:
1527         * libs/gst/controller/gstinterpolation.c:
1528         * testsuite/controller/.cvsignore:
1529         * testsuite/controller/Makefile.am:
1530         * testsuite/controller/interpolator.c:
1531           merge controller testsuites
1532           fix broken tests
1533           remove mem-chunk from docs
1534
1535 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
1536
1537         * gst/gstmemchunk.c:
1538         * gst/gstmemchunk.h:
1539         * gst/gsttrashstack.c:
1540         * gst/gsttrashstack.h:
1541           out.  get out.  you're fired.  to the Attic !
1542
1543 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
1544
1545         * gst/gstcaps.c: (gst_caps_intersect):
1546           fix signedness issues in a (hopefully) correct way
1547         * gst/gstelement.c: (gst_element_pads_activate):
1548           some debugging
1549         * gst/gstobject.c: (gst_object_set_parent):
1550           some debugging
1551
1552 2005-10-17  Julien MOUTTE  <julien@moutte.net>
1553
1554         * gst/gstvalue.h: Fix prototypes.
1555
1556 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
1557
1558         * docs/gst/gstreamer-sections.txt:
1559         * gst/gst.c: (gst_version_string):
1560         * gst/gst.h:
1561         * gst/gstversion.h.in:
1562         * win32/common/libgstreamer.def:
1563           add gst_version_string ()
1564
1565 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
1566
1567         * configure.ac:
1568           clean up further
1569         * gst/gst.c: (init_post):
1570         * win32/common/config.h.in:
1571           it's PLUGINDIR now
1572         * gst/gstcaps.c: (gst_caps_intersect):
1573           use gint64, the range could be bigger than a guint
1574
1575 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
1576
1577         * gst/gstclock.h:
1578           document potential problem in 2038
1579
1580 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
1581
1582         * gst/gstcaps.c: (gst_caps_intersect):
1583           Fix guint j diving under 0
1584
1585 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
1586
1587         * configure.ac:
1588         * win32/common/config.h:
1589         * win32/common/config.h.in:
1590           check for process.h, declares getpid() on Windows
1591         * gst/gstinfo.c:
1592           include process.h if we have it
1593         * gst/gstmemchunk.c: (populate), (gst_mem_chunk_new):
1594         * gst/gstmemchunk.h:
1595           fix signedness issues
1596         * win32/common/libgstreamer.def:
1597           fix get_type's
1598
1599 2005-10-16  Julien MOUTTE  <julien@moutte.net>
1600
1601         * gst/gstcaps.c: (gst_caps_intersect): Fix a bad bug with a simple
1602         fix. Because of unsigned ints, caps intersection was going nuts and
1603         trying to access structures with G_MAXUINT index. That fixes
1604         videotestsrc ! ffmpegcolorspace ! fakesink
1605         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked): logs
1606         consistency.
1607
1608 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
1609
1610         * configure.ac:
1611           use the gettext macro
1612         * gst/elements/gstelements.c:
1613         * gst/gst.c:
1614         * gst/indexers/gstindexers.c:
1615           update for GST_PACKAGE_NAME, GST_PACKAGE_ORIGIN
1616         * win32/common/config.h:
1617           updated config.h
1618         * win32/common/config.h.in:
1619           add the template to generate config.h
1620         * win32/common/gstenumtypes.c:
1621         * win32/common/gstversion.h:
1622           updated copies
1623
1624 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
1625
1626         * gst/gst.c: (gst_version):
1627         * gst/gstversion.h.in:
1628           add the nano
1629
1630 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
1631
1632         * gst/gstevent.h:
1633           Oops, add missing closing bracket.
1634
1635 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
1636
1637         * configure.ac:
1638           use common m4's for argument checking
1639
1640 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
1641
1642         * docs/gst/gstreamer-sections.txt:
1643         * gst/gstevent.h:
1644           Add GST_EVENT_TYPE_NAME() macro.
1645
1646 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
1647
1648         * gst/gstinfo.c:
1649         * gst/gstpluginfeature.c:
1650         * gst/gsttask.c:
1651           privatize more symbols
1652
1653 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
1654
1655         * configure.ac:
1656           add srcdir, builddir includes to GST_ALL_CFLAGS, since
1657           everything that uses GStreamer API should have the includes
1658
1659 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
1660
1661         * docs/gst/gstreamer-sections.txt:
1662         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
1663         * gst/gstvalue.h:
1664           give each value a _get_type, removes the DATA exports
1665
1666 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
1667
1668         * gst/gst.c:
1669         * gst/gst.h:
1670           remove _gst_registry_auto_load, not used anymore
1671         * gst/gstbin.c: (gst_bin_get_type):
1672         * gst/gstbin.h:
1673         * gst/gstelement.c: (gst_element_get_type):
1674         * gst/gstelement.h:
1675         * gst/gstobject.c: (gst_object_get_type):
1676         * gst/gstobject.h:
1677         * gst/gstpad.c: (gst_pad_get_type):
1678         * gst/gstpad.h:
1679           make _get_type functions similar, fixes data export from library
1680
1681 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
1682
1683         * configure.ac:
1684           correctly make conditionals
1685         * gst/elements/Makefile.am:
1686         * gst/elements/gstelements.c:
1687           fix typo causing fdsrc not to build
1688
1689 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
1690
1691         * testsuite/Makefile.am:
1692         * testsuite/bytestream/.cvsignore:
1693         * testsuite/bytestream/Makefile.am:
1694         * testsuite/bytestream/filepadsink.c:
1695         * testsuite/bytestream/gstbstest.c:
1696         * testsuite/bytestream/test1.c:
1697         * testsuite/bytestream/testfile1:
1698         * testsuite/caps/normalisation.c:
1699         * testsuite/caps/random.c: (main):
1700         * testsuite/cleanup/.cvsignore:
1701         * testsuite/cleanup/Makefile.am:
1702         * testsuite/cleanup/cleanup1.c:
1703         * testsuite/cleanup/cleanup2.c:
1704         * testsuite/cleanup/cleanup3.c:
1705         * testsuite/cleanup/cleanup4.c:
1706         * testsuite/cleanup/cleanup5.c:
1707         * testsuite/controller/interpolator.c:
1708         * testsuite/debug/printf_extension.c: (main):
1709         * testsuite/elements/tee.c:
1710         * testsuite/negotiation/.cvsignore:
1711         * testsuite/negotiation/Makefile.am:
1712         * testsuite/negotiation/pad_link.c:
1713         * testsuite/pad/Makefile.am:
1714         * testsuite/pad/chainnopull.c:
1715         * testsuite/pad/getnopush.c:
1716         * testsuite/pad/link.c:
1717         * testsuite/refcounting/sched.c: (create_pipeline):
1718         * testsuite/registry/Makefile.am:
1719         * testsuite/registry/gst-print-formats.c:
1720         * testsuite/schedulers/.cvsignore:
1721         * testsuite/schedulers/142183-2.c:
1722         * testsuite/schedulers/142183.c:
1723         * testsuite/schedulers/143777-2.c:
1724         * testsuite/schedulers/143777.c:
1725         * testsuite/schedulers/147713.c:
1726         * testsuite/schedulers/147819.c:
1727         * testsuite/schedulers/147894-2.c:
1728         * testsuite/schedulers/147894.c:
1729         * testsuite/schedulers/Makefile.am:
1730         * testsuite/schedulers/group_link.c:
1731         * testsuite/schedulers/queue_link.c:
1732         * testsuite/schedulers/relink.c:
1733         * testsuite/schedulers/unlink.c:
1734         * testsuite/schedulers/unref.c:
1735         * testsuite/schedulers/useless_iteration.c:
1736         * testsuite/states/bin.c:
1737           clean out/remove some stuff from the testsuite directories
1738
1739 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
1740
1741         * configure.ac:
1742           check for some headers
1743         * gst/elements/Makefile.am:
1744         * gst/elements/gstelements.c:
1745           don't compile fdsrc without sys/socket.h
1746         * gst/indexers/Makefile.am:
1747         * gst/indexers/gstindexers.c: (plugin_init):
1748           don't compile fileindex without mmap
1749
1750 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
1751
1752         * configure.ac:
1753           reorganize
1754           clean up
1755           document more
1756           remove cruft
1757         * check/Makefile.am:
1758         * docs/gst/Makefile.am:
1759         * examples/helloworld/Makefile.am:
1760         * gst/Makefile.am:
1761         * gst/base/Makefile.am:
1762         * gst/check/Makefile.am:
1763         * gst/elements/Makefile.am:
1764         * gst/indexers/Makefile.am:
1765         * gst/parse/Makefile.am:
1766         * libs/gst/controller/Makefile.am:
1767         * libs/gst/dataprotocol/Makefile.am:
1768         * examples/helloworld/helloworld.c: (event_loop):
1769           compile fixes, though it's not being compiled currently
1770
1771 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
1772
1773         * check/gst/gsttag.c: (test_date_tags), (gst_tag_suite):
1774           Add some simple tests for the new taglist date API.
1775
1776 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
1777
1778         * gst/elements/gstfakesink.c: (gst_fake_sink_render):
1779         * gst/elements/gstfakesrc.c: (gst_fake_src_create):
1780           Beautify 'last-message' output: print 'none' for buffer timestamps
1781           and durations if none is set; improve alignment with next messages.
1782
1783 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
1784
1785         * gst/gstpluginfeature.c: (gst_plugin_feature_check_version):
1786         * gst/gstpluginfeature.h:
1787         * gst/gstregistry.c: (gst_default_registry_check_feature_version):
1788         * gst/gstregistry.h:
1789         * docs/gst/gstreamer-sections.txt:
1790           Add new API to check plugin feature version requirements.
1791
1792         * check/gst/gstplugin.c: (test_version_checks), (gst_plugin_suite):
1793           Some basic tests for the above.         
1794
1795 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
1796
1797         * gst/gststructure.c: (gst_structure_to_string):
1798           guard against NULL printf - happens when for example
1799           a message structure with GstClock gets serialized
1800
1801 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
1802
1803         * gst/base/gstcollectpads.c: (gst_collectpads_event):
1804           Fix presumable copy'n'pasto.
1805
1806 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
1807
1808         * gst/elements/gstfakesrc.h:
1809         * gst/elements/gstfilesrc.c: (gst_file_src_create_read):
1810         * gst/elements/gsttypefindelement.c:
1811           fix some signedness
1812         * gst/elements/gstfilesink.c: (gst_file_sink_render):
1813           I wonder if this could actually write +2GB files before
1814
1815 2005-10-13  Andy Wingo  <wingo@pobox.com>
1816
1817         * libs/gst/dataprotocol/dataprotocol.c (gst_dp_packet_from_caps):
1818         Fix Timmeke Waymans bug.
1819         (gst_dp_caps_from_packet): Make sure we pass a NUL-terminated
1820         string of the proper length to gst_caps_from_string. There's a
1821         potential for, before this fix, that this could cause someone
1822         connecting over the network to cause a segfault if the payload is
1823         not NUL-terminated.
1824
1825 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
1826
1827         * docs/design/draft-push-pull.txt:
1828         * docs/design/part-overview.txt:
1829         * docs/random/TODO-pre-0.9:
1830         * docs/random/old/ChangeLog.gstreamer:
1831         * gst/base/gstpushsrc.c:
1832         * gst/gstclock.c:
1833           fixed typos
1834
1835 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
1836
1837         * gst/glib-compat.c: (gst_flags_get_first_value):
1838         * gst/glib-compat.h:
1839         * gst/gstvalue.c: (gst_value_deserialize_int_helper),
1840         (gst_value_compare_double), (gst_value_serialize_flags):
1841           GLib 2.6 g_flags_get_first_value has a bug that triggers an
1842           infinite loop
1843
1844 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
1845
1846         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
1847         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
1848           fix up debugging
1849         * tools/gst-launch.c: (event_loop):
1850           print out clock nicely
1851
1852 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
1853
1854         * docs/gst/gstreamer-sections.txt:
1855         * gst/gsttaglist.h:
1856         * gst/gsttaglist.c: (_gst_tag_initialize), (gst_tag_list_get_date),
1857         (gst_tag_list_get_date_index):
1858           Added gst_tag_list_get_date() and gst_tag_list_get_date_index().
1859           GST_TAG_DATE now has a tag type of GST_TYPE_DATE (#170777).
1860
1861 2005-10-13  Julien MOUTTE  <julien@moutte.net>
1862
1863         * gst/base/gstcollectpads.c: (gst_collectpads_event),
1864         (gst_collectpads_chain):
1865         * gst/base/gstcollectpads.h: Handle newsegment and store informations
1866         in CollectData.
1867
1868 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
1869
1870         * docs/gst/gstreamer-sections.txt:
1871         * gst/gst.c:
1872         * gst/gsterror.h:
1873         * tools/gst-inspect.c: (main):
1874         * tools/gst-launch.c: (main):
1875         * tools/gst-run.c: (main):
1876         * tools/gst-xmlinspect.c: (main):
1877           fix GOption context leaks
1878           doc fixes
1879
1880 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
1881
1882         * gst/gstbus.c:
1883           use HAVE_UNISTD_H
1884         * win32/common/config.h:
1885           update config
1886         * win32/vs6/grammar.dsp:
1887         * win32/vs6/libgstelements.dsp:
1888         * win32/vs6/libgstreamer.dsp:
1889           update vs6 files
1890
1891 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
1892
1893         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
1894         * gst/base/gstbasesrc.c: (gst_base_src_query):
1895           fix more guint64<->gdouble conversions
1896
1897 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
1898
1899         * Makefile.am:
1900           add win32-update target
1901         * win32/common/gstconfig.h:
1902         * win32/common/gstenumtypes.c:
1903         * win32/common/gstenumtypes.h:
1904         * win32/common/gstversion.h:
1905           add files that visual studio can't generate
1906
1907 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
1908
1909         * Makefile.am:
1910           add a win32-update target
1911         * configure.ac:
1912
1913 2005-10-12  Wim Taymans  <wim@fluendo.com>
1914
1915         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
1916         (reset_degree), (gst_bin_dispose), (bin_bus_handler):
1917         * gst/gstelement.c: (gst_element_commit_state),
1918         (gst_element_set_state):
1919         Protect flags with proper lock.
1920         unref provided cached clock in dispose.
1921
1922 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
1923
1924         * gst/gst.c:
1925         * gst/gstminiobject.h:
1926         * gst/gstpad.h:
1927         * win32/gstenumtypes.c: (gst_mini_object_flags_get_type):
1928           removed unused flags from miniobject
1929           doc fixes
1930
1931 2005-10-12  Wim Taymans  <wim@fluendo.com>
1932
1933         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
1934         (gst_file_sink_event), (gst_file_sink_render):
1935         Flush before seeking.
1936
1937 2005-10-12  Andy Wingo  <wingo@pobox.com>
1938
1939         * gst/gst.c (gst_init_check): Ignore unknown options, as has
1940         always been the case.
1941
1942 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
1943
1944         * check/gst/gstbin.c: (GST_START_TEST):
1945         * docs/gst/gstreamer-sections.txt:
1946         * gst/base/gstbasesink.c: (gst_base_sink_init):
1947         * gst/base/gstbasesrc.c: (gst_base_src_init),
1948         (gst_base_src_get_range), (gst_base_src_check_get_range),
1949         (gst_base_src_start), (gst_base_src_stop):
1950         * gst/base/gstbasesrc.h:
1951         * gst/elements/gstfakesrc.c: (gst_fake_src_set_property):
1952         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
1953         (bin_element_is_sink), (reset_degree), (gst_bin_element_set_state),
1954         (bin_bus_handler):
1955         * gst/gstbin.h:
1956         * gst/gstbuffer.h:
1957         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_flushing):
1958         * gst/gstbus.h:
1959         * gst/gstelement.c: (gst_element_is_locked_state),
1960         (gst_element_set_locked_state), (gst_element_commit_state),
1961         (gst_element_set_state):
1962         * gst/gstelement.h:
1963         * gst/gstindex.c: (gst_index_init):
1964         * gst/gstindex.h:
1965         * gst/gstminiobject.h:
1966         * gst/gstobject.c: (gst_object_init), (gst_object_sink),
1967         (gst_object_set_parent):
1968         * gst/gstobject.h:
1969         * gst/gstpad.c: (gst_pad_set_blocked_async), (gst_pad_is_blocked),
1970         (gst_pad_get_caps_unlocked), (gst_pad_set_caps):
1971         * gst/gstpad.h:
1972         * gst/gstpadtemplate.h:
1973         * gst/gstpipeline.c: (gst_pipeline_provide_clock_func),
1974         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
1975         * gst/gstpipeline.h:
1976         * gst/indexers/gstfileindex.c: (gst_file_index_load),
1977         (gst_file_index_commit):
1978         * testsuite/bytestream/filepadsink.c: (gst_fp_sink_init):
1979         * testsuite/pad/link.c: (gst_test_src_init),
1980         (gst_test_filter_init), (gst_test_sink_init):
1981         * testsuite/states/locked.c: (main):
1982           renamed GST_FLAGS macros to GST_OBJECT_FLAGS
1983           moved bitshift from macro to enum definition
1984
1985 2005-10-12  Wim Taymans  <wim@fluendo.com>
1986
1987         * gst/base/gstbasesink.c: (gst_base_sink_handle_buffer):
1988         * gst/elements/gstfilesink.c: (gst_file_sink_event),
1989         (gst_file_sink_render):
1990         Some more debugging info.
1991
1992 2005-10-12  Wim Taymans  <wim@fluendo.com>
1993
1994         * docs/design/part-states.txt:
1995         * tools/gst-launch.c: (main):
1996         Some doc updates.
1997         Revert non-intentional change.
1998
1999 2005-10-12  Wim Taymans  <wim@fluendo.com>
2000
2001         * check/gst/gstbin.c: (GST_START_TEST):
2002         * check/gst/gstelement.c: (GST_START_TEST):
2003         * check/gst/gstevent.c: (GST_START_TEST), (test_event):
2004         * check/gst/gstghostpad.c: (GST_START_TEST):
2005         * check/gst/gstpipeline.c: (GST_START_TEST):
2006         * check/pipelines/simple_launch_lines.c: (run_pipeline):
2007         * check/states/sinks.c: (GST_START_TEST):
2008         * gst/elements/gsttypefindelement.c: (stop_typefinding):
2009         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
2010         (gst_bin_remove_func), (gst_bin_get_state_func),
2011         (gst_bin_recalc_state), (gst_bin_change_state_func),
2012         (bin_bus_handler):
2013         * gst/gstelement.c: (gst_element_get_state_func),
2014         (gst_element_get_state), (gst_element_abort_state),
2015         (gst_element_commit_state), (gst_element_set_state),
2016         (gst_element_change_state), (gst_element_change_state_func):
2017         * gst/gstelement.h:
2018         * gst/gstpipeline.c: (gst_pipeline_class_init), (do_pipeline_seek),
2019         (gst_pipeline_provide_clock_func):
2020         * gst/gstutils.c: (gst_element_link_pads_filtered):
2021         * tools/gst-launch.c: (main):
2022         * tools/gst-typefind.c: (main):
2023         Use GstClockTime in _get_state() instead of GTimeVal.
2024         Remove old code in gstutils.c
2025
2026 2005-10-12  Andy Wingo  <wingo@pobox.com>
2027
2028         * gst/gstregistry.h (gst_registry_scan_paths): Not implemented, so
2029         removed.
2030
2031         * gst/gstpad.c (gst_pad_pause_task): Actually return FALSE if
2032         there is no task. Shouldn't affect any code, as nothing in our
2033         plugins checks this return value.
2034         (gst_pad_stop_task): Also take the stream lock if the pad has no
2035         task. Docs updated.
2036
2037 2005-10-12  Wim Taymans  <wim@fluendo.com>
2038
2039         * gst/gstpad.c: (pre_activate), (post_activate),
2040         (gst_pad_activate_pull), (gst_pad_activate_push):
2041         Cleanup activation code. Reset old state if
2042         activation failed.
2043
2044 2005-10-12  Wim Taymans  <wim@fluendo.com>
2045
2046         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
2047         (gst_base_sink_change_state):
2048         No need to prerol after receiving EOS.
2049
2050         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
2051         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler):
2052         * gst/elements/gstidentity.c: (gst_identity_event):
2053         Print events more verbosely.
2054
2055 2005-10-12  Wim Taymans  <wim@fluendo.com>
2056
2057         * check/Makefile.am:
2058         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
2059         * check/states/sinks2.c:
2060         Moved sinks2 testcode in sinks check.
2061
2062         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
2063         (gst_bin_remove_func), (gst_bin_recalc_state),
2064         (gst_bin_change_state_func), (bin_bus_handler):
2065         Fix potential race condition when _get_state() iterated over an
2066         ASYNC element right before it posted a state completion.
2067
2068         * gst/gstclock.h:
2069         Do proper cast here.
2070
2071         * gst/gstevent.c: (gst_event_new_newsegment),
2072         (gst_event_parse_newsegment):
2073         A playback rate of 0.0 is not allowed.
2074
2075 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
2076
2077         * win32/common/config.h:
2078         * win32/common/dirent.c: (_topendir), (_treaddir), (_tclosedir),
2079         (_trewinddir), (_ttelldir), (_tseekdir):
2080         * win32/common/dirent.h:
2081         * win32/common/gtchar.h:
2082         * win32/common/libgstbase.def:
2083         * win32/common/libgstreamer.def:
2084         * win32/vs6/grammar.dsp:
2085         * win32/vs6/gst_inspect.dsp:
2086         * win32/vs6/gst_launch.dsp:
2087         * win32/vs6/gstreamer.dsw:
2088         * win32/vs6/libgstbase.dsp:
2089         * win32/vs6/libgstelements.dsp:
2090         * win32/vs6/libgstreamer.dsp:
2091           Visual Studio 6 project files, and a new common directory.
2092           Phear.
2093
2094 2005-10-11  Wim Taymans  <wim@fluendo.com>
2095
2096         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
2097         (gst_base_sink_do_sync), (gst_base_sink_query),
2098         (gst_base_sink_change_state):
2099         * gst/base/gstbasesink.h:
2100         Correctly parse newsegment info.
2101
2102 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
2103
2104         * gst/gst.c: (init_post):
2105           split plugin paths correctly
2106
2107 2005-10-11  Wim Taymans  <wim@fluendo.com>
2108
2109         * check/gst/gstevent.c: (GST_START_TEST):
2110         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
2111         (gst_base_sink_change_state):
2112         * gst/base/gstbasesrc.c: (gst_base_src_default_newsegment):
2113         * gst/base/gstbasetransform.c: (gst_base_transform_event):
2114         * gst/elements/gstfilesink.c: (gst_file_sink_event):
2115         * gst/gstevent.c: (gst_event_new_newsegment),
2116         (gst_event_parse_newsegment):
2117         * gst/gstevent.h:
2118         Added extra flag to newsegment for future API freeze.
2119         Updated check and base elements.
2120
2121 2005-10-11  Julien MOUTTE  <julien@moutte.net>
2122
2123         * gst/base/gstcollectpads.c: (gst_collectpads_init),
2124         (gst_collectpads_add_pad), (gst_collectpads_pop),
2125         (gst_collectpads_event), (gst_collectpads_chain):
2126         * gst/base/gstcollectpads.h: Handle EOS correctly.
2127
2128 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
2129
2130         * tools/gst-launch.c: (main):
2131           more null protecting
2132
2133 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
2134
2135         * gst/gst-i18n-lib.h:
2136           check for ENABLE_NLS, not GETTEXT_PACKAGE
2137         * gst/gstregistry.c: (gst_registry_add_plugin),
2138         (gst_registry_scan_path_level),
2139         (_gst_registry_remove_cache_plugins):
2140           protect possibly NULL strings
2141         * gst/parse/types.h:
2142           config.h already included before
2143         * tools/gst-inspect.c: (main):
2144           sys/wait.h also doesn�t exist on mingw, so change the ifdef check
2145           check for ENABLE_NLS, not GETTEXT_PACKAGE
2146         * tools/gst-launch.c: (main):
2147           check for ENABLE_NLS, not GETTEXT_PACKAGE
2148
2149 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
2150
2151         * configure.ac:
2152           if we don't have glib, fail before testing 2.8
2153         * gst/base/gstbasetransform.c: (gst_base_transform_change_state):
2154           fix a leak, should fix plugins-base testsuite
2155
2156 2005-10-11  Andy Wingo  <wingo@pobox.com>
2157
2158         * gst/gstpad.c (pre_activate): Renamed from pre_activate_switch,
2159         take the mode we're going to as an arg. Go head and set the mode
2160         and flushing flags now, so that if the activate function starts a
2161         thread all the flags will be in the right state.
2162         (post_activate): Renamed also. Just handle making sure streaming
2163         finishes for the deactivation case, and setting the deactivated
2164         mode.
2165         (gst_pad_set_active): Complain loudly if deactivation fails.
2166         (gst_pad_activate_pull): Adapt to pre/post_activate changes.
2167         (gst_pad_activate_push): Adapt to pre/post_activate changes,
2168         remove the terrible hack.
2169
2170 2005-10-11  Wim Taymans  <wim@fluendo.com>
2171
2172         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
2173         (is_eos), (gst_bin_add_func), (gst_bin_remove_func),
2174         (gst_bin_recalc_state), (gst_bin_change_state_func),
2175         (gst_bin_dispose), (bin_bus_handler):
2176         * gst/gstbin.h:
2177         Prepare to make current EOS message queue more generic.
2178         Fix some typos.
2179
2180         * gst/gstevent.c: (gst_event_new_newsegment),
2181         (gst_event_parse_newsegment):
2182         * gst/gstevent.h:
2183         Rename base to stream_time.
2184
2185         * gst/gstmessage.h:
2186         Fix typo in docs.
2187
2188 2005-10-11  Wim Taymans  <wim@fluendo.com>
2189
2190         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
2191         (gst_bin_add_func), (gst_bin_remove_func), (gst_bin_recalc_state),
2192         (gst_bin_change_state_func), (bin_bus_handler):
2193         * gst/gstbin.h:
2194         Work on proper clock selection.
2195
2196 2005-10-11  Edward Hervey  <edward@fluendo.com>
2197
2198         * libs/gst/controller/gstcontroller.c: (gst_controller_remove_properties_list): 
2199         * libs/gst/controller/gstcontroller.h:
2200         Added GList* version of _remove_properties() in order to be able to wrap
2201         it in bindings.
2202
2203 2005-10-11  Wim Taymans  <wim@fluendo.com>
2204
2205         * docs/design/part-states.txt:
2206         Some more docs.
2207
2208         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_recalc_state),
2209         (gst_bin_change_state_func), (bin_bus_handler):
2210         Doc updates. Don't distribute the same clock over and over again.
2211
2212         * gst/gstclock.c:
2213         * gst/gstclock.h:
2214         Doc updates.
2215
2216         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark),
2217         (gst_pad_get_type), (gst_pad_push), (gst_pad_push_event),
2218         (gst_pad_send_event):
2219         * gst/gstpad.h:
2220         Make probe emission threadsafe again.
2221         Register quarks and move _get_name() from utils.
2222         Doc updates.
2223
2224         * gst/gstpipeline.c: (gst_pipeline_class_init),
2225         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
2226         Only redistribute the clock of it changed.
2227
2228         * gst/gstsystemclock.h:
2229         Doc updates. 
2230
2231         * gst/gstutils.c:
2232         * gst/gstutils.h:
2233         Moved the _flow_get_name() to GstPad.
2234
2235 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
2236
2237         * check/gst-libs/gdp.c: (GST_START_TEST):
2238         * check/gst/gstcaps.c: (GST_START_TEST):
2239         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc),
2240         (gst_dp_dump_byte_array), (gst_dp_header_from_buffer),
2241         (gst_dp_packet_from_caps):
2242           fix more valgrind warnings before turning up the heat
2243
2244 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
2245
2246         * gst/parse/grammar.y:
2247           some cleanup before the hacking
2248
2249 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
2250
2251         * gst/base/gstbasesrc.c: (gst_base_src_query):
2252           use conversions
2253         * gst/gstutils.c: (gst_guint64_to_gdouble),
2254         (gst_gdouble_to_guint64), (gst_util_uint64_scale):
2255         * gst/gstutils.h:
2256           externalize, basesrc uses it
2257           obviously the implementation needs testing
2258
2259 2005-10-10  Wim Taymans  <wim@fluendo.com>
2260
2261         * tests/sched/Makefile.am:
2262         * tests/sched/sort.c: (make_pipeline1), (make_pipeline2),
2263         (make_pipeline3), (make_pipeline4), (print_elem), (main):
2264
2265 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
2266
2267         * gst/gstutils.c: (guint64_to_gdouble), (gst_util_uint64_scale):
2268           apparently converting from guint64 to double is not implemented
2269           on MSVC
2270
2271 2005-10-10  Wim Taymans  <wim@fluendo.com>
2272
2273         * check/Makefile.am:
2274         * check/generic/states.c: (GST_START_TEST):
2275         * check/gst/gstbin.c: (GST_START_TEST):
2276         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
2277         * check/states/sinks.c: (GST_START_TEST):
2278         * check/states/sinks2.c: (GST_START_TEST), (gst_object_suite),
2279         (main):
2280         Check fixes, use API as stated in design docs, remove hacks.
2281
2282         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
2283         (gst_base_sink_change_state):
2284         Catch stopping our task while we're shutting down.
2285
2286         * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
2287         (gst_bin_remove_func), (gst_bin_get_state_func),
2288         (gst_bin_recalc_state), (gst_bin_change_state_func),
2289         (bin_bus_handler):
2290         * gst/gstbin.h:
2291         * gst/gstelement.c: (gst_element_init),
2292         (gst_element_get_state_func), (gst_element_abort_state),
2293         (gst_element_commit_state), (gst_element_lost_state),
2294         (gst_element_set_state), (gst_element_change_state),
2295         (gst_element_change_state_func):
2296         * gst/gstelement.h:
2297         New state change algorithm (see #318116)
2298
2299         * gst/gstpipeline.c: (gst_pipeline_class_init),
2300         (gst_pipeline_init), (gst_pipeline_set_property),
2301         (gst_pipeline_get_property), (do_pipeline_seek),
2302         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
2303         * gst/gstpipeline.h:
2304         Remove crude state change hacks.
2305
2306         * gst/gstutils.h:
2307         Remove crude hacks.
2308
2309         * tools/gst-launch.c: (main):
2310         Fixes for state change. Needs some more work to fully use the
2311         new stuff.
2312
2313 2005-10-10  Andy Wingo  <wingo@pobox.com>
2314
2315         * tests/Makefile.am (noinst_PROGRAMS): No more init.c.
2316
2317         * gst/gst.c (G_OPTION_FLAG_NO_ARG): Apparently GLib 2.8 requires
2318         this flag, but it's not even in GLib 2.6. Odd. Hack around the
2319         issue.
2320
2321 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
2322
2323         * gst/gstiterator.c: (gst_iterator_new):
2324           Fix my previous commit: GTypes passed to gst_iterator_new()
2325           can be fundamental types.
2326
2327 2005-10-10  Wim Taymans  <wim@fluendo.com>
2328
2329         * gst/gstelement.c: (gst_element_iterate_pad_list),
2330         (gst_element_iterate_pads), (gst_element_iterate_src_pads),
2331         (gst_element_iterate_sink_pads):
2332         Use src/sink pads lists for the respective iterators instead
2333         of filtering.
2334
2335 2005-10-10  Andy Wingo  <wingo@pobox.com>
2336
2337         Merged in popt removal + GOption addition patch from Ronald, bug
2338         #169772.
2339
2340         * docs/gst/gstreamer-sections.txt: Add STATE_(UN)LOCK_FULL, move
2341         GstElement macros around, remove popt-related symbols, add goption
2342         stuff.
2343
2344         * configure.ac: Remove popt checks, require GLib 2.6 for GOption.
2345         
2346         * docs/gst/Makefile.am:
2347         * docs/libs/Makefile.am: No POPT_CFLAGS.
2348         
2349         * examples/manual/Makefile.am:
2350         * docs/manual/basics-init.xml: Doc updates with an example.
2351         
2352         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
2353         (gst_init), (parse_one_option), (parse_goption_arg):
2354         * gst/gst.h: Removed gst_init_with_popt_table and friends. Took a
2355         bit of hand merging and debugging to get the GOption stuff working
2356         tho.
2357         
2358         * tests/Makefile.am:
2359         * tools/Makefile.am:
2360         * tools/gst-inspect.c: (main):
2361         * tools/gst-launch.c: (main):
2362         * tools/gst-run.c: (main):
2363         * tools/gst-xmlinspect.c: (main): Thanks Ronald!
2364
2365 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
2366
2367         * gst/gstiterator.c: (gst_iterator_new):
2368           Add assertions to make sure passed GType is likely to really
2369           be a GType (as the compiler won't catch it if the size and
2370           GType arguments get mixed up, see #318447).
2371
2372 2005-10-10  Josef Zlomek  <josef dot zlomek at xeris dot cz>
2373
2374         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
2375
2376         * gst/gstbin.c: (gst_bin_iterate_sorted):
2377           Pass GType and size arguments to gst_iterator_new() in the right
2378           order (maybe we should make _new() take the GType as first argument
2379           just like _new_list()?) (#318447).
2380           
2381
2382 2005-10-10  Wim Taymans  <wim@fluendo.com>
2383
2384         * gst/gstelement.c: (gst_element_finalize):
2385         And free the GStaticRecMutex too
2386
2387 2005-10-10  Andy Wingo  <wingo@pobox.com>
2388
2389         * gst/gstelement.c (gst_element_init, gst_element_finalize):
2390         Allocate and free the mutex properly.
2391
2392         * gst/gstelement.h (GST_STATE_UNLOCK_FULL, GST_STATE_LOCK_FULL):
2393         New macros.
2394         (GstElement): The state_lock is now recursive. Rebuild your
2395         plugins, suckers. Old macros adapted.
2396
2397         * docs/gst/gstreamer-sections.txt: Doc updates.
2398
2399         * gst/gstutils.h:
2400         * gst/gstutils.c (g_static_rec_cond_timed_wait) 
2401         (g_static_rec_cond_wait): Ported from state changes patch, while
2402         we wait on bug #317802 to be solved in a well-distributed GLib.
2403
2404         * gst/gstelement.c (gst_element_change_state_func): Renamed from
2405         gst_element_change_state, variable name changes.
2406         (gst_element_change_state): Split out of gst_element_set_state in
2407         preparation for the state change merge. Doesn't pay attention to
2408         the 'transition' argument.
2409         (gst_element_set_state): Updates, hopefully purely cosmetic.
2410         (gst_element_sync_state_with_parent): MT-safety. Ported from the
2411         state change patch.
2412         (gst_element_get_state_func): Renamed from get_state, cosmetic
2413         changes.
2414
2415 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
2416
2417         * gst/elements/gstelements.c:
2418         * win32/GStreamer.vcproj:
2419         * win32/config.h:
2420         * win32/dirent.c: (_tseekdir):
2421         * win32/gst-inspect.vcproj:
2422         * win32/gst-launch.vcproj:
2423         * win32/gstconfig.h:
2424         * win32/gstelements.vcproj:
2425         * win32/gstenumtypes.c: (gst_object_flags_get_type):
2426         * win32/gstreamer.def:
2427         * win32/msvc71.sln:
2428           updates for the win32 build (patch from Sebastien Moutte)
2429
2430 2005-10-10  Andy Wingo  <wingo@pobox.com>
2431
2432         * gst/gstbin.c (gst_bin_get_state_func): Renamed from
2433         gst_bin_get_state, cleaned up (but no logic changes).
2434         (bin_element_is_sink): Comment updates.
2435         (sink_iterator_filter): Remove needless cast.
2436         (gst_bin_iterate_sinks): Doc update.
2437         (gst_bin_change_state_func): Renamed from gst_bin_change_state,
2438         cleaned up (but no logic changes).
2439
2440         * check/states/sinks.c (test_src_sink): Cleanups from the state
2441         change patch.
2442         (test_livesrc_sink): Sync on the state.
2443
2444         * check/pipelines/simple_launch_lines.c (run_pipeline): Merge from
2445         the state change patch.
2446
2447         * check/gst/gstghostpad.c (test_ghost_pads): Merge from the state
2448         change patch.
2449
2450         * check/gst/gstbin.c: Merge in some style fixes and additional
2451         checks from Wim's state change patch.
2452
2453 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
2454
2455         * gst/base/gsttypefindhelper.c: (helper_find_peek),
2456         (gst_type_find_helper):
2457           Check whether we have the requested data already in our list of
2458           cached buffers before pulling a new buffer; also make the buffer
2459           list a GSList. Speeds up typefinding by ca. 5-10% altogether.
2460
2461 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
2462
2463         * gst/gstcaps.c:
2464         * gst/gstevent.c:
2465           doc updates
2466         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
2467           don't use long long, it's not portable.  Replacing with
2468           gint64 seems to work; let's hope no skeletons fall out of the closet.
2469
2470 2005-10-10  Andy Wingo  <wingo@pobox.com>
2471
2472         * autogen.sh (CONFIGURE_DEF_OPT): No more --plugin-buiddir, yay
2473
2474 2005-10-09  Stefan Kost  <ensonic@users.sf.net>
2475
2476         * docs/gst/gstreamer-sections.txt:
2477         * gst/gstevent.c:
2478         * gst/gstevent.h:
2479         * gst/gstinfo.c:
2480         * gst/gstinfo.h:
2481         * gst/gstmessage.c: (gst_message_parse_state_changed):
2482         * gst/gstpad.c:
2483         * gst/gstpad.h:
2484           more docs, fix compilation
2485
2486 2005-10-09  Philippe Khalaf <burger@speedy.org>
2487         * gst/gstmessage.c:
2488           Fixed a few forgotten variables on previous commit
2489
2490 2005-10-09  Tim-Philipp Müller  <tim at centricular dot net>
2491
2492         * gst/base/gsttypefindhelper.c: (helper_find_peek):
2493           Fix evil typefind crasher: getrange() might return a short
2494           buffer at the end of a file, but gst_type_find_peek() must
2495           either return the full data as requested or NULL, but
2496           never a short buffer.
2497
2498 2005-10-09  Thomas Vander Stichele  <thomas at apestaart dot org>
2499
2500         * gst/gstmessage.c: (gst_message_new_state_changed),
2501         (gst_message_parse_state_changed):
2502         * gst/gstmessage.h:
2503           don't use "new", it's a C++ keyword
2504
2505 2005-10-08  Wim Taymans  <wim@fluendo.com>
2506
2507         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_query):
2508         * gst/gstelement.c: (gst_element_post_message):
2509         * gst/gstpipeline.c: (gst_pipeline_change_state):
2510         Small docs and debug updates.
2511
2512 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
2513
2514         * docs/gst/gstreamer-sections.txt:
2515         * gst/gstelementfactory.c:
2516         * gst/gstevent.c:
2517         * gst/gsttaglist.c:
2518           more docs
2519
2520 2005-10-08  Wim Taymans  <wim@fluendo.com>
2521
2522         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_change_state),
2523         (gst_bin_dispose), (bin_bus_handler):
2524         Fix typos, add comments.
2525         Clear EOS list when going to PAUSED from any direction and do it
2526         in a threadsafe way.
2527         Get base time in a threadsafe way too.
2528         Fix confusing debug in the change_state function.
2529         Various other small cleanups.
2530         
2531         * gst/gstelement.c: (gst_element_post_message):
2532         Fix very verbose bus posting code.
2533
2534         * gst/gstpipeline.c: (gst_pipeline_class_init),
2535         (gst_pipeline_set_property), (gst_pipeline_get_property),
2536         (gst_pipeline_change_state):
2537         Small ARG_ -> PROP_ cleanup
2538
2539 2005-10-08  Wim Taymans  <wim@fluendo.com>
2540
2541         * gst/gstbin.c: (is_eos), (bin_bus_handler):
2542         Do a less CPU demanding EOS check because we can.
2543
2544 2005-10-08  Wim Taymans  <wim@fluendo.com>
2545
2546         * libs/gst/dataprotocol/dataprotocol.c:
2547         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
2548         (gst_dp_packet_from_event):
2549         * libs/gst/dataprotocol/dataprotocol.h:
2550         * libs/gst/dataprotocol/dp-private.h:
2551         It's about time we bump the version number.
2552         Since event types don't fit in the guint8 anymore describing
2553         the payload type, make payload type 16 bits wide.
2554
2555 2005-10-08  Wim Taymans  <wim@fluendo.com>
2556
2557         * docs/design/part-TODO.txt:
2558         * docs/design/part-clocks.txt:
2559         * docs/design/part-events.txt:
2560         * docs/design/part-gstbin.txt:
2561         * docs/design/part-gstelement.txt:
2562         * docs/design/part-gstpipeline.txt:
2563         * docs/design/part-live-source.txt:
2564         * docs/design/part-messages.txt:
2565         * docs/design/part-overview.txt:
2566         * docs/design/part-states.txt:
2567         Many doc updates.
2568
2569 2005-10-08  Wim Taymans  <wim@fluendo.com>
2570
2571         * gst/gstevent.c:
2572         * gst/gstevent.h:
2573         Fix event quark registration.
2574         Add some space between events so we can insert them in the
2575         right groups.
2576
2577 2005-10-08  Wim Taymans  <wim@fluendo.com>
2578
2579         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
2580         (gst_base_sink_handle_buffer):
2581         Better log message.
2582
2583         * gst/gstbus.h:
2584         * gst/gstelement.h:
2585         More docs.
2586
2587         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
2588         (gst_queue_set_property), (gst_queue_get_property):
2589         * gst/gstqueue.h:
2590         Remove old unused properties.
2591
2592 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
2593         * docs/gst/gstreamer-sections.txt:
2594         * gst/gstmessage.c:
2595         * gst/gstmessage.h:
2596         * gst/gstminiobject.c:
2597         * gst/gstminiobject.h:
2598         * gst/gstobject.h:
2599         * gst/gstpad.h:
2600         * gst/gstutils.h:
2601           lots of new docs and doc fixes
2602
2603 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
2604
2605         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_load_file):
2606         * gst/gstplugin.h:
2607         * gst/gstregistry.c: (gst_registry_lookup_locked),
2608         (gst_registry_scan_path_level):
2609         * gst/gstregistryxml.c: (load_plugin):
2610           Only ever load one plugin for a given plugin basename.
2611           This ensures correct overriding of GST_PLUGIN_PATH over
2612           GST_PLUGIN_SYSTEM_PATH and of home dir plugins over
2613           system installed plugins.
2614
2615 2005-10-08  Wim Taymans  <wim@fluendo.com>
2616
2617         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
2618         (gst_base_sink_do_sync), (gst_base_sink_handle_buffer):
2619         Prepare for doing QOS.
2620
2621 2005-10-08  Wim Taymans  <wim@fluendo.com>
2622
2623         * check/gst/gstbin.c: (GST_START_TEST):
2624         * check/pipelines/cleanup.c: (GST_START_TEST):
2625         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
2626         Allow new clock message too.
2627
2628 2005-10-08  Wim Taymans  <wim@fluendo.com>
2629
2630         * gst/gstmessage.c: (gst_message_new_error),
2631         (gst_message_new_warning), (gst_message_new_tag),
2632         (gst_message_new_state_changed), (gst_message_new_clock_provide),
2633         (gst_message_new_clock_lost), (gst_message_new_new_clock),
2634         (gst_message_new_segment_start), (gst_message_new_segment_done),
2635         (gst_message_parse_state_changed),
2636         (gst_message_parse_clock_provide), (gst_message_parse_clock_lost),
2637         (gst_message_parse_new_clock):
2638         * gst/gstmessage.h:
2639         Also carry the clock in question.
2640
2641 2005-10-08  Wim Taymans  <wim@fluendo.com>
2642
2643         * gst/gstmessage.c: (gst_message_new_custom),
2644         (gst_message_new_eos), (gst_message_new_error),
2645         (gst_message_new_warning), (gst_message_new_tag),
2646         (gst_message_new_state_changed), (gst_message_new_clock_provide),
2647         (gst_message_new_new_clock), (gst_message_new_segment_start),
2648         (gst_message_new_segment_done), (gst_message_parse_state_changed),
2649         (gst_message_parse_clock_provide), (gst_message_parse_new_clock):
2650         * gst/gstmessage.h:
2651         Clean up.
2652         Added clock related messages.
2653
2654         * gst/gstpipeline.c: (gst_pipeline_change_state):
2655         Post message when the clock changed.
2656
2657         * tools/gst-launch.c: (event_loop):
2658         Print new clock.
2659
2660 2005-10-08  Tim-Philipp Müller  <tim at centricular dot net>
2661
2662         * tools/gst-inspect.c: (print_element_properties_info):
2663           Can't pass NULL strings to g_print() on windows.
2664
2665 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
2666
2667         * docs/Makefile.am:
2668         * docs/gst/Makefile.am:
2669         * docs/gst/gstreamer-docs.sgml:
2670         * docs/gst/running.xml:
2671         * docs/version.entities.in:
2672           add a chapter on running GStreamer.
2673           document GST_DEBUG and GST_PLUGIN* env vars
2674
2675 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
2676
2677         * Makefile.am:
2678           remove include dir
2679         * configure.ac:
2680           remove PLUGINS_BUILDDIR stuff
2681         * gst/gst.c: (init_post):
2682           reorder parsing of GST_PLUGIN_PATH and GST_PLUGIN_SYSTEM_PATH
2683         * idiottest.mak:
2684           remove, it was condescending and not needed
2685
2686 2005-10-08  Wim Taymans  <wim@fluendo.com>
2687
2688         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
2689         (gst_base_sink_handle_object), (gst_base_sink_event),
2690         (gst_base_sink_wait), (gst_base_sink_handle_event),
2691         (gst_base_sink_change_state):
2692         * gst/base/gstbasesink.h:
2693         Repost EOS message while going to PLAYING if still EOS.
2694         Make sure that when receiving a FLUSH_START we don't attempt
2695         to sync on the clock anymore.
2696
2697 2005-10-08  Wim Taymans  <wim@fluendo.com>
2698
2699         * tools/gst-launch.c: (event_loop):
2700         Better message printout.
2701
2702 2005-10-08  Wim Taymans  <wim@fluendo.com>
2703
2704         * gst/gstbin.c: (gst_bin_child_proxy_get_child_by_index),
2705         (gst_bin_child_proxy_get_children_count):
2706         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
2707         (gst_child_proxy_lookup), (gst_child_proxy_get_property),
2708         (gst_child_proxy_get_valist), (gst_child_proxy_set_property),
2709         (gst_child_proxy_set_valist):
2710         * gst/parse/grammar.y:
2711         Make ChildProxy threadsafe and fix mem leaks.
2712
2713 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
2714
2715         * gst/gst.c: (init_post):
2716           debug the GST_PLUGIN_ env vars
2717
2718 2005-10-08  Wim Taymans  <wim@fluendo.com>
2719
2720         * check/gst/gstbin.c: (GST_START_TEST):
2721         * check/gst/gstmessage.c: (GST_START_TEST):
2722         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
2723         * gst/gstelement.c: (gst_element_commit_state),
2724         (gst_element_lost_state):
2725         * gst/gstmessage.c: (gst_message_new_state_changed),
2726         (gst_message_parse_state_changed):
2727         * gst/gstmessage.h:
2728         * tools/gst-launch.c: (event_loop):
2729         Added extra field to STATE_CHANGE message with the pending
2730         state, which will be different from the new state soon.
2731
2732 2005-10-08  Wim Taymans  <wim@fluendo.com>
2733
2734         * gst/gstbus.c: (gst_bus_pop):
2735         * gst/gstclock.c:
2736         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
2737         Small cleanups and doc updates.
2738
2739 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
2740
2741         * gst/gst.c: (init_pre):
2742         * gst/gstbin.c: (gst_bin_add_func):
2743           log distributing clocks and base time
2744         * gst/gstregistry.c: (gst_registry_add_plugin),
2745         (gst_registry_scan_path_level), (gst_registry_scan_path):
2746           clean up the debugging output a little
2747         * gst/gstutils.c: (gst_element_state_get_name):
2748           warn about a memleak (I've actually seen this be used, though
2749           it was probably a bug)
2750
2751 2005-10-07  Wim Taymans  <wim@fluendo.com>
2752
2753         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
2754         (gst_base_src_init), (gst_base_src_default_newsegment),
2755         (gst_base_src_newsegment), (gst_base_src_do_seek),
2756         (gst_base_src_loop), (gst_base_src_start):
2757         * gst/base/gstbasesrc.h:
2758         Make the newsegment event customizable by subclasses.
2759
2760 2005-10-07  Wim Taymans  <wim@fluendo.com>
2761
2762         * gst/gstevent.c: (gst_event_new_buffersize),
2763         (gst_event_parse_buffersize):
2764         * gst/gstevent.h:
2765         New event for future idea.
2766
2767 2005-10-07  Andy Wingo  <wingo@pobox.com>
2768
2769         * gst/gstelement.c (gst_element_post_message): Doc update.
2770
2771         * docs/gst/gstreamer-sections.txt: Update.
2772
2773         * gst/gstmessage.c (gst_message_new_application): Made into a
2774         function like honest API calls.
2775         (gst_message_new_element): New message type.
2776
2777         * gst/gstmessage.h (enum): Add GST_MESSAGE_ELEMENT type.
2778
2779         * check/elements/fakesrc.c (test_no_preroll): New check, checks
2780         that setting a live fakesrc to PAUSED returns NO_PREROLL both
2781         times.
2782
2783         * gst/base/gstbasesrc.c (gst_base_src_change_state): Allow a
2784         NO_PREROLL from gst_element_change_state to fall through.
2785
2786 2005-10-07  Wim Taymans  <wim@fluendo.com>
2787
2788         * gst/gstghostpad.c: (gst_ghost_pad_get_internal),
2789         (gst_ghost_pad_do_activate_push):
2790         Activating a ghostpad with no internal pad in push mode
2791         is ok.
2792
2793 2005-10-07  Thomas Vander Stichele  <thomas at apestaart dot org>
2794
2795         * gst/gstobject.h:
2796           there's no point in wrapping FLAG_SET/_UNSET in STMT macros.
2797           Fixes compilation on Windows.
2798
2799 2005-10-07  Michael Smith <msmith@fluendo.com>
2800
2801         * tools/gst-inspect.c:
2802           Print out feature and plugin count at the end when printing out
2803           all features.
2804
2805 2005-10-04  Michael Smith <msmith@fluendo.com>
2806
2807         * gst/gsterror.c: (_gst_stream_errors_init):
2808           Add another error string used in a few existing plugins.
2809
2810         * gst/gstplugin.c:
2811         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
2812         * tools/gst-inspect.c: (print_element_info):
2813           When a feature disappears from a plugin (and the feature exists in
2814           the cached registry file), things went horribly wrong. This isn't a
2815           complete fix, we should actually be removing the 'missing' features
2816           from the features list when we load the actual plugin. That's not
2817           yet implemented. 
2818
2819 2005-10-04  Johan Dahlin  <johan@gnome.org>
2820
2821         * check/gst/gstiterator.c: (GST_START_TEST):
2822         * gst/gstbin.c: (gst_bin_iterate_elements),
2823         (gst_bin_iterate_recurse), (gst_bin_iterate_sorted):
2824         * gst/gstelement.c: (gst_element_iterate_pads):
2825         * gst/gstformat.c: (gst_format_iterate_definitions):
2826         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
2827         (gst_iterator_new_list), (gst_iterator_filter):
2828         * gst/gstiterator.h:
2829         * gst/gstquery.c: (gst_query_type_iterate_definitions):
2830         Add a GType to GstIterator, update callsites and tests.
2831
2832 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
2833
2834         * gst/gstpad.c: (gst_pad_event_default_dispatch):
2835           give events a chance to be handled by event probes when the pad
2836           is not linked
2837
2838 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
2839
2840         * gst/gstevent.c: (gst_event_type_get_name),
2841         (gst_event_type_to_quark), (gst_event_finalize), (gst_event_new):
2842         * gst/gstevent.h:
2843           add string representations for event types
2844
2845 2005-10-06  Wim Taymans  <wim@fluendo.com>
2846
2847         * gst/elements/gstfilesink.c: (gst_file_sink_close_file):
2848         Don't use NULL pointers.
2849
2850 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
2851
2852         * gst/gst_private.h:
2853         * gst/gstbus.c:
2854         * gst/gstelement.c:
2855         * gst/gstinfo.c:
2856         * gst/gstpluginfeature.c:
2857           widen the debug category in output to fit the biggest one we have
2858           add a bus category and use it
2859           play with the colors
2860           fix up some categories
2861
2862 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
2863
2864         * gst/gstghostpad.c: (gst_ghost_pad_internal_do_activate_push):
2865           add push activation of sink ghost pads.
2866           Andye, please verify
2867
2868 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
2869
2870         * gst/gstutils.c: (gst_element_link_pads):
2871           fix a bug in the case where neither element has a pad
2872         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
2873           add a test for that case
2874
2875 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
2876
2877         * gst/gstpad.c: (gst_pad_push), (gst_pad_push_event):
2878           emit have-data before checking for peers.  This allows
2879           for probe handlers to connect elements.  This helps autopluggers.
2880         * check/gst/gstpad.c: (GST_START_TEST), (_probe_handler),
2881         (gst_pad_suite):
2882           add six checks, linked/unlinked with no/true/false probe
2883
2884 2005-10-04  Wim Taymans  <wim@fluendo.com>
2885
2886         * gst/elements/gstfakesink.c: (gst_fake_sink_get_property),
2887         (gst_fake_sink_event), (gst_fake_sink_preroll),
2888         (gst_fake_sink_render), (gst_fake_sink_change_state):
2889         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler),
2890         (gst_fake_src_get_property), (gst_fake_src_create),
2891         (gst_fake_src_stop):
2892         * gst/elements/gstidentity.c: (gst_identity_stop):
2893         Protect last_message with lock.
2894
2895 2005-10-04  Edward Hervey  <edward@fluendo.com>
2896
2897         * gst/gstformat.h: 
2898         Added precision in the comments for GST_FORMAT_DEFAULT
2899
2900 2005-10-04  Tim-Philipp Müller  <tim at centricular dot net>
2901
2902         * tools/gst-launch.c: (main):
2903           Don't try to run erroneous pipelines.
2904
2905 2005-10-04  Julien MOUTTE  <julien@moutte.net>
2906
2907         * gst/gstbus.c: We don't need this header.
2908
2909 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
2910
2911         * configure.ac:
2912           back to development
2913
2914 === release 0.9.3 ===
2915
2916 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
2917
2918         * README:
2919         * configure.ac:
2920           Releasing 0.9.3, "Unregistered"
2921
2922 2005-10-03  Andy Wingo  <wingo@pobox.com>
2923
2924         * gst/gstpad.c (gst_pad_activate_push): There is a race condition
2925         whereby calling a pad's activatepush() function can start a thread
2926         that starts to push or pull before the pad gets the FLUSHING flag
2927         unset. Hack around it by holding the stream lock until the flag is
2928         set. Need to replace this with a proper solution. Together with
2929         the ghost pad fixes, this fixes mp3 playing/tagreading.
2930
2931         * docs/design/part-gstghostpad.txt: Add a note about activation of
2932         proxy pads outside of ghost pads.
2933
2934         * gst/gstghostpad.c: Implement the ghost pad activation design.
2935
2936 2005-10-02  Andy Wingo  <wingo@pobox.com>
2937
2938         * gst/gstobject.h (GST_OBJECT_REFCOUNT_VALUE): Just use the int.
2939         It is volatile, after all.
2940
2941         * docs/design/part-gstghostpad.txt: Flesh out activation with
2942         ghost pads.
2943
2944         * gst/base/gstbasesrc.c (gst_base_src_init): Use
2945         GST_DEBUG_FUNCPTR.
2946
2947 2005-10-02  Tim-Philipp Müller  <tim at centricular dot net>
2948
2949         * configure.ac:
2950           Fix (unused) AM_CONDITIONAL tests.
2951
2952 2005-10-01  Alessandro Decina  <alessandro at nnva dot org>
2953
2954         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
2955
2956         * gst/gstutils.c: (gst_pad_query_convert):
2957           Add assertion that makes sure src_val is >=0, just like
2958           gst_query_new_convert() has. (#315895)
2959
2960 2005-09-30  Edward Hervey  <edward@fluendo.com>
2961
2962         * gst/elements/gsttee.c: (gst_tee_do_push), (gst_tee_handle_buffer):
2963         Let's not iterate pads we're not interested in, it avoids getting 
2964         sky-high refcounts on sinkpad.
2965
2966 2005-09-30  Wim Taymans  <wim@fluendo.com>
2967
2968         * gst/gstelement.c: (gst_element_set_state),
2969         (gst_element_change_state):
2970         Small tweak, element in ASYNC remains ASYNC.
2971
2972 2005-09-30  Wim Taymans  <wim@fluendo.com>
2973
2974         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
2975         Only error is an error.
2976
2977         * gst/gstbin.c: (gst_bin_change_state):
2978         Better debugging.
2979
2980         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_chain):
2981         Also call pad_block in pad alloc.
2982
2983         * gst/gstutils.c: (gst_flow_get_name):
2984         Better debugging.
2985
2986 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
2987
2988         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
2989         (gst_base_src_get_range):
2990           Fix documentation typos. Add some more debug info.
2991
2992 2005-09-29  David Schleef  <ds@schleef.org>
2993
2994         * gst/gstplugin.c: (gst_plugin_load_file): Make some error messages
2995           more end-user friendly.
2996         * tools/gst-inspect.c: (main): Check if command-line argument is
2997           a file and attempt to load that file as a plugin.
2998
2999 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
3000
3001         * check/gst/gstbin.c:
3002         * check/states/sinks.c:
3003           fix tests for the new warning
3004         * check/gst/gstpipeline.c:
3005           add a test for pipeline and bus interaction
3006         * gst/gstelement.c:
3007           elements should be NULL if they get disposed; add a warning if not
3008
3009 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
3010
3011         * gst/gstobject.c:
3012           for 2.6 refcounting, make debug log more correct by printing
3013           the actual refcounts at the time of swap (Wim)
3014
3015 2005-09-29  Andy Wingo  <wingo@pobox.com>
3016
3017         * gst/gstbus.c (gst_bus_remove_signal_watch): New function,
3018         removes signal watches previously added via
3019         gst_bus_add_signal_watch.
3020         (gst_bus_add_signal_watch): Don't return the source id, just store
3021         it on the bus if there wasn't an id already.
3022
3023         * gst/gstbus.h (GstBus): Add a couple new fields. API changes for
3024         add_signal_watch and remove_signal_watch.
3025
3026 2005-09-29  Edward Hervey  <edward@fluendo.com>
3027
3028         * libs/gst/controller/gstcontroller.c: (gst_controller_new_list): 
3029         Better if we actually iterate the list :)
3030
3031 2005-09-29  Wim Taymans  <wim@fluendo.com>
3032
3033         * check/gst/gstbin.c: (GST_START_TEST):
3034         Change for new bus API.
3035
3036         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
3037         (send_messages), (GST_START_TEST), (gstbus_suite):
3038         Change for new bus signal API.
3039
3040         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_have_pending),
3041         (gst_bus_source_prepare), (gst_bus_source_check),
3042         (gst_bus_create_watch), (gst_bus_add_watch_full),
3043         (gst_bus_add_watch), (gst_bus_poll), (gst_bus_async_signal_func),
3044         (gst_bus_sync_signal_handler), (gst_bus_add_signal_watch):
3045         * gst/gstbus.h:
3046         Remove support for multiple GSources operating on different
3047         message types as it is too complex and unneeded when using
3048         signals.
3049         Added support for receiving signals from the bus.
3050
3051 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
3052
3053         * docs/libs/tmpl/gstdataprotocol.sgml:
3054         * docs/manual/advanced-dataaccess.xml:
3055         * gst/elements/gstcapsfilter.c:
3056         * gst/gstutils.c:
3057           rename filter-caps to caps property
3058
3059 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
3060
3061         * gst/gstvalue.c: (gst_value_deserialize_fraction):
3062           More robust fraction string parsing.
3063
3064         * docs/pwg/appendix-porting.xml:
3065           Mention gst_pad_use_explicit_caps() => gst_pad_use_fixed_caps()
3066
3067 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
3068
3069         * gst/gstcaps.c: (gst_caps_do_simplify):
3070           Thou shalt not free a structure and then continue using it
3071           in the next loop iteration.
3072
3073         * check/gst/gstcaps.c: (check_fourcc_list), (test_simplify),
3074         (gst_caps_suite):
3075           Add test case for caps simplification.
3076
3077 2005-09-29  Wim Taymans  <wim@fluendo.com>
3078
3079         * check/gst/gstbin.c: (GST_START_TEST):
3080         Oops.
3081
3082 2005-09-29  Wim Taymans  <wim@fluendo.com>
3083
3084         * check/gst/gstbin.c: (GST_START_TEST):
3085         Add bus to bin.
3086
3087         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
3088         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
3089         (find_element), (gst_bin_sort_iterator_next),
3090         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
3091         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
3092         (gst_bin_change_state), (gst_bin_dispose):
3093         A bin does not have a bus, it gets the bus from the parent.
3094
3095         * gst/gstelement.c: (gst_element_requires_clock),
3096         (gst_element_provides_clock), (gst_element_is_indexable),
3097         (gst_element_is_locked_state), (gst_element_change_state),
3098         (gst_element_set_bus_func):
3099         Small cleanups.
3100
3101         * gst/gstpipeline.c: (gst_pipeline_class_init),
3102         (gst_pipeline_init), (gst_pipeline_provide_clock_func):
3103         The pipeline provides a bus.
3104
3105 2005-09-28  Johan Dahlin  <johan@gnome.org>
3106
3107         * gst/gstmessage.c (gst_message_parse_state_changed): Use
3108         gst_structure_get_enum instead of gst_structure_get_int
3109
3110         * gst/gststructure.c (gst_structure_get_enum): Impl.
3111
3112         * gst/gststructure.h (gst_structure_get_enum): Add
3113
3114         * docs/gst/gstreamer-sections.txt: Ditto
3115
3116         * gst/gstmessage.c (gst_message_new_state_changed): Use
3117         GST_TYPE_STATE instead of G_TYPE_INT, mainly for language bindings
3118         which does introspection.
3119         Reviewed by Christian Schaller
3120
3121 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
3122
3123         * gst/gstinfo.c: (gst_debug_log_default):
3124           don't do dummy g_strdup()s
3125         * libs/gst/controller/gstcontroller.c:
3126         (on_object_controlled_property_changed),
3127         (gst_controlled_property_new), (gst_controller_new_valist),
3128         (gst_controller_new_list),
3129         (gst_controller_remove_properties_valist), (gst_controller_set),
3130         (gst_controller_get), (gst_controller_sync_values),
3131         (gst_controller_get_value_array), (_gst_controller_class_init),
3132         (gst_controller_get_type):
3133         * libs/gst/controller/gstcontroller.h:
3134         * libs/gst/controller/gstinterpolation.c:
3135         (gst_controlled_property_find_timed_value_node):
3136           convert // to /**/ comments
3137
3138 2005-09-28  Wim Taymans  <wim@fluendo.com>
3139
3140         * gst/gstbus.c: (marshal_VOID__MINIOBJECT), (gst_bus_class_init),
3141         (gst_bus_post), (poll_func), (gst_bus_async_signal_func),
3142         (gst_bus_sync_signal_handler):
3143         * gst/gstbus.h:
3144         Added async-message and sync-message signals to the bus.
3145         Added helper BusFunc to emit signals for all posted messages.
3146
3147         * gst/gstmessage.c: (gst_message_type_get_name),
3148         (gst_message_type_to_quark), (gst_message_get_type):
3149         * gst/gstmessage.h:
3150         Register quarks for message names.
3151
3152 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
3153
3154         * docs/libs/gstreamer-libs-sections.txt:
3155         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
3156         (gst_controller_new_list):
3157         * libs/gst/controller/gstcontroller.h:
3158           added another constructor for language bindings
3159
3160 2005-09-28  Thomas Vander Stichele  <thomas at apestaart dot org>
3161
3162         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
3163           add another check
3164         * gst/gstbus.c:
3165           add some doc
3166         * gst/gstinfo.c: (_gst_debug_init):
3167           slightly more readable color for refcount debugging
3168
3169 2005-09-28  Wim Taymans  <wim@fluendo.com>
3170
3171         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
3172         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
3173         (find_element), (gst_bin_sort_iterator_next),
3174         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
3175         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
3176         (gst_bin_change_state), (gst_bin_dispose):
3177         Small doc fixes. get_clock -> provide_clock.
3178
3179         * gst/gstelement.c: (gst_element_class_init),
3180         (gst_element_provides_clock), (gst_element_provide_clock),
3181         (gst_element_get_clock), (gst_element_commit_state),
3182         (gst_element_lost_state):
3183         * gst/gstelement.h:
3184         Make get/set_clock() symetric. Add provide_clock vmethod since
3185         that is actually what this function does.
3186
3187         * gst/gstpipeline.c: (gst_pipeline_class_init),
3188         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func),
3189         (gst_pipeline_get_clock):
3190         get_clock -> provide_clock.
3191
3192 2005-09-28  Andy Wingo  <wingo@pobox.com>
3193
3194         * gst/base/gstbasesrc.c (gst_base_src_unlock): Comment a bit in
3195         lieu of real docs...
3196
3197         * gst/elements/gstfdsrc.c: Cleaned up a bit.
3198
3199 2005-09-28  Tim-Philipp Müller  <tim at centricular dot net>
3200
3201         * gst/elements/gstcapsfilter.c:
3202         * gst/elements/gstfakesink.c:
3203         * gst/elements/gstfakesrc.c:
3204         * gst/elements/gstfdsink.c:
3205         * gst/elements/gstfdsrc.c:
3206         * gst/elements/gstfilesink.c:
3207         * gst/elements/gstfilesrc.c:
3208         * gst/elements/gstidentity.c:
3209         * gst/elements/gsttee.c:
3210         * gst/elements/gsttypefindelement.c:
3211           Make element details static.
3212
3213 2005-09-28  Wim Taymans  <wim@fluendo.com>
3214
3215         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
3216         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
3217         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
3218         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
3219         (gst_bin_change_state), (gst_bin_dispose):
3220         Some documentation updates.
3221         Clean up dispose handlers.
3222
3223         * gst/gstobject.c: (gst_object_ref), (gst_object_unref):
3224         * gst/gstpad.c: (gst_pad_dispose):
3225         Clean up dispose handler.
3226
3227         * gst/gstpipeline.c: (gst_pipeline_change_state):
3228         Removed spurious UNLOCK.
3229
3230 2005-09-27  Stefan Kost  <ensonic@users.sf.net>
3231
3232         * docs/gst/gstreamer-sections.txt:
3233         * gst/base/gstbasesrc.h:
3234         * gst/gstelement.h:
3235         * gst/gstevent.h:
3236         * gst/gstobject.h:
3237         * gst/gstpad.h:
3238         * gst/gstpipeline.c:
3239         * gst/gstpipeline.h:
3240         * gst/gstutils.h:
3241         * gst/gstxml.h:
3242           added two new functions to the docs
3243                 documents all undocumented GstXXXFlags
3244                 completed some incomplete docs 
3245
3246 2005-09-27  Thomas Vander Stichele  <thomas at apestaart dot org>
3247
3248         * gst/gstbin.c: (gst_bin_dispose):
3249         * gst/gstelement.c: (gst_element_dispose):
3250           remove now useless and leaky resurrection code in dispose
3251         * gst/base/gstbasesrc.c: (gst_base_src_init):
3252         * gst/gstelementfactory.c: (gst_element_factory_create):
3253         * gst/gstobject.c: (gst_object_set_parent):
3254           add some debugging
3255
3256 2005-09-27  Wim Taymans  <wim@fluendo.com>
3257
3258         * docs/design/part-TODO.txt:
3259         Update TODO.
3260
3261         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
3262         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
3263         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
3264         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
3265         (gst_bin_change_state):
3266         * gst/gstelement.h:
3267         Remove element variable, we keep element info in the iterator now.
3268
3269 2005-09-27  Andy Wingo  <wingo@pobox.com>
3270
3271         * libs/gst/dataprotocol/dataprotocol.c: Fix error-checking return
3272         values.
3273
3274 2005-09-27  Wim Taymans  <wim@fluendo.com>
3275
3276         * check/gst/gstbin.c: (GST_START_TEST):
3277         Enable check that works now.
3278
3279         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
3280         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
3281         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
3282         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
3283         (gst_bin_change_state):
3284         * gst/gstbin.h:
3285         Redid the state change algorithm using a topological sort algo.
3286         Handles all cases correctly.
3287         Exposed iterator for state change order.
3288
3289         * gst/gstelement.h:
3290         Temp storage for state changes. Need to get rid of this soon.
3291
3292 2005-09-27  Wim Taymans  <wim@fluendo.com>
3293
3294         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_do_push):
3295         * gst/gstutils.c: (intersect_caps_func), (gst_pad_proxy_getcaps),
3296         (link_fold_func), (gst_pad_proxy_setcaps):
3297         Leak fixes, the fold functions need to unref the passed object and
3298         _get_parent_*() returns ref to parent.
3299
3300 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
3301
3302         * check/gst/gstbuffer.c: (test_make_writable):
3303           Plug leak in test case and fix 'make check-valgrind'
3304
3305 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
3306
3307         * gst/gstbuffer.c: (gst_subbuffer_init):
3308           Set READONLY flag on subbuffers, so that gst_buffer_make_writable()
3309           works correctly in all circumstances (we could have just copied
3310           the parent buffer's readonly flag, but conceptually it seems
3311           cleaner to mark all subbuffers as read-only). (based on patch
3312           by Alessandro Decina, #314710).
3313         
3314         * check/gst/gstbuffer.c: (create_read_only_buffer),
3315         (test_make_writable), (test_subbuffer_make_writable),
3316         (gst_test_suite):
3317           Add some tests for gst_buffer_make_writable().
3318
3319 2005-09-27  Wim Taymans  <wim@fluendo.com>
3320
3321         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_change_state):
3322         use gst_object_has_ancestor().
3323
3324         * gst/gstobject.c: (gst_object_has_ancestor):
3325         * gst/gstobject.h:
3326         gst_object_has_ancestor() copied from gstbin.c as it is a
3327         usefull function.
3328
3329         * tests/instantiate/create.c: (create_all_elements):
3330         * tests/lat.c: (handoff_src), (handoff_sink):
3331         * tests/sched/runxml.c: (main):
3332         * tests/seeking/seeking1.c: (main):
3333         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
3334         (main):
3335         Fix compilation of some tests.
3336
3337 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
3338
3339         * gst/gsterror.h:
3340           Remove comment. GST_TYPE_G_ERROR is here to stay,
3341           G_TYPE_ERROR has been WONTFIX'ed by the GLib folks
3342           (#316961, #300610).
3343
3344 2005-09-26  Wim Taymans  <wim@fluendo.com>
3345
3346         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
3347         Added check that shows error in state change order.
3348
3349 2005-09-26  Wim Taymans  <wim@fluendo.com>
3350
3351         * gst/gstbin.c: (gst_bin_change_state):
3352         Make state change function use 3 queues again, we were
3353         adding elements in the wrong order.
3354
3355         * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
3356         Some debug info,
3357
3358         * gst/gstpad.c: (gst_pad_dispose):
3359         Added some debug info first.
3360
3361 2005-09-26  Tim-Philipp Müller  <tim at centricular dot net>
3362
3363         * docs/design/draft-push-pull.txt:
3364         * docs/design/part-events.txt:
3365         * docs/design/part-overview.txt:
3366         * docs/design/part-scheduling.txt:
3367           Replace all _pull_region() with _pull_range()
3368           
3369 2005-09-26  Andy Wingo  <wingo@pobox.com>
3370
3371         * gst/gstvalue.c (_gst_value_initialize): Better fakeout.
3372
3373         * check/gst-libs/controller.c: Update for controller api change.
3374
3375         * configure.ac: 
3376         * tests/Makefile.am:
3377         * tests/memchunk: Remove memchunk benchmark stuff, this is taken
3378         over by GLib bug 118439.
3379         
3380         * gst/base/gstbasesink.c (gst_base_sink_wait): Factor out the wait
3381         routines to a function.
3382
3383         * docs/libs/gstreamer-libs-sections.txt: I am a good person today.
3384
3385         * libs/gst/controller/gsthelper.c:
3386         * libs/gst/controller/gstcontroller.h (gst_controller_sync_values)
3387         (gst_object_sync_values): Renamed from sink_values. Ugh.
3388
3389         * libs/gst/controller/gsthelper.c: Update for __gst_controller_key.
3390
3391         * libs/gst/controller/gstcontroller.c (__gst_controller_key):
3392         Renamed from controller_key, as it is exported.
3393
3394         * gst/gstvalue.c (_gst_value_initialize): Fake out the compiler.
3395
3396 2005-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>
3397
3398         * gst/Makefile.am:
3399         * gst/gst.h:
3400         * gst/gstpad.h:
3401         * gst/gstpadtemplate.h:
3402         * gst/gstquery.c:
3403         * gst/gstquery.h:
3404         * gst/gstqueryutils.c:
3405         * gst/gstqueryutils.h:
3406           remove queryutils headers after moving the two used functions
3407           to gstquery.  also fixes build problem for gstsiddec
3408
3409 2005-09-26  Michael Smith <msmith@fluendo.com>
3410
3411         * tools/gst-launch.1.in:
3412         Correct documentation in manpage of debug syntax
3413
3414 2005-09-26  Wim Taymans  <wim@fluendo.com>
3415
3416         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
3417         (gst_base_src_is_seekable), (gst_base_src_change_state):
3418         Some more debugging info.
3419
3420 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
3421
3422         * docs/gst/gstreamer-sections.txt:
3423         * gst/base/gstbasetransform.h:
3424         * gst/gstindex.h:
3425           added more docs
3426
3427 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
3428
3429         * docs/gst/.cvsignore:
3430         * docs/gst/tmpl/.cvsignore:
3431         * docs/gst/tmpl/gstpipeline.sgml:
3432         * docs/gst/tmpl/gstplugin.sgml:
3433         * gst/gstpipeline.c:
3434         * gst/gstplugin.c:
3435         * gst/gstplugin.h:
3436           inlined the last two docs files
3437           removed the tmpl directory from cvs (no more conflicts here!)
3438
3439 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
3440
3441         * docs/gst/gstreamer-sections.txt:
3442         * docs/gst/tmpl/.cvsignore:
3443         * docs/gst/tmpl/gstpad.sgml:
3444         * docs/gst/tmpl/gstpadtemplate.sgml:
3445         * gst/Makefile.am:
3446         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
3447         (gst_pad_finalize), (gst_pad_set_pad_template):
3448         * gst/gstpad.h:
3449         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
3450         (gst_pad_template_class_init), (gst_pad_template_init),
3451         (gst_pad_template_dispose), (name_is_valid),
3452         (gst_static_pad_template_get), (gst_pad_template_new),
3453         (gst_static_pad_template_get_caps), (gst_pad_template_get_caps),
3454         (gst_pad_template_pad_created):
3455         * gst/gstpadtemplate.h:
3456           inlined two more docs
3457           factored gstpadtemplate out of gstpad
3458
3459 2005-09-24  Tim-Philipp Müller  <tim at centricular dot net>
3460
3461         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
3462         (test_children_state_change_order_semi_sink):
3463           Fix test case: we can't rely on a fixed state change order when
3464           going from READY => PAUSED because the sink might commit its 
3465           new state first when the first buffer created by the source 
3466           reaches the sink before the source has finished its change state.
3467           (Test case still fails at times, see #316856, comment 5 onwards)
3468
3469 2005-09-24  Wim Taymans  <wim@fluendo.com>
3470
3471         * docs/design/part-events.txt:
3472         * docs/design/part-gstbus.txt:
3473         * docs/design/part-gstpipeline.txt:
3474         * docs/design/part-messages.txt:
3475         * docs/design/part-overview.txt:
3476         * docs/design/part-segments.txt:
3477         * gst/gstbin.c:
3478         * gst/gstbuffer.c:
3479         * gst/gstclock.c:
3480         * gst/gstelement.c:
3481         * gst/gstevent.c:
3482         * gst/gstfilter.c:
3483         * gst/gstiterator.c:
3484         Various documentation updates.
3485
3486 2005-09-24  Thomas Vander Stichele  <thomas at apestaart dot org>
3487
3488         * gst/gstclock.h:
3489           Well, that's embarassing.  Luckily we weren't using
3490           GST_CLOCK_DIFF anywhere.
3491
3492 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
3493
3494         * common/gtk-doc.mak:
3495           don't fail on building XML, FC4 slave shows a bunch of doc
3496           missing bits that I don't get
3497         * gst/gstpad.c:
3498         * gst/gstpipeline.c:
3499         * gst/gststructure.c:
3500           some doc updates
3501
3502 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
3503
3504         * docs/design/part-gstbin.txt:
3505         * docs/design/part-gstbus.txt:
3506         * gst/gstbus.c:
3507           Add blurb about how the bus goes into flushing mode and
3508           drops all messages when its bin goes from READY into NULL 
3509           state.
3510
3511 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
3512
3513         * docs/gst/gstreamer-sections.txt:
3514         * gst/gststructure.c: (gst_structure_get_clock_time):
3515         * gst/gststructure.h:
3516           add a method to get a GstClockTime out of a structure
3517
3518 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
3519
3520         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
3521         (test_children_state_change_order_semi_sink), (gst_bin_suite):
3522           Added test to check state change order in bins (can still be made
3523           to fail here under heavy disk load; bails out with 'Push on pad
3524           fakesink:sink0, but it was not activated in push mode').
3525
3526         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_change_state):
3527           Fix state change order when there is only a semi sink (#316856)
3528
3529         * gst/gstbus.c: (gst_bus_class_init):
3530           Use _class_peek_parent(), not _class_ref(); fix docs to say
3531           'default main context' instead of 'mainloop' where that is
3532           what's meant.
3533
3534         * gst/gstelement.c: (gst_element_commit_state),
3535         (gst_element_set_state):
3536           Fix typos in debug messages
3537
3538 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
3539
3540         * docs/README:
3541         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_chain):
3542         * gst/gstpluginfeature.c:
3543         * gst/gstutils.c:
3544           various doc updates
3545         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
3546           change an assert into an error until it gets fixed properly
3547
3548 2005-09-23  Stefan Kost  <ensonic@users.sf.net>
3549
3550         * docs/gst/gstreamer-sections.txt:
3551         * docs/gst/tmpl/.cvsignore:
3552         * docs/gst/tmpl/gstelement.sgml:
3553         * docs/gst/tmpl/gstinfo.sgml:
3554         * docs/gst/tmpl/gstobject.sgml:
3555         * gst/gstelement.c:
3556         * gst/gstelement.h:
3557         * gst/gstinfo.c:
3558         * gst/gstinfo.h:
3559         * gst/gstobject.c: (gst_object_class_init):
3560         * gst/gstobject.h:
3561           inlined 3 more biiiig doc files and added some missing docs on the fly
3562
3563 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
3564
3565         * check/gst/.cvsignore:
3566         * check/gst/gstplugin.c: (GST_START_TEST), (gst_plugin_suite):
3567         * gst/gstregistryxml.c: (load_plugin),
3568         (gst_registry_xml_save_plugin):
3569           put back source in registry.  add checks for find_plugin.
3570         * testsuite/states/bin.c: (assert_state), (empty_bin),
3571         (test_adding_one_element), (main):
3572         * testsuite/states/locked.c: (main):
3573           some compile/run fixes
3574
3575 2005-09-22  Thomas Vander Stichele  <thomas at apestaart dot org>
3576
3577         * check/gst/gstvalue.c: (GST_START_TEST):
3578           fix leaks in the test itself
3579
3580 2005-09-22  Wim Taymans  <wim@fluendo.com>
3581
3582         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
3583         (gst_base_sink_send_event), (gst_base_sink_peer_query),
3584         (gst_base_sink_query):
3585         Prepare for more accurate position reporting and query
3586         handling.
3587
3588         * gst/gstelement.c: (gst_element_send_event),
3589         (gst_element_set_state):
3590         Add some comment.
3591
3592 2005-09-22  Wim Taymans  <wim@fluendo.com>
3593
3594         * gst/gstquery.c: (gst_query_new_segment), (gst_query_set_segment),
3595         (gst_query_parse_segment):
3596         * gst/gstquery.h:
3597         More documentation.
3598         Add segment query for future use.
3599
3600 2005-09-22  Wim Taymans  <wim@fluendo.com>
3601
3602         * gst/gstbin.c: (gst_bin_add_func):
3603         Some more debug info.
3604
3605         * gst/gstelement.c: (gst_element_send_event):
3606         Simplify send_event
3607
3608         * gst/gstelement.h:
3609         Don't know how flags got broken.
3610
3611         * gst/gstquery.h:
3612         Added new query.
3613
3614 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
3615
3616         * check/gst/gstvalue.c: (test_date), (gst_value_suite):
3617           Add simplistic test suite for GST_TYPE_DATE serialisation and
3618           deserialisation.
3619
3620 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
3621
3622         * docs/gst/gstreamer-sections.txt:
3623         * gst/gststructure.c: (gst_structure_set_valist),
3624         (gst_structure_get_date):
3625         * gst/gststructure.h:
3626         * gst/gstvalue.c: (gst_value_set_date), (gst_value_get_date),
3627         (gst_date_copy), (gst_value_compare_date),
3628         (gst_value_serialize_date), (gst_value_deserialize_date),
3629         (gst_value_transform_date_string),
3630         (gst_value_transform_string_date), (_gst_value_initialize):
3631         * gst/gstvalue.h:
3632           Add GST_TYPE_DATE, a boxed type that wraps GDate, and the usual
3633           bunch of utility functions along with a hack that checks that
3634           developers don't accidentally use G_TYPE_DATE where GST_TYPE_DATE
3635           is required. Part of the grand scheme in #170777.
3636
3637 2005-09-22  Andy Wingo  <wingo@pobox.com>
3638
3639         * gst/gstconfig.h.in: Psych out gtk-doc.
3640
3641         * docs/gst/gstreamer-sections.txt: Add GST_HAVE_GLIB_2_8.
3642
3643         * check/Makefile.am (check_PROGRAMS): Add gstplugin to the tests.
3644
3645         * tools/gst-inspect.c (print_element_list): Plug some
3646         inconsequential leaks.
3647
3648         * gst/gstregistry.c (gst_registry_get_default): Doc.
3649
3650         * check/gst/gstplugin.c: 
3651         * gst/gsttypefindfactory.c (gst_type_find_factory_call_function):
3652         * gst/gstelementfactory.c (gst_element_factory_create): 
3653         * gst/gstindexfactory.c (gst_index_factory_create): Update for
3654         refcount changes.
3655
3656         * gst/gstpluginfeature.c (gst_plugin_feature_list_free): Doc.
3657         (gst_plugin_feature_load): Doc, don't eat refs.
3658
3659         * gst/gstplugin.c (gst_plugin_load): Doc, don't eat refs.
3660         (gst_plugin_list_free): Doc.
3661         (gst_plugin_load_file): Doc updates.
3662
3663         * gst/gstbuffer.c (gst_buffer_get_caps): Like all our _get
3664         accessors returning refcounted objects, return a ref.
3665
3666         * check/gst/gstbuffer.c (GST_START_TEST): Use refcount-idempotent
3667         accessor for caps. IDEMPOTENCE. Oh yes.
3668
3669 2005-09-21  Francis Labonte  <francis_labonte at hotmail dot com>
3670
3671         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
3672
3673         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
3674         (_gst_debug_register_funcptr):
3675           Add mutex to serialise access to the hash table with
3676           the function pointer => function name string mapping;
3677           make that hash table static scope (#316809).
3678
3679         * gst/registries/.cvsignore:
3680           Remove left-over file.
3681
3682 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
3683
3684         * docs/pwg/appendix-porting.xml:
3685           And something about newsegment events and caps-on-buffers to
3686           the porting guide (feel free to improve).
3687
3688 2005-09-21  Andy Wingo  <wingo@pobox.com>
3689
3690         * check/gst/gstutils.c (test_buffer_probe_n_times): Add tests for
3691         data and event probes on the same pad.
3692         (test_buffer_probe_once): Test that removing probes from within
3693         the probe functions works.
3694
3695 2005-09-21  Andy Wingo  <wingo@pobox.com>
3696
3697         * check/gst/gstutils.c: New file.
3698         (test_buffer_probe_n_times): A simple buffer probe test. More to
3699         come, foolios.
3700
3701         * gst/gstutils.c (gst_pad_add_buffer_probe): Connect to
3702         have-data::buffer, not have-data.
3703         (gst_pad_add_event_probe): Likewise for have-data::event.
3704         (gst_pad_add_data_probe): More docs. The part about 'resolving the
3705         peer' isn't quite right yet though.
3706         (gst_pad_remove_buffer_probe, gst_pad_remove_event_probe) 
3707         (gst_pad_remove_data_probe): Change to take the guint handler_id
3708         as their arg, not the function+data, which is more glib-like.
3709
3710         * gst/gstpad.c (gst_pad_emit_have_data_signal): Add a detail to
3711         the signal emission to indicate if the data is a buffer or an
3712         event.
3713         (gst_pad_get_type): Initialize buffer and event quarks.
3714         (gst_pad_class_init): have-data is now a detailed signal, yes it
3715         is.
3716
3717 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
3718
3719         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
3720         * gst/gstutils.c: (gst_util_set_value_from_string),
3721         (gst_util_set_object_arg):
3722           Don't put functional code in g_return_if_fail() or
3723           g_return_val_if_fail() statements, otherwise things will 
3724           break when G_DISABLE_CHECKS is defined during compilation.
3725
3726 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
3727
3728         * docs/gst/tmpl/.cvsignore:
3729         * docs/gst/tmpl/gstvalue.sgml:
3730         * gst/gstvalue.c:
3731         * gst/gstvalue.h:
3732           inlied another one and added  some obvious docs
3733
3734 2005-09-21  Wim Taymans  <wim@fluendo.com>
3735
3736         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
3737         (gst_fdsrc_init), (gst_fdsrc_start), (gst_fdsrc_stop),
3738         (gst_fdsrc_unlock), (gst_fdsrc_set_property),
3739         (gst_fdsrc_get_property), (gst_fdsrc_create):
3740         * gst/elements/gstfdsrc.h:
3741         Properly implement fdsrc. Removed signal and timeout,
3742         better implemented somewhere else.
3743
3744 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
3745
3746         * docs/gst/tmpl/.cvsignore:
3747         * docs/gst/tmpl/gstimplementsinterface.sgml:
3748         * gst/gstinterface.c:
3749           inlined more docs
3750
3751 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
3752
3753         * docs/gst/gstreamer-sections.txt:
3754         * docs/gst/tmpl/.cvsignore:
3755         * docs/gst/tmpl/gstenumtypes.sgml:
3756           remove obsolete doc file
3757
3758 2005-09-21  David Schleef  <ds@schleef.org>
3759
3760         * gst/gstelementfactory.c: (gst_element_factory_make): Drink a
3761         little beer, fix a little leak.
3762
3763 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
3764
3765         * docs/gst/gstreamer-docs.sgml:
3766         * docs/gst/gstreamer-sections.txt:
3767         * docs/gst/tmpl/.cvsignore:
3768         * gst/Makefile.am:
3769         * gst/gst.h:
3770         * gst/gstbin.c:
3771         * gst/gstelement.h:
3772         * gst/gstindex.c: (gst_index_class_init):
3773         * gst/gstindex.h:
3774         * gst/gstindexfactory.c: (gst_index_factory_get_type),
3775         (gst_index_factory_class_init), (gst_index_factory_init),
3776         (gst_index_factory_finalize), (gst_index_factory_new),
3777         (gst_index_factory_destroy), (gst_index_factory_find),
3778         (gst_index_factory_create), (gst_index_factory_make):
3779         * gst/gstindexfactory.h:
3780         * gst/gstpluginfeature.c:
3781         * gst/gstpluginfeature.h:
3782         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
3783           more docs inlined, splitted gstindex.{c,h}
3784
3785 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
3786
3787         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
3788           fix a leak
3789
3790 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
3791
3792         * gst/elements/gstfilesink.c: (gst_file_sink_init):
3793           Set sync to FALSE by default.
3794
3795 2005-09-20  Wim Taymans  <wim@fluendo.com>
3796
3797         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
3798         (gst_base_sink_init):
3799         Make sync property settable from subclass.
3800
3801         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
3802         (gst_fake_sink_change_state):
3803         Set sync to FALSE by default.
3804
3805 2005-09-20  Wim Taymans  <wim@fluendo.com>
3806
3807         * gst/gstbus.c: (poll_func), (poll_timeout), (gst_bus_poll):
3808         * tools/gst-launch.c: (main):
3809         The timeout handler should have lower priority than the source
3810         so we don't timeout before popping a message with 0 timeout.
3811         Dump error messages after failed state change.
3812
3813 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
3814
3815         * tools/gst-inspect.c: (print_element_properties_info):
3816           Fix two typos.
3817
3818 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
3819
3820         * check/gst/gstevent.c:
3821         * gst/elements/gstfakesink.c:
3822         * gst/elements/gstfakesink.h:
3823           remove the sync property from fakesink.
3824           has the side effect of setting sync TRUE
3825           for fakesink, which is a change.  Anyone who knows how
3826           to fix this nicely in a GObject-y way, feel free.
3827
3828 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
3829
3830         * docs/gst/gstreamer-docs.sgml:
3831           remove probe refsection
3832
3833 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
3834
3835         * check/Makefile.am:
3836           disable valgrinding the controller test again
3837         * docs/gst/gstreamer-sections.txt:
3838           update for api-changes
3839
3840 2005-09-20  Wim Taymans  <wim@fluendo.com>
3841
3842         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
3843         (gst_base_sink_set_property), (gst_base_sink_get_property),
3844         (gst_base_sink_do_sync):
3845         * gst/base/gstbasesink.h:
3846         Added sync property to basesink to disable clock sync.
3847
3848 2005-09-20  Andy Wingo  <wingo@pobox.com>
3849
3850         * gst/gstelementfactory.c (gst_element_factory_create): Avoid
3851         eating the caller's refcount.
3852
3853         * gst/gstobject.h (GST_OBJECT_REFCOUNT) 
3854         (GST_OBJECT_REFCOUNT_VALUE): Conditionally fondle the right
3855         refcount.
3856
3857         * gst/gstconfig.h.in (GST_HAVE_GLIB_2_8):
3858         * configure.ac (GST_HAVE_GLIB_2_8_DEFINE): Make the availability
3859         of GLib 2.8 public, so we can know which refcount to check in
3860         tests.
3861
3862         * gst/gstobject.c: Use the GST_HAVE_GLIB_2_8 define.
3863         (gst_object_init): Only set the gst refcount if we're going ahead
3864         with the refcount hack.
3865
3866 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
3867
3868         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
3869         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
3870           more leaks plumbed, added more debug-logging
3871         * gst/gstmacros.h:
3872           whitespace fix
3873
3874 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
3875
3876         * gst/gstmessage.c:
3877           remove include of gstmemchunk.h
3878
3879 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
3880
3881         * gst/gstclock.c: (_gst_clock_id_free):
3882           Commit from the Political Party For More Atomic CVS Commits,
3883           so that people don't waste too much of their day fishing
3884           out obvious leaks out of massive commits.
3885           Oh, and fix a pretty damn obvious leak in the memchunk
3886           removal code.
3887
3888 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
3889
3890         * check/Makefile.am:
3891         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
3892           plug mem-leak, re-add to valgrindable tests
3893
3894 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
3895
3896         * gst/gstplugin.h:
3897           unbreak the build for those who have chronic arthritis
3898           and typing "make check" is just too taxing on the hands
3899
3900 2005-09-20  Andy Wingo  <wingo@pobox.com>
3901
3902         * gst/gst.h: Re-add marshal to gst.h's include list -- if we
3903         really want it out, you should fix plugins at the same time.
3904
3905 2005-09-19  Stefan Kost  <ensonic@users.sf.net>
3906
3907         * configure.ac:
3908         * docs/gst/gstreamer-sections.txt:
3909         * gst/gstobject.c:
3910           added missing symbols to api docs
3911           disable ref-count hack if we have glib >= 2.8
3912
3913 2005-09-19  David Schleef  <ds@schleef.org>
3914
3915         * docs/gst/Makefile.am: Ignore a few more internal headers
3916         * docs/gst/gstreamer-docs.sgml: Remove old sections
3917         * docs/gst/gstreamer-sections.txt: Remove old sections
3918         * docs/gst/tmpl/gstobject.sgml: update
3919         * docs/gst/tmpl/gstplugin.sgml: update
3920         * docs/gst/tmpl/gstpluginfeature.sgml: update
3921         * docs/random/ds/0.9-suggested-changes: update.
3922         * gst/Makefile.am: remove memchunk and trashstack, since they're
3923           not used.
3924         * gst/gst.c: (gst_deinit): rename gst_registry_deinit to _cleanup
3925         * gst/gst.h: don't include some headers
3926         * gst/gstchildproxy.c: add gstmarshal.h
3927         * gst/gstclock.c: Don't use memchunks
3928         * gst/gstminiobject.c: Add some docs
3929         * gst/gstobject.c: remove DESTROYED flag, since it's redundant
3930         * gst/gstobject.h: same
3931         * gst/gstplugin.c: include gstmacros.h
3932         * gst/gstplugin.h: don't include gstmacros.h, since it's private
3933         * gst/gstquery.c: don't use memchunks
3934         * gst/gstregistry.c: rename gst_registry_deinit()
3935         * gst/gstregistry.h: same
3936
3937 2005-09-19  David Schleef  <ds@schleef.org>
3938
3939         * docs/libs/gstreamer-libs-docs.sgml: Remove docs for getbits
3940         * docs/libs/gstreamer-libs-sections.txt:
3941         * docs/libs/tmpl/gstgetbits.sgml:
3942         * docs/libs/tmpl/gstputbits.sgml:
3943
3944 2005-09-19  Tim-Philipp Müller  <tim at centricular dot net>
3945
3946         * win32/gstenumtypes.c:
3947         * win32/gstenumtypes.h:
3948           Update.
3949
3950 2005-09-19  Wim Taymans  <wim@fluendo.com>
3951
3952         * gst/gstpipeline.c: (do_pipeline_seek), (gst_pipeline_send_event):
3953         Automatically PAUSE and RESUME a pipeline when a flushing seek
3954         is performed.
3955
3956 2005-09-19  Andy Wingo  <wingo@pobox.com>
3957
3958         * gst/gstregistry.h: Spacing fixen.
3959
3960 2005-09-19  Wim Taymans  <wim@fluendo.com>
3961
3962         * gst/base/gstbasesrc.c: (gst_base_src_change_state):
3963         Handle state change failure more correctly.
3964
3965 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
3966
3967         * check/Makefile.am:
3968         * check/pipelines/cleanup.c: (run_pipeline):
3969         * check/pipelines/simple_launch_lines.c: (run_pipeline),
3970         (GST_START_TEST):
3971           enable cleanup again after fixing the leak
3972         * docs/README:
3973           some more info on docs
3974
3975 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
3976
3977         * check/Makefile.am:
3978           re-enable tests now that leaks are plugged
3979         * check/gst/gst.c:
3980         * check/gst/gstbin.c:
3981         * check/gst/gstpipeline.c:
3982           add some more tests while fixing leaks
3983         * common/check.mak:
3984           make sure binaries are uptodate when valgrinding/gdbing
3985         * gst/gst.c:
3986         * gst/gstelementfactory.c:
3987           remove a ref too many, and add a FIXME for when we get
3988           round to disposing of classes
3989         * gst/gstplugin.c:
3990           fix the refcounting when loading a plugin from a file and
3991           the code pretends that the pointer is the same even though
3992           of course it can change
3993         * gst/gstpluginfeature.c:
3994           unref plugins marked cached (a bit confusing as a name)
3995           as the docs state should be done
3996           various doc additions to explain refcounting
3997         * gst/gstregistry.c:
3998         * gst/gstregistryxml.c:
3999           debugging
4000
4001 2005-09-19  Wim Taymans  <wim@fluendo.com>
4002
4003         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
4004         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
4005         (send_messages), (GST_START_TEST), (gstbus_suite):
4006         * check/gst/gstpipeline.c: (GST_START_TEST):
4007         * check/pipelines/cleanup.c: (run_pipeline):
4008         * check/pipelines/simple_launch_lines.c: (run_pipeline),
4009         (GST_START_TEST):
4010         * gst/gstbus.c: (gst_bus_have_pending), (gst_bus_source_prepare),
4011         (gst_bus_source_check), (gst_bus_source_dispatch),
4012         (gst_bus_create_watch), (gst_bus_add_watch_full),
4013         (gst_bus_add_watch), (poll_func), (poll_timeout), (gst_bus_poll):
4014         * gst/gstbus.h:
4015         * tools/gst-launch.c: (event_loop):
4016         * tools/gst-md5sum.c: (event_loop):
4017         GstBusHandler -> GstBusFunc, return value has the same meaning as
4018         any other GSource (FALSE == remove source).
4019         _add_watch() and _add_watch_full() now take a MessageType mask to
4020         only handle specific types of messages.
4021         _poll() returns the GstMessage instead of the message type to avoid
4022         race conditions.
4023         _have_pending() takes a MessageType mask now too.
4024         Added testsuite for multiple bus watches.
4025         Fix testsuites and applications for new bus API.
4026
4027 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
4028
4029         * check/Makefile.am:
4030           mark a bunch of the tests as to fix until we fix them
4031
4032 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
4033
4034         * common/check.mak:
4035           use GST_PLUGIN settings for valgrind tests as well, so we're
4036           valgrinding the correct thing
4037         * gst/gst.c: (init_post):
4038           plug another leak
4039
4040 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
4041
4042         * gst/gst.c: (init_post), (gst_deinit):
4043         * gst/gstelementfactory.c: (gst_element_factory_class_init),
4044         (gst_element_factory_finalize), (gst_element_factory_cleanup):
4045         * gst/gstindex.c: (gst_index_factory_class_init),
4046         (gst_index_factory_finalize):
4047         * gst/gstobject.c: (gst_object_dispose):
4048         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
4049         (gst_plugin_load_file), (gst_plugin_desc_free):
4050         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init),
4051         (gst_plugin_feature_finalize):
4052         * gst/gstregistry.c: (gst_registry_class_init),
4053         (gst_registry_init), (gst_registry_finalize),
4054         (gst_registry_get_default), (gst_registry_deinit):
4055         * gst/gstregistry.h:
4056         * gst/gstregistryxml.c: (load_feature), (load_plugin):
4057           various cleanups and memleak plugging.  make valgrind is happy now.
4058
4059 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
4060
4061         * common/check.mak:
4062           add a check-valgrind target
4063
4064 2005-09-18  David Schleef  <ds@schleef.org>
4065
4066         * tools/gst-inspect.c: Revert the GOption code.
4067
4068 2005-09-17  David Schleef  <ds@schleef.org>
4069
4070         * check/Makefile.am: Fix environment variables.
4071         * check/gst/gstplugin.c: Fix for API changes.
4072         * tools/gst-inspect.c: Fix for API changes.
4073         * tools/gst-xmlinspect.c: Fix for API changes.
4074         * gst/gstelementfactory.c:
4075         * gst/gstplugin.c:
4076         * gst/gstplugin.h:
4077         * gst/gstpluginfeature.c:
4078         * gst/gstpluginfeature.h:
4079         * gst/gstregistry.c:
4080         * gst/gstregistry.h:
4081         * gst/gstregistryxml.c:
4082         * gst/gsttypefind.c:
4083         * gst/gsttypefindfactory.c:
4084         * gst/indexers/gstfileindex.c:
4085         * gst/indexers/gstmemindex.c:
4086         * gst/schedulers/Makefile.am:
4087           Change registry to keep track of both plugins and features,
4088           removing the feature tracking from plugins themselves.
4089
4090 2005-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
4091
4092         * check/Makefile.am:
4093         * tools/gst-register.1.in:
4094           remove gst-register
4095
4096 2005-09-15  David Schleef  <ds@schleef.org>
4097
4098         * check/gst/gstplugin.c:
4099         * gst/gstelementfactory.c:
4100         * gst/gstplugin.c:
4101         * gst/gstpluginfeature.c:
4102         * gst/gstregistry.c:
4103           Getting tired of debugging.  Disabled all the unreffing of
4104           plugins and features, which fixes the segfaults, but of
4105           course leaks like crazy.  At least playbin works.
4106
4107 2005-09-15  David Schleef  <ds@schleef.org>
4108
4109         * check/gst/gstplugin.c: (register_check_elements),
4110         (GST_START_TEST), (peek), (suggest), (gst_plugin_suite):
4111         More testing
4112         * gst/elements/gsttypefindelement.c: Fix refcounting.
4113         * gst/gsttypefind.c:
4114         * gst/gsttypefindfactory.c:
4115         * gst/gsttypefindfactory.h:
4116
4117 2005-09-15  David Schleef  <ds@schleef.org>
4118
4119         * gst/gstindex.c: get refcounting correct.
4120         * gst/gstregistry.c: Handle the case where a feature/plugin is
4121           not found.
4122
4123 2005-09-15  David Schleef  <ds@schleef.org>
4124
4125         * check/Makefile.am:
4126         * check/gst/gstplugin.c: Add test
4127         * gst/gstplugin.c: Fix problems noticed by testsuite
4128         * gst/gstplugin.h:
4129         * gst/gstregistry.c: 
4130         * gst/gstregistry.h:
4131
4132 2005-09-15  David Schleef  <ds@schleef.org>
4133
4134         * gst/gstplugin.c: Implement semi-decent recounting and locking
4135           in plugins and plugin features.
4136         * gst/gstplugin.h:
4137         * gst/gstpluginfeature.c:
4138         * gst/gstpluginfeature.h:
4139         * gst/gstregistry.c:
4140
4141 2005-09-15  Michael Smith <msmith@fluendo.com>
4142
4143         * gst/gstregistry.c: (gst_registry_get_feature_list):
4144           Implement this. Makes oggdemux work; decodebin still broken.
4145
4146 2005-09-14  David Schleef  <ds@schleef.org>
4147
4148         * configure.ac: Add -no-undefined to GST_PLUGIN_LDFLAGS (bug
4149           #316076)
4150         * gst/base/Makefile.am: Add -no-undefined to LDFLAGS for libs
4151         * gst/check/Makefile.am:
4152         * libs/gst/controller/Makefile.am:
4153         * libs/gst/dataprotocol/Makefile.am:
4154
4155 2005-09-14  David Schleef  <ds@schleef.org>
4156
4157         * configure.ac: Remove getbits library.  Nothing uses it, and
4158           it should be in something like liboil if someone did want
4159           to use it.
4160         * libs/gst/Makefile.am:
4161         * libs/gst/getbits/Makefile.am:
4162         * libs/gst/getbits/gbtest.c:
4163         * libs/gst/getbits/getbits.c:
4164         * libs/gst/getbits/getbits.h:
4165         * libs/gst/getbits/gstgetbits_generic.c:
4166         * libs/gst/getbits/gstgetbits_i386.s:
4167         * libs/gst/getbits/gstgetbits_inl.h:
4168
4169 2005-09-14  David Schleef  <ds@schleef.org>
4170
4171         * gst/Makefile.am: Dist glib-compat.h
4172
4173 2005-09-14  David Schleef  <ds@schleef.org>
4174
4175         * configure.ac: Remove gst/registries, since it's no longer used.
4176         * gst/registries/Makefile.am:
4177         * gst/registries/gstlibxmlregistry.c:
4178         * gst/registries/gstlibxmlregistry.h:
4179         * gst/registries/gstxmlregistry.c:
4180         * gst/registries/gstxmlregistry.h:
4181         * gst/registries/registrytest.c:
4182
4183 2005-09-14  David Schleef  <ds@schleef.org>
4184
4185         * gst/glib-compat.h:
4186         * gst/gstregistryxml.c:
4187           Convergence is near.  Seriously.
4188
4189 2005-09-14  David Schleef  <ds@schleef.org>
4190
4191         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
4192         * gst/glib-compat.h:
4193           Attempt #4 to appease the buildbots.
4194
4195 2005-09-14  David Schleef  <ds@schleef.org>
4196
4197         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
4198           Attempt #3.
4199
4200 2005-09-14  David Schleef  <ds@schleef.org>
4201
4202         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
4203         Attempt #2.
4204
4205 2005-09-14  David Schleef  <ds@schleef.org>
4206
4207         * gst/Makefile.am: Oh yeah, libgstreamer.so needs to contain
4208           the new functions.
4209
4210 2005-09-14  David Schleef  <ds@schleef.org>
4211
4212         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
4213         * gst/glib-compat.h: Add some functions that are in newer versions
4214           of glib than we care to require.
4215         * gst/gstregistryxml.c: Use them.
4216
4217 2005-09-14  David Schleef  <ds@schleef.org>
4218
4219         * po/POTFILES.in: remove gst-register.c
4220
4221 2005-09-14  David Schleef  <ds@schleef.org>
4222
4223         * docs/gst/gstreamer-docs.sgml:
4224         * docs/gst/gstreamer-sections.txt:
4225         * docs/gst/gstreamer.types:
4226         * docs/gst/tmpl/gstelement.sgml:
4227         * docs/gst/tmpl/gstplugin.sgml:
4228         * docs/gst/tmpl/gstpluginfeature.sgml:
4229           Documentation updates for registry changes.
4230
4231 2005-09-14  David Schleef  <ds@schleef.org>
4232
4233         * gst/gstregistryxml.c: Copy g_mkdir_with_parent() from glib,
4234           because we don't require glib-2.8.
4235
4236 2005-09-14  David Schleef  <ds@schleef.org>
4237
4238         * gst/gstregistryxml.c: Added.  Essentially moved out of the
4239           registries directory.
4240
4241 2005-09-14  David Schleef  <ds@schleef.org>
4242
4243         * check/Makefile.am:
4244         * check/generic/states.c:
4245         * gst/Makefile.am:
4246         * gst/gst.c:
4247         * gst/gst.h:
4248         * gst/gst_private.h:
4249         * gst/gstelementfactory.c:
4250         * gst/gstindex.c:
4251         * gst/gstinfo.c:
4252         * gst/gstplugin.c:
4253         * gst/gstplugin.h:
4254         * gst/gstpluginfeature.c:
4255         * gst/gstpluginfeature.h:
4256         * gst/gstregistry.c:
4257         * gst/gstregistry.h:
4258         * gst/gstregistrypool.c: remove
4259         * gst/gstregistrypool.h: remove
4260         * gst/gsttypefind.c:
4261         * gst/gsttypefindfactory.c:
4262         * gst/gsturi.c:
4263         * tools/Makefile.am:
4264         * tools/gst-compprep.c:
4265         * tools/gst-inspect.c:
4266         * tools/gst-register.c: remove
4267         * tools/gst-xmlinspect.c:
4268           Registry rewrite.  Changes registry from being a file created
4269           by a tool into a simple cache file created automatically by 
4270           libgstreamer.  Removed gst-register (because it's no longer
4271           needed).  Remove registry pools, because we only have one
4272           registry implementation (XML).  Fix up other subsystems as
4273           necessary.
4274
4275 2005-09-13  Michael Smith <msmith@fluendo.com>
4276
4277         * gst/gstconfig.h.in:
4278           Don't Use windows linking attributes for MinGW. Fixes #316157
4279
4280 2005-09-13  Thomas Vander Stichele  <thomas at apestaart dot org>
4281
4282         * gst/gstutils.c: (set_state_async_thread_func),
4283         (gst_element_set_state_async):
4284           Apparently people think it's better if this function doesn't
4285           try to set the state to whatever state was asked for on the first
4286           call to this function for any object.  Seriously.
4287
4288 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
4289
4290         * check/gst/gstpipeline.c: (GST_START_TEST):
4291         * docs/gst/gstreamer-sections.txt:
4292         * gst/gstutils.c: (set_state_async_thread_func),
4293         (gst_element_set_state_async):
4294         * gst/gstutils.h:
4295           add a "gst_element_set_state_async" method that
4296           sets the state and starts a thread to make sure the state
4297           change completes as best as it can
4298
4299 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
4300
4301         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
4302           codify design+behaviour in testsuite after discussion
4303
4304 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
4305
4306         * docs/gst/tmpl/gstelement.sgml:
4307         * docs/manual/appendix-quotes.xml:
4308           add a quote
4309         * gst/gstelement.c: (gst_element_set_state):
4310           add some debug
4311
4312 2005-09-12  Jan Schmidt  <thaytan@mad.scientist.com>
4313
4314         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
4315         (gst_base_transform_prepare_output_buf),
4316         (gst_base_transform_handle_buffer):
4317         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip),
4318         (gst_capsfilter_prepare_buf):
4319           Remove the requirement for sub-classes to call the parent
4320           implementation of prepare_output_buffer with a wrapper function.
4321           
4322         * gst/gsttaglist.h:
4323         * gst/gsttagsetter.h:
4324           Fix #define wrapper
4325
4326 2005-09-11  Stefan Kost  <ensonic@users.sf.net>
4327
4328         * docs/gst/gstreamer-sections.txt:
4329           more doc cleanups
4330
4331 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4332
4333         * docs/gst/gstreamer-sections.txt:
4334         * docs/gst/tmpl/gstelement.sgml:
4335         * docs/gst/tmpl/gstplugin.sgml:
4336         * gst/gstminiobject.c:
4337         * gst/gstvalue.h:
4338           docs now stop throwing warnings
4339
4340 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4341
4342         * docs/gst/gstreamer-sections.txt:
4343         * docs/gst/gstreamer.types:
4344         * docs/gst/tmpl/gstpad.sgml:
4345         * docs/gst/tmpl/gsttypes.sgml:
4346         * gst/base/gstadapter.h:
4347         * gst/base/gstbasesink.h:
4348         * gst/base/gstbasesrc.h:
4349         * gst/gstbin.h:
4350         * gst/gstbuffer.h:
4351         * gst/gstbus.h:
4352         * gst/gstcaps.h:
4353         * gst/gstclock.h:
4354         * gst/gstelement.h:
4355         * gst/gstevent.h:
4356         * gst/gstmessage.h:
4357         * gst/gstpad.h:
4358         * gst/gststructure.c:
4359         * gst/registries/gstlibxmlregistry.h:
4360           various documentation fixes
4361
4362 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4363
4364         * docs/gst/gstreamer-sections.txt:
4365         * docs/gst/tmpl/gstvalue.sgml:
4366           rearrange gstvalue section
4367         * gst/gstutils.c: (gst_element_state_get_name):
4368           NONE -> VOID
4369         * gst/gstvalue.c: (_gst_value_initialize):
4370         * gst/gstvalue.h:
4371           doc updates
4372
4373 2005-09-10  Jan Schmidt  <thaytan@mad.scientist.com>
4374
4375         * check/gst-libs/controller.c:
4376           Header include fix.
4377         * gst/base/gstbasetransform.c:
4378         (gst_base_transform_default_prepare_buf),
4379         (gst_base_transform_handle_buffer):
4380         * gst/base/gstbasetransform.h:
4381           Some more basetransform changes and fixes to enable sub-classes
4382           that modify buffer metadata only.
4383         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
4384         (gst_capsfilter_init), (gst_capsfilter_transform_ip),
4385         (gst_capsfilter_prepare_buf):
4386           If the output pad has fixed allowed caps and input buffers 
4387           don't have any, set the fixed caps on outgoing buffers.
4388
4389 2005-09-09  Jan Schmidt  <thaytan@mad.scientist.com>
4390         * check/elements/identity.c: (GST_START_TEST):
4391           Make the error a little clearer when the test fails because
4392           identity made a copy of the buffer.
4393         * docs/gst/gstreamer-sections.txt:
4394           New symbols in gstbasetransform.h
4395         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
4396         (gst_base_transform_init), (gst_base_transform_transform_size),
4397         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
4398         (gst_base_transform_default_prepare_buf),
4399         (gst_base_transform_get_unit_size),
4400         (gst_base_transform_buffer_alloc),
4401         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
4402         (gst_base_transform_change_state),
4403         (gst_base_transform_set_passthrough),
4404         (gst_base_transform_set_in_place),
4405         (gst_base_transform_is_in_place):
4406         * gst/base/gstbasetransform.h:
4407           Change BaseTransform to separate in_place operate from same_caps
4408           output. in_place implies that the element can perform the transform
4409           on incoming buffers in-place, even if the caps on the output are
4410           different.
4411           Sub-class elements can now implement special buffer allocation
4412           methods for outgoing buffers if they wish to.
4413           Big documentation addition.
4414         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip):
4415         * gst/elements/gstelements.c:
4416           Changes for basetransform modifications.
4417         * gst/elements/Makefile.am:
4418         * gst/elements/gstfdsrc.c: (gst_fdsrc_init), (gst_fdsrc_create):
4419           Compile fix. Extra debug output.
4420
4421 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
4422
4423         * check/gst/gstpad.c: (GST_START_TEST), (name_is_valid),
4424         (gst_pad_suite):
4425           add tests for valid pad naming
4426         * gst/check/gstcheck.c: (gst_check_log_message_func),
4427         (gst_check_log_critical_func):
4428           add ASSERT_WARNING
4429           remove printing of code, it is fragile when the code contains
4430           % and the line number is enough info
4431         * gst/check/gstcheck.h:
4432         * gst/gstpad.c: (gst_pad_template_new):
4433           fix memleaks
4434
4435 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
4436
4437         * configure.ac:
4438           say what CHECK flags we use
4439         * docs/libs/gstreamer-libs.types:
4440         * libs/gst/controller/Makefile.am:
4441         * libs/gst/controller/gst-controller.c:
4442         * libs/gst/controller/gst-controller.h:
4443         * libs/gst/controller/gst-helper.c:
4444         * libs/gst/controller/gst-interpolation.c:
4445         * libs/gst/controller/gstcontroller.c:
4446         * libs/gst/controller/gsthelper.c:
4447         * libs/gst/controller/gstinterpolation.c:
4448         * tools/gst-inspect.c: (print_plugin_info):
4449           we don't use dashes in header names
4450
4451 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
4452
4453         * check/Makefile.am:
4454         * check/gst/.cvsignore:
4455         * check/gst/gstpipeline.c: (pop_messages), (GST_START_TEST),
4456         (gst_pipeline_suite), (main):
4457           adding a test for pipelines and state changes
4458         * gst/gstutils.c: (get_state_func):
4459           add some debugging
4460         * gstreamer.spec.in:
4461           fix up spec file
4462
4463 2005-09-08  Michael Smith <msmith@fluendo.com>
4464
4465         * gst/elements/gstfilesrc.c: (gst_file_src_map_region),
4466         (gst_file_src_map_small_region), (gst_file_src_create_mmap),
4467         (gst_file_src_is_seekable), (gst_file_src_get_size),
4468         (gst_file_src_start):
4469         * gst/elements/gstfilesrc.h:
4470           Various fixes for unseekable, unmmapable, and non-normal files, so
4471           that fallback to read() rather than mmap() works.
4472         * gst/gstevent.c: (gst_event_new_newsegment):
4473           Allow newsegment events with segment_start == segment_end, as will
4474           correctly happen if you use filesrc on a zero-size file, for
4475           example.
4476
4477 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
4478
4479         * gst/gstplugin.c: (gst_plugin_load_file):
4480           Call g_module_close when we don't load the module
4481
4482         * gst/registries/gstlibxmlregistry.c:
4483         (gst_xml_registry_get_property):
4484           Port leak fix from 0.8
4485
4486 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
4487
4488         * docs/gst/gstreamer-docs.sgml:
4489         * docs/gst/tmpl/.cvsignore:
4490         * docs/gst/tmpl/gsttrace.sgml:
4491         * docs/gst/tmpl/gsttrashstack.sgml:
4492         * gst/Makefile.am:
4493         * gst/gst.h:
4494         * gst/gstelement.h:
4495         * gst/gstevent.h:
4496         * gst/gstmessage.c:
4497         * gst/gstmessage.h:
4498         * gst/gsttag.c:
4499         * gst/gsttag.h:
4500         * gst/gsttaginterface.c:
4501         * gst/gsttaginterface.h:
4502         * gst/gsttaglist.c:
4503         * gst/gsttaglist.h:
4504         * gst/gsttagsetter.c:
4505         * gst/gsttagsetter.h:
4506         * gst/gsttrace.c:
4507         * gst/gsttrace.h:
4508         * gst/gsttrashstack.c:
4509           renamed gsttag -> gsttaglist, gsttaginterface -> gsttagsetter
4510           inlined docs for gsttrace, gsttrashstack
4511
4512 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
4513
4514         * gst/Makefile.am:
4515         * gst/elements/gstbufferstore.h:
4516         * gst/elements/gsttypefindelement.c:
4517         * gst/elements/gsttypefindelement.h:
4518         * gst/gst.h:
4519         * gst/gsttypefind.c:
4520         * gst/gsttypefind.h:
4521         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type),
4522         (gst_type_find_factory_class_init), (gst_type_find_factory_init),
4523         (gst_type_find_factory_dispose),
4524         (gst_type_find_factory_unload_thyself),
4525         (gst_type_find_load_plugin), (gst_type_find_factory_get_list),
4526         (gst_type_find_factory_get_caps),
4527         (gst_type_find_factory_get_extensions),
4528         (gst_type_find_factory_call_function):
4529         * gst/gsttypefindfactory.h:
4530         * gst/registries/gstlibxmlregistry.c:
4531         * gst/registries/gstxmlregistry.c:
4532           splitted gsttypefind into gsttypefind, gsttypefindfactory
4533
4534 2005-09-07  Andy Wingo  <wingo@pobox.com>
4535
4536         * gst/base/gstbasesink.c (gst_base_sink_activate_pull): Fix a race
4537         condition whereby the pad's task function is entered before the
4538         pad_mode variable was set.
4539
4540 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
4541
4542         * gst/gstpad.c: (gst_pad_alloc_buffer):
4543           Catch misbehaving pad_alloc functions that don't
4544           set up caps and do it for them.
4545
4546 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
4547
4548         * check/pipelines/simple_launch_lines.c: (run_pipeline):
4549           test for pipe!=NULL
4550         * docs/gst/tmpl/.cvsignore:
4551         * docs/gst/tmpl/gstmemchunk.sgml:
4552         * docs/gst/tmpl/gstparse.sgml:
4553         * docs/gst/tmpl/gsttaglist.sgml:
4554         * docs/gst/tmpl/gsttagsetter.sgml:
4555         * docs/gst/tmpl/gsttypefind.sgml:
4556         * docs/gst/tmpl/gsttypefindfactory.sgml:
4557         * gst/gstmemchunk.c:
4558         * gst/gstparse.c:
4559         * gst/gsttag.c:
4560         * gst/gsttaginterface.c:
4561         * gst/gsttypefind.c:
4562         * gst/gsttypefind.h:
4563           inlined more docs
4564
4565 === release 0.9.2 ===
4566
4567 2005-09-06  Thomas Vander Stichele  <thomas at apestaart dot org>
4568
4569         * NEWS:
4570         * RELEASE:
4571         * configure.ac:
4572           releasing 0.9.2, "South"
4573
4574 2005-09-05  Andy Wingo  <wingo@pobox.com>
4575
4576         * gst/registries/gstxmlregistry.h:
4577         * gst/registries/gstxmlregistry.c: Um... resurrect...
4578         
4579         * gst/registries/gstxmlregistry.h:
4580         * gst/registries/gstxmlregistry.c: and update to newer API.
4581         Incidentally they should be a bit faster now that they don't have
4582         to parse the caps.
4583         
4584 2005-09-05  Andy Wingo  <wingo@pobox.com>
4585
4586         * gst/registries/gstxmlregistry.h:
4587         * gst/registries/gstxmlregistry.c: Remove from CVS, they were
4588         replaced by the libxml registry a while back
4589
4590 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
4591
4592         * docs/gst/tmpl/gstplugin.sgml:
4593         * gst/elements/gstelements.c:
4594         * gst/gst.c:
4595         * gst/gstplugin.c: (gst_plugin_register_func),
4596         (gst_plugin_desc_copy), (gst_plugin_desc_free),
4597         (gst_plugin_get_source):
4598         * gst/gstplugin.h:
4599         * gst/registries/gstlibxmlregistry.c: (load_plugin),
4600         (gst_xml_registry_save_plugin):
4601         * gst/registries/gstxmlregistry.c: (gst_xml_registry_parse_plugin),
4602         (gst_xml_registry_save_plugin):
4603         * tools/gst-inspect.c: (print_plugin_info):
4604           add a "source" plugin description field, to represent the source
4605           module this plugin is a part of.  By default GST_PLUGIN_DEFINE
4606           will set it to PACKAGE, which is automake's idea of the name of
4607           the source project.
4608
4609 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
4610
4611         * Makefile.am:
4612         * autogen.sh:
4613         * configure.ac:
4614         * docs/Makefile.am:
4615         * docs/faq/Makefile.am:
4616         * docs/gst/tmpl/gstelement.sgml:
4617         * docs/gst/tmpl/gsttypes.sgml:
4618         * docs/htmlinstall.mak:
4619         * docs/manual/Makefile.am:
4620         * docs/pwg/Makefile.am:
4621           reorganize doc build a little
4622           split out docbook and gtk-doc stuff
4623           have two separate --enable's and enable them through autogen
4624           but disable by default in configure (to be similar to other
4625           projects)
4626         * gstreamer.spec.in:
4627           clean up docs install
4628         * po/af.po:
4629         * po/az.po:
4630         * po/ca.po:
4631         * po/cs.po:
4632         * po/de.po:
4633         * po/en_GB.po:
4634         * po/fr.po:
4635         * po/it.po:
4636         * po/nb.po:
4637         * po/nl.po:
4638         * po/ru.po:
4639         * po/sq.po:
4640         * po/sr.po:
4641         * po/sv.po:
4642         * po/tr.po:
4643         * po/uk.po:
4644         * po/vi.po:
4645           translation updates
4646
4647 2005-09-03  Tim-Philipp Müller  <tim at centricular dot net>
4648
4649         * gst/base/gstbasesink.c: (gst_base_sink_pad_buffer_alloc):
4650           Add comment.
4651           
4652         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
4653         (gst_fake_sink_change_state):
4654           Make state change function thread-safe.
4655           
4656         * gst/gstpad.c: (gst_pad_alloc_buffer):
4657           Set offset on generic buffer allocated by fallback.
4658
4659 2005-09-03  Stefan Kost  <ensonic@users.sf.net>
4660
4661         * docs/gst/gstreamer-sections.txt:
4662         * docs/gst/tmpl/gstelement.sgml:
4663         * gst/gstpad.c:
4664         * libs/gst/controller/gst-controller.c:
4665         (gst_controlled_property_set_interpolation_mode),
4666         (gst_controlled_property_new),
4667         (gst_controller_find_controlled_property):
4668          run the wingo-magic script against the docs
4669
4670 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
4671
4672         * docs/gst/gstreamer-docs.sgml:
4673         * docs/gst/gstreamer-sections.txt:
4674         * docs/gst/tmpl/.cvsignore:
4675         * docs/gst/tmpl/gstelementdetails.sgml:
4676         * docs/gst/tmpl/gstelementfactory.sgml:
4677         * gst/gst.c:
4678         * gst/gstbus.c:
4679         * gst/gstelementfactory.c:
4680         * gst/gstelementfactory.h:
4681           merged elementdetails docs into elementfactory docs
4682           inlined both
4683
4684 2005-09-02  Andy Wingo  <wingo@pobox.com>
4685
4686         * gst/gstelement.h: Add magical pixie dust to make glib-mkenums
4687         consider this enum an enum and not a flags.
4688
4689 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
4690
4691         * docs/gst/gstreamer-docs.sgml:
4692         * docs/gst/tmpl/.cvsignore:
4693         * docs/gst/tmpl/gstghostpad.sgml:
4694         * docs/gst/tmpl/gstiterator.sgml:
4695         * docs/gst/tmpl/gstmacros.sgml:
4696         * docs/gst/tmpl/gstrealpad.sgml:
4697         * docs/gst/tmpl/gstregistry.sgml:
4698         * docs/gst/tmpl/gstregistrypool.sgml:
4699         * docs/gst/tmpl/gststructure.sgml:
4700         * docs/gst/tmpl/gstsystemclock.sgml:
4701         * docs/gst/tmpl/gsttrace.sgml:
4702         * gst/gstghostpad.c:
4703         * gst/gstmacros.h:
4704         * gst/gstmemchunk.c:
4705         * gst/gstmemchunk.h:
4706         * gst/gstqueue.c:
4707         * gst/gstregistry.c:
4708         * gst/gstregistrypool.c:
4709         * gst/gststructure.c:
4710         * gst/gstsystemclock.c:
4711           more docs inlined
4712
4713 2005-09-02  Andy Wingo  <wingo@pobox.com>
4714
4715         * gst/gstelement.h (GstState): Renamed from GstElementState,
4716         changed to be a normal enum instead of flags.
4717         (GstStateChangeReturn): Renamed from GstElementStateReturn, names
4718         munged to be GST_STATE_CHANGE_*.
4719         (GST_STATE_CHANGE): Renamed from GST_STATE_TRANSITION, updated to
4720         work with the new state representation.
4721         (GstStateChange): New enumeration of possible state transitions.
4722         Replaces GST_STATE_FOO_TO_BAR with GST_STATE_CHANGE_FOO_TO_BAR.
4723         (GstElementClass::change_state): Pass the GstStateChange along as
4724         an argument. Helps language bindings, so they don't have to use
4725         tricky lock-needing macros like GST_STATE_CHANGE ().
4726
4727         * scripts/update-states (file): New script. Run it on a file to
4728         update it for state naming and API changes. Updates files in
4729         place.
4730
4731         * All files updated for the new API.
4732
4733 2005-09-02  Thomas Vander Stichele  <thomas at apestaart dot org>
4734
4735         * gst/gsttrace.c: (gst_trace_flush), (gst_trace_text_flush):
4736         * gst/gstutils.c: (gst_util_set_value_from_string),
4737         (gst_util_set_object_arg):
4738           fix a bunch of unchecked return values
4739         * tools/gst-complete.c: (main):
4740         * gstreamer.spec.in:
4741           clean up a little
4742
4743 2005-09-01  Wim Taymans  <wim@fluendo.com>
4744
4745         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4746         (gst_base_sink_event), (gst_base_sink_do_sync),
4747         (gst_base_sink_handle_event):
4748         * gst/base/gstbasesink.h:
4749         Handle newsegments more correctly.
4750
4751         * gst/gstbus.c:
4752         Fix docs.
4753
4754         * gst/gstevent.c: (gst_event_new_newsegment):
4755         A newsegment cannot have a start_time of -1
4756
4757 2005-09-01  Tim-Philipp Müller  <tim at centricular dot net>
4758
4759         * win32/gstenumtypes.c:
4760         * win32/gstenumtypes.h:
4761           Update
4762
4763 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
4764
4765         * libs/gst/controller/gst-controller.c:
4766         (gst_controlled_property_set_interpolation_mode),
4767         (gst_controlled_property_new):
4768          fixed boolean again
4769
4770 2005-08-31  Thomas Vander Stichele  <thomas at apestaart dot org>
4771
4772         * docs/faq/gst-uninstalled:
4773           add -good
4774         * gst/gstevent.c:
4775         * gst/gstevent.h:
4776           remove wrong docs
4777         * gst/gstutils.c: (gst_element_link_filtered):
4778         * gst/gstutils.h:
4779           add gst_element_link_filtered
4780
4781 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
4782
4783         * docs/gst/gstreamer-docs.sgml:
4784         * docs/gst/gstreamer-sections.txt:
4785         * docs/gst/tmpl/.cvsignore:
4786         * docs/gst/tmpl/gsterror.sgml:
4787         * docs/gst/tmpl/gstfilter.sgml:
4788         * docs/gst/tmpl/gsturihandler.sgml:
4789         * docs/gst/tmpl/gsturitype.sgml:
4790         * docs/gst/tmpl/gstutils.sgml:
4791         * docs/gst/tmpl/gstxml.sgml:
4792         * gst/gsterror.c:
4793         * gst/gsterror.h:
4794         * gst/gstfilter.c:
4795         * gst/gsturi.c:
4796         * gst/gsturitype.c:
4797         * gst/gstutils.c:
4798         * gst/gstxml.c:
4799           inlined more docs, fixed double id-ref
4800
4801 2005-08-31  Wim Taymans  <wim@fluendo.com>
4802
4803         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
4804         (gst_base_transform_handle_buffer):
4805         Passthrough elements don't need the caps as they don't care.
4806
4807 2005-08-31  Wim Taymans  <wim@fluendo.com>
4808
4809         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
4810         (gst_base_transform_handle_buffer), (gst_base_transform_chain):
4811         Don't leak refcounts on buffers.
4812
4813 2005-08-31  Wim Taymans  <wim@fluendo.com>
4814
4815         * gst/base/gstbasetransform.c: (gst_base_transform_configure_caps),
4816         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
4817         (gst_base_transform_chain), (gst_base_transform_change_state):
4818         * gst/base/gstbasetransform.h:
4819         Handle the case where we are not negotiated more gracefully.
4820
4821 2005-08-31  Tim-Philipp Müller  <tim at centricular dot net>
4822
4823         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_init),
4824         (gst_file_src_map_region):
4825           Set READONLY flag on mmap'ed buffers, otherwise
4826           gst_buffer_make_writable() won't work properly (#314708).
4827
4828 2005-08-31  Wim Taymans  <wim@fluendo.com>
4829
4830         * gst/base/gstbasetransform.c: (gst_base_transform_handle_buffer):
4831         passthrough elements can even do inplace on non writable
4832         buffers (as they don't touch them).
4833
4834 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
4835
4836         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
4837         (gst_test_mono_source_set_property),
4838         (gst_test_mono_source_class_init), (GST_START_TEST),
4839         (gst_controller_suite):
4840           more tests (hehe I have the most)
4841         * gst/gstbus.c:
4842           describe popping messages whenusing mulltiple sources
4843         * libs/gst/controller/gst-controller.c:
4844         (gst_controlled_property_set_interpolation_mode),
4845         (gst_controlled_property_new):
4846         * libs/gst/controller/gst-controller.h:
4847         * libs/gst/controller/gst-interpolation.c:
4848           implement boolean properties
4849
4850 2005-08-31  Wim Taymans  <wim@fluendo.com>
4851
4852         * gst/gstminiobject.c: (gst_mini_object_ref):
4853         Cannot assert that the refcount has to be positive
4854         since a disposed object can be resurrected.
4855
4856 2005-08-31  Wim Taymans  <wim@fluendo.com>
4857
4858         * gst/gstpad.c: (gst_pad_init):
4859         Revert change, need to first fix badly behaving 
4860         apps.
4861
4862 2005-08-30  Wim Taymans  <wim@fluendo.com>
4863
4864         * check/elements/fakesrc.c: (setup_fakesrc):
4865         * check/elements/identity.c: (setup_identity):
4866         Activate pads before using them.
4867
4868 2005-08-30  Wim Taymans  <wim@fluendo.com>
4869
4870         * gst/base/gstadapter.c: (gst_adapter_flush):
4871         Flushing out 0 bytes is ok for this function.
4872
4873         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
4874         no newsegment gives a warning and sets the start/stop to 
4875         invalid.
4876
4877         * gst/base/gstbasetransform.c: (gst_base_transform_change_state),
4878         (gst_base_transform_set_passthrough):
4879         Some debug info.
4880
4881         * gst/gstminiobject.c: (gst_mini_object_ref):
4882         Check refcount here too.
4883
4884         * gst/gstpad.c: (gst_pad_init):
4885         Pads are initially flushing and refusing data.
4886
4887         * gst/gstutils.c: (gst_element_link_pads_filtered):
4888         When adding a capsfilter element make sure it has the
4889         same state as the parent bin.
4890
4891 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
4892
4893         * docs/gst/tmpl/.cvsignore:
4894         * docs/gst/tmpl/gstformat.sgml:
4895         * docs/gst/tmpl/gstversion.sgml:
4896         * gst/gstbus.h:
4897         * gst/gstformat.c:
4898         * gst/gstformat.h:
4899         * gst/gstversion.h.in:
4900           more docs and two more inlined
4901
4902 2005-08-30  Wim Taymans  <wim@fluendo.com>
4903
4904         * gst/elements/gstfilesink.c: (gst_file_sink_class_init):
4905         Don't sync to clock.
4906
4907 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
4908
4909         * docs/gst/gstreamer-sections.txt:
4910           ultral33t func10ns deserve to appear in the docs actually
4911         * docs/gst/tmpl/.cvsignore:
4912         * docs/gst/tmpl/gstcompat.sgml:
4913         * docs/gst/tmpl/gstconfig.sgml:
4914         * gst/check/gstcheck.c:
4915         * gst/gstcompat.h:
4916         * gst/gstconfig.h.in:
4917           inlined more docs
4918
4919 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
4920
4921         * docs/gst/tmpl/.cvsignore:
4922         * docs/gst/tmpl/gstquery.sgml:
4923         * docs/gst/tmpl/gstutils.sgml:
4924         * gst/gstquery.c:
4925         * gst/gstquery.h:
4926           inlined and extended docs
4927
4928 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
4929
4930         * check/gst-libs/controller.c: (GST_START_TEST),
4931         (gst_controller_suite):
4932           more tests
4933         * docs/gst/tmpl/gstutils.sgml:
4934         * docs/libs/gstreamer-libs-sections.txt:
4935         * docs/libs/tmpl/gstdataprotocol.sgml:
4936           include path fixes
4937         * examples/controller/audio-example.c: (main):
4938           controller example works now
4939         * gst/gstclock.h:
4940           doc fixes
4941         * tools/gst-inspect.c: (print_element_properties_info):
4942           show param spec flags
4943
4944 2005-08-29  Andy Wingo  <wingo@pobox.com>
4945
4946         * gst/gstutils.c (gst_util_uint64_scale): New 3733t funct10n.
4947
4948 2005-08-28  Andy Wingo  <wingo@pobox.com>
4949
4950         * gst/gstutils.h (GST_BOILERPLATE_FULL): Prototype instance_init
4951         as having two arguments instead of just one. Allows superclasses
4952         to access information on subclasses -- see the terrible for() loop
4953         in gtype.c:g_type_create_instance for the reason why. All callers
4954         changed.
4955
4956 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
4957
4958         * docs/design/part-messages.txt:
4959           update info
4960         * docs/gst/tmpl/.cvsignore:
4961         * docs/gst/tmpl/gstcaps.sgml:
4962         * docs/gst/tmpl/gstclock.sgml:
4963         * gst/gstbus.c:
4964         * gst/gstcaps.c:
4965         * gst/gstcaps.h:
4966         * gst/gstclock.c:
4967         * gst/gstclock.h:
4968         * gst/gstmessage.c:
4969           added descriptions for bus and message
4970           inline caps and clock docs
4971
4972 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
4973
4974         * gst/gstmessage.c:
4975         * gst/gstmessage.h:
4976           doc fixes
4977
4978 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
4979
4980         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
4981           fix div-by-zero
4982
4983 2005-08-26  Andy Wingo  <wingo@pobox.com>
4984
4985         * check/pipelines/simple_launch_lines.c (run_pipeline): Check
4986         element_set_state's return val.
4987         (test_2_elements): Add test that's been disabled for months.
4988
4989         * gst/elements/gstfakesink.c: Cleanups. Add can-activate-push and
4990         can-activate-pull properties.
4991
4992         * gst/elements/gstfakesrc.c: Cleanups. Add can-activate-push and
4993         can-activate-pull properties. Implement is_seekable so fakesrc can
4994         operate in pull mode.
4995
4996         * gst/base/gstbasesink.c (GstBaseSink): Remove has-loop, has-chain
4997         properties.
4998         (gst_base_sink_activate, gst_base_sink_activate_pull)
4999         (gst_base_sink_activate_push): Make activation mode choosing work.
5000         Cleanups.
5001         (gst_base_sink_chain, gst_base_sink_loop): Assert activation mode
5002         is right. Make pull mode work. Post an eos before pausing in pull
5003         mode.
5004         (gst_base_sink_change_state): Pay attention to the core's
5005         change_state() return val.
5006         
5007         * gst/base/gstbasesrc.c (GstBaseSrc): Remove has-loop,
5008         has-getrange properties. Cleanups.
5009         
5010         * gst/base/gstbasesrc.h (GstBaseSrc): Remove has_loop,
5011         has_getrange and replace with can_activate_pull and
5012         can_activate_push.
5013
5014         * gst/base/gstbasesink.h (GstBaseSink): Rearrange fields, add
5015         locking comments. Remove has_loop, has_chain and replace with
5016         can_activate_pull and can_activate_push.
5017
5018 2005-08-26  Jan Schmidt  <thaytan@mad.scientist.com>
5019
5020         * configure.ac:
5021         * examples/Makefile.am:
5022         * examples/metadata/Makefile.am:
5023         * examples/metadata/read-metadata.c: (message_loop),
5024         (have_pad_handler), (make_pipeline), (print_tag), (main):
5025           Add metadata reading example that loops over a list of filenames,
5026           dumping any tags found.
5027
5028         * gst/gstbus.c: (gst_bus_dispose):
5029         * gst/gstelement.c: (gst_element_dispose):
5030           Release a few potentially-held references in dispose.
5031
5032 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
5033
5034         * docs/gst/tmpl/gstminiobject.sgml:
5035           do *not* add tmpl/*.sgml files to CVS!
5036
5037 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
5038
5039         * libs/gst/bytestream/.cvsignore:
5040         * libs/gst/bytestream/Makefile.am:
5041         * libs/gst/bytestream/adapter.c:
5042         * libs/gst/bytestream/adapter.h:
5043         * libs/gst/bytestream/bytestream.c:
5044         * libs/gst/bytestream/bytestream.h:
5045         * libs/gst/bytestream/filepad.c:
5046         * libs/gst/bytestream/filepad.h:
5047           removing obsolete files
5048
5049 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
5050
5051         * docs/gst/gstreamer-docs.sgml:
5052         * docs/libs/gstreamer-libs-docs.sgml:
5053           disabed additional index entries again, as this makes docs-gen just
5054           slow and they aren't useful yet
5055         * docs/libs/gstreamer-libs-sections.txt:
5056           little -section.txt cleanup for libs
5057
5058 2005-08-26  Thomas Vander Stichele  <thomas at apestaart dot org>
5059
5060         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
5061         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size),
5062           fix up some debugging
5063         (gst_base_transform_get_unit_size),
5064         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
5065         (gst_base_transform_handle_buffer):
5066         * gst/base/gstbasetransform.h:
5067           handle and store timed NEWSEGMENT events so that subclasses that
5068           calculate time by counting samples have a segment_start time they
5069           need to add to their timestamps - see audioresample
5070
5071 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
5072
5073         * gst/gstbin.h:
5074           removed ';' from the end of macro defs
5075         * docs/gst/gstreamer-docs.sgml:
5076         * docs/gst/gstreamer-sections.txt:
5077         * docs/gst/tmpl/.cvsignore:
5078         * gst/gstbus.h:
5079         * gst/gstelement.c: (gst_element_class_init),
5080         (gst_element_set_state), (activate_pads),
5081         (gst_element_save_thyself):
5082         * gst/gstevent.c: (gst_event_new_newsegment):
5083         * gst/gstevent.h:
5084         * gst/gstiterator.c:
5085         * gst/gstiterator.h:
5086         * gst/gstpad.c:
5087         * gst/gstprobe.h:
5088         * gst/gstutils.c: (gst_pad_query_convert):
5089         * gst/gstutils.h:
5090           fixed parameter name mismatches between source, header and docs
5091           added some more docs, resolved the last batch of unused elements in
5092           docs (now someone needs to doc them)
5093
5094 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
5095
5096         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_rebuild):
5097         * gst/registries/gstxmlregistry.c: (gst_xml_registry_rebuild):
5098           don't walk through the plugins backwards.  Where is all this
5099           reversed logic coming from ?
5100
5101 2005-08-25  Wim Taymans  <wim@fluendo.com>
5102
5103         * gst/base/gstbasetransform.c: (gst_base_transform_init),
5104         (gst_base_transform_transform_size),
5105         (gst_base_transform_configure_caps),
5106         (gst_base_transform_get_unit_size),
5107         (gst_base_transform_buffer_alloc),
5108         (gst_base_transform_change_state):
5109         * gst/base/gstbasetransform.h:
5110         Cache caps unit_size.
5111         Make sure we cannot negotiate up and downstream at the
5112         same time.
5113
5114 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
5115
5116         * gst/gst.c: (init_pre), (init_post):
5117           register the installed plugin path after the env var
5118         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_save):
5119         * gst/registries/gstxmlregistry.c: (gst_xml_registry_save):
5120           don't reverse order of paths; conserve the order of GST_PLUGIN_PATH
5121           directories, so the tests can prefer uninstalled over installed
5122
5123 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
5124
5125         * gst/base/gstbasetransform.h:
5126           comment
5127         * gst/gstpad.c:
5128           add to docs
5129
5130 2005-08-25  Wim Taymans  <wim@fluendo.com>
5131
5132         * gst/gstbin.c: (bin_bus_handler):
5133         Be a bit more conservative about the posted message.
5134         
5135         * gst/gstbus.c: (gst_bus_post):
5136         Some cleanups, warn wrong return values.
5137
5138 2005-08-25  Jan Schmidt  <thaytan@mad.scientist.com>
5139
5140         * check/gst/gstbin.c: (GST_START_TEST):
5141         * gst/gstbin.c: (bin_bus_handler):
5142         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
5143         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
5144         (gst_message_new_warning), (gst_message_new_tag),
5145         (gst_message_new_state_changed), (gst_message_new_segment_start),
5146         (gst_message_new_segment_done), (gst_message_new_custom):
5147         * gst/gstmessage.h:
5148         * tools/gst-launch.c: (event_loop):
5149         * tools/gst-md5sum.c: (event_loop):
5150           Revert unpopular change for GST_MESSAGE_SRC to GObject.
5151
5152 2005-08-25  Wim Taymans  <wim@fluendo.com>
5153
5154         * check/generic/states.c: (GST_START_TEST):
5155         Cleanup can be done at the end.
5156
5157         * gst/gsttask.c: (gst_task_get_type), (gst_task_finalize),
5158         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
5159         (gst_task_get_state), (gst_task_start), (gst_task_pause):
5160         Oh boy.. Thanks for finding this, Thomas. 
5161
5162 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
5163
5164         * docs/gst/gstreamer.types:
5165           added missing types
5166
5167 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
5168
5169         * docs/gst/gstreamer-docs.sgml:
5170         * docs/gst/gstreamer-sections.txt:
5171         * docs/gst/tmpl/.cvsignore:
5172         * gst/gstbin.c:
5173         * gst/gstiterator.c:
5174         * gst/gstutils.c:
5175         * gst/registries/gstxmlregistry.h:
5176           added missing classes and symbols (123 more to go)
5177           removed removed symbols from section file
5178           fixed many doc-comments
5179
5180 2005-08-24  Wim Taymans  <wim@fluendo.com>
5181
5182         * check/generic/states.c: (GST_START_TEST):
5183         Make sure all tasks are stopped.
5184
5185         * check/gst/gstbin.c: (GST_START_TEST):
5186         Unref after usage for proper valgrinding.
5187
5188         * gst/gstpad.c: (gst_pad_finalize), (gst_pad_stop_task):
5189         Really wait for the task to stop before destroying the
5190         mutex.
5191
5192         * gst/gstqueue.c: (gst_queue_sink_activate_push),
5193         (gst_queue_src_activate_push):
5194         Small cleanups. Don't stop the task when we did not start
5195         it.
5196
5197         * gst/gsttask.c: (gst_task_get_type), (gst_task_init),
5198         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
5199         (gst_task_get_state), (gst_task_start), (gst_task_pause),
5200         (gst_task_join):
5201         * gst/gsttask.h:
5202         Protect the stream lock with the object lock.
5203         Disallow setting the stream lock when running.
5204         Add cleanup_all to wait for the threadpool to finish.
5205         Remove code to autoallocate a mutex if none was provided.
5206         Add _join() to wait for a task to stop.
5207         Protect the thread pool with a global lock.
5208
5209 2005-08-24  Wim Taymans  <wim@fluendo.com>
5210
5211         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
5212         (gst_base_sink_get_times), (gst_base_sink_do_sync),
5213         (gst_base_sink_handle_buffer), (gst_base_sink_change_state):
5214         * gst/base/gstbasesink.h:
5215         Handle newsegment events correctly.
5216         Drop buffers out of the segment range.
5217
5218 2005-08-22  Andy Wingo  <wingo@pobox.com>
5219
5220         * gst/gstutils.h (GST_BOILERPLATE_WITH_INTERFACE): New ghetto
5221         macro, implements an interface and gstimplementsinterface for a
5222         new type.
5223
5224 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
5225
5226         * check/Makefile.am:
5227         * check/generic/states.c: (GST_START_TEST), (states_suite), (main):
5228           add a test that does a bunch of state changes on elements
5229           needs some fixing for valgrind
5230         * check/states/sinks.c: (gst_object_suite):
5231           whitespace
5232         * gst/gstcaps.h:
5233           add prototype for gst_caps_is_equal_fixed
5234         * gst/gstplugin.c:
5235         * gst/gstregistrypool.c:
5236           doc fixes
5237
5238 2005-08-24  Andy Wingo  <wingo@pobox.com>
5239
5240         * gst/gstquery.c (gst_query_new_convert): Spew if we try to
5241         convert a negative value. Doesn't make much sense. Mostly this is
5242         here to force callers to ensure -1 maps to -1.
5243
5244 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
5245
5246         * docs/pwg/advanced-types.xml:
5247           Well done to Michael for catching my deliberate introduction
5248           of this spelling mistake. 
5249         * gst/gstbin.c: (gst_bin_remove_func), (bin_bus_handler):
5250         * gst/gstelement.h:
5251           Add GST_ELEMENT_UNPARENTING to prevent races so that we can
5252           unlink pads before removing the element from the bin.
5253
5254 2005-08-24  Andy Wingo  <wingo@pobox.com>
5255
5256         * gst/gst.c (parse_debug_list): Accept e.g. GST_DEBUG=4 to mean
5257         the same thing as GST_DEBUG=*:4.
5258         (parse_debug_level, parse_debug_category): New helper parsers.
5259
5260 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
5261
5262         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
5263         (gst_base_transform_transform_size), (gst_base_transform_getcaps),
5264         (gst_base_transform_setcaps), (gst_base_transform_get_unit_size),
5265         (gst_base_transform_buffer_alloc),
5266         (gst_base_transform_handle_buffer):
5267           use gboolean return values and pointers to size so we can use the
5268           full GST_BUFFER_SIZE range (guint) for buffer sizes
5269           use GstPadDirection for transform_caps
5270         * gst/base/gstbasetransform.h:
5271           rename get_size to get_unit_size since that's what it is
5272         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_caps):
5273           use GstPadDirection for transform_caps
5274         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
5275         * gst/gstutils.h:
5276           cleanup and debugging
5277
5278 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
5279
5280         * gst/gstelement.c: (gst_element_class_init),
5281         (gst_element_set_state), (activate_pads),
5282         (gst_element_save_thyself):
5283         * tools/gst-compprep.c: (main):
5284         * tools/gst-inspect.c: (print_element_properties_info):
5285         * tools/gst-xmlinspect.c: (print_element_properties):
5286           Fixed long standing mem-leak
5287
5288 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
5289
5290         * check/gst/gstbin.c: (GST_START_TEST):
5291         * gst/gstbin.c: (bin_bus_handler):
5292         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
5293         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
5294         (gst_message_new_warning), (gst_message_new_tag),
5295         (gst_message_new_state_changed), (gst_message_new_segment_start),
5296         (gst_message_new_segment_done), (gst_message_new_custom):
5297         * gst/gstmessage.h:
5298         * tools/gst-launch.c: (event_loop):
5299         * tools/gst-md5sum.c: (event_loop):
5300           Change GST_MESSAGE_SRC to be a GObject rather than a GstObject, so
5301           that applications can sensibly post custom messages with references
5302           to their own objects.
5303
5304 2005-08-24  Andy Wingo  <wingo@pobox.com>
5305
5306         * gst/gstpad.c (gst_pad_fixate_caps): Check if the caps is fixed
5307         already.
5308
5309 2005-08-24  Wim Taymans  <wim@fluendo.com>
5310
5311         * gst/base/gstbasetransform.c: (gst_base_transform_init),
5312         (gst_base_transform_transform_caps),
5313         (gst_base_transform_transform_size),
5314         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
5315         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
5316         (gst_base_transform_handle_buffer):
5317         * gst/base/gstbasetransform.h:
5318         Many fixes and new features added by Thomas. Can now also do
5319         transforms with variable sizes and a custom fixate_caps function.
5320
5321 2005-08-24  Wim Taymans  <wim@fluendo.com>
5322
5323         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
5324         Some debugging.
5325
5326         * gst/gstclock.h:
5327         Cast to ClockTime before formatting to time.
5328
5329         * gst/gstutils.h:
5330         Cleanups.
5331
5332 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
5333
5334         * check/gst-libs/controller.c: (GST_START_TEST),
5335         (gst_controller_suite):
5336         * docs/gst/tmpl/gstcaps.sgml:
5337         * docs/gst/tmpl/gstghostpad.sgml:
5338         * docs/gst/tmpl/gstquery.sgml:
5339         * docs/gst/tmpl/gstutils.sgml:
5340         * libs/gst/controller/gst-helper.c: (gst_object_set_controller),
5341         (gst_object_sink_values), (gst_object_get_value_arrays),
5342         (gst_object_get_value_array):
5343           gracefully handle helper method calls to objects that are not beeing
5344           controlled, added test case for that          
5345
5346 2005-08-23  Wim Taymans  <wim@fluendo.com>
5347
5348         * gst/gstevent.c: (_gst_event_copy), (gst_event_new_custom),
5349         (gst_event_new_newsegment), (gst_event_parse_newsegment),
5350         (gst_event_new_tag), (gst_event_parse_tag), (gst_event_new_qos),
5351         (gst_event_parse_qos), (gst_event_new_seek),
5352         (gst_event_parse_seek):
5353         * gst/gstevent.h:
5354         Some more debugging output and doc cleanups.
5355
5356         * gst/gstqueue.c: (gst_queue_handle_sink_event):
5357         Fix possible deadlock.
5358
5359 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
5360
5361         * docs/gst/gstreamer-docs.sgml:
5362         * docs/gst/gstreamer-sections.txt:
5363         * docs/gst/gstreamer.types:
5364         * docs/gst/tmpl/.cvsignore:
5365         * gst/gstbin.h:
5366         * gst/gstbus.c:
5367         * gst/gstelement.c:
5368         * gst/gstevent.h:
5369           added 100 symbols from gstreamer-unused.txt to the right sections
5370           fixed more broken comments
5371           added GstBus to docs
5372
5373 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
5374
5375         * docs/gst/gstreamer-sections.txt:
5376         * docs/gst/tmpl/.cvsignore:
5377         * docs/gst/tmpl/gstbin.sgml:
5378         * docs/gst/tmpl/gstbuffer.sgml:
5379         * gst/base/gstbasesrc.c:
5380         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
5381         * gst/gstbuffer.c:
5382         * gst/gstbuffer.h:
5383         * tools/gst-launch.1.in:
5384           inlined more doc comments, added missing comments and fixed comments
5385           fixed typos
5386
5387 2005-08-23  Thomas Vander Stichele  <thomas at apestaart dot org>
5388
5389         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
5390           some debugging
5391         * gst/gstcaps.h:
5392           whitespace fixes
5393         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_alloc_buffer):
5394           more debugging
5395         * gst/gststructure.c: (gst_caps_structure_fixate_field_boolean):
5396         * gst/gststructure.h:
5397           add a fixate function for booleans; add a FIXME that these func
5398           names should probably be gst_structure_fixate_*
5399
5400 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
5401
5402         * docs/gst/gstreamer-docs.sgml:
5403         * docs/gst/gstreamer-sections.txt:
5404         * gst/Makefile.am:
5405         * gst/gstbin.c: (gst_bin_get_type),
5406         (gst_bin_child_proxy_get_child_by_index),
5407         (gst_bin_child_proxy_get_children_count),
5408         (gst_bin_child_proxy_init):
5409         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
5410         (gst_child_proxy_get_child_by_index),
5411         (gst_child_proxy_get_children_count), (gst_child_proxy_lookup),
5412         (gst_child_proxy_get_property), (gst_child_proxy_get_valist),
5413         (gst_child_proxy_get), (gst_child_proxy_set_property),
5414         (gst_child_proxy_set_valist), (gst_child_proxy_set),
5415         (gst_child_proxy_child_added), (gst_child_proxy_child_removed),
5416         (gst_child_proxy_base_init), (gst_child_proxy_get_type):
5417         * gst/gstchildproxy.h:
5418         * gst/parse/grammar.y:
5419         * tools/gst-inspect.c: (print_interfaces),
5420         (print_element_properties_info), (print_element_info):
5421           ported gstchildproxy over from 0.8
5422           ported gst-inspect fixes and enhancements over from 0.8
5423
5424 2005-08-22  Wim Taymans  <wim@fluendo.com>
5425
5426         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
5427         (gst_base_transform_handle_buffer):
5428         Also call the transform function if we have ANY caps.
5429
5430         * gst/gstpipeline.c: (gst_pipeline_set_new_stream_time):
5431         Fix debug info.
5432
5433 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
5434
5435         * gst/base/gstbasesrc.c: (gst_base_src_event_handler)
5436           Don't pretend to handle seek events if the source is not seekable
5437
5438 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
5439
5440         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
5441           Remove extra parameter to debug output
5442
5443         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
5444         (gst_base_src_do_seek), (gst_base_src_activate_push):
5445           Fix seek event handling.
5446
5447         * gst/gstpipeline.c: (gst_pipeline_change_state):
5448         * gst/gstqueue.c: (gst_queue_handle_sink_event),
5449         (gst_queue_src_activate_push):
5450           Don't start the src pad task on FLUSH_STOP if the pad
5451           isn't linked.
5452           Debug changes.
5453
5454 2005-08-22  Wim Taymans  <wim@fluendo.com>
5455
5456         * check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
5457         Added check for gst_static_caps_get() refcounting.
5458
5459 2005-08-22  Wim Taymans  <wim@fluendo.com>
5460
5461         * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_to_string):
5462         Make _static_caps_get() refcounting sane.
5463         
5464         * gst/gstelement.c: (gst_element_set_state):
5465         Add g_return_val_if_fail() to protect against segfaults.
5466
5467 2005-08-22  Stefan Kost  <ensonic@users.sf.net>
5468
5469         * docs/gst/tmpl/gstevent.sgml:
5470         * gst/gstevent.c:
5471         * gst/gstevent.h:
5472           inlined remaining docs, added missing doc comments
5473
5474 2005-08-22  Thomas Vander Stichele  <thomas at apestaart dot org>
5475
5476         * check/gst/gstbin.c: (GST_START_TEST):
5477           since we don't know when preroll is done, use refcount range
5478           check for the sink
5479         * gst/check/gstcheck.h:
5480           add macro for checking refcount range
5481
5482 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
5483
5484         * check/Makefile.am:
5485           clean up environment for when registry gets built versus
5486           when actual tests are run; valgrind seems to not report
5487           leaks if GST_PLUGIN_PATH is set to some specific values
5488         * check/gst/gstbin.c: (GST_START_TEST):
5489           add more refcounting checks; maybe this exposes a
5490           preroll lock bug ?
5491         * common/check.mak:
5492         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
5493         * gst/check/gstcheck.h:
5494         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_get_state),
5495         (gst_bin_change_state):
5496         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_chain):
5497           add/fix debugging/whitespace
5498
5499 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
5500
5501         * check/gst/gstevent.c: (event_probe), (test_event),
5502         (GST_START_TEST):
5503          Er, don't call gst_bin_watch_for_state_change you idiot.
5504
5505 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
5506
5507         * check/Makefile.am:
5508           Use CHECK_CFLAGS and CHECK_LIBS
5509         * check/gst/gstevent.c: (event_probe), (test_event),
5510         (GST_START_TEST):
5511           Don't leak events.
5512         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
5513         (gst_base_src_start), (gst_base_src_stop),
5514         (gst_base_src_activate_push), (gst_base_src_activate_pull),
5515         (gst_base_src_change_state):
5516           Sprinkle gst_base_src_stop liberally around error paths to fix
5517           problems reusing a source after failed state changes.
5518         * gst/base/gsttypefindhelper.c: (helper_find_peek),
5519         (helper_find_suggest), (gst_type_find_helper):
5520           Extra debug output. Don't segfault on GST_PAD_GETRANGEFUNC = NULL
5521         * gst/gstevent.h:
5522         * docs/gst/tmpl/gstevent.sgml:
5523           Migrate part of the docs from the SGML file. Wait for ensonic to
5524           tell me how I did it wrong ;)
5525         * tools/gst-typefind.c: (main):
5526           Extra robustness to state changes between files.
5527
5528 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
5529
5530         * check/Makefile.am:
5531           don't valgrind the controller test - it's leaking - Stefan, HELP
5532         * gst/check/gstcheck.c: (gst_check_message_error),
5533         (gst_check_chain_func), (gst_check_setup_element),
5534         (gst_check_teardown_element), (gst_check_setup_src_pad),
5535         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
5536         (gst_check_teardown_sink_pad):
5537         * gst/check/gstcheck.h:
5538           add a bunch of methods to set up elements, and src and sink pads
5539         * check/elements/fakesrc.c: (setup_fakesrc), (cleanup_fakesrc):
5540         * check/elements/identity.c: (setup_identity), (cleanup_identity),
5541         (GST_START_TEST):
5542           use them
5543         * gst/gstmessage.c:
5544         * gst/gsttag.h:
5545           whitespace/doc fixes
5546
5547 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
5548
5549         * gst/gstelement.h:
5550           make GST_ELEMENT_ERROR not do GST_ERROR_OBJECT - these errors should
5551           be handled by the application and not always printed as well
5552
5553 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
5554
5555         * check/Makefile.am:
5556           set GST_TOOLS_DIR
5557         * gst/check/gstcheck.c: (gst_check_message_error):
5558         * gst/check/gstcheck.h:
5559           add a fail_unless_equals_int
5560           add fail_unless for error messages
5561
5562 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
5563
5564         * check/Makefile.am:
5565         * check/gst.supp:
5566         * common/Makefile.am:
5567         * common/check.mak:
5568         * common/gst.supp:
5569           factor out some of the common stuff so we can use it
5570
5571 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
5572
5573         * check/Makefile.am:
5574         * check/gst/gstiterator.c: (GST_START_TEST):
5575         * check/gst/gstsystemclock.c: (GST_START_TEST),
5576         (gst_systemclock_suite):
5577         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
5578         * gst/gstclock.c:
5579           valgrind more tests
5580
5581 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
5582
5583         * check/elements/.cvsignore:
5584         * check/elements/gstfakesrc.c:
5585           rename to name of element
5586         * check/elements/identity.c: (chain_func), (event_func),
5587         (setup_identity), (cleanup_identity), (GST_START_TEST),
5588         (identity_suite), (main):
5589           add a test for identity
5590         * check/Makefile.am:
5591         * pkgconfig/Makefile.am:
5592         * pkgconfig/gstreamer-check.pc.in:
5593         * pkgconfig/gstreamer-check-uninstalled.pc.in:
5594         * gst/check:
5595         * gst/Makefile.am:
5596         * configure.ac:
5597           move the check stuff to a library that gets installed
5598         * check/gst-libs/controller.c: (GST_START_TEST):
5599         * check/gst-libs/gdp.c:
5600         * check/gst/gst.c: (GST_START_TEST):
5601         * check/gst/gstbin.c:
5602         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
5603         * check/gst/gstbus.c:
5604         * check/gst/gstcaps.c: (GST_START_TEST):
5605         * check/gst/gstelement.c:
5606         * check/gst/gstghostpad.c:
5607         * check/gst/gstiterator.c:
5608         * check/gst/gstmessage.c:
5609         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST):
5610         * check/gst/gstobject.c:
5611         * check/gst/gstpad.c: (GST_START_TEST):
5612         * check/gst/gststructure.c: (GST_START_TEST):
5613         * check/gst/gstsystemclock.c: (GST_START_TEST),
5614         (gst_systemclock_suite):
5615         * check/gst/gsttag.c: (gst_tag_suite):
5616         * check/gst/gstvalue.c:
5617         * check/pipelines/cleanup.c:
5618         * check/pipelines/simple_launch_lines.c:
5619         * check/states/sinks.c:
5620           change include statement
5621
5622         * docs/gst/gstreamer-sections.txt:
5623         * docs/gst/tmpl/gstpad.sgml:
5624           document more pad stuff
5625         * gst/gstminiobject.c: (gst_mini_object_ref),
5626         (gst_mini_object_unref):
5627           debug refcounting
5628
5629 2005-08-19  Stefan Kost  <ensonic@users.sf.net>
5630
5631         * docs/gst/tmpl/gst.sgml:
5632         * gst/gst.c:
5633           eliminate another tmpl file, fix spelling in the long-description
5634
5635 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
5636
5637         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
5638         (test_event), (timediff), (gstevents_suite):
5639           Should fix build on 64-bit arch's
5640
5641 2005-08-18  Andy Wingo  <wingo@pobox.com>
5642
5643         Make sure that when a pipeline goes to PLAYING, that data has
5644         actually hit the sink.
5645
5646         * check/states/sinks.c (test_sink): A sink that doesn't get any
5647         data shouldn't return SUCCESS for going to either PLAYING or
5648         PAUSED. Test also the return values on the way back down.
5649
5650         * gst/gstelement.c (gst_element_set_state): When changing the
5651         state of an element currently changing state asynchronously, go to
5652         lost-state after commiting the pending state. Makes future calls
5653         to get_state continue to return ASYNC.
5654
5655         * gst/base/gstbasesink.c (gst_base_sink_change_state): Return
5656         ASYNC when going to PLAYING if we still don't have preroll, as can
5657         happen with live sources.
5658
5659 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
5660
5661         * docs/pwg/advanced-types.xml:
5662           Hack long paragraph into 2 chunks as a workaround for buggy
5663           jadetex version in sid and breezy that loops infinitely and
5664           eats all RAM.
5665
5666 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
5667
5668         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
5669         (test_event), (timediff), (gstevents_suite):
5670           Provide more error margin in clock measurements to allow for 
5671           g_get_current_time inaccuracies.
5672
5673 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
5674
5675         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
5676         (test_event), (timediff), (gstevents_suite):
5677            Fix error message output so I might be able to tell why the
5678            test works here but fails on the build farm.
5679
5680 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
5681
5682         * check/Makefile.am:
5683         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
5684         (test_event), (timediff), (gstevents_suite), (main):
5685           I wrote a test!
5686
5687         * docs/design/part-seeking.txt:
5688           Spelling correction
5689
5690         * docs/gst/tmpl/gstevent.sgml:
5691         * docs/gst/tmpl/gstfakesrc.sgml:
5692           Docs updates.
5693
5694         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
5695           Treat a buffer-without-newsegment the same as a receiving 
5696           a newsegment not in time format, and disable syncing to the clock
5697           with a warning.
5698
5699         * gst/gstbus.c: (gst_bus_set_sync_handler):
5700           Assert if anyone tries to replace the existing sync_handler for bus, 
5701           as only the owner should be setting it.
5702
5703         * gst/gstevent.h:
5704           Have a fixed set of custom event enums with events identified by
5705           their structure name (as in 0.8), rather than a free-for-all
5706           allowing collisions between enum values from different plugins.
5707
5708         * gst/gstpad.c: (gst_pad_class_init):
5709           Docs change.
5710           
5711         * gst/gstqueue.c: (gst_queue_handle_sink_event):
5712           Handle out-of-band downstream events from the sending thread.
5713
5714 2005-08-17  Andy Wingo  <wingo@pobox.com>
5715
5716         * gst/gstpipeline.c (gst_pipeline_change_state): Interpret
5717         play-timeout==0 to mean no timeout at all. In that case, don't
5718         bother with a get_state or a warning, just return directly, even
5719         if it's ASYNC.
5720
5721         * gst/base/gstbasetransform.c: Debug changes.
5722
5723         * gst/gstutils.h:
5724         * gst/gstutils.c (gst_bin_watch_for_state_change): Add function to
5725         ensure bins post state change messages. A bit of a hack but I can't
5726         think of a way to avoid it.
5727
5728         * check/gst/gstbin.c (test_watch_for_state_change): Added test.
5729
5730 2005-08-16  Andy Wingo  <wingo@pobox.com>
5731
5732         * gst/base/gstadapter.h:
5733         * gst/base/gstadapter.c (gst_adapter_take): New function, like
5734         peek() but you own the data. Not terribly efficient atm.
5735
5736 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5737
5738         * gst/gstutils.c: (gst_element_found_tags_for_pad), (push_and_ref),
5739         (gst_element_found_tags):
5740         * gst/gstutils.h:
5741           Add two utility functions for tag handling.
5742
5743 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5744
5745         * docs/manual/advanced-dataaccess.xml:
5746         * docs/manual/basics-helloworld.xml:
5747           Fix docs to use _bin_add() before _link(), which fixes the examples
5748           with recent core versions (reported by Madhan Raj M
5749           <raj_madan@rediffmail.com>, #313199).
5750
5751 2005-08-16  Wim Taymans  <wim@fluendo.com>
5752
5753         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
5754         Added subtract checks.
5755
5756         * docs/design/part-events.txt:
5757         Some more docs about newsegment
5758
5759         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
5760         Fix FIXME
5761
5762         * gst/gstcaps.c: (gst_caps_to_string):
5763         Add comments, cleanups.
5764         
5765         * gst/gstelement.c: (gst_element_save_thyself):
5766         cleanups
5767         
5768         * gst/gstvalue.c: (gst_value_collect_int_range),
5769         (gst_string_unwrap), (gst_value_union_int_int_range),
5770         (gst_value_union_int_range_int_range),
5771         (gst_value_intersect_int_int_range),
5772         (gst_value_intersect_int_range_int_range),
5773         (gst_value_intersect_double_double_range),
5774         (gst_value_intersect_double_range_double_range),
5775         (gst_value_intersect_list), (gst_value_subtract_int_int_range),
5776         (gst_value_subtract_int_range_int),
5777         (gst_value_subtract_double_range_double),
5778         (gst_value_subtract_double_range_double_range),
5779         (gst_value_subtract_from_list), (gst_value_subtract_list),
5780         (gst_value_can_compare), (gst_value_compare_fraction):
5781         Cleanups, add comments, remove unneeded asserts.
5782
5783 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
5784
5785         * tools/gst-launch.c: (event_loop):
5786           don't convert NULL structures to strings
5787
5788 2005-08-15  Stefan Kost  <ensonic@users.sf.net>
5789
5790         * docs/gst/gstreamer-sections.txt:
5791           made some defines private
5792         * docs/gst/tmpl/gstconfig.sgml:
5793         * docs/gst/tmpl/gstqueue.sgml:
5794         * docs/gst/tmpl/gsttaglist.sgml:
5795         * docs/gst/tmpl/gsttypes.sgml:
5796         * docs/gst/tmpl/gstutils.sgml:
5797         * docs/pwg/appendix-porting.xml:
5798         * gst/base/gstbasesink.h:
5799         * gst/base/gstbasesrc.c:
5800         * gst/base/gstbasesrc.h:
5801         * gst/elements/gstfakesink.c: (gst_fake_sink_class_init):
5802         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init):
5803         * gst/gstelement.c: (gst_element_class_init):
5804         * gst/gstpad.c: (gst_pad_class_init):
5805         * gst/gstqueue.c: (gst_queue_class_init):
5806         * gst/gstxml.c: (gst_xml_class_init):
5807           documented all undocumented signal inline
5808         * libs/gst/controller/gst-controller.h:
5809           added padding
5810
5811 2005-08-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5812
5813         * docs/pwg/appendix-porting.xml:
5814           Document _set_link_function -> _set_setcaps_function.
5815
5816 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
5817
5818         * check/Makefile.am:
5819           add a .check target for running the check
5820         * check/gst-libs/controller.c: (GST_START_TEST):
5821           cosmetic fixups
5822         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
5823           complete checks for gstbuffer; would be nice if I could get the
5824           gcov stuff to work so I can see if I actually completed gstbuffer.c
5825         * check/gstcheck.h:
5826           add ASSERT_BUFFER_REFCOUNT
5827
5828 2005-08-13  Tim-Philipp Müller  <tim at centricular dot net>
5829
5830         * docs/gst/gstreamer-sections.txt:
5831         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
5832         * gst/gsttag.h:
5833           Add GST_TAG_LANGUAGE_CODE as we have in 0.8, and don't
5834           spew out a warning if a tag that is already registered
5835           is re-registered, unless it is re-registered with a 
5836           different type (#308438).
5837
5838 2005-08-12  Tim-Philipp Müller  <tim at centricular dot net>
5839
5840         * docs/pwg/appendix-porting.xml:
5841         * docs/pwg/building-state.xml:
5842           Add some paragraphs about state changes in 0.9 to the PWG
5843           and the porting guide, in particular about the new meaning
5844           of GST_STATE_PAUSED and how to write state change functions
5845           with concurrent access by multiple threads in mind.
5846
5847 2005-08-11  Stefan Kost  <ensonic@users.sf.net>
5848
5849         * docs/gst/gstreamer-docs.sgml:
5850         * docs/libs/gstreamer-libs-docs.sgml:
5851           added deprecation and since indexes
5852         * libs/gst/controller/gst-controller.c:
5853         * libs/gst/controller/gst-helper.c:
5854           added since tags
5855
5856
5857 2005-08-11  Wim Taymans  <wim@fluendo.com>
5858
5859         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked),
5860         (gst_proxy_pad_set_target), (gst_proxy_pad_get_target),
5861         (gst_proxy_pad_dispose), (gst_ghost_pad_do_activate_push),
5862         (gst_ghost_pad_do_link), (gst_ghost_pad_set_internal),
5863         (gst_ghost_pad_new_notarget), (gst_ghost_pad_get_target),
5864         (gst_ghost_pad_set_target):
5865         Actually implement (re)setting the target on a ghostpad
5866         as described in the docs.
5867
5868 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
5869
5870         * gst/gst.c: (gst_init_check_with_popt_table), (init_pre):
5871           Check whether GST_DEBUG_NO_COLOR environment variable is
5872           set and disable coloured debug output if that is the case.
5873
5874 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
5875
5876         * gst/base/gsttypefindhelper.c: (helper_find_peek),
5877         (gst_type_find_helper):
5878           The memory returned by gst_type_find_peek() needs to
5879           stay valid until the end of a typefind function, and
5880           typefind functions may keep results from different 
5881           offsets around, so we can't just unref the buffer from
5882           the previous _peek(), but have to save all buffers 
5883           returned by _peek() until typefinding is done and only
5884           free them then.
5885
5886 2005-08-09  Tim-Philipp Müller  <tim at centricular dot net>
5887
5888         * docs/gst/gstreamer-sections.txt:
5889         * gst/gstutils.h:
5890           New macros: GST_ROUND_UP_2() through GST_ROUND_UP_64().
5891
5892 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5893
5894         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
5895           Fix a pretty good memleak.
5896
5897 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
5898
5899         * gst/gstiterator.h:
5900           Fix wrong include and 'make distcheck'.
5901
5902 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5903
5904         * gst/gstbin.c: (bin_bus_handler):
5905           Use gst_element_post_message() instead.
5906
5907 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
5908
5909         * gst/base/gstadapter.h:
5910         * gst/base/gstbasesink.h:
5911         * gst/base/gstbasesrc.h:
5912         * gst/base/gstbasetransform.h:
5913         * gst/base/gstcollectpads.h:
5914         * gst/base/gstpushsrc.h:
5915         * gst/gstiterator.h:
5916           Add padding to our base elements' class and instance structs and
5917           to GstIterator (you will need to rebuild all plugins and apps!)
5918
5919 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5920
5921         * gst/gstbin.c: (bin_bus_handler):
5922           Make default message forwarding from child->bus to bin->bus
5923           threadsafe and make it not emit warnings if the parent has no bus.
5924
5925 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5926
5927         * gst/gstelement.c: (activate_pads):
5928           On paused->ready, set pad->caps to NULL, as is the documented
5929           behaviour in this state change. Fixes playback of series of
5930           media files when visualization is enabled in Totem.
5931
5932 2005-08-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5933
5934         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
5935           Allow NULL as filter-caps (which means "any").
5936
5937 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
5938
5939         * docs/libs/gstreamer-libs-sections.txt:
5940         * libs/gst/controller/gst-controller.c:
5941         * libs/gst/controller/gst-controller.h:
5942         * libs/gst/controller/gst-helper.c:
5943           adding more entries to the docs and fix small doc-bugs
5944
5945 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
5946
5947         * docs/gst/gstreamer-docs.sgml:
5948         * docs/gst/gstreamer-sections.txt:
5949         * docs/gst/gstreamer.types:
5950         * docs/gst/tmpl/gstbasesink.sgml:
5951         * docs/gst/tmpl/gstbasesrc.sgml:
5952         * docs/gst/tmpl/gstbasetransform.sgml:
5953         * docs/gst/tmpl/gstfakesrc.sgml:
5954         * gst/base/gstcollectpads.c:
5955         * gst/base/gstcollectpads.h:
5956         * libs/gst/controller/gst-controller.c:
5957         * libs/gst/controller/gst-controller.h:
5958         * libs/gst/controller/gst-helper.c:
5959         * libs/gst/controller/gst-interpolation.c:
5960         * libs/gst/controller/lib.c:
5961           added long/short desc for controller docs
5962           added collectpads base class docs
5963           added correct includes to base-class docs
5964
5965 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
5966
5967         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
5968         (gst_test_mono_source_set_property),
5969         (gst_test_mono_source_class_init), (GST_START_TEST),
5970         (gst_controller_suite):
5971         * docs/gst/gstreamer-docs.sgml:
5972         * docs/gst/gstreamer-sections.txt:
5973         * docs/gst/gstreamer.types:
5974         * docs/libs/gstreamer-libs-docs.sgml:
5975         * docs/libs/gstreamer-libs-sections.txt:
5976         * gst/base/gstadapter.c:
5977         * libs/gst/controller/gst-controller.c:
5978         (gst_controlled_property_new), (gst_controlled_property_free),
5979         (gst_controller_new_valist),
5980         (gst_controller_remove_properties_valist),
5981         (gst_controller_sink_values), (_gst_controller_finalize):
5982         * libs/gst/controller/gst-controller.h:
5983         * libs/gst/controller/gst-helper.c:
5984         (gst_object_control_properties), (gst_object_uncontrol_properties),
5985         (gst_object_get_controller), (gst_object_set_controller),
5986         (gst_object_sink_values), (gst_object_get_value_arrays),
5987         (gst_object_get_value_array):
5988           more tests (and fixes) for the controller
5989           more docs for the controller
5990           integrated companies docs for the adapter 
5991
5992 2005-08-05  Thomas Vander Stichele  <thomas at apestaart dot org>
5993
5994         * check/elements/gstfakesrc.c: (setup_fakesrc), (cleanup_fakesrc),
5995         (GST_START_TEST), (fakesrc_suite):
5996           add tests for sizetype
5997
5998 2005-08-04  Andy Wingo  <wingo@pobox.com>
5999
6000         * gst/elements/gstcapsfilter.c: Reimplement using basetransform,
6001         fixes buffer_alloc proxying among other things.
6002
6003         * gst/base/gstbasetransform.c:
6004         * gst/base/gstbasetransform.h:
6005         Revert patch to gstbasetransform from 7-28 removing
6006         delay_configure.
6007
6008         * gst/base/gstbasetransform.h (GstBaseTransformClass.get_size):
6009         * gst/base/gstbasetransform.c (gst_base_transform_get_size):
6010         Semantics changed, should return not the size of the output buffer
6011         but the byte size of a buffer with a given caps.
6012
6013         * gst/base/gstbasetransform.c (gst_base_transform_getcaps): Better
6014         debug object.
6015         (gst_base_transform_configure_caps): Don't set out_size here: (in,
6016         out) are not the pad caps until setcaps finishes.
6017         (gst_base_transform_buffer_alloc): Proxy the buffer_alloc for the
6018         not-in-place case as well. Deal with changing from in-place to
6019         not-in-place within calling pad_alloc_buffer. Still a bit
6020         concerned about the overhead here...
6021
6022 2005-08-03  Andy Wingo  <wingo@pobox.com>
6023
6024         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): Not
6025         fixating is an error.
6026
6027 2005-08-04  Edward Hervey  <edward@fluendo.com>
6028
6029         * gst/base/gstadapter.h: 
6030         Added gst_adapter_get_type() to the header
6031
6032 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
6033
6034         * check/Makefile.am:
6035         * check/gst-libs/controller.c:
6036         * libs/gst/controller/gst-controller.c:
6037         (gst_controller_new_valist):
6038           added check test suite for the controller
6039         * gst/base/gstpushsrc.c:
6040           fixed a doc typo
6041
6042 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
6043
6044         * docs/gst/Makefile.am:
6045         * docs/gst/gstreamer-docs.sgml:
6046         * docs/gst/gstreamer-sections.txt:
6047         * docs/gst/gstreamer.types:
6048         * docs/gst/tmpl/gstfakesrc.sgml:
6049         * gst/base/README:
6050         * gst/base/gstbasesink.c:
6051         * gst/base/gstbasesink.h:
6052         * gst/base/gstbasesrc.c:
6053         * gst/base/gstbasesrc.h:
6054         * gst/base/gstbasetransform.c:
6055         * gst/base/gstpushsrc.c:
6056         * gst/base/gstpushsrc.h:
6057           add short/long description docs to base classes
6058           add pushsrc to the docs
6059           remove consolidated doc fragments
6060
6061 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
6062
6063         * configure.ac:
6064         * docs/libs/Makefile.am:
6065         * docs/libs/gstreamer-libs-docs.sgml:
6066         * docs/libs/gstreamer-libs-sections.txt:
6067         * docs/libs/gstreamer-libs.types:
6068         * examples/Makefile.am:
6069         * examples/controller/.cvsignore:
6070         * examples/controller/Makefile.am:
6071         * examples/controller/audio-example.c: (main):
6072         * libs/gst/Makefile.am:
6073         * libs/gst/controller/.cvsignore:
6074         * libs/gst/controller/Makefile.am:
6075         * libs/gst/controller/gst-controller.c:
6076         (on_object_controlled_property_changed), (gst_timed_value_compare),
6077         (gst_timed_value_find),
6078         (gst_controlled_property_set_interpolation_mode),
6079         (gst_controlled_property_new), (gst_controlled_property_free),
6080         (gst_controller_find_controlled_property),
6081         (gst_controller_new_valist), (gst_controller_new),
6082         (gst_controller_remove_properties_valist),
6083         (gst_controller_remove_properties), (gst_controller_set),
6084         (gst_controller_set_from_list), (gst_controller_unset),
6085         (gst_controller_get), (gst_controller_get_all),
6086         (gst_controller_sink_values), (gst_controller_get_value_arrays),
6087         (gst_controller_get_value_array),
6088         (gst_controller_set_interpolation_mode),
6089         (_gst_controller_finalize), (_gst_controller_init),
6090         (_gst_controller_class_init), (gst_controller_get_type):
6091         * libs/gst/controller/gst-controller.h:
6092         * libs/gst/controller/gst-helper.c: (g_object_control_properties),
6093         (g_object_uncontrol_properties), (g_object_get_controller),
6094         (g_object_set_controller), (g_object_sink_values),
6095         (g_object_get_value_arrays), (g_object_get_value_array):
6096         * libs/gst/controller/gst-interpolation.c:
6097         (gst_controlled_property_find_timed_value_node),
6098         (interpolate_none_get), (interpolate_trigger_get),
6099         (interpolate_trigger_get_value_array):
6100         * libs/gst/controller/lib.c: (gst_controller_init):
6101         * pkgconfig/Makefile.am:
6102         * pkgconfig/gstreamer-control-uninstalled.pc.in:
6103         * pkgconfig/gstreamer-control.pc.in:
6104         * testsuite/Makefile.am:
6105         * testsuite/controller/.cvsignore:
6106         * testsuite/controller/Makefile.am:
6107         * testsuite/controller/interpolator.c: (main):
6108           added controller code
6109           removed dparam pc files
6110
6111 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
6112         * gst/base/gstcollectpads.c: (gst_collectpads_finalize),
6113         (gst_collectpads_stop):
6114           Broadcast the condition when shutting down, to make sure we wake all
6115           threads up. Shut down pads on finalize, for safety.
6116
6117 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
6118         * gst/base/gstbasetransform.c: (gst_base_transform_init),
6119         (gst_base_transform_handle_buffer),
6120         (gst_base_transform_change_state):
6121           Handle PAUSED->READY->PAUSED transition after negotiation
6122           occurred already.
6123         * gst/gstmessage.c: (gst_message_init):
6124           Extra piece of debug for new messages.
6125
6126 2005-08-01  Stefan Kost  <ensonic@users.sf.net>
6127
6128         * configure.ac:
6129         * docs/gst/tmpl/gstbasesrc.sgml:
6130         * docs/gst/tmpl/gstelement.sgml:
6131         * docs/gst/tmpl/gstevent.sgml:
6132         * docs/gst/tmpl/gstfakesrc.sgml:
6133         * docs/gst/tmpl/gstformat.sgml:
6134         * docs/gst/tmpl/gstghostpad.sgml:
6135         * docs/gst/tmpl/gstpad.sgml:
6136         * docs/gst/tmpl/gstquery.sgml:
6137         * docs/gst/tmpl/gststructure.sgml:
6138         * docs/gst/tmpl/gsttaglist.sgml:
6139         * docs/gst/tmpl/gstvalue.sgml:
6140         * docs/libs/gstreamer-libs-docs.sgml:
6141         * docs/libs/gstreamer-libs-sections.txt:
6142         * docs/libs/gstreamer-libs.types:
6143         * libs/gst/Makefile.am:
6144         * libs/gst/control/.cvsignore:
6145         * libs/gst/control/Makefile.am:
6146         * libs/gst/control/control.c:
6147         * libs/gst/control/control.h:
6148         * libs/gst/control/dparam.c:
6149         * libs/gst/control/dparam.h:
6150         * libs/gst/control/dparam_smooth.c:
6151         * libs/gst/control/dparam_smooth.h:
6152         * libs/gst/control/dparamcommon.h:
6153         * libs/gst/control/dparammanager.c:
6154         * libs/gst/control/dparammanager.h:
6155         * libs/gst/control/dplinearinterp.c:
6156         * libs/gst/control/dplinearinterp.h:
6157         * libs/gst/control/unitconvert.c:
6158         * libs/gst/control/unitconvert.h:
6159         * testsuite/Makefile.am:
6160         * testsuite/dynparams/.cvsignore:
6161         * testsuite/dynparams/Makefile.am:
6162         * testsuite/dynparams/dparamstest.c:
6163         * tools/Makefile.am:
6164         * tools/gst-inspect.c: (print_element_info), (main):
6165         * tools/gst-xmlinspect.c: (print_element_info), (main):
6166           deactivate and remove dparams (libgstcontrol)
6167
6168 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
6169
6170         * gst/elements/gsttypefindelement.c:
6171         (gst_type_find_element_have_type), (gst_type_find_element_init),
6172         (stop_typefinding), (gst_type_find_element_handle_event),
6173         (gst_type_find_element_chain), (gst_type_find_element_getrange):
6174         * gst/elements/gsttypefindelement.h:
6175           Set caps on all outgoing buffers, not just the first one.
6176
6177 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
6178
6179         * gst/elements/gsttypefindelement.c:
6180         (gst_type_find_element_have_type),
6181         (gst_type_find_element_check_set_buffer_caps),
6182         (gst_type_find_element_init), (stop_typefinding),
6183         (gst_type_find_element_handle_event),
6184         (gst_type_find_element_chain), (gst_type_find_element_getrange):
6185         * gst/elements/gsttypefindelement.h:
6186           Set caps on first outgoing buffer when we've found the type.
6187
6188 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
6189
6190         * docs/gst/gstreamer-docs.sgml:
6191         * docs/gst/gstreamer-sections.txt:
6192         * docs/gst/tmpl/gstscheduler.sgml:
6193         * docs/gst/tmpl/gstschedulerfactory.sgml:
6194           Remove some old cruft from docs.
6195
6196 2005-07-31  Tim-Philipp Müller  <tim at centricular dot net>
6197
6198         * gst/gstpad.h:
6199           Fix inline docs for GstPadLinkReturn.
6200           
6201         * gst/gststructure.c: (gst_structure_has_name):
6202         * gst/gststructure.h:
6203         * docs/gst/gstreamer-sections.txt:
6204           New API: gst_structure_has_name().
6205
6206 2005-07-30  Tim-Philipp Müller  <tim at centricular dot net>
6207
6208         * configure.ac:
6209           Use AC_SYS_LARGEFILE, which will set _FILE_OFFSET_BITS=64
6210           and _LARGEFILE_SOURCE in config.h as required. Do not 
6211           export those flags in our .pc files any longer (#142209).
6212
6213           Remove unused GST_DISABLE_OMEGA_COTHREADS stuff.
6214
6215         * gst/elements/gstfilesink.c: (gst_file_sink_class_init),
6216         (gst_file_sink_do_seek), (gst_file_sink_event),
6217         (gst_file_sink_get_current_offset), (gst_file_sink_render):
6218           Redo seek/tell calls with large file support in mind; add some
6219           debugging messages; add log message that tells us when large
6220           file support is unavailable or not enabled for some reason.
6221
6222         * gst/elements/gstfilesrc.c: (gst_file_src_class_init):
6223           Add log message that tells us when large file support 
6224           is unavailable or not enabled for some reason.
6225
6226 2005-07-29  Wim Taymans  <wim@fluendo.com>
6227
6228         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
6229         Added test for removing an element with ghostpad from a bin.
6230         Fixed test as current implementation does the right thing.
6231
6232         * gst/gstghostpad.c: (gst_proxy_pad_class_init),
6233         (gst_proxy_pad_do_query_type), (gst_proxy_pad_do_event),
6234         (gst_proxy_pad_do_query), (gst_proxy_pad_do_internal_link),
6235         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_activate),
6236         (gst_proxy_pad_do_activatepull), (gst_proxy_pad_do_activatepush),
6237         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
6238         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
6239         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
6240         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target),
6241         (gst_proxy_pad_get_target), (gst_proxy_pad_init),
6242         (gst_proxy_pad_dispose), (gst_proxy_pad_finalize),
6243         (gst_ghost_pad_class_init), (gst_ghost_pad_do_activate_push),
6244         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
6245         (gst_ghost_pad_set_internal), (gst_ghost_pad_dispose),
6246         (gst_ghost_pad_new_notarget), (gst_ghost_pad_new),
6247         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
6248         * gst/gstghostpad.h:
6249         Clean up ghostpads, remove properties for internal stuff.
6250         Make threadsafe.
6251         Fix refcounting.
6252         Prepare for switching targets, not all use cases work yet.
6253
6254 2005-07-29  Wim Taymans  <wim@fluendo.com>
6255
6256         * docs/design/part-gstghostpad.txt:
6257         Small update.
6258
6259         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
6260         (gst_bin_remove_func):
6261         Unlinking pads while holding the bin LOCK is not a good
6262         idea.
6263
6264         * gst/gstpad.c: (gst_pad_class_init),
6265         (gst_pad_link_check_hierarchy), (gst_pad_get_caps_unlocked),
6266         (gst_pad_accept_caps), (gst_pad_set_caps), (gst_pad_send_event):
6267         No prob setting template after creating the pad.
6268
6269 2005-07-29  Jan Schmidt  <thaytan@mad.scientist.com>
6270
6271         * gst/gstbus.c: (gst_bus_set_flushing), (gst_bus_pop),
6272         (gst_bus_peek), (gst_bus_source_dispatch),
6273         (gst_bus_add_watch_full), (poll_handler), (poll_timeout),
6274         (poll_destroy), (poll_destroy_timeout), (gst_bus_poll):
6275           gst_bus_poll may be called from other threads. Handle
6276           this nicely by not making poll_data disappear off the
6277           stack once gst_bus_poll returns.
6278           gst_bus_peek now increments the refcount on the returned
6279           message.
6280
6281 2005-07-29  Wim Taymans  <wim@fluendo.com>
6282
6283         * docs/design/part-gstghostpad.txt:
6284         Overview of current GhostPad datastructures and use
6285         cases for changing the target.
6286
6287 2005-07-28  Wim Taymans  <wim@fluendo.com>
6288
6289         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
6290         Added checks for hierarchy consistency whan adding linked
6291         elements to bins.
6292
6293         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
6294         Added check to test element scheduling without bin/pipeline.
6295
6296         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
6297         First add elements to bin, then link.
6298         
6299         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
6300         (gst_bin_remove_func):
6301         Unlink pads from elements added/removed from bin to maintain
6302         hierarchy consistency.
6303
6304 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6305
6306         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
6307         (gst_base_transform_handle_buffer):
6308         * gst/base/gstbasetransform.h:
6309           Remove broken delay_configure (fixes renegotiation of software
6310           scaling pipelines); remove some leftover printf()s.
6311
6312 2005-07-28  Wim Taymans  <wim@fluendo.com>
6313
6314         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
6315         Added some more tests for wrong hierarchy
6316
6317         * docs/design/part-overview.txt:
6318         Some updates.
6319
6320         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_dispose):
6321         Cleanups.
6322
6323         * gst/gstelement.c: (gst_element_remove_pad), (gst_element_seek),
6324         (gst_element_dispose):
6325         Some more cleanups.
6326
6327         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
6328         (gst_pad_link_check_hierarchy), (gst_pad_link_prepare),
6329         (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
6330         (gst_pad_set_caps), (gst_pad_send_event):
6331         Check for correct hierarchy when linking pads. Moving to
6332         strict requirement for ghostpads when linking elements in
6333         different bins.
6334
6335         * gst/gstpad.h:
6336         Clean ups. Added WRONG_HIERARCHY return value.
6337
6338 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6339
6340         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
6341           Better debug if no transform is possible.
6342
6343 2005-07-27  Wim Taymans  <wim@fluendo.com>
6344
6345         * docs/random/wtay/network-transp:
6346         Some old doc I had.
6347
6348 2005-07-27  Wim Taymans  <wim@fluendo.com>
6349
6350         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
6351         (gst_dp_event_from_packet):
6352         Fix serialization of seek events.
6353
6354 2005-07-27  Wim Taymans  <wim@fluendo.com>
6355
6356         * check/gst-libs/gdp.c: (GST_START_TEST):
6357         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
6358         Fix compilation and fix event serialization.
6359
6360 2005-07-27  Wim Taymans  <wim@fluendo.com>
6361
6362         * CHANGES-0.9:
6363         * docs/design/part-TODO.txt:
6364         * docs/design/part-events.txt:
6365         Some docs updates
6366
6367         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
6368         (gst_base_sink_event), (gst_base_sink_do_sync),
6369         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
6370         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
6371         (gst_base_src_do_seek), (gst_base_src_event_handler),
6372         (gst_base_src_loop):
6373         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
6374         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
6375         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
6376         (gst_base_transform_event), (gst_base_transform_handle_buffer),
6377         (gst_base_transform_set_passthrough),
6378         (gst_base_transform_is_passthrough):
6379         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
6380         * gst/elements/gstfilesink.c: (gst_file_sink_event):
6381         Event updates.
6382
6383         * gst/gstbuffer.h:
6384         Use faster casts.
6385
6386         * gst/gstelement.c: (gst_element_seek):
6387         * gst/gstelement.h:
6388         Update gst_element_seek.
6389
6390         * gst/gstevent.c: (gst_event_finalize), (_gst_event_copy),
6391         (gst_event_new), (gst_event_new_custom), (gst_event_get_structure),
6392         (gst_event_new_flush_start), (gst_event_new_flush_stop),
6393         (gst_event_new_eos), (gst_event_new_newsegment),
6394         (gst_event_parse_newsegment), (gst_event_new_tag),
6395         (gst_event_parse_tag), (gst_event_new_filler), (gst_event_new_qos),
6396         (gst_event_parse_qos), (gst_event_new_seek),
6397         (gst_event_parse_seek), (gst_event_new_navigation):
6398         * gst/gstevent.h:
6399         Make GstEvent use GstStructure. Add parsing code, make sure the
6400         API is sufficiently generic.
6401         Mark possible directions of events and serialization.
6402
6403         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize),
6404         (_gst_message_copy), (gst_message_new_segment_start),
6405         (gst_message_new_segment_done), (gst_message_new_custom),
6406         (gst_message_parse_segment_start),
6407         (gst_message_parse_segment_done):
6408         Small cleanups.
6409
6410         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
6411         (gst_pad_set_caps), (gst_pad_send_event):
6412         Update for new events. 
6413         Catch events sent in wrong directions.
6414
6415         * gst/gstqueue.c: (gst_queue_link_src),
6416         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
6417         (gst_queue_handle_src_query):
6418         Event updates.
6419
6420         * gst/gsttag.c:
6421         * gst/gsttag.h:
6422         Remove event code from this file.
6423
6424         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
6425         (gst_dp_event_from_packet):
6426         Event updates.
6427
6428 2005-07-27  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6429
6430         * gst/base/gstbasetransform.c: (gst_base_transform_getcaps),
6431         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
6432         (gst_base_transform_get_size), (gst_base_transform_handle_buffer):
6433           Make debugging actually useful.
6434
6435 2005-07-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6436
6437         * gst/gstpad.c: (fixate_value), (gst_pad_default_fixate),
6438         (gst_pad_fixate_caps):
6439           Implement default fixation once again, so that gst_pad_fixate()
6440           actually does anything at all. This probably needs to be some
6441           sort of a last resort, and use profile-based fixation first, but
6442           since that doesn't exist yet, this is the best we have. Fixes
6443           visualization in Totem.
6444
6445 2005-07-22  Wim Taymans  <wim@fluendo.com>
6446
6447         * docs/design/part-events.txt:
6448         Small update.
6449
6450         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
6451         (gst_base_sink_do_sync), (gst_base_sink_activate_push),
6452         (gst_base_sink_activate_pull):
6453         Some more comments.
6454
6455         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init),
6456         (gst_fake_src_create):
6457         Fix handoff marshall.
6458
6459         * gst/elements/gstidentity.c: (gst_identity_class_init),
6460         (gst_identity_transform_ip):
6461         We're a real inplace element.
6462
6463         * gst/gstbus.c: (gst_bus_post):
6464         Added some comments.
6465
6466         * tests/lat.c: (fakesrc), (fakesink), (simple), (queue), (main):
6467         * tests/muxing/case1.c: (main):
6468         * tests/sched/dynamic-pipeline.c: (main):
6469         * tests/sched/interrupt1.c: (main):
6470         * tests/sched/interrupt2.c: (main):
6471         * tests/sched/interrupt3.c: (main):
6472         * tests/sched/runxml.c: (main):
6473         * tests/sched/sched-stress.c: (main):
6474         * tests/seeking/seeking1.c: (event_received), (main):
6475         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
6476         (main):
6477         * tests/threadstate/threadstate3.c: (main):
6478         * tests/threadstate/threadstate4.c: (main):
6479         * tests/threadstate/threadstate5.c: (main):
6480         Fix the tests.
6481
6482 2005-07-21  Wim Taymans  <wim@fluendo.com>
6483
6484         * docs/design/part-seeking.txt:
6485         Some small additions.
6486
6487         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
6488         (gst_base_sink_get_times), (gst_base_sink_do_sync),
6489         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
6490         * gst/base/gstbasesink.h:
6491         discont values are gint64, handle the math correctly.
6492
6493         * gst/base/gstbasesrc.c: (gst_base_src_loop):
6494         Make the basesrc report error if the source pad is not linked.
6495
6496         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
6497         (gst_queue_loop), (gst_queue_handle_src_query),
6498         (gst_queue_src_activate_push):
6499         Make queue collect data even if the srcpad is not linked.
6500         Start pushing out data as soon as it is linked.
6501
6502         * gst/gstutils.c: (gst_element_unlink), (gst_flow_get_name):
6503         * gst/gstutils.h:
6504         Added gst_flow_get_name() to ease error reporting.
6505
6506 2005-07-20  Wim Taymans  <wim@fluendo.com>
6507
6508         * gst/gstmessage.c: (gst_message_new_segment_start),
6509         (gst_message_new_segment_done), (gst_message_parse_segment_start),
6510         (gst_message_parse_segment_done):
6511         * gst/gstmessage.h:
6512         Added a bunch of messages for advanced seeking.
6513
6514         * gst/parse/grammar.y:
6515         * libs/gst/control/dparammanager.c: (gst_dpman_set_parent),
6516         (gst_dpman_state_changed):
6517         Fix some new-pad -> pad-added signals
6518
6519 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6520
6521         * docs/manual/appendix-porting.xml:
6522         * docs/pwg/appendix-porting.xml:
6523           Document new-pad/state-change signal renames and the FixedList
6524           type rename.
6525
6526 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6527
6528         * docs/manual/advanced-autoplugging.xml:
6529         * docs/manual/basics-helloworld.xml:
6530         * docs/manual/basics-pads.xml:
6531         * docs/random/ds/0.9-suggested-changes:
6532         * gst/gstelement.c: (gst_element_class_init), (gst_element_seek):
6533         * gst/gstelement.h:
6534         * gst/gstevent.h:
6535         * gst/gstformat.h:
6536         * gst/gstquery.h:
6537         * gst/gststructure.c: (gst_structure_value_get_generic_type),
6538         (gst_structure_parse_array), (gst_structure_parse_value):
6539         * gst/gstvalue.c: (gst_type_is_fixed),
6540         (gst_value_list_prepend_value), (gst_value_list_append_value),
6541         (gst_value_list_get_size), (gst_value_list_get_value),
6542         (gst_value_transform_array_string), (gst_value_serialize_array),
6543         (gst_value_deserialize_array), (gst_value_intersect_array),
6544         (gst_value_is_fixed), (_gst_value_initialize):
6545         * gst/gstvalue.h:
6546           GstElement::new-pad -> pad-added, GstElement::state-change ->
6547           state-changed, GstValueFixedList -> GstValueArray, add format and
6548           flags as their own arguments in gst_element_seek() (should improve
6549           "bindeability"), remove function generators since they don't work
6550           under a whole bunch of compilers (they were deprecated already
6551           anyway).
6552
6553 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6554
6555         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
6556         (_gst_debug_register_funcptr):
6557         * gst/gstinfo.h:
6558           Fix illegal cast on some platforms (#309253).
6559
6560 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6561
6562         * gst/gstmessage.c: (gst_message_new_custom):
6563         * gst/gstmessage.h:
6564           Add _new_custom, make _new_application a macro to _new_custom.
6565
6566 2005-07-20  Wim Taymans  <wim@fluendo.com>
6567
6568         * gst/base/gstbasesrc.c: (gst_base_src_init),
6569         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
6570         * gst/base/gstbasesrc.h:
6571         Add a gboolean to decide when to push out a discont.
6572
6573         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
6574         (gst_queue_loop), (gst_queue_handle_src_query),
6575         (gst_queue_sink_activate_push), (gst_queue_src_activate_push),
6576         (gst_queue_set_property), (gst_queue_get_property):
6577         Some cleanups.
6578
6579         * tests/threadstate/threadstate1.c: (main):
6580         Make a thread test compile and run... very silly..
6581
6582
6583 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6584
6585         * docs/manual/appendix-porting.xml:
6586           Mention removal of libgstgconf-0.9.la and existence of gconf
6587           elements.
6588
6589 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6590
6591         * docs/pwg/advanced-clock.xml:
6592         * docs/pwg/appendix-porting.xml:
6593         * docs/pwg/intro-preface.xml:
6594         * docs/pwg/other-base.xml:
6595         * docs/pwg/other-manager.xml:
6596         * docs/pwg/other-nton.xml:
6597         * docs/pwg/other-ntoone.xml:
6598         * docs/pwg/other-oneton.xml:
6599         * docs/pwg/pwg.xml:
6600           Document base classes, update sections of n-to-1 and 1-to-n (muxer,
6601           demuxer), remove n-to-n (was never written), fix some code examples
6602           and links and update the porting section to include all this.
6603
6604 2005-07-19  Wim Taymans  <wim@fluendo.com>
6605
6606         * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_sink_event),
6607         (gst_queue_chain), (gst_queue_loop), (gst_queue_handle_src_event),
6608         (gst_queue_handle_src_query), (gst_queue_sink_activate_push),
6609         (gst_queue_src_activate_push), (gst_queue_change_state),
6610         (gst_queue_get_property):
6611         * gst/gstqueue.h:
6612         Propagate GstFlowReturn more intelligently upstream and output
6613         an ERROR/EOS when streaming stopped due to fatal error.
6614
6615 2005-07-19  Wim Taymans  <wim@fluendo.com>
6616
6617         * tools/gst-launch.c: (check_intr), (event_loop), (main):
6618         Don't block forever for the state change to complete, the
6619         pipeline already did with a sensible timeout.
6620
6621 2005-07-19  Wim Taymans  <wim@fluendo.com>
6622
6623         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
6624         Make sure we never call the create function is we
6625         got deactivated.
6626
6627 2005-07-19  Andy Wingo  <wingo@pobox.com>
6628
6629         * gst/parse/parse.l: Attempt to solve bug #172815.
6630
6631 2005-07-19  Wim Taymans  <wim@fluendo.com>
6632
6633         * docs/design/part-clocks.txt:
6634         * docs/design/part-events.txt:
6635         * gst/base/gstbasesrc.c: (gst_base_src_do_seek):
6636         Small docs updates.
6637         Only update the seeking values when we are not
6638         busy streaming.
6639
6640 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
6641
6642         * gst/base/gstbasesrc.c: (gst_base_src_loop):
6643           Oops, ignore the result of gst_pad_push_event here.
6644
6645 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
6646
6647         * gst/base/gstbasesrc.c: (gst_base_src_loop),
6648         (gst_base_src_activate_push):
6649           Send discont event from the loop function, as pads
6650           aren't activated yet in the activate_push handler.
6651
6652         * gst/gstbin.c: (bin_bus_handler):
6653           Don't leak element name.
6654
6655 2005-07-18  Andy Wingo  <wingo@pobox.com>
6656
6657         * configure.ac: Use AS_LIBTOOL_TAGS.
6658
6659 2005-07-18  Wim Taymans  <wim@fluendo.com>
6660
6661         * docs/gst/gstreamer.types:
6662         Remove deleted types.
6663
6664 2005-07-18  Wim Taymans  <wim@fluendo.com>
6665
6666         * check/elements/gstfakesrc.c: (GST_START_TEST):
6667         * configure.ac:
6668         * gst/Makefile.am:
6669         * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
6670         (init_popt_callback):
6671         * gst/gst.h:
6672         * gst/gst_private.h:
6673         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_add_func),
6674         (gst_bin_remove_func), (gst_bin_get_state), (gst_bin_change_state):
6675         * gst/gstbin.h:
6676         * gst/gstbus.h:
6677         * gst/gstconfig.h.in:
6678         * gst/gstelement.c: (gst_element_class_init),
6679         (gst_element_set_base_time), (gst_element_get_base_time),
6680         (iterator_fold_with_resync), (gst_element_change_state),
6681         (gst_element_dispose), (gst_element_get_bus):
6682         * gst/gstelement.h:
6683         * gst/gstelementfactory.h:
6684         * gst/gsterror.c: (_gst_core_errors_init):
6685         * gst/gsterror.h:
6686         * gst/gstevent.h:
6687         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
6688         * gst/gstindex.c:
6689         * gst/gstinfo.c: (_gst_debug_init):
6690         * gst/gstmessage.c: (_gst_message_copy):
6691         * gst/gstmessage.h:
6692         * gst/gstminiobject.h:
6693         * gst/gstobject.c:
6694         * gst/gstobject.h:
6695         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
6696         (gst_pad_set_caps), (gst_pad_start_task), (gst_pad_stop_task):
6697         * gst/gstpad.h:
6698         * gst/gstparse.h:
6699         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
6700         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
6701         (gst_pipeline_get_last_stream_time):
6702         * gst/gstpipeline.h:
6703         * gst/gstpluginfeature.h:
6704         * gst/gstquery.h:
6705         * gst/gstscheduler.c:
6706         * gst/gstscheduler.h:
6707         * gst/gststructure.h:
6708         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
6709         (gst_task_finalize), (gst_task_func), (gst_task_create),
6710         (gst_task_set_lock), (gst_task_get_state), (gst_task_start),
6711         (gst_task_stop), (gst_task_pause):
6712         * gst/gsttask.h:
6713         * gst/gsttypefind.h:
6714         * gst/gsttypes.h:
6715         * gst/registries/gstlibxmlregistry.c: (load_feature),
6716         (gst_xml_registry_load), (gst_xml_registry_save_feature):
6717         * gst/registries/gstxmlregistry.c:
6718         (gst_xml_registry_start_element), (gst_xml_registry_save_feature):
6719         * gst/schedulers/threadscheduler.c:
6720         * libs/gst/control/dparammanager.h:
6721         * tools/gst-inspect.c: (print_element_list),
6722         (print_plugin_features), (print_element_features):
6723         * tools/gst-xmlinspect.c: (print_element_list),
6724         (print_plugin_info), (main):
6725         Removed plugable schedulers.
6726         Removed Scheduler/Manager from elements.
6727         Removed gsttypes.h, rearranged includes.
6728         Removed dependency pad<->element, element<>pipeline, and
6729         various others,  fix includes.
6730         implement gst_pad_get_parent() with gst_object_get_parent()
6731         Make GstTask sefcontained.
6732         Fix _get_state() on GstBin, it did not return ASYNC with a 0
6733         timeout.
6734         Fix endless loop in iterator_fold_with_resync.
6735
6736
6737 2005-07-18  Wim Taymans  <wim@fluendo.com>
6738
6739         * gst/Makefile.am:
6740         * gst/gstarch.h:
6741         Remove old file.
6742
6743 2005-07-18  Wim Taymans  <wim@fluendo.com>
6744
6745         * gst/Makefile.am:
6746         No more cothreads.h
6747
6748 2005-07-18  Wim Taymans  <wim@fluendo.com>
6749
6750         * gst/cothreads.c:
6751         * gst/cothreads.h:
6752         Let's remove these.
6753
6754 2005-07-18  Wim Taymans  <wim@fluendo.com>
6755
6756         * docs/design/part-dynamic.txt:
6757         * docs/design/part-events.txt:
6758         * docs/design/part-seeking.txt:
6759         Some more docs in the works.
6760
6761         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
6762         (gst_base_transform_getcaps), (gst_base_transform_configure_caps),
6763         (gst_base_transform_setcaps), (gst_base_transform_get_size),
6764         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
6765         (gst_base_transform_handle_buffer),
6766         (gst_base_transform_sink_activate_push),
6767         (gst_base_transform_src_activate_pull),
6768         (gst_base_transform_set_passthrough),
6769         (gst_base_transform_is_passthrough):
6770         Refcounting fixes.
6771
6772         * gst/gstbus.c: (gst_bus_source_dispatch), (gst_bus_poll):
6773         Cleanups.
6774
6775         * gst/gstevent.c: (gst_event_finalize):
6776         Set SRC to NULL.
6777
6778         * gst/gstutils.c: (gst_element_unlink),
6779         (gst_pad_get_parent_element), (gst_pad_proxy_getcaps),
6780         (gst_pad_proxy_setcaps):
6781         * gst/gstutils.h:
6782         Add _get_parent_element() to get a pads parent as an element.
6783
6784 2005-07-18  Wim Taymans  <wim@fluendo.com>
6785
6786         * check/gst/gstbin.c: (GST_START_TEST):
6787         Remove bogus test.
6788
6789 2005-07-18  Wim Taymans  <wim@fluendo.com>
6790
6791         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
6792         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
6793         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
6794         (gst_base_sink_event), (gst_base_sink_do_sync),
6795         (gst_base_sink_chain), (gst_base_sink_loop),
6796         (gst_base_sink_deactivate), (gst_base_sink_activate_push),
6797         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
6798         Refcounting fixes.
6799         Fix logic for returning ASYNC when not prerolled.
6800
6801 2005-07-18  Wim Taymans  <wim@fluendo.com>
6802
6803         * gst/gstqueue.c: (gst_queue_handle_sink_event):
6804         Fix nasty refcount bug.
6805
6806 2005-07-16 Philippe Khalaf <burger@speedy.org>
6807
6808         * gst/elements/gstfdsrc.c:
6809         * gst/elements/gstfdsrc.h:
6810         * gst/elements/gstelements.c:
6811         * gst/elements/Makefile.am:
6812         Ported fdsrc to 0.9.
6813
6814 2005-07-16  Wim Taymans  <wim@fluendo.com>
6815
6816         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
6817         (gst_base_sink_do_sync):
6818         Fix compile error.
6819
6820 2005-07-16  Wim Taymans  <wim@fluendo.com>
6821
6822         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
6823         (gst_base_sink_event), (gst_base_sink_get_times),
6824         (gst_base_sink_do_sync), (gst_base_sink_change_state):
6825         * gst/base/gstbasesink.h:
6826         Store and use discont values when syncing buffers as described
6827         in design docs.
6828         
6829         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
6830         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start),
6831         (gst_base_src_activate_push):
6832         Push discont event when starting.
6833
6834         * gst/elements/gstidentity.c: (gst_identity_transform):
6835         Small cleanups.
6836
6837         * gst/gstbin.c: (gst_bin_change_state):
6838         Small cleanups in base_time  distribution.
6839
6840         * gst/gstelement.c: (gst_element_set_base_time),
6841         (gst_element_get_base_time), (gst_element_change_state):
6842         * gst/gstelement.h:
6843         Added methods for the base_time of the element.
6844         Some MT fixes.
6845
6846         * gst/gstpipeline.c: (gst_pipeline_send_event),
6847         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
6848         (gst_pipeline_get_last_stream_time):
6849         * gst/gstpipeline.h:
6850         MT fixes.
6851         Handle seeking as described in design doc, remove stream_time
6852         hack.
6853         Cleanups clock and stream_time selection code. Added accessors
6854         for the stream_time.
6855         
6856
6857 2005-07-16  Andy Wingo  <wingo@pobox.com>
6858
6859         * gst/gsterror.c (_gst_core_errors_init): Use the magic word
6860         (#305291).
6861
6862 2005-07-16  Wim Taymans  <wim@fluendo.com>
6863
6864         * check/gst/gstbin.c: (GST_START_TEST):
6865         Make elements silent as the deep_notify refs the
6866         parent, which might make the test fail.
6867
6868         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
6869         Don't hold the lock for too long.
6870
6871 2005-07-16  Tim-Philipp Müller  <tim at centricular dot net>
6872
6873         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
6874           Don't unref the caps we passed to gst_caps_make_writable() after
6875           passing them. gst_caps_make_writable() will do that for us.
6876
6877 2005-07-15  Andy Wingo  <wingo@pobox.com>
6878
6879         * gst/gstcaps.h (gst_caps_is_simple): Removed deprecated macro
6880         (#157311).
6881
6882         * gst/elements/gstidentity.c (marshal_VOID__MINIOBJECT): Write our
6883         own marshalling function for the handoff signal. Properly type the
6884         buffer as a buffer. Fixes some warnings. Should do a more general
6885         solution.
6886         (gst_identity_class_init): Plug into the right marshaller.
6887
6888 2005-07-15  Wim Taymans  <wim@fluendo.com>
6889
6890         * docs/design/part-TODO.txt:
6891         * docs/design/part-clocks.txt:
6892         * docs/design/part-element-sink.txt:
6893         * docs/design/part-events.txt:
6894         * docs/design/part-gstpipeline.txt:
6895         Updated docs, mostly DISCONT related.
6896
6897 2005-07-15  Tim-Philipp Müller  <tim at centricular dot net>
6898
6899         * docs/pwg/building-pads.xml:
6900           s/GST_PAD_LINK_REFUSED/FALSE/ in gst_my_filter_setcaps()
6901
6902 2005-07-15  Andy Wingo  <wingo@pobox.com>
6903
6904         * tools/gst-typefind.c: Update, add copyright block.
6905
6906         * gst/base/gstbasesrc.c (gst_base_src_default_negotiate):
6907         Normalize and truncate caps before fixation.
6908
6909         * gst/gstcaps.h:
6910         * gst/gstcaps.c (gst_caps_truncate): New function, destructively
6911         discards all but the first structure from its argument.
6912
6913 2005-07-15  Wim Taymans  <wim@fluendo.com>
6914
6915         * gst/base/gstbasetransform.c: (gst_base_transform_init),
6916         (gst_base_transform_transform_caps), (gst_base_transform_getcaps),
6917         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
6918         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
6919         (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
6920         (gst_base_transform_chain), (gst_base_transform_change_state),
6921         (gst_base_transform_set_passthrough),
6922         (gst_base_transform_is_passthrough):
6923         * gst/base/gstbasetransform.h:
6924         Make passthrough work using the bufferpools.
6925         Changed API a bit, subclasses have to write into a buffer
6926         provided by the base class.
6927         More debug info in nego functions.
6928         
6929         * gst/elements/gstidentity.c: (gst_identity_init),
6930         (gst_identity_transform):
6931         Port to new base class.
6932
6933 2005-07-15  Wim Taymans  <wim@fluendo.com>
6934
6935         * gst/gstmessage.c: (gst_message_new_state_changed):
6936         * tools/gst-launch.c: (event_loop), (main):
6937         Totally dump messages in -launch with the -m option.
6938         Fix message name for State messages,
6939
6940 2005-07-14  Wim Taymans  <wim@fluendo.com>
6941
6942         * gst/base/gstbasesrc.c: (gst_base_src_loop):
6943         Post error messages on errors.
6944
6945 2005-07-14  Wim Taymans  <wim@fluendo.com>
6946
6947         * gst/gstcaps.c: (gst_caps_do_simplify):
6948         Remove debug info.
6949
6950         * gst/gsterror.h:
6951         Define error for stream stopped.
6952
6953         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
6954         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange):
6955         Do proper return values.
6956
6957         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
6958         (gst_pad_set_caps), (gst_pad_chain), (gst_pad_push),
6959         (gst_pad_get_range):
6960         Better return values.
6961
6962         * gst/gstpad.h:
6963         Reorganise return values, add macro to check for fatal errors.
6964
6965         * gst/gstqueue.c: (gst_queue_chain):
6966         Return proper GstFlowReturn values,
6967
6968 2005-07-14  Thomas Vander Stichele  <thomas at apestaart dot org>
6969
6970         * docs/gst/gstreamer-sections.txt:
6971         * docs/gst/gstreamer.types:
6972         * docs/gst/tmpl/gst.sgml:
6973         * docs/gst/tmpl/gstbasesink.sgml:
6974         * docs/gst/tmpl/gstbasesrc.sgml:
6975         * docs/gst/tmpl/gstbasetransform.sgml:
6976         * docs/gst/tmpl/gstbin.sgml:
6977         * docs/gst/tmpl/gstbuffer.sgml:
6978         * docs/gst/tmpl/gstcaps.sgml:
6979         * docs/gst/tmpl/gstclock.sgml:
6980         * docs/gst/tmpl/gstcompat.sgml:
6981         * docs/gst/tmpl/gstconfig.sgml:
6982         * docs/gst/tmpl/gstelement.sgml:
6983         * docs/gst/tmpl/gstelementdetails.sgml:
6984         * docs/gst/tmpl/gstelementfactory.sgml:
6985         * docs/gst/tmpl/gstenumtypes.sgml:
6986         * docs/gst/tmpl/gsterror.sgml:
6987         * docs/gst/tmpl/gstevent.sgml:
6988         * docs/gst/tmpl/gstfakesink.sgml:
6989         * docs/gst/tmpl/gstfakesrc.sgml:
6990         * docs/gst/tmpl/gstfilesink.sgml:
6991         * docs/gst/tmpl/gstfilesrc.sgml:
6992         * docs/gst/tmpl/gstfilter.sgml:
6993         * docs/gst/tmpl/gstformat.sgml:
6994         * docs/gst/tmpl/gstghostpad.sgml:
6995         * docs/gst/tmpl/gstimplementsinterface.sgml:
6996         * docs/gst/tmpl/gstindex.sgml:
6997         * docs/gst/tmpl/gstindexfactory.sgml:
6998         * docs/gst/tmpl/gstinfo.sgml:
6999         * docs/gst/tmpl/gstiterator.sgml:
7000         * docs/gst/tmpl/gstmacros.sgml:
7001         * docs/gst/tmpl/gstmemchunk.sgml:
7002         * docs/gst/tmpl/gstminiobject.sgml:
7003         * docs/gst/tmpl/gstobject.sgml:
7004         * docs/gst/tmpl/gstpad.sgml:
7005         * docs/gst/tmpl/gstpadtemplate.sgml:
7006         * docs/gst/tmpl/gstparse.sgml:
7007         * docs/gst/tmpl/gstpipeline.sgml:
7008         * docs/gst/tmpl/gstplugin.sgml:
7009         * docs/gst/tmpl/gstpluginfeature.sgml:
7010         * docs/gst/tmpl/gstquery.sgml:
7011         * docs/gst/tmpl/gstqueue.sgml:
7012         * docs/gst/tmpl/gstregistry.sgml:
7013         * docs/gst/tmpl/gstregistrypool.sgml:
7014         * docs/gst/tmpl/gstscheduler.sgml:
7015         * docs/gst/tmpl/gstschedulerfactory.sgml:
7016         * docs/gst/tmpl/gststructure.sgml:
7017         * docs/gst/tmpl/gstsystemclock.sgml:
7018         * docs/gst/tmpl/gsttaglist.sgml:
7019         * docs/gst/tmpl/gsttagsetter.sgml:
7020         * docs/gst/tmpl/gsttrace.sgml:
7021         * docs/gst/tmpl/gsttrashstack.sgml:
7022         * docs/gst/tmpl/gsttypefind.sgml:
7023         * docs/gst/tmpl/gsttypefindfactory.sgml:
7024         * docs/gst/tmpl/gsttypes.sgml:
7025         * docs/gst/tmpl/gsturihandler.sgml:
7026         * docs/gst/tmpl/gsturitype.sgml:
7027         * docs/gst/tmpl/gstutils.sgml:
7028         * docs/gst/tmpl/gstvalue.sgml:
7029         * docs/gst/tmpl/gstversion.sgml:
7030         * docs/gst/tmpl/gstxml.sgml:
7031         * docs/libs/tmpl/gstcontrol.sgml:
7032         * docs/libs/tmpl/gstdataprotocol.sgml:
7033         * docs/libs/tmpl/gstdparam.sgml:
7034         * docs/libs/tmpl/gstdplinint.sgml:
7035         * docs/libs/tmpl/gstdpman.sgml:
7036         * docs/libs/tmpl/gstdpsmooth.sgml:
7037         * docs/libs/tmpl/gstgetbits.sgml:
7038         * docs/libs/tmpl/gstunitconvert.sgml:
7039         * gst/base/gstpushsrc.c: (gst_push_src_get_type),
7040         (gst_push_src_base_init), (gst_push_src_class_init),
7041         (gst_push_src_init), (gst_push_src_create):
7042         * gst/base/gstpushsrc.h:
7043         * gst/elements/gstelements.c:
7044         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type),
7045         (gst_fake_sink_base_init), (gst_fake_sink_class_init),
7046         (gst_fake_sink_init), (gst_fake_sink_set_property),
7047         (gst_fake_sink_get_property), (gst_fake_sink_get_times),
7048         (gst_fake_sink_event), (gst_fake_sink_preroll),
7049         (gst_fake_sink_render), (gst_fake_sink_change_state):
7050         * gst/elements/gstfakesink.h:
7051         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
7052         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
7053         (gst_fake_src_base_init), (gst_fake_src_class_init),
7054         (gst_fake_src_init), (gst_fake_src_event_handler),
7055         (gst_fake_src_alloc_parent), (gst_fake_src_set_property),
7056         (gst_fake_src_get_property), (gst_fake_src_prepare_buffer),
7057         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size),
7058         (gst_fake_src_create_buffer), (gst_fake_src_create),
7059         (gst_fake_src_start), (gst_fake_src_stop):
7060         * gst/elements/gstfakesrc.h:
7061         * gst/elements/gstfilesink.c: (_do_init),
7062         (gst_file_sink_base_init), (gst_file_sink_class_init),
7063         (gst_file_sink_init), (gst_file_sink_dispose),
7064         (gst_file_sink_set_location), (gst_file_sink_set_property),
7065         (gst_file_sink_get_property), (gst_file_sink_open_file),
7066         (gst_file_sink_close_file), (gst_file_sink_query),
7067         (gst_file_sink_event), (gst_file_sink_render),
7068         (gst_file_sink_change_state), (gst_file_sink_uri_get_type),
7069         (gst_file_sink_uri_get_protocols), (gst_file_sink_uri_get_uri),
7070         (gst_file_sink_uri_set_uri), (gst_file_sink_uri_handler_init):
7071         * gst/elements/gstfilesink.h:
7072         * gst/elements/gstfilesrc.c: (_do_init), (gst_file_src_base_init),
7073         (gst_file_src_class_init), (gst_file_src_init),
7074         (gst_file_src_finalize), (gst_file_src_set_location),
7075         (gst_file_src_set_property), (gst_file_src_get_property),
7076         (gst_file_src_map_region), (gst_file_src_map_small_region),
7077         (gst_file_src_create_mmap), (gst_file_src_create_read),
7078         (gst_file_src_create), (gst_file_src_is_seekable),
7079         (gst_file_src_get_size), (gst_file_src_start), (gst_file_src_stop),
7080         (gst_file_src_uri_get_type), (gst_file_src_uri_get_protocols),
7081         (gst_file_src_uri_get_uri), (gst_file_src_uri_set_uri),
7082         (gst_file_src_uri_handler_init):
7083         * gst/elements/gstfilesrc.h:
7084           more autistic cleanliness in functions/names/defines
7085
7086 2005-07-13  Andy Wingo  <wingo@pobox.com>
7087
7088         * gst/base/gstbasesrc.c (gst_base_src_start): Post an error if the
7089         source couldn't negotiate.
7090
7091         * gst/parse/grammar.y: Revert 1.54->1.55, so we now do filtered
7092         connections again.
7093
7094         * gst/gstutils.h:
7095         * gst/gstutils.c (gst_element_link_pads_filtered): New old
7096         function. I am channeling Hades. Put your boots on suckers!!!
7097
7098 2005-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
7099
7100         * testsuite/caps/Makefile.am:
7101         * testsuite/caps/value_compare.c:
7102         * testsuite/caps/value_intersect.c:
7103         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
7104           move two testsuite apps over to the check dir
7105
7106 2005-07-12  Wim Taymans  <wim@fluendo.com>
7107
7108         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
7109         Added more debug info in the negotiate process.
7110
7111         * gst/gstmessage.h:
7112         Prepare for segment playback.
7113
7114         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps):
7115         Better debugging.
7116
7117         * gst/gstutils.c:
7118         Some more docs.
7119
7120         * tools/gst-launch.c: (main):
7121         NULL pipeline on errors.
7122
7123 2005-07-12  Andy Wingo  <wingo@pobox.com>
7124
7125         * gst/gstbuffer.c (_gst_buffer_copy): Copy the buffer whether or
7126         not it comes from a malloc region. Make sure our copy gets freed.
7127
7128 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
7129
7130         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
7131         * check/gst/gstmessage.c: (GST_START_TEST):
7132         * check/gst/gststructure.c: (GST_START_TEST),
7133         (gst_structure_suite), (main):
7134           more testing
7135         * gst/gstelement.c: (gst_element_message_full):
7136           clean up GError and debug string now that they get copied
7137         * gst/gstmessage.c: (gst_message_new_error),
7138         (gst_message_new_warning), (gst_message_parse_error),
7139         (gst_message_parse_warning):
7140           use GST_TYPE_G_ERROR for structure_new, and take copies of
7141           arguments, so that we don't mess up refcounting
7142
7143 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
7144
7145         * check/Makefile.am:
7146           add per-test valgrind targets
7147         * check/gst-libs/gdp.c: (GST_START_TEST),
7148         (gst_data_protocol_suite), (main):
7149           clean up
7150
7151 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
7152
7153         * check/Makefile.am:
7154           instate more valgrindable tests
7155         * check/elements/gstfakesrc.c: (chain_func), (event_func),
7156         (GST_START_TEST), (fakesrc_suite):
7157         * check/gst/gstpad.c: (GST_START_TEST):
7158         * check/gst/gststructure.c: (GST_START_TEST):
7159           fix test leaks
7160         * docs/gst/tmpl/gstminiobject.sgml:
7161         * gst/gstpad.c: (gst_pad_finalize):
7162           fix the static mutex leak
7163
7164 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
7165
7166         * check/Makefile.am:
7167           add two more tests for valgrinding
7168         * check/gst/gstvalue.c: (GST_START_TEST):
7169           test refcount of deserialized buffer, found a leak
7170         * docs/gst/gstreamer-docs.sgml:
7171         * docs/gst/gstreamer-sections.txt:
7172         * docs/gst/gstreamer.types:
7173         * docs/gst/tmpl/gstminiobject.sgml:
7174           add miniobject to docs
7175         * gst/gstminiobject.c:
7176           add some docs
7177         * gst/gstvalue.c: (gst_value_deserialize_buffer),
7178         (gst_string_unwrap):
7179           fix a hard-to-find invalid write for one of the tests
7180           fix a leak for deserialized buffers
7181
7182 2005-07-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7183
7184         * docs/pwg/advanced-events.xml:
7185         * docs/pwg/advanced-request.xml:
7186         * docs/pwg/advanced-scheduling.xml:
7187         * docs/pwg/appendix-porting.xml:
7188         * docs/pwg/building-boiler.xml:
7189         * docs/pwg/intro-preface.xml:
7190         * docs/pwg/other-ntoone.xml:
7191           Rewrite scheduling-chapter for scheduling model in 0.9. Add lots
7192           of example code and explanation for pad activation, loop() and
7193           getrange() functions and a bit more. Remove old comments pointing
7194           to loop-functions.
7195         * examples/pwg/Makefile.am:
7196           Add loop/getrange examples.
7197
7198 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
7199
7200         * configure.ac:
7201           check for valgrind binary + some fixes
7202         * check/gst.supp:
7203           valgrind suppressions for the tests
7204         * check/Makefile.am:
7205           add a valgrind: target that valgrinds the unit tests
7206         * check/gst/gst.c: (GST_START_TEST), (gst_suite):
7207         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
7208         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
7209         * check/gst/gstghostpad.c:
7210           added some cleanup
7211         * check/gst/gstdata.c:
7212           removed
7213         * check/gst/gstminiobject.c: (GST_START_TEST), (thread_ref),
7214         (thread_unref), (gst_mini_object_suite), (main):
7215           added
7216         * gst/gst.c: (gst_deinit):
7217         * gst/gst.h:
7218           add a method to clean up.
7219         * gst/gstsystemclock.c: (gst_system_clock_dispose),
7220         (gst_system_clock_obtain):
7221           allow for disposing the system clock.
7222         * tools/gst-launch.c: (main):
7223           deinit
7224
7225 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
7226
7227         * docs/gst/tmpl/gstbasesrc.sgml:
7228         * docs/gst/tmpl/gstfakesrc.sgml:
7229         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
7230         (gst_base_src_init), (gst_base_src_set_property),
7231         (gst_base_src_get_property), (gst_base_src_get_range),
7232         (gst_base_src_start):
7233         * gst/base/gstbasesrc.h:
7234           add num-buffers property
7235         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
7236         (gst_fakesrc_init), (gst_fakesrc_set_property),
7237         (gst_fakesrc_get_property), (gst_fakesrc_create),
7238         (gst_fakesrc_start):
7239           remove num-buffers property
7240
7241 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
7242
7243         * docs/gst/gstreamer-sections.txt:
7244         * docs/gst/tmpl/gstbasesink.sgml:
7245         * docs/gst/tmpl/gstbasesrc.sgml:
7246         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
7247         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
7248         (gst_base_sink_finalize), (gst_base_sink_set_clock),
7249         (gst_base_sink_set_property), (gst_base_sink_get_property),
7250         (gst_base_sink_handle_object), (gst_base_sink_event),
7251         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
7252         (gst_base_sink_handle_buffer), (gst_base_sink_chain),
7253         (gst_base_sink_loop), (gst_base_sink_deactivate),
7254         (gst_base_sink_activate_push), (gst_base_sink_activate_pull),
7255         (gst_base_sink_change_state):
7256         * gst/base/gstbasesink.h:
7257         * gst/base/gstbasesrc.h:
7258         * gst/elements/gstfakesink.c: (gst_fakesink_get_times):
7259         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
7260         (gst_filesink_init):
7261           more macro splitting
7262
7263 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
7264
7265         * gst/gstelement.c: (gst_element_get_bus):
7266           add debug
7267         * tools/gst-launch.c: (check_intr), (event_loop):
7268           fix bus leaks
7269
7270 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
7271
7272         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
7273           fix a caps leak
7274
7275 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
7276
7277         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
7278         (gst_base_src_finalize):
7279           add finalize method and clean up properly
7280         * gst/gstpipeline.c: (gst_pipeline_dispose):
7281           add debug
7282
7283 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
7284
7285         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST),
7286         (gst_bin_suite):
7287           add more things to check
7288         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
7289         * gst/gstelement.c:
7290           more debug
7291
7292 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
7293
7294         * check/elements/gstfakesrc.c: (chain_func), (event_func),
7295         (GST_START_TEST), (fakesrc_suite):
7296         * check/gst-libs/gdp.c: (GST_START_TEST):
7297         * check/gst/gst.c: (GST_START_TEST):
7298         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
7299         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
7300         * check/gst/gstbus.c: (GST_START_TEST):
7301         * check/gst/gstcaps.c: (GST_START_TEST):
7302         * check/gst/gstdata.c: (GST_START_TEST):
7303         * check/gst/gstelement.c: (GST_START_TEST):
7304         * check/gst/gstghostpad.c: (GST_START_TEST):
7305         * check/gst/gstiterator.c: (GST_START_TEST):
7306         * check/gst/gstmessage.c: (GST_START_TEST):
7307         * check/gst/gstobject.c: (GST_START_TEST):
7308         * check/gst/gstpad.c: (GST_START_TEST):
7309         * check/gst/gststructure.c: (GST_START_TEST):
7310         * check/gst/gstsystemclock.c: (GST_START_TEST),
7311         (gst_systemclock_suite):
7312         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
7313         * check/gst/gstvalue.c: (GST_START_TEST):
7314         * check/pipelines/cleanup.c: (GST_START_TEST):
7315         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
7316         * check/states/sinks.c: (GST_START_TEST):
7317         * check/gstcheck.c: (gst_check_init):
7318         * check/gstcheck.h:
7319           add debugging category
7320           use GST_START_TEST now, so we add a debug line
7321
7322 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
7323
7324         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite):
7325           add test for state change message on a bin
7326         * check/gst/gstelement.c: (START_TEST), (gst_element_suite):
7327           add another test
7328         * gst/gstbin.c: (gst_bin_init):
7329         * gst/gstbus.c: (gst_bus_init), (gst_bus_post):
7330         * gst/gstelement.c: (gst_element_post_message),
7331         (gst_element_set_state):
7332         * gst/gstelementfactory.c: (gst_element_factory_create):
7333         * gst/gstmessage.c: (gst_message_new):
7334         * gst/gstscheduler.c:
7335           various debugging additions and cleanups
7336
7337 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
7338
7339         * check/Makefile.am:
7340         * check/gst/gstelement.c: (START_TEST), (gst_element_suite),
7341         (main):
7342           adding tests for elements
7343         * gst/gstelement.c: (gst_element_dispose):
7344
7345 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
7346
7347         * gst/registries/gstlibxmlregistry.c: (load_feature):
7348           plug more leaks.  A simple gst_init() now is leakfree, yay.
7349
7350 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
7351
7352         * gst/registries/gstlibxmlregistry.c: (read_string), (load_paths),
7353         (gst_xml_registry_load):
7354           plug another memleak
7355
7356 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
7357
7358         * configure.ac:
7359           use GST_SET_ERROR_CFLAGS
7360         * docs/faq/cvs.xml:
7361           change to ERROR_CFLAGS
7362
7363 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
7364
7365         * configure.ac:
7366           make GST_ERROR_CFLAGS overridable and re-enable Werror
7367         * docs/faq/cvs.xml:
7368           add a note about error CFLAGS
7369         * docs/gst/tmpl/gstfakesrc.sgml:
7370         * gst/elements/gstfakesrc.c:
7371           comment out some unused code
7372         * gst/gst.c: (split_and_iterate):
7373         * gst/registries/gstlibxmlregistry.c: (load_pad_template),
7374         (load_feature):
7375           plug some memleaks
7376
7377 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
7378
7379         * common/Makefile.am:
7380         * common/gtk-doc.mak:
7381         * docs/gst/Makefile.am:
7382           factor out gtk-doc.mak
7383
7384 2005-07-07  Wim Taymans  <wim@fluendo.com>
7385
7386         * gst/schedulers/threadscheduler.c: (gst_thread_scheduler_func),
7387         (gst_thread_scheduler_dispose):
7388         Unlock the STREAM_LOCK completely.
7389
7390 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
7391
7392         * check/Makefile.am:
7393         * check/elements/.cvsignore:
7394         * check/elements/gstfakesrc.c: (chain_func), (event_func),
7395         (START_TEST), (fakesrc_suite), (main):
7396         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
7397         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
7398         (gst_fakesrc_create), (gst_fakesrc_start):
7399         * gst/elements/gstfakesrc.h:
7400           adding a first element test
7401
7402 2005-07-07  Andy Wingo  <wingo@pobox.com>
7403
7404         * gst/gstbus.c (gst_bus_have_pending): Remove intensely irritating
7405         debug message.
7406
7407 2005-07-07  Wim Taymans  <wim@fluendo.com>
7408
7409         * gst/gstquery.c:
7410         * gst/gstquery.h:
7411         Remove old types
7412
7413 2005-07-07  Wim Taymans  <wim@fluendo.com>
7414
7415         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
7416         (gst_base_src_default_negotiate), (gst_base_src_negotiate):
7417         Allow subclasses to implement their own negotiation.
7418
7419 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
7420
7421         * docs/design/part-gstbin.txt:
7422         * docs/design/part-gstpipeline.txt:
7423           Update design notes to reflect the movement of
7424           responsibility for bus handling from GstPipeline to
7425           GstBin
7426
7427 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
7428
7429         * configure.ac:
7430           Remove unnecessary queue2/3/4 examples.
7431
7432 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
7433
7434         * examples/Makefile.am:
7435         * examples/helloworld/helloworld.c: (event_loop), (main):
7436         * examples/queue/queue.c: (event_loop), (main):
7437         * examples/queue2/queue2.c: (main):
7438           Update a couple of the examples to work again.
7439
7440         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
7441         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_event):
7442          Spelling corrections and extra debug.
7443         
7444         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init), (is_eos),
7445         (gst_bin_add_func), (bin_element_is_sink), (gst_bin_get_state),
7446         (gst_bin_change_state), (gst_bin_dispose), (bin_bus_handler):
7447         * gst/gstbin.h:
7448         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
7449         (gst_pipeline_change_state):
7450         * gst/gstpipeline.h:
7451           Move the bus handler for children to the GstBin, and create a
7452           separate bus for receiving messages from children to the one the
7453           bus sends 'upwards' on.
7454
7455 2005-07-06  Wim Taymans  <wim@fluendo.com>
7456
7457         * gst/base/README:
7458         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
7459         (gst_base_sink_handle_object), (gst_base_sink_loop),
7460         (gst_base_sink_change_state):
7461         * gst/base/gstbasesink.h:
7462         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
7463         (gst_base_src_init), (gst_base_src_setcaps),
7464         (gst_base_src_getcaps), (gst_base_src_loop),
7465         (gst_base_src_default_negotiate), (gst_base_src_negotiate),
7466         (gst_base_src_start), (gst_base_src_change_state):
7467         * gst/base/gstbasesrc.h:
7468         Make basesrc negotiate.
7469         Handle the case where preroll fails in basesink.
7470         Update README.
7471
7472 2005-07-06  Wim Taymans  <wim@fluendo.com>
7473
7474         * gst/gstpad.c: (gst_pad_fixate_caps), (gst_pad_accept_caps):
7475         Implement the fixate function.
7476         Clean up acceptcaps.
7477
7478 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7479
7480         * docs/pwg/building-filterfactory.xml:
7481         * docs/pwg/pwg.xml:
7482           Remove never-written filter-factory chapter; I'll add the various
7483           base classes to part 4 ("other element types") later on.
7484
7485 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7486
7487         * docs/pwg/advanced-negotiation.xml:
7488         * docs/pwg/building-boiler.xml:
7489         * docs/pwg/building-pads.xml:
7490         * docs/pwg/pwg.xml:
7491         * examples/pwg/Makefile.am:
7492           Add a chapter on caps negotiation, simplify the original code
7493           samples a bit w.r.t. caps negotiation, add link to the advanced
7494           section. Add a bunch of examples showing different use cases of
7495           different types of caps negotiation. Upstream renegotiation isn't
7496           fully documented yet since nobody knows how that works.
7497
7498 2005-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
7499
7500         * check/gst/gstpad.c:
7501         * check/gstcheck.c:
7502         * gst/gstpad.c: (gst_pad_get_internal_links_default):
7503           if pad has no parent, return NULL as list of internal links
7504
7505 2005-07-05  Andy Wingo  <wingo@pobox.com>
7506
7507         * gst/elements/gstfilesrc.c:
7508         * gst/elements/gstfakesrc.c: 
7509         * gst/base/gstpushsrc.c:
7510         * gst/base/gstbasesrc.h: 
7511         * gst/base/gstbasesrc.c: s/BASESRC/BASE_SRC/g.
7512         
7513 2005-07-05  Stefan Kost  <ensonic@users.sf.net>
7514
7515         * Makefile.am:
7516           better report generation target (lcov needs a patch)
7517
7518 2005-07-05  Andy Wingo  <wingo@pobox.com>
7519
7520         * gst/elements, testsuite: Null if we got it...
7521
7522 2005-07-05  Wim Taymans  <wim@fluendo.com>
7523
7524         * configure.ac:
7525         * libs/gst/dataprotocol/Makefile.am:
7526         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_validate_packet):
7527         * libs/gst/dataprotocol/dataprotocol.h:
7528         * pkgconfig/Makefile.am:
7529         * pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in:
7530         * pkgconfig/gstreamer-dataprotocol.pc.in:
7531         Ported dataprotol to 0.9. 
7532         Added pkgconfig files.
7533
7534 2005-07-05  Andy Wingo  <wingo@pobox.com>
7535
7536         * gst/base/gstbasetransform.c (gst_base_transform_setcaps):
7537         Default to returning TRUE for the case when tranform_caps returns
7538         a fixed caps, like for identity or volume.
7539
7540         * check/gst/gstbus.c (pound_bus_with_messages): 
7541         * check/gst/gstmessage.c (START_TEST): 
7542         * check/pipelines/simple_launch_lines.c (got_handoff): Application
7543         message API change.
7544
7545         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): More
7546         logic weaks here: always run transform_caps, trying passthrough
7547         operation only if the original caps intersects with the transform.
7548
7549         * gst/gstpad.c (gst_pad_link_check_compatible_unlocked): Debug
7550         source and sink caps.
7551
7552         * gst/base/gstbasetransform.c (gst_base_transform_getcaps):
7553         Intersect the peer caps with the pad template before going into
7554         transform_caps.
7555         (gst_base_transform_transform_caps): More debugging.
7556
7557         * gst/gstmessage.h (gst_message_new_application): Take a GstObject
7558         src argument.
7559
7560 2005-07-04  Edward Hervey  <edward@fluendo.com>
7561
7562         * gst/gstutils.c:
7563         * gst/gstutils.h:
7564         (gst_pad_add_*_probe): now returns the signal id for better wrapping
7565         in bindings.
7566
7567 2005-07-04  Andy Wingo  <wingo@pobox.com>
7568
7569         * check/gst/gstpad.c: Only set explicit caps on pads.
7570
7571 2005-07-01  Andy Wingo  <wingo@pobox.com>
7572
7573         * tests/network-clock.scm: Commentary update.
7574
7575         * gst/elements/gstidentity.c (PROP_DUPLICATE): Gone daddy gone.
7576         Didn't really make sense, not implementable with basetransform,
7577         etc.
7578         (gst_identity_transform): Unref inbuf via make_writable. Feeble
7579         attempt at implementing the sync property, needs an unlock method.
7580
7581         * gst/base/gstbasetransform.c (gst_base_transform_transform_caps):
7582         New func, by default returns the same caps (the identity
7583         transformation).
7584         (gst_base_transform_getcaps): Uses transform_caps to return
7585         something sensible.
7586         (gst_base_transform_setcaps): Complicated logic to get caps on
7587         both pads, even if they are different, and to call set_caps once
7588         for every time both pads get their caps set.
7589         (gst_base_transform_handle_buffer): Give the ref to the transform
7590         function. Allows in-place modification of the buffer.
7591
7592         * gst/base/gstbasetransform.h (transform_caps): New class method.
7593         Given caps on one side, what can I do on the other.
7594         (set_caps): Take two caps, one for each side of the element.
7595
7596         * gst/gstpad.h:
7597         * gst/gstpad.c (gst_pad_fixate_caps): Change prototype to modify
7598         caps in place. This is safe because we can check the mutability of
7599         the caps, and a good idea because fixate functions are just called
7600         as a matter of last resort. (Not actually implemented.)
7601         (gst_pad_set_caps): If the caps we're setting is actually the same
7602         as the existing pad caps, just update the pointer without calling
7603         setcaps. Assert that caps is either NULL or fixed, as per the
7604         docs.
7605
7606         * gst/gstghostpad.c: Update for fixate changes.
7607
7608 2005-07-02  Andy Wingo  <wingo@pobox.com>
7609
7610         * gst/gstcaps.c:
7611         * gst/gstcaps.h (gst_static_caps_get): Not const return, having
7612         two refcounts makes it immutable, which is enough. Doc more.
7613
7614 2005-07-02  Jan Schmidt  <thaytan@mad.scientist.com>
7615
7616         * gst/gstpad.c: (gst_pad_emit_have_data_signal):
7617           Put the mini_object into GValue as a mini_object,
7618           not a gpointer, since that's how we declared
7619           the signal.
7620
7621 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7622
7623         * examples/pwg/Makefile.am:
7624           Fix buildbot again.
7625
7626 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7627
7628         * docs/pwg/building-testapp.xml:
7629           Add extra check.
7630         * examples/pwg/Makefile.am:
7631           Fix buildbot.
7632
7633 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7634
7635         * configure.ac:
7636         * examples/Makefile.am:
7637         * examples/pwg/Makefile.am:
7638         * examples/pwg/extract.pl:
7639           Enable building the PWG examples.
7640         * docs/pwg/advanced-interfaces.xml:
7641           Add URI interface stub.
7642         * docs/pwg/advanced-types.xml:
7643         * docs/pwg/other-autoplugger.xml:
7644         * docs/pwg/appendix-porting.xml:
7645         * docs/pwg/pwg.xml:
7646           Add porting guide (mostly stubs), remove autoplugging (see ADM).
7647         * docs/pwg/building-boiler.xml:
7648         * docs/pwg/building-chainfn.xml:
7649         * docs/pwg/building-pads.xml:
7650         * docs/pwg/building-props.xml:
7651         * docs/pwg/building-state.xml:
7652         * docs/pwg/building-testapp.xml:
7653           Update the building-*.xml parts for 0.9 changes. All examples
7654           code blocks compile in examples/pwg/*.
7655
7656 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7657
7658         * docs/manual/advanced-autoplugging.xml:
7659         * docs/manual/appendix-checklist.xml:
7660         * docs/manual/appendix-integration.xml:
7661         * docs/manual/highlevel-components.xml:
7662           Fix playbin/decodebin examples, update docs a bit, mention bus
7663           instead of signals in various places, mention kmplayer and
7664           kaffeine since they have a working GStreamer backend in the KDE
7665           section.
7666
7667 2005-06-30  Wim Taymans  <wim@fluendo.com>
7668
7669         * CHANGES-0.9:
7670         * docs/design/draft-ghostpads.txt:
7671         * docs/design/draft-push-pull.txt:
7672         * docs/design/draft-query.txt:
7673         * docs/design/part-TODO.txt:
7674         * docs/design/part-query.txt:
7675         Added CHANGES-0.9 doc, updated status of other docs.
7676         
7677         * gst/gstquery.h:
7678         Remove "hmm" macro
7679
7680 2005-06-30  Wim Taymans  <wim@fluendo.com>
7681
7682         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
7683         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
7684         (gst_base_sink_change_state):
7685         * gst/base/gstbasesink.h:
7686         Some tweaks, only EOS and a buffer complete a preroll.
7687
7688 2005-06-30  Andy Wingo  <wingo@pobox.com>
7689
7690         * gst/gstghostpad.c (gst_ghost_pad_do_activate_push): Proxy
7691         activate_push down to the internal pad as well.
7692
7693 2005-06-30  Torsten Schoenfeld  <kaffeetisch@gmx.de>
7694
7695         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7696
7697         * gst/gsttaginterface.c:
7698           Some documentation fixes (#307394 and #307397).
7699
7700 2005-06-30  Antoine Tremblay  <hexa00@gmail.com>
7701
7702         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7703
7704         * gst/gstvalue.c: (gst_value_intersect_list):
7705           Fix memleak (#309125).
7706
7707 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7708
7709         * docs/manual/advanced-dataaccess.xml:
7710           Fix fakesrc example to compile; doesn't work, bug somewhere...?
7711         * docs/manual/basics-pads.xml:
7712           Add reference for filtered caps to above chapter.
7713
7714 2005-06-30  Wim Taymans  <wim@fluendo.com>
7715
7716         * gst/gstbin.c: (clear_queue), (remove_all_from_queue),
7717         (gst_bin_change_state):
7718         Probes are gone.
7719         Lame attempt at making the state change function a bit
7720         more readable.
7721
7722 2005-06-30  Wim Taymans  <wim@fluendo.com>
7723
7724         * docs/design/part-clocks.txt:
7725         * docs/design/part-element-sink.txt:
7726         * docs/design/part-events.txt:
7727         * docs/design/part-preroll.txt:
7728         * docs/design/part-states.txt:
7729         Some more tweeks and additions to the docs.
7730
7731 2005-06-30  Wim Taymans  <wim@fluendo.com>
7732
7733         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
7734         (default_have_data), (gst_pad_class_init), (gst_pad_init),
7735         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
7736         (gst_pad_check_pull_range), (gst_pad_get_range),
7737         (gst_pad_pull_range), (gst_pad_push_event), (gst_pad_send_event):
7738         * gst/gstpad.h:
7739         * gst/gstutils.c: (gst_atomic_int_set), (gst_pad_add_data_probe),
7740         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
7741         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
7742         (gst_pad_remove_buffer_probe):
7743         Removed atomic operations, use existing LOCK.
7744         Move exception handling out of main code path.
7745
7746 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7747
7748         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
7749         (silly_return_true_function), (gst_pad_class_init),
7750         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
7751         (gst_pad_get_range), (gst_pad_pull_range), (gst_pad_push_event),
7752         (gst_pad_send_event):
7753           Fix accumulator, add default value by using _emitv() instead
7754           of _emit() for signal emission.
7755
7756 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7757
7758         * docs/manual/advanced-dataaccess.xml:
7759         * examples/manual/Makefile.am:
7760           Add probe example.
7761         * gst/gstpad.c: (_gst_do_pass_data_accumulator):
7762           Make work (??).
7763
7764 2005-06-29  Tim-Philipp Müller  <tim at centricular dot net>
7765
7766         * gst/elements/gstfilesink.c: (gst_filesink_render):
7767           Simplify code so that we don't have to handle short
7768           writes and return GST_FLOW_ERROR if an error occured.
7769
7770 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7771
7772         * docs/gst/gstreamer-docs.sgml:
7773           Remove probes more.
7774
7775 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7776
7777         * docs/gst/gstreamer-sections.txt:
7778         * docs/gst/tmpl/gstpad.sgml:
7779         * docs/gst/tmpl/gstprobe.sgml:
7780         * gst/Makefile.am:
7781         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
7782         (gst_pad_class_init), (gst_pad_init), (gst_pad_chain),
7783         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
7784         (gst_pad_push_event), (gst_pad_send_event):
7785         * gst/gstpad.h:
7786         * gst/gstutils.c: (gst_pad_add_data_probe),
7787         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
7788         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
7789         (gst_pad_remove_buffer_probe):
7790         * gst/gstutils.h:
7791           Remove old probes, add new g-signal-based probes and some utility
7792           functions.
7793
7794 2005-06-29  Edward Hervey  <edward@fluendo.com>
7795
7796         * gst/gstelementfactory.c:
7797         * gst/gstutils.h:
7798         * gst/gstutils.c:
7799         Moved gst_element_factory_can_[sink|src]_caps() to gstutils and added
7800         the definition to the header file.
7801
7802 2005-06-29  Andy Wingo  <wingo@pobox.com>
7803
7804         * docs/gst/Makefile.am (scan-build.stamp): Totally only check
7805         plugins from the source directory.
7806
7807 2005-06-29  Wim Taymans  <wim@fluendo.com>
7808
7809         * docs/gst/tmpl/gstbuffer.sgml:
7810         * docs/gst/tmpl/gstclock.sgml:
7811         Some fixings for blantently wrong text.
7812
7813 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
7814
7815         * check/Makefile.am:
7816         * gst/gst.c: (add_path_func), (init_pre):
7817         * gst/gstregistry.c: (gst_registry_add_path):
7818           add A GST_PLUGIN_PATH_ONLY env var; if it is set, it will
7819           only scan the GST_PLUGIN_PATH locations, and not add
7820           system locations
7821
7822 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
7823
7824         * docs/gst/gstreamer-sections.txt:
7825         * docs/gst/tmpl/gstbasesrc.sgml:
7826         * gst/gstelement.c:
7827         * gst/gstelement.h:
7828         * gst/gstevent.c:
7829         * gst/gstutils.c:
7830           doc fixes
7831
7832 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7833
7834         * docs/manual/advanced-autoplugging.xml:
7835           Fix autoplugging example.
7836
7837 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7838
7839         * docs/manual/advanced-autoplugging.xml:
7840         * docs/manual/mime-world.fig:
7841           Try to get autoplugging working, fix type detection. Fix text
7842           in hello-world image.
7843
7844 2005-06-29  Wim Taymans  <wim@fluendo.com>
7845
7846         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
7847         (gst_base_sink_change_state):
7848         Small debug line.
7849
7850         * gst/gstclock.h:
7851         map SIGNAL and BROADCAST to the right function.
7852
7853         * gst/gstobject.h:
7854         Remove redundant braces.
7855
7856         * gst/gstpad.c: (gst_pad_set_caps):
7857         Don't call setcaps function when reseting caps to NULL.
7858
7859         * gst/gstsystemclock.c: (gst_system_clock_dispose),
7860         (gst_system_clock_async_thread), (gst_system_clock_id_wait_async),
7861         (gst_system_clock_id_unschedule):
7862         Use BROADCAST as this is what we do.
7863
7864 2005-06-29  Wim Taymans  <wim@fluendo.com>
7865
7866         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
7867         We are actually prerolling before commiting the state
7868         change. 
7869
7870 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7871
7872         * docs/manual/advanced-clocks.xml:
7873         * docs/manual/advanced-interfaces.xml:
7874         * docs/manual/advanced-metadata.xml:
7875         * docs/manual/advanced-position.xml:
7876         * docs/manual/advanced-schedulers.xml:
7877         * docs/manual/advanced-threads.xml:
7878         * docs/manual/appendix-porting.xml:
7879         * docs/manual/basics-bins.xml:
7880         * docs/manual/basics-bus.xml:
7881         * docs/manual/basics-elements.xml:
7882         * docs/manual/basics-helloworld.xml:
7883         * docs/manual/basics-pads.xml:
7884         * docs/manual/highlevel-components.xml:
7885         * docs/manual/manual.xml:
7886         * docs/manual/thread.fig:
7887           Update (until threads/scheduling) Application Development Manual;
7888           remove GstThread, add GstBus, add simple porting checklist, add
7889           documentation for tag writing, clocks, make all examples until this
7890           part compile and run.
7891         * examples/manual/Makefile.am:
7892           Update from changes to Application Development Manual; add bus
7893           example, remove thread example.
7894
7895 2005-06-28  Wim Taymans  <wim@fluendo.com>
7896
7897         * gst/gstbus.c: (gst_bus_post), (gst_bus_have_pending),
7898         (gst_bus_set_flushing), (gst_bus_pop), (gst_bus_peek),
7899         (gst_bus_source_dispatch):
7900         Add debugging messages.
7901         Make internal methods static.
7902         Handle the case where the bus is flushed in the handler.
7903         
7904         * gst/gstelement.c: (gst_element_get_bus):
7905         Fix refcount in _get_bus();
7906
7907         * gst/gstpipeline.c: (gst_pipeline_change_state),
7908         (gst_pipeline_get_clock_func):
7909         Clock refcounting fixes.
7910         Handle the case where preroll timed out more gracefully.
7911         
7912         * gst/gstsystemclock.c: (gst_system_clock_dispose):
7913         Clean up the internal thread in dispose. This is needed
7914         for subclasses that actually get disposed.
7915         
7916         * gst/schedulers/threadscheduler.c:
7917         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
7918         (gst_thread_scheduler_dispose):
7919         Free thread pool in dispose.
7920
7921 2005-06-28  Andy Wingo  <wingo@pobox.com>
7922
7923         * tests/network-clock-utils.scm (debug, print-event): New utils.
7924
7925         * tests/network-clock.scm (*debug*, *with-graph*): New parameters.
7926         (*packet-loss*): Unified loss probability.
7927         (network-time): Report out-of-band events.
7928
7929         * tests/plot-data: Add support for out-of-band events. Hack it
7930         into this script instead of passing it down the pipe; should fix
7931         this later.
7932
7933 2005-06-28  Wim Taymans  <wim@fluendo.com>
7934
7935         * docs/gst/gstreamer.types:
7936         * docs/gst/tmpl/gstbasesrc.sgml:
7937         * docs/gst/tmpl/gstpad.sgml:
7938         Docs fixes.
7939
7940 2005-06-28  Wim Taymans  <wim@fluendo.com>
7941
7942         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
7943         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_acceptcaps),
7944         (gst_proxy_pad_do_fixatecaps):
7945         Correctly proxy the check_pull_range function.
7946
7947 2005-06-28  Andy Wingo  <wingo@pobox.com>
7948
7949         * tests/network-clock.scm: Removed need for slib.
7950         
7951 2005-06-28  Wim Taymans  <wim@fluendo.com>
7952
7953         * gst/base/gstbasesink.c: (gst_basesink_set_pad_functions),
7954         (gst_basesink_preroll_queue_flush):
7955         * gst/base/gstbasesrc.c: (gst_basesrc_set_dataflow_funcs):
7956         * gst/elements/gsttee.c: (gst_tee_update_pad_functions):
7957         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
7958         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
7959         (gst_proxy_pad_set_property):
7960         * gst/gstpad.c:
7961         * gst/gstpad.h:
7962         * gst/gstqueue.c: (gst_queue_init):
7963         The deprecated pad loop function is removed now.
7964
7965 2005-06-28  Andy Wingo  <wingo@pobox.com>
7966
7967         * tests/network-clock.scm (*timeout*, *send-loss*, *recv-loss*):
7968         New parameters, simulate network packet loss.
7969
7970         * tests/network-clock-utils.scm: Initialize the RNG.
7971
7972 2005-06-28  Wim Taymans  <wim@fluendo.com>
7973
7974         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_flush),
7975         (gst_basesink_event), (gst_basesink_deactivate):
7976         Flushing the preroll queue always needs to unlock the waiters.
7977
7978 2005-06-28  Edward Hervey  <edward@fluendo.com>
7979
7980         * gst/gstpipeline.c: (gst_pipeline_send_event): 
7981         Wheen a seek was successful on a pipeline, set the stream_time to the
7982         seek offset in order to have a synchronized stream_time.
7983
7984 2005-06-28  Wim Taymans  <wim@fluendo.com>
7985
7986         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
7987         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
7988         (gst_proxy_pad_do_getcaps), (gst_proxy_pad_do_acceptcaps),
7989         (gst_proxy_pad_do_fixatecaps):
7990         Call wrapper function instead of just calling the function
7991         pointers. This takes care of any locking and whatmore.
7992
7993 2005-06-28  Wim Taymans  <wim@fluendo.com>
7994
7995         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push),
7996         (gst_pad_pull_range):
7997         * gst/gstpad.h:
7998         CONNECTED -> LINKED.
7999
8000 2005-06-28  Andy Wingo  <wingo@pobox.com>
8001
8002         * *.c: Don't cast to GST_OBJECT when reffing or unreffing. Large
8003         source-munging commit!!!
8004
8005         * gst/gstobject.c (gst_object_unref, gst_object_ref) 
8006         (gst_object_sink): Take gpointer arguments, not GstObject --
8007         avoids casts. Like GLib.
8008
8009         * gst/gstghostpad.c (gst_proxy_pad_do_activate): Don't proxy
8010         activate.
8011
8012 2005-06-27  Andy Wingo  <wingo@pobox.com>
8013
8014         * gst/base/gsttypefindhelper.c (gst_type_find_helper): Unref any
8015         remaining buffer.
8016
8017         * gst/gsttrace.c (gst_alloc_trace_list_sorted): New helper,
8018         returns a sorted copy of the trace list.
8019         (gst_alloc_trace_print_live): New API, only prints traces with
8020         live objects. Sort the list.
8021         (gst_alloc_trace_print_all): Sort the list.
8022         (gst_alloc_trace_print): Align columns.
8023
8024         * gst/elements/gstttypefindelement.c:
8025         * gst/elements/gsttee.c:
8026         * gst/base/gstbasesrc.c:
8027         * gst/base/gstbasesink.c:
8028         * gst/base/gstbasetransform.c:
8029         * gst/gstqueue.c: Adapt for pad activation changes.
8030
8031         * gst/gstpipeline.c (gst_pipeline_init): Unref after parenting
8032         sched.
8033         (gst_pipeline_dispose): Drop ref on sched.
8034
8035         * gst/gstpad.c (gst_pad_init): Set the default activate func.
8036         (gst_pad_activate_default): Push mode by default.
8037         (pre_activate_switch, post_activate_switch): New stubs, things to
8038         do before and after switching activation modes on pads.
8039         (gst_pad_set_active): Take a boolean and not a mode, dispatch to
8040         the pad's activate function to choose which mode to activate.
8041         Shortcut on deactivation and call the right function directly.
8042         (gst_pad_activate_pull): New API, (de)activates a pad in pull
8043         mode.
8044         (gst_pad_activate_push): New API, same for push mode.
8045         (gst_pad_set_activate_function) 
8046         (gst_pad_set_activatepull_function) 
8047         (gst_pad_set_activatepush_function): Setters for new API.
8048
8049         * gst/gstminiobject.c (gst_mini_object_new, gst_mini_object_free):
8050         Trace all miniobjects.
8051         (gst_mini_object_make_writable): Unref the arg if we copy, like
8052         gst_caps_make_writable.
8053
8054         * gst/gstmessage.c (_gst_message_initialize): No trace init.
8055
8056         * gst/gstghostpad.c (gst_proxy_pad_do_activate) 
8057         (gst_proxy_pad_do_activatepull, gst_proxy_pad_do_activatepush):
8058         Adapt for new pad API.
8059
8060         * gst/gstevent.c (_gst_event_initialize): Don't initialize trace.
8061
8062         * gst/gstelement.h:
8063         * gst/gstelement.c (gst_element_iterate_src_pads) 
8064         (gst_element_iterate_sink_pads): New API functions.
8065         
8066         * gst/gstelement.c (iterator_fold_with_resync): New utility,
8067         should fold into gstiterator.c in some form.
8068         (gst_element_pads_activate): Simplified via use of fold and
8069         delegation of decisions to gstpad->activate.
8070
8071         * gst/gstbus.c (gst_bus_source_finalize): Set the bus to NULL,
8072         help in debugging.
8073
8074         * gst/gstbuffer.c (_gst_buffer_initialize): Ref the buffer type
8075         class once in init, like gstmessage. Didn't run into this issue
8076         but it seems correct. Don't initialize a trace, gstminiobject does
8077         that.
8078
8079         * check/pipelines/simple_launch_lines.c (test_stop_from_app): New
8080         test, runs fakesrc ! fakesink, stopping on ::handoff via a message
8081         to the bus.
8082         (assert_live_count): New util function, uses alloc traces to check
8083         cleanup.
8084
8085         * check/gst/gstghostpad.c (test_ghost_pads): More refcount checks.
8086         To be modified when unlink drops the internal pad.
8087
8088 2005-06-27  Wim Taymans  <wim@fluendo.com>
8089
8090         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_iterate_state_order),
8091         (gst_bin_change_state):
8092         Cleanup the get_state() function a little, make sure it
8093         iterates the same set of elements.
8094         Added stub iterate_state_order().
8095
8096 2005-06-27  Thomas Vander Stichele  <thomas at apestaart dot org>
8097
8098         * docs/gst/gstreamer-docs.sgml:
8099         * docs/gst/gstreamer-sections.txt:
8100         * docs/gst/gstreamer.types:
8101         * docs/gst/tmpl/gstbasesink.sgml:
8102         * docs/gst/tmpl/gstbasesrc.sgml:
8103         * docs/gst/tmpl/gstbasetransform.sgml:
8104         * docs/gst/tmpl/gstelement.sgml:
8105         * docs/gst/tmpl/gstiterator.sgml:
8106         * gst/base/gstbasesrc.c:
8107         * gst/base/gstbasesrc.h:
8108         * gst/base/gstbasetransform.h:
8109         * gst/gstelement.c:
8110         * gst/gstiterator.h:
8111           adding basetransform and iterator docs
8112
8113 2005-06-27  Andy Wingo  <wingo@pobox.com>
8114
8115         * docs/design/part-activation.txt: Notes on how activation should
8116         work -- not quite implemented yet.
8117
8118 2005-06-25  Wim Taymans  <wim@fluendo.com>
8119
8120         * gst/gstghostpad.c: (gst_proxy_pad_do_chain):
8121         At least get the chain function correct, needs more
8122         fixing.
8123
8124 2005-06-25  Wim Taymans  <wim@fluendo.com>
8125
8126         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
8127         (gst_basesink_handle_object), (gst_basesink_event),
8128         (gst_basesink_do_sync), (gst_basesink_handle_event),
8129         (gst_basesink_change_state):
8130         * gst/gsttask.h:
8131         Right, two problems here: ghostpads don't take locks and
8132         glib _rec_mutex_lock_full() with depth==0 still locks.
8133         Catch illegal locking and g_warn them.
8134
8135 2005-06-25  Wim Taymans  <wim@fluendo.com>
8136
8137         * check/states/sinks.c: (START_TEST), (gst_object_suite):
8138         Have to check for completion now...
8139
8140 2005-06-25  Wim Taymans  <wim@fluendo.com>
8141
8142         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
8143         (gst_basesink_handle_object), (gst_basesink_event),
8144         (gst_basesink_do_sync), (gst_basesink_handle_event),
8145         (gst_basesink_change_state):
8146         * gst/gstpad.h:
8147         Unlock STREAM_LOCK whatever the recursion was.
8148
8149 2005-06-25  Wim Taymans  <wim@fluendo.com>
8150
8151         * gst/base/gstbasesink.c: (gst_basesink_set_property),
8152         (gst_basesink_preroll_queue_empty),
8153         (gst_basesink_preroll_queue_flush), (gst_basesink_handle_object),
8154         (gst_basesink_event), (gst_basesink_do_sync),
8155         (gst_basesink_handle_event), (gst_basesink_handle_buffer),
8156         (gst_basesink_chain), (gst_basesink_loop), (gst_basesink_activate),
8157         (gst_basesink_change_state):
8158         Reworked the base sink, handle event and buffer serialisation
8159         correctly and removed possible deadlock.
8160         Handle EOS correctly.
8161
8162 2005-06-25  Wim Taymans  <wim@fluendo.com>
8163
8164         * gst/gstpipeline.c: (is_eos), (pipeline_bus_handler),
8165         (gst_pipeline_change_state):
8166         * tools/gst-launch.c: (check_intr), (event_loop), (main):
8167         Allow elements to post EOS in the state change function.
8168         Fix up -launch, make it exit the poll loop when the
8169         pipeline actually changed state.
8170         Fix up warning parsing in -launch.
8171
8172 2005-06-25  Wim Taymans  <wim@fluendo.com>
8173
8174         * gst/elements/gsttee.c: (gst_tee_chain), (gst_tee_loop),
8175         (gst_tee_sink_activate):
8176         Core takes STREAM_LOCK for us now.
8177
8178 2005-06-25  Wim Taymans  <wim@fluendo.com>
8179
8180         * gst/gstelement.c: (gst_element_get_state_func),
8181         (gst_element_set_state):
8182         * gst/gstelement.h:
8183         * gst/gstmessage.c: (gst_message_parse_error),
8184         (gst_message_parse_warning):
8185         Keep track of current target state while performing a state
8186         change so that subclasses can do something interesting.
8187         Fix parsing of warning/error messages when GError is NULL.
8188
8189 2005-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
8190
8191         * docs/gst/Makefile.am:
8192         * docs/gst/gstreamer-docs.sgml:
8193         * docs/gst/gstreamer-sections.txt:
8194         * docs/gst/gstreamer.types:
8195         * docs/gst/tmpl/gstbasesink.sgml:
8196         * docs/gst/tmpl/gstbasesrc.sgml:
8197         * docs/gst/tmpl/gstbin.sgml:
8198         * docs/gst/tmpl/gstcompat.sgml:
8199         * docs/gst/tmpl/gstfakesink.sgml:
8200         * docs/gst/tmpl/gstfakesrc.sgml:
8201         * docs/gst/tmpl/gstfilesink.sgml:
8202         * docs/gst/tmpl/gstfilesrc.sgml:
8203         * docs/gst/tmpl/gstindex.sgml:
8204         * docs/manual/appendix-quotes.xml:
8205         * gst/base/gstbasesrc.h:
8206         * gst/elements/gstfakesrc.h:
8207         * gst/gstmessage.h:
8208           start pulling in base classes and elements in our docs
8209
8210 2005-06-24  Stefan Kost  <ensonic@users.sf.net>
8211
8212         * docs/gst/Makefile.am:
8213         * docs/libs/Makefile.am:
8214           fixed make distcheck with gtk-doc 1.3
8215
8216 2005-06-23  Wim Taymans  <wim@fluendo.com>
8217
8218         * gst/gstelement.c: (gst_element_get_state_func),
8219         (gst_element_set_state), (gst_element_change_state):
8220         When the state did not change, also report NO_PREROLL
8221         when it matters.
8222
8223 2005-06-23  Wim Taymans  <wim@fluendo.com>
8224
8225         * gst/gstpad.c: (gst_pad_event_default):
8226         * gst/gstqueue.c: (gst_queue_loop):
8227         No unsafe task pausing please.
8228
8229 2005-06-23  Wim Taymans  <wim@fluendo.com>
8230
8231         * gst/schedulers/threadscheduler.c:
8232         (gst_thread_scheduler_task_start),
8233         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_func):
8234         Ref the task before pushing it on the threadpool. This
8235         makes sure that we have a ref when the threadfunction is
8236         actually called.
8237
8238 2005-06-23  Andy Wingo  <wingo@pobox.com>
8239
8240         * gst/base/gstbasesrc.c (gst_basesrc_get_range): Check if the
8241         offset is greater than the file's size.
8242
8243         * gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK) 
8244         (GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass)
8245         * gst/gstobject.c (gst_object_class_init): Make the class lock
8246         recursive. Wim won't let me drop deep_notify. Decodebin works
8247         again, whoopdy doo.
8248
8249         * gst/gstghostpad.c (on_int_notify): Catches notify::caps on the
8250         internal pad, and hacks accordingly. Doesn't do it on the target
8251         pad because we change its caps. Probably catches all cases of
8252         interest tho.
8253         (gst_ghost_pad_set_property): Connect to notify::caps as
8254         appropritate.
8255
8256         * tests/network-clock.scm (plot-simulation): Pipe data to the
8257         elite python skript.
8258
8259         * tests/network-clock-utils.scm (define-parameter): New macro,
8260         defines a parameter that can be set via the command line.
8261         (set-parameter!, parse-parameter-arguments): Command line args
8262         parser.
8263
8264         * tests/plot-data: Simple matplotlib-based plotter, takes input on
8265         stdin.
8266
8267 2005-06-23  Jan Schmidt  <thaytan@mad.scientist.com>
8268
8269         * gst/elements/gsttypefindelement.c:
8270         (gst_type_find_element_handle_event):
8271           Don't restart typefinding on a discont.
8272         * gst/gstelement.c: (gst_element_set_state):
8273           Debug spelling fix.
8274         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_send_event):
8275           Allow changing mode of an active pad.
8276           Debug output fixes.
8277         * gst/registries/gstlibxmlregistry.c: (load_feature):
8278           Don't cast a static pad template to a normal pad template.
8279
8280 2005-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
8281
8282         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
8283         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
8284           remove gst_strtoll completely, since it didn't actually do
8285           anything more than what g_ascii_strtoull already does.
8286           check for range errors when deserializing
8287           do a cast for the unsigned cases; but further fixing needs
8288           a decision on what the interpretation of "(int)" and
8289           deserialization should be for values that fall outside the
8290           type's boundaries (ie, refuse, or interpret as casting)
8291
8292 2005-06-23  Wim Taymans  <wim@fluendo.com>
8293
8294         * check/Makefile.am:
8295         * check/states/sinks.c: (START_TEST), (gst_object_suite), (main):
8296         * docs/design/part-live-source.txt:
8297         * docs/design/part-states.txt:
8298         * gst/base/gstbasesrc.c: (gst_basesrc_init),
8299         (gst_basesrc_set_live), (gst_basesrc_is_live),
8300         (gst_basesrc_get_range), (gst_basesrc_activate),
8301         (gst_basesrc_change_state):
8302         * gst/base/gstbasesrc.h:
8303         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
8304         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
8305         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_change_state):
8306         * gst/gstelement.c: (gst_element_get_state_func),
8307         (gst_element_set_state):
8308         * gst/gstelement.h:
8309         * gst/gsttypes.h:
8310         * tools/gst-launch.c: (event_loop), (main):
8311         Added support for live sources and other elements that
8312         cannot do preroll.
8313         Updated design docs, added live-source design doc.
8314         Implemented live source functionality in basesrc
8315         Fix error condition in _bin_get_state()
8316         Implement live source handling in -launch.
8317         Added check for live sources.
8318         Fixed case in GstBin where elements were changed state
8319         multiple times.
8320
8321
8322 2005-06-23  Andy Wingo  <wingo@pobox.com>
8323
8324         * check/gst/gstpad.c (test_get_allowed_caps, test_refcount): Fix
8325         borken refcounting.
8326
8327         * gst/gstpad.c (gst_pad_set_caps): Remove needless refs,
8328         gst_caps_replace takes care of this for us.
8329
8330         * gst/gstghostpad.c (gst_proxy_pad_do_setcaps): Call the full
8331         gst_pad_set_caps on the target, not just its setcaps() function.
8332
8333         * tests/network-clock.scm: 
8334         * tests/network-clock-utils.scm: A network clock simulator.
8335         Something of an algorithmic testbed before doing something in C.
8336
8337 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
8338
8339         * check/Makefile.am:
8340         * check/gst/capslist.h:
8341           copy over from 0.8, and add two with bitmasks specified with
8342           (int) 0xFF...
8343         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
8344           add test to parse everything from capslist.h
8345         * check/gst/gststructure.c: (START_TEST), (gst_value_suite),
8346         (main):
8347           add test for structure deserialization
8348         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
8349           add tests for deserialization of strings to int types
8350         * gst/gststructure.c: (gst_structure_nth_field_name):
8351         * gst/gststructure.h:
8352           add a way to get the name of a field referenced by index
8353         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
8354           instead of checking if the resulting long long lies between
8355           min and max, we check if the long long would fit into
8356           a number of bytes for the final type.
8357           This fixes cases where a string represents 2^32 - 1, which
8358           when cast to int would be the (valid) -1, but is bigger than
8359           G_MAXINT
8360
8361 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
8362
8363         * gst/parse/grammar.y:
8364           add a log line for type deserialization
8365
8366 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
8367
8368         * check/gst/gstvalue.c: (START_TEST):
8369         * gst/gstvalue.c: (gst_value_deserialize):
8370           return long long, not int, so gint64 deserialization actually
8371           works.  Is there any flag that makes the compiler check this ?
8372           Fixes #308559
8373
8374 2005-06-22  Wim Taymans  <wim@fluendo.com>
8375
8376         * gst/gstbuffer.h:
8377         Added convenience macros for setting buffers in GValue.
8378
8379 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
8380
8381         * check/gst/.cvsignore:
8382         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
8383           add a test deserializing int64, and comment part out because
8384           it fails, yay !
8385
8386 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
8387
8388         * check/Makefile.am:
8389         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite), (main):
8390         * testsuite/Makefile.am:
8391         * testsuite/caps/Makefile.am:
8392         * testsuite/caps/value_serialize.c:
8393         * testsuite/test_gst_init.c:
8394           move a value_serialize test over
8395
8396 2005-06-20  Wim Taymans  <wim@fluendo.com>
8397
8398         * gst/gstpad.c:
8399         Small doc updates.
8400         
8401         * gst/gstvalue.c: (gst_value_compare_buffer),
8402         (gst_value_serialize_buffer), (gst_value_deserialize_buffer),
8403         (gst_value_compare_flags), (gst_value_serialize_flags),
8404         (gst_value_deserialize_flags), (_gst_value_initialize):
8405         Fix serialisation of buffers, they are not boxed types anymore
8406
8407 2005-06-20  Wim Taymans  <wim@fluendo.com>
8408
8409         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
8410         Testcase to show error in buffer-on-caps serialisation.
8411
8412 2005-06-20  Andy Wingo  <wingo@pobox.com>
8413
8414         * docs/random/wingo/porting-plugins-to-0.9: A pitiful document I
8415         will be adding to later.
8416
8417         * gst/gstsystemclock.c (gst_system_clock_init): Unlock the clock
8418         if its socks fill with rocks.
8419         (gst_system_clock_obtain): Set the name on object construction.
8420         Avoid double-checked locking.
8421
8422 2005-06-20  Tim-Philipp Müller  <tim at centricular dot net>
8423
8424         * gst/gsturi.c: (gst_element_make_from_uri):
8425           Fix potential endless loop.
8426
8427 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
8428
8429         * check/Makefile.am:
8430           add gsttag
8431         * check/gst/gsttag.c: (check_tags), (START_TEST), (gst_tag_suite),
8432         (main):
8433           move over from testsuite dir and clean up
8434         * configure.ac:
8435         * gst/gsttag.c:
8436         * testsuite/Makefile.am:
8437         * testsuite/tags/.cvsignore:
8438         * testsuite/tags/Makefile.am:
8439         * testsuite/tags/merge.c:
8440           remove testsuite/tags
8441
8442 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
8443
8444         * docs/gst/gstreamer-sections.txt:
8445         * docs/gst/tmpl/gstenumtypes.sgml:
8446         * win32/gstenumtypes.c:
8447           clean up documentation build a little
8448
8449 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
8450
8451         * check/gstcheck.h:
8452           add macros for checking refcounts on objects and caps
8453         * check/gst/gstpad.c: (START_TEST), (gst_pad_suite):
8454           add some more unit tests
8455         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
8456         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_allowed_caps):
8457           fix leaked refcounts (I hope :)) so unittest works
8458         * gst/gstpad.h:
8459           whitespace removal
8460
8461 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
8462
8463         * configure.ac: back to HEAD
8464
8465 === release 0.9.1 ===
8466
8467 2005-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
8468
8469         * NEWS:
8470         * RELEASE:
8471           updated
8472
8473 2005-06-17  Andy Wingo  <wingo@pobox.com>
8474
8475         * gst/base/gstbasesink.c (gst_basesink_chain): Remove bogus
8476         assert; it's always possible that the pad gets deactivated in
8477         between the checks in gstpad.c and the implementation. Rely on
8478         finish_preroll() to return a FLUSHING or similar instead of on the
8479         assert.
8480         
8481         * gst/base/gstbasesink.c (gst_basesink_event): Only wait for the
8482         clock and post an EOS message if we come out of finish_preroll in
8483         the playing state.
8484
8485 2005-06-16  David Schleef  <ds@schleef.org>
8486
8487         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
8488         (gst_capsfilter_set_property): Allow NULL as possible value
8489         for filter_caps property, indicating GST_CAPS_ANY.
8490
8491 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
8492
8493         * gst/elements/gstfakesrc.c: (gst_fakesrc_create):
8494           fix debug output
8495         * gst/schedulers/Makefile.am:
8496           use libgst prefix
8497         * gstreamer.spec.in:
8498           fix spec for it
8499
8500 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
8501
8502         * gstreamer.spec.in:
8503           clean up
8504
8505 2005-06-08  Andy Wingo  <wingo@pobox.com>
8506
8507         * gst/gstutils.c: RPAD fixes all around.
8508         (gst_element_link_pads): Refcounting fixes.
8509
8510         * tools/gst-inspect.c:
8511         * tools/gst-xmlinspect.c:
8512         * parse/grammar.y:
8513         * gst/base/gsttypefindhelper.c:
8514         * gst/base/gstbasesink.c:
8515         * gst/gstqueue.c: RPAD fixes.
8516
8517         * gst/gstghostpad.h:
8518         * gst/gstghostpad.c: New ghost pad implementation as full proxy
8519         pads. The tricky thing is they provide both source and sink
8520         interfaces, since they proxy the internal pad for the external
8521         pad, and vice versa. Implement with lower-level ProxyPad objects,
8522         with the interior proxy pad as a child of the exterior ghost pad.
8523         Should write a doc on this.
8524         
8525         * gst/gstpad.h: s/RPAD/PAD/, s/RealPad/Pad/.
8526         (gst_pad_set_name, gst_pad_set_parent): Macros removed, use
8527         gst_object API.
8528         
8529         * gst/gstpad.c: Big changes. No more stub base GstPad, now all
8530         pads are real pads. No ghost pads in this file. Not documenting
8531         the myriad s/RPAD/PAD/ and REALIZE fixes.
8532         (gst_pad_class_init): Add properties for "direction" and
8533         "template". Both are construct-only, so they can't change during
8534         the life of the pad. Fixes properly deriving from GstPad.
8535         (gst_pad_custom_new, gst_pad_custom_new_from_template): Gone. For
8536         derived objects, just set properties when creating the objects via
8537         g_object_new.
8538         (gst_pad_get_parent): Implement as a function, return NULL if the
8539         parent is not an element.
8540         (gst_pad_get_real_parent, gst_pad_add_ghost_pad)
8541         (gst_pad_remove_ghost_pad, gst_pad_realize): Removed.
8542         
8543         * gst/gstobject.c (gst_object_class_init): Make name a construct
8544         property. Don't set it in the object init.
8545
8546         * gst/gstelement.c (gst_element_add_pad): Don't allow adding pads
8547         with UNKNOWN direction.
8548         (gst_element_add_ghost_pad): Remove non-orthogonal API. Replace
8549         with gst_element_add_pad (e, gst_ghost_pad_new (name, pad)).
8550         (gst_element_remove_pad): Remove ghost-pad special cases.
8551         (gst_element_pads_activate): Remove rpad cruft.
8552
8553         * gst/gstbin.c (gst_bin_change_state): Use gst_pad_get_parent to
8554         catch the pad's-parent-not-an-element case.
8555
8556         * gst/gst.h: Include gstghostpad.h.
8557
8558         * gst/gst.c (init_post): No more real, ghost pads.
8559
8560         * gst/Makefile.am: Add gstghostpad.[ch].
8561
8562         * check/Makefile.am:
8563         * check/gst/gstbin.c:
8564         * check/gst/gstghostpad.c (test_ghost_pads): Check that linking
8565         into a bin creates ghost pads, and that the refcounts are right.
8566         Partly moved from gstbin.c.
8567
8568 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
8569
8570         * check/gst-libs/.cvsignore:
8571         * check/gst/.cvsignore:
8572         * check/pipelines/.cvsignore:
8573           ignore more
8574         * check/pipelines/cleanup.c: (setup_pipeline), (run_pipeline),
8575         (START_TEST), (cleanup_suite), (main):
8576           add some tests related to cleanup after running pipelines
8577
8578 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
8579
8580         * check/gst/gstbuffer.c: (START_TEST), (gst_test_suite), (main):
8581           add a testsuite for GstBuffer
8582
8583 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
8584
8585         * gst/gstminiobject.h:
8586           add defines for accessing the refcount
8587
8588 2005-06-03  Stefan Kost  <ensonic@users.sf.net>
8589
8590         * Makefile.am: added support for html unit test coverage reports
8591
8592 2005-06-03  Jan Schmidt  <thaytan@mad.scientist.com>
8593
8594         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
8595           Free existing caps if the capsfilter changes. Add a FIXME about
8596           setting those caps on the pads.
8597
8598         * gst/gstutils.c: (gst_element_get_compatible_pad), (ghost_up):
8599           Before adding a ghost pad to a parent bin, check that there isn't
8600           already one for the element on the bin. Prevents infinite recursion
8601           when using decodebin in parse pipelines. Andy says he'll rewrite the
8602           way this works anyway, so ignore the hack.
8603
8604 2005-06-02  Andy Wingo  <wingo@pobox.com>
8605
8606         * gst/elements/gsttypefindelement.c (do_pull_typefind): Query the
8607         file size, pass it on to the type find helper.
8608
8609         * gst/base/gstbasesrc.c (gst_basesrc_do_seek): Set the
8610         segment_start and segment_end properly according to the seek
8611         method. Segment_end is still a bit flaky because offset can be
8612         negative for CUR and END cases, but it takes -1 as an "unset"
8613         value.
8614
8615 2005-06-02  Wim Taymans  <wim@fluendo.com>
8616
8617         * gst/base/gstbasesink.c: (gst_basesink_pad_buffer_alloc),
8618         (gst_base_sink_buffer_alloc), (gst_basesink_preroll_queue_push),
8619         (gst_basesink_activate):
8620         * gst/base/gstbasesink.h:
8621         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
8622         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
8623         (gst_pad_query), (gst_pad_start_task):
8624         * gst/gstpad.h:
8625         * gst/gstqueue.c: (gst_queue_bufferalloc),
8626         (gst_queue_handle_sink_event), (gst_queue_chain):
8627         Bufferalloc: return GstFlowReturn to more accuratly report
8628         why allocation failed.
8629
8630 2005-06-02  Wim Taymans  <wim@fluendo.com>
8631
8632         * gst/gstpipeline.c: (gst_pipeline_send_event):
8633         Take snapshot of state without blocking.
8634
8635 2005-06-02  Wim Taymans  <wim@fluendo.com>
8636
8637         * docs/design/part-TODO.txt:
8638         * docs/design/part-caps.txt:
8639         * docs/design/part-clocks.txt:
8640         * docs/design/part-negotiation.txt:
8641         * docs/design/part-preroll.txt:
8642         Small doc updates 
8643
8644 2005-05-30  Wim Taymans  <wim@fluendo.com>
8645
8646         * gst/elements/gstidentity.c: (gst_identity_event),
8647         (gst_identity_transform), (gst_identity_get_property):
8648         Protect last_message property as it is accessed from
8649         multiple threads.
8650
8651 2005-05-30  Wim Taymans  <wim@fluendo.com>
8652
8653         * gst/gstelement.c: (gst_element_init),
8654         (gst_element_pads_activate), (gst_element_change_state):
8655         Slicker pad activation code.
8656
8657 2005-05-30  Wim Taymans  <wim@fluendo.com>
8658
8659         * gst/Makefile.am:
8660         * gst/gstelement.h:
8661         * gst/gstelementfactory.h:
8662         * gst/gsttypes.h:
8663         Move elementfactory methods to separate .h file.
8664
8665 2005-05-30  Wim Taymans  <wim@fluendo.com>
8666
8667         * docs/design/part-overview.txt:
8668         * gst/gstsystemclock.h:
8669         Small typo fixes, doc updates.
8670
8671 2005-05-30  Wim Taymans  <wim@fluendo.com>
8672
8673         * gst/gst.c: (gst_init_get_popt_table), (init_post),
8674         (init_popt_callback):
8675         Remove cpu-opt flag.
8676
8677 2005-05-30  Wim Taymans  <wim@fluendo.com>
8678
8679         * gst/gstbuffer.c: (gst_subbuffer_finalize),
8680         (gst_buffer_create_sub), (gst_buffer_is_span_fast):
8681         * gst/gstbuffer.h:
8682         Avoid typechecking in places where not needed.
8683         Added accessor for malloc_data.
8684
8685 2005-05-30  Wim Taymans  <wim@fluendo.com>
8686
8687         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_set_active),
8688         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_accept_caps),
8689         (gst_pad_configure_sink), (gst_pad_configure_src),
8690         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_send_event),
8691         (gst_pad_start_task):
8692         Propagate errors from _set_caps() in configure_src/sink
8693         functions instead of returning TRUE.
8694         FLUSH events can travel up and downstream
8695
8696
8697 2005-05-30  Wim Taymans  <wim@fluendo.com>
8698
8699         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
8700         (gst_basesink_activate):
8701         Handle EOS in preroll.
8702
8703 2005-05-30  Wim Taymans  <wim@fluendo.com>
8704
8705         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
8706         (gst_queue_loop), (gst_queue_handle_src_event):
8707         Remove old pieces of code
8708         Flushing the queue in an upstream event is a very bad idea.
8709
8710 2005-05-26  Andy Wingo  <wingo@pobox.com>
8711
8712         * gst/gstminiobject.c (gst_value_mini_object_collect): Use
8713         gst_value_set_mini_object so as to add a ref on the object (which
8714         will be removed when the value is unset).
8715
8716         * gst/elements/gstfakesink.c (gst_fakesink_class_init): Fix signal
8717         arg type in ::handoff.
8718
8719         * gst/gstelement.c (gst_element_change_state): Also deactivate
8720         pads in READY->NULL, just in case the element didn't make it to
8721         PAUSED. Wingo tested, Wim approved.
8722
8723 2005-05-26  Wim Taymans  <wim@fluendo.com>
8724
8725         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
8726         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
8727         (gst_pad_query), (gst_pad_send_event), (gst_pad_start_task):
8728         A flushing pad cannot be used to alloc_buffer from.
8729
8730 2005-05-26  Wim Taymans  <wim@fluendo.com>
8731
8732         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
8733         (gst_bus_pop), (gst_bus_source_prepare), (gst_bus_source_check),
8734         (gst_bus_source_dispatch), (gst_bus_source_finalize),
8735         (gst_bus_create_watch), (gst_bus_add_watch_full):
8736         * gst/gstbus.h:
8737         Implement a real GSource and use g_main_context_wakeup() to
8738         signal new messages instead of the socketpair.
8739
8740 2005-05-25  Wim Taymans  <wim@fluendo.com>
8741
8742         * gst/gstbin.c: (bin_element_is_sink), (has_ancestor),
8743         (bin_element_is_semi_sink), (append_child), (gst_bin_change_state):
8744         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
8745         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
8746         (gst_pad_send_event), (gst_pad_start_task):
8747         * gst/gstqueue.c: (gst_queue_init), (gst_queue_locked_flush),
8748         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
8749         (gst_queue_sink_activate), (gst_queue_src_activate),
8750         (gst_queue_change_state):
8751         * gst/gstqueue.h:
8752         Fix state changes for non sinks. We now change sinks, then elements
8753         with unconnected srcpads, then the rest.
8754         More efficient queue unlocking in flush and state changes.
8755         Set the pad activate mode even if it does not have an activate
8756         function.
8757
8758 2005-05-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8759
8760         * gst/base/gstbasesrc.c: (gst_basesrc_activate):
8761           Don't go in pull mode for non-seekable sources.
8762         * gst/elements/gsttypefindelement.h:
8763         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
8764         (gst_type_find_element_dispose), (gst_type_find_handle_src_query),
8765         (free_entry), (stop_typefinding),
8766         (gst_type_find_element_handle_event), (find_peek),
8767         (gst_type_find_element_chain), (do_pull_typefind),
8768         (gst_type_find_element_change_state):
8769           Allow typefinding (w/o seeking) in push-mode, simplified version
8770           of what was in 0.8.
8771         * gst/gstutils.c: (gst_buffer_join):
8772         * gst/gstutils.h:
8773           gst_buffer_join() from 0.8.
8774
8775 2005-05-25  Wim Taymans  <wim@fluendo.com>
8776
8777         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
8778         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
8779         (gst_pad_send_event), (gst_pad_start_task):
8780         Disable attempt at mode switching until it is figured out.
8781
8782 2005-05-25  Wim Taymans  <wim@fluendo.com>
8783
8784         * gst/base/gstadapter.c: (gst_adapter_peek), (gst_adapter_flush):
8785         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
8786         (gst_basesink_finish_preroll), (gst_basesink_chain),
8787         (gst_basesink_loop), (gst_basesink_activate),
8788         (gst_basesink_change_state):
8789         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek),
8790         (gst_basesrc_get_range), (gst_basesrc_loop),
8791         (gst_basesrc_activate):
8792         * gst/elements/gsttee.c: (gst_tee_sink_activate):
8793         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
8794         (gst_real_pad_init), (gst_real_pad_set_property),
8795         (gst_real_pad_get_property), (gst_pad_set_active),
8796         (gst_pad_is_active), (gst_pad_get_query_types), (gst_pad_unlink),
8797         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_real_parent),
8798         (gst_real_pad_get_caps_unlocked), (gst_pad_peer_get_caps),
8799         (gst_pad_accept_caps), (gst_pad_get_peer), (gst_pad_realize),
8800         (gst_pad_event_default_dispatch), (gst_pad_event_default),
8801         (gst_pad_dispatcher), (gst_pad_query), (gst_real_pad_dispose),
8802         (gst_pad_save_thyself), (handle_pad_block), (gst_pad_chain),
8803         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
8804         (gst_pad_send_event), (gst_pad_start_task), (gst_pad_pause_task),
8805         (gst_pad_stop_task):
8806         * gst/gstpad.h:
8807         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
8808         (gst_queue_loop), (gst_queue_src_activate):
8809         * gst/gsttask.c: (gst_task_init), (gst_task_set_lock),
8810         (gst_task_get_state):
8811         * gst/gsttask.h:
8812         * gst/schedulers/threadscheduler.c:
8813         (gst_thread_scheduler_task_start), (gst_thread_scheduler_func):
8814         Implement gst_pad_pause/start/stop_task(), take STREAM lock
8815         in task function.
8816         Remove ACTIVE pad flag, use FLUSHING everywhere
8817         Added _pad_chain(), _pad_get_range() to call chain/getrange 
8818         functions.
8819         Add locks around IS_FLUSHING when reading.
8820         Take STREAM lock in chain(), get_range() functions so plugins
8821         don't need to take it anymore.
8822         
8823
8824
8825 2005-05-25  Wim Taymans  <wim@fluendo.com>
8826
8827         * tools/gst-launch.c: (event_loop):
8828         Unref message after using its contents instead of
8829         before.
8830
8831 2005-05-24  Wim Taymans  <wim@fluendo.com>
8832
8833         * docs/design/draft-ghostpads.txt:
8834         * docs/design/draft-push-pull.txt:
8835         * docs/design/draft-query.txt:
8836         * docs/design/part-overview.txt:
8837         Docs updates, added general overview doc.
8838
8839 2005-05-21  David Schleef  <ds@schleef.org>
8840
8841         * docs/gst/tmpl/old/GstBin.sgml:
8842         * docs/gst/tmpl/old/GstBuffer.sgml:
8843         * docs/gst/tmpl/old/GstCaps.sgml:
8844         * docs/gst/tmpl/old/GstClock.sgml:
8845         * docs/gst/tmpl/old/GstCompat.sgml:
8846         * docs/gst/tmpl/old/GstData.sgml:
8847         * docs/gst/tmpl/old/GstElement.sgml:
8848         * docs/gst/tmpl/old/GstEvent.sgml:
8849         * docs/gst/tmpl/old/GstIndex.sgml:
8850         * docs/gst/tmpl/old/GstStructure.sgml:
8851         * docs/gst/tmpl/old/GstTag.sgml:
8852         * docs/gst/tmpl/old/cothreads.sgml:
8853         * docs/gst/tmpl/old/cothreads_compat.sgml:
8854         * docs/gst/tmpl/old/gettext.sgml:
8855         * docs/gst/tmpl/old/gobject2gtk.sgml:
8856         * docs/gst/tmpl/old/grammar.tab.sgml:
8857         * docs/gst/tmpl/old/gst-i18n-app.sgml:
8858         * docs/gst/tmpl/old/gst-i18n-lib.sgml:
8859         * docs/gst/tmpl/old/gst_private.sgml:
8860         * docs/gst/tmpl/old/gstaggregator.sgml:
8861         * docs/gst/tmpl/old/gstarch.sgml:
8862         * docs/gst/tmpl/old/gstatomic_impl.sgml:
8863         * docs/gst/tmpl/old/gstbufferstore.sgml:
8864         * docs/gst/tmpl/old/gstdata_private.sgml:
8865         * docs/gst/tmpl/old/gstdisksink.sgml:
8866         * docs/gst/tmpl/old/gstdisksrc.sgml:
8867         * docs/gst/tmpl/old/gstelementfactory.sgml:
8868         * docs/gst/tmpl/old/gstextratypes.sgml:
8869         * docs/gst/tmpl/old/gstfakesink.sgml:
8870         * docs/gst/tmpl/old/gstfakesrc.sgml:
8871         * docs/gst/tmpl/old/gstfdsink.sgml:
8872         * docs/gst/tmpl/old/gstfdsrc.sgml:
8873         * docs/gst/tmpl/old/gstfilesink.sgml:
8874         * docs/gst/tmpl/old/gstfilesrc.sgml:
8875         * docs/gst/tmpl/old/gsthttpsrc.sgml:
8876         * docs/gst/tmpl/old/gstidentity.sgml:
8877         * docs/gst/tmpl/old/gstindexfactory.sgml:
8878         * docs/gst/tmpl/old/gstmarshal.sgml:
8879         * docs/gst/tmpl/old/gstmd5sink.sgml:
8880         * docs/gst/tmpl/old/gstmultidisksrc.sgml:
8881         * docs/gst/tmpl/old/gstmultifilesrc.sgml:
8882         * docs/gst/tmpl/old/gstpadtemplate.sgml:
8883         * docs/gst/tmpl/old/gstpipefilter.sgml:
8884         * docs/gst/tmpl/old/gstschedulerfactory.sgml:
8885         * docs/gst/tmpl/old/gstsearchfuncs.sgml:
8886         * docs/gst/tmpl/old/gstshaper.sgml:
8887         * docs/gst/tmpl/old/gstspider.sgml:
8888         * docs/gst/tmpl/old/gstspideridentity.sgml:
8889         * docs/gst/tmpl/old/gststatistics.sgml:
8890         * docs/gst/tmpl/old/gsttee.sgml:
8891         * docs/gst/tmpl/old/gsttimecache.sgml:
8892         * docs/gst/tmpl/old/gsttypefindfactory.sgml:
8893         * docs/gst/tmpl/old/gstxmlregistry.sgml:
8894         * docs/gst/tmpl/old/gthread-cothreads.sgml:
8895         * docs/gst/tmpl/old/types.sgml:
8896           I didn't intend to add these or check them in.
8897
8898 2005-05-19  David Schleef  <ds@schleef.org>
8899
8900         * configure.ac: Use -no-common everywhere.  In a sane world, it
8901           would be the default in libtool, because without it, you can't
8902           build DLLs on Windows.
8903         * docs/gst/gstreamer-docs.sgml: Remove GstCpu, GstData, GstThread
8904         * docs/gst/gstreamer-sections.txt:
8905         * docs/gst/tmpl/gstcpu.sgml:
8906         * docs/gst/tmpl/gstdata.sgml:
8907         * docs/gst/tmpl/gstthread.sgml:
8908
8909 2005-05-19  David Schleef  <ds@schleef.org>
8910
8911         * gst/gstminiobject.c: (gst_value_set_mini_object),
8912         (gst_value_take_mini_object), (gst_value_get_mini_object):
8913         * gst/gstminiobject.h: Add GValue set/get functions.
8914
8915 2005-05-19  Wim Taymans  <wim@fluendo.com>
8916
8917         * gst/gstbuffer.c: (gst_buffer_init), (gst_subbuffer_get_type),
8918         (gst_subbuffer_class_init), (gst_subbuffer_finalize),
8919         (gst_subbuffer_init), (gst_buffer_is_span_fast):
8920         * gst/gstbuffer.h:
8921         * gst/gstbus.c: (gst_bus_post):
8922         * gst/gstelement.c: (gst_element_get_random_pad):
8923         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize):
8924         Make subbufer unref the parent in finalize.
8925         some more debugging info.
8926
8927
8928 2005-05-19  Wim Taymans  <wim@fluendo.com>
8929
8930         * gst/base/gstbasesink.c: (gst_basesink_class_init),
8931         (gst_basesink_init), (gst_basesink_finalize),
8932         (gst_basesink_activate), (gst_basesink_change_state):
8933         Don't free preroll queue too early.
8934
8935 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8936
8937         * gst/Makefile.am:
8938         * gst/ROADMAP:
8939           Hi, I'm outdated. Please shoot me.
8940
8941 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8942
8943         * gst/gstpipeline.c: (gst_pipeline_send_event):
8944           Do not access variables after they have been deleted.
8945
8946 2005-05-19  Wim Taymans  <wim@fluendo.com>
8947
8948         * tools/gst-inspect.c: (print_plugin_features):
8949         A plugin feature does unfortunatly not use the
8950         object name yet...
8951
8952 2005-05-18  Wim Taymans  <wim@fluendo.com>
8953
8954         * gst/gstbuffer.c: (gst_buffer_is_span_fast), (gst_buffer_span):
8955         Port _span() functions to new subbuffers.
8956
8957 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8958
8959         * gst/gstbin.c: (gst_bin_add_func):
8960           Fix clock settery in bins when adding kids after the clock has
8961           been selected.
8962
8963 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8964
8965         * gst/elements/gstidentity.c: (gst_identity_class_init):
8966           Workaround until signals support GstMiniObject.
8967
8968 2005-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
8969
8970         * gst/gstbuffer.c:
8971         Oops, fix a typo GST_TYPE_BUFFER -> GST_TYPE_SUBBUFFER.
8972
8973 2005-05-18  Wim Taymans  <wim@fluendo.com>
8974
8975         * gst/base/Makefile.am:
8976         * gst/base/gstadapter.c: (gst_adapter_base_init),
8977         (gst_adapter_class_init), (gst_adapter_init),
8978         (gst_adapter_dispose), (gst_adapter_finalize), (gst_adapter_new),
8979         (gst_adapter_clear), (gst_adapter_push), (gst_adapter_peek),
8980         (gst_adapter_flush), (gst_adapter_available),
8981         (gst_adapter_available_fast):
8982         * gst/base/gstadapter.h:
8983         Ported and added adapter to the base classes.
8984
8985 2005-05-17  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
8986
8987         * gst/gst.c:
8988         * gst/gstmessage.c:
8989           Make sure the class is reffed/unreffed once before threads can be
8990           used.  Fixes #304551.
8991
8992 2005-05-17  Wim Taymans  <wim@fluendo.com>
8993
8994         * gst/base/gstbasesink.c: (gst_basesink_finish_preroll),
8995         (gst_basesink_chain_unlocked), (gst_basesink_activate):
8996         * gst/gstminiobject.c: (gst_mini_object_get_type),
8997         (gst_mini_object_free):
8998         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query),
8999         (gst_pad_push), (gst_pad_push_event):
9000         * gst/gstqueue.c: (gst_queue_change_state):
9001         Don't queue buffers in basesink when we are flushing.
9002         Unref buffer when flushing in basesink.
9003         Flush queue when going to READY
9004         Unref buffer when _push() returns an error.
9005         Don't free MiniObject instance when refcount is incremented
9006         in _finalize() so that we can recover objects.
9007
9008 2005-05-17  Thomas Vander Stichele  <thomas at apestaart dot org>
9009
9010         * docs/manual/advanced-schedulers.xml:
9011         * docs/manual/appendix-checklist.xml:
9012         * docs/pwg/advanced-clock.xml:
9013         * docs/pwg/advanced-interfaces.xml:
9014         * docs/pwg/advanced-request.xml:
9015         * docs/pwg/advanced-types.xml:
9016         * docs/pwg/intro-preface.xml:
9017         * examples/plugins/example.c: (gst_example_get_type),
9018         (gst_example_class_init), (gst_example_chain),
9019         (gst_example_set_property), (gst_example_get_property),
9020         (gst_example_change_state), (plugin_init):
9021         * examples/plugins/example.h:
9022           small doc fixes
9023
9024 2005-05-17  Wim Taymans  <wim@fluendo.com>
9025
9026         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps),
9027         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_push):
9028         * gst/gstqueue.c: (gst_queue_change_state):
9029         Clear queue when going to READY.
9030         Remove IN_SETCAPS flag too.
9031
9032 2005-05-17  Tim-Philipp Müller  <tim at centricular dot net>
9033
9034         * gst/base/gstbasesrc.c: (gst_basesrc_change_state):
9035           Remove implicit cast from gboolean to GstElementStateReturn;
9036           make sure we still return failure in paused => ready case if
9037           the parent class fails to change state and our own stop 
9038           vfunc succeeds.
9039
9040 2005-05-17  Wim Taymans  <wim@fluendo.com>
9041
9042         * tools/gst-launch.c: (event_loop):
9043         Message was unreffed too soon.
9044
9045 2005-05-16  Andy Wingo  <wingo@pobox.com>
9046
9047         * gst/gstbin.c (sink_iterator_filter): Err... um...
9048
9049         * check/gst/gstbin.c (test_ghost_pads): New test for the
9050         ghosting-if-elements-not-in-same-bin behavior.
9051
9052 2005-05-16  David Schleef  <ds@schleef.org>
9053
9054         * gst/gstminiobject.c: Use g_atomic_int_get() instead of
9055         accessing refcount directly.
9056
9057 2005-05-15  David Schleef  <ds@schleef.org>
9058
9059         * check/Makefile.am: remove GstData checks
9060         * check/gst-libs/gdp.c: (START_TEST): fix for API changes
9061         * gst/Makefile.am: add miniobject, remove data
9062         * gst/gst.h: add miniobject, remove data
9063         * gst/gstdata.c: remove
9064         * gst/gstdata.h: remove
9065         * gst/gstdata_private.h: remove
9066         * gst/gsttypes.h: remove GstEvent and GstMessage
9067         * gst/gstelement.c: (gst_element_post_message): fix for API changes
9068         * gst/gstmarshal.list: change BOXED -> OBJECT
9069
9070         Implement GstMiniObject.
9071         * gst/gstminiobject.c:
9072         * gst/gstminiobject.h:
9073
9074         Modify to be subclasses of GstMiniObject.
9075         * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
9076         (gst_buffer_class_init), (gst_buffer_finalize), (_gst_buffer_copy),
9077         (gst_buffer_init), (gst_buffer_new), (gst_buffer_new_and_alloc),
9078         (gst_subbuffer_get_type), (gst_subbuffer_init),
9079         (gst_buffer_create_sub), (gst_buffer_is_span_fast),
9080         (gst_buffer_span):
9081         * gst/gstbuffer.h:
9082         * gst/gstevent.c: (_gst_event_initialize), (gst_event_get_type),
9083         (gst_event_class_init), (gst_event_init), (gst_event_finalize),
9084         (_gst_event_copy), (gst_event_new):
9085         * gst/gstevent.h:
9086         * gst/gstmessage.c: (_gst_message_initialize),
9087         (gst_message_get_type), (gst_message_class_init),
9088         (gst_message_init), (gst_message_finalize), (_gst_message_copy),
9089         (gst_message_new), (gst_message_new_error),
9090         (gst_message_new_warning), (gst_message_new_tag),
9091         (gst_message_new_state_changed), (gst_message_new_application):
9092         * gst/gstmessage.h:
9093         * gst/gstprobe.c: (gst_probe_perform),
9094         (gst_probe_dispatcher_dispatch):
9095         * gst/gstprobe.h:
9096         * gst/gstquery.c: (_gst_query_initialize), (gst_query_get_type),
9097         (gst_query_class_init), (gst_query_finalize), (gst_query_init),
9098         (_gst_query_copy), (gst_query_new):
9099
9100         Update elements for GstData -> GstMiniObject changes
9101         * gst/gstquery.h:
9102         * gst/gstqueue.c: (gst_queue_finalize), (gst_queue_locked_flush),
9103         (gst_queue_chain), (gst_queue_loop):
9104         * gst/elements/gstbufferstore.c:
9105         (gst_buffer_store_add_buffer_func),
9106         (gst_buffer_store_cleared_func), (gst_buffer_store_get_buffer):
9107         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
9108         (gst_fakesink_render):
9109         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
9110         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_get_type),
9111         (gst_mmap_buffer_class_init), (gst_mmap_buffer_init),
9112         (gst_mmap_buffer_finalize), (gst_filesrc_map_region),
9113         (gst_filesrc_create_read):
9114         * gst/elements/gstidentity.c: (gst_identity_class_init):
9115         * gst/elements/gsttypefindelement.c:
9116         (gst_type_find_element_src_event), (free_entry_buffers),
9117         (gst_type_find_element_handle_event):
9118         * libs/gst/dataprotocol/dataprotocol.c:
9119         (gst_dp_header_from_buffer):
9120         * libs/gst/dataprotocol/dataprotocol.h:
9121         * libs/gst/dataprotocol/dp-private.h:
9122
9123 2005-05-15  David Schleef  <ds@schleef.org>
9124
9125         * gst/elements/gstelements.c: Don't include headers that were
9126         just removed.
9127
9128 2005-05-15  David Schleef  <ds@schleef.org>
9129
9130         * gst/elements/Makefile.am: Remove some elements that don't
9131         need to be in the core (or even exist at all).
9132         * gst/elements/gstaggregator.c:
9133         * gst/elements/gstaggregator.h:
9134         * gst/elements/gstmd5sink.c:
9135         * gst/elements/gstmd5sink.h:
9136         * gst/elements/gstmultifilesrc.c:
9137         * gst/elements/gstmultifilesrc.h:
9138         * gst/elements/gstpipefilter.c:
9139         * gst/elements/gstpipefilter.h:
9140         * gst/elements/gstshaper.c:
9141         * gst/elements/gstshaper.h:
9142         * gst/elements/gststatistics.c:
9143         * gst/elements/gststatistics.h:
9144         * po/POTFILES.in: Remove above files.
9145
9146 2005-05-14  Andy Wingo  <wingo@pobox.com>
9147
9148         * gst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter
9149         so as to get the refs right.
9150         (sink_iterator_filter): New function, wraps bin_element_is_sink,
9151         unreffing objects that don't pass the filter.
9152
9153         * gst/gstpipeline.c (gst_pipeline_init): Drop ref on bus after
9154         gst_element_set_bus.
9155         (gst_pipeline_dispose): Set the bus on the pipeline to NULL. In
9156         normal cases, this will destroy the bus.
9157
9158         * gst/gstutils.c (prepare_link_maybe_ghosting): Drop ref on root
9159         object.
9160
9161         * gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin
9162         has no sinks.
9163
9164 2005-05-13  Andy Wingo  <wingo@pobox.com>
9165
9166         * gst/gstutils.c (gst_element_link_pads): Instead of calling
9167         gst_pad_link, call pad_link_maybe_ghosting,
9168         (pad_link_maybe_ghosting): Links pads, making sure that the
9169         elements being linked are in the same bin.
9170         (find_common_root, object_has_ancestor, ghost_up, remove_pad):
9171         Helpers for pad_link_maybe_ghosting.
9172
9173 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
9174
9175         * configure.ac:
9176           Require GLib >= 2.4.0 (for the g_atomic_* funcs)
9177
9178 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
9179
9180         * docs/design/part-element-source.txt:
9181           Mention GstPushSrc
9182
9183 2005-05-12  Wim Taymans  <wim@fluendo.com>
9184
9185         * gst/base/gstbasesink.c: (gst_basesink_init),
9186         (gst_basesink_activate):
9187         * gst/base/gstbasesrc.c: (gst_basesrc_unlock),
9188         (gst_basesrc_is_seekable):
9189         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
9190         (bin_element_is_sink), (gst_bin_change_state):
9191         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
9192         * gst/gstelement.h:
9193         Identify sinks by their flag to avoid overly complicated
9194         checks (fow now).
9195         Do state changes even for elements not reachable from the
9196         sinks.
9197         BaseSink is a sink now :)
9198         Some more debugging info in the basesrc.
9199
9200
9201 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9202
9203         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_query):
9204           Implement _query on a bin, similar to _send_event.
9205
9206 2005-05-12  Tim-Philipp Müller  <tim at centricular dot net>
9207
9208         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek):
9209           Discont event offset format should be GST_FORMAT_BYTES,
9210           not GST_FORMAT_TIME.
9211
9212 2005-05-12  Wim Taymans  <wim@fluendo.com>
9213
9214         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_get_state):
9215         Same fix as Ronald's but without the signal. 
9216
9217 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9218
9219         * gst/gstutils.c: (gst_element_query_position):
9220           No, an element is not a pad.
9221
9222 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9223
9224         * gst/gstbin.c: (gst_bin_add_func), (cb_parent_unset),
9225         (gst_bin_get_state):
9226           If a child is removed from a bin while we remove the child from
9227           the bin and while we're retrieving its state, signal this to the
9228           get_state function so we abort the wait (instead of waiting for
9229           a timeout) and can immediately re-iterate over all other elements.
9230
9231 2005-05-12  Wim Taymans  <wim@fluendo.com>
9232
9233         * gst/base/Makefile.am:
9234         * gst/base/gstbasesrc.c: (gst_basesrc_is_seekable),
9235         (gst_basesrc_start):
9236         * gst/base/gstbasesrc.h:
9237         * gst/base/gstpushsrc.c: (gst_pushsrc_get_type),
9238         (gst_pushsrc_base_init), (gst_pushsrc_class_init),
9239         (gst_pushsrc_init), (gst_pushsrc_create):
9240         * gst/base/gstpushsrc.h:
9241         Added is_seekable to BaseSrc
9242         Added simple PushSrc.
9243
9244 2005-05-11  Wim Taymans  <wim@fluendo.com>
9245
9246         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
9247         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
9248         (gst_element_link_pads), (gst_element_query_position),
9249         (gst_element_query_convert), (intersect_caps_func),
9250         (gst_pad_query_position), (gst_pad_query_convert):
9251         Fix refcounting in utils function.
9252         No point in trying to activate a pad when it's added, it could
9253         be added from the state change function and then we deadlock, the
9254         element has to decide what to do.
9255
9256 2005-05-10  Andy Wingo  <wingo@pobox.com>
9257
9258         * gst/elements/gstfakesink.c (gst_fakesink_render): Er, emit with
9259         *all* the arguments.
9260
9261         * gst/base/gstbasetransform.c (gst_base_transform_event): Grab the
9262         stream lock if it's a FLUSH_DONE; normal flushes don't get the
9263         lock (according to the docs -- if this is wrong change the docs).
9264
9265         * gst/gstpipeline.c (gst_pipeline_change_state): Set the bus to
9266         flush messages in the NULL state.
9267
9268         * gst/gstbus.c (gst_bus_post): If a bus is flushing, unref the
9269         message immediately and return.
9270         (gst_bus_set_flushing): New function. If a bus is flushing, it
9271         flushes out any queued messages and immediately unrefs new
9272         messages. This is so when an element goes to NULL, all of the
9273         unhandled messages coming from it can be freed, and their
9274         references to the element dropped. In other words: message source
9275         ref considered harmful :P
9276
9277         * gst/gstbin.c (gst_bin_change_state): Unref peer element when
9278         we're finished with it.
9279
9280         * gst/gstmessage.c (gst_message_new_state_changed): 
9281
9282 2005-05-10  Wim Taymans  <wim@fluendo.com>
9283
9284         * gst/gstvalue.c: (gst_value_compare_flags),
9285         (gst_value_serialize_flags), (gst_value_deserialize_flags),
9286         (_gst_value_initialize):
9287         Added flags serialize/deserialize/compare code.
9288
9289 2005-05-09  Andy Wingo  <wingo@pobox.com>
9290
9291         * gst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps):
9292         Intersect the peer's caps with our caps.
9293
9294 2005-05-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9295
9296         * gst/base/gsttypefindhelper.c: (helper_find_peek):
9297         * gst/elements/gsttypefindelement.c: (find_peek):
9298           Handle negative offsets better. Fixes decodebin.
9299
9300 2005-05-09  Wim Taymans  <wim@fluendo.com>
9301
9302         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps),
9303         (gst_base_transform_event):
9304         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query):
9305         Implement accept_caps.
9306         Fix silly lock/unlock mismatch in base class.
9307
9308 2005-05-09  Wim Taymans  <wim@fluendo.com>
9309
9310         * docs/design/draft-push-pull.txt:
9311         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_query):
9312         * gst/elements/gstfilesink.c: (gst_filesink_init),
9313         (gst_filesink_query):
9314         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
9315         (gst_type_find_handle_src_query), (find_element_get_length):
9316         * gst/gstelement.c: (gst_element_seek), (gst_element_query):
9317         * gst/gstelement.h:
9318         * gst/gstmessage.c:
9319         * gst/gstmessage.h:
9320         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_get_query_types),
9321         (gst_real_pad_get_caps_unlocked),
9322         (gst_pad_get_internal_links_default), (gst_pad_get_internal_links),
9323         (gst_pad_event_default_dispatch), (gst_pad_event_default),
9324         (gst_pad_dispatcher), (gst_pad_query), (gst_pad_query_default),
9325         (gst_real_pad_dispose), (gst_real_pad_finalize),
9326         (gst_pad_load_and_link), (gst_pad_save_thyself),
9327         (gst_ghost_pad_save_thyself), (handle_pad_block), (gst_pad_push),
9328         (gst_pad_check_pull_range), (gst_pad_pull_range),
9329         (gst_pad_template_get_type), (gst_pad_template_class_init),
9330         (gst_pad_template_init), (gst_pad_template_dispose),
9331         (name_is_valid), (gst_static_pad_template_get),
9332         (gst_pad_template_new), (gst_static_pad_template_get_caps),
9333         (gst_pad_template_get_caps), (gst_pad_set_element_private),
9334         (gst_pad_get_element_private), (gst_pad_start_task),
9335         (gst_pad_pause_task), (gst_pad_stop_task),
9336         (gst_ghost_pad_get_type), (gst_ghost_pad_class_init),
9337         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
9338         (gst_ghost_pad_set_property), (gst_ghost_pad_get_property),
9339         (gst_ghost_pad_new):
9340         * gst/gstpad.h:
9341         * gst/gstquery.c: (_gst_query_initialize), (gst_query_new),
9342         (gst_query_new_position), (gst_query_set_position),
9343         (gst_query_parse_position), (gst_query_new_convert),
9344         (gst_query_set_convert), (gst_query_parse_convert):
9345         * gst/gstquery.h:
9346         * gst/gstqueryutils.c:
9347         * gst/gstqueryutils.h:
9348         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
9349         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
9350         (gst_queue_handle_src_query):
9351         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
9352         (gst_element_query_position), (gst_element_query_convert),
9353         (intersect_caps_func), (gst_pad_query_position),
9354         (gst_pad_query_convert):
9355         * gst/gstutils.h:
9356         * tools/gst-inspect.c: (print_pad_info):
9357         * tools/gst-xmlinspect.c: (print_element_info):
9358         Remove old query functions. Ported old code.
9359         Added position/convert helper functions to gstutils.
9360         Reordered gstpad.c code, grouping relevant things.
9361         Remove gst_message_new(), always need to speficy a specific
9362         message.
9363
9364
9365 2005-05-09  Andy Wingo  <wingo@pobox.com>
9366
9367         * gst/gstiterator.h: Add some includes.
9368
9369         * gst/gstqueryutils.h: Include more headers.
9370
9371         * gst/gstpad.h:
9372         * gst/gstpad.c (gst_pad_query_position): New routine, replaces
9373         some uses of gst_pad_query.
9374
9375         * gst/gstqueryutils.c: Build fixes. Make parse functions ignore
9376         NULL out parameters.
9377         (gst_query_new_position): New proc, allocates a new position
9378         query.
9379
9380         * gst/Makefile.am (libgstreamer_@GST_MAJORMINOR@_la_SOURCES): Add
9381         gstqueryutils.c to the build.
9382
9383         * gst/gststructure.c (gst_structure_set_valist): Implement with
9384         the generic G_VALUE_COLLECT.
9385         
9386 2005-05-08  Edward Hervey  <bilboed@bilboed.com>
9387
9388         * gst/Makefile.am: (gst_headers):
9389         Added gstqueryutils.h to the list of headers to install, that was
9390         a 'nachty' move wingo :)
9391
9392 2005-05-06  Andy Wingo  <wingo@pobox.com>
9393
9394         * gst/gstquery.h
9395         * gst/gstquery.c (_gst_query_initialize): Extend GstQuery from
9396         GstData, init a memchunk.
9397         (standard_definitions): Add a few query types, deprecate a few.
9398         (gst_query_get_type): New proc.
9399         (_gst_query_copy, _gst_query_free, gst_query_new): GstData
9400         implementation.
9401         (gst_query_new_application, gst_query_get_structure): New public
9402         procs.
9403
9404         * docs/design/draft-query.txt: Removed LINKS from the query types,
9405         because all the rest can be dispatched to other pads -- seemed
9406         ugly to have a query that couldn't be dispatched. internal_links
9407         is fine as a pad method.
9408
9409         * gst/gstpad.h: Add query2 as a pad method, add the new functions
9410         in gstpad.c, but maintain binary compatibility for the moment.
9411         Will fix before 0.9 is out.
9412
9413         * gst/gstqueryutils.c: 
9414         * gst/gstqueryutils.h: New files, implement 3 methods for each
9415         query type: parse_query, parse_response, and set. Probably need an
9416         allocator as well.
9417
9418         * gst/gst.h: Add gstquery.h and gstqueryutils.h to the list.
9419
9420         * gst/elements/gstfilesink.c (gst_filesink_query2):
9421         * gst/base/gstbasesrc.c (gst_basesrc_query2): Replace old query,
9422         query_types, and formats methods.
9423
9424         * gst/gstpad.c (gst_pad_query2, gst_pad_query2_default)
9425         (gst_pad_set_query2_function): New functions.
9426         (gst_real_pad_init): Set query2_default as the default query2
9427         function. Basically just dispatches to internally linked pads.
9428
9429         Needs review!
9430         
9431         * gst/gstdata_private.h (_GST_DATA_INIT): Set data->refcount to 1
9432         without using the atomic operations. Only one thread can possibly
9433         be accessing the data at this point. Changed so as to avoid
9434         gst_atomic operations.
9435
9436 2005-05-06  Wim Taymans  <wim@fluendo.com>
9437
9438         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push):
9439         Also set caps if we use the fallback buffer alloc.
9440
9441 2005-05-06  Tim-Philipp Müller  <tim at centricular dot net>
9442
9443         * docs/gst/Makefile.am:
9444         * docs/gst/gstreamer-docs.sgml:
9445         * docs/gst/gstreamer-sections.txt:
9446         * docs/gst/tmpl/gstatomic.sgml:
9447         * docs/gst/tmpl/gstmemchunk.sgml:
9448         * testsuite/elements/struct_i386.h:
9449         * win32/GStreamer.vcproj:
9450         * win32/Makefile:
9451           Purge GstAtomic stuff from docs and win32 makefiles as well
9452
9453 2005-05-06  Wim Taymans  <wim@fluendo.com>
9454
9455         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps):
9456         * gst/elements/gstcapsfilter.c: (gst_capsfilter_getcaps):
9457         * gst/gstpad.c: (gst_pad_peer_get_caps):
9458         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
9459         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
9460         (gst_queue_src_activate), (gst_queue_change_state):
9461         * gst/gstqueue.h:
9462         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
9463         (intersect_caps_func):
9464         Fix gst_pad_peer_get_caps(), make it return NULL if no peer.
9465         Always take QUEUE_LOCK after STREAM_LOCK or we might deadlock.
9466         Some fixes for the peer_get_caps() change.
9467
9468 2005-05-06  Wim Taymans  <wim@fluendo.com>
9469
9470         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
9471         (gst_basesink_handle_buffer), (gst_basesink_chain_unlocked),
9472         (gst_basesink_activate):
9473         Actually do something with error codes returned from the push
9474         functions.
9475
9476 2005-05-06  Wim Taymans  <wim@fluendo.com>
9477
9478         * docs/design/part-element-sink.txt:
9479         * docs/design/part-element-source.txt:
9480         * gst/base/gstbasesink.c: (gst_basesink_class_init),
9481         (gst_basesink_event), (gst_basesink_activate):
9482         * gst/base/gstbasesink.h:
9483         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_unlock),
9484         (gst_basesrc_activate):
9485         * gst/base/gstbasesrc.h:
9486         * gst/gstelement.c: (gst_element_pads_activate):
9487         Some more documentation.
9488         Fixed scheduling decision in _pads_activate().
9489
9490 2005-05-05  Andy Wingo  <wingo@pobox.com>
9491
9492         * check/pipelines/simple_launch_lines.c (test_2_elements): "Fix"
9493         the test suite.
9494
9495 2005-05-05  Wim Taymans  <wim@fluendo.com>
9496
9497         * gst/base/Makefile.am:
9498         * gst/base/gstbasesink.h:
9499         * gst/base/gstbasesrc.c: (gst_basesrc_init),
9500         (gst_basesrc_set_dataflow_funcs), (gst_basesrc_query):
9501         * gst/base/gstcollectpads.c: (gst_collectpads_get_type),
9502         (gst_collectpads_class_init), (gst_collectpads_init),
9503         (gst_collectpads_finalize), (gst_collectpads_new),
9504         (gst_collectpads_set_function), (gst_collectpads_add_pad),
9505         (find_pad), (gst_collectpads_remove_pad),
9506         (gst_collectpads_is_active), (gst_collectpads_collect),
9507         (gst_collectpads_collect_range), (gst_collectpads_start),
9508         (gst_collectpads_stop), (gst_collectpads_peek),
9509         (gst_collectpads_pop), (gst_collectpads_available),
9510         (gst_collectpads_read), (gst_collectpads_flush),
9511         (gst_collectpads_chain):
9512         * gst/base/gstcollectpads.h:
9513         * gst/elements/Makefile.am:
9514         * gst/elements/gstelements.c:
9515         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
9516         (gst_fakesink_get_times), (gst_fakesink_event),
9517         (gst_fakesink_preroll), (gst_fakesink_render):
9518         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
9519         (gst_filesink_init), (gst_filesink_set_location),
9520         (gst_filesink_open_file), (gst_filesink_close_file),
9521         (gst_filesink_pad_query), (gst_filesink_event),
9522         (gst_filesink_render), (gst_filesink_change_state):
9523         * gst/elements/gstfilesink.h:
9524         Added object to help in making collect pad based elements.
9525         Ported filesink.
9526         Make event function in sink baseclass return gboolean.
9527
9528 2005-05-05  Wim Taymans  <wim@fluendo.com>
9529
9530         * gst/gstbin.c: (gst_bin_send_event), (compare_name),
9531         (gst_bin_get_by_name):
9532         * gst/gstbuffer.h:
9533         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_class_init),
9534         (gst_clock_finalize):
9535         * gst/gstdata.c: (gst_data_replace):
9536         * gst/gstdata.h:
9537         * gst/gstelement.c: (gst_element_request_pad),
9538         (gst_element_pads_activate):
9539         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
9540         (gst_object_unref):
9541         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
9542         (gst_pad_set_checkgetrange_function),
9543         (gst_pad_link_check_compatible_unlocked), (gst_pad_set_caps),
9544         (gst_pad_check_pull_range), (gst_pad_pull_range),
9545         (gst_static_pad_template_get_caps), (gst_pad_start_task),
9546         (gst_pad_pause_task), (gst_pad_stop_task):
9547         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
9548         (gst_element_request_pad), (gst_pad_proxy_getcaps):
9549         Fix name lookup in GstBin.
9550         Added _data_replace() function and _buffer_replace()
9551         Use finalize method to clean up clock.
9552         Fix refcounting on request pads.
9553         Fix pad schedule mode error.
9554         Some more object refcounting debug info,
9555
9556
9557 2005-05-04  Andy Wingo <wingo@pobox.com>
9558
9559         * check/Makefile.am:
9560         * docs/gst/tmpl/gstatomic.sgml:
9561         * docs/gst/tmpl/gstplugin.sgml:
9562         * gst/base/gstbasesink.c: (gst_basesink_activate):
9563         * gst/base/gstbasesrc.c: (gst_basesrc_class_init),
9564         (gst_basesrc_init), (gst_basesrc_set_dataflow_funcs),
9565         (gst_basesrc_query), (gst_basesrc_set_property),
9566         (gst_basesrc_get_property), (gst_basesrc_check_get_range),
9567         (gst_basesrc_activate):
9568         * gst/base/gstbasesrc.h:
9569         * gst/base/gstbasetransform.c: (gst_base_transform_sink_activate),
9570         (gst_base_transform_src_activate):
9571         * gst/elements/gstelements.c:
9572         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
9573         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
9574         * gst/elements/gsttee.c: (gst_tee_sink_activate):
9575         * gst/elements/gsttypefindelement.c: (find_element_get_length),
9576         (gst_type_find_element_checkgetrange),
9577         (gst_type_find_element_activate):
9578         * gst/gstbin.c: (gst_bin_save_thyself), (gst_bin_restore_thyself):
9579         * gst/gstcaps.c: (gst_caps_do_simplify), (gst_caps_save_thyself),
9580         (gst_caps_load_thyself):
9581         * gst/gstelement.c: (gst_element_pads_activate),
9582         (gst_element_save_thyself), (gst_element_restore_thyself):
9583         * gst/gstpad.c: (gst_pad_load_and_link), (gst_pad_save_thyself),
9584         (gst_ghost_pad_save_thyself), (gst_pad_check_pull_range):
9585         * gst/gstpad.h:
9586         * gst/gstxml.c: (gst_xml_write), (gst_xml_parse_doc),
9587         (gst_xml_parse_file), (gst_xml_parse_memory),
9588         (gst_xml_get_element), (gst_xml_make_element):
9589         * gst/indexers/gstfileindex.c: (gst_file_index_load),
9590         (_file_index_id_save_xml), (gst_file_index_commit):
9591         * gst/registries/gstlibxmlregistry.c: (read_string), (read_uint),
9592         (read_enum), (load_pad_template), (load_feature), (load_plugin),
9593         (load_paths):
9594         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps),
9595         (gst_dp_packet_from_event), (gst_dp_caps_from_packet):
9596         * tools/gst-complete.c: (main):
9597         * tools/gst-compprep.c: (main):
9598         * tools/gst-inspect.c: (print_element_properties_info):
9599         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
9600         * tools/gst-xmlinspect.c: (print_element_properties):
9601         GCC 4 fixen.
9602         
9603 2005-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
9604
9605         * gst/gstplugin.c: (gst_plugin_check_module),
9606         (gst_plugin_check_file), (gst_plugin_load_file):
9607             apply patch from #172526 to make register work on MacOSX
9608
9609 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
9610
9611         * docs/gst/tmpl/gstconfig.sgml:
9612         * gst/gstconfig.h.in:
9613           move documentation for some symbols.  Add doc for GST_PTR_FORMAT
9614         * testsuite/debug/printf_extension.c: (main):
9615           Do not use GST_PTR_FORMAT on pointers to types with
9616           sizeof < sizeof(gpointer).  Fixes test on 64-bit
9617         * testsuite/elements/property.h:
9618           use correct printf format
9619
9620 2005-05-02  Wim Taymans  <wim@fluendo.com>
9621
9622         * docs/design/draft-push-pull.txt:
9623         * docs/design/draft-query.txt:
9624         * gst/base/gstbasesrc.c: (gst_basesrc_get_range_unlocked),
9625         (gst_basesrc_start):
9626         Added draft for new query API.
9627         Added draft for better selecting scheduling methods.
9628         Make basesrc ignore length if the subclass does not support
9629         it.
9630
9631 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
9632
9633         * gst/Makefile.am:
9634           possible fixes for automake-1.5 - _LIBADD is reserved
9635
9636 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
9637
9638         * docs/faq/Makefile.am:
9639         * docs/manual/Makefile.am:
9640         * docs/manuals.mak:
9641         * docs/pwg/Makefile.am:
9642         * gst/Makefile.am:
9643           possible fixes for automake-1.5
9644
9645 2005-04-28  Wim Taymans  <wim@fluendo.com>
9646
9647         * gst/base/gstbasesink.c: (gst_basesink_base_init),
9648         (gst_basesink_pad_getcaps), (gst_basesink_init),
9649         (gst_basesink_do_sync):
9650         * gst/gstclock.c: (gst_clock_entry_new):
9651         * gst/gstevent.c: (gst_event_discont_get_value):
9652         * gst/gstpipeline.c: (pipeline_bus_handler),
9653         (gst_pipeline_change_state):
9654         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
9655         Better debugging of clocking info.
9656         Allow NULL values when getting discont values.
9657
9658 2005-04-27  Wim Taymans  <wim@fluendo.com>
9659
9660         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
9661         * check/gst/gstpad.c: (gst_pad_suite):
9662         Increase timeout for checks.
9663
9664 2005-04-27  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
9665
9666         * check/Makefile.am:
9667           fix the broken rule for cleanup.  Apparently this rule is
9668           only needed on FC2, so maybe this warrants further autotool
9669           inspection.
9670
9671 2005-04-26  Wim Taymans  <wim@fluendo.com>
9672
9673         * gst/gsttrashstack.h:
9674         Ooohh. a nasty one! After having a failed pop() from the stack,
9675         it's possible that the stack is empty. In that case, don't
9676         follow the NULL pointer.
9677
9678 2005-04-25  Wim Taymans  <wim@fluendo.com>
9679
9680         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
9681         (gst_pad_set_checkgetrange_function),
9682         (gst_pad_link_check_compatible_unlocked), (gst_pad_link_prepare),
9683         (gst_pad_check_pull_range), (gst_pad_pull_range),
9684         (gst_static_pad_template_get_caps), (gst_pad_start_task),
9685         (gst_pad_pause_task), (gst_pad_stop_task):
9686         * gst/gstplugin.c: (gst_plugin_load):
9687         * gst/gstplugin.h:
9688         Remove gst_library_load as it does more harm than good with
9689         the new g_module flags.
9690         Revert bogus caps template check in pad linking, pad caps
9691         are important when linking not the template, which is more
9692         general than the current caps.
9693
9694 2005-04-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9695
9696         * gst/autoplug/.cvsignore:
9697         * gst/autoplug/Makefile.am:
9698         * gst/autoplug/gstsearchfuncs.c:
9699         * gst/autoplug/gstsearchfuncs.h:
9700         * gst/autoplug/gstspider.c:
9701         * gst/autoplug/gstspider.h:
9702         * gst/autoplug/gstspideridentity.c:
9703         * gst/autoplug/gstspideridentity.h:
9704         * gst/autoplug/spidertest.c:
9705           Die, spider, die.
9706
9707 2005-04-25  Wim Taymans  <wim@fluendo.com>
9708
9709         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
9710         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
9711         (gst_pad_pull_range), (gst_static_pad_template_get_caps),
9712         (gst_pad_start_task), (gst_pad_pause_task), (gst_pad_stop_task):
9713         * gst/gstpad.h:
9714         Added stubs for unimplemented functions. 
9715
9716 2005-04-24  David Schleef  <ds@schleef.org>
9717
9718         * gst/gstpad.h: Disable some unimplemented functions.  Wim,
9719         please fix.
9720
9721 2005-04-24  David Schleef  <ds@schleef.org>
9722
9723         Convert everything from GstAtomicInt to g_atomic_int_*, and
9724         remove gstatomic.
9725         * gst/Makefile.am:
9726         * gst/gstatomic.c:
9727         * gst/gstatomic.h:
9728         * gst/gstatomic_impl.h:
9729         * gst/gstbuffer.c:
9730         * gst/gstcaps.c:
9731         * gst/gstcaps.h:
9732         * gst/gstclock.c:
9733         * gst/gstclock.h:
9734         * gst/gstdata.c:
9735         * gst/gstdata.h:
9736         * gst/gstdata_private.h:
9737         * gst/gstevent.c:
9738         * gst/gstinfo.c:
9739         * gst/gstinfo.h:
9740         * gst/gstmessage.c:
9741         * gst/gstobject.c:
9742         * gst/gstobject.h:
9743         * gst/gststructure.c:
9744         * gst/gststructure.h:
9745         * gst/gstutils.c: Add gst_atomic_int_set() compaitibility function.
9746         * gst/gstutils.h:
9747
9748 2005-04-24  David Schleef  <ds@schleef.org>
9749
9750         * check/gst/gstpad.c: (START_TEST): Oh yeah, it's always nice to
9751         make the regressions tests work.  Remove some code that is no
9752         longer true.
9753         * gst/gstpad.c: (gst_pad_link_check_templates_compatible_unlocked):
9754         Disable warning for pads without templates.
9755
9756 2005-04-24  David Schleef  <ds@schleef.org>
9757
9758         * gst/gstpad.c: Remove handling of filtered caps.  Fix/merge
9759         functions that handle filtered links.
9760         * gst/gstpad.h: Remove 'appfilter' field and prototypes of
9761         removed functions.
9762         * gst/gstutils.c: Fix/remove utility functions that handle
9763         filtered caps.
9764         * gst/gstutils.h:
9765         * gst/gstvalue.c: Add serialization/deserialization of caps
9766         * gst/parse/grammar.y: Ignore filtered caps when linking.  This
9767         requires fixing so that the filter caps notation creates
9768         a capsfilter element and sets the filter_caps property.  I
9769         think everyone probably wants to keep the shorthand notation.
9770         * docs/gst/tmpl/gstelement.sgml: updates for API changes.
9771         * docs/gst/tmpl/gstpad.sgml:
9772
9773         * gst/elements/gstelements.c: Register capsfilter element.
9774         * gst/Makefile.am: fix spacing
9775         * docs/random/ds/0.9-suggested-changes: random
9776
9777 2005-04-23  David Schleef  <ds@schleef.org>
9778
9779         * gst/elements/Makefile.am:
9780         * gst/elements/gstcapsfilter.c: New element that acts like an
9781         identity, but filters caps.  Will eventually replace filtered
9782         caps in pad linking.
9783         * gst/gstutils.c: (gst_element_create_all_pads): New function
9784         to create all the ALWAYS pads that are registered with an
9785         element class.  This functionality should eventually be
9786         merged in with GstElement initialization.
9787         * gst/gstutils.h:
9788         * testsuite/trigger/README: part of trigger test code that should
9789         have been checked in a long time ago.
9790
9791 2005-04-23  David Schleef  <ds@schleef.org>
9792
9793         * gst/Makefile.am: Remove as-libtool stuff.  It's likely not
9794         needed with new versions of libtool (nobody will confirm this),
9795         and hard to carry around.
9796         * gst/autoplug/Makefile.am:
9797         * gst/base/Makefile.am:
9798         * gst/elements/Makefile.am:
9799         * gst/indexers/Makefile.am:
9800         * gst/schedulers/Makefile.am:
9801         * libs/gst/bytestream/Makefile.am:
9802         * libs/gst/control/Makefile.am:
9803         * libs/gst/dataprotocol/Makefile.am:
9804         * libs/gst/getbits/Makefile.am:
9805
9806 2005-04-21  Wim Taymans  <wim@fluendo.com>
9807
9808         * docs/design/draft-push-pull.txt:
9809         * docs/design/part-MT-refcounting.txt:
9810         * docs/design/part-TODO.txt:
9811         * docs/design/part-caps.txt:
9812         * docs/design/part-events.txt:
9813         * docs/design/part-gstbus.txt:
9814         * docs/design/part-gstpipeline.txt:
9815         * docs/design/part-messages.txt:
9816         * docs/design/part-push-pull.txt:
9817         * docs/design/part-query.txt:
9818         Some more docs.
9819
9820 2005-04-21  Wim Taymans  <wim@fluendo.com>
9821
9822         * gst/gstmessage.c: (_gst_message_copy), (_gst_message_free),
9823         (gst_message_new), (gst_message_new_error),
9824         (gst_message_new_warning), (gst_message_new_tag),
9825         (gst_message_new_state_changed), (gst_message_new_application),
9826         (gst_message_get_structure):
9827         * gst/gstmessage.h:
9828         * gst/gststructure.c: (gst_structure_set_parent_refcount),
9829         (gst_structure_copy_conditional):
9830         Use parent refcount in GstMessage to ensure GstStructure
9831         consistency.
9832         Cleaned up headers a bit.
9833         
9834
9835 2005-04-20  Wim Taymans  <wim@fluendo.com>
9836
9837         * gst/base/gstbasesink.c: (gst_basesink_base_init),
9838         (gst_basesink_pad_getcaps), (gst_basesink_init),
9839         (gst_basesink_chain_unlocked):
9840         * gst/base/gsttypefindhelper.c: (helper_find_suggest),
9841         (gst_type_find_helper):
9842         * gst/elements/gsttypefindelement.c:
9843         (gst_type_find_element_have_type), (gst_type_find_element_init),
9844         (stop_typefinding), (gst_type_find_element_handle_event),
9845         (find_suggest), (gst_type_find_element_chain),
9846         (gst_type_find_element_checkgetrange),
9847         (gst_type_find_element_getrange), (do_typefind),
9848         (gst_type_find_element_activate):
9849         * gst/gstbuffer.c: (_gst_buffer_sub_free),
9850         (gst_buffer_default_free), (gst_buffer_default_copy),
9851         (gst_buffer_set_caps):
9852         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref),
9853         (gst_caps_replace):
9854         * gst/gstmessage.c: (gst_message_new),
9855         (gst_message_new_state_changed):
9856         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
9857         (gst_pad_set_checkgetrange_function),
9858         (gst_pad_link_prepare_filtered), (gst_pad_relink_filtered),
9859         (gst_pad_set_caps), (gst_pad_check_pull_range),
9860         (gst_pad_pull_range), (gst_static_pad_template_get_caps):
9861         * gst/gstpad.h:
9862         * gst/gsttypefind.c: (gst_type_find_register):
9863         Make gst_caps_replace() work like other _replace() functions.
9864         Use _caps_replace() where possible.
9865         Make sure _message_new() initialises its field.
9866         Add gst_static_pad_template_get_caps()
9867
9868
9869 2005-04-18  Andy Wingo  <wingo@pobox.com>
9870
9871         * gst/gstelement.c (gst_element_pads_activate): Check pull_range
9872         on the peer, not the pad. I think that was a typo. Pass an extra
9873         arg to see if random access is possible. Activate the pads as
9874         PULL_RANGE if possible.
9875
9876         * gst/elements/gstfakesrc.c: s/ARG_/PROP_/.
9877
9878         * gst/base/gstbasesrc.c (gst_basesrc_set_property) 
9879         (gst_basesrc_get_property): BLOCKSIZE is a ULONG. Rename ARG_...
9880         to PROP_....
9881
9882 2005-04-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9883
9884         * docs/faq/using.xml:
9885           Add note on gstreamer-properties (#154996).
9886
9887 2005-04-13  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9888
9889         * docs/random/bbb/optional-properties:
9890           Some analysis on optional properties.
9891
9892 2005-04-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9893
9894         * docs/gst/tmpl/gstelementfactory.sgml:
9895         * gst/gstelement.h:
9896         * gst/gstelementfactory.c: (gst_element_factory_init),
9897         (gst_element_factory_cleanup), (gst_element_register),
9898         (__gst_element_factory_add_static_pad_template),
9899         (gst_element_factory_get_static_pad_templates),
9900         (gst_element_factory_can_src_caps),
9901         (gst_element_factory_can_sink_caps):
9902         * gst/registries/Makefile.am:
9903         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_get_type),
9904         (gst_xml_registry_class_init), (gst_xml_registry_init),
9905         (gst_xml_registry_new), (gst_xml_registry_set_property),
9906         (gst_xml_registry_get_property), (get_time), (make_dir),
9907         (gst_xml_registry_get_perms_func),
9908         (plugin_times_older_than_recurse), (plugin_times_older_than),
9909         (gst_xml_registry_open_func), (gst_xml_registry_load_func),
9910         (gst_xml_registry_save_func), (gst_xml_registry_close_func),
9911         (add_to_char_array), (read_string), (read_uint), (read_enum),
9912         (load_pad_template), (load_feature), (load_plugin), (load_paths),
9913         (gst_xml_registry_load), (gst_xml_registry_load_plugin),
9914         (gst_xml_registry_save_caps), (gst_xml_registry_save_pad_template),
9915         (gst_xml_registry_save_feature), (gst_xml_registry_save_plugin),
9916         (gst_xml_registry_save), (gst_xml_registry_rebuild_recurse),
9917         (gst_xml_registry_rebuild):
9918         * gst/registries/gstlibxmlregistry.h:
9919         * tools/gst-compprep.c: (main):
9920         * tools/gst-inspect.c: (print_pad_templates_info):
9921         * tools/gst-xmlinspect.c: (print_element_info):
9922           Use libxml2 for registry parsing, use staticpadtemplates in
9923           elementfactories. Makes gst_init() +/- 10x faster.
9924
9925 2005-04-12  Wim Taymans  <wim@fluendo.com>
9926
9927         * gst/base/Makefile.am:
9928         * gst/base/gstbasesink.c: (gst_basesink_base_init),
9929         (gst_basesink_pad_getcaps), (gst_basesink_init),
9930         (gst_basesink_event), (gst_basesink_change_state):
9931         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
9932         (gst_basesrc_init), (gst_basesrc_query),
9933         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
9934         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
9935         (gst_basesrc_check_get_range), (gst_basesrc_loop),
9936         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
9937         (gst_basesrc_stop), (gst_basesrc_activate),
9938         (gst_basesrc_change_state):
9939         * gst/base/gsttypefindhelper.c: (helper_find_peek),
9940         (helper_find_suggest), (gst_type_find_helper):
9941         * gst/base/gsttypefindhelper.h:
9942         * gst/elements/Makefile.am:
9943         * gst/elements/gstelements.c:
9944         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
9945         (gst_fakesink_get_times), (gst_fakesink_event),
9946         (gst_fakesink_preroll), (gst_fakesink_render):
9947         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
9948         (gst_fakesrc_init), (gst_fakesrc_event_handler),
9949         (gst_fakesrc_get_property), (gst_fakesrc_create),
9950         (gst_fakesrc_start), (gst_fakesrc_stop):
9951         * gst/elements/gstfakesrc.h:
9952         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init),
9953         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
9954         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
9955         (gst_filesrc_create_read), (gst_filesrc_create),
9956         (gst_filesrc_is_seekable), (gst_filesrc_get_size),
9957         (gst_filesrc_start):
9958         * gst/elements/gsttypefindelement.c:
9959         (gst_type_find_element_have_type), (gst_type_find_element_init),
9960         (start_typefinding), (stop_typefinding), (push_buffer_store),
9961         (gst_type_find_element_handle_event),
9962         (gst_type_find_element_chain),
9963         (gst_type_find_element_checkgetrange),
9964         (gst_type_find_element_getrange), (do_typefind),
9965         (gst_type_find_element_activate),
9966         (gst_type_find_element_change_state):
9967         * gst/elements/gsttypefindelement.h:
9968         * gst/gstpipeline.c: (pipeline_bus_handler):
9969         Added typefind helper.
9970         Small preroll fix in the base sink.
9971         Disable typefind code in basesrc.
9972         Crude port of typefindelement.
9973         Fakesrc cleanups.
9974
9975
9976 2005-04-11  Wim Taymans  <wim@fluendo.com>
9977
9978         * check/gst/gstbus.c: (gstbus_suite):
9979         * check/gst/gstdata.c: (thread_ref), (gst_data_suite):
9980         * check/gstcheck.h:
9981           Fix up the timeout so that the test does not fail.
9982
9983 2005-04-06  Wim Taymans  <wim@fluendo.com>
9984
9985         * gst/base/README:
9986         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
9987         (gst_basesrc_init), (gst_basesrc_get_formats), (gst_basesrc_query),
9988         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
9989         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
9990         (gst_basesrc_check_get_range), (gst_basesrc_loop),
9991         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
9992         (gst_basesrc_stop), (gst_basesrc_activate),
9993         (gst_basesrc_change_state), (basesrc_find_peek),
9994         (basesrc_find_suggest), (gst_basesrc_type_find):
9995         * gst/base/gstbasesrc.h:
9996         * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
9997         (gst_filesrc_class_init), (gst_filesrc_init),
9998         (gst_filesrc_finalize), (gst_filesrc_set_location),
9999         (gst_filesrc_set_property), (gst_filesrc_get_property),
10000         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
10001         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
10002         (gst_filesrc_create_read), (gst_filesrc_create),
10003         (gst_filesrc_get_size), (gst_filesrc_start), (gst_filesrc_stop):
10004         * gst/elements/gstfilesrc.h:
10005         * gst/gstelement.c: (gst_element_get_state_func),
10006         (gst_element_lost_state), (gst_element_pads_activate):
10007         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
10008         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
10009         (gst_pad_pull_range):
10010         * gst/gstpad.h:
10011         More work on the generic source base class, implement seeking,
10012         query.
10013         Make filesrc extend the base source class.
10014         Added gst_pad_set_checkgetrange_function to GstPad.
10015
10016 2005-04-06  Andy Wingo  <wingo@pobox.com>
10017
10018         * pkgconfig/gstreamer-base.pc.in:
10019         * pkgconfig/gstreamer-base-uninstalled.pc.in: New files.
10020
10021         * pkgconfig/Makefile.am:
10022         * configure.ac (AC_OUTPUT): Add gstreamer-base pkgconfig files.
10023
10024 2005-04-04  Wim Taymans  <wim@fluendo.com>
10025
10026         * gst/base/Makefile.am:
10027         * gst/base/README:
10028         * gst/base/gstbasesink.c: (gst_basesink_base_init),
10029         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
10030         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
10031         (gst_basesink_do_sync), (gst_basesink_chain_unlocked):
10032         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
10033         (gst_basesrc_base_init), (gst_basesrc_class_init),
10034         (gst_basesrc_init), (gst_basesrc_get_formats),
10035         (gst_basesrc_get_query_types), (gst_basesrc_query),
10036         (gst_basesrc_get_event_mask), (gst_basesrc_event_handler),
10037         (gst_basesrc_set_property), (gst_basesrc_get_property),
10038         (gst_basesrc_get_range_unlocked), (gst_basesrc_get_range),
10039         (gst_basesrc_loop), (gst_basesrc_activate),
10040         (gst_basesrc_change_state):
10041         * gst/base/gstbasesrc.h:
10042         * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
10043         (gst_fakesrc_class_init), (gst_fakesrc_init),
10044         (gst_fakesrc_event_handler), (gst_fakesrc_set_property),
10045         (gst_fakesrc_get_property), (gst_fakesrc_create):
10046         * gst/elements/gstfakesrc.h:
10047         * gst/elements/gstfilesrc.c: (gst_filesrc_getrange),
10048         (gst_filesrc_open_file), (gst_filesrc_loop),
10049         (gst_filesrc_activate), (filesrc_find_peek),
10050         (gst_filesrc_type_find):
10051         Made base source class, make fakesrc extend it.
10052         Add comments to basesink class.
10053         Some filesrc cleanup.
10054
10055 2005-03-31  David Schleef  <ds@schleef.org>
10056
10057         * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
10058         Switch to using G_MODULE_BIND_LOCAL, which means plugins are now
10059         expected to link against libgstreamer.
10060         * gst/base/Makefile.am: link against libgstreamer
10061         * gst/elements/Makefile.am: same
10062
10063 2005-03-31  Andy Wingo  <wingo@pobox.com>
10064
10065         * tests/instantiate/Makefile.am:
10066         * tests/instantiate/caps.c: Add test to test speed of caps copy
10067         and free.
10068
10069         * tests/memchunk/gmemchunktest.c (main): Use alloc only on the
10070         GMemChunk to be fair.
10071
10072         * gst/gsttrashstack.h: Remove warning about using the fallback
10073         trash stack implementation, it's still faster than malloc.
10074
10075 2005-03-30  Andy Wingo  <wingo@pobox.com>
10076
10077         * tests/complexity.c: Add a copyright.
10078
10079 2005-03-31  Wim Taymans  <wim@fluendo.com>
10080
10081         * gst/base/gstbasetransform.c: (gst_base_transform_base_init),
10082         (gst_base_transform_class_init), (gst_base_transform_init),
10083         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
10084         (gst_base_transform_get_property),
10085         (gst_base_transform_sink_activate),
10086         (gst_base_transform_src_activate),
10087         (gst_base_transform_change_state):
10088         * gst/base/gstbasetransform.h:
10089         * gst/elements/gstidentity.c: (gst_identity_class_init),
10090         (gst_identity_event), (gst_identity_check_perfect),
10091         (gst_identity_transform), (gst_identity_start),
10092         (gst_identity_stop):
10093         Added start/stop methods to transform base class so subclasses 
10094         don't need to deal with state changes even.
10095
10096 2005-03-31  Wim Taymans  <wim@fluendo.com>
10097
10098         * gst/gstevent.c: (gst_event_new_discontinuous_valist),
10099         (gst_event_new_discontinuous), (gst_event_discont_get_value):
10100         * gst/gstevent.h:
10101         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
10102         (gst_pad_pull_range):
10103         Added rate to the discont event to prepare for variable speed
10104         and reverse playback.
10105
10106 2005-03-29  David Schleef  <ds@schleef.org>
10107
10108         * configure.ac:
10109         * testsuite/trigger/Makefile.am:
10110         * testsuite/trigger/trigger.c: A little example program to show
10111         how trigger-based elements can work.
10112
10113 2005-03-29  Wim Taymans  <wim@fluendo.com>
10114
10115         * gst/base/Makefile.am:
10116         * gst/base/README:
10117         * gst/base/gstbasesink.c: (gst_basesink_get_type),
10118         (gst_basesink_base_init), (gst_basesink_class_init),
10119         (gst_basesink_pad_getcaps), (gst_basesink_init),
10120         (gst_basesink_activate), (gst_basesink_change_state):
10121         * gst/base/gstbasesink.h:
10122         * gst/base/gstbasetransform.c: (gst_base_transform_get_type),
10123         (gst_base_transform_base_init), (gst_base_transform_finalize),
10124         (gst_base_transform_class_init), (gst_base_transform_init),
10125         (gst_base_transform_proxy_getcaps), (gst_base_transform_setcaps),
10126         (gst_base_transform_event), (gst_base_transform_getrange),
10127         (gst_base_transform_chain), (gst_base_transform_handle_buffer),
10128         (gst_base_transform_set_property),
10129         (gst_base_transform_get_property),
10130         (gst_base_transform_sink_activate),
10131         (gst_base_transform_src_activate),
10132         (gst_base_transform_change_state):
10133         * gst/base/gstbasetransform.h:
10134         * gst/elements/gstidentity.c: (gst_identity_finalize),
10135         (gst_identity_class_init), (gst_identity_init),
10136         (gst_identity_event), (gst_identity_check_perfect),
10137         (gst_identity_transform), (gst_identity_set_property),
10138         (gst_identity_get_property), (gst_identity_change_state):
10139         * gst/elements/gstidentity.h:
10140         * gst/gstelement.c: (gst_element_get_state_func),
10141         (gst_element_lost_state), (gst_element_pads_activate):
10142         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
10143         (gst_pad_check_pull_range), (gst_pad_pull_range):
10144         * gst/gstpad.h:
10145         Simplify pad activation.
10146         Added function to check if pull_range can be performed.
10147         Error out when pulling inactive or flushing pads.
10148         Removed const from refcounted types as it does not make sense.
10149         Simplify pad templates in basesink
10150         Added base class for simple 1-to-1 transforms.
10151         Make identity subclass the base transform.
10152
10153 2005-03-29  Andy Wingo  <wingo@pobox.com>
10154
10155         * docs/libs/gstreamer-libs-overrides.txt: 
10156         * docs/gst/gstreamer-overrides.txt: Add these files to CVS. Now I
10157         really don't understand what's going on, but like whatever. I want
10158         green buildbot!
10159
10160         * docs/gst/Makefile.am:
10161         * docs/libs/Makefile.am: Dist the overrides files.
10162
10163         * check/Makefile.am (clean-local): Remove .libs directories.
10164
10165         * gst/elements/Makefile.am (EXTRA_DIST): Add all the attic
10166         elements to EXTRA_DIST, so po/ files are happy.
10167
10168         * po/POTFILES.in: Er, remove it here.
10169
10170         * po/POTFILES: Remove gstspider.c.
10171
10172         * configure.ac (AC_OUTPUT): Add missing testsuite makefiles.
10173
10174         * docs/libs/gstreamer-libs-docs.sgml: 
10175         * docs/libs/gstreamer-libs-sections.txt: Remove the section on
10176         bytestream.
10177
10178         * tests/complexity.c (main): Set the length of the preroll queue
10179         on the sinks to prevent a lockup.
10180
10181         * libs/gst/dataprotocol/Makefile.am: 
10182         * libs/gst/dataprotocol/dataprotocol-test.c: Remove test, it's
10183         the same as the one in check/gst-libs/gdp.c.
10184
10185         * po/, docs/gst/: Commit automatic changes to docs and po files.
10186
10187         * gst/elements/Makefile.am (libgstelements_la_LDFLAGS): Link to
10188         the versioned libgstbase.
10189
10190         * check/Makefile.am: Depend on an unversioned gst-register, seems
10191         to make autoconf happier.
10192
10193         * gst/base/Makefile.am: Make libgstbase a versioned lib.
10194
10195 2005-03-28  Wim Taymans  <wim@fluendo.com>
10196
10197         * configure.ac:
10198         * docs/design/part-gstelement.txt:
10199         * docs/design/part-negotiation.txt:
10200         * docs/design/part-preroll.txt:
10201         * docs/design/part-scheduling.txt:
10202         * docs/design/part-states.txt:
10203         * gst/Makefile.am:
10204         * gst/base/Makefile.am:
10205         * gst/base/README:
10206         * gst/base/gstbasesink.c: (gst_basesink_get_template),
10207         (gst_basesink_base_init), (gst_basesink_class_init),
10208         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
10209         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
10210         (gst_basesink_set_pad_functions),
10211         (gst_basesink_set_all_pad_functions), (gst_basesink_set_clock),
10212         (gst_basesink_set_property), (gst_basesink_get_property),
10213         (gst_base_sink_get_template), (gst_base_sink_get_caps),
10214         (gst_base_sink_set_caps), (gst_base_sink_buffer_alloc),
10215         (gst_basesink_preroll_queue_push),
10216         (gst_basesink_preroll_queue_empty),
10217         (gst_basesink_preroll_queue_flush), (gst_basesink_finish_preroll),
10218         (gst_basesink_event), (gst_basesink_get_times),
10219         (gst_basesink_do_sync), (gst_basesink_handle_buffer),
10220         (gst_basesink_chain_unlocked), (gst_basesink_chain),
10221         (gst_basesink_loop), (gst_basesink_activate),
10222         (gst_basesink_change_state):
10223         * gst/base/gstbasesink.h:
10224         * gst/elements/Makefile.am:
10225         * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
10226         (gst_fakesink_class_init), (gst_fakesink_init),
10227         (gst_fakesink_set_property), (gst_fakesink_get_property),
10228         (gst_fakesink_get_times), (gst_fakesink_event),
10229         (gst_fakesink_preroll), (gst_fakesink_render),
10230         (gst_fakesink_change_state):
10231         * gst/elements/gstfakesink.h:
10232         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
10233         (gst_bin_get_state), (gst_bin_change_state), (gst_bin_send_event):
10234         * gst/gstelement.c: (gst_element_add_pad),
10235         (gst_element_get_state_func), (gst_element_abort_state),
10236         (gst_element_commit_state), (gst_element_lost_state),
10237         (gst_element_set_state), (gst_element_pads_activate):
10238         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_event_default):
10239         * gst/gstpipeline.c: (gst_pipeline_send_event),
10240         (gst_pipeline_change_state):
10241         Added state change code.
10242         Added/updated docs.
10243         Added sink base class, make fakesink extend the base class.
10244         Small cleanups in GstPipeline.
10245
10246 2005-03-26  David Schleef  <ds@schleef.org>
10247
10248         * gst/Makefile.am: remove gstcpu.[ch].  The gst_cpu functionality
10249         is broken and should be implemented in a different library.
10250         * gst/gst.c: (init_post): don't call _gst_cpu_initialize()
10251         * gst/gst.h: remove gstcpu.h
10252         * gst/gstcpu.c: remove
10253         * gst/gstcpu.h: remove
10254         * gst/Makefile.am.future: Remove this file.  It's ancient.
10255
10256 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10257
10258         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
10259         (gst_bin_send_event):
10260           Add default event/set_manager handlers. The set_manager handler
10261           takes care that the manager is distributed over kids that were
10262           already in the bin before the manager was set. The event handler
10263           is a utility virtual function that sends the event over all sinks,
10264           so that gst_element_send_event (bin, event); has the expected
10265           behaviour.
10266         * gst/gstpad.c: (gst_pad_event_default):
10267           Re-install default event handling for discontinuities, so that
10268           seeking works without requiring hacks in applications or extra
10269           code in sinks.
10270         * gst/gstpipeline.c: (gst_pipeline_class_init),
10271         (gst_pipeline_send_event):
10272           Half hack, half utility: set a pipeline to PAUSED for seek events,
10273           since that is the only way we can guarantee a/v sync. Means that
10274           you can do gst_element_seek (pipeline, method, pos); on a pipeline
10275           and it "just works".
10276
10277 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10278
10279         * gst/gstpipeline.c: (gst_pipeline_use_clock):
10280           Lock/unlock mismatch.
10281
10282 2005-03-25  Thomas Vander Stichele  <thomas at apestaart dot org>
10283
10284         * docs/faq/gst-uninstalled:
10285           add gst-plugins-base
10286         * docs/gst/Makefile.am:
10287           don't error out until docs are fixed
10288         * docs/gst/gstreamer.types:
10289           remove thread
10290
10291 2005-03-22  Wim Taymans  <wim@fluendo.com>
10292
10293         * check/Makefile.am:
10294         * check/gst/gstmessage.c: (START_TEST), (gst_data_suite), (main):
10295         * gst/gststructure.c: (gst_structure_set_valist),
10296         (gst_structure_copy_conditional):
10297         Activated more tests.
10298         Added message test.
10299         Added G_TYPE_POINTER to GstStructure.
10300         
10301
10302 2005-03-22  Wim Taymans  <wim@fluendo.com>
10303
10304         * docs/design/part-TODO.txt:
10305         * docs/design/part-events.txt:
10306         * docs/design/part-gstbin.txt:
10307         * docs/design/part-gstbus.txt:
10308         * docs/design/part-gstpipeline.txt:
10309         * docs/design/part-messages.txt:
10310         * gst/gstbus.c:
10311         * gst/gstmessage.c:
10312         Docs updates
10313
10314 2005-03-21  Wim Taymans  <wim@fluendo.com>
10315
10316         * gst/gstbus.c: (gst_bus_post):
10317         Fix copy-and-paste error.
10318
10319 2005-03-21  Wim Taymans  <wim@fluendo.com>
10320
10321         * check/Makefile.am:
10322         * gst/Makefile.am:
10323         * gst/elements/Makefile.am:
10324         * gst/elements/gstelements.c:
10325         * gst/elements/gstfakesink.c: (gst_fakesink_init),
10326         (gst_fakesink_event), (gst_fakesink_chain):
10327         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
10328         (gst_fakesrc_init), (gst_fakesrc_get_event_mask),
10329         (gst_fakesrc_event_handler), (gst_fakesrc_set_pad_functions),
10330         (gst_fakesrc_set_all_pad_functions), (gst_fakesrc_request_new_pad),
10331         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
10332         (gst_fakesrc_get_range_unlocked), (gst_fakesrc_get_range),
10333         (gst_fakesrc_loop), (gst_fakesrc_activate),
10334         (gst_fakesrc_change_state):
10335         * gst/elements/gstfakesrc.h:
10336         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
10337         (gst_filesrc_get_read), (gst_filesrc_getrange), (gst_filesrc_get),
10338         (gst_filesrc_open_file), (gst_filesrc_loop),
10339         (gst_filesrc_activate), (gst_filesrc_change_state),
10340         (filesrc_find_peek), (filesrc_find_suggest),
10341         (gst_filesrc_type_find):
10342         * gst/elements/gstidentity.c: (gst_identity_finalize),
10343         (gst_identity_class_init), (gst_identity_init),
10344         (gst_identity_proxy_getcaps), (identity_queue_push),
10345         (identity_queue_pop), (identity_queue_flush), (gst_identity_event),
10346         (gst_identity_getrange), (gst_identity_chain),
10347         (gst_identity_sink_loop), (gst_identity_src_loop),
10348         (gst_identity_handle_buffer), (gst_identity_set_dataflow_funcs),
10349         (gst_identity_set_property), (gst_identity_get_property),
10350         (gst_identity_change_state):
10351         * gst/elements/gstidentity.h:
10352         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
10353         (gst_tee_update_pad_functions), (gst_tee_request_new_pad),
10354         (gst_tee_set_property), (gst_tee_get_property), (gst_tee_do_push),
10355         (gst_tee_handle_buffer), (gst_tee_chain), (gst_tee_loop),
10356         (gst_tee_sink_activate):
10357         * gst/elements/gsttee.h:
10358         * gst/gst.c: (gst_register_core_elements), (init_post):
10359         * gst/gst.h:
10360         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_bus),
10361         (gst_bin_set_scheduler), (gst_bin_add_func), (gst_bin_add),
10362         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_get_state),
10363         (gst_bin_change_state):
10364         * gst/gstbin.h:
10365         * gst/gstbus.c: (gst_bus_get_type), (gst_bus_class_init),
10366         (gst_bus_init), (gst_bus_dispose), (gst_bus_set_property),
10367         (gst_bus_get_property), (gst_bus_new), (gst_bus_post),
10368         (gst_bus_have_pending), (gst_bus_pop), (gst_bus_peek),
10369         (gst_bus_set_sync_handler), (gst_bus_create_watch),
10370         (bus_watch_callback), (bus_watch_destroy),
10371         (gst_bus_add_watch_full), (gst_bus_add_watch), (poll_handler),
10372         (poll_timeout), (gst_bus_poll):
10373         * gst/gstbus.h:
10374         * gst/gstcaps.h:
10375         * gst/gstdata.h:
10376         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
10377         (gst_element_post_message), (gst_element_message_full),
10378         (gst_element_get_state_func), (gst_element_get_state),
10379         (gst_element_abort_state), (gst_element_commit_state),
10380         (gst_element_lost_state), (gst_element_set_state),
10381         (gst_element_pads_activate), (gst_element_change_state),
10382         (gst_element_dispose), (gst_element_set_manager_func),
10383         (gst_element_set_bus_func), (gst_element_set_scheduler_func),
10384         (gst_element_set_manager), (gst_element_get_manager),
10385         (gst_element_set_bus), (gst_element_get_bus),
10386         (gst_element_set_scheduler), (gst_element_get_scheduler):
10387         * gst/gstelement.h:
10388         * gst/gstevent.c: (gst_event_new_segment_seek),
10389         (gst_event_new_flush):
10390         * gst/gstevent.h:
10391         * gst/gstmessage.c: (_gst_message_initialize), (_gst_message_copy),
10392         (_gst_message_free), (gst_message_get_type), (gst_message_new),
10393         (gst_message_new_eos), (gst_message_new_error),
10394         (gst_message_new_warning), (gst_message_new_tag),
10395         (gst_message_new_state_changed), (gst_message_new_application),
10396         (gst_message_get_structure), (gst_message_parse_tag),
10397         (gst_message_parse_state_changed), (gst_message_parse_error),
10398         (gst_message_parse_warning):
10399         * gst/gstmessage.h:
10400         * gst/gstpad.c: (gst_real_pad_class_init), (gst_real_pad_init),
10401         (gst_real_pad_set_property), (gst_pad_set_active),
10402         (gst_pad_is_active), (gst_pad_set_blocked_async),
10403         (gst_pad_set_blocked), (gst_pad_is_blocked),
10404         (gst_pad_set_activate_function), (gst_pad_set_loop_function),
10405         (gst_pad_set_getrange_function), (gst_pad_set_acceptcaps_function),
10406         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
10407         (gst_pad_unlink), (gst_pad_link_prepare_filtered),
10408         (gst_pad_link_filtered), (gst_pad_relink_filtered),
10409         (gst_real_pad_get_caps_unlocked), (gst_pad_get_caps),
10410         (gst_pad_peer_get_caps), (gst_pad_fixate_caps),
10411         (gst_pad_accept_caps), (gst_pad_peer_accept_caps),
10412         (gst_pad_set_caps), (gst_pad_configure_sink),
10413         (gst_pad_configure_src), (gst_pad_get_negotiated_caps),
10414         (gst_pad_get_filter_caps), (gst_pad_alloc_buffer),
10415         (gst_real_pad_dispose), (gst_real_pad_finalize),
10416         (handle_pad_block), (gst_pad_push), (gst_pad_pull_range),
10417         (gst_pad_event_default_dispatch), (gst_pad_event_default),
10418         (gst_pad_push_event), (gst_pad_send_event), (gst_pad_get_formats):
10419         * gst/gstpad.h:
10420         * gst/gstpipeline.c: (gst_pipeline_init), (is_eos),
10421         (pipeline_bus_handler), (gst_pipeline_change_state),
10422         (gst_pipeline_get_scheduler), (gst_pipeline_get_bus):
10423         * gst/gstpipeline.h:
10424         * gst/gstprobe.h:
10425         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
10426         (gst_queue_finalize), (gst_queue_getcaps), (gst_queue_link_sink),
10427         (gst_queue_link_src), (gst_queue_bufferalloc),
10428         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
10429         (gst_queue_is_empty), (gst_queue_is_filled), (gst_queue_chain),
10430         (gst_queue_loop), (gst_queue_handle_src_event),
10431         (gst_queue_handle_src_query), (gst_queue_src_activate),
10432         (gst_queue_change_state):
10433         * gst/gstqueue.h:
10434         * gst/gstscheduler.c: (gst_scheduler_init),
10435         (gst_scheduler_dispose), (gst_scheduler_create_task),
10436         (gst_scheduler_factory_create):
10437         * gst/gstscheduler.h:
10438         * gst/gststructure.c: (gst_structure_get_type),
10439         (gst_structure_copy_conditional):
10440         * gst/gststructure.h:
10441         * gst/gsttaginterface.h:
10442         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
10443         (gst_task_init), (gst_task_dispose), (gst_task_create),
10444         (gst_task_get_state), (gst_task_start), (gst_task_stop),
10445         (gst_task_pause):
10446         * gst/gsttask.h:
10447         * gst/gstthread.c:
10448         * gst/gstthread.h:
10449         * gst/gsttypes.h:
10450         * gst/schedulers/Makefile.am:
10451         * gst/schedulers/cothreads_compat.h:
10452         * gst/schedulers/entryscheduler.c:
10453         * gst/schedulers/faircothreads.c:
10454         * gst/schedulers/faircothreads.h:
10455         * gst/schedulers/fairscheduler.c:
10456         * gst/schedulers/gstbasicscheduler.c:
10457         * gst/schedulers/gstoptimalscheduler.c:
10458         * gst/schedulers/gthread-cothreads.h:
10459         * gst/schedulers/threadscheduler.c:
10460         (gst_thread_scheduler_task_get_type),
10461         (gst_thread_scheduler_task_class_init),
10462         (gst_thread_scheduler_task_init),
10463         (gst_thread_scheduler_task_start),
10464         (gst_thread_scheduler_task_stop),
10465         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_get_type),
10466         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
10467         (gst_thread_scheduler_init), (gst_thread_scheduler_create_task),
10468         (gst_thread_scheduler_setup), (gst_thread_scheduler_reset),
10469         (plugin_init):
10470         * libs/gst/Makefile.am:
10471         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf):
10472         * libs/gst/bytestream/filepad.c: (gst_file_pad_init),
10473         (gst_file_pad_parent_set):
10474         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
10475         (gst_dp_event_from_packet):
10476         * tests/complexity.c: (main):
10477         * tests/mass_elements.c: (main):
10478         * testsuite/states/locked.c: (message_received), (main):
10479         * testsuite/states/parent.c: (main):
10480         * tools/gst-inspect.c: (print_element_flag_info),
10481         (print_implementation_info), (print_pad_info):
10482         * tools/gst-launch.c: (check_intr), (play_handler), (event_loop),
10483         (main):
10484         * tools/gst-md5sum.c: (event_loop), (main):
10485         * tools/gst-typefind.c: (main):
10486         * tools/gst-xmlinspect.c: (print_element_info):
10487         Next big merge.
10488         Added GstBus for mainloop integration.
10489         Added GstMessage for sending notifications on the bus.
10490         Added GstTask as an abstraction for pipeline entry points.
10491         Removed GstThread.
10492         Removed Schedulers.
10493         Simplified GstQueue for multithreaded core.
10494         Made _link threadsafe, removed old capsnego.
10495         Added STREAM_LOCK and PREROLL_LOCK in GstPad.
10496         Added pad blocking functions.
10497         Reworked scheduling functions in GstPad to prepare for
10498         scheduling updates soon.
10499         Moved events out of data stream.
10500         Simplified GstEvent types.
10501         Added return values to push/pull.
10502         Removed clocking from GstElement.
10503         Added prototypes for state change function for next merge.
10504         Removed iterate from bins and state change management.
10505         Fixed some elements, disabled others for now.
10506         Fixed -inspect and -launch.
10507         Added check for GstBus.
10508
10509 2005-03-10  Wim Taymans  <wim@fluendo.com>
10510
10511         * docs/design/part-MT-refcounting.txt:
10512         * docs/design/part-clocks.txt:
10513         * docs/design/part-gstelement.txt:
10514         * docs/design/part-gstobject.txt:
10515         * docs/design/part-standards.txt:
10516         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
10517         (gst_bin_remove_func), (gst_bin_remove):
10518         * gst/gstbin.h:
10519         * gst/gstbuffer.c:
10520         * gst/gstcaps.h:
10521         * testsuite/clock/clock1.c: (main):
10522         * testsuite/clock/clock2.c: (gst_clock_debug), (element_wait),
10523         (main):
10524         * testsuite/dlopen/loadgst.c: (do_test):
10525         * testsuite/refcounting/bin.c: (add_remove_test1),
10526         (add_remove_test2), (main):
10527         * testsuite/refcounting/element.c: (main):
10528         * testsuite/refcounting/element_pad.c: (main):
10529         * testsuite/refcounting/pad.c: (main):
10530         * tools/gst-launch.c: (sigint_handler_sighandler):
10531         * tools/gst-typefind.c: (main):
10532         Doc updates.
10533         Added doc about clock.
10534         removed gst_bin_iterate_recurse_up(), marked methods
10535         for removal.
10536         Fix more testsuites.
10537
10538 2005-03-09  Wim Taymans  <wim@fluendo.com>
10539
10540         * gst/gstpad.c: (gst_pad_get_direction),
10541         (_gst_pad_default_fixate_foreach), (gst_pad_collectv),
10542         (gst_pad_collect_valist):
10543         * testsuite/bins/interface.c: (main):
10544         * testsuite/caps/audioscale.c: (test_caps):
10545         * testsuite/caps/caps.c: (test1), (test2), (test3):
10546         * testsuite/caps/deserialize.c: (main):
10547         * testsuite/caps/enumcaps.c: (main):
10548         * testsuite/caps/filtercaps.c: (main):
10549         * testsuite/caps/intersect2.c: (main):
10550         * testsuite/caps/random.c: (main):
10551         * testsuite/caps/renegotiate.c: (my_fixate), (main):
10552         * testsuite/caps/sets.c: (check_caps):
10553         * testsuite/caps/simplify.c: (check_caps), (main):
10554         * testsuite/caps/subtract.c: (check_caps):
10555         Fix _pad_get_direction wrt ghostpads.
10556         Fix caps testsuite.
10557
10558 2005-03-09  Wim Taymans  <wim@fluendo.com>
10559
10560         * check/Makefile.am:
10561         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite), (main):
10562         * check/gst/gstsystemclock.c: (START_TEST), (gst_clock_debug),
10563         (ok_callback), (error_callback), (gst_systemclock_suite), (main):
10564         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func),
10565         (gst_bin_set_clock_func), (gst_bin_get_clock_func),
10566         (gst_bin_add_func), (gst_bin_add), (gst_bin_remove_func),
10567         (gst_bin_remove), (gst_bin_iterate_recurse_up),
10568         (bin_element_is_sink), (gst_bin_iterate_sinks),
10569         (gst_bin_iterate_all_by_interface):
10570         * gst/gstbin.h:
10571         * gst/gstelement.c: (gst_element_init), (gst_element_error_full),
10572         (gst_element_change_state), (gst_element_dispose),
10573         (gst_element_finalize), (gst_element_set_loop_function):
10574         * gst/gstelement.h:
10575         * gst/gstiterator.c: (find_custom_fold_func):
10576         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
10577         (gst_pad_collectv), (gst_pad_collect_valist),
10578         (gst_pad_template_new):
10579         * gst/gstpipeline.c: (gst_pipeline_class_init),
10580         (gst_pipeline_dispose), (gst_pipeline_set_property),
10581         (gst_pipeline_get_property), (gst_pipeline_get_clock_func),
10582         (gst_pipeline_get_clock), (gst_pipeline_use_clock),
10583         (gst_pipeline_set_clock), (gst_pipeline_auto_clock):
10584         * gst/gstutils.h:
10585         * gst/schedulers/entryscheduler.c:
10586         * gst/schedulers/gstbasicscheduler.c:
10587         (gst_basic_scheduler_cothreaded_chain),
10588         (gst_basic_scheduler_chain_add_element):
10589         * testsuite/bins/interface.c: (main):
10590         Added GstBin test.
10591         Added GstSystemClock test.
10592         Implemented clock distribution code in GstBin.
10593         Implemented iterate sinks method for future use.
10594         Rearranged gstelement.h
10595         Fix GstIterator comparison bug.
10596         Moved some code to GstPipeline, mostly clocking related.
10597
10598 2005-03-09  Wim Taymans  <wim@fluendo.com>
10599
10600         * configure.ac:
10601         * gst/gst_private.h:
10602         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
10603         (gst_bin_remove_func), (gst_bin_remove),
10604         (gst_bin_get_by_name_recurse_up):
10605         * gst/gstclock.c: (gst_clock_id_ref), (gst_clock_id_unref),
10606         (gst_clock_id_compare_func), (gst_clock_id_wait),
10607         (gst_clock_id_wait_async), (gst_clock_init),
10608         (gst_clock_adjust_unlocked), (gst_clock_get_time):
10609         * gst/gstelement.h:
10610         * gst/gstinfo.c: (_gst_debug_init):
10611         * gst/gstobject.h:
10612         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
10613         (gst_pad_collectv), (gst_pad_collect_valist), (gst_pad_query):
10614         * gst/gstpad.h:
10615         Bump version number, we're now 0.9.0
10616         Add future debugging category.
10617         Fix NULL _unref() in _get_by_name_recurse_up
10618         Rearrange gstpad.h.
10619         Update some docs.
10620
10621 2005-03-08  Wim Taymans  <wim@fluendo.com>
10622
10623         * gst/elements/gstaggregator.c: (gst_aggregator_class_init):
10624         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
10625         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
10626         * gst/elements/gstfdsink.c: (gst_fdsink_class_init):
10627         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init):
10628         * gst/elements/gstfilesink.c: (gst_filesink_class_init):
10629         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init):
10630         * gst/elements/gstidentity.c: (gst_identity_class_init):
10631         * gst/elements/gstmd5sink.c: (gst_md5sink_class_init):
10632         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
10633         * gst/elements/gstshaper.c: (gst_shaper_class_init):
10634         * gst/elements/gststatistics.c: (gst_statistics_class_init):
10635         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_getcaps),
10636         (gst_tee_link):
10637         * gst/gstelement.c: (gst_element_class_init),
10638         (gst_element_base_class_init), (gst_element_init),
10639         (gst_element_get_random_pad), (gst_element_wait_state_change),
10640         (gst_element_change_state), (gst_element_dispose),
10641         (gst_element_finalize), (gst_element_set_loop_function):
10642         * gst/gstelement.h:
10643         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_link_src):
10644         * gst/gstthread.c: (gst_thread_class_init),
10645         (gst_thread_release_children_locks), (gst_thread_change_state):
10646         * gst/schedulers/gstbasicscheduler.c:
10647         (gst_basic_scheduler_loopfunc_wrapper),
10648         (gst_basic_scheduler_chain_wrapper),
10649         (gst_basic_scheduler_src_wrapper),
10650         (gst_basic_scheduler_remove_element):
10651         * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
10652         Remove threadsafe properties. Fix elements because GObject
10653         complains when installing a property before declaring a
10654         set/get_property handler.
10655         Rearrange gstelement.h file, use STATE macros for state locks.
10656         Free mutexes in the finalize method instead of dispose.
10657
10658 2005-03-08  Wim Taymans  <wim@fluendo.com>
10659
10660         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
10661         * gst/gstthread.c: (gst_thread_release_children_locks):
10662         Added parentage check.
10663         Fix build og GstThread again.
10664
10665 2005-03-08  Wim Taymans  <wim@fluendo.com>
10666
10667         * docs/design/part-MT-refcounting.txt:
10668         * docs/design/part-conventions.txt:
10669         * docs/design/part-gstobject.txt:
10670         * docs/design/part-relations.txt:
10671         * docs/design/part-standards.txt:
10672         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
10673         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_iterate_recurse),
10674         (gst_bin_get_by_name), (gst_bin_get_by_interface),
10675         (gst_bin_iterate_all_by_interface):
10676         * gst/gstbuffer.h:
10677         * gst/gstclock.h:
10678         * gst/gstelement.c: (gst_element_class_init),
10679         (gst_element_change_state), (gst_element_set_loop_function):
10680         * gst/gstelement.h:
10681         * gst/gstiterator.c:
10682         * gst/gstobject.c: (gst_object_class_init), (gst_object_ref),
10683         (gst_object_unref), (gst_object_sink), (gst_object_dispose),
10684         (gst_object_dispatch_properties_changed), (gst_object_set_name),
10685         (gst_object_set_parent), (gst_object_unparent),
10686         (gst_object_check_uniqueness):
10687         * gst/gstobject.h:
10688         Docs updates, clean up some headers.
10689
10690 2005-03-07  Wim Taymans  <wim@fluendo.com>
10691
10692         * check/.cvsignore:
10693         * check/Makefile.am:
10694         * check/gst-libs/.cvsignore:
10695         * check/gst-libs/gdp.c: (START_TEST), (gst_object_suite), (main):
10696         * check/gst/.cvsignore:
10697         * check/gst/gstbus.c: (pound_bus_with_messages), (pull_messages),
10698         (START_TEST), (gstbus_suite), (main):
10699         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite), (main):
10700         * check/gst/gstdata.c: (START_TEST), (thread_ref), (thread_unref),
10701         (gst_data_suite), (main):
10702         * check/gst/gstiterator.c: (make_list_of_ints), (START_TEST),
10703         (add_fold_func), (gstiterator_suite), (main):
10704         * check/gst/gstobject.c: (gst_fake_object_get_type), (START_TEST),
10705         (thread_name_object), (thread_name_object_default),
10706         (gst_object_name_compare), (gst_object_suite), (main):
10707         * check/gst/gstpad.c: (START_TEST), (thread_link_unlink),
10708         (gst_pad_suite), (main):
10709         * check/gstcheck.c: (gst_check_log_message_func),
10710         (gst_check_log_critical_func), (gst_check_init):
10711         * check/gstcheck.h:
10712         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
10713         (run_pipeline), (START_TEST), (simple_launch_lines_suite), (main):
10714         Added checks.
10715
10716 2005-03-07  Wim Taymans  <wim@fluendo.com>
10717
10718         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
10719         (gst_list_iterator_next), (gst_list_iterator_resync),
10720         (gst_list_iterator_free), (gst_iterator_new_list),
10721         (gst_iterator_pop), (gst_iterator_next), (gst_iterator_resync),
10722         (gst_iterator_free), (gst_iterator_push), (filter_next),
10723         (filter_resync), (filter_uninit), (filter_free),
10724         (gst_iterator_filter), (gst_iterator_fold), (foreach_fold_func),
10725         (gst_iterator_foreach), (find_custom_fold_func),
10726         (gst_iterator_find_custom):
10727         * gst/gstiterator.h:
10728         Added missing files.
10729
10730 2005-03-07  Wim Taymans  <wim@fluendo.com>
10731
10732         * Makefile.am:
10733         * configure.ac:
10734         * docs/design/part-MT-refcounting.txt:
10735         * docs/design/part-conventions.txt:
10736         * docs/design/part-gstobject.txt:
10737         * docs/design/part-relations.txt:
10738         * examples/mixer/mixer.c: (main):
10739         * examples/thread/thread.c: (eos), (main):
10740         * gst/Makefile.am:
10741         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
10742         * gst/autoplug/gstspider.c: (gst_spider_identity_plug),
10743         (gst_spider_plug_from_srcpad):
10744         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps),
10745         (gst_spider_identity_change_state),
10746         (gst_spider_identity_sink_loop_type_finding):
10747         * gst/elements/gstfakesrc.c: (gst_fakesrc_loop):
10748         * gst/elements/gstidentity.c: (gst_identity_init):
10749         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_getcaps),
10750         (gst_tee_link), (gst_tee_request_new_pad), (gst_tee_chain):
10751         * gst/elements/gsttypefindelement.c: (free_entry):
10752         * gst/gst.c:
10753         * gst/gst.h:
10754         * gst/gstbin.c: (gst_bin_init), (gst_bin_get_clock_func),
10755         (gst_bin_set_clock_func), (gst_bin_auto_clock),
10756         (gst_bin_set_index), (gst_bin_set_element_sched),
10757         (gst_bin_unset_element_sched), (gst_bin_add_func), (gst_bin_add),
10758         (gst_bin_remove_func), (gst_bin_remove), (iterate_child),
10759         (gst_bin_iterate_elements), (iterate_child_recurse),
10760         (gst_bin_iterate_recurse), (gst_bin_dispose), (compare_name),
10761         (gst_bin_get_by_name), (gst_bin_get_by_name_recurse_up),
10762         (compare_interface), (gst_bin_get_by_interface),
10763         (gst_bin_iterate_all_by_interface), (gst_bin_iterate_func):
10764         * gst/gstbin.h:
10765         * gst/gstbuffer.c: (gst_buffer_get_type), (_gst_buffer_sub_free),
10766         (gst_buffer_default_free), (gst_buffer_default_copy),
10767         (gst_buffer_new), (gst_buffer_get_caps), (gst_buffer_set_caps),
10768         (gst_buffer_create_sub):
10769         * gst/gstbuffer.h:
10770         * gst/gstcaps.c: (gst_caps_get_type), (gst_caps_new_empty),
10771         (_gst_caps_free), (gst_caps_make_writable), (gst_caps_ref),
10772         (gst_caps_unref), (gst_static_caps_get),
10773         (gst_caps_remove_and_get_structure), (gst_caps_append),
10774         (gst_caps_append_structure), (gst_caps_remove_structure),
10775         (gst_caps_copy_nth), (gst_caps_set_simple),
10776         (gst_caps_set_simple_valist), (gst_caps_is_fixed_foreach),
10777         (gst_structure_is_equal_foreach), (gst_caps_is_subset),
10778         (gst_caps_structure_intersect_field), (gst_caps_intersect),
10779         (gst_caps_structure_subtract_field), (gst_caps_subtract),
10780         (gst_caps_normalize_foreach), (gst_caps_compare_structures),
10781         (gst_caps_structure_figure_out_union),
10782         (gst_caps_switch_structures), (gst_caps_do_simplify),
10783         (gst_caps_replace), (gst_caps_from_string),
10784         (gst_caps_copy_conditional):
10785         * gst/gstcaps.h:
10786         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_ref),
10787         (_gst_clock_id_free), (gst_clock_id_unref),
10788         (gst_clock_id_compare_func), (gst_clock_id_wait),
10789         (gst_clock_id_wait_async), (gst_clock_class_init),
10790         (gst_clock_init), (gst_clock_dispose), (gst_clock_adjust_unlocked),
10791         (gst_clock_get_time), (gst_clock_set_time_adjust),
10792         (gst_clock_set_property), (gst_clock_get_property):
10793         * gst/gstclock.h:
10794         * gst/gstcompat.h:
10795         * gst/gstcpu.c: (_gst_cpu_initialize_i386), (gst_cpu_get_flags):
10796         * gst/gstdata.c: (gst_data_is_writable), (gst_data_copy_on_write):
10797         * gst/gstdata.h:
10798         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
10799         (gst_element_requires_clock), (gst_element_provides_clock),
10800         (gst_element_set_clock), (gst_element_clock_wait),
10801         (gst_element_wait), (gst_element_set_time_delay),
10802         (gst_element_is_indexable), (gst_element_add_pad),
10803         (gst_element_add_ghost_pad), (gst_element_remove_pad),
10804         (pad_compare_name), (gst_element_get_static_pad),
10805         (gst_element_request_pad), (gst_element_get_request_pad),
10806         (gst_element_get_pad), (iterate_pad), (gst_element_iterate_pads),
10807         (gst_element_class_get_pad_template_list),
10808         (gst_element_class_get_pad_template), (gst_element_error_func),
10809         (gst_element_get_random_pad), (gst_element_get_event_masks),
10810         (gst_element_send_event), (gst_element_seek),
10811         (gst_element_get_query_types), (gst_element_query),
10812         (gst_element_get_formats), (gst_element_convert),
10813         (gst_element_is_locked_state), (gst_element_set_locked_state),
10814         (gst_element_sync_state_with_parent), (gst_element_change_state),
10815         (gst_element_finalize), (gst_element_yield),
10816         (gst_element_interrupt), (gst_element_set_scheduler),
10817         (gst_element_get_scheduler), (gst_element_set_loop_function):
10818         * gst/gstelement.h:
10819         * gst/gstevent.h:
10820         * gst/gstformat.c: (_gst_format_initialize), (gst_format_register),
10821         (gst_format_get_by_nick), (gst_format_get_details),
10822         (gst_format_iterate_definitions):
10823         * gst/gstformat.h:
10824         * gst/gstindex.c: (gst_index_gtype_resolver):
10825         * gst/gstinfo.c:
10826         * gst/gstinfo.h:
10827         * gst/gstmemchunk.c: (gst_mem_chunk_alloc), (gst_mem_chunk_alloc0),
10828         (gst_mem_chunk_free):
10829         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
10830         (gst_object_ref), (gst_object_unref), (gst_object_sink),
10831         (gst_object_replace), (gst_object_dispose), (gst_object_finalize),
10832         (gst_object_dispatch_properties_changed),
10833         (gst_object_set_name_default), (gst_object_set_name),
10834         (gst_object_get_name), (gst_object_set_name_prefix),
10835         (gst_object_get_name_prefix), (gst_object_set_parent),
10836         (gst_object_get_parent), (gst_object_unparent),
10837         (gst_object_check_uniqueness), (gst_object_save_thyself),
10838         (gst_object_restore_thyself), (gst_object_real_restore_thyself),
10839         (gst_object_set_property), (gst_object_get_property),
10840         (gst_object_get_path_string):
10841         * gst/gstobject.h:
10842         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
10843         (gst_real_pad_init), (gst_real_pad_get_property),
10844         (gst_pad_custom_new), (gst_pad_get_direction),
10845         (gst_pad_set_active), (gst_pad_is_active),
10846         (gst_pad_set_event_function), (gst_pad_is_linked),
10847         (gst_pad_link_free), (gst_pad_link_intersect),
10848         (gst_pad_link_fixate), (gst_pad_set_caps),
10849         (gst_pad_try_set_caps_nonfixed), (gst_pad_set_pad_template),
10850         (gst_pad_get_real_parent), (gst_pad_add_ghost_pad),
10851         (gst_pad_remove_ghost_pad), (_gst_pad_default_fixate_foreach),
10852         (gst_pad_link_unnegotiate), (gst_pad_proxy_fixate),
10853         (gst_pad_get_caps), (gst_pad_peer_get_caps),
10854         (gst_pad_get_pad_template_caps), (gst_pad_get_peer),
10855         (gst_pad_realize), (gst_pad_get_allowed_caps),
10856         (gst_real_pad_dispose), (gst_real_pad_finalize),
10857         (gst_pad_collectv), (gst_pad_collect_valist),
10858         (gst_pad_template_dispose), (gst_pad_template_new),
10859         (gst_pad_get_internal_links):
10860         * gst/gstpad.h:
10861         * gst/gstpipeline.c: (gst_pipeline_dispose),
10862         (gst_pipeline_change_state):
10863         * gst/gstpipeline.h:
10864         * gst/gstplugin.c:
10865         * gst/gstpluginfeature.c: (gst_plugin_feature_get_name),
10866         (gst_plugin_feature_set_rank), (gst_plugin_feature_get_rank):
10867         * gst/gstpluginfeature.h:
10868         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
10869         * gst/gstquery.c: (_gst_query_type_initialize),
10870         (gst_query_type_register), (gst_query_type_get_by_nick),
10871         (gst_query_type_get_details), (gst_query_type_iterate_definitions):
10872         * gst/gstquery.h:
10873         * gst/gstqueue.c: (gst_queue_link_sink), (gst_queue_link_src):
10874         * gst/gstscheduler.c: (gst_scheduler_add_element),
10875         (gst_scheduler_factory_create):
10876         * gst/gststructure.c: (gst_structure_set_parent_refcount),
10877         (gst_structure_free), (gst_structure_set_name),
10878         (gst_structure_id_set_value), (gst_structure_set_value),
10879         (gst_structure_set_valist), (gst_structure_remove_field),
10880         (gst_structure_remove_fields),
10881         (gst_structure_remove_fields_valist),
10882         (gst_structure_remove_all_fields), (gst_structure_foreach),
10883         (gst_structure_map_in_place),
10884         (gst_caps_structure_fixate_field_nearest_int),
10885         (gst_caps_structure_fixate_field_nearest_double):
10886         * gst/gststructure.h:
10887         * gst/gstsystemclock.c: (gst_system_clock_class_init),
10888         (gst_system_clock_init), (gst_system_clock_dispose),
10889         (gst_system_clock_async_thread),
10890         (gst_system_clock_id_wait_unlocked), (gst_system_clock_id_wait),
10891         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
10892         * gst/gstsystemclock.h:
10893         * gst/gsttag.c: (gst_tag_list_add_value_internal),
10894         (gst_tag_list_copy_foreach), (structure_foreach_wrapper):
10895         * gst/gsttaginterface.c:
10896         * gst/gstthread.c: (gst_thread_dispose),
10897         (gst_thread_release_children_locks), (gst_thread_change_state),
10898         (gst_thread_main_loop):
10899         * gst/gsttrashstack.h:
10900         * gst/gsttypefind.c: (gst_type_find_factory_dispose):
10901         * gst/gsttypes.h:
10902         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
10903         (gst_element_request_pad), (gst_element_get_pad_from_template),
10904         (gst_element_request_compatible_pad),
10905         (gst_element_get_compatible_pad_filtered),
10906         (gst_element_get_compatible_pad), (gst_element_state_get_name),
10907         (gst_element_link_pads_filtered), (gst_element_link_filtered),
10908         (gst_element_link_many), (gst_element_link),
10909         (gst_element_link_pads), (gst_element_unlink_pads),
10910         (gst_element_unlink_many), (gst_element_unlink),
10911         (gst_pad_can_link_filtered), (gst_pad_can_link),
10912         (gst_pad_use_fixed_caps), (gst_pad_get_fixed_caps_func),
10913         (gst_object_default_error), (gst_bin_add_many),
10914         (gst_bin_remove_many), (gst_element_populate_std_props),
10915         (gst_element_class_install_std_props), (gst_buffer_merge),
10916         (gst_buffer_stamp), (intersect_caps_func), (gst_pad_proxy_getcaps),
10917         (link_fold_func), (gst_pad_proxy_setcaps):
10918         * gst/gstutils.h:
10919         * gst/gstvalue.c: (gst_value_deserialize_string):
10920         * gst/parse/grammar.y:
10921         * gst/schedulers/gstbasicscheduler.c:
10922         (gst_basic_scheduler_cothreaded_chain),
10923         (gst_basic_scheduler_chain_recursive_add),
10924         (gst_basic_scheduler_pad_link):
10925         * gst/schedulers/gstoptimalscheduler.c:
10926         (get_group_schedule_function),
10927         (gst_opt_scheduler_state_transition),
10928         (gst_opt_scheduler_add_element), (element_get_reachables_func):
10929         * libs/gst/bytestream/bytestream.c:
10930         * libs/gst/dataprotocol/dataprotocol.c:
10931         (gst_dp_header_from_buffer):
10932         * po/nb.po:
10933         * po/ru.po:
10934         * tests/threadstate/threadstate2.c: (eos):
10935         * tools/gst-compprep.c: (main):
10936         * tools/gst-inspect.c: (print_field), (print_element_flag_info),
10937         (print_pad_info), (print_children_info):
10938         * tools/gst-launch.c: (idle_func), (main):
10939         * tools/gst-md5sum.c: (idle_func), (main):
10940         * tools/gst-xmlinspect.c: (print_element_info):
10941         First THREADED backport attempt, focusing on adding locks and
10942         making sure the API is threadsafe. Needs more work. More docs
10943         follow this week.
10944
10945 2005-02-24  Andy Wingo  <wingo@pobox.com>
10946
10947         * tests/bench-complexity.scm:
10948         * tests/complexity.gnuplot: New files, good for running complexity
10949         benchmarks.
10950
10951         * tests/Makefile.am:
10952         * tests/complexity.c: New test, sets up N elements, at each level
10953         teeing into M streams per element. Eeeenteresting.
10954
10955         * tests/mass_elements.gnuplot: gnuplot file for the mass_elements
10956         benchmark. Run as gnuplot mass_elements.gnuplot > foo.ps, after
10957         running bench-mass_elements.scm.
10958
10959         * tests/bench-mass_elements.scm: New script, runs mass_elements
10960         for various numbers of identities, outputting the results to a
10961         file. Requires guile 1.6. Just for testing.
10962
10963 2005-02-23  Thomas Vander Stichele  <thomas at apestaart dot org>
10964
10965         * gst/schedulers/fairscheduler.c:
10966           compile with debug disabled
10967
10968 2005-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
10969
10970         * configure.ac:
10971           hunting season on 0.9 is now OPEN