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