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