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