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