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