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