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