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