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