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