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