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