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