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