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