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