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