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