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