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