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