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