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