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