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