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