0692c0dbd0ad05c138025c830dfb12999ee06017
[platform/upstream/gstreamer.git] / ChangeLog
1 2007-06-14  Stefan Kost  <ensonic@users.sf.net>
2
3         * libs/gst/base/gstbasesink.c: (gst_base_sink_reset_qos),
4         (gst_base_sink_render_object), (gst_base_sink_get_position):
5           Add two breaks thats where missing.
6
7 2007-06-14  Tim-Philipp Müller  <tim at centricular dot net>
8
9         * docs/libs/gstreamer-libs-sections.txt:
10         * libs/gst/check/gstcheck.h:
11           API: add fail_unless_equals_float() and assert_equals_float().
12           Add documentation for some of the macros.
13
14         * tests/check/libs/controller.c: (GST_START_TEST):
15           Use newly-added asserts.
16
17 2007-06-14  Stefan Kost  <ensonic@users.sf.net>
18
19         * gst/gstpad.c: (gst_pad_alloc_buffer_full), (gst_pad_push):
20           Show the caps change in the log to help spotting the case of not
21           exactly matching caps.
22
23 2007-06-14  Tim-Philipp Müller  <tim at centricular dot net>
24
25         * docs/pwg/building-boiler.xml:
26           Fix typos, spotted by Thijs Vermeir (#447190).
27
28 2007-06-13  Jan Schmidt  <thaytan@mad.scientist.com>
29
30         * docs/plugins/tmpl/.cvsignore:
31         Ignore file to keep the buildbots happy
32
33 2007-06-13  Jan Schmidt  <thaytan@mad.scientist.com>
34
35         * docs/plugins/Makefile.am:
36         * docs/plugins/gstreamer-plugins-docs.sgml:
37         * docs/plugins/gstreamer-plugins-sections.txt:
38         Pull fdsink into the docs too.
39
40 2007-06-11  Sebastian Dröge  <slomo@circular-chaos.org>
41
42         * libs/gst/controller/gstinterpolation.c:
43         Actually use the new functions with min/max checks for the trigger and
44         none interpolation modes for get() and get_value_array() instead of
45         just the latter.
46
47 2007-06-10  Sebastian Dröge  <slomo@circular-chaos.org>
48
49         * libs/gst/controller/gstcontroller.c:
50         (gst_controlled_property_free):
51         Unset the minimum and maximum GValues when freeing the corresponding
52         GstControllerProperty struct.
53
54 2007-06-09  Sebastian Dröge  <slomo@circular-chaos.org>
55
56         * libs/gst/controller/gstcontroller.c:
57         (gst_controlled_property_new):
58         * libs/gst/controller/gstcontrollerprivate.h:
59         * libs/gst/controller/gstinterpolation.c:
60         (gst_controlled_property_find_control_point_node),
61         (interpolate_none_get), (interpolate_none_get_enum_value_array),
62         (interpolate_none_get_string_value_array),
63         (interpolate_trigger_get),
64         (interpolate_trigger_get_enum_value_array),
65         (interpolate_trigger_get_string_value_array):
66         Protect against values larger or smaller than the minimum or maximum
67         allowed value for the property when using values that can be compared.
68
69         Optimize trigger interpolator a bit by taking the last requested value
70         into account instead of always looping through the complete list.
71
72         Fix coding style a bit, everywhere else we use "return foo" instead
73         of "return (foo)".
74         
75         * tests/check/libs/controller.c: (GST_START_TEST),
76         (gst_controller_suite):
77         Add unit test for the protection against too large or too small
78         values.
79
80 2007-06-08  Sebastian Dröge  <slomo@circular-chaos.org>
81
82         * docs/random/slomo/controller.txt:
83         Add some thoughts about the future of the controller.
84
85 2007-06-08  Wim Taymans  <wim@fluendo.com>
86
87         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
88         Don't overflow in retimestamping code.
89
90 2007-06-07  Sebastien Moutte  <sebastien@moutte.net>
91
92         * libs/gst/controller/gstinterpolation.c: (DEFINE_CUBIC_GET):
93         Use gst_util_guint64_to_gdouble for conversions.
94         * win32/common/libgstreamer.def:
95         Add new exported functions.
96
97 2007-06-07  Tim-Philipp Müller  <tim at centricular dot net>
98
99         * gst/gstutils.c:
100           Small docs addition.
101
102 2007-06-07  Stefan Kost  <ensonic@users.sf.net>
103
104         * README:
105           Remove that test line again.
106
107 2007-06-07  Stefan Kost  <ensonic@users.sf.net>
108
109         * README:
110           Test commit mail sending.
111
112 2007-06-07  Stefan Kost  <ensonic@users.sf.net>
113
114         * configure.ac:
115           Fix typo and test commit mail sending.
116
117 2007-06-07  Stefan Kost  <ensonic@users.sf.net>
118
119         * tests/examples/controller/audio-example.c:
120           Improve comment and test commit mail sending.
121
122 2007-06-07  Wim Taymans  <wim@fluendo.com>
123
124         * gst/gstbin.c: (find_message), (bin_replace_message), (is_eos),
125         (gst_bin_remove_func), (gst_bin_element_set_state),
126         (bin_handle_async_start), (bin_handle_async_done),
127         (gst_bin_handle_message_func):
128         Add helper function to find messages.
129         Generate the async-done messages together with the state change
130         messages.
131         Small cleanups in handling toplevel bins.
132
133 2007-06-06  Tim-Philipp Müller  <tim at centricular dot net>
134
135         * libs/gst/base/gstdataqueue.c:
136         * libs/gst/base/gstdataqueue.h:
137         * plugins/elements/gstmultiqueue.c: (gst_single_queue_push_one),
138         (gst_multi_queue_item_new), (gst_multi_queue_chain),
139         (gst_multi_queue_sink_event):
140         * tests/check/elements/multiqueue.c: (multiqueue_suite):
141           Fix multiqueue leaking buffers and events when downstream or the
142           queue are flushing. Make refcounting assumptions explicit and
143           document them (shouldn't break existing code that uses it other than
144           maybe leak miniobjects, but that already happens anyway). Add unit
145           test for the most common flushing case. Fixes #423700.
146           
147 2007-06-06  Sebastian Dröge  <slomo@circular-chaos.org>
148
149         * libs/gst/controller/gstcontroller.c:
150         Clarify docs: The get_all, get_value_array(s) functions
151         don't modify the GObject properties.
152
153 2007-06-06  Sebastian Dröge  <slomo@circular-chaos.org>
154
155         * libs/gst/controller/gstcontroller.c:
156         (gst_controlled_property_set_interpolation_mode),
157         (gst_controlled_property_prepend_default),
158         (gst_controlled_property_new), (gst_controller_set_unlocked),
159         (gst_controller_set), (gst_controller_set_from_list),
160         (gst_controller_unset), (gst_controller_unset_all):
161         * libs/gst/controller/gstcontrollerprivate.h:
162         * libs/gst/controller/gstinterpolation.c:
163         Factor out the 'set' logic into gst_controller_set_unlocked for the
164         gst_controller_set and gst_controller_set_from_list functions.
165
166         To make life of the interpolators easier always add a control point
167         at timestamp zero with the default value.
168
169         In the linear interpolator make things more obvious by better variable
170         naming (slope).
171
172         Implement cubic interpolation mode (by using a natural cubic spline)
173         and map the quadratic interpolation mode to this too (as quadratic
174         doesn't make much sense, see discussion on the list).
175
176         * tests/check/libs/controller.c: (GST_START_TEST),
177         (gst_controller_suite):
178         Add unit test for the cubic interpolation mode and check everywhere
179         if the interpolation mode could be set as expected.
180
181 2007-06-06  Tim-Philipp Müller  <tim at centricular dot net>
182
183         * gst/gstparamspecs.c: (gst_param_spec_fraction_get_type):
184           Don't use GLib-2.10 functions, we still depend on
185           GLib-how-old-is-it-again-2.8.
186
187 2007-06-06  Tim-Philipp Müller  <tim at centricular dot net>
188
189         * docs/gst/gstreamer-sections.txt:
190         * gst/Makefile.am:
191         * gst/gst.c:
192         * gst/gst.h:
193         * gst/gstparamspecs.c: (_gst_param_fraction_init),
194         (_gst_param_fraction_set_default), (_gst_param_fraction_validate),
195         (_gst_param_fraction_values_cmp),
196         (gst_param_spec_fraction_get_type), (gst_param_spec_fraction):
197         * gst/gstparamspecs.h:
198         * gst/gstvalue.c:
199         * tests/check/Makefile.am:
200         * tests/check/gst/.cvsignore:
201         * tests/check/gst/gstparamspecs.c: (gst_dummy_obj_base_init),
202         (gst_dummy_obj_class_init), (gst_dummy_obj_init),
203         (gst_dummy_obj_set_property), (gst_dummy_obj_get_property),
204         (GST_START_TEST), (gst_param_spec_suite):
205           API: add GstParamSpecFraction, so elements can have fraction
206           properties without lots of painful string parsing (#444648).
207
208 2007-06-05  Wim Taymans  <wim@fluendo.com>
209
210         * gst/gstobject.c: (gst_object_class_init):
211         Fix signal signature.
212
213         * gst/gstsegment.c:
214         Add small clarification in the api docs.
215
216         * plugins/elements/gstfilesrc.c: (gst_file_src_set_location):
217         States are protected with object lock.
218
219 2007-06-05  Jan Schmidt  <thaytan@mad.scientist.com>
220
221         * AUTHORS:
222         I should probably be listed as an author by now.
223
224         * docs/random/release:
225         Update the release doc
226
227 2007-06-05  Tim-Philipp Müller  <tim at centricular dot net>
228
229         * gst/gstvalue.c:
230           Make docs for gst_value_compare() mention return enums that
231           actually exist.
232
233 2007-06-05  Jan Schmidt  <thaytan@mad.scientist.com>
234
235         * configure.ac:
236           Back to CVS
237
238 === release 0.10.13 ===
239
240 2007-06-05  Jan Schmidt <thaytan@mad.scientist.com>
241
242         * configure.ac:
243           releasing 0.10.13, "With or without you"
244
245 2007-05-25  Wim Taymans  <wim@fluendo.com>
246
247         * gst/gstbin.c: (bin_handle_async_done):
248         Make sure that the child bin stops after completing the async state
249         change so that the parent can continue the state change to PLAYING.
250         Fixes #441159.
251
252 2007-05-25  Wim Taymans  <wim@fluendo.com>
253
254         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
255         (unref_data), (gst_collect_pads_remove_pad),
256         (gst_collect_pads_check_pads):
257         Use additional refcounting to avoid crashes when dynamically adding and
258         removing pads. Fixes #420206.
259
260 2007-05-24  Wim Taymans  <wim@fluendo.com>
261
262         * tools/gst-launch.c: (event_loop):
263         When buffering goes from a two digit to a single digit number, make sure
264         to remove the old second digit by writing a blank over it.
265
266 2007-05-24  Tim-Philipp Müller  <tim at centricular dot net>
267
268         * libs/gst/base/gstdataqueue.c:
269           Eliminate tabs and trailing comma in enum list; fix some typos.
270
271 2007-05-24  Wim Taymans  <wim@fluendo.com>
272
273         * tests/check/gst/gstbin.c: (GST_START_TEST):
274         Allow refcount of 3 and 4 because some state thread might still be busy
275         with it.
276
277 2007-05-24  Tim-Philipp Müller  <tim at centricular dot net>
278
279         * plugins/elements/Makefile.am:
280         * plugins/elements/gstmultiqueue.h:
281         * plugins/elements/gstqueue.h:
282           These are not installed headers, no need for padding.
283
284 2007-05-24  Wim Taymans  <wim@fluendo.com>
285
286         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
287         (gst_bin_continue_func):
288         Enable latency for next release.
289         Restore STATE_LOCK around recalc_state that was left out during the
290         rewrite and could result in racy behaviour when _get_state and
291         recalc_state are run concurrently. See #440463.
292
293 2007-05-23  Wim Taymans  <wim@fluendo.com>
294
295         * tests/check/gst/gstsystemclock.c: (store_callback),
296         (GST_START_TEST):
297         Improve test_async_order to also work when both timers are already
298         expired when we get scheduled to check it.
299
300 2007-05-22  Tim-Philipp Müller  <tim at centricular dot net>
301
302         * gst/gstbin.c: (gst_bin_init), (gst_bin_dispose),
303         (gst_bin_set_property), (gst_bin_get_property),
304         (gst_bin_remove_func), (gst_bin_handle_message_func):
305         * gst/gstbin.h:
306           'private' is a c++ keyword, let's not use that in header files,
307           otherwise c++ compilers will throw a tantrum.
308
309 2007-05-22  Tim-Philipp Müller  <tim at centricular dot net>
310
311         * plugins/elements/gstelements.c:
312         * plugins/elements/gstfilesink.c: (gst_file_sink_do_seek),
313         (gst_file_sink_get_current_offset):
314         * plugins/indexers/gstindexers.c: (plugin_init):
315           Use #ifdef for HAVE_XYZ for consistency.
316
317         * tests/check/Makefile.am:
318         * tests/check/elements/.cvsignore:
319         * tests/check/elements/filesink.c: (setup_filesink),
320         (cleanup_filesink), (GST_START_TEST), (filesink_suite):
321           Add some unit tests for filesink.
322
323 2007-05-22  Tim-Philipp Müller  <tim at centricular dot net>
324
325         Patch by: Mark Nauwelaerts <manauw at skynet be>
326
327         * plugins/elements/gstfilesink.c: (gst_file_sink_open_file),
328         (gst_file_sink_query), (gst_file_sink_do_seek),
329         (gst_file_sink_get_current_offset), (gst_file_sink_render):
330         * plugins/elements/gstfilesink.h:
331           Fix position reporting; rename data_written member to current_pos to
332           reflect its real meaning (fixes #412648).
333
334 2007-05-22  Edward Hervey  <edward@fluendo.com>
335
336         * docs/gst/gstreamer-sections.txt:
337         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
338         (gst_bin_dispose), (gst_bin_set_property), (gst_bin_get_property),
339         (gst_bin_remove_func), (gst_bin_handle_message_func):
340         * gst/gstbin.h:
341         Add a property for bins that handle the state change of their childs.
342         Fixes #435880
343
344 2007-05-22  Sebastian Dröge  <slomo@circular-chaos.org>
345
346         * libs/gst/controller/gstinterpolation.c:
347         Use an array of the correct type when using _get_value_array with
348         linear interpolation.
349
350 2007-05-22  Stefan Kost  <ensonic@users.sf.net>
351
352         * gst/gstelement.c (gst_element_requires_clock,
353           gst_element_provides_clock, gst_element_request_pad,
354           gst_element_class_set_details, gst_element_class_set_details_simple,
355           gst_element_default_send_event, gst_element_abort_state,
356           gst_element_continue_state, gst_element_set_state,
357           gst_element_set_state_func, iterator_activate_fold_with_resync):
358         * gst/gstpad.c (gst_pad_activate_pull, gst_pad_set_getcaps_function,
359           gst_pad_fixate_caps, gst_pad_configure_sink, gst_pad_configure_src,
360           gst_pad_query, gst_pad_save_thyself, handle_pad_block, gst_pad_push,
361           gst_pad_get_range, gst_pad_pull_range):
362         * gst/gstpad.h (GST_PAD_LINK_SUCCESSFUL, GST_FLOW_CUSTOM_SUCCESS,
363           GST_FLOW_NOT_SUPPORTED, GST_FLOW_IS_FATAL, GstPadActivateFunction,
364           GstPadActivateModeFunction, GstPadChainFunction,
365           GstPadGetCapsFunction, GstPadAcceptCapsFunction,
366           GstPadFixateCapsFunction, GstPadTemplate):
367         * gst/gstpipeline.c (gst_pipeline_change_state,
368           gst_pipeline_set_new_stream_time, gst_pipeline_use_clock,
369           gst_pipeline_set_clock, gst_pipeline_auto_clock,
370           gst_pipeline_get_delay):
371           Whitespace and docs fixes.
372
373 2007-05-21  Sebastian Dröge  <slomo@circular-chaos.org>
374
375         * libs/gst/controller/gstinterpolation.c:
376         (interpolate_trigger_get_enum_value_array),
377         (interpolate_trigger_get_string_value_array):
378         Add support for retrieving value arrays when using the trigger
379         interpolation mode. 
380
381 2007-05-21  Sebastian Dröge  <slomo@circular-chaos.org>
382
383         * libs/gst/controller/gstcontroller.c:
384         (gst_controller_get_value_array):
385         * libs/gst/controller/gstcontroller.h:
386         Clarify the docs of gst_controller_get_value_array(): The array where
387         the values should be written to must be allocated as there seems to be
388         no way to get the size of a random GType. This doesn't change any
389         behaviour. Also fix some typos all over the place and remove an unused,
390         commented function that is not necessary as g_object_set() could be
391         used instead.
392         * tests/check/libs/controller.c: (GST_START_TEST),
393         (gst_controller_suite):
394         Add unit test for gst_controller_get_value_array().
395
396 2007-05-21  Jan Schmidt  <thaytan@mad.scientist.com>
397
398         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
399
400         Disable part of the gst_buffer_try_new_and_alloc test, because
401         it can happily succeed on 64-bit systems where there's more address
402         space available.
403
404 2007-05-21  Sebastian Dröge  <slomo@circular-chaos.org>
405
406         * tests/check/gst/gstpad.c: (GST_START_TEST), (gst_pad_suite):
407         Add unit test for the improved caps checking from bug #421543.
408
409 2007-05-21  Wim Taymans  <wim@fluendo.com>
410
411         * docs/design/part-synchronisation.txt:
412         Small addition.
413
414         * gst/gstbin.c: (gst_bin_query):
415         * plugins/elements/gstqueue.c: (apply_segment):
416         Improve debugging.
417
418         * gst/gstmessage.h:
419         Improve docs.
420
421 2007-05-21  Wim Taymans  <wim@fluendo.com>
422
423         * gst/gstpad.c: (gst_pad_get_caps_unlocked),
424         (gst_pad_acceptcaps_default), (gst_pad_configure_sink),
425         (gst_pad_configure_src):
426         Added simple version of improved caps checking. It was previously
427         assumed that a setcaps function would check the validity of the caps but
428         people prefer us to check caps against the template automatically. 
429         Fixes #421543.
430
431 2007-05-21  Wim Taymans  <wim@fluendo.com>
432
433         * libs/gst/base/gstbasetransform.h:
434         Fix macro for locking/unlocking the transform lock.
435
436 2007-05-19  Tim-Philipp Müller  <tim at centricular dot net>
437
438         * docs/plugins/tmpl/.cvsignore:
439           Ignore more.
440
441 2007-05-18  Edward Hervey  <edward@fluendo.com>
442
443         * plugins/elements/gstqueue.c: (gst_queue_loop):
444         Hello, I am Mr Taymans' personal debugger. Today I will introduce a fix
445         for the subtle art of warning a potentially blocking thread that it
446         should check the source pad return value, and relay the information
447         upstream.
448
449 2007-05-18  Edward Hervey  <edward@fluendo.com>
450
451         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event):
452         Release the queue lock !
453
454 2007-05-17  Sebastian Dröge  <slomo@circular-chaos.org>
455
456         * docs/libs/gstreamer-libs-sections.txt:
457         Add the two new controller functions to the appropiate places.
458
459 2007-05-17  Sebastian Dröge  <slomo@circular-chaos.org>
460
461         reviewed by: Stefan Kost <ensonic@users.sf.net>
462
463         * libs/gst/controller/gstcontroller.c:
464         (gst_controller_suggest_next_sync), (gst_controller_sync_values),
465         (_gst_controller_get_property), (_gst_controller_set_property),
466         (_gst_controller_init), (_gst_controller_class_init):
467         * libs/gst/controller/gstcontroller.h:
468         * libs/gst/controller/gsthelper.c: (gst_object_suggest_next_sync),
469         (gst_object_get_control_rate), (gst_object_set_control_rate):
470         API: gst_controller_suggest_next_sync(), gst_object_suggest_next_sync()
471         Add API that provides sync suggestion timestamps for elements that
472         call gst_object_sync_values() from which those elements can subdivide
473         their processing loop to get the best results for the controlled
474         properties. For now it just suggests last_sync + control_rate as
475         new timestamp but this will be improved in the future.
476
477         While doing that change the control-rate property to a GstClockTime
478         from guint and change it's meaning from samples to nanoseconds as
479         the GstController doesn't know anything about sampling rate. Strictly
480         speaking this breaks ABI but as the control-rate property didn't do
481         anything in the past and as such couldn't be used this should be no
482         problem.        
483
484 2007-05-17  Sebastian Dröge  <slomo@circular-chaos.org>
485
486         reviewed by: Stefan Kost <ensonic@users.sf.net>
487
488         * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
489         (gst_controller_unset_all):
490         * libs/gst/controller/gstcontrollerprivate.h:
491         * libs/gst/controller/gstinterpolation.c:
492         (gst_controlled_property_find_control_point_node):
493         Save last synced value from the list to continue searching from there
494         in future syncs. This speeds everything up a bit.
495         
496 2007-05-17  Sebastian Dröge  <slomo@circular-chaos.org>
497
498         reviewed by: Stefan Kost <ensonic@users.sf.net>
499
500         * libs/gst/controller/gstcontroller.c: (gst_control_point_compare),
501         (gst_control_point_find), (gst_controlled_property_new),
502         (gst_control_point_free), (gst_controlled_property_free),
503         (gst_controller_set), (gst_controller_set_from_list),
504         (gst_controller_unset), (gst_controller_unset_all),
505         (gst_controller_sync_values):
506         * libs/gst/controller/gstcontroller.h:
507         * libs/gst/controller/gstcontrollerprivate.h:
508         * libs/gst/controller/gstinterpolation.c:
509         (gst_controlled_property_find_control_point_node),
510         (interpolate_none_get), (interpolate_trigger_get):
511         Add a new private GstControlPoint struct which "inherits" from
512         GstTimedValue to allow different interpolators to store internal
513         values next to each control point. From the outside everything is
514         still a GstControlPoint so we don't loose binary compatibility.
515         Also fixup all the GValue handling to not leak GValues or list nodes.
516         * tests/check/libs/controller.c: (GST_START_TEST):
517         Free the list nodes and GValues in the controller_misc test.
518
519 2007-05-17  Edward Hervey  <edward@fluendo.com>
520
521         * gst/gstsegment.c:
522         Small doc fix.
523
524 2007-05-16  Tim-Philipp Müller  <tim at centricular dot net>
525
526         * gst/gstplugin.c: (gst_plugin_load_file):
527           If we fail to load a plugin because of unresolved symbols or missing
528           libraries and spew a warning to stderr, we may just as well mention
529           which plugin it was that failed to load.
530
531 2007-05-13  David Schleef  <ds@schleef.org>
532
533         * docs/Makefile.am: the gtk-doc makefile snippet correctly
534           handles the case when ENABLE_GTK_DOC is false, and installs
535           the prebuilt documentation.  So gtk-doc subdirs are 
536           unconditionally enabled.  Fixes: #349099.
537
538 2007-05-13  David Schleef  <ds@schleef.org>
539
540         * gst/gstutils.h: Reword some documentation.
541
542 2007-05-12  David Schleef  <ds@schleef.org>
543
544         * gst/gstplugin.c: gst_plugin_register_func() doesn't actually
545           do anything with the passed "module" parameter, so remove it.
546           Allows removal of additional vestigal code.
547
548 2007-05-12  David Schleef  <ds@schleef.org>
549
550         * gst/gstplugin.c:
551           Using sigaction should depend on HAVE_SIGACTION, not HAVE_WIN32.
552           Switch to using g_stat() because it's more portable.
553
554 2007-05-12  David Schleef  <ds@schleef.org>
555
556         * gst/gst.c:
557           Add GST_DISABLE_OPTION_PARSING, in order to disable option
558           parsing for embedded systems.
559         * gst/gstelementfactory.c:
560           Allow gst_element_register() to be called with plugin==NULL.
561           Did nobody notice that static elements were broken?
562
563 2007-05-12  Wim Taymans  <wim@fluendo.com>
564
565         * tools/gst-launch.c: (event_loop):
566         Give more interesting info when buffering starts and stops.
567         Fix case where buffering starts but we fail to update the buffering flag
568         because the target state is not PLAYING.
569
570 2007-05-12  Wim Taymans  <wim@fluendo.com>
571
572         * plugins/elements/gstqueue.c: (gst_queue_init),
573         (gst_queue_finalize), (update_time_level), (apply_segment),
574         (apply_buffer), (gst_queue_locked_flush),
575         (gst_queue_locked_enqueue), (gst_queue_locked_dequeue),
576         (gst_queue_handle_sink_event), (gst_queue_chain),
577         (gst_queue_push_one), (gst_queue_loop):
578         * plugins/elements/gstqueue.h:
579         Refactor an cleanup queue a bit.
580         Do better time level calculations that also work when the srcpad is not
581         yet running.
582         Remove some unneeded debug lines.
583
584         * tests/check/elements/queue.c: (GST_START_TEST), (queue_suite):
585         Added testcase for time level measurement.
586         Try to make some stuff more racefree.
587
588 2007-05-11  Tim-Philipp Müller  <tim at centricular dot net>
589
590         * gst/gsturi.c: (gst_element_make_from_uri):
591           Don't leak plugin feature.
592
593         * tests/check/Makefile.am:
594         * tests/check/gst/.cvsignore:
595         * tests/check/gst/gsturi.c: (GST_START_TEST), (gst_uri_suite):
596           Add brain-dead unit test.
597
598 2007-05-11  Tim-Philipp Müller  <tim at centricular dot net>
599
600         Patch by: Jeroen Wouters <woutersj at gmail com>
601
602         * gst/gsturi.c: (gst_uri_get_protocol), (search_by_entry):
603           Treat protocol strings in a case-insensitive way (#437563).
604
605 2007-05-11  Michael Smith <msmith@fluendo.com>
606
607         * gst/gstplugin.c: (gst_plugin_load_file):
608         * gst/gstregistry.c: (gst_registry_scan_path_level):
609           Don't print a g_warning for any failure to load a shared object.
610           Instead, push this down into gstplugin.c, and warn _only_ if we
611           failed to open the module (i.e. failure to link).
612           Avoids warnings on normal, working, non-plugin .so files.
613
614 2007-05-11  Stefan Kost  <ensonic@users.sf.net>
615
616         * gst/gstplugin.c (gst_plugin_load_file):
617         * gst/gstregistry.c (GST_CAT_DEFAULT,
618           gst_registry_lookup_feature_locked, gst_registry_scan_path_level):
619           Print a g_warning if there was an error when loading a plugins during
620           registry scan. The shuld help beginners starting with gst-plugin
621           template.
622
623 2007-05-10  Wim Taymans  <wim@fluendo.com>
624
625         * plugins/elements/gstqueue.c: (gst_queue_class_init),
626         (update_time_level), (gst_queue_locked_flush),
627         (gst_queue_handle_sink_event), (gst_queue_chain),
628         (gst_queue_push_one), (gst_queue_loop):
629         * plugins/elements/gstqueue.h:
630         Be smarter when calculating the current amount of data in the queue by
631         measuring the difference between start and end timestamps (in running
632         time) inside the queue. Fixes #432876.
633         API: GstQueue::pushing to notify elements that we are pushing data again
634         since the running signal is rather broken for this purpose.
635
636 2007-05-10  Stefan Kost  <ensonic@users.sf.net>
637
638         * plugins/elements/gstqueue.c (_do_init, gst_queue_signals,
639           gst_queue_base_init, gst_queue_init):
640           use GST_BOILERPLATE
641
642 2007-05-09  Sebastien Moutte  <sebastien@moutte.net>
643
644         * win32/common/libgstreamer.def:
645         Add new exported functions.
646         * win32/vs6/grammar.dsp:
647         Use grammar pre-generated files.
648
649 2007-05-09  Tim-Philipp Müller  <tim at centricular dot net>
650
651         Based on patch by: Peter Kjellerstedt  <pkj at axis com>
652
653         * gst/Makefile.am:
654         * gst/gstparse.c: (gst_parse_launchv), (gst_parse_launch):
655         * gst/gstparse.h:
656         * gst/gstutils.c: (gst_parse_bin_from_description):
657         * gst/gstutils.h:
658           Maintain API and ABI when --disable-parse is used. Now that
659           we have an appropriate error code, we can just return NULL and the
660           appropriate error when gst_parse_launch() is used despite it having
661           been disabled (#342564).
662
663         * tests/check/Makefile.am:
664         * tests/check/pipelines/.cvsignore:
665         * tests/check/pipelines/parse-disabled.c:
666           Make sure these functions exist and return NULL plus a GError when
667           --disable-parse is used.
668
669 2007-05-09  Tim-Philipp Müller  <tim at centricular dot net>
670
671         * tests/benchmarks/complexity.c: (main):
672         * tests/benchmarks/mass-elements.c: (main):
673           Set a good example and don't leak messages.
674
675 2007-05-06  Stefan Kost  <ensonic@users.sf.net>
676
677         * docs/gst/Makefile.am:
678         * docs/libs/Makefile.am:
679           Correct fixxrefs options.
680
681         * docs/plugins/Makefile.am:
682         * docs/plugins/gstreamer-plugins-docs.sgml:
683         * docs/plugins/gstreamer-plugins-sections.txt:
684         * plugins/elements/Makefile.am:
685         * plugins/elements/gstcapsfilter.c (gst_capsfilter_details):
686         * plugins/elements/gstcapsfilter.h (__GST_CAPSFILTER_H__,
687           GST_TYPE_CAPSFILTER, GST_CAPSFILTER, GST_CAPSFILTER_CLASS,
688           GST_IS_CAPSFILTER, GST_IS_CAPSFILTER_CLASS, GstCapsFilter,
689           GstCapsFilterClass, _GstCapsFilter, trans, filter_caps,
690           _GstCapsFilterClass, trans_class):
691         * plugins/elements/gstelements.c (name, rank, type, _elements):
692         * plugins/elements/gstidentity.c
693           (gst_identity_check_imperfect_timestamp,
694           gst_identity_check_imperfect_offset):
695           Document capsfilter and add doc-blurb to identity.
696
697 2007-05-04  Tim-Philipp Müller  <tim at centricular dot net>
698
699         * libs/gst/controller/gstcontroller.c:
700         (gst_controlled_property_set_interpolation_mode):
701         * libs/gst/controller/gstinterpolation.c:
702           Don't crash if someone tries to set an interpolation mode that
703           is invalid or that isn't supported yet. Fixes #422295.
704
705         * tests/check/libs/controller.c: (GST_START_TEST),
706         (gst_controller_suite):
707           Add a test case for the above.
708
709 2007-05-03  Edward Hervey  <edward@fluendo.com>
710
711         * libs/gst/base/gstbasetransform.c: (gst_base_transform_chain):
712         Properly set the last_stop position on GstSegment. This will only happen
713         if there is a buffer to push out.
714
715 2007-05-03  Wim Taymans  <wim@fluendo.com>
716
717         * libs/gst/base/gstbasetransform.c:
718         (gst_base_transform_buffer_alloc):
719         always_in_place does not mean that the sink and source caps are the
720         same! Make sure we don't blindly proxy the buffer_alloc in this case.
721
722 2007-05-03  Wim Taymans  <wim@fluendo.com>
723
724         * docs/libs/gstreamer-libs-sections.txt:
725         * libs/gst/base/gstbasesrc.c: (gst_base_src_query_latency),
726         (gst_base_src_default_query), (gst_base_src_get_range):
727         * libs/gst/base/gstbasesrc.h:
728         API: gst_base_src_query_latency(). Added method so that subclasses can
729         easily get the latency values of the base source class.
730
731 2007-05-02  Zaheer Abbas Merali  <<zaheerabbas at merali dot org>>
732
733         * tools/gst-inspect.c (print_implementation_info):
734         Remove 0.8 cruft.
735
736 2007-05-02  Tim-Philipp Müller  <tim at centricular dot net>
737
738         * tools/Makefile.am:
739         * tools/gst-launch.1.in:
740           Don't create a customised man page based on the host architecture,
741           describe the default registry path generically. That way the man
742           page is the same for all architectures and packagers have one
743           multilib issue less to deal with. Fixes #434926.
744
745 2007-05-02  Wim Taymans  <wim@fluendo.com>
746
747         * gst/gstpad.c:
748         Fix documentation as spotted by rg on IRC. 
749
750 2007-04-29  Stefan Kost  <ensonic@users.sf.net>
751
752         * gst/gstutils.c:
753           Improve docs for gst_element_{link,unlink}.
754
755 2007-04-28  Tim-Philipp Müller  <tim at centricular dot net>
756
757         * docs/design/part-events.txt:
758         * docs/design/part-overview.txt:
759         * gst/gstevent.c:
760         * gst/gsturi.c:
761         * gst/gsturi.h:
762         * libs/gst/base/gstbasesink.c:
763           Typo fixes; minor docs addition.
764
765 2007-04-27  Sebastian Dröge  <slomo@circular-chaos.org>
766
767         * docs/gst/gstreamer-sections.txt:
768         * gst/gsturi.c: (get_element_factories_from_uri_protocol),
769         (gst_uri_protocol_is_supported), (gst_element_make_from_uri):
770         * gst/gsturi.h:
771         API: Add gst_uri_protocol_is_supported(), which checks if an sink
772         or src that supports a given URI protocol exists.
773
774 2007-04-27  Sebastian Dröge  <slomo@circular-chaos.org>
775
776         * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
777         * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
778         Set the location to NULL if "file://" is set as URI. Otherwise
779         some random previous URI would still be set if "file://" is
780         set on an already used filesink/filesrc.
781
782 2007-04-27  Sebastian Dröge  <slomo@circular-chaos.org>
783
784         * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
785         * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
786         Special case the "file://" URI as as this is used by some
787         applications to test with gst_element_make_from_uri if there's
788         an element that supports the URI protocol.
789         Also move the g_path_is_absolute() check for the location part
790         of the URI to also check this for "file://localhost/bla" URIs.
791
792 2007-04-26  Tim-Philipp Müller  <tim at centricular dot net>
793
794         * docs/gst/gstreamer-sections.txt:
795         * gst/gstbuffer.c: (gst_buffer_try_new_and_alloc):
796         * gst/gstbuffer.h:
797         * tests/check/gst/gstbuffer.c: (GST_START_TEST),
798         (gst_buffer_suite):
799           API: add gst_buffer_try_new_and_alloc() plus unit test (#431940).
800
801 2007-04-26  Stefan Kost  <ensonic@users.sf.net>
802
803         * gst/gstregistrybinary.c: (gst_registry_binary_write_cache),
804         (gst_registry_binary_load_pad_template),
805         (gst_registry_binary_load_plugin),
806         (gst_registry_binary_read_cache):
807         * gst/gstregistrybinary.h:
808           Implement no-mmap alternative for registry reading. Do code cleanups.
809           Add more comments about avoiding strdups for all text data. Comments
810           welcome.
811
812 2007-04-25  Stefan Kost  <ensonic@users.sf.net>
813
814         * gst/gstregistrybinary.h (GstBinaryPluginElement,
815           GstBinaryPluginFeature, _GstBinaryElementFactory, plugin_feature,
816           GstBinaryElementFactory, _GstBinaryTypeFindFactory, plugin_feature):
817           Comment structs and reformat to fix the build (that stuff should go
818           into a priv. header).
819
820 2007-04-25  Stefan Kost  <ensonic@users.sf.net>
821
822         * gst/gstregistrybinary.c: (gst_registry_binary_save_feature),
823         (gst_registry_binary_load_feature):
824         * gst/gstregistrybinary.h:
825           Refactor so that we can implement multiple features. Add support for
826           TypeFindFactory features.
827
828 2007-04-24  Stefan Kost  <ensonic@users.sf.net>
829
830         Patch by: Peter Kjellerstedt <Peter.Kjellerstedt@axis.com>
831
832         * configure.ac:
833           Fix AM_CONDITIONAL(GST_DISABLE_GST_DEBUG,...) and update comment.
834
835 2007-04-23  Stefan Kost  <ensonic@users.sf.net>
836
837         * gst/gstbin.c: (gst_bin_element_set_state),
838         (iterator_activate_fold_with_resync), (gst_bin_continue_func),
839         (bin_handle_async_done), (gst_bin_handle_message_func):
840           Fix build with --gst-disable-gst-debug
841
842 2007-04-21  Tim-Philipp Müller  <tim at centricular dot net>
843
844         * libs/gst/base/gstbasetransform.c: (gst_base_transform_activate):
845           Make sure streaming has finished before calling the ::stop() vfunc,
846           since that vfunc might clear state which is being used in the
847           streaming thread. This fixes a race that caused crashes in
848           audioresample when shutting down a pipeline (#420106).
849
850 2007-04-20  Stefan Kost  <ensonic@users.sf.net>
851
852         * docs/gst/gstreamer-sections.txt:
853           That was one byte missing.
854
855 2007-04-20  Stefan Kost  <ensonic@users.sf.net>
856
857         * configure.ac:
858         * docs/gst/gstreamer-sections.txt:
859         * gst/Makefile.am:
860         * gst/gstconfig.h.in:
861         * gst/gstobject.c: (gst_object_class_init),
862         (gst_signal_object_class_init):
863         * gst/gstobject.h:
864           2nd attempt to have a xml-less build as a joined effort of #413123
865           and #421480.
866
867 2007-04-20  Stefan Kost  <ensonic@users.sf.net>
868
869         * docs/design/draft-tagreading.txt:
870           Added open issues/thoughts to draft.
871
872 2007-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
873
874         * gst/parse/grammar.tab.pre.c:
875         * gst/parse/grammar.tab.pre.h:
876         * gst/parse/lex._gst_parse_yy.pre.c:
877         Update the prebuild parser sources.
878
879 2007-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
880
881         * gst/parse/Makefile.am:
882         And now fix the building of the flex sources. Now everything should
883         work as expected.
884
885 2007-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
886
887         * gst/parse/Makefile.am:
888         Now hopefully fix the build failures by setting proper rule
889         dependencies and moving instead of copying.
890
891 2007-04-19  Stefan Kost  <ensonic@users.sf.net>
892
893         * tests/benchmarks/complexity.gnuplot:
894         * tests/benchmarks/complexity.scm:
895         * tests/benchmarks/mass-elements.gnuplot:
896         * tests/benchmarks/mass-elements.scm:
897           Total licensification.
898
899 2007-04-19  Stefan Kost  <ensonic@users.sf.net>
900
901         * gst/parse/Makefile.am:
902           Fix the build by correcting the rule that gave wrong files to flex.
903
904 2007-04-19  Stefan Kost  <ensonic@users.sf.net>
905
906         * tests/benchmarks/complexity.c:
907         * tests/benchmarks/mass-elements.c:
908           Change licence to LGPL as granted by Benjamin and Andy.
909
910 2007-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
911
912         * gst/parse/Makefile.am:
913         Add correct grammar.tab.h dependency if compiling without new enough
914         flex. Fixes #431150.
915
916 2007-04-18  Sebastian Dröge  <slomo@circular-chaos.org>
917
918         * gst/parse/Makefile.am:
919         Fix typo and use outdated sources if the flex/bison sources are newer
920         than the pregenerated ones but flex is too old. Print a warning in
921         that case. This should fix the build on the build bot.
922
923 2007-04-18  Sebastian Dröge  <slomo@circular-chaos.org>
924
925         Patch by: Marc-Andre Lureau <marcandre dot lureau at gmail dot com>
926         * gst/parse/Makefile.am:
927         * gst/parse/grammar.y:
928         * gst/parse/parse.l:
929         Make the parser reentrant and recursively callable. This requires flex
930         >= 2.5.31, for older versions pregenerated sources are used as we
931         can't bump the build dependency. Finally fixes #349180.
932
933         * gst/gstparse.c: (gst_parse_launch):
934         Drop the HAVE_MT_SAVE_FLEX #ifdefs as we always use a new enough flex
935         now anyway.
936
937         * docs/gst/Makefile.am:
938         * docs/gst/Makefile.am:
939         * gst/parse/grammar.tab.pre.c: (__gst_parse_strdup),
940         (__gst_parse_strfree), (__gst_parse_link_new),
941         (__gst_parse_link_free), (__gst_parse_chain_new),
942         (__gst_parse_chain_free), (SET_ERROR), (YYPRINTF),
943         (gst_parse_element_set), (gst_parse_free_link),
944         (gst_parse_found_pad), (gst_parse_perform_delayed_link),
945         (gst_parse_perform_link), (yytnamerr), (yysyntax_error), (yyerror),
946         (_gst_parse_launch):
947         * gst/parse/grammar.tab.pre.h:
948         * gst/parse/lex._gst_parse_yy.pre.c: (PRINT), (yy_get_next_buffer),
949         (yy_get_previous_state), (yy_try_NUL_trans), (input),
950         (_gst_parse_yyrestart), (_gst_parse_yy_switch_to_buffer),
951         (_gst_parse_yy_load_buffer_state), (_gst_parse_yy_create_buffer),
952         (_gst_parse_yy_delete_buffer), (_gst_parse_yy_init_buffer),
953         (_gst_parse_yy_flush_buffer), (_gst_parse_yypush_buffer_state),
954         (_gst_parse_yypop_buffer_state),
955         (_gst_parse_yyensure_buffer_stack), (_gst_parse_yy_scan_buffer),
956         (_gst_parse_yy_scan_string), (_gst_parse_yy_scan_bytes),
957         (yy_fatal_error), (_gst_parse_yyget_extra),
958         (_gst_parse_yyget_lineno), (_gst_parse_yyget_column),
959         (_gst_parse_yyget_in), (_gst_parse_yyget_out),
960         (_gst_parse_yyget_leng), (_gst_parse_yyget_text),
961         (_gst_parse_yyset_extra), (_gst_parse_yyset_lineno),
962         (_gst_parse_yyset_column), (_gst_parse_yyset_in),
963         (_gst_parse_yyset_out), (_gst_parse_yyget_debug),
964         (_gst_parse_yyset_debug), (_gst_parse_yyget_lval),
965         (_gst_parse_yyset_lval), (_gst_parse_yylex_init),
966         (yy_init_globals), (_gst_parse_yylex_destroy), (yy_flex_strncpy),
967         (yy_flex_strlen), (_gst_parse_yyalloc), (_gst_parse_yyrealloc),
968         (_gst_parse_yyfree):
969         If the installed flex version is too old use pre-generated parser
970         sources. These pre-generated parser sources are always updated when
971         the actual flex/bison sources change but require everybody who wants
972         to change something in the parser to have flex >= 2.5.31 installed.
973
974 2007-04-18  Stefan Kost  <ensonic@users.sf.net>
975
976         * common/m4/gst-gettext.m4:
977         * gst/gst-i18n-lib.h:
978           Make --disable-nls to work
979
980 2007-04-17  Wim Taymans  <wim@fluendo.com>
981
982         * gst/gstconfig.h.in:
983         Revert previous change that broke the build.
984
985 2007-04-17  Stefan Kost  <ensonic@users.sf.net>
986
987         * configure.ac:
988         * gst/Makefile.am:
989         * gst/gstconfig.h.in:
990           Drop libxml2 dependency when building with 
991           --enable-binary-registry --disable-loadsave
992
993 2007-04-16  Tim-Philipp Müller  <tim at centricular dot net>
994
995         * gst/gstregistrybinary.c: (gst_registry_binary_write_cache),
996         (gst_registry_binary_read_cache):
997         * gst/gstregistrybinary.h:
998           Remove unnecessary <sys/mman.h> include which broke the win32 build
999           with MingW; move includes from header file to .c file, even if the
1000           header file isn't installed; use g_strerror() where UTF-8 strings
1001           are expected, such as in GST_DEBUG messages.
1002
1003 2007-04-13  Jan Schmidt  <thaytan@mad.scientist.com>
1004
1005         * docs/libs/gstreamer-libs-sections.txt:
1006         Remove bogus addition for API I didn't end up keeping.
1007
1008         * libs/gst/base/gstbasesrc.h:
1009         Mention Since: 0.10.13 in the documentation.
1010
1011         Add the API keyword to the previous ChangeLog entry.
1012
1013 2007-04-13  Jan Schmidt  <thaytan@mad.scientist.com>
1014
1015         * docs/libs/gstreamer-libs-sections.txt:
1016         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
1017         (gst_base_src_default_prepare_seek_segment),
1018         (gst_base_src_prepare_seek_segment), (gst_base_src_perform_seek):
1019         * libs/gst/base/gstbasesrc.h:
1020         Allow basesrc derived classes to execute seeks in other formats
1021         by providing a prepare_seek_segment vmethod. Sub-classes can choose
1022         to prepare the GstSegment in any format that their perform_seek method
1023         will be able to understand. The default implementation provides the
1024         old behaviour of attempting to convert the seek offsets to the 
1025         configured native format.
1026
1027         API: basesrc::prepare_seek_segment vmethod.
1028
1029 2007-04-13  Jan Schmidt  <thaytan@mad.scientist.com>
1030
1031         * gst/gstelement.c: (gst_element_get_state_func):
1032         Don't output the same debug statement twice.
1033
1034         * libs/gst/base/gstadapter.c: (gst_adapter_try_to_merge_up),
1035         (gst_adapter_peek), (gst_adapter_take_buffer):
1036         Optimise the case where we have buffers at the head of the queue that
1037         can be joined quickly (because they're contiguous sub-buffers) by
1038         merging them together rather than copying data out into new memory.
1039
1040         * gst/parse/grammar.y:
1041         * tests/check/pipelines/parse-launch.c:
1042         Fix a leak in an error path for parse_launch, and add a check 
1043         for it to the testsuite.
1044
1045 2007-04-13  Jan Schmidt  <thaytan@mad.scientist.com>
1046
1047         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_release_pad):
1048           Don't deadlock when releasing a pad - gst_pad_set_active may try
1049           and take the multiqueue lock too.
1050
1051 2007-04-12  Tim-Philipp Müller  <tim at centricular dot net>
1052
1053         * gst/gsterror.c: (_gst_core_errors_init):
1054         * gst/gsterror.h:
1055           API: add GST_CORE_ERROR_DISABLED (#392804).
1056
1057 2007-04-12  Thomas Vander Stichele  <thomas at apestaart dot org>
1058
1059         * docs/faq/gst-uninstalled:
1060           don't get empty paths on the PATH variables
1061         * gst/gstpad.c (gst_pad_is_active, gst_pad_set_blocked_async):
1062           Don't format for the uncommon terminal width of 84 characters.
1063
1064 2007-04-06  Wim Taymans  <wim@fluendo.com>
1065
1066         * gst/gstpipeline.c: (reset_stream_time),
1067         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time):
1068         Only try to select a different pipeline clock when we went back to
1069         PAUSED and not when we merely got flushed.
1070
1071 2007-04-05  Michael Smith  <msmith@fluendo.com>
1072
1073         * tools/gst-launch.1.in:
1074           fractions are better supported in gstreamer than ractions, so
1075           suggest using those.
1076
1077 2007-04-05  Thomas Vander Stichele  <thomas at apestaart dot org>
1078
1079         Submitted by: Mogens Jaeger <mogens@jaeger.tf>
1080
1081         * po/LINGUAS:
1082         * po/da.po:
1083           Added Danish translation.
1084
1085 2007-04-05  Wim Taymans  <wim@fluendo.com>
1086
1087         * libs/gst/base/gstbasesink.c:
1088         (gst_base_sink_queue_object_unlocked), (gst_base_sink_event):
1089         Fix leak caused when refusing newsegment after EOS.
1090
1091         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init),
1092         (gst_fake_sink_init), (gst_fake_sink_set_property),
1093         (gst_fake_sink_get_property), (gst_fake_sink_preroll),
1094         (gst_fake_sink_render), (gst_fake_sink_change_state):
1095         * plugins/elements/gstfakesink.h:
1096         Add num-buffers property to make the element generate EOS after a
1097         configurable amount of buffers.
1098         API: fakesink::num-buffers property.
1099
1100         * tests/check/elements/fakesink.c: (GST_START_TEST),
1101         (fakesink_suite):
1102         Fix GstBus leak in test.
1103         Test for fakesink num-buffers.
1104
1105 2007-04-05  Wim Taymans  <wim@fluendo.com>
1106
1107         * libs/gst/base/gstbasesink.c:
1108         (gst_base_sink_queue_object_unlocked), (gst_base_sink_event),
1109         (gst_base_sink_change_state):
1110         Don't accept anything after an EOS, return UNEXPECTED instead.
1111
1112         * tests/check/elements/fakesink.c: (GST_START_TEST),
1113         (fakesink_suite):
1114         Unit test for new EOS behaviour.
1115
1116 2007-04-05  Wim Taymans  <wim@fluendo.com>
1117
1118         * gst/gstelement.c: (gst_element_get_request_pad):
1119         Make padtemplates also work when they don't contain %s or %d.
1120
1121 2007-04-05  Wim Taymans  <wim@fluendo.com>
1122
1123         * docs/gst/gstreamer-sections.txt:
1124         * gst/gstclock.c: (gst_clock_adjust_unlocked),
1125         (gst_clock_unadjust_unlocked), (gst_clock_set_calibration):
1126         * gst/gstclock.h:
1127         Improve _adjust_unlocked() so that it overflows less.
1128         Add gst_clock_unadjust_unlocked to convert from external time to
1129         internal time based on calibration.
1130         Add some more debug.
1131         API: GstClock::gst_clock_unadjust_unlocked()
1132
1133 2007-04-03  Wim Taymans  <wim@fluendo.com>
1134
1135         Patch by: Tommi Myöhänen <ext-tommi dot myohanen at nokia dot com>
1136
1137         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_release_pad):
1138         Deactivate pads and free GstSingleQueue with gst_single_queue_free()
1139         when releasing sink pad. Fixes #425400.
1140
1141 2007-04-02  Stefan Kost  <ensonic@users.sf.net>
1142
1143         * docs/random/ensonic/dynlink.txt:
1144           More work on proposal for new core api.
1145
1146         * docs/libs/gstreamer-libs-sections.txt:
1147         * libs/gst/base/gstbasetransform.h:
1148           API: GST_BASE_TRANSFORM_LOCK/UNLOCK added
1149           
1150         * libs/gst/controller/gstcontroller.c:
1151         (on_object_controlled_property_changed),
1152         (gst_controller_sync_values),
1153         (gst_controller_set_interpolation_mode):
1154         * libs/gst/controller/gstcontroller.h:
1155           Less verbose logging add docs for unimplemented parts and correctly
1156           return when using unavailable parts.
1157
1158 2007-03-29  Jan Schmidt  <thaytan@mad.scientist.com>
1159
1160         * gst/gstclock.c: (gst_clock_set_master), (do_linear_regression):
1161         Move all the debug to the CLOCK category, and associate it with
1162         the clock object.
1163
1164 2007-03-29  Jan Schmidt  <thaytan@mad.scientist.com>
1165
1166         * libs/gst/base/gstadapter.c: (gst_adapter_take_buffer):
1167         Make take_buffer a bit quicker by removing redundant checks
1168         caused by calling gst_adapter_take.
1169
1170 2007-03-28  Tim-Philipp Müller  <tim at centricular dot net>
1171
1172         * plugins/elements/gstmultiqueue.c: (gst_single_queue_free):
1173           Don't leak GCond.
1174
1175         * tests/check/Makefile.am:
1176         * tests/check/elements/.cvsignore:
1177         * tests/check/elements/multiqueue.c: (setup_multiqueue),
1178         (GST_START_TEST), (multiqueue_suite):
1179           Add some dead simple unit tests for the 'multiqueue' element
1180           (some bits don't work yet and are disabled for now).
1181
1182 2007-03-28  Tim-Philipp Müller  <tim at centricular dot net>
1183
1184         * gst/gstelement.c: (gst_element_get_request_pad),
1185         (gst_element_class_get_request_pad_template):
1186           Make gst_element_get_request_pad() create request pads only for
1187           request pad templates and not for, say, sometimes pad templates.
1188
1189 2007-03-28  Stefan Kost  <ensonic@users.sf.net>
1190
1191         * docs/design/draft-klass.txt:
1192           Add example that needs more thinking.
1193         
1194         * docs/design/draft-missing-plugins.txt:
1195           More thoughts about wrapper plugins.
1196         
1197         * docs/random/ensonic/embedded.txt:
1198         * docs/random/ensonic/profiling.txt:
1199           More design work.
1200
1201 2007-03-25  Wim Taymans  <wim@fluendo.com>
1202
1203         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range),
1204         (gst_base_src_loop):
1205         Only push the segment events in the PLAYING state for live sources.
1206
1207 2007-03-23  Jan Schmidt  <thaytan@mad.scientist.com>
1208
1209         * gst/gstpipeline.c: (gst_pipeline_change_state):
1210         Modify the clock distribution path in PAUSED->PLAYING so that we 
1211         never attempt to choose a new clock unless we're actually leaving
1212         the PAUSED state for the first time. This prevents choosing a
1213         different clock when the state_change gets called for a 2nd time due
1214         to some element doing an async state change.
1215
1216 2007-03-22  Sebastian Dröge  <slomo@circular-chaos.org>
1217
1218         * gst/gstpad.c: (gst_pad_set_caps), (gst_pad_configure_sink),
1219         (gst_pad_configure_src), (gst_pad_alloc_buffer_full),
1220         (gst_pad_chain_unchecked), (gst_pad_push):
1221         Revert last commit. This needs some more thoughts.
1222
1223 2007-03-22  Sebastian Dröge  <slomo@circular-chaos.org>
1224
1225         * gst/gstpad.c: (gst_pad_set_caps), (gst_pad_alloc_buffer_full),
1226         (gst_pad_chain_unchecked), (gst_pad_push):
1227         Check in set_caps if the caps are compatible with the pad and remove
1228         two functions that are redundant now. Fixes #421543.
1229
1230 2007-03-22  Wim Taymans  <wim@fluendo.com>
1231
1232         * tests/check/gst/gstsystemclock.c: (GST_START_TEST),
1233         (mixed_thread), (mixed_async_cb), (gst_systemclock_suite):
1234         Unref some more to make valgrind happy.
1235
1236 2007-03-22  Wim Taymans  <wim@fluendo.com>
1237
1238         * gst/gstsystemclock.c: (gst_system_clock_id_wait_jitter_unlocked),
1239         (gst_system_clock_id_wait_jitter),
1240         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
1241         Fix anoying regression that survived a few releases. When adding an
1242         async entry while blocking on a sync entry, the sync entry will unblock
1243         but still be busy, so it should continue to wait instead of returning
1244         _BUSY to the app.
1245         Add some comments here and there.
1246
1247         * tests/check/gst/gstsystemclock.c: (mixed_thread),
1248         (mixed_async_cb), (GST_START_TEST), (gst_systemclock_suite):
1249         Add testcase for this.
1250
1251 2007-03-22  Wim Taymans  <wim@fluendo.com>
1252
1253         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
1254         Handle errors from the clock sync better, only UNSCHEDULED indicates a
1255         WRONG_STATE and can silently pause the task. All other cases should
1256         error out.
1257
1258 2007-03-22  Wim Taymans  <wim@fluendo.com>
1259
1260         Patch by: Ville Syrjala <syrjala at sci dot fi>
1261
1262         * gst/gstpad.c: (gst_pad_alloc_buffer_full), (gst_pad_send_event):
1263         Fix possible deadlock if pad eventfunc is not specified.  Fixes #421177.
1264         Improve debugging.
1265
1266 2007-03-21  Michael Smith  <msmith@fluendo.com>
1267
1268         * docs/pwg/advanced-types.xml:
1269           Fix some errors in the typefinding docs pointed out on irc.
1270
1271 2007-03-21  Jan Schmidt  <thaytan@mad.scientist.com>
1272
1273         * libs/gst/base/gstbasesrc.c:
1274         Clarify FIXME comment in the face of having added unlock_stop()
1275
1276 2007-03-21  Wim Taymans  <wim@fluendo.com>
1277
1278         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_element_set_state):
1279         Prepare for release where we warn against possible app breakage in the
1280         case of live pipelines along with an env var to enable/disable live
1281         preroll mode (GST_COMPAT=[no-]live-preroll).
1282
1283 2007-03-20  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
1284
1285         * plugins/elements/gstidentity.c (gst_identity_check_imperfect_offset):
1286         So we should use correct constants for checking for None offset.
1287
1288 2007-03-20  Wim Taymans  <wim@fluendo.com>
1289
1290         * docs/design/part-block.txt:
1291         Mention the fact that the newly switched element should be set to at
1292         least PAUSED.
1293
1294 2007-03-20  Wim Taymans  <wim@fluendo.com>
1295
1296         * gst/gst.c:
1297         Fix compilation with registry disabled as spotted by Saur.
1298
1299 2007-03-20  Wim Taymans  <wim@fluendo.com>
1300
1301         Patch by: Olivier Crete <tester at tester dot ca>
1302
1303         * gst/gstelement.c: (gst_element_sync_state_with_parent):
1304         Look at the pending state too when syncing the element state to the
1305         parent. Fixes #420133.
1306
1307 2007-03-19  Jan Schmidt  <thaytan@mad.scientist.com>
1308
1309         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_flushing),
1310         (gst_base_sink_change_state):
1311         * libs/gst/base/gstbasesink.h:
1312         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
1313         (gst_base_src_default_event), (gst_base_src_unlock_stop),
1314         (gst_base_src_deactivate):
1315         * libs/gst/base/gstbasesrc.h:
1316         Add ::unlock_stop to basesrc and basesink. This allows an opportunity
1317         for sub-classes to correctly clear any state they set trying to
1318         unlock, such as clearing out unlock commands from a command fd.
1319         API: basesrc::unlock_stop
1320         API: basesink::unlock_stop
1321
1322         * plugins/elements/gstfdsink.c: (gst_fd_sink_class_init),
1323         (gst_fd_sink_render), (gst_fd_sink_unlock),
1324         (gst_fd_sink_unlock_stop):
1325         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init),
1326         (gst_fd_src_init), (gst_fd_src_unlock), (gst_fd_src_unlock_stop),
1327         (gst_fd_src_create), (gst_fd_src_get_size), (gst_fd_src_do_seek):
1328
1329         Implement unlock_stop in fdsrc and fdsink.
1330         Implement seeking in fdsrc when a seekable fd is passed, as in
1331         gst-launch-0.10 fdsrc ! ... ! xvimagesink < /path/to/file
1332
1333 2007-03-19  Wim Taymans  <wim@fluendo.com>
1334
1335         Patch by: Evan Nemerson <evan at coeus dash group dot com>
1336
1337         * gst/gstelement.c: (gst_element_class_init):
1338         Fix pad-added and pad-removed signal signatures so that the pad type is
1339         stated as GST_TYPE_PAD instead of G_TYPE_OBJECT. Fixes #419851.
1340
1341 2007-03-19  Wim Taymans  <wim@fluendo.com>
1342
1343         * docs/gst/gstreamer-sections.txt:
1344         Add new element field and method.
1345
1346         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
1347         (bin_remove_messages), (gst_bin_add_func), (gst_bin_remove_func),
1348         (gst_bin_recalc_state), (gst_bin_get_state_func),
1349         (gst_bin_element_set_state), (gst_bin_change_state_func),
1350         (gst_bin_continue_func), (bin_bus_handler),
1351         (bin_push_state_continue), (bin_handle_async_start),
1352         (bin_handle_async_done), (gst_bin_handle_message_func):
1353         Make async state changes a bit smarter by using new ASYNC_START and
1354         ASYNC_DONE messages. This reduces the number of times we run the state
1355         recalculation thread.
1356         Don't change state of element with a pending ASYNC_START message.
1357         Deprecate STATE_DIRTY messages.
1358         
1359         * gst/gstelement.c: (gst_element_init), (gst_element_send_event),
1360         (gst_element_get_state_func), (gst_element_continue_state),
1361         (gst_element_lost_state), (gst_element_set_state_func),
1362         (gst_element_change_state):
1363         * gst/gstelement.h:
1364         Keep the state that was last set by the app in a new element field.
1365         Don't allow state changes when handling an element event.
1366         Post ASYNC_START and ASYNC_DONE messages.
1367         Change lost_state so that we go to PAUSED and wait for the parent to set
1368         us to PLAYING again (so latency calculation can be performed)
1369         Export gst_element_change_state() method so that subclasses can use it.
1370         API: gst_element_change_state()
1371         API: GST_STATE_TARGET
1372
1373         * gst/gstpipeline.c: (gst_pipeline_class_init),
1374         (reset_stream_time), (gst_pipeline_change_state),
1375         (gst_pipeline_handle_message), (gst_pipeline_set_new_stream_time):
1376         Using the new ASYNC_START message we can reset the base_time when
1377         needed. This can then be used to implement base_time redistribution in
1378         flushing seeks so that we can remove the explicit seek handling.
1379         Perform latency query and configuration when going to PLAYING.
1380
1381         * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
1382         (gst_base_sink_query), (gst_base_sink_change_state):
1383         Post new ASYNC_START/ASYNC_DONE messages.
1384
1385         * tests/check/generic/sinks.c: (GST_START_TEST):
1386         Fix test because the bin will not set the async element to PLAYING right
1387         away.
1388
1389         * tests/check/gst/gstbin.c: (pop_async_done), (GST_START_TEST):
1390         Make the message check a little stronger.
1391         Handle ASYNC messages.
1392
1393         * tests/check/pipelines/cleanup.c: (GST_START_TEST):
1394         * tests/check/pipelines/simple-launch-lines.c: (GST_START_TEST):
1395         Expect ASYNC_DONE messages.
1396
1397 2007-03-19  Wim Taymans  <wim@fluendo.com>
1398
1399         * docs/gst/gstreamer-sections.txt:
1400         * gst/gstmessage.c: (gst_message_new_async_start),
1401         (gst_message_new_async_done), (gst_message_parse_info),
1402         (gst_message_parse_async_start):
1403         * gst/gstmessage.h:
1404         Add ASYNC_START and ASYNC_DONE messages to prepare for latency
1405         support.
1406
1407 2007-03-15  Tim-Philipp Müller  <tim at centricular dot net>
1408
1409         * tools/gst-inspect.c:
1410         (print_plugin_automatic_install_info_codecs):
1411           Now that we don't check for the 'Codec' keyword any longer in the
1412           klass, we shouldn't spew a warning if the klass isn't a decoder or
1413           encoder (since it might be a Source/Network, for example).
1414
1415 2007-03-14  Tim-Philipp Müller  <tim at centricular dot net>
1416
1417         * tools/gst-inspect.c:
1418         (print_plugin_automatic_install_info_codecs):
1419           Don't require decoder/demuxer/depayloader elements or
1420           encoder/muxer/paylader elements to have 'Codec' as part of their
1421           factory class string when introspecting a plugin's capabilities.
1422           draft-klass.txt mentions that it might be removed in future, and
1423           flump3dec doesn't have it as part of its class string, so chances
1424           are others might also not have it.
1425
1426 2007-03-14  Thomas Vander Stichele  <thomas at apestaart dot org>
1427
1428         * po/af.po:
1429         * po/az.po:
1430         * po/bg.po:
1431         * po/ca.po:
1432         * po/cs.po:
1433         * po/de.po:
1434         * po/en_GB.po:
1435         * po/fr.po:
1436         * po/it.po:
1437         * po/nb.po:
1438         * po/nl.po:
1439         * po/ru.po:
1440         * po/sq.po:
1441         * po/sr.po:
1442         * po/sv.po:
1443         * po/tr.po:
1444         * po/uk.po:
1445         * po/vi.po:
1446         * po/zh_CN.po:
1447         * po/zh_TW.po:
1448           Update translations from translation project
1449
1450 2007-03-14  Stefan Kost  <ensonic@users.sf.net>
1451
1452         * gst/gstchildproxy.c: (gst_child_proxy_get_property),
1453         (gst_child_proxy_set_property):
1454           Invert precondition check to be alike the ones in the mimiced gobject
1455           api.
1456
1457 2007-03-13  Stefan Kost  <ensonic@users.sf.net>
1458
1459         * docs/design/draft-tagreading.txt:
1460         * docs/random/ensonic/audiobaseclasses.txt:
1461           Do some Architect work.
1462
1463         * gst/gstobject.c: (gst_object_set_name):
1464           Add a WARNING.
1465
1466         * gst/gstpad.c:
1467           Add docs that point from gst_pad_get_range to gst_pad_pull_range
1468
1469 2007-03-12  Jan Schmidt  <thaytan@mad.scientist.com>
1470
1471         * gst/gstsystemclock.c: (gst_system_clock_init),
1472         (gst_system_clock_start_async), (gst_system_clock_id_wait_async):
1473         Defer starting the async system clock thread until the first async
1474         wait is scheduled. Fixes #414986.
1475
1476 2007-03-12  Tim-Philipp Müller  <tim at centricular dot net>
1477
1478         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_finalize),
1479         (gst_single_queue_free):
1480           Fix small leak (free GstSingleQueue structure too, not only contents).
1481
1482 2007-03-10  Sebastien Moutte  <sebastien@moutte.net>
1483
1484         * gst/gstbin.c:(gst_bin_add):
1485         Use GST_STR_NULL to prevent NULL pointer to be passed to GST_CAT_DEBUG.
1486         * win32/common/libgstbase.def:
1487         * win32/common/libgstreamer.def:
1488         Add new exported functions.
1489
1490 2007-03-09  Wim Taymans  <wim@fluendo.com>
1491
1492         * docs/plugins/gstreamer-plugins-sections.txt:
1493         Fix GstTee docs.
1494
1495 2007-03-09  Wim Taymans  <wim@fluendo.com>
1496
1497         * docs/gst/gstreamer-sections.txt:
1498         * gst/gstbuffer.c: (gst_buffer_copy_metadata), (_gst_buffer_copy):
1499         * gst/gstbuffer.h:
1500         Add metadata copy functions. Fixes #393099.
1501         API: gst_buffer_copy_metadata()
1502
1503         * gst/gstutils.c: (gst_buffer_stamp):
1504         * libs/gst/base/gstbasetransform.c:
1505         (gst_base_transform_prepare_output_buffer):
1506         Use new metadata copy functions.
1507
1508 2007-03-09  Thomas Vander Stichele  <thomas at apestaart dot org>
1509
1510         * plugins/elements/gstidentity.c: (gst_identity_class_init),
1511         (gst_identity_init), (gst_identity_check_perfect),
1512         (gst_identity_check_imperfect_timestamp),
1513         (gst_identity_check_imperfect_offset), (gst_identity_transform_ip),
1514         (gst_identity_set_property), (gst_identity_get_property):
1515         * plugins/elements/gstidentity.h:
1516         Separate out check-imperfect-timestamp and check-imperfect-offset.
1517         Put back check-perfect as it was to keep compatibility.
1518
1519 2007-03-09  Jan Schmidt  <thaytan@mad.scientist.com>
1520
1521         * gst/gstelement.c: (gst_element_dispose):
1522         There's no need to warn if VOID_PENDING is not NONE here, as
1523         long as the state is NULL it's ok, and that's checked immediately
1524         above.
1525
1526 2007-03-08  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
1527
1528         * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
1529         Fix check for perfect stream to ignore buffers with -1 
1530         offsets/offset ends when checking data contiguity.
1531
1532 2007-03-08  Wim Taymans  <wim@fluendo.com>
1533
1534         * tools/gst-launch.c: (event_loop):
1535         Print INFO messages.
1536
1537 2007-03-08  Wim Taymans  <wim@fluendo.com>
1538
1539         * libs/gst/base/gstbasetransform.c:
1540         (gst_base_transform_sink_eventfunc),
1541         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
1542         (gst_base_transform_activate):
1543         * libs/gst/base/gstbasetransform.h:
1544         Add support for dropping buffers with custom GstFlowReturn.
1545         Set DISCONT flags on outgoing buffers based on QoS, incomming DISCONT
1546         buffers or dropped buffers.
1547
1548         * docs/libs/gstreamer-libs-sections.txt:
1549         docs for new custom return code.
1550
1551         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
1552         Use drop support in base class to implement drop-probability.
1553
1554 2007-03-07  Tim-Philipp Müller  <tim at centricular dot net>
1555
1556         * gst/gst.c: (load_plugin_func):
1557         * gst/gstplugin.c: (gst_plugin_load_by_name), (gst_plugin_load):
1558         * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
1559         * gst/gsttrace.c: (gst_trace_new), (gst_alloc_trace_set_flags_all):
1560           Remove newlines at end of debug log strings.
1561
1562 2007-03-07  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
1563
1564         * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
1565         Only post bus message at max, once per buffer received.
1566
1567 2007-03-07  Wim Taymans  <wim@fluendo.com>
1568
1569         * docs/design/Makefile.am:
1570         * docs/design/part-synchronisation.txt:
1571         Add doc about synchronisation
1572
1573         * docs/design/draft-latency.txt:
1574         * docs/design/part-TODO.txt:
1575         * docs/design/part-clocks.txt:
1576         * docs/design/part-events.txt:
1577         * docs/design/part-gstbus.txt:
1578         * docs/design/part-gstpipeline.txt:
1579         * docs/design/part-live-source.txt:
1580         * docs/design/part-messages.txt:
1581         * docs/design/part-overview.txt:
1582         * docs/design/part-streams.txt:
1583         * docs/design/part-trickmodes.txt:
1584         Documentation updates.
1585
1586 2007-03-07  Jan Schmidt  <thaytan@mad.scientist.com>
1587
1588         * gstreamer.doap:
1589         Update the doap file.
1590
1591 2007-03-07  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
1592
1593         * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
1594         Rename non-perfect to imperfect for Mike and for the sanctity of the
1595         language.
1596         Also make sure bus message gets emitted for data-incontiguities.
1597
1598 2007-03-07  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
1599
1600         * plugins/elements/gstidentity.c: (gst_identity_check_perfect),
1601         (gst_identity_start):
1602         * plugins/elements/gstidentity.h:
1603         Emit bus message if check-perfect is true and we encounter a
1604         non-perfect stream between 2 consecutive buffers.
1605         Fixes #415394.
1606
1607 2007-03-07  Jan Schmidt  <thaytan@mad.scientist.com>
1608
1609         * configure.ac:
1610         Back to CVS
1611
1612 === release 0.10.12 ===
1613
1614 2007-03-07  Jan Schmidt <thaytan@mad.scientist.com>
1615
1616         * configure.ac:
1617           releasing 0.10.12, "Inevitable Demise"
1618
1619 2007-03-01  Jan Schmidt  <thaytan@mad.scientist.com>
1620
1621         * configure.ac:
1622          Version 0.10.11.2 (0.10.12 pre-release)
1623          Bump libtool versioning.
1624
1625 2007-03-01  Stefan Kost  <ensonic@users.sf.net>
1626
1627         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
1628           Log flow-names and not numbers.
1629
1630 2007-02-28  Thomas Vander Stichele  <thomas at apestaart dot org>
1631
1632         * configure.ac:
1633           Convert to new AG_GST style.
1634
1635 2007-02-28  Wim Taymans  <wim@fluendo.com>
1636
1637         * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency):
1638         Don't unref query twice.
1639
1640 2007-02-28  Wim Taymans  <wim@fluendo.com>
1641
1642         * gst/gstvalue.c: (gst_value_transform_object_string),
1643         (_gst_value_initialize):
1644         Implement GstObject -> string transform so we print object names
1645         when serializing GValues containing GstObjects.
1646
1647 2007-02-28  Wim Taymans  <wim@fluendo.com>
1648
1649         * docs/gst/gstreamer-sections.txt:
1650         Add new stuff to docs.
1651
1652 2007-02-28  Wim Taymans  <wim@fluendo.com>
1653
1654         * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
1655         (gst_base_sink_queue_object_unlocked), (gst_base_sink_send_event),
1656         (gst_base_sink_change_state):
1657         Improve latency query code.
1658         Don't leak latency events.
1659
1660         * tests/check/gst/gstbin.c: (GST_START_TEST):
1661         Improve debugging.
1662
1663 2007-02-28  Wim Taymans  <wim@fluendo.com>
1664
1665         * gst/gstelement.c: (gst_element_message_full),
1666         (gst_element_get_state_func):
1667         * gst/gstelement.h:
1668         Improve docs a little. Added Since: for new macro.
1669
1670         * gst/gstobject.c: (gst_object_sink):
1671         * gst/gstpipeline.c: (gst_pipeline_change_state),
1672         (gst_pipeline_set_new_stream_time):
1673         * gst/gstpipeline.h:
1674         Improve debugging and docs.
1675
1676         * gst/gstutils.c: (gst_element_state_change_return_get_name):
1677         Improve debugging.
1678
1679 2007-02-28  Wim Taymans  <wim@fluendo.com>
1680
1681         * gst/gstelement.c: (gst_element_message_full),
1682         (gst_element_set_locked_state), (gst_element_get_state_func),
1683         (gst_element_change_state):
1684         Handle INFO messages from the GST_ELEMENT_INFO macro as well.
1685         Documentation updates.
1686         Small code cleanups.
1687
1688         * gst/gstmessage.c: (gst_message_new_info),
1689         (gst_message_parse_info):
1690         * gst/gstmessage.h:
1691         API: gst_message_new_info()
1692         API: gst_message_parse_info()
1693         Add INFO message create and parse code.
1694
1695 2007-02-28  Wim Taymans  <wim@fluendo.com>
1696
1697         * gst/gstbin.c: (bin_query_min_max_init), (bin_query_latency_fold),
1698         (bin_query_latency_done):
1699         Also report the live parameter of a latency query.
1700
1701 2007-02-28  Thomas Vander Stichele  <thomas at apestaart dot org>
1702
1703         * tests/check/generic/states.c: (GST_START_TEST), (states_suite):
1704           Copy the current generic/states example from -base and adapt so
1705           we can use the exact same code everywhere.
1706           Check a STATES_IGNORE_ELEMENTS env var which can be used
1707           to ignore certain element factories for this test, which is
1708           what is being done in -base
1709         * tests/check/Makefile.am:
1710           Mention this environment variable.
1711
1712 2007-02-27  Wim Taymans  <wim@fluendo.com>
1713
1714         * docs/gst/gstreamer-sections.txt:
1715         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
1716         (gst_bus_timed_pop), (gst_bus_pop):
1717         * gst/gstbus.h:
1718         API: gst_bus_timed_pop()
1719         Implement gst_bus_timed_pop() to do a blocking timed wait for a
1720         message to arrive on the bus.
1721
1722         * tests/check/gst/gstbus.c: (GST_START_TEST), (pop_thread),
1723         (gst_bus_suite):
1724         Two unit tests for new _timed_pop() function.
1725
1726 2007-02-23  Wim Taymans  <wim@fluendo.com>
1727
1728         * gst/gstpipeline.c: (gst_pipeline_change_state),
1729         (gst_pipeline_provide_clock_func), (gst_pipeline_set_delay):
1730         Don't ref a NULL clock in _provide_clock_func().
1731         Don't allow an INVALID delay.
1732         Don't try to calculate base_time with an invalid start_time.
1733         Also distribute and notify a NULL clock when it was selected.
1734
1735         * tools/gst-launch.c: (event_loop):
1736         Don't crash when a NULL clock was selected in the pipeline.
1737
1738 2007-02-23  Tim-Philipp Müller  <tim at centricular dot net>
1739
1740         * docs/design/Makefile.am:
1741         * docs/design/draft-missing-plugins.txt:
1742         * docs/random/draft-missing-plugins.txt:
1743           Some small updates: update plugin system identifier prefix
1744           ('gstreamer.net' to 'gstreamer'), mention our new install
1745           API in libgstbaseutils rather than libgimme-codec, add
1746           reference to the online docs.
1747
1748 2007-02-21  Thomas Vander Stichele  <thomas at apestaart dot org>
1749
1750         * win32/common/config.h:
1751           Pretty sure Bill never made a powerpc version.  Powerpc hackers,
1752           use moap cl ci to only check in what is mentioned in the ChangeLog.
1753
1754 2007-02-21  Thomas Vander Stichele  <thomas at apestaart dot org>
1755
1756         * docs/gst/gstreamer-sections.txt:
1757         * gst/gstelement.h:
1758           Fix up documentation to link to the correct GstGError section.
1759           Add GST_ELEMENT_INFO macro since someone else added a Info message.
1760
1761 2007-02-21  Thomas Vander Stichele  <thomas at apestaart dot org>
1762
1763         * tools/gst-launch.c: (event_loop):
1764           Make sure that we actually show the important message part of a
1765           warning message.
1766           No need to check if the gerror is not NULL to free; first of all
1767           g_free accepts NULL; and second the default error handler would
1768           segfault if gerror was NULL.
1769
1770 2007-02-21  Wim Taymans  <wim@fluendo.com>
1771
1772         * docs/gst/gstreamer-sections.txt:
1773         Removed docs as well.
1774
1775 2007-02-21  Wim Taymans  <wim@fluendo.com>
1776
1777         * gst/gstmessage.c: (gst_message_parse_duration):
1778         * gst/gstmessage.h:
1779         Remove new messages for release.
1780
1781 2007-02-20  Wim Taymans  <wim@fluendo.com>
1782
1783         * docs/design/part-gstghostpad.txt:
1784         * gst/gstghostpad.c: (gst_ghost_pad_dispose),
1785         (gst_ghost_pad_new_full):
1786         Make the ghostpad a parent of the internal pad again for better backward
1787         compatibility. Don't write code that relies on this however.
1788
1789         * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_activate_push),
1790         (gst_pad_link_check_hierarchy):
1791         Require that parents should be GstElements in the hierarchy check.
1792
1793 2007-02-20  Wim Taymans  <wim@fluendo.com>
1794
1795         * gst/gstbin.c: (bin_replace_message), (gst_bin_add_func),
1796         (gst_bin_change_state_func), (bin_query_min_max_init),
1797         (bin_query_latency_fold), (bin_query_latency_done),
1798         (gst_bin_query):
1799         Improve debug info.
1800         Implement latency query.
1801
1802 2007-02-20  Wim Taymans  <wim@fluendo.com>
1803
1804         * docs/design/part-gstghostpad.txt:
1805         * gst/gstghostpad.c: (gst_ghost_pad_class_init),
1806         (gst_ghost_pad_internal_do_activate_push),
1807         (gst_ghost_pad_internal_do_activate_pull),
1808         (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
1809         (gst_ghost_pad_do_link), (gst_ghost_pad_dispose),
1810         (gst_ghost_pad_new_full), (gst_ghost_pad_set_target):
1811         Do not set the internal pad as a parent anymore so we can avoid
1812         hierarchy linking errors when the ghostpad has no parent yet. This also
1813         fixes failed activation because of unlinked internal pads, which in
1814         turn fixes the impossible case where you have to activate a pad before
1815         you can add it to a running element.
1816         Also fix the docs.
1817
1818         * gst/gstpad.c: (pre_activate), (post_activate),
1819         (gst_pad_set_active), (gst_pad_activate_pull),
1820         (gst_pad_activate_push), (gst_pad_check_pull_range):
1821         Add some more debug info.
1822         Mark activation mode in pre_activate so that we don't try to activate in
1823         endless loops. Fixes #385084.
1824
1825 2007-02-19  Wim Taymans  <wim@fluendo.com>
1826
1827         * libs/gst/base/gstbasetransform.c: (gst_base_transform_init),
1828         (gst_base_transform_check_get_range):
1829         Implement a checkgetrange function instead of relying on the default
1830         core behaviour that assumes we can operate in pull mode if we have a
1831         getrange function. First step at fixing #385084.
1832
1833 2007-02-15  Stefan Kost  <ensonic@users.sf.net>
1834
1835         * gst/gstchildproxy.h:
1836         * libs/gst/base/gstbasesink.h:
1837         * libs/gst/base/gstbasesrc.h:
1838         * libs/gst/base/gstbasetransform.h:
1839         More docs coverage and some ChangeLog surgery (add missing names)
1840
1841 2007-02-15  Wim Taymans  <wim@fluendo.com>
1842
1843         * docs/design/part-TODO.txt:
1844         * docs/design/part-activation.txt:
1845         * docs/design/part-block.txt:
1846         * docs/design/part-buffering.txt:
1847         * docs/design/part-clocks.txt:
1848         * docs/design/part-element-source.txt:
1849         * docs/design/part-events.txt:
1850         * docs/design/part-gstbin.txt:
1851         * docs/design/part-gstbus.txt:
1852         * docs/design/part-gstpipeline.txt:
1853         * docs/design/part-live-source.txt:
1854         * docs/design/part-messages.txt:
1855         * docs/design/part-overview.txt:
1856         * docs/design/part-qos.txt:
1857         * docs/design/part-query.txt:
1858         * docs/design/part-states.txt:
1859         * docs/design/part-trickmodes.txt:
1860         Some doc updates. Start renaming from stream_time to running_time where
1861         it was used wrongly.
1862
1863 2007-02-15  Wim Taymans  <wim@fluendo.com>
1864
1865         * libs/gst/base/gstbasesrc.c: (gst_base_src_default_query):
1866         Answer LATENCY query.
1867
1868 2007-02-15  Wim Taymans  <wim@fluendo.com>
1869
1870         * tests/check/gst/gstevent.c: (event_probe), (test_event),
1871         (GST_START_TEST):
1872         Improve debugging.
1873
1874 2007-02-15  Wim Taymans  <wim@fluendo.com>
1875
1876         * gst/gstpad.c: (gst_pad_get_internal_links_default),
1877         (gst_pad_dispatcher):
1878         Improve debugging of default pad dispatcher and query functions.
1879
1880 2007-02-15  Wim Taymans  <wim@fluendo.com>
1881
1882         * docs/gst/gstreamer-sections.txt:
1883         Remove old unused method.
1884
1885 2007-02-13  Wim Taymans  <wim@fluendo.com>
1886
1887         * tests/check/gst/gstsegment.c: (GST_START_TEST):
1888         Fix check
1889
1890 2007-02-13  Wim Taymans  <wim@fluendo.com>
1891
1892         * docs/design/part-seeking.txt:
1893         Some small update.
1894
1895         * gst/gstsegment.c: (gst_segment_set_seek):
1896         Revert old bogus change that should make seeking work again.
1897
1898 2007-02-13  Stefan Kost  <ensonic@users.sf.net>
1899
1900         * docs/random/ensonic/dynlink.txt:
1901         * docs/random/ensonic/interfaces.txt:
1902         * docs/random/ensonic/receipies.txt:
1903           Possible dynamic reconnection api, plus some type fixes the other two
1904           docs.
1905
1906 2007-02-13  Sebastian Dröge  <slomo@circular-chaos.org>
1907
1908         * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
1909         * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
1910         Also check for an absolute path following file:// in the filesrc
1911         element. Remove redundant check and call g_path_is_absolute() on the
1912         unescaped location.
1913
1914 2007-02-13  Stefan Kost  <ensonic@users.sf.net>
1915
1916         * docs/design/draft-klass.txt:
1917           Add existing category analysis.
1918           
1919         * gst/gstcaps.c:
1920           Fix doc example, framerate is a fraction.
1921
1922 2007-02-12  Stefan Kost  <ensonic@users.sf.net>
1923
1924         * configure.ac:
1925         * docs/gst/Makefile.am:
1926         * docs/gst/gstreamer-sections.txt:
1927         * docs/libs/Makefile.am:
1928           Erm, forgot a bunch of --extra-dir.
1929
1930 2007-02-12  Stefan Kost  <ensonic@users.sf.net>
1931
1932         * configure.ac:
1933         * docs/gst/Makefile.am:
1934         * docs/libs/Makefile.am:
1935         * docs/plugins/Makefile.am:
1936           Add crossreferences to glib/gobject docs.
1937
1938 2007-02-12  Wim Taymans  <wim@fluendo.com>
1939
1940         * docs/design/draft-latency.txt:
1941         Small update.
1942
1943         * docs/libs/gstreamer-libs-sections.txt:
1944         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
1945         (gst_base_sink_get_latency), (gst_base_sink_query_latency),
1946         (gst_base_sink_wait_clock), (gst_base_sink_send_qos),
1947         (gst_base_sink_perform_qos), (gst_base_sink_queue_object_unlocked),
1948         (gst_base_sink_chain_unlocked), (gst_base_sink_send_event),
1949         (gst_base_sink_get_position), (gst_base_sink_query),
1950         (gst_base_sink_change_state):
1951         * libs/gst/base/gstbasesink.h:
1952         API: gst_base_sink_query_latency() to let subclasses query the upstream
1953         latency.
1954         API: gst_base_sink_get_latency() to let subclasses query the configured
1955         latency in the sink.
1956         Implement query and set latency.
1957         Update some docs.
1958         As spotted by Will Newton <will dot newton at gmail dot com>: Make sure we
1959         don't continue preroll when we are flushing. Fixes #405284.
1960
1961         * tests/check/pipelines/stress.c: (change_state_timeout),
1962         (quit_timeout), (GST_START_TEST), (stress_suite):
1963         Test for #405284.
1964
1965 2007-02-09  Tim-Philipp Müller  <tim at centricular dot net>
1966
1967         Patch by: René Stadler <mail at renestadler de>
1968
1969         * docs/gst/gstreamer-sections.txt:
1970         * gst/gsttaglist.c: (_gst_tag_initialize):
1971         * gst/gsttaglist.h:
1972           API: add GST_TAG_REFERENCE_LEVEL (#403597).
1973
1974 2007-02-11  Stefan Kost  <ensonic@users.sf.net>
1975
1976         * docs/libs/Makefile.am:
1977           Fix path to core docs.
1978
1979         * gst/gstbin.c: (gst_bin_get_by_interface),
1980         (gst_bin_iterate_all_by_interface):
1981           Refix docs by also renaming 'interface' to 'iface' in implementation.
1982
1983         * docs/gst/gstreamer-sections.txt:
1984         * gst/gstcaps.c:
1985         * gst/gstchildproxy.c: (gst_child_proxy_base_init):
1986         * gst/gstchildproxy.h:
1987         * gst/gstelementfactory.c:
1988         * gst/gstpadtemplate.h:
1989         * libs/gst/controller/gstcontroller.c:
1990         (gst_controlled_property_new):
1991           Document more.
1992
1993 2007-02-10  Sébastien Moutte  <sebastien@moutte.net>
1994
1995         * gst/gstbin.h:(gst_bin_get_by_interface),
1996         (gst_bin_iterate_all_by_interface):
1997         Replace interface parameter name by iface as interface is 
1998         a reserved keyword in Visual Studio for C++ projects so it removes
1999         a build error for application developpers using VS.
2000         * plugins/elements/gstfilesrc.c:(gst_file_src_uri_set_uri):
2001         Fix a bug on Windows in uri format check. Now the prefix checked
2002         is file:// and next we check if the path after file:// is absolute.
2003         * win32/common/libgstbase.def:
2004         * win32/common/libgstdataprotocol.def:
2005         * win32/common/libgstgstreamer.def:
2006         Add new exported functions.
2007
2008 2007-02-09  Andy Wingo  <wingo@pobox.com>
2009
2010         * tests/check/pipelines/simple-launch-lines.c
2011         (simple_launch_lines_suite, test_tee): Disable tee test until I
2012         have time to fix it :-(
2013
2014         * tests/check/Makefile.am (noinst_HEADERS): 
2015         * tests/check/libs/libsabi.c: 
2016         * tests/check/libs/struct_ppc32.h: Add ABI checks for PPC32.
2017         * tests/check/gst/gstabi.c: 
2018         * tests/check/gst/struct_ppc32.h: Add ABI checks for PPC32.
2019
2020         * tests/check/pipelines/simple-launch-lines.c (test_tee): Add
2021         tests for push and pull tee behavior.
2022
2023         * plugins/elements/gsttee.h: 
2024         * plugins/elements/gsttee.c: Describe has-sink-loop better, and
2025         mark as deprecated as well as unimplemented. It was a crack idea.
2026         Add support for tee operating in pull mode, off by default.
2027
2028         * gst/gstregistryxml.c (load_feature, load_plugin): Drop some
2029         normal-case logs down to LOG, raise errors to WARNING.
2030         (gst_registry_xml_read_cache): Don't log before calling a function
2031         that logs.
2032
2033         * gst/gstregistry.c (gst_registry_finalize): Less debug on program
2034         exit (registry finalize).
2035         (gst_registry_add_plugin, gst_registry_add_feature): No need for a
2036         DEBUG log when we emit signals that people don't even have the
2037         chance to connect to.
2038         (gst_registry_scan_path_level): Less logging in the normal case.
2039
2040 2007-02-05  Sebastian Dröge  <slomo@circular-chaos.org>
2041
2042         Patch by: Michal Benes <michal dot benes at itonis dot tv>
2043
2044         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
2045         Correctly generate EOS for non-seekable files. We don't have a total
2046         length for them and would get an unexpected end of file if we only
2047         special-cased for regular files. (Fixes: #404569)
2048
2049 2007-02-05  Sebastian Dröge  <slomo@circular-chaos.org>
2050
2051         * tests/check/elements/filesrc.c: (GST_START_TEST),
2052         (filesrc_suite):
2053         Add unit test for the GstURIHandler interface in filesrc. This also
2054         tests the newly added file://localhost/foo/bar support.
2055
2056 2007-02-04  Tim-Philipp Müller  <tim at centricular dot net>
2057
2058         * gst/gstelementfactory.h:
2059           The klass string is not a hierarchy. Add reference to the design doc
2060           for more information and common types.
2061
2062 2007-02-02  Wim Taymans  <wim@fluendo.com>
2063
2064         * gst/gstquery.c: (gst_query_new_latency):
2065         Remove old structure field.
2066
2067 2007-02-02  Stefan Kost  <ensonic@users.sf.net>
2068
2069         * tools/gst-launch.1.in:
2070           Give example for network streaming (#351998)
2071
2072 2007-02-02  Wim Taymans  <wim@fluendo.com>
2073
2074         * docs/gst/gstreamer-sections.txt:
2075         Add docs for new methods.
2076
2077         * gst/gstevent.c: (gst_event_new_latency),
2078         (gst_event_parse_latency):
2079         * gst/gstevent.h:
2080         Add new LATENCY event to configure latency in a pipeline.
2081         API: gst_event_new_latency
2082         API: gst_event_parse_latency
2083
2084         * gst/gstmessage.c: (gst_message_new_buffering),
2085         (gst_message_new_lost_preroll), (gst_message_new_prerolled),
2086         (gst_message_new_latency), (gst_message_parse_buffering),
2087         (gst_message_parse_lost_preroll):
2088         * gst/gstmessage.h:
2089         Added messages used in draft-latency.
2090         API: gst_message_new_lost_preroll
2091         API: gst_message_parse_lost_preroll
2092         API: gst_message_new_prerolled
2093         API: gst_message_new_latency
2094
2095         * gst/gstquery.c: (gst_query_new_latency), (gst_query_set_latency),
2096         (gst_query_parse_latency):
2097         * gst/gstquery.h:
2098         Implemented new latency query as in design doc.
2099         API: gst_query_new_latency
2100         API: gst_query_set_latency
2101         API: gst_query_parse_latency
2102
2103 2007-02-02  Wim Taymans  <wim@fluendo.com>
2104
2105         * docs/design/draft-latency.txt:
2106         Slight redesign to allow for dynamic latency adjustments.
2107
2108         * docs/design/part-negotiation.txt:
2109         Fix some typos.
2110
2111 2007-02-02  Sebastian Dröge  <slomo@circular-chaos.org>
2112
2113         reviewed by: Wim Taymans <wim@fluendo.com>
2114
2115         * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
2116         * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
2117         Allow file://localhost/foo/bar URLs and correctly fail for every other
2118         hostname that one sets. This was gnomevfssrc is linked for those if
2119         installed as it can handle it (#403172)
2120
2121 2007-02-01  Sebastian Dröge  <slomo@circular-chaos.org>
2122
2123         reviewed by: Tim-Philipp Müller <tim at centricular dot net>
2124
2125         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
2126         (unref_data), (gst_collect_pads_add_pad_full):
2127         * libs/gst/base/gstcollectpads.h:
2128         Don't put the previously added destroy notify in the GstCollectData
2129         struct as all it's padding is already used and we don't want to break
2130         ABI. Instead put in the pad's GObject data for now. This should be
2131         cleaned up for 0.11 (#402393).
2132
2133 2007-02-01  Sebastian Dröge  <slomo@circular-chaos.org>
2134
2135         reviewed by: Wim Taymans <wim@fluendo.com>
2136
2137         * docs/libs/gstreamer-libs-sections.txt:
2138         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
2139         (unref_data), (gst_collect_pads_add_pad),
2140         (gst_collect_pads_add_pad_full):
2141         * libs/gst/base/gstcollectpads.h:
2142         API: Add function to specify a destroy notification for custom
2143         GstCollectData when adding new pads in GstCollectPads (#402393).
2144
2145 2007-02-01  Tim-Philipp Müller  <tim at centricular dot net>
2146
2147         * po/sv.po:
2148           Update Swedish translation (#378255).
2149
2150 2007-01-31  Stefan Kost  <ensonic@users.sf.net>
2151
2152         * docs/design/draft-klass.txt:
2153           Fix the previous change, this is a list of categories and not a hierarchy.
2154
2155 2007-01-31  Stefan Kost  <ensonic@users.sf.net>
2156
2157         * docs/design/draft-klass.txt:
2158           Add info about how to get a list of used classes.
2159
2160 2007-01-30  Tim-Philipp Müller  <tim at centricular dot net>
2161
2162         * plugins/elements/gsttypefindelement.c:
2163         (gst_type_find_element_chain_do_typefinding),
2164         (gst_type_find_element_change_state):
2165           Don't leak found caps in chain function (no idea why that never
2166           showed up as a leak anywhere).
2167
2168 2007-01-30  Stefan Kost  <ensonic@users.sf.net>
2169
2170         * gst/gstplugin.h:
2171           Fix and expand GstPluginDesc API docs.
2172
2173 2007-01-29  Stefan Kost  <ensonic@users.sf.net>
2174
2175         * gst/gstcaps.c:
2176         * gst/gstelementfactory.c:
2177         * gst/gstpadtemplate.h:
2178           api doc fixes
2179
2180         * libs/gst/controller/gstcontroller.c:
2181         (gst_controlled_property_new):
2182         * tests/examples/controller/audio-example.c:
2183           comment fixes
2184
2185 2007-01-29  Stefan Kost  <ensonic@users.sf.net>
2186
2187         * configure.ac:
2188           comment about refining the xml deps
2189
2190         * docs/manuals.mak:
2191           comments about moving away from jade for docs
2192         
2193         * gst/gst.c:
2194           recommit the ifdefs to use the binary registry
2195         
2196         * gst/gstbin.c: (gst_bin_change_state_func):
2197           this break is obsolete
2198
2199         * gst/gstelementfactory.h:
2200           better GST_ELEMENT_DETAILS docs, add comment about translation
2201
2202         * gst/gstinfo.h:
2203           remove eol slash
2204
2205         * gst/gstobject.c: (gst_signal_object_get_type):
2206           add G_UNLIKELY as usual
2207
2208         * gst/gstpad.c: (gst_pad_event_default):
2209           add fall trhu comment
2210
2211         * gst/gstregistrybinary.c: (gst_registry_binary_write),
2212         (gst_registry_binary_initialize_magic),
2213         (gst_registry_binary_save_string),
2214         (gst_registry_binary_save_pad_template),
2215         (gst_registry_binary_save_feature),
2216         (gst_registry_binary_save_plugin),
2217         (gst_registry_binary_write_cache),
2218         (gst_registry_binary_check_magic),
2219         (gst_registry_binary_load_pad_template),
2220         (gst_registry_binary_load_feature),
2221         (gst_registry_binary_load_plugin),
2222         (gst_registry_binary_read_cache):
2223           comment typo and formatting
2224
2225         * gst/gstutils.c: (gst_element_state_get_name),
2226         (gst_element_state_change_return_get_name):
2227           remove obsolete breaks
2228
2229         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
2230           add FIXME 0.11 and remove cpp comment
2231
2232 2007-01-29  Edward Hervey  <edward@fluendo.com>
2233
2234         * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
2235         Fix print statement in an even more portable way.
2236
2237 2007-01-29  Tim-Philipp Müller  <tim at centricular dot net>
2238
2239         * docs/gst/gstreamer-sections.txt:
2240         * gst/gstutils.h:
2241           API: add GST_ROUND_DOWN_* macros (#401781).
2242
2243 2007-01-27  Tim-Philipp Müller  <tim at centricular dot net>
2244
2245         * docs/gst/gstreamer.types.in:
2246         * gst/gstregistry.c: (gst_registry_class_init):
2247           Document registry signals and make gtk-doc pick them up (#401381).
2248
2249 2007-01-26  Tim-Philipp Müller  <tim at centricular dot net>
2250
2251         * docs/pwg/building-testapp.xml:
2252           Add some audioconverts and audioresample to the pipeline, and some
2253           more comments and error handling.
2254
2255 2007-01-26  Tim-Philipp Müller  <tim at centricular dot net>
2256
2257         * docs/manual/manual.xml:
2258         * docs/pwg/pwg.xml:
2259           Fix typo (#400987).
2260
2261 2007-01-26  Wim Taymans  <wim@fluendo.com>
2262
2263         * gst/gstcaps.c: (gst_static_caps_get):
2264         Init caps flags too.
2265
2266 2007-01-25  Sebastian Dröge  <slomo@circular-chaos.org>
2267
2268         Patch by: Jindrich Makovicka <jindrich.makovick at itonis dot tv>
2269
2270         * plugins/elements/gstfilesrc.c: (gst_file_src_start):
2271         If not using mmap'ed files try to seek to the end instead of the
2272         start to determine whether we can seek at all. This fixes the case
2273         of 2GB+ files over NFS, where seeks in the first 2GB can succeed but
2274         seeks for everything afterwards fail. Fixes #400656
2275
2276 2007-01-25  Wim Taymans  <wim@fluendo.com>
2277
2278         * gst/gstcaps.c: (_gst_caps_free), (gst_static_caps_get):
2279         Add some refcount debugging.
2280         Make gst_static_caps_get threadsafe, which is needed when autoplugging
2281         in multiple streaming threads.
2282
2283 2007-01-25  Wim Taymans  <wim@fluendo.com>
2284
2285         Patch by: David Schleef <ds at schleef dot org>
2286
2287         * docs/libs/gstreamer-libs-sections.txt:
2288         * libs/gst/base/gstadapter.c: (gst_adapter_copy):
2289         * libs/gst/base/gstadapter.h:
2290         API: gst_adapter_copy() that can reduce the amount of memcpy when
2291         getting data from the adapter. Fixes #388201.
2292
2293 2007-01-25  Edward Hervey  <edward@fluendo.com>
2294
2295         * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
2296         In print statements, "%x" is for guint. Fixes build on macosx.
2297
2298 2007-01-24  Edward Hervey  <edward@fluendo.com>
2299
2300         * plugins/elements/gstmultiqueue.c:
2301         (gst_multi_queue_loop):
2302         Small fix.
2303         (single_queue_overrun_cb), (single_queue_underrun_cb),
2304         (single_queue_check_full), (gst_single_queue_new):
2305         Implement single queue growth system.
2306         This uses the extra-size properties, and will grow single queues by
2307         that much if one goes full whereas there are others empty. This is
2308         called extra-mode in the code.
2309         When a single queue's levels go back below the initial max-size
2310         limits, it is no longer in extra-mode. This is to ensure we don't
2311         consume too much memory.
2312         Fixes #399875
2313
2314 2007-01-23  Tim-Philipp Müller  <tim at centricular dot net>
2315
2316         * gst/gst.c: (gst_init_get_option_group):
2317           Make warning about late g_thread_init() calls a bit more explicit,
2318           so that it's more obvious to application developers what they need
2319           to do if a user files a bug against their application.
2320
2321 2007-01-22  Edward Hervey  <edward@fluendo.com>
2322
2323         * plugins/elements/gstmultiqueue.c:
2324         (gst_multi_queue_src_activate_push), (gst_single_queue_new):
2325         Remove previous hack of unsetting the flushing flag for the source pad
2326         instead of activating it. Instead, fix the source pad activate function
2327         so that it no longer depends on having a parent set or not.
2328
2329 2007-01-22  Tim-Philipp Müller  <tim at centricular dot net>
2330
2331         Patch by: Carlos Sanmartin Dominguez <csanmartin@igalia.com>
2332
2333         * docs/manual/basics-bus.xml:
2334           Fix example code, gst_element_unref() doesn't exist any longer.
2335
2336 2007-01-21  Tim-Philipp Müller  <tim at centricular dot net>
2337
2338         Patch by: Mark Nauwelaerts <manauw at skynet be>
2339
2340         * gst/gstpad.c:
2341           Fix two docs typoes (#399094).
2342
2343 2007-01-19  Edward Hervey  <edward@fluendo.com>
2344
2345         * docs/faq/gst-uninstalled:
2346         Add gst-plugins-base/gst/utils/ to LD_LIBRARY_PATH so that plugins
2347         depending on libgstbaseutils can work in uninstalled environment.
2348
2349 2007-01-18  Stefan Kost  <ensonic@users.sf.net>
2350
2351         * gst/gsttaglist.h:
2352         * gst/gsttagsetter.c:
2353         Add more docs regarding tag merge-modes and when to send tags. Fix 'since'
2354         statement for new tag.
2355
2356 2007-01-17  Edward Hervey  <edward@fluendo.com>
2357
2358         * plugins/elements/gstmultiqueue.c: (gst_single_queue_new):
2359         When dynamically creating single queues, activate sinkpad before adding
2360         it.
2361         We should be doing the same thing for the source pad, but we can't
2362         since it would call a method which needs the parent to be set in order
2363         to work propertly. Instead of activating the source pad, we just unset
2364         the flushing flag, which is the minimal requirement for adding a pad
2365         to an element in a state greater than READY.
2366
2367 2007-01-17  Edward Hervey  <edward@fluendo.com>
2368
2369         * docs/faq/gst-uninstalled:
2370         Add DYLD_LIBRARY_PATH declarations so we can also use this script on
2371         Mac OS X.
2372
2373 2007-01-17  Tim-Philipp Müller  <tim at centricular dot net>
2374
2375         * tests/check/gst/gstabi.c:
2376         * tests/check/gst/struct_hppa.h:
2377         * tests/check/libs/libsabi.c:
2378         * tests/check/libs/struct_hppa.h:
2379           Add ABI structs for HPPA (see #393796).
2380
2381 2007-01-16  Tim-Philipp Müller  <tim at centricular dot net>
2382
2383         * libs/gst/check/gstcheck.c: (gst_check_abi_list):
2384           Actually write ABI structs to the file specified in the GST_ABI
2385           environment variable, as the message we print claims we would.
2386
2387 2007-01-15  Stefan Kost  <ensonic@users.sf.net>
2388
2389         * tests/check/gst/gsttask.c:
2390           Fix header comment.
2391
2392 2007-01-15  Stefan Kost  <ensonic@users.sf.net>
2393
2394         * gst/gsttaglist.c: (_gst_tag_initialize):
2395           Change tag type from STRING to DOUBLE. Apply ChangeLog surgery for my
2396           previous two entries.
2397
2398 2007-01-15  Stefan Kost  <ensonic@users.sf.net>
2399
2400         * docs/gst/gstreamer-sections.txt:
2401         * gst/gsttaglist.c: (_gst_tag_initialize):
2402         * gst/gsttaglist.h:
2403           Add tag support for beat-per-minute.
2404
2405 2007-01-15  Stefan Kost  <ensonic@users.sf.net>
2406
2407         * gst/gstregistrybinary.c: (gst_registry_binary_write),
2408         (gst_registry_binary_initialize_magic),
2409         (gst_registry_binary_save_string), (gst_registry_binary_make_data),
2410         (gst_registry_binary_save_pad_template),
2411         (gst_registry_binary_save_feature),
2412         (gst_registry_binary_save_plugin),
2413         (gst_registry_binary_write_cache),
2414         (gst_registry_binary_check_magic),
2415         (gst_registry_binary_load_pad_template),
2416         (gst_registry_binary_load_feature),
2417         (gst_registry_binary_load_plugin),
2418         (gst_registry_binary_read_cache):
2419         * gst/gstregistrybinary.h:
2420           Use glib types, cleanup comments, impement interfaces and uri-types.
2421
2422 2007-01-13  Andy Wingo  <wingo@pobox.com>
2423
2424         * gst/gstpad.c (gst_pad_get_range, gst_pad_pull_range): Allow
2425         getrange() to return buffers with other caps, while we fix
2426         demuxers and typefind, or otherwise change part-negotiation.txt.
2427
2428 2007-01-12  Andy Wingo  <wingo@pobox.com>
2429
2430         * libs/gst/base/gstbasetransform.c (gst_base_transform_activate):
2431         Factor start/stop into this private function instead of partially
2432         in activate functions and partially in the change_state function.
2433         Fixes setup before the element has changed from READY->PAUSED, as
2434         is the case in pull-mode pipelines.
2435         (gst_base_transform_sink_activate_push)
2436         (gst_base_transform_src_activate_pull): Refactor to use
2437         gst_base_transform_activate().
2438         (gst_base_transform_change_state): Removed, not needed any more.
2439
2440         * libs/gst/base/gstbasesink.c (gst_base_sink_negotiate_pull):
2441         Truncate before fixating.
2442         
2443         * libs/gst/base/gstbasesink.c (gst_base_sink_negotiate_pull):
2444         Don't set_caps() if the result of fixating is ANY, as it's not
2445         supported, and not necessary in the case of a link with no
2446         template caps on either side. Fixes tests/check/libs/basesrc in
2447         some pull-mode tests.
2448
2449         * libs/gst/base/gstbasetransform.c (_GstBaseTransformPrivate):
2450         (gst_base_transform_init, gst_base_transform_sink_activate_push)
2451         (gst_base_transform_src_activate_pull): 
2452         Track the activation mode.
2453         (gst_base_transform_setcaps): In pull mode, when activating the
2454         src pad, after activating the sink pad, activate the sink pad's
2455         peer, as discussed in part-negotiation.txt.
2456
2457         * libs/gst/base/gstbasesrc.h: 
2458         * libs/gst/base/gstbasesrc.c (gst_base_src_fixate): Add fixate
2459         vmethod, as in basesink.
2460
2461         * libs/gst/base/gstbasesink.h: Reformat docs, add fixate vmethod.
2462
2463         * libs/gst/base/gstbasesink.c (gst_base_sink_pad_setcaps): In pull
2464         mode, first proxy the setcaps to the peer pad.
2465         (gst_base_sink_pad_fixate): Add a fixate function that calls the
2466         new fixate vmethod.
2467         (gst_base_sink_default_activate_pull): Rename from
2468         gst_base_sink_activate_pull.
2469         (gst_base_sink_negotiate_pull): New function, performs negotiation
2470         in pull mode before calling ::activate_pull().
2471         (gst_base_sink_pad_activate_pull): Actually call the activate_pull
2472         vmethod instead of the default implementation. I have no idea how
2473         this worked before. Negotiate before calling activate_pull.
2474
2475         * gst/gstpad.c (gst_pad_activate_pull): Refuse to activate unlinked
2476         sink pads in pull mode. In addition to being correct, fixes
2477         filesrc ! decodebin ! identity ! fakesink.
2478         (gst_pad_get_range, gst_pad_pull_range): Don't call
2479         gst_pad_set_caps() if the caps changes; instead error out with
2480         GST_FLOW_NOT_NEGOTIATED, as discussed in part-negotiation.txt.
2481
2482 2007-01-12  Andy Wingo  <wingo@pobox.com>
2483
2484         * docs/design/part-negotiation.txt: Update with more policy.
2485
2486 2007-01-12  Tim-Philipp Müller  <tim at centricular dot net>
2487
2488         * libs/gst/check/gstbufferstraw.h:
2489         * libs/gst/check/gstcheck.h:
2490           Add G_BEGIN_DECLS and G_END_DECLS. Move GST_CHECK_MAIN where it
2491           belongs.
2492
2493 2007-01-12  Tim-Philipp Müller  <tim at centricular dot net>
2494
2495         * tests/check/Makefile.am:
2496         * tests/check/gst/.cvsignore:
2497         * tests/check/gst/gsttagsetter.c: (gst_dummy_enc_add_interfaces),
2498         (gst_dummy_enc_base_init), (gst_dummy_enc_class_init),
2499         (gst_dummy_enc_init), (tag_list_foreach), (tag_setter_list_length),
2500         (GST_START_TEST), (gst_tag_setter_suite):
2501           Add minimal unit test for beforementioned GstTagSetter bug.
2502
2503 2007-01-12  Tim-Philipp Müller  <tim at centricular dot net>
2504
2505         Patch by: René Stadler <mail at renestadler dot de>
2506
2507         * gst/gsttagsetter.c: (gst_tag_setter_merge_tags):
2508           gst_tag_list_merge() returns a new list, so it's not the best idea
2509           to ingore its return value. Effectively meant that tags could only
2510           be merged on a GstTagSetter once using _merge_tags(). Fixes #395554.
2511           Also add function guard to require a non-NULL taglist as input (has
2512           always been so due to gst_tag_list_copy(), just making it explicit).
2513
2514 2007-01-11  Tim-Philipp Müller  <tim at centricular dot net>
2515
2516         * docs/random/draft-missing-plugins.txt:
2517           Some additions: mention new API that is supposed to be used at the
2518           various stages; short blob about new gst-inspect introspection
2519           option; mention potential future problem with plugins that have
2520           a dynamic list of elements (such as ladspa, pitfdll, libvisual).
2521
2522 2007-01-11  Tim-Philipp Müller  <tim at centricular dot net>
2523
2524         * tools/gst-inspect.c:
2525         (print_plugin_automatic_install_info_codecs),
2526         (print_plugin_automatic_install_info_protocols),
2527         (print_plugin_automatic_install_info), (main):
2528         Add --print-plugin-auto-install-info option to gst-inspect, so we can
2529         introspect plugin files and get machine-parsable output that corresponds
2530         to the last bit of the missing-plugin installer string (small gotcha:
2531         doesn't take into account ranks).
2532
2533 2007-01-11  Stefan Kost  <ensonic@users.sf.net>
2534
2535         * configure.ac:
2536         * docs/gst/gstreamer-sections.txt:
2537         * gst/Makefile.am:
2538         * gst/gstregistry.c: (gst_registry_lookup_feature_locked),
2539         (gst_registry_lookup_locked):
2540         * gst/gstregistry.h:
2541         * gst/gstregistrybinary.c: (gst_registry_binary_write),
2542         (gst_registry_binary_initialize_magic),
2543         (gst_registry_binary_save_string),
2544         (gst_registry_binary_save_pad_template),
2545         (gst_registry_binary_save_feature),
2546         (gst_registry_binary_save_plugin),
2547         (gst_registry_binary_write_cache),
2548         (gst_registry_binary_check_magic),
2549         (gst_registry_binary_load_pad_template),
2550         (gst_registry_binary_load_feature),
2551         (gst_registry_binary_load_plugin),
2552         (gst_registry_binary_read_cache):
2553         * gst/gstregistrybinary.h:
2554         * gst/gstregistryxml.c: (load_feature),
2555         (gst_registry_xml_read_cache):
2556           commit binary registry (disabled by default, see #359653)
2557
2558 2007-01-11  Tim-Philipp Müller  <tim at centricular dot net>
2559
2560         * tests/check/gst/gstpad.c: (test_get_allowed_caps):
2561           Fix 'make check' too.
2562
2563 2007-01-10  Andy Wingo  <wingo@pobox.com>
2564
2565         * docs/design/part-negotiation.txt: Fix a typo, add a couple
2566         notes.
2567         
2568         * docs/design/part-negotiation.txt: Update with, um, one way that
2569         pull-mode negotiation might work?
2570
2571         * gst/gstpad.h: 
2572         * gst/gstpad.c (gst_pad_get_allowed_caps): Remove the restriction
2573         that the pad must be a src pad; makes sense to call it the other
2574         way in pull mode, and the logic is symmetric anyway.
2575
2576 2007-01-10  Tim-Philipp Müller  <tim at centricular dot net>
2577
2578         * plugins/elements/gstfilesink.c:
2579           Include <stdio.h> for fseeko().
2580
2581 2007-01-10  Wim Taymans  <wim@fluendo.com>
2582
2583         * gst/gstevent.c:
2584         * gst/gstevent.h:
2585         Reserve LATENCY event.
2586
2587 2007-01-09  Wim Taymans  <wim@fluendo.com>
2588
2589         * docs/design/draft-latency.txt:
2590         Updates.
2591
2592 2007-01-09  Wim Taymans  <wim@fluendo.com>
2593
2594         * docs/design/draft-latency.txt:
2595         Updates.
2596
2597         * gst/gstelement.h:
2598         * gst/gststructure.c:
2599         * gst/gsttrace.c:
2600         Small typo fixes.
2601
2602 2007-01-09  Tim-Philipp Müller  <tim at centricular dot net>
2603
2604         * tests/check/.cvsignore:
2605           Ignore test-registry.xml as well.
2606
2607 2007-01-09  Wim Taymans  <wim@fluendo.com>
2608
2609         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad):
2610         unref data at the end when we are done with the pad.
2611
2612 2007-01-08  Tim-Philipp Müller  <tim at centricular dot net>
2613
2614         * docs/gst/gstreamer-sections.txt:
2615         * gst/gst.c: (load_plugin_func), (scan_and_update_registry),
2616         (init_post), (gst_deinit), (gst_update_registry):
2617         * gst/gst.h:
2618           API: add gst_update_registry() (#391296).
2619
2620         * tests/check/Makefile.am:
2621         * tests/check/gst/gstregistry.c:
2622         * tests/check/gst/.cvsignore:
2623           Simple unit test for the above.
2624
2625 2007-01-08  Tim-Philipp Müller  <tim at centricular dot net>
2626
2627         * gst/gstregistry.c: (gst_registry_scan_path_level):
2628           Plugin extension on HP-UX is .sl, add that to the list of approved
2629           plugin extensions (see #393796).
2630
2631         * tests/check/gst/gstpad.c: (GST_START_TEST):
2632           ulong => gulong. Fixes compilation with HP-UX compiler.
2633
2634         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
2635           Fix compilation if valgrind headers are not available.
2636
2637 2007-01-07  Sébastien Moutte  <sebastien@moutte.net>
2638
2639         * win32/common/libgstreamer.def: 
2640           Add new exported function.
2641         * win32/vs6/libgstbase.dsp: 
2642           Add gstdataqueue.c to the build.
2643         * win32/vs6/libgstcoreelements.dsp:
2644           Add gstmultiqueue.c to the build.
2645         
2646 2007-01-06  Andy Wingo  <wingo@pobox.com>
2647
2648         * libs/gst/base/gstbasesink.h: New GstBaseSinkClass vmethod,
2649         activate_pull(), providing for a way to specialize the process of
2650         spawning a thread to pull on the sink pad. There is a default
2651         implementation.
2652
2653         * libs/gst/base/gstbasesink.c (gst_base_sink_pad_activate_pull)
2654         (gst_base_sink_pad_activate_push, gst_base_sink_pad_activate)
2655         (gst_base_sink_init): Renamed pad activation functions (inserting
2656         "_pad" in their names). Refactor to use the new activate_pull
2657         vmethod, as appropriate.
2658         (gst_base_sink_class_init, gst_base_sink_activate_pull): Set the
2659         default activate_pull function to start a task pulling from the
2660         sink pad, as before.
2661
2662         * gst/gstpad.c (gst_pad_get_range, gst_pad_pull_range): Set caps
2663         on the pads if necessary, as in push()/chain(). Update docs.
2664         Shouldn't affect existing pull() usage as it is currently only
2665         being used on buffers without caps.
2666
2667 2007-01-05  Tim-Philipp Müller  <tim at centricular dot net>
2668
2669         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
2670         (init_pre):
2671           Call g_thread_init() first thing in gst_init() / gst_check_init().
2672           When initialisation is done via gst_init_get_option_group() and
2673           GOption parsing, issue a warning if the GLib thread system has not
2674           been initialised yet by the time gst_init_get_option_group() is
2675           called, as it's quite likely other GLib functions such as
2676           g_option_context_new() have been called already then, and
2677           g_thread_init() must be called before any other GLib function. The
2678           application in question must be fixed in that case, since memory
2679           corruption might happen otherwise.
2680           We issue the warning because even if the GLib folks decide to work
2681           around the problem on their end in future, this is still an issue
2682           with all GLib versions >= 2.10.0, so we should warn until we depend
2683           on a GLib version we know to be safe.
2684           Update documentation as well.
2685           Closes bug #391278.
2686
2687 2007-01-05  Tim-Philipp Müller  <tim at centricular dot net>
2688
2689         * tools/gst-inspect.c: (main):
2690         * tools/gst-launch.c: (main):
2691         * tools/gst-typefind.c: (main):
2692         * tools/gst-xmlinspect.c: (main):
2693           Call g_thread_init() really really early, before any other GLib
2694           function (see #342564 and recent discussion on gtk-devel-list).
2695
2696 2007-01-05  Tim-Philipp Müller  <tim at centricular dot net>
2697
2698         Patch by: Vincent Torri  <vtorri at univ-evry dot fr>
2699
2700         * gst/gst_private.h:
2701         * gst/gstconfig.h.in:
2702         * gst/gstinfo.h:
2703           On win32, all the __declspec stuff for symbol exporting is
2704           apparently only needed with MSVC, but doesn't work with MingW.
2705           Fixes compilation with MingW and #391909.
2706
2707 2007-01-05  Tim-Philipp Müller  <tim at centricular dot net>
2708
2709         * libs/gst/base/gstbasesrc.c: (gst_base_src_activate_push):
2710           Change some GST_ERROR_OBJECT that aren't really errors to
2711           GST_WARNING_OBJECT in order to reduce terminal spam.
2712
2713 2007-01-04  Stefan Kost  <ensonic@users.sf.net>
2714
2715         * tests/check/Makefile.am:
2716           disable test again, as there seem to be still race problems
2717
2718 2007-01-04  Stefan Kost  <ensonic@users.sf.net>
2719
2720         * tests/check/Makefile.am:
2721         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
2722         (GST_START_TEST), (queue_suite):
2723           enable queue test again, add tests for the leaky behaviour
2724
2725 2007-01-02  Tim-Philipp Müller  <tim at centricular dot net>
2726
2727         * configure.ac:
2728         * tests/examples/Makefile.am:
2729           Compile adapter test/example only if the required headers are
2730           available (fixes #391915).
2731
2732 2007-01-01  David Schleef  <ds@schleef.org>
2733
2734         * gst/gstplugin.c:
2735           Restore the previous signal handler for SIGSEGV instead of
2736           setting to default, since we may have stolen it away from
2737           someone.  (i.e., Mono)
2738
2739 2006-12-26  Tim-Philipp Müller  <tim at centricular dot net>
2740
2741         * docs/random/draft-missing-plugins.txt:
2742           Some small additions and clarifications.
2743
2744 2006-12-26  Tim-Philipp Müller  <tim at centricular dot net>
2745
2746         * gst/gstregistryxml.c: (gst_registry_save_escaped):
2747           Make sure we don't pass non-UTF-8 strings to g_markup_escape(),
2748           since that can lead to random memory corruptions and crashes
2749           (may or may not be related to #383244, #386711, and #386711).
2750
2751 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
2752
2753         * tests/check/.cvsignore:
2754         * tests/check/Makefile.am:
2755           sync .cvsignome and CLEANFILES
2756
2757 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
2758
2759         * tests/check/Makefile.am:
2760           fix distcheck
2761
2762 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
2763
2764         * docs/design/part-states.txt:
2765           two tiny additional comments
2766         
2767         * gst/gststructure.c:
2768           doc fixing
2769
2770         * tests/check/Makefile.am:
2771         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
2772         (GST_START_TEST):
2773           disable test for now, unless it gets fixed
2774
2775 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
2776
2777         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
2778         (GST_START_TEST):
2779           fix race in underrun test
2780
2781 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
2782
2783         * tests/check/elements/.cvsignore:
2784           ignore more
2785
2786         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
2787         (GST_START_TEST):
2788           try to narrow test failure
2789
2790 2006-12-21  David Schleef  <ds@schleef.org>
2791
2792         * plugins/elements/gstfakesrc.c:
2793           Use g_random_int_range(), since it produces better random
2794           numbers in a range than almost-correct floating point code.
2795
2796 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
2797
2798         * libs/gst/check/gstcheck.c: (gst_check_setup_src_pad),
2799         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
2800         (gst_check_teardown_sink_pad):
2801           do not automatically (de)activate pads
2802
2803         * tests/check/Makefile.am:
2804         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
2805         (setup_queue), (cleanup_queue), (GST_START_TEST), (queue_suite):
2806           add new, yet simple tests for queue
2807
2808         * tests/check/elements/fakesrc.c: (cleanup_fakesrc):
2809         * tests/check/elements/fdsrc.c: (cleanup_fdsrc):
2810         * tests/check/elements/filesrc.c: (cleanup_filesrc),
2811         (GST_START_TEST):
2812         * tests/check/elements/identity.c: (cleanup_identity):
2813           consistent pad (de)activation
2814
2815 2006-12-20  Tim-Philipp Müller  <tim at centricular dot net>
2816
2817         Patch by: Sebastian Dröge  <slomo ubuntu com>
2818
2819         * libs/gst/base/gstcollectpads.c:
2820           Fix two doc typos (#387866).
2821
2822 2006-12-19  Tim-Philipp Müller  <tim at centricular dot net>
2823
2824         * docs/manual/advanced-dparams.xml:
2825           Fix typo (g_object_control_properties() doesn't exist).
2826
2827 2006-12-19  Edward Hervey  <edward@fluendo.com>
2828
2829         * gst/gstsegment.c: (gst_segment_set_seek):
2830         Fine tune the cases where the segment start/stop values are really
2831         updated.
2832         * tests/check/gst/gstsegment.c: (GST_START_TEST):
2833         Add tests for the return values of gst_segment_set_seek().
2834
2835 2006-12-19  Tim-Philipp Müller  <tim at centricular dot net>
2836
2837         * gst/gst.c:
2838           Docs typo fix.
2839
2840         * plugins/elements/gstqueue.c: (gst_queue_class_init),
2841         (gst_queue_init):
2842           Fix incorrect documentation and flesh it out a bit more.
2843           Set default values for the max properties on the GParamSpec as well,
2844           so it shows up correctly in gst-inspect.
2845
2846 2006-12-18  Stefan Kost  <ensonic@users.sf.net>
2847
2848         * plugins/elements/gstqueue.c: (queue_leaky_get_type):
2849           Correct docs of queue, add more detail and crosslink it more.
2850
2851 2006-12-16  Tim-Philipp Müller  <tim at centricular dot net>
2852
2853         * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
2854           Print additional debug info when the stream isn't perfectly
2855           timestamped; don't try to use invalid durations.
2856
2857 2006-12-16  Tim-Philipp Müller  <tim at centricular dot net>
2858
2859         * docs/design/Makefile.am:
2860           Dist new design docs.
2861
2862 2006-12-16  Wim Taymans  <wim@fluendo.com>
2863
2864         Patch by: Sjoerd Simons <sjoerd at luon dot net>
2865
2866         * libs/gst/base/gstcollectpads.c: (ref_data), (unref_data),
2867         (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
2868         (gst_collect_pads_stop), (gst_collect_pads_event),
2869         (gst_collect_pads_chain):
2870         * libs/gst/base/gstcollectpads.h:
2871         Add refcounting to the collectpads data so we can track when it's safe
2872         to free the data. Fixes #383382.
2873
2874 2006-12-15  Wim Taymans  <wim@fluendo.com>
2875
2876         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
2877         (gst_collect_pads_remove_pad):
2878         Automatically activate/deactivate pads when they are added to a
2879         started/stoped collectpads.
2880
2881 2006-12-15  Wim Taymans  <wim@fluendo.com>
2882
2883         * gst/gstelement.c: (gst_element_add_pad):
2884         * gst/gstghostpad.c: (gst_ghost_pad_new_full):
2885         * gst/gstpad.c: (gst_pad_init):
2886         Set pads to FLUSHING when they are created. Check, warn and fix when a
2887         demuxer adds an inactive pad to itself when running. Fixes #339326.
2888
2889 2006-12-15  Wim Taymans  <wim@fluendo.com>
2890
2891         * gst/gstelement.c: (gst_element_class_init),
2892         (gst_element_default_send_event), (gst_element_send_event),
2893         (gst_element_default_query), (gst_element_query):
2894         Expose default element send_event and query handling as vmethods that
2895         subclasses can chain up to.
2896
2897 2006-12-15  Wim Taymans  <wim@fluendo.com>
2898
2899         * gst/gstelement.c: (gst_element_set_state_func):
2900         Small documentation fixes.
2901
2902 2006-12-15  Wim Taymans  <wim@fluendo.com>
2903
2904         * docs/design/draft-latency.txt:
2905         Checked in draft for handling latency in pipelines.
2906
2907 2006-12-15  Thomas Vander Stichele  <thomas at apestaart dot org>
2908
2909         * Makefile.am:
2910         * gstreamer.doap:
2911         * gstreamer.spec.in:
2912           adding .doap file
2913
2914 2006-12-14  Tim-Philipp Müller  <tim at centricular dot net>
2915
2916         * gst/gst.c: (init_pre), (init_post):
2917           init_pre() and init_post() might be called via our GOptionGroup or
2918           from gst_init(), and we should skip both of them if we've already
2919           been initialised, otherwise we will init some things twice or add
2920           two default log functions.
2921
2922 2006-12-13  Edward Hervey  <edward@fluendo.com>
2923
2924         * docs/manual/basics-bus.xml:
2925         No, gst_main_loop does not exist. Its g_main_loop.
2926         Discovered by somebody who abused the copy-paste technique of coding :)
2927
2928 2006-12-13  Tim-Philipp Müller  <tim at centricular dot net>
2929
2930         * gst/gstghostpad.c:
2931           Log ghostpad debug stuff to the GST_PADS category as well rather
2932           than just to the default category.
2933
2934 2006-12-12  Tim-Philipp Müller  <tim at centricular dot net>
2935
2936         * configure.ac:
2937         * gst/gst.c: (init_pre):
2938           Add some basic system details such as OS and architecture
2939           to the debug output if possible, courtesy of uname().
2940
2941 2006-12-11  Tim-Philipp Müller  <tim at centricular dot net>
2942
2943         * docs/gst/running.xml:
2944           Document GST_REGISTRY_FORK and GST_DEBUG_NO_COLOR
2945           environment variables.
2946
2947 2006-12-09  Jan Schmidt  <thaytan@mad.scientist.com>
2948
2949         * tests/check/gst/gstbin.c: (GST_START_TEST):
2950         It is acceptable to have a refcount of 2 or 3 at this point in the
2951         test, because the pipeline might be just posting its state_change
2952         message. The next line then waits for that message to appear using
2953         bus_poll, so that should be fine too.
2954
2955 2006-12-09  Jan Schmidt  <thaytan@mad.scientist.com>
2956
2957         * gst/gst.c: (ensure_current_registry_forking):
2958         Ignore EINTR when reading from the child registry pipe.
2959         Explicitly ignore the return value from close, since it makes no
2960         difference.
2961
2962         * gst/gstminiobject.c: (gst_mini_object_ref),
2963         (gst_mini_object_unref):
2964         When debugging refcounts, check GST_IS_MINI_OBJECT and warn.
2965
2966         * gst/gstregistry.c: (_priv_gst_registry_remove_cache_plugins):
2967         When removing cached plugins, remove their features too, so they're
2968         not visible after they've disappeared.
2969
2970         * gst/gstutils.c: (prepare_link_maybe_ghosting):
2971         In the unlikely case that we are linking pads with no parents, don't
2972         crash trying to get the non-existent parent bin.
2973
2974         * gst/parse/grammar.y:
2975         Output debug in the PIPELINE category
2976
2977 2005-03-08  Wim Taymans  <wim@fluendo.com>
2978
2979         Patch by: René Stadler <mail at renestadler dot de>
2980
2981         * gst/gstclock.c: (gst_clock_new_periodic_id):
2982         Reject invalid clock times for interval of periodic ids.
2983         Fixes ##383506.
2984
2985 2006-12-07  Jan Schmidt  <thaytan@mad.scientist.com>
2986
2987         * gst/gstelementfactory.c: (gst_element_factory_create):
2988         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
2989         * gst/gsttypefindfactory.c: (gst_type_find_factory_call_function):
2990         * tools/gst-inspect.c: (print_element_info):
2991         Fix refcounting of gst_plugin_feature_load to match the docs. 
2992         Fixes: #380129
2993
2994 2006-12-07  Wim Taymans  <wim@fluendo.com>
2995
2996         * libs/gst/base/gstbasesink.c: (gst_base_sink_event),
2997         (gst_base_sink_get_position):
2998         Improve debugging of events.
2999
3000 2006-12-07  Wim Taymans  <wim@fluendo.com>
3001
3002         Patch by: René Stadler <mail at renestadler dot de>
3003
3004         * gst/gstclock.c: (gst_clock_id_wait):
3005         Make period ids add the interval to the origial requested time instead
3006         of the possibly updated time which can be wrong when there are multiple
3007         waiters for the same id. Fixes #382592.
3008
3009         * gst/gstsystemclock.c: (gst_system_clock_async_thread),
3010         (gst_system_clock_id_wait_jitter_unlocked),
3011         (gst_system_clock_id_wait_jitter):
3012         Fix restart in the async notify thread when an async entry is added to
3013         the front of the list. Fixes #381492. 
3014
3015         * tests/check/gst/gstsystemclock.c: (store_callback),
3016         (notify_callback), (GST_START_TEST), (gst_systemclock_suite):
3017         Added test for multiple async waits.
3018         Added test for async wait order.
3019
3020 2006-12-07  Wim Taymans  <wim@fluendo.com>
3021
3022         * gst/gstbin.c: (gst_bin_query):
3023         Add some more docs about the POSITION query.
3024
3025 2006-12-07  Jan Schmidt  <thaytan@mad.scientist.com>
3026
3027         * configure.ac:
3028         Bump version nano - back to CVS.
3029
3030 === release 0.10.11 ===
3031
3032 2006-12-06  Jan Schmidt <thaytan@mad.scientist.com>
3033
3034         * configure.ac:
3035           releasing 0.10.11, "Love never runs on time"
3036
3037 2006-12-01  Jan Schmidt  <thaytan@mad.scientist.com>
3038
3039         * win32/common/libgstbase.def:
3040         * win32/common/libgstreamer.def:
3041         * win32/vs8/libgstbase.vcproj:
3042         * win32/vs8/libgstcoreelements.vcproj:
3043         * win32/vs8/libgstreamer.vcproj:
3044         Fix compilation on win32 under VS8
3045         Patch by: Sergey Scobich <sergey dot scobich at gmail dot com>
3046         Partially fixes #381175
3047
3048 2006-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
3049
3050         * gst/gstvalue.c: (gst_value_compare_fraction):
3051         If someone is foolish enough to compare 2 fractions with denominator =
3052         0, return UNORDERED rather than aborting.
3053
3054 2006-11-28  Edward Hervey  <edward@fluendo.com>
3055
3056         * libs/gst/base/Makefile.am:
3057         * libs/gst/base/gstdataqueue.c: (gst_data_queue_get_type),
3058         (gst_data_queue_base_init), (gst_data_queue_class_init),
3059         (gst_data_queue_init), (gst_data_queue_new),
3060         (gst_data_queue_cleanup), (gst_data_queue_finalize),
3061         (gst_data_queue_locked_flush), (gst_data_queue_locked_is_empty),
3062         (gst_data_queue_locked_is_full), (gst_data_queue_flush),
3063         (gst_data_queue_is_empty), (gst_data_queue_is_full),
3064         (gst_data_queue_set_flushing), (gst_data_queue_push),
3065         (gst_data_queue_pop), (gst_data_queue_drop_head),
3066         (gst_data_queue_set_property), (gst_data_queue_get_property):
3067         * libs/gst/base/gstdataqueue.h:
3068         New GstDataQueue object for threadsafe queueing. Most useful for
3069         elements that need some queueing functionnality.
3070         * docs/libs/gstreamer-libs-docs.sgml:
3071         * docs/libs/gstreamer-libs-sections.txt:
3072         Insert documentation for GstDataQueue
3073         * plugins/elements/Makefile.am:
3074         * plugins/elements/gstelements.c:
3075         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_base_init),
3076         (gst_multi_queue_class_init), (gst_multi_queue_init),
3077         (gst_multi_queue_finalize), (gst_multi_queue_set_property),
3078         (gst_multi_queue_get_property), (gst_multi_queue_request_new_pad),
3079         (gst_multi_queue_release_pad), (gst_single_queue_push_one),
3080         (gst_multi_queue_item_destroy), (gst_multi_queue_item_new),
3081         (gst_multi_queue_loop), (gst_multi_queue_chain),
3082         (gst_multi_queue_sink_activate_push), (gst_multi_queue_sink_event),
3083         (gst_multi_queue_getcaps), (gst_multi_queue_bufferalloc),
3084         (gst_multi_queue_src_activate_push), (gst_multi_queue_acceptcaps),
3085         (gst_multi_queue_src_event), (gst_multi_queue_src_query),
3086         (wake_up_next_non_linked), (compute_next_non_linked),
3087         (single_queue_overrun_cb), (single_queue_underrun_cb),
3088         (single_queue_check_full), (gst_single_queue_new):
3089         * plugins/elements/gstmultiqueue.h:
3090         New multiqueue element, using GstDataQueue. Used for queuing multiple
3091         streams.
3092         Closes #344639 and #347785
3093
3094 2006-11-22  Stefan Kost  <ensonic@users.sf.net>
3095
3096         * docs/pwg/advanced-types.xml:
3097           add more missing type details
3098
3099         * tools/gst-run.c: (main):
3100           remove unused variable
3101
3102 2006-11-21  Stefan Kost  <ensonic@users.sf.net>
3103
3104         * docs/libs/Makefile.am:
3105         * docs/libs/gstreamer-libs.types:
3106           add types of base classes to enable gobject specific stuff in the docs
3107
3108         * docs/random/ensonic/embedded.txt:
3109           more ideas about isolating platform specific things
3110
3111 2006-11-20  Wim Taymans  <wim@fluendo.com>
3112
3113         Patch by: Sebastian Dröge <slomo at ubuntu dot com>
3114
3115         * libs/gst/check/gstcheck.h:
3116         Fix compilation and running against 0.9.4. Fixes #377332.
3117
3118 2006-11-20  Wim Taymans  <wim@fluendo.com>
3119
3120         * gst/gstsegment.c: (gst_segment_set_seek),
3121         (gst_segment_set_newsegment_full), (gst_segment_to_stream_time),
3122         (gst_segment_to_running_time):
3123         Fix boundary checking in to_running_time() and to_stream_time().
3124         Fixes #377183.
3125
3126         * tests/check/gst/gstsegment.c: (GST_START_TEST):
3127         stream and running time can now be calculated for the complete
3128         clipped segment.
3129
3130 2006-11-15  Tim-Philipp Müller  <tim at centricular dot net>
3131
3132         * gst/gstpad.c: (gst_pad_push_event):
3133           Can't access event structure after giving away ownership of
3134           the event.
3135
3136 2006-11-15  Stefan Kost  <ensonic@users.sf.net>
3137
3138         * docs/random/ensonic/embedded.txt:
3139         * docs/random/ensonic/profiling.txt:
3140         * docs/random/ensonic/receipies.txt:
3141           more thinking
3142
3143 2006-11-13  Wim Taymans  <wim@fluendo.com>
3144
3145         Patch by: Mark Nauwelaerts <manauw at skynet dot be>
3146
3147         * gst/gstpad.c:
3148         Fix documentation for gst_pad_dispatcher. Fixes #374475.
3149
3150 2006-11-13  Wim Taymans  <wim@fluendo.com>
3151
3152         Patch by: Jonathan Matthew <jonathan at kaolin dot wh9 dot net>
3153
3154         * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length):
3155         Store new length in segment duration so we don't keep on calling the
3156         potentially expensize get_size() call. Fixes #370865.
3157
3158 2006-11-10  Tim-Philipp Müller  <tim at centricular dot net>
3159
3160         Patch by: Sergey Scobich  <sergey.scobich at gmail com>
3161
3162         * win32/common/libgstreamer.def:
3163           Add two missing symbols (#366492).
3164
3165 2006-11-10  Jan Schmidt  <thaytan@mad.scientist.com>
3166
3167         * libs/gst/base/gstadapter.c: (gst_adapter_flush),
3168         (gst_adapter_take_buffer):
3169         Fix format string to use all its arguments.
3170         Remove useless >= check on a guint
3171
3172 2006-11-09  Jan Schmidt  <thaytan@mad.scientist.com>
3173
3174         * tests/examples/adapter/.cvsignore:
3175         Ignore build file as commanded by the build-bot
3176
3177 2006-11-09  Jan Schmidt  <thaytan@mad.scientist.com>
3178
3179         * tests/examples/adapter/Makefile.am:
3180         * tests/examples/adapter/adapter_test.c: (run_test_take),
3181         (run_test_take_buffer), (run_tests), (main):
3182
3183         Add new files from the previous commit
3184
3185 2006-11-09  Jan Schmidt  <thaytan@mad.scientist.com>
3186
3187         * Makefile.am:
3188         * configure.ac:
3189         * libs/gst/base/gstadapter.c: (gst_adapter_clear),
3190         (gst_adapter_push), (gst_adapter_peek_into), (gst_adapter_peek),
3191         (gst_adapter_flush), (gst_adapter_take), (gst_adapter_take_buffer):
3192         * libs/gst/base/gstadapter.h:
3193         * tests/check/libs/adapter.c: (create_and_fill_adapter),
3194         (GST_START_TEST), (gst_adapter_suite):
3195         * tests/examples/Makefile.am:
3196         Do some optimisation work in GstAdapter to avoid copies in more cases.
3197         It could still do slightly better by merging buffers when
3198         gst_buffer_is_span_fast is true, but is already faster. 
3199
3200         Also, avoid traversing a single-linked list to append each incoming 
3201         buffer inside the adapter.
3202
3203         Add simple test app that times the adapter behaviour in different
3204         situations, and extend the unit test to check that bytes enter and
3205         exit the adapter in their original order.
3206
3207 2006-11-08  Tim-Philipp Müller  <tim at centricular dot net>
3208
3209         * docs/random/draft-missing-plugins.txt:
3210           Update: use element message instead of adding a new message
3211           type to the core; don't provide GStreamer API to initiate the
3212           plugin download, just provide API to compose the strings needed
3213           and let an external libgimmestuff handle the rest.
3214
3215 2006-11-08  Jan Schmidt  <thaytan@mad.scientist.com>
3216
3217         * tools/gst-inspect.c: (print_element_properties_info):
3218         Print a string instead of 'unknown type' for GValueArray properties
3219
3220 2006-11-08  Christian F.K. Schaller  <christian@fluendo.com>
3221
3222         * docs/random/draft-missing-plugins.txt:
3223         More small fixes.
3224
3225 2006-11-07  Tim-Philipp Müller  <tim at centricular dot net>
3226
3227         * tests/examples/typefind/typefind.c: (type_found), (main):
3228           Make typefind element example work again (#371894); add a
3229           license header.
3230
3231 2006-11-07  Tim-Philipp Müller  <tim at centricular dot net>
3232
3233         * docs/random/draft-missing-plugins.txt:
3234           Commit initial draft about how to deal with missing plugins,
3235           needs work (API too).
3236
3237 2006-11-07  Stefan Kost  <ensonic@users.sf.net>
3238
3239         * docs/pwg/advanced-types.xml:
3240           documents the new caps elements (see #363118)
3241
3242 2006-11-06  Tim-Philipp Müller  <tim at centricular dot net>
3243
3244         * gst/gstplugin.c: (gst_plugin_load_file):
3245         * plugins/elements/gstfilesrc.c: (gst_mmap_buffer_finalize),
3246         (gst_file_src_map_region), (gst_file_src_start):
3247         * plugins/indexers/gstfileindex.c: (gst_file_index_load),
3248         (gst_file_index_commit):
3249           Use g_strerror() instead of strerror() - we want UTF-8.
3250
3251 2006-11-06  Tim-Philipp Müller  <tim at centricular dot net>
3252
3253         Patch by: Peter Kjellerstedt <pkj at axis com>
3254
3255         * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
3256           Another printf fix (#371493).
3257
3258 2006-11-06  Stefan Kost  <ensonic@users.sf.net>
3259
3260         * tests/check/gst/gsttag.c:
3261           relicence (okay with author=company)
3262
3263 2006-11-06  Stefan Kost  <ensonic@users.sf.net>
3264
3265         * gst/gstpad.c: (gst_pad_event_default_dispatch),
3266         (gst_pad_push_event):
3267           Enhance debug and improve docs
3268         
3269         * gst/gsturi.c:
3270           Fix docs
3271
3272 2006-11-06  Stefan Kost  <ensonic@users.sf.net>
3273
3274         * docs/random/ensonic/distributed.txt:
3275         * docs/random/ensonic/profiling.txt:
3276           more ideas
3277
3278 2006-11-06  Stefan Kost  <ensonic@users.sf.net>
3279
3280         * docs/gst/gstreamer-sections.txt:
3281           add new API and fix the build
3282           
3283         * gst/gstbin.c: (gst_bin_recalc_state):
3284         * gst/gstelement.c: (gst_element_message_full),
3285         (gst_element_get_state_func), (gst_element_set_state_func):
3286           use new API and improve logging
3287         
3288         * gst/gstutils.c: (gst_element_state_change_return_get_name):
3289         * gst/gstutils.h:
3290           API: add function to get StateChangereturn names to improve logs 
3291
3292 2006-11-04  Thomas Vander Stichele  <thomas at apestaart dot org>
3293
3294         * plugins/elements/gstfilesrc.c: (gst_file_src_start):
3295           I'm considering shooting the next person to put strerror stuff
3296           in the translateable part of the message.
3297
3298 2006-11-03  Wim Taymans  <wim@fluendo.com>
3299
3300         * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
3301         Get the type and printf conversion specifiers right.
3302
3303 2006-11-03  Wim Taymans  <wim@fluendo.com>
3304
3305         Patch by: Mark Nauwelaerts <manauw at skynet dot be>
3306
3307         * gst/gstpad.c: (gst_pad_init), (pre_activate),
3308         (gst_pad_set_blocked_async), (gst_pad_acceptcaps_default),
3309         (gst_pad_accept_caps), (handle_pad_block), (gst_pad_push_event):
3310         Some small cleanups. Improve debugging.
3311         * gst/gstpad.h:
3312         Signal all waiting threads with a broadcast instead of just one.
3313         Fixes #369942.
3314
3315 2006-11-03  Wim Taymans  <wim@fluendo.com>
3316
3317         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd),
3318         (gst_fd_src_create):
3319         Add some debugging. 
3320         Only update fd when it's different from the old.
3321
3322 2006-11-02  Tim-Philipp Müller  <tim at centricular dot net>
3323
3324         * plugins/elements/gstfilesrc.c: (gst_file_src_create_mmap):
3325           Printf fixes for PPC/OSX, take two (#369366).
3326
3327 2006-11-02  Tim-Philipp Müller  <tim at centricular dot net>
3328
3329         Based on patch by: Jan David Mol  <j.j.d.mol at tudelft nl>
3330
3331         * plugins/elements/gstfilesink.c: (gst_file_sink_class_init):
3332         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
3333         (gst_file_src_map_small_region), (gst_file_src_create_mmap):
3334           Printf fixes for gsize parameters on PPC/OSX (#369366). Also,
3335           don't cast to long long for portability reasons, but use
3336           GLib's types instead.
3337
3338 2006-10-30  Michael Smith  <msmith@fluendo.com>
3339
3340         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
3341           Get the arguments to lseek() the right way around.
3342           Fixes 367677.
3343
3344 2006-10-30  Wim Taymans  <wim@fluendo.com>
3345
3346         Patch by: gorshkov <gorshkov at oghma dot on dot ca>
3347
3348         * gst/gstinfo.h:
3349         _declspec should be __declspec (two underscores, not one). Fixes 366572.
3350
3351 2006-10-28  Tim-Philipp Müller  <tim at centricular dot net>
3352
3353         Patch by: Kjartan Maraas  <kmaraas at gnome org>
3354
3355         * docs/design/part-MT-refcounting.txt:
3356         * docs/random/wtay/capsnego2-docs:
3357         * gst/gstclock.c:
3358         * gst/gstxml.c:
3359           Typo fixes (#366212).
3360
3361 2006-10-28  Wim Taymans  <wim@fluendo.com>
3362
3363         Patch by: Sergey Scobich <sergey dot scobich at gmail dot com>
3364
3365         * gst/gst.c:
3366         * win32/common/libgstbase.def:
3367         * win32/common/libgstreamer.def:
3368         * win32/vs8/libgstbase.vcproj:
3369         * win32/vs8/libgstcontroller.vcproj:
3370         Add needed entries in .def files.
3371         Use HAVE_UNISTD_H.
3372         Rearrange def files in vs8 solutions. Fixes #366286.
3373
3374 2006-10-28  Tim-Philipp Müller  <tim at centricular dot net>
3375
3376         * win32/common/gstconfig.h:
3377           Add GST_SEGMENT_FORMAT and GST_USING_PRINTF_EXTENSION to the
3378           hand-made win32 gstconfig.h. Fixes #366321.
3379
3380 2006-10-27  Wim Taymans  <wim@fluendo.com>
3381
3382         * gst/gstghostpad.c: (gst_proxy_pad_do_acceptcaps),
3383         (gst_ghost_pad_new_full):
3384         Make acceptcaps return TRUE when we don't have a target, just like
3385         setcaps does.
3386
3387 2006-10-27  Wim Taymans  <wim@fluendo.com>
3388
3389         * libs/gst/base/gstbasetransform.c: (gst_base_transform_chain):
3390         Revert previous commit, 0 sized buffers are allowed. Reopens #363095.
3391
3392 2006-10-26  Tim-Philipp Müller  <tim at centricular dot net>
3393
3394         * gst/gststructure.c: (gst_structure_id_set_value):
3395           If someone tries to set a non-UTF8 string field on a structure,
3396           don't just print a warning, but also ignore the request and do
3397           not change/add that field to the structure.
3398
3399         * tests/check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
3400           Test for the above.
3401
3402 2006-10-25  David Schleef  <ds@schleef.org>
3403
3404         * gst/gstinfo.c:
3405           g_hash_table_insert() needs a cast to a non-const pointer duh.
3406
3407 2006-10-25  David Schleef  <ds@schleef.org>
3408
3409         * gst/gstinfo.c:
3410         * gst/gstinfo.h:
3411           Change name parameter of _gst_debug_register_funcptr to const
3412           to reflect the constness of its use in the function as well
3413           as to quiet a gcc warning.
3414
3415 2006-10-25  Edward Hervey  <edward@fluendo.com>
3416
3417         * libs/gst/base/gstbasetransform.c: (gst_base_transform_chain):
3418         Don't push the buffer if it's empty.
3419         Closes #363095
3420
3421 2006-10-24  Wim Taymans  <wim@fluendo.com>
3422
3423         * gst/gstevent.h:
3424         Add small comment.
3425
3426         * libs/gst/base/gstbasetransform.c:
3427         (gst_base_transform_sink_eventfunc):
3428         Debug segment values *after* updating them as this is more
3429         interesting.
3430
3431 2006-10-23  Wim Taymans  <wim@fluendo.com>
3432
3433         * docs/design/part-events.txt:
3434         Update some docs.
3435
3436         * docs/design/part-block.txt:
3437         * gst/gstpad.c: (gst_pad_is_blocking), (handle_pad_block),
3438         (gst_pad_push_event):
3439         Revert BLOCKING patch, it tries to be smart without really having a
3440         clear idea what or how. So, now we discard all FLUSHING events again on
3441         a blocking pad. Should fix gnonlin again.
3442
3443 2006-10-23  Wim Taymans  <wim@fluendo.com>
3444
3445         Patch by: Sergey Scobich <sergey dot scobich at gmail dot com>
3446
3447         * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
3448         (gst_base_src_start), (gst_base_src_activate_push):
3449         Make sure size is always initialized. Fixes #364388.
3450
3451 2006-10-20  Stefan Kost  <ensonic@users.sf.net>
3452
3453         * docs/random/ensonic/distributed.txt:
3454           add some ideas about doing distributed processing
3455
3456         * docs/random/ensonic/profiling.txt:
3457           get_rusage look promising
3458
3459 2006-10-18  Stefan Kost  <ensonic@users.sf.net>
3460
3461         * docs/manual/basics-helloworld.xml:
3462           Add a cast in example to fix compile warning
3463
3464 2006-10-18  Wim Taymans  <wim@fluendo.com>
3465
3466         * gst/gstsegment.c: (gst_segment_set_last_stop),
3467         (gst_segment_set_seek), (gst_segment_set_newsegment_full):
3468         Relax arg checking again, -1 is allowed.
3469
3470 2006-10-18  Wim Taymans  <wim@fluendo.com>
3471
3472         * gst/gstsegment.c: (gst_segment_set_last_stop),
3473         (gst_segment_set_seek), (gst_segment_set_newsegment_full):
3474         _set_last_stop() must be with a value != -1
3475         A _TYPE_SET to -1 means seek to 0.
3476         Calc last_stop correctly for negative rates.
3477         Make sure we work with positive durations when updating a segment.
3478
3479 2006-10-18  Wim Taymans  <wim@fluendo.com>
3480
3481         * docs/design/part-live-source.txt:
3482         * gst/gstclock.h:
3483         Small docs fixes.
3484
3485 2006-10-18  Tim-Philipp Müller  <tim at centricular dot net>
3486
3487         * gst/gstbuffer.h:
3488           Add an explicit cast to GstBuffer** to keep old code that added an
3489           explicit cast to GstMiniObject** for gst_mini_object_replace()
3490           compiling without warning.
3491
3492 2006-10-18  Stefan Kost  <ensonic@users.sf.net>
3493
3494         * gst/gstvalue.c: (gst_value_set_date), (gst_date_copy):
3495           check for validity of dates
3496
3497 2006-10-17  Tim-Philipp Müller  <tim at centricular dot net>
3498
3499         * docs/gst/gstreamer-sections.txt:
3500           Forgot this one, makes gtk-doc shut up.
3501
3502 2006-10-17  Tim-Philipp Müller  <tim at centricular dot net>
3503
3504         Patch by: Peter Kjellerstedt <pkj at axis com>
3505
3506         * gst/gstobject.h:
3507           Don't define xmlNodePtr to gpointer if the core was built with
3508           --disable-loadsave and --disable-registry, this will break
3509           applications that want to use libxml2 but are buildling against a
3510           core that doesn't use libxml2. Use an intermediary type GstXmlNodePtr
3511           instead so we don't have to mess with the libxml2 namespace
3512           (#361675).
3513
3514 2006-10-17  Tim-Philipp Müller  <tim at centricular dot net>
3515
3516         * gst/gstbuffer.h:
3517           Fix gst_buffer_replace() macro to avoid gst_mini_object_replace()-related
3518           type-punned pointer warnings.
3519
3520 2006-10-16  Tim-Philipp Müller  <tim at centricular dot net>
3521
3522         * gst/gstelement.h:
3523           Add casts to the correct return type to state <=> state transition
3524           macros.
3525
3526 2006-10-16  Stefan Kost  <ensonic@users.sf.net>
3527
3528         * docs/design/part-live-source.txt:
3529           describe howto handle latency
3530         
3531         * docs/random/ensonic/profiling.txt:
3532           more ideas
3533
3534         * tools/gst-plot-timeline.py:
3535           fix log parsing for solaris, remove unused function
3536
3537 2006-10-16  Wim Taymans  <wim@fluendo.com>
3538
3539         * docs/design/part-trickmodes.txt:
3540         * gst/gstevent.c:
3541         Update some docs regarding reverse playback.
3542
3543 2006-10-15  Tim-Philipp Müller  <tim at centricular dot net>
3544
3545         Patch by: Marcus Granado  <mrc dot gran at gmail com>
3546
3547         * win32/vs8/grammar.vcproj:
3548           Error out with a warning if glib-genmarshal.exe is not in path,
3549           instead of creating bogus gstmarshal.[ch] files. Fixes #361720.
3550
3551 2006-10-13  Wim Taymans  <wim@fluendo.com>
3552
3553         * gst/gstsegment.c: (gst_segment_set_seek):
3554         When seeking to stop -1, set last_stop (current position) to the
3555         duration of the segment.
3556
3557 2006-10-13  Wim Taymans  <wim@fluendo.com>
3558
3559         * gst/gstelement.h:
3560         Clarify _NO_PREROLL a bit more.
3561
3562         * gst/gstevent.c:
3563         Fix docs.
3564
3565         * gst/gstpad.c: (gst_pad_link_check_hierarchy),
3566         (gst_pad_get_caps_unlocked), (gst_pad_save_thyself),
3567         (handle_pad_block), (gst_pad_push_event), (gst_pad_send_event):
3568         Patch by: Yves Lefebvre <ivanohe at abacom dot com> Fix possible deadlock
3569         due to wrong locking order. Fixes #361769.
3570         Remove some redundant/misplaced checks in pad_block.
3571
3572         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
3573         For negative rates, count backwards from the duration.
3574
3575 2006-10-13  Tim-Philipp Müller  <tim at centricular dot net>
3576
3577         * gst/gsterror.c: (_gst_library_errors_init):
3578           Fix error message for GST_LIBRARY_ERROR_SETTINGS (feel free to come
3579           up with something better).
3580
3581 2006-10-12  Tim-Philipp Müller  <tim at centricular dot net>
3582
3583         * win32/vs6/libgstreamer.dsp:
3584         * win32/vs7/libgstreamer.vcproj:
3585         * win32/vs8/libgstreamer.vcproj:
3586           Don't reference glib-compat.c which is currently not used and not
3587           disted; add gstquark.c which was recently added. Fixes #361730.
3588
3589 2006-10-12  Tim-Philipp Müller  <tim at centricular dot net>
3590
3591         * win32/common/libgstbase.def:
3592         * win32/common/libgstcontroller.def:
3593         * win32/common/libgstreamer.def:
3594           Add gst_caps_merge() and a bunch of other recently-added functions.
3595           Fixes #361732.
3596
3597 2006-10-11  Wim Taymans  <wim@fluendo.com>
3598
3599         * docs/plugins/gstreamer-plugins.args:
3600         * docs/plugins/inspect/plugin-coreelements.xml:
3601         * docs/plugins/inspect/plugin-coreindexers.xml:
3602         Update element args.
3603
3604         * gst/gstsystemclock.c:
3605         Small comment update.
3606
3607         * plugins/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
3608         (gst_tee_request_new_pad), (gst_tee_release_pad),
3609         (gst_tee_buffer_alloc), (gst_tee_sink_activate_push),
3610         (gst_tee_sink_activate_pull):
3611         * plugins/elements/gsttee.h:
3612         Some tee loving:
3613         Add default property defines.
3614         Implement release pad function.
3615         Give properties better blubs etc.
3616         Activate pads before adding them to a running tee.
3617         Do simple buffer_alloc on the first requested pad.
3618         Post error when activation fails.
3619
3620 2006-10-11  Tim-Philipp Müller  <tim at centricular dot net>
3621
3622         * gst/gst.c: (ensure_current_registry_forking):
3623           Check return value of write() to make compiler happy.
3624
3625 2006-10-11  Wim Taymans  <wim@fluendo.com>
3626
3627         Patch by: Sjoerd Simons <sjoerd at luon dot net>
3628
3629         * plugins/elements/gstqueue.c: (gst_queue_chain):
3630         Recheck queue filledness after signalling the overrun when we're about
3631         to leak downstream because we released the lock when emitting the signal
3632         and the queue could be empty again. Fixes #352345.
3633
3634 2006-10-11  Tim-Philipp Müller  <tim at centricular dot net>
3635
3636         * libs/gst/controller/gstcontroller.c: (gst_controller_new_list):
3637           Fix refcounting here too, just like we did for _new_valist() a few
3638           days ago (#357180) (thanks to René Stadler). Also remove all those
3639           'Since: 0.9' from the gtk-doc blobs.
3640
3641         * tests/check/libs/controller.c: (controller_refcount_new_list),
3642         (gst_controller_suite):
3643           Unit test for the above.
3644
3645 2006-10-10  Wim Taymans  <wim@fluendo.com>
3646
3647         Patch by: Sebastien Cote <sebas642 at yahoo dot ca>
3648
3649         * gst/gstpad.c: (gst_pad_get_caps_unlocked),
3650         (gst_pad_save_thyself):
3651         Update some docs.
3652         Write pad direction in XML output. Fixes #345496.
3653
3654 2006-10-10  Wim Taymans  <wim@fluendo.com>
3655
3656         Patch by: René Stadler <mail at renestadler dot de>
3657
3658         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
3659         (gst_controller_new_list), (_gst_controller_dispose),
3660         (_gst_controller_finalize), (_gst_controller_class_init):
3661         Take ref to controlled object so that it cannot disappear. 
3662         Fixes #357432.
3663
3664 2006-10-10  Wim Taymans  <wim@fluendo.com>
3665
3666         * libs/gst/check/gstcheck.c: (gst_check_setup_src_pad),
3667         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
3668         (gst_check_teardown_sink_pad):
3669         Activate/deactivate pads in setup/teardown respectively.
3670
3671 2006-10-10  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
3672
3673         Patch by: Josep Torre Valles <josep@fluendo.com>
3674
3675         * gst/Makefile.am:
3676         Cast values when making gstenumtypes.h.  This pacifies Forte
3677         so it doesn't warn about the ~0 as GST_MESSAGE_ANY not fitting
3678         in the enumeration.
3679
3680 2006-10-09  Wim Taymans  <wim@fluendo.com>
3681
3682         * gst/gstevent.c: (gst_event_new_seek), (gst_event_parse_seek):
3683         Rename some more @cur to @start to fix docs. 
3684
3685         * gst/gstsegment.c: (gst_segment_set_seek):
3686         Fix typo.
3687         time and start must always stay in sync as defined in design doc.
3688
3689         * gst/gsttaglist.c: (gst_tag_list_is_empty):
3690         Rename param to fix docs.
3691
3692         * tests/check/gst/gstsegment.c: (GST_START_TEST):
3693         Check that start and time are in sync.
3694
3695         * tests/check/pipelines/parse-launch.c:
3696         (gst_parse_test_element_change_state):
3697         Activate pad before adding to the element.
3698
3699 2006-10-09  Wim Taymans  <wim@fluendo.com>
3700
3701         * docs/design/part-qos.txt:
3702         Fix typo.
3703
3704         * gst/gstevent.c:
3705         * gst/gstevent.h:
3706         Update seek event docs regarding negative rates.
3707         Rename @cur to @start. 
3708
3709         * gst/gstsegment.c: (gst_segment_set_seek):
3710         * gst/gstsegment.h:
3711         Update set_seek docs regarding negative rates.
3712         Correctly update last_stop to @stop when dealing with negative
3713         rates.
3714         Rename @cur to @start. 
3715
3716         * tests/check/gst/gstpad.c: (GST_START_TEST):
3717         Activate pads before trying to use them.
3718
3719         * tests/check/gst/gstsegment.c: (GST_START_TEST),
3720         (gst_segment_suite):
3721         Add simple check for segments and negative rates.
3722
3723 2006-10-09  Tim-Philipp Müller  <tim at centricular dot net>
3724
3725         * gst/gsttaglist.c: (gst_tag_list_is_empty):
3726         * gst/gsttaglist.h:
3727         * docs/gst/gstreamer-sections.txt:
3728           API: add gst_tag_list_is_empty() (#360467).
3729
3730         * tests/check/gst/gsttag.c: (GST_START_TEST):
3731           And a test case.
3732
3733 2006-10-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
3734
3735         * gst/gstmessage.h:
3736         Revert change from earlier wrt GST_MESSAGE_TYPE_ANY having
3737         a value that doesn't fit on enumeration.
3738
3739 2006-10-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
3740
3741         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
3742         Remove local debugging system and use Gstreamer's instead.
3743
3744 2006-10-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
3745
3746         Patch by: Josep Torre Valles <josep@fluendo.com>
3747
3748         * common/m4/gst-error.m4:
3749         Disable warning of statement not reached on Forte.
3750         * gst/gstmessage.h:
3751         Fix warning on Forte (value doesn't fit on enumeration).
3752         * libs/gst/base/gstbasesink.c: (gst_base_sink_chain_unlocked):
3753         Fix warning on Forte (value doesn't fit on enumeration).
3754         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
3755         DEBUG macro says it takes minimum of 2 args and so Forte
3756         complains about the use with just 1 arg.
3757         * plugins/elements/gstfdsink.c:
3758         * plugins/elements/gstfdsrc.c:
3759         * plugins/elements/gstfilesink.c:
3760         * plugins/elements/gstfilesrc.c:
3761         Use correct return type for the uri handler implementations.
3762
3763         All these fix warnings in Forte.  Fixes bug #360860.
3764
3765 2006-10-08  Tim-Philipp Müller  <tim at centricular dot net>
3766
3767         * gst/gstelement.h:
3768           gcc versions prior to gcc 3.3 apparently complain about a NULL printf
3769           format string, so don't use G_GNUC_PRINTF for those versions.
3770
3771 2006-10-07  Tim-Philipp Müller  <tim at centricular dot net>
3772
3773         * gst/gsttaglist.c: (gst_is_tag_list):
3774         * gst/gsttaglist.h:
3775           Minor fixes to GST_IS_TAG_LIST and gst_is_tag_list().
3776
3777         * tests/check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
3778           Small test for the above.
3779
3780 2006-10-07  Tim-Philipp Müller  <tim at centricular dot net>
3781
3782         * gst/gsttaglist.h:
3783           Less tabs, more spaces.
3784
3785 2006-10-06  Tim-Philipp Müller  <tim at centricular dot net>
3786
3787         * gst/gstinfo.h:
3788           Those two function declarations do actually belong there, revert
3789           commit from yesterday that turned them intro macros.
3790
3791 2006-10-06  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
3792
3793         Patch by: Josep Torre Valles <josep@fluendo.com>
3794
3795         * gst/gst.c: (gst_init_get_option_group):
3796         Fix empty declaration and type mismatch.
3797         * gst/gstbin.c: (gst_bin_change_state_func):
3798         Fix type mismatch.
3799         * gst/gstelement.c: (gst_element_continue_state),
3800         (gst_element_set_state_func), (gst_element_change_state),
3801         (gst_element_change_state_func):
3802         Fix type mismatches.
3803         * gst/gstinfo.c: (gst_debug_compare_log_function_by_func),
3804         (gst_debug_remove_log_function), (_gst_debug_nameof_funcptr):
3805         Cast as appropriate.
3806         * gst/gstobject.c: (gst_class_signal_connect):
3807         Cast as appropriate.  The function pointer parameter really
3808         has the wrong type but would break API if we change it.
3809         * gst/gstquery.c:
3810         Fix redefinition of _FILE_OFFSET_BITS caused on Solaris wrt
3811         order of including string.h.
3812         * gst/gstutils.c: (gst_element_state_get_name):
3813         Remove unreachable line.
3814         * gst/gstxml.c: (gst_xml_parse_doc):
3815         Fix type mismatch.
3816         All these caught by Forte.
3817
3818 2006-10-06  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
3819
3820         Patch by: Josep Torre Valles <josep@fluendo.com>
3821
3822         * common/m4/gst-error.m4:
3823         Fixed bug #360151.
3824         We need to disable warnings on Forte for empty declarations
3825         due to gst-indent adding ;s to lines that just use macros
3826         where the macro actually doesn't need a ; at end to end
3827         statement.
3828
3829 2006-10-06  Wim Taymans  <wim@fluendo.com>
3830
3831         * plugins/elements/gstfilesink.c: (gst_file_sink_open_file),
3832         (gst_file_sink_close_file), (gst_file_sink_event),
3833         (gst_file_sink_render):
3834         Add some FIXME for the NEWSEGMENT handling.
3835
3836 2006-10-05  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
3837
3838         * gst/parse/grammar.y:
3839         Remove static function gst_parse_element_lock as all it does
3840         is return.  Looks like cruft from 0.8.
3841
3842 2006-10-05  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
3843
3844         Patch by: Josep Torre Valles <josep@fluendo.com>
3845
3846         * common/m4/gst-error.m4:
3847         * configure.ac:
3848         * libs/gst/net/Makefile.am:
3849         Fix a compilation issue with Forte on Solaris.  inet_aton is in
3850         libresolv.
3851
3852 2006-10-05  Tim-Philipp Müller  <tim at centricular dot net>
3853
3854         * gst/gstpad.c: (pre_activate):
3855         * gst/gstregistry.c: (gst_registry_scan_path_level):
3856         * gst/gstregistryxml.c: (load_plugin):
3857         * libs/gst/controller/gstcontroller.c:
3858         (gst_controlled_property_set_interpolation_mode):
3859         * libs/gst/dataprotocol/dataprotocol.c:
3860         (gst_dp_packet_from_event_1_0):
3861         * libs/gst/net/gstnetclientclock.c:
3862         (gst_net_client_clock_observe_times):
3863         * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
3864           Printf fixes.
3865
3866 2006-10-05  Tim-Philipp Müller  <tim at centricular dot net>
3867
3868         * configure.ac:
3869         * docs/gst/gstreamer-sections.txt:
3870         * gst/gstconfig.h.in:
3871         * gst/gstelement.h:
3872         * gst/gstinfo.h:
3873           Add GST_USING_PRINTF_EXTENSION to gstconfig.h so that we know
3874           whether we can use G_GNUC_PRINTF in other header files and at
3875           least check the printf format/arguments of debug messages and
3876           GST_ELEMENT_ERROR messages when the printf extension is not
3877           being used.
3878           Replace more tabs with spaces in gstinfo.h and remove two spurious
3879           function declarations in GST_DISABLE_DEBUG part with macros.
3880
3881 2006-10-03  Tim-Philipp Müller  <tim at centricular dot net>
3882
3883         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_post):
3884           More docs for the sync-message signal (mention that it is not
3885           emitted by default); log message structures of messages posted on
3886           the bus as well.
3887
3888 2006-10-03  Jan Schmidt  <thaytan@mad.scientist.com>
3889
3890         * gst/gst.c: (ensure_current_registry_forking):
3891         Use a pipe pair to receive status results from the forked child, and
3892         ignore the result from waitpid. Fixes #355499
3893
3894 2006-10-02  Wim Taymans  <wim@fluendo.com>
3895
3896         * tests/check/gst/gstghostpad.c: (GST_START_TEST),
3897         (gst_ghost_pad_suite):
3898         Fix leak in check.
3899
3900 2006-10-02  Tim-Philipp Müller  <tim at centricular dot net>
3901
3902         * gst/gstpad.c:
3903           Add 'Since: 0.10.11' to gst_pad_is_blocking() gtk-doc blurb.
3904
3905 2006-10-02  Edward Hervey  <edward@fluendo.com>
3906
3907         * docs/design/part-block.txt:
3908         Further explain the use of flushing on blocked pads.
3909         * docs/gst/gstreamer-sections.txt:
3910         * gst/gstpad.c: (gst_pad_is_blocking), (handle_pad_block),
3911         (gst_pad_push_event):
3912         * gst/gstpad.h:
3913         Added new GstPadFlag : GST_PAD_BLOCKING.
3914         Adds the notion of pads really blocking, which enables to properly
3915         handle FLUSH_START/FLUSH_STOP events on blocked pads.
3916         Fixes #358999
3917         API: gst_pad_is_blocking()
3918         API: GST_PAD_IS_BLOCKING() macro
3919         API: GST_PAD_BLOCKING GstPadFlag
3920         
3921 2006-10-02  Wim Taymans  <wim@fluendo.com>
3922
3923         Patch by: mrcgran <mrc.gran at gmail dot com>
3924
3925         * gst/gstghostpad.c: (gst_proxy_pad_do_getcaps):
3926         Filter the proxied caps against the padtemplate if we have one.
3927
3928         * gst/gstquery.c: (gst_query_new_segment):
3929         Add include for gstinfo.h so that compilation with
3930         -DGST_DISABLE_GST_DEBUG works again. Fixes #358436.
3931
3932 2006-10-02  Wim Taymans  <wim@fluendo.com>
3933
3934         Patch by: Alessandro Decina  <alessandro at nnva org>
3935
3936         * plugins/elements/gstfilesink.c: (gst_file_sink_init),
3937         (gst_file_sink_set_location), (gst_file_sink_open_file),
3938         (gst_file_sink_close_file), (gst_file_sink_event),
3939         (gst_file_sink_render):
3940         Set file to NULL when closing filesink so that we can set a new filename
3941         in READY. Fixes #358613.
3942
3943 2006-10-02  Tim-Philipp Müller  <tim at centricular dot net>
3944
3945         Patch by: Alessandro Decina  <alessandro at nnva org>
3946
3947         * gst/gstevent.c: (_gst_event_copy):
3948           Fix gst_mini_object_make_writable() and gst_event_copy() for events
3949           with event structures by setting the parent refcount address of the
3950           copied structure to the address of the refcount member of the newly
3951           copied event rather than the address of the refcount member of the
3952           original event. Fixes #358737.
3953
3954         * tests/check/gst/gstevent.c: (GST_START_TEST):
3955           Unit test for the above.
3956
3957 2006-09-29  Stefan Kost  <ensonic@users.sf.net>
3958
3959         * docs/design/Makefile.am:
3960           Dist some more files.
3961
3962 2006-09-29  Tim-Philipp Müller  <tim at centricular dot net>
3963
3964         * tests/check/libs/controller.c: (GST_START_TEST),
3965         (gst_controller_suite):
3966           Add test for the previous fix; add some more tests
3967           for correct refcounting behaviour; fix a few leaks
3968           in test cases; call gst_controller_init() at start
3969           of all tests.
3970
3971 2006-09-29  Tim-Philipp Müller  <tim at centricular dot net>
3972
3973         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
3974         (gst_controller_set_from_list):
3975           Don't g_return_val_if_fail() on timed values with invalid timestamps
3976           inside a critical section without unlocking the mutex. Spotted by
3977           René Stadler. (#357617)
3978           Also, fix up refcounting properly: when returning an existing
3979           controller, we should increase the reference only once and not
3980           once per property and when trying to control a property again
3981           we should also increase the refcount.
3982
3983 2006-09-29  Wim Taymans  <wim@fluendo.com>
3984
3985         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
3986         * libs/gst/net/gstnettimeprovider.c:
3987         (gst_net_time_provider_thread):
3988         Stop reading commands when EOF as well.
3989
3990         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init):
3991         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init):
3992         * plugins/elements/gstidentity.c: (gst_identity_class_init):
3993         Unify description of the dump property.
3994
3995 2006-09-28  Jan Schmidt  <thaytan@mad.scientist.com>
3996
3997         * tests/examples/manual/.cvsignore:
3998         OK, so it's actually cvsignore that needs changing. Stop laughing.
3999
4000 2006-09-28  Jan Schmidt  <thaytan@mad.scientist.com>
4001
4002         * tests/examples/manual/Makefile.am:
4003         Gah, declare vars *before* using them
4004
4005 2006-09-28  Jan Schmidt  <thaytan@mad.scientist.com>
4006
4007         * gst/gst.c: (init_pre), (scan_and_update_registry),
4008         (ensure_current_registry_nonforking),
4009         (ensure_current_registry_forking), (ensure_current_registry),
4010         (init_post), (gst_debug_help), (gst_deinit):
4011         * gst/gst_private.h:
4012         * gst/gstregistry.c: (gst_registry_finalize),
4013         (gst_registry_remove_features_for_plugin_unlocked),
4014         (gst_registry_remove_plugin), (gst_registry_scan_path_level),
4015         (gst_registry_scan_path),
4016         (_priv_gst_registry_remove_cache_plugins),
4017         (_priv_gst_registry_cleanup):
4018         * gst/gstregistry.h:
4019         Re-commit the registry changes, along with an extra fix:
4020           When a cached plugin is encountered at a different file path,
4021           update the stored path in the registry cache so that the parent
4022           process knows where it actually is now when it re-reads the registry
4023           cache. Fixes the thing that broke distcheck with the previous commit.
4024
4025         * tests/check/Makefile.am:
4026         Clean up files named 'core' too when running make clean.
4027
4028         * tests/examples/manual/Makefile.am:
4029         Set up a registry path for running these tests, and clean it properly
4030         for distcheck.
4031
4032 2006-09-28  Jan Schmidt  <thaytan@mad.scientist.com>
4033
4034         * configure.ac:
4035         Don't pull in gmodule-2.0.pc as a dependency in our .pc files - we
4036         want gmodule-no-export-2.0.pc instead so that we don't drag in
4037         --export-dynamic on every project that links to GStreamer.
4038
4039         Also, make our export regex only match the start of symbols, rather 
4040         than any symbol that contains '_gst' somewhere.
4041
4042         * libs/gst/check/Makefile.am:
4043         The libgstcheck we build does however need export-dynamic, as it
4044         produces some symbols that don't match our _gst... style regex.
4045         Fixes: #318031
4046
4047 2006-09-27  Jan Schmidt  <thaytan@mad.scientist.com>
4048
4049         * gst/gst.c: (init_pre), (scan_and_update_registry),
4050         (ensure_current_registry_nonforking),
4051         (ensure_current_registry_forking), (ensure_current_registry),
4052         (init_post), (gst_debug_help), (gst_deinit):
4053         * gst/gst_private.h:
4054         * gst/gstregistry.c: (gst_registry_finalize),
4055         (gst_registry_remove_plugin), (gst_registry_scan_path_level),
4056         (gst_registry_scan_path), (_gst_registry_remove_cache_plugins),
4057         (_gst_registry_cleanup):
4058         * gst/gstregistry.h:
4059           Revert previous change until I figure out why it breaks distcheck.
4060
4061 2006-09-27  Jan Schmidt  <thaytan@mad.scientist.com>
4062
4063         * gst/gst.c: (init_pre), (scan_and_update_registry),
4064         (ensure_current_registry_nonforking),
4065         (ensure_current_registry_forking), (ensure_current_registry),
4066         (init_post), (gst_debug_help), (gst_deinit):
4067
4068           Make init_pre and init_post take the full complement of GOptionFunc
4069           args so they can return useful GErrors. Make the registry updating
4070           functions do so.
4071
4072           Call _priv_gst_registry_remove_cache_plugins after scanning files to
4073           ensure that the registry we're about to write out doesn't contain
4074           stale information about old-deleted plugin files.
4075
4076           Make _priv_gst_registry_remove_cache_plugins return a boolean so
4077           that deletion of plugin files is considered a registry change.
4078
4079         * gst/gst_private.h:
4080         * gst/gstregistry.c: (gst_registry_finalize),
4081         (gst_registry_remove_features_for_plugin_unlocked),
4082         (gst_registry_remove_plugin), (gst_registry_scan_path_level),
4083         (gst_registry_scan_path),
4084         (_priv_gst_registry_remove_cache_plugins),
4085         (_priv_gst_registry_cleanup):
4086         * gst/gstregistry.h:
4087         Rename _gst_registry_remove_cache_plugins and _gst_registry_cleanup
4088         by adding _priv prefix, so that they won't appear in the global
4089         symbol table. They still do atm though because of #318031. Move the
4090         prototypes to gst_private.h
4091
4092         When removing a plugin, remove all features for that plugin too. 
4093         Fixes #340878.
4094
4095 2006-09-27  Wim Taymans  <wim@fluendo.com>
4096
4097         * docs/random/moving-plugins:
4098         Make it clear that the "compiled-in descriptions" really mean
4099         the element details.
4100
4101         * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
4102         (gst_base_sink_wait_preroll):
4103         Update docs.
4104
4105         * docs/libs/gstreamer-libs-sections.txt:
4106         * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
4107         (gst_base_src_get_range), (gst_base_src_activate_push):
4108         * libs/gst/base/gstbasesrc.h:
4109         Added function to block while waiting for PLAYING, this function
4110         is used by live sources that block on the clock.
4111         API: gst_base_src_wait_playing()
4112
4113 2006-09-27  Tim-Philipp Müller  <tim at centricular dot net>
4114
4115         Patch by: Peter Kjellerstedt <pkj at axis com>
4116
4117         * Makefile.am:
4118           gst-element-check.m4 is generated and should therefore be
4119           copied from the build dir rather than the source dir (#357593).
4120           'make distcheck' hasn't noticed this because we were disting
4121           the file as well, so stop doing that.
4122
4123 2006-09-27  Tim-Philipp Müller  <tim at centricular dot net>
4124
4125         * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
4126           Add some tests for gst_caps_intersect().
4127
4128         * tools/gst-launch.c: (event_loop):
4129           Print all buffering percentages we get, even the 100% one.
4130
4131 2006-09-26  Wim Taymans  <wim@fluendo.com>
4132
4133         * tools/gst-inspect.c: (print_element_properties_info),
4134         (print_signal_info):
4135         Fix printing of flags to match the look of enums.
4136
4137 2006-09-25  Tim-Philipp Müller  <tim at centricular dot net>
4138
4139         * gst/gstelementfactory.c:
4140           Fix typo in docs blurb.
4141
4142 2006-09-25  Tim-Philipp Müller  <tim at centricular dot net>
4143
4144         * gst/gsturi.c: (search_by_entry):
4145           Don't assert/crash here if a uri handler doesn't return any
4146           supported protocols. The list of protocols could be generated
4147           dynamically at runtime or at plugin registration, and an error
4148           in the underlying library shouldn't be fatal (#353301).
4149
4150 2006-09-25  Tim-Philipp Müller  <tim at centricular dot net>
4151
4152         * gst/gstinfo.c:
4153           Fix warning if HAVE_PRINTF_EXTENSION is undefined
4154           (spotted by Peter Kjellerstedt).
4155
4156 2006-09-23  Wim Taymans  <wim@fluendo.com>
4157
4158         Based on patch by: Antoine Tremblay <hexa00 at gmail dot com>
4159
4160         * libs/gst/base/gstbasesrc.c:
4161         (gst_base_src_default_check_get_range), (gst_base_src_start),
4162         (gst_base_src_activate_push), (gst_base_src_activate_pull),
4163         (gst_base_src_change_state):
4164         Match _start/_stop calls in the activate functions. Remove redundant
4165         _stop call from the state change function. Fixes #356910.
4166         Turn failure DEBUG into ERROR. 
4167
4168 2006-09-22  Wim Taymans  <wim@fluendo.com>
4169
4170         * docs/design/part-buffering.txt:
4171         * gst/gstmessage.c: (gst_message_new_buffering),
4172         (gst_message_parse_buffering):
4173         Update docs about buffering.
4174
4175         * docs/design/part-trickmodes.txt:
4176         Fix typo.
4177
4178 2006-09-22  Stefan Kost  <ensonic@users.sf.net>
4179
4180         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
4181         (gst_controller_new_list):
4182           Ref instances when returning them again (fixes #357180)
4183
4184 2006-09-22  Tim-Philipp Müller  <tim at centricular dot net>
4185
4186         * gst/gstghostpad.c: (gst_ghost_pad_set_target):
4187           Don't forget to release proxy lock when there's an error.
4188
4189 2006-09-20  Jan Schmidt  <thaytan@mad.scientist.com>
4190
4191         * gst/gstcaps.h:
4192           Add extra initialisers for Caps things, to fix some plugin warnings
4193           when using -Wextra
4194
4195 2006-09-18  Wim Taymans  <wim@fluendo.com>
4196
4197         * gst/gstghostpad.c: (gst_ghost_pad_new_full):
4198           Also set template on the internal pad so that a getcaps from the 
4199           target pad returns the template caps.
4200
4201 2006-09-18  Wim Taymans  <wim@fluendo.com>
4202
4203         * gst/gstelement.c: (gst_element_post_message),
4204         (gst_element_dispose):
4205         Use _DEBUG_OBJECT some more.
4206
4207         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
4208         Avoid typechecks.
4209
4210         * tools/gst-launch.c: (main):
4211         If the toplevel element is not a GstPipeline, it must be put in a
4212         pipeline so that a bus and clock is selected.
4213
4214 2006-09-17  Tim-Philipp Müller  <tim at centricular dot net>
4215
4216         * libs/gst/base/gstbasesrc.c: (gst_base_src_default_query):
4217           JITTER, RATE, and LATENCY query should be handled by the
4218           default case and not by the CONVERT query code.
4219
4220 2006-09-17  Tim-Philipp Müller  <tim at centricular dot net>
4221
4222         * gst/gstformat.c: (gst_format_register):
4223           Fix locking order (must take lock before using n_values).
4224
4225         * gst/gstvalue.c: (gst_value_serialize_enum),
4226         (gst_value_deserialize_enum_iter_cmp),
4227         (gst_value_deserialize_enum):
4228           Fix serialisation/deserialisation of custom registered GstFormats.
4229
4230         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
4231           Unit test for custom format serialisation/deserialisation.
4232
4233 2006-09-17  Stefan Kost  <ensonic@users.sf.net>
4234
4235         * docs/pwg/building-boiler.xml:
4236         * plugins/elements/gstcapsfilter.c:
4237         More G_OBJECT macro fixing. Also Fix some details on the plugin-stamp
4238         section.
4239
4240 2006-09-16  Edward Hervey  <edward@fluendo.com>
4241
4242         * libs/gst/base/gstbasetransform.c:
4243         (gst_base_transform_buffer_alloc):
4244         Check if requested caps are the same as the sinks caps IF
4245         ->have_same_caps is TRUE. If they are not, act as if have_same_caps
4246         is FALSE.
4247         This fixes the renegotiation issues stated in #352827.
4248
4249 2006-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
4250
4251         * configure.ac:
4252         * docs/manual/advanced-autoplugging.xml:
4253         * tests/examples/Makefile.am:
4254         * tests/examples/manual/.cvsignore:
4255         * tests/examples/manual/Makefile.am:
4256         * tests/examples/manual/extract.pl:
4257           Extract the manual examples again like we used to do.
4258           Fix one of them.
4259
4260 2006-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
4261
4262         * win32/common/config.h:
4263           update for version
4264
4265 2006-09-16  Stefan Kost  <ensonic@users.sf.net>
4266
4267         * gst/gsterror.c:
4268           Documents how to receive errors.
4269
4270 2006-09-15  Wim Taymans  <wim@fluendo.com>
4271
4272         * tools/gst-launch.c: (sigint_handler_sighandler), (check_intr),
4273         (event_loop), (main):
4274         Added some comments here and there.
4275         Post an application message when an interrupt is caught instead of doing
4276         an uncontrolled state change.
4277         Clean up the event loop.
4278         Handle buffering messages, pause/resume the pipeline.
4279         Make shutdown because of an interrupt more reliable.
4280
4281 2006-09-15  Wim Taymans  <wim@fluendo.com>
4282
4283         * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
4284         (gst_base_sink_wait_preroll), (gst_base_sink_do_sync),
4285         (gst_base_sink_preroll_object):
4286         Make sure that our internal state is correct when we commit our state
4287         asynchronously. This solves a race where a state change to PLAYING
4288         could cause the sink to remain blocked in preroll in some situations.
4289
4290 2006-09-15  Wim Taymans  <wim@fluendo.com>
4291
4292         * tools/gst-inspect.c: (print_element_properties_info),
4293         (print_signal_info):
4294         List flags as hex so it's easier to deal with.
4295
4296 2006-09-15  Wim Taymans  <wim@fluendo.com>
4297
4298         * docs/libs/gstreamer-libs-sections.txt:
4299         * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_preroll),
4300         (gst_base_sink_do_sync):
4301         * libs/gst/base/gstbasesink.h:
4302         Expose logic to wait for preroll so that subclasses such as audiosink
4303         can also use this method.
4304         API: gst_base_sink_wait_preroll()
4305
4306 2006-09-15  Wim Taymans  <wim@fluendo.com>
4307
4308         * gst/gstobject.c: (gst_object_set_parent):
4309         * gst/gstpipeline.c: (do_pipeline_seek):
4310         Small cleanups in docs and code.
4311
4312         * gst/gstsegment.c: (gst_segment_clip):
4313         * tests/check/gst/gstsegment.c: (GST_START_TEST):
4314         if stop == start and start is in the segment, no clipping should be
4315         done. Also add a test for this.
4316
4317 2006-09-15  Wim Taymans  <wim@fluendo.com>
4318
4319         * docs/design/part-buffering.txt:
4320         * docs/gst/gstreamer-sections.txt:
4321         * gst/gstmessage.c: (gst_message_new_buffering),
4322         (gst_message_parse_buffering):
4323         * gst/gstmessage.h:
4324         Added methods to create and parse BUFFERING messages.
4325         Added preliminary docs about buffering.
4326         API: gst_message_new_buffering
4327         API: gst_message_parse_buffering
4328
4329 2006-09-06  Wim Taymans  <wim@fluendo.com>
4330
4331         * gst/gstbin.c:
4332         Update documentation.
4333
4334         * gst/gstelement.c: (gst_element_class_init),
4335         (gst_element_release_request_pad), (gst_element_set_clock),
4336         (gst_element_get_index), (gst_element_add_pad),
4337         (gst_element_remove_pad), (gst_element_get_random_pad),
4338         (gst_element_send_event), (gst_element_get_query_types),
4339         (gst_element_query), (gst_element_post_message),
4340         (gst_element_message_full), (gst_element_continue_state),
4341         (gst_element_lost_state), (gst_element_save_thyself),
4342         (gst_element_restore_thyself):
4343         Documentation updates.
4344         Rename last bit of the new-pad -> pad-added signal rename.
4345         Fix the case where an element query would only work if the source
4346         pad was linked.
4347         Avoid some useless type checking in message handling.
4348
4349         * gst/gstevent.c:
4350         * gst/gstevent.h:
4351         * gst/gstutils.c:
4352         Documentation updates.
4353
4354 2006-09-14  Thomas Vander Stichele  <thomas at apestaart dot org>
4355
4356         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
4357           add an INFO line for when we actually update the fd
4358
4359 2006-09-14  Thomas Vander Stichele  <thomas at apestaart dot org>
4360
4361         * configure.ac:
4362           back to TRUNK
4363
4364 === release 0.10.10 ===
4365
4366 2006-09-14  Thomas Vander Stichele <thomas at apestaart dot org>
4367
4368         * configure.ac:
4369           releasing 0.10.10, "Pais"
4370
4371 2006-09-05  Tim-Philipp Müller  <tim at centricular dot net>
4372
4373         * docs/manual/advanced-position.xml:
4374           Fix typo in sample code.
4375
4376 2006-09-05  Wim Taymans  <wim@fluendo.com>
4377
4378         * libs/gst/net/gstnetclientclock.c: (inet_aton),
4379         (gst_net_client_clock_init), (gst_net_client_clock_finalize),
4380         (gst_net_client_clock_do_select), (gst_net_client_clock_new):
4381         * libs/gst/net/gstnetclientclock.h:
4382         * libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send):
4383         * libs/gst/net/gstnettimepacket.h:
4384         * libs/gst/net/gstnettimeprovider.c: (inet_aton),
4385         (gst_net_time_provider_init), (gst_net_time_provider_finalize),
4386         (gst_net_time_provider_thread), (gst_net_time_provider_new):
4387         * libs/gst/net/gstnettimeprovider.h:
4388         Make stuff compile on windows. Fixes #345295.
4389
4390 2006-09-03  Tim-Philipp Müller  <tim at centricular dot net>
4391
4392         * gst/gst.c: (ensure_current_registry_forking):
4393           Print better details when child was terminated by signal.
4394
4395 2006-09-03  Tim-Philipp Müller  <tim at centricular dot net>
4396
4397         * gst/gstregistryxml.c: (gst_registry_xml_save_feature):
4398           Print a warning rather than g_assert() if a plugin feature
4399           is a URI handler but returns no protocols (#353976).
4400
4401 2006-09-02  Stefan Kost  <ensonic@users.sf.net>
4402
4403         * docs/random/moving-plugins:
4404         Fix two typos.         
4405
4406 2006-09-01  Tim-Philipp Müller  <tim at centricular dot net>
4407
4408         * gst/gstinfo.c: (_gst_debug_nameof_funcptr):
4409           Fix locking order, handle NULL function values properly.
4410
4411         * gst/gstinfo.h:
4412           Fix docs.
4413
4414         * gst/gstpad.c: (gst_pad_buffer_alloc_unchecked):
4415           Initialise variable before using it and fix debug statement to
4416           print the address of the function rather than the address of the
4417           variable on the stack holding the address of the function.
4418
4419 2006-09-01  Wim Taymans  <wim@fluendo.com>
4420
4421         * gst/gstghostpad.c: (gst_proxy_pad_do_event),
4422         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_chain),
4423         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
4424         (gst_proxy_pad_set_target_unlocked), (gst_ghost_pad_parent_set),
4425         (gst_ghost_pad_parent_unset),
4426         (gst_ghost_pad_internal_do_activate_push),
4427         (gst_ghost_pad_internal_do_activate_pull),
4428         (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
4429         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
4430         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
4431         (gst_ghost_pad_new_full), (gst_ghost_pad_new_no_target),
4432         (gst_ghost_pad_new), (gst_ghost_pad_new_from_template),
4433         (gst_ghost_pad_new_no_target_from_template),
4434         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
4435         More cleanups.
4436         Avoid needless typechecking in macros.
4437         Since the internal pad is always present and never changes, there is
4438         no need to locking or ref when retrieving it.
4439         Improve debugging a bit.
4440         Handle link errors when setting the target. Fixes #341029.
4441
4442 2006-09-01  Wim Taymans  <wim@fluendo.com>
4443
4444         * docs/libs/gstreamer-libs-sections.txt:
4445         * docs/plugins/gstreamer-plugins-sections.txt:
4446         Fix docs some more.
4447
4448         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
4449         (gst_collect_pads_event):
4450         * libs/gst/base/gstcollectpads.h:
4451         Documentation updates.
4452         Free queued buffer when removing a pad.
4453
4454 2006-08-31  Michael Smith  <msmith@fluendo.com>
4455
4456         * gst/gstutils.c: (gst_element_link_pads),
4457         (gst_element_link_pads_filtered):
4458           Ensure that we set a capsfilter to NULL if we failed to link it
4459           when doing filtered linking, to avoid criticals.
4460
4461           No need to check for unreffing srcpad, which is explicly NULLed
4462           above (a trivial code cleanup).
4463
4464 2006-08-31  Wim Taymans  <wim@fluendo.com>
4465
4466         * docs/design/part-gstghostpad.txt:
4467         Update ascii art in documentation.
4468
4469         * gst/gstghostpad.c: (gst_proxy_pad_do_internal_link),
4470         (gst_proxy_pad_set_target_unlocked), (gst_proxy_pad_init),
4471         (gst_ghost_pad_parent_set), (gst_ghost_pad_parent_unset),
4472         (gst_ghost_pad_internal_do_activate_push),
4473         (gst_ghost_pad_internal_do_activate_pull),
4474         (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
4475         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
4476         (gst_ghost_pad_dispose), (gst_ghost_pad_new_full),
4477         (gst_ghost_pad_set_target):
4478         Small cleanups and leak fixes.
4479         Remove some checks now that the internal pad is never NULL.
4480         Fix the case where linking pads without a target would create nasty
4481         criticals. Fixes #341029.
4482         Don't assign a GstPadLinkReturn to a gboolean and mess up the return
4483         value of _set_target().
4484
4485         * tests/check/gst/gstghostpad.c: (GST_START_TEST),
4486         (gst_ghost_pad_suite):
4487         Some more tests for creating and linking untargeted ghostpads.
4488
4489 2006-08-31  Edward Hervey  <edward@fluendo.com>
4490
4491         * docs/gst/gstreamer-sections.txt:
4492         * gst/gstghostpad.c: (gst_proxy_pad_do_getcaps),
4493         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target_unlocked),
4494         (gst_proxy_pad_dispose), (gst_ghost_pad_new_full),
4495         (gst_ghost_pad_new_no_target), (gst_ghost_pad_new),
4496         (gst_ghost_pad_new_from_template),
4497         (gst_ghost_pad_new_no_target_from_template):
4498         * gst/gstghostpad.h:
4499         Refactored *_new() functions.
4500         Templates are now used as a g_object_new() parameter.
4501         Use template in _do_getcaps() if we don't have a target.
4502         Small documentation cleanups.
4503         Added two new constructors:
4504         gst_ghost_pad_new_from_template()
4505         gst_ghost_pad_new_no_target_from_template()
4506         * tests/check/gst/gstghostpad.c: (GST_START_TEST),
4507         (gst_ghost_pad_suite):
4508         Added tests for new ghostpad instanciation functions.
4509
4510         API additions: gst_ghost_pad_new_from_template,
4511         gst_ghost_pad_new_no_target_from_template
4512
4513 2006-08-30  Stefan Kost  <ensonic@users.sf.net>
4514
4515         * docs/random/ensonic/profiling.txt:
4516           Ideas about qos profiling.
4517
4518 2006-08-29  Wim Taymans  <wim@fluendo.com>
4519
4520         * gst/gstcaps.c: (gst_caps_structure_is_subset_field):
4521         Code cleanups.
4522         Fix memleak.
4523
4524 2006-08-29  Tim-Philipp Müller  <tim at centricular dot net>
4525
4526         * gst/gstxml.c:
4527           Improve and detypofy docs.
4528
4529         * tests/check/Makefile.am:
4530         * tests/check/gst/.cvsignore:
4531         * tests/check/gst/gstxml.c: (GST_START_TEST), (gst_xml_suite):
4532           Add a basic test suite for GstXML.
4533
4534 2006-08-29  Wim Taymans  <wim@fluendo.com>
4535
4536         * gst/gstelement.c: (activate_pads), (clear_caps),
4537         (iterator_activate_fold_with_resync), (gst_element_pads_activate):
4538         Clear the pad caps when the element shut down all of the pads and
4539         is not streaming data that could modify the caps. 
4540         Fixes #352958.
4541
4542 2006-08-28  Michael Smith  <msmith@fluendo.com>
4543
4544         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
4545           Revert previous change; I misunderstood single-segment mode.
4546
4547 2006-08-28  Michael Smith  <msmith@fluendo.com>
4548
4549         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
4550           Unset DISCONT on buffers when using single-segment mode.
4551
4552 2006-08-28  Wim Taymans  <wim@fluendo.com>
4553
4554         * gst/gstcaps.c: (gst_caps_merge_structure):
4555         * gst/gstcaps.h:
4556         Fix docs and indentation again.
4557
4558         * tests/check/gst/gstquery.c: (GST_START_TEST):
4559         Fix leak in tests and add some more tests.
4560
4561 2006-08-28  Edward Hervey  <edward@fluendo.com>
4562
4563         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
4564         Inform GstSegment of the last stop position in order for the current
4565         segment to have a proper duration if it doesn't have a specific stop
4566         position from which a duration could be calculated.
4567         This bug was noticeable when a non-flushing, non-update new segment was
4568         followed by another segment (all buffers from the new segment were being
4569         dropped).
4570
4571 2006-08-28  Wim Taymans  <wim@fluendo.com>
4572
4573         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
4574         Small comment update.
4575
4576         * plugins/elements/gstidentity.c: (gst_identity_class_init),
4577         (gst_identity_transform_ip):
4578         Drop-probability is broken, mention this in the code with a 
4579         FIXME and also in the property description.
4580         Make silent also be silent about the drop messages.
4581
4582 2006-08-28  Tim-Philipp Müller  <tim at centricular dot net>
4583
4584         * docs/manual/appendix-win32.xml:
4585           Remove mention of popt, we don't depend on that any
4586           longer (#353136). Add some comments pointing out that
4587           this section is slightly outdated.
4588
4589 2006-08-28  Wim Taymans  <wim@fluendo.com>
4590
4591         Patch by: Torsten Schoenfeld <kaffeetisch at gmx dot de>
4592
4593         * gst/gstquery.c: (gst_query_new_segment):
4594         * tests/check/gst/gstquery.c: (GST_START_TEST):
4595         Initialize variables when creating a new segment query.
4596         Fixes #353121.
4597
4598 2006-08-28  Wim Taymans  <wim@fluendo.com>
4599
4600         Patch by: Torsten Schoenfeld <kaffeetisch at gmx dot de>
4601
4602         * gst/gstelement.c: (gst_element_get_bus):
4603         * tests/check/gst/gstelement.c: (GST_START_TEST):
4604         Check for NULL before _reffing the bus. Fixes #353122.
4605
4606 2006-08-25  Tim-Philipp Müller  <tim at centricular dot net>
4607
4608         * docs/manual/basics-bus.xml:
4609           Docs update: fix wrong callback return value explanation; add
4610           some lines about the implicit relationship between main loop
4611           and main context; remove duplicate main loop variable declaration.
4612
4613 2006-08-24  Tim-Philipp Müller  <tim at centricular dot net>
4614
4615         * tests/check/gst/gstcaps.c: (GST_START_TEST):
4616           Don't leak caps in unit test; add a few more simple
4617           checks. 
4618
4619 2006-08-24  Stefan Kost  <ensonic@users.sf.net>
4620
4621         * docs/gst/gstreamer-sections.txt:
4622         * gst/gstcaps.c: (gst_caps_structure_is_subset_field),
4623         (gst_caps_structure_is_subset), (gst_caps_merge),
4624         (gst_caps_merge_structure):
4625         * gst/gstcaps.h:
4626         * libs/gst/base/gstbasetransform.c:
4627         (gst_base_transform_transform_caps):
4628         * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
4629           implement caps merging (fixes #352580)
4630
4631 2006-08-23  Stefan Kost  <ensonic@users.sf.net>
4632
4633         * tools/Makefile.am:
4634         * tools/gst-plot-timeline.py:
4635           add debug-log plotting developer tool (#340674)
4636
4637 2006-08-23  Wim Taymans  <wim@fluendo.com>
4638
4639         * gst/gstpad.c: (gst_pad_start_task), (gst_pad_pause_task),
4640         (gst_pad_stop_task):
4641         Improve debugging for task functions.
4642
4643         * gst/gsttask.c: (gst_task_func), (gst_task_set_lock),
4644         (gst_task_start), (gst_task_pause), (gst_task_join):
4645         Make sure that the task function started and finished after a 
4646         join(). 
4647         Don't try to push the task function on the threadpool multiple
4648         times.
4649         Improve the g_warning message with some useful suggestions
4650         about how to fix the problem. 
4651
4652 2006-08-23  Wim Taymans  <wim@fluendo.com>
4653
4654         * gst/gstutils.c: (gst_pad_proxy_getcaps):
4655         Handle RESYNC correctly in _proxy_getcaps.
4656
4657 2006-08-21  Tim-Philipp Müller  <tim at centricular dot net>
4658
4659         * gst/gstxml.c: (gst_xml_dispose), (gst_xml_parse_file),
4660         (gst_xml_parse_memory), (gst_xml_get_element):
4661           Chain up to parent class in dispose function and also
4662           unref the elements in the toplevel_elements GList.
4663           Don't leak XmlDocPtr in _parse_file() and _parse_memory().
4664           Always return a reference in gst_xml_get_element() rather
4665           than only sometimes.
4666
4667         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
4668           Don't leak GstXml object.
4669
4670 2006-08-21  Stefan Kost  <ensonic@users.sf.net>
4671
4672         * docs/gst/gstreamer-sections.txt:
4673         * gst/gstcaps.c: (gst_structure_is_equal_foreach),
4674         (gst_caps_merge):
4675         * gst/gstcaps.h:
4676         * libs/gst/base/gstbasetransform.c:
4677         (gst_base_transform_transform_caps):
4678           API: Add gst_caps_merge() and use it in basetransform, fixes #345444
4679           in a better way
4680
4681 2006-08-21  Edward Hervey  <edward@fluendo.com>
4682
4683         * gst/gstxml.c: (gst_xml_class_init), (gst_xml_dispose):
4684         Implement GObject::dispose virtual method in GstXML so we can free the
4685         top_elements GList.
4686
4687 2006-08-21  Wim Taymans  <wim@fluendo.com>
4688
4689         * gst/gstbuffer.c: (gst_buffer_make_metadata_writable),
4690         (gst_buffer_create_sub):
4691         Copy duration/offset_end/caps when creating a subbuffer of the
4692         complete parent.
4693         Make the subbuffer read-only when we make the metadata writable for
4694         now. Fixes #351768.
4695
4696         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
4697         Added check for metadata copy when creating subbuffers.
4698
4699 2006-08-21  Edward Hervey  <edward@fluendo.com>
4700
4701         * libs/gst/base/gstbasetransform.c:
4702         (gst_base_transform_buffer_alloc):
4703         Only call downstream buffer_alloc if transform element is passthrough
4704         or always_in_place. Closes #350449.
4705
4706 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
4707
4708         * ChangeLog:
4709           ChangeLog surgery to add comments to previous changes
4710
4711 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
4712
4713         * gst/gst.c:
4714           Add comments
4715
4716         * gst/gstpad.c: (gst_pad_set_active):
4717           Be more verbose in the log
4718
4719         * libs/gst/base/gstbasetransform.c:
4720         (gst_base_transform_transform_caps):
4721           Simplify caps to get rid of duplicates, fixes #345444
4722
4723 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
4724
4725         * gst/gstvalue.c:
4726         * gst/gstvalue.h:
4727           Use these optimizations only internally.
4728
4729 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
4730
4731         * gst/gstvalue.c: (gst_value_compare_list),
4732         (gst_value_compare_fraction_range),
4733         (gst_value_intersect_fraction_fraction_range),
4734         (gst_value_intersect_fraction_range_fraction_range),
4735         (gst_value_subtract_fraction_fraction_range),
4736         (gst_value_subtract_fraction_range_fraction_range),
4737         (gst_value_get_compare_func), (gst_value_compare),
4738         (gst_value_compare_with_func):
4739         * gst/gstvalue.h:
4740           Saves the expensive lookup of the compare function in many cases
4741          (#345444)
4742
4743 2006-08-18  Edward Hervey  <edward@fluendo.com>
4744
4745         * tests/check/gst/gstinfo.c: (gst_info_suite):
4746         Disable test that require gstdebug if it wasn't built in core.
4747
4748 2006-08-18  Stefan Kost  <ensonic@users.sf.net>
4749
4750         * docs/random/ensonic/logging.txt:
4751           update ideas
4752           
4753         * gst/gstinfo.c: (gst_debug_log_default):
4754           reorder fields, save some columns, add optional color codes for log
4755           levels
4756
4757 2006-08-18  Stefan Kost  <ensonic@users.sf.net>
4758
4759         * docs/random/ensonic/logging.txt:
4760           add ideas about making the logs a bit more useful
4761
4762 2006-08-17  Tim-Philipp Müller  <tim at centricular dot net>
4763
4764         * docs/pwg/advanced-events.xml:
4765         * docs/pwg/titlepage.xml:
4766           Update for 0.10 API (#340627). Add myself
4767           to authors list.
4768
4769 2006-08-17  Tim-Philipp Müller  <tim at centricular dot net>
4770
4771         * docs/libs/gstreamer-libs-docs.sgml:
4772         * docs/libs/gstreamer-libs-sections.txt:
4773         * libs/gst/check/gstbufferstraw.c:
4774           Make gstcheck stuff show up in docs (still needs to
4775           be documented properly though).
4776
4777 2006-08-16  Jan Schmidt  <thaytan@mad.scientist.com>
4778
4779         * docs/gst/gstreamer-sections.txt:
4780         * gst/Makefile.am:
4781         * gst/gst.c: (init_post):
4782         * gst/gst_private.h:
4783         * gst/gstquark.c: (_priv_gst_quarks_initialize):
4784         * gst/gstquark.h:
4785         * gst/gstquery.c: (gst_query_new_position),
4786         (gst_query_set_position), (gst_query_parse_position),
4787         (gst_query_new_duration), (gst_query_set_duration),
4788         (gst_query_parse_duration), (gst_query_new_convert),
4789         (gst_query_set_convert), (gst_query_parse_convert),
4790         (gst_query_new_segment), (gst_query_set_segment),
4791         (gst_query_parse_segment), (gst_query_new_seeking),
4792         (gst_query_set_seeking), (gst_query_parse_seeking):
4793         Add internal helpers for pre-registering quarks from static strings
4794         and using the quark values directly instead of looking them up when
4795         creating and parsing queries. Can be used for event construction too.
4796         Closes #350432.
4797
4798 2006-08-16  Wim Taymans  <wim@fluendo.com>
4799
4800         * gst/gstbin.c:
4801         Fix bogus docs.
4802
4803 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
4804
4805         * gst/gstutils.c: (gst_util_set_value_from_string):
4806           Fix memleak (#351502).
4807
4808         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
4809           Add unit test for most of gst_util_set_value_from_string()
4810           (not that one would want to encourage use of this function).
4811
4812 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
4813
4814         * libs/gst/check/gstcheck.h:
4815           Use const gchar * variables in fail_unless_equals_string
4816           macro to avoid compiler warnings (and don't use tabs for
4817           indenting).
4818
4819 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
4820
4821         * tools/gst-launch.c: (print_tag):
4822           More space on the left for the tag names, to cater
4823           for the 'extended comment' tag (not touching the
4824           string for the first line since it's translated).
4825
4826 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
4827
4828         * libs/gst/check/gstcheck.h:
4829           Fix ASSERT_CRITICAL and ASSERT_WARNING macros to actually
4830           print something when they fail.
4831
4832 2006-08-14  Tim-Philipp Müller  <tim at centricular dot net>
4833
4834         * docs/gst/gstreamer-sections.txt:
4835         * gst/gsttaglist.c: (_gst_tag_initialize):
4836         * gst/gsttaglist.h:
4837           API: add GST_TAG_EXTENDED_COMMENT (#350935).
4838           Also change merge function for GST_TAG_COMMENT to
4839           use_first.
4840
4841 2006-08-14  Tim-Philipp Müller  <tim at centricular dot net>
4842
4843         * gst/gstinfo.c: (gst_debug_print_object):
4844           Make GST_PTR_FORMAT print messages as well.
4845
4846         * tests/check/gst/gstinfo.c: (printf_extension_log_func),
4847         (GST_START_TEST), (gst_info_suite):
4848           More tests.
4849
4850 2006-08-14  Edward Hervey  <edward@fluendo.com>
4851
4852         * gst/gstelementfactory.c: (gst_element_register):
4853         If the GstElementClass doesn't have a GstElementDetails with all fields
4854         filled up correctly (longname, description AND author), then error out
4855         nicely instead of crashing.
4856
4857 2006-08-14  Tim-Philipp Müller  <tim at centricular dot net>
4858
4859         * gst/gststructure.c:
4860           Fix typo in docs and re-wrap docs blurb to not exceed 80 chars/line.
4861
4862         * gst/gstvalue.h:
4863           Expand on the difference between arrays and lists as we use them.
4864           
4865 2006-08-14  Wim Taymans  <wim@fluendo.com>
4866
4867         * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
4868         If the parent state change function failed, don't assume we can safely
4869         stop the source, this will be done when the pads are deactivated.
4870
4871 2006-08-14  Wim Taymans  <wim@fluendo.com>
4872
4873         * gst/gstbuffer.c:
4874         * gst/gsttask.c: (gst_task_join):
4875         Small doc updates.
4876
4877         * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_activate_push),
4878         (gst_pad_stop_task):
4879         When pad (de)activation failed for some reason, restore the old
4880         activation mode and set the pad to flushing instead of assuming the
4881         pad is deactivated.
4882         If the _task_join() failed, reinstall the task on the pad so that it can
4883         be stopped later and return an error.
4884
4885 2006-08-11  Andy Wingo  <wingo@pobox.com>
4886
4887         * configure.ac:
4888         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packetizer_new):
4889         * tests/check/libs/gdp.c: (gst_dp_suite): GST_DISABLE_DEPRECATED
4890         is only for users of API that don't want to see deprecated
4891         functions in the headers; people that want to compile out
4892         deprecated code should pass -DGST_REMOVE_DEPRECATED into the
4893         CFLAGS. Fixes the build of multifdsink, or will soon..
4894
4895 2006-08-11  Wim Taymans  <wim@fluendo.com>
4896
4897         * docs/gst/gstreamer-sections.txt:
4898         Add GstClockClass vmethod docs.
4899
4900         * gst/gstcaps.h:
4901         Mark #endif with comment for associated #if
4902
4903         * gst/gstclock.c: (gst_clock_id_wait):
4904         * gst/gstclock.h:
4905         Add vmethod wait_jitter to avoid an unneeded _get_time() for
4906         most clock implementations.
4907         Document vmethods.
4908         Flesh out docs about resolution methods.
4909         API: GstClockClass::wait_jitter
4910
4911         * gst/gstsystemclock.c: (gst_system_clock_class_init),
4912         (gst_system_clock_async_thread),
4913         (gst_system_clock_id_wait_jitter_unlocked),
4914         (gst_system_clock_id_wait_jitter):
4915         Use base class wait_jitter variant for improved performance
4916         due to less clock polling.
4917
4918 2006-08-11  Edward Hervey  <edward@fluendo.com>
4919
4920         * gst/gst.c: (gst_init_check), (init_post):
4921         Set gst as being initialized before scanning/updating the registry,
4922         since there might be my python plugin loader that calls gst_init() and
4923         we don't want to loop back in.
4924         Closes #350879
4925
4926 2006-08-11  Wim Taymans  <wim@fluendo.com>
4927
4928         * docs/design/part-qos.txt:
4929         Bring docs in line with the code. Mostly the sign of the jitter was
4930         wrong in the docs. Fixes #349943.
4931
4932         * gst/gstclock.c:
4933         Fix the docs for the jitter.
4934
4935         * gst/gstevent.c: (gst_event_new_custom), (gst_event_new_tag),
4936         (gst_event_parse_tag), (gst_event_new_buffer_size),
4937         (gst_event_parse_buffer_size), (gst_event_parse_qos),
4938         (gst_event_new_seek), (gst_event_parse_seek),
4939         (gst_event_new_navigation):
4940         Make sure the GstStructure has no parent when creating custom
4941         events.
4942         Add some more argument checking so that we avoid 0.0 rates.
4943         Flesh out the docs for the QoS event some more.
4944
4945 2006-08-11  Wim Taymans  <wim@fluendo.com>
4946
4947         * docs/gst/gstreamer-sections.txt:
4948         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
4949         (ensure_current_registry_forking), (ensure_current_registry),
4950         (parse_one_option), (parse_goption_arg), (gst_deinit),
4951         (gst_registry_fork_is_enabled), (gst_registry_fork_set_enabled):
4952         * gst/gst.h:
4953         Doc updates.
4954         Added API and command line option to disable registry forking in
4955         addition to the environment variable.
4956         Constify some static arrays.
4957         Added some more debug.
4958         Don't deinit twice.
4959         API: gst_registry_fork_is_enabled()
4960         API: gst_registry_fork_set_enabled()
4961         API: --gst-disable-registry-fork command line option
4962         Fixes #348918.
4963
4964 2006-08-11  Tim-Philipp Müller  <tim at centricular dot net>
4965
4966         * gst/gst.c: (gst_init):
4967           Fix typo in error message.
4968
4969 2006-08-10  Stefan Kost  <ensonic@users.sf.net>
4970
4971         * libs/gst/controller/gstcontroller.h:
4972           fix ABI size-correction
4973
4974         * tests/check/libs/gdp.c: (gst_dp_suite):
4975           make tests that use deprecated API conditional
4976
4977 2006-08-10  Stefan Kost  <ensonic@users.sf.net>
4978
4979         * docs/libs/gstreamer-libs-sections.txt:
4980         * libs/gst/controller/gstcontroller.c:
4981         (_gst_controller_get_property), (_gst_controller_set_property),
4982         (_gst_controller_init), (_gst_controller_class_init):
4983         * libs/gst/controller/gstcontroller.h:
4984         * libs/gst/controller/gsthelper.c: (gst_object_get_control_rate),
4985         (gst_object_set_control_rate):
4986           API: add gst_object_{s,g}et_control_rate(), add private data section,
4987           fix docs
4988
4989         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packetizer_new):
4990         * libs/gst/dataprotocol/dataprotocol.h:
4991           add deprecation guards to make gtk-doc happy and allow disabling cruft
4992
4993 2006-08-09  Tim-Philipp Müller  <tim at centricular dot net>
4994
4995         * tests/check/Makefile.am:
4996         * tests/check/gst/.cvsignore:
4997           Let's enable the new unit test as well.
4998
4999 2006-08-08  Tim-Philipp Müller  <tim at centricular dot net>
5000
5001         * configure.ac:
5002         * docs/gst/gstreamer-sections.txt:
5003         * gst/gstconfig.h.in:
5004         * gst/gstinfo.c: (_gst_debug_init), (gst_debug_print_segment),
5005         (_gst_info_printf_extension_ptr),
5006         (_gst_info_printf_extension_segment):
5007           API: add GST_SEGMENT_FORMAT, which is a printf extension we
5008           register that lets us easily dump GstSegments into debug
5009           logs (#350419).
5010
5011         * tests/check/gst/gstinfo.c: (segment_printf_extension_log_func),
5012         (info_segment_format_printf_extension), (gst_info_suite):
5013           Add simple unit test that logs a bunch of different segments (not
5014           valgrinded at the moment because of leaks in
5015           gst_debug_add_log_function).
5016
5017 2006-08-09  Edward Hervey  <edward@fluendo.com>
5018
5019         * libs/gst/base/gstbasetransform.c:
5020         (gst_base_transform_buffer_alloc):
5021         Even if we can't figure out the proper format to request downstream,
5022         call buffer_alloc() downstream with the input parameters without setting
5023         the caps on the srcpad. This will force negotiation in the chain
5024         function.
5025         Closes #350449
5026
5027 2006-08-08  Edward Hervey  <edward@fluendo.com>
5028
5029         * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
5030         Unlinking from a pad without a target is now a perfectly valid case
5031         which should NOT raise an assertion.
5032         This case would happen if a linked ghostpad its target set to NULL after
5033         it was previously linked.
5034
5035 2006-08-08  Edward Hervey  <edward@fluendo.com>
5036
5037         * tests/check/libs/gdp.c:
5038         Also comment out the test (see below).
5039
5040 2006-08-08  Edward Hervey  <edward@fluendo.com>
5041
5042         * tests/check/libs/gdp.c: (gst_dp_suite):
5043         Use the architecture information from config.h and not gcc macros
5044         in order to properly disable a test that fails on PPC64.
5045
5046 2006-08-04  Tim-Philipp Müller  <tim at centricular dot net>
5047
5048         * gst/gstelement.c: (gst_element_remove_pad):
5049           Don't crash printing the warning if the pad has no parent.
5050
5051 2006-08-02  Wim Taymans  <wim@fluendo.com>
5052
5053         * libs/gst/dataprotocol/dataprotocol.c:
5054         (gst_dp_header_from_buffer_any), (gst_dp_packet_from_caps_any),
5055         (gst_dp_crc), (gst_dp_header_payload_length),
5056         (gst_dp_header_payload_type), (gst_dp_packet_from_event),
5057         (gst_dp_packet_from_event_1_0), (gst_dp_buffer_from_header),
5058         (gst_dp_caps_from_packet), (gst_dp_event_from_packet_0_2),
5059         (gst_dp_event_from_packet), (gst_dp_validate_header),
5060         (gst_dp_validate_payload):
5061         Make debug category static
5062         Constify the crc table.
5063         Do some more arg checking in public functions.
5064         Fix some docs and do some small cleanups.
5065
5066         * tests/check/libs/gdp.c: (GST_START_TEST), (gst_dp_suite):
5067         Add some more checks to see if GDP deals with bogus input.
5068
5069 2006-07-31  Wim Taymans  <wim@fluendo.com>
5070
5071         * gst/gstvalue.c: (gst_value_compare_list):
5072         Fix GstValueList comparison code. Fixes #347293.
5073
5074         * tests/check/gst/gstvalue.c: (GST_START_TEST):
5075         Check to test GstValueList comparison.
5076
5077 2006-07-31  Jan Schmidt  <thaytan@mad.scientist.com>
5078
5079         * gst/gstelementfactory.c: (gst_element_factory_create):
5080         Remove unnecessary ref/unref pair
5081
5082         * gst/parse/grammar.y:
5083         Make sure to free the parse buffer on all code paths.
5084         Move a g_free up to the error handler where it's easier to see.
5085
5086         * tests/check/gst/gstevent.c: (test_event):
5087         Extending timeout for downstream travelling events to 10 seconds to
5088         hopefully avoid intermittent failure on the buildbots.
5089
5090         * tests/check/pipelines/parse-launch.c: (run_delayed_test):
5091         Don't manually set the state of the src element - it will happen as a
5092         natural consequence of the pipeline changing state, and that way it
5093         will do it in the right order too.
5094
5095 2006-07-31  Wim Taymans  <wim@fluendo.com>
5096
5097         * libs/gst/base/gstbasetransform.c:
5098         (gst_base_transform_buffer_alloc):
5099         Use OBJECT_LOCK and refcounting to get the pad caps in the
5100         buffer_alloc function because the caps could change while we are
5101         busy with them. Fixes #349105
5102
5103 2006-07-31  Wim Taymans  <wim@fluendo.com>
5104
5105         * gst/gstutils.c: (gst_pad_get_fixed_caps_func):
5106         Protect _PAD_CAPS with OBJECT_LOCK.
5107
5108 2006-07-31  Wim Taymans  <wim@fluendo.com>
5109
5110         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
5111         (gst_pad_get_property), (gst_pad_activate_pull),
5112         (gst_pad_activate_push), (gst_pad_set_blocked_async),
5113         (gst_pad_set_activate_function),
5114         (gst_pad_set_activatepull_function),
5115         (gst_pad_set_activatepush_function), (gst_pad_set_chain_function),
5116         (gst_pad_set_getrange_function),
5117         (gst_pad_set_checkgetrange_function), (gst_pad_set_event_function),
5118         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
5119         (gst_pad_set_internal_link_function), (gst_pad_set_link_function),
5120         (gst_pad_set_unlink_function), (gst_pad_set_getcaps_function),
5121         (gst_pad_set_acceptcaps_function),
5122         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
5123         (gst_pad_set_bufferalloc_function), (gst_pad_link_check_hierarchy),
5124         (gst_pad_get_caps_unlocked), (gst_pad_get_caps),
5125         (gst_pad_peer_get_caps), (gst_pad_accept_caps),
5126         (gst_pad_peer_accept_caps), (gst_pad_set_caps),
5127         (gst_pad_configure_sink), (gst_pad_configure_src),
5128         (gst_pad_get_allowed_caps), (gst_pad_get_negotiated_caps),
5129         (gst_pad_buffer_alloc_unchecked), (gst_pad_alloc_buffer_full),
5130         (gst_pad_query), (gst_pad_load_and_link), (handle_pad_block),
5131         (gst_pad_chain_unchecked), (gst_pad_push), (gst_pad_get_range),
5132         (gst_pad_send_event):
5133         Use _DEBUG_OBJECT when it makes sense.
5134         Protect GST_PAD_CAPS with the OBJECT_LOCK.
5135         Small cleanups and code reflows.
5136         Avoid caps refcounting in _accept_caps.
5137         Refactor alloc_buffer so that the code performed on the peer is in a
5138         separate function. Also if the pad does not implement a buffer alloc
5139         function, we should still check if the pad is flushing before falling
5140         back to the default allocator.
5141
5142 2006-07-31  Jan Schmidt  <thaytan@mad.scientist.com>
5143
5144         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
5145         Make all uses of identity and fakesink have silent=true to avoid
5146         serialising every passing data structure, which is breaking tests
5147         on FC4 for some unknown reason.
5148
5149 2006-07-30  Stefan Kost  <ensonic@users.sf.net>
5150
5151         * gst/parse/Makefile.am:
5152         * gst/parse/grammar.y:
5153         * gst/parse/parse.l:
5154           Reverted previous patch as it required to bump the flex dependency to
5155           2.5.31, where fc4/5 seem to ship only the ancient 2.5.4a :(
5156
5157 2006-07-30  Stefan Kost  <ensonic@users.sf.net>
5158
5159         Patch by: Marc-Andre Lureau <marcandre.lureau@gmail.com>
5160
5161         * gst/parse/Makefile.am:
5162         * gst/parse/grammar.y:
5163         * gst/parse/parse.l:
5164           push & pop the state of the lexer for reentrant use case
5165           Fixes #349180
5166
5167 2006-07-29  Tim-Philipp Müller  <tim at centricular dot net>
5168
5169         * libs/gst/base/gstbasesrc.h:
5170           Note in the docs that the ::newsegment vfunc is not actually used by
5171           GstBaseSrc.
5172
5173 2006-07-28  Wim Taymans  <wim@fluendo.com>
5174
5175         * libs/gst/base/gstcollectpads.c:
5176         (gst_collect_pads_set_flushing_unlocked), (gst_collect_pads_pop),
5177         (gst_collect_pads_clear), (gst_collect_pads_flush),
5178         (gst_collect_pads_event), (gst_collect_pads_chain):
5179         When flushing a pad, also clear the queued buffer so that we don't
5180         accidentally use it when we shouldn't.
5181         Fix leaks by inreffing incomming buffer.
5182         Flush out queued buffers in case of errors.
5183         Fixes #347452.
5184
5185 2006-07-28  Wim Taymans  <wim@fluendo.com>
5186
5187         * docs/random/phonon-gst:
5188         Random notes about a Phonon backend.
5189
5190 2006-07-27  Jan Schmidt  <thaytan@mad.scientist.com>
5191
5192         * libs/gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
5193         Extra debug output
5194         * tests/check/libs/gdp.c: (gst_dp_suite):
5195         Take a whack at fixing the ppc compile using a different define to
5196         disable the broken test.
5197
5198         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
5199         Remove excess g_print()
5200
5201 2006-07-27  Jan Schmidt <thaytan@mad.scientist.com>
5202
5203         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe):
5204         Oops, meant to uncomment this line too to dampen the noise a bit.
5205
5206 2006-07-27  Jan Schmidt <thaytan@mad.scientist.com>
5207
5208         * gst/parse/grammar.y:
5209         * gst/parse/parse.l:
5210         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe),
5211         (GST_START_TEST), (parse_suite):
5212         Fix some of the leaks exposed by extending the parse-launch testsuite,
5213         and move the 3 I can't figure out into a separate test that won't run
5214         the pipelines unless the appropriate line is uncommented.
5215
5216 2006-07-27  Tim-Philipp Müller  <tim at centricular dot net>
5217
5218         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
5219           Requesting 0 bytes before the end of the file should result in
5220           FLOW_OK and an empty buffer, not FLOW_UNEXPECTED. Thank you
5221           unit test.
5222
5223 2006-07-27  Wim Taymans  <wim@fluendo.com>
5224
5225         * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_get_structure):
5226         Fix useless assert, a uint is always positive.
5227
5228         * gst/gststructure.c: (gst_structure_nth_field_name),
5229         (gst_structure_foreach), (gst_structure_map_in_place):
5230         Check input arguments for public functions to avoid obvious crashes.
5231
5232         * plugins/elements/gstfakesink.c: (gst_fake_sink_render):
5233         * plugins/elements/gstfakesink.h:
5234         Do less useless typechecking.
5235
5236 2006-07-27  Tim-Philipp Müller  <tim at centricular dot net>
5237
5238         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init):
5239           Do not use mmap() by default since there are a number of error
5240           conditions that we would like to handle in a non-fatal way that
5241           will result in a SIGBUS if we use mmap(). Examples: external
5242           devices (USB harddrive, portable music player) being unplugged
5243           while in use; file on mounted CD/DVD that can't be read because
5244           the medium is partly damaged. Fixes #348455 and #348475.
5245
5246 2006-07-27  Jan Schmidt  <thaytan@mad.scientist.com>
5247
5248         * gst/gstquery.h:
5249         Delete unused and misleading define of GST_QUERY_TYPE_RATE_DEN -
5250         rates are a gdouble
5251
5252 2006-07-26  Stefan Kost  <ensonic@users.sf.net>
5253
5254         * gst/gstregistry.c:
5255           Move big documentation comment into class section header, so that it
5256           appears in the API docs.
5257
5258 2006-07-26  Jan Schmidt  <thaytan@mad.scientist.com>
5259
5260         * docs/gst/gstreamer-sections.txt:
5261         Oops. Commit the docs additions too for new API.
5262         Also, remove the mention of the non-existent GST_QUERY_TYPE_RATE_DEN
5263
5264 2006-07-26  Jan Schmidt  <thaytan@mad.scientist.com>
5265
5266         * gst/gststructure.c: (gst_structure_id_set),
5267         (gst_structure_id_set_valist):
5268         * gst/gststructure.h:
5269         Add API for setting values into structures without performing
5270         a quark lookup, if the appropriate quark is already known.
5271
5272         API: gst_structure_id_set
5273         API: gst_structure_id_set_valist
5274
5275         * gst/parse/grammar.y:
5276         * gst/parse/parse.l:
5277         Remove some dead code shown by the coverage information.
5278         Don't throw a critical g_warning when encountering a syntax error,
5279         just warn and let the normal error path handle it.
5280
5281         * plugins/elements/gstelements.c:
5282         Bump the rank of filesink up to PRIMARY so that it is preferred over
5283         gnomevfssink for file:// sink uri's
5284
5285         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe),
5286         (GST_START_TEST), (run_delayed_test),
5287         (gst_parse_test_element_base_init),
5288         (gst_parse_test_element_class_init), (gst_parse_test_element_init),
5289         (gst_parse_test_element_change_state),
5290         (gst_register_parse_element), (parse_suite):
5291         Beef up the tests for parse syntax to check that more error cases
5292         fail as they are supposed to. Increases the test coverage a bit.
5293
5294 2006-07-26  Tim-Philipp Müller  <tim at centricular dot net>
5295
5296         * docs/manual/basics-elements.xml:
5297           Fix gst_element_link() example.
5298
5299         * gst/gstutils.c:
5300           Mention in API docs that one should usually gst_bin_add()
5301           elements to a bin or pipeline before doing the linking.
5302           
5303 2006-07-26  Wim Taymans  <wim@fluendo.com>
5304
5305         * gst/gstbuffer.c: (gst_buffer_get_type), (gst_buffer_new),
5306         (gst_subbuffer_get_type), (gst_buffer_create_sub):
5307         Avoid function call for known types by keeping the buffer and
5308         subbuffer GType global.
5309
5310         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
5311         Random silly optimisations in read() path.
5312
5313 2006-07-26  Jan Schmidt  <thaytan@mad.scientist.com>
5314
5315         * tools/gst-launch.c: (main):
5316           If the top-level of the parse is a normal bin, it doesn't do the
5317           right logic to run as a top-level element, so place it inside a
5318           pipeline.
5319
5320 2006-07-25  Tim-Philipp Müller  <tim at centricular dot net>
5321
5322         * plugins/elements/gstfilesrc.c: (gst_file_src_set_property):
5323           Remove superfluous g_object_notify() calls, GObject does
5324           that for us automatically.
5325
5326 2006-07-25  Stefan Kost  <ensonic@users.sf.net>
5327
5328         * gst/gstinfo.h:
5329           on Win32, use dllspec to export the debug category symbols
5330
5331 2006-07-24  Tim-Philipp Müller  <tim at centricular dot net>
5332
5333         * gst/gsttaglist.c: (_gst_tag_initialize):
5334           Allow more than one GST_TAG_IMAGE per taglist.
5335
5336 2006-07-24  Thomas Vander Stichele  <thomas at apestaart dot org>
5337
5338         * gst/gstminiobject.c:
5339           update docs
5340         * plugins/elements/gstfdsrc.c: (gst_fd_src_set_property),
5341         (gst_fd_src_create):
5342           log recurring events at LOG level
5343           add more debug for when the fd gets set
5344
5345 2006-07-21  Stefan Kost  <ensonic@users.sf.net>
5346
5347         * gst/gstparse.c: (gst_parse_launch):
5348           Also remove reentrance checks if flex is MT safe (#348179)
5349          Fix my empty ChangeLog entry below
5350
5351 2006-07-21  Andy Wingo  <wingo@pobox.com>
5352
5353         * docs/libs/gstreamer-libs-sections.txt: Attempt to pacify buildbot.
5354
5355         * libs/gst/check/Makefile.am
5356         (libgstcheck_@GST_MAJORMINOR@include_HEADERS)
5357         (libgstcheck_@GST_MAJORMINOR@_la_SOURCES): 
5358         * libs/gst/check/gstbufferstraw.h:
5359         * libs/gst/check/gstbufferstraw.c: Add some new hype testing
5360         functions, thus proving I am still a GStreamer haxor. OK I wrote
5361         them a long time ago, but anyways.
5362
5363 2006-07-21  Stefan Kost  <ensonic@users.sf.net>
5364
5365         * configure.ac:
5366         * gst/gstparse.c: (gst_parse_launch):
5367           Check for flex version and omit mutex if we have a MT save flex
5368           (fixes #348179)
5369
5370 2006-07-21  Wim Taymans  <wim@fluendo.com>
5371
5372         * gst/gstparse.c: (gst_parse_launch):
5373         Protect recursive calls to _parse with a recursive mutex
5374         and busy flag.
5375
5376 2006-07-21  Wim Taymans  <wim@fluendo.com>
5377
5378         * tests/check/gst/gstpad.c: (GST_START_TEST):
5379         Fix leak in test.
5380
5381 2006-07-20  Stefan Kost  <ensonic@users.sf.net>
5382
5383         * gst/gstparse.c: (gst_parse_launch):
5384           Do not hang on recursive usage of gst_parse_launch()
5385
5386 2006-07-20  Tim-Philipp Müller  <tim at centricular dot net>
5387
5388         * gst/gsttaglist.c:
5389           Add some more docs, comments and FIXME 0.11s here and there
5390           and also fix some typos.
5391
5392 2006-07-20  Tim-Philipp Müller  <tim at centricular dot net>
5393
5394         * gst/gstsegment.h:
5395           Convert tabs to spaces for better readability. 
5396
5397 2006-07-20  Edward Hervey  <edward@fluendo.com>
5398
5399         * tests/check/libs/gdp.c: (gst_dp_suite):
5400         the test_buffer test fails at line 140 on ppc64 at the following
5401         check:
5402         fail_unless (GST_BUFFER_FLAG_IS_SET (newbuffer,
5403                 GST_BUFFER_FLAG_IN_CAPS),
5404                 "GST_BUFFER_IN_CAPS flag should have been copied !");
5405         See bug #348114 for more details.
5406
5407 2006-07-19  Tim-Philipp Müller  <tim at centricular dot net>
5408
5409         * docs/pwg/advanced-scheduling.xml:
5410         * gst/gstpad.c:
5411           Fix typos (#348000).
5412
5413 2006-07-18  Tim-Philipp Müller  <tim at centricular dot net>
5414
5415         * docs/pwg/intro-basics.xml:
5416           Fix wrong links (#347927).
5417
5418 2006-07-18  Stefan Kost  <ensonic@users.sf.net>
5419
5420         * gst/gstregistry.h:
5421         * gst/gstregistryxml.c: (load_feature),
5422         (gst_registry_xml_read_cache), (gst_registry_xml_save_feature):
5423         * win32/common/config.h:
5424           make --disable-index work (#342564)
5425
5426 2006-07-18  Wim Taymans  <wim@fluendo.com>
5427
5428         Patch by: Peter Kjellerstedt <pkj at axis dot com>
5429
5430         * gst/Makefile.am:
5431         * gst/gsttrace.h:
5432         The attached patch adds two missing defines to gsttrace.h when tracing
5433         is disabled.  It also corrects one existing define.
5434         Fixes #347756.
5435
5436 2006-07-17  Wim Taymans  <wim@fluendo.com>
5437
5438         * docs/gst/gstreamer-sections.txt:
5439         * gst/gst.c: (gst_segtrap_is_enabled), (gst_segtrap_set_enabled):
5440         * gst/gst.h:
5441         * gst/gstplugin.c: (_gst_plugin_fault_handler_restore):
5442         Add two functions to check and change the SIGSEGV behaviour
5443         when loading plugins.
5444         Don't mess with the SIGSEGV handler when we were told not to.
5445         Fixes #347794.
5446         API: gst_segtrap_is_enabled
5447         API: gst_segtrap_set_enabled
5448
5449 2006-07-14  Wim Taymans  <wim@fluendo.com>
5450
5451         * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length):
5452         * tests/check/elements/filesrc.c: (GST_START_TEST):
5453         Revert fix for regression in #347408 after release.
5454
5455 2006-07-14  Tim-Philipp Müller  <tim at centricular dot net>
5456
5457         Patch by: Antoine Tremblay <hexa00 at gmail com>
5458
5459         * gst/gstutils.c: (gst_element_unlink):
5460           Free iterator when done (#347311).
5461
5462         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
5463           And add a test case for this.
5464
5465 2006-07-14  Jan Schmidt  <thaytan@mad.scientist.com>
5466
5467         * configure.ac:
5468         Bump nano back to CVS
5469
5470 === release 0.10.9 ===
5471
5472 2006-07-13  Jan Schmidt <thaytan@mad.scientist.com>
5473
5474         * configure.ac:
5475           releasing 0.10.9, "On the road again"
5476
5477 2006-07-13  Wim Taymans  <wim@fluendo.com>
5478
5479         * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length):
5480         * tests/check/elements/filesrc.c: (GST_START_TEST):
5481         Revert pull-0 fix for release. Disable check. Fixes #347408.
5482
5483 2006-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
5484
5485         * libs/gst/dataprotocol/dataprotocol.c:
5486         (gst_dp_event_from_packet_1_0):
5487           Fixes #347337: failure to deserialize event packets with
5488           empty payload (only event type)
5489
5490 2006-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
5491
5492         * gst/Makefile.am:
5493           do not install a .c file in the header directory
5494
5495 2006-07-13  Edward Hervey  <edward@fluendo.com>
5496
5497         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked):
5498         GhostPad no longer implicitely use the padtemplates of the targets.
5499         Fixes #347384
5500
5501 2006-07-11  Jan Schmidt  <thaytan@mad.scientist.com>
5502
5503         * gst/gstvalue.c: (gst_value_compare_list),
5504         (gst_value_compare_array), (_gst_value_initialize):
5505         * tests/check/gst/gstvalue.c: (GST_START_TEST):
5506         Make GstValueArray comparison be order dependent as designed.
5507         Add checks for value lists and value array comparisons.
5508         Fixes #347221
5509
5510 2006-07-11  Edward Hervey  <edward@fluendo.com>
5511
5512         * gst/gstbin.c: (activate_pads),
5513         (iterator_activate_fold_with_resync), (gst_bin_src_pads_activate),
5514         (gst_bin_change_state_func):
5515         (de)activate src pads before calling state_change on the childs.
5516         This is to avoid the case where a src ghostpad is blocked (holding the
5517         stream lock), which would block the deactivation of the ghostpad's
5518         target pad.
5519         * gst/gstghostpad.c: (gst_proxy_pad_do_query_type),
5520         (gst_proxy_pad_do_event), (gst_proxy_pad_do_query),
5521         (gst_proxy_pad_do_internal_link), (gst_proxy_pad_do_bufferalloc),
5522         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
5523         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
5524         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
5525         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target_unlocked),
5526         (gst_proxy_pad_set_target), (gst_proxy_pad_get_internal),
5527         (gst_proxy_pad_dispose), (gst_proxy_pad_init),
5528         (gst_ghost_pad_parent_set), (gst_ghost_pad_parent_unset),
5529         (gst_ghost_pad_class_init),
5530         (gst_ghost_pad_internal_do_activate_push),
5531         (gst_ghost_pad_internal_do_activate_pull),
5532         (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
5533         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
5534         (gst_ghost_pad_dispose), (gst_ghost_pad_new_no_target),
5535         (gst_ghost_pad_new), (gst_ghost_pad_set_target):
5536         GhostPads now create their internal GstProxyPad at creation (and not
5537         when they're linked, as it was being done previously).
5538         The internal and target pads are linked straight away.
5539         The data will also travel through the other pad in order to make
5540         pad blocking and probes non-hackish (the probe/block now really happens
5541         on the GhostPad and not on the target).
5542         * gst/gstpad.c: (gst_pad_set_blocked_async),
5543         (gst_pad_link_prepare), (gst_pad_push_event):
5544         Remove previous ghostpad cruft.
5545         * gst/gstutils.c: (gst_pad_add_data_probe),
5546         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
5547         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
5548         (gst_pad_remove_buffer_probe):
5549         Remove previous ghost pad cruft.
5550         Added more detailed debug statements.
5551         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
5552         Fix the testsuite for refcounting changes.
5553         The comments about who has references were correct, but the refcount
5554         being checked wasn't the same (!?!).
5555
5556         Fixes #341029
5557
5558 2006-07-10  Stefan Kost  <ensonic@users.sf.net>
5559
5560         * docs/gst/gstreamer-sections.txt:
5561         * gst/gstconfig.h.in:
5562         More docs for configuration options, add docs to gtk-doc.
5563
5564 2006-07-10  Stefan Kost  <ensonic@users.sf.net>
5565
5566         * gst/Makefile.am:
5567         * gst/gstconfig.h.in:
5568         * win32/common/config.h:
5569         Fix build when disabling tracing (fixes #344016). Also start to document
5570         the defines that disable the sub-systems.
5571
5572 2006-07-10  Edward Hervey  <edward@fluendo.com>
5573
5574         * gst/gst.c: (ensure_current_registry_forking):
5575         let's make valgrind happy...
5576
5577 2006-07-09  Wim Taymans  <wim@fluendo.com>
5578
5579         * gst/gstelement.c: (activate_pads),
5580         (iterator_activate_fold_with_resync), (gst_element_pads_activate):
5581         Better pad activation code: Reset the collect value too on resync.
5582         Add some comments.
5583
5584 2006-07-09  Wim Taymans  <wim@fluendo.com>
5585
5586         * gst/gstpad.c: (gst_pad_init), (gst_pad_activate_pull),
5587         (gst_pad_activate_push):
5588         Use some more macros where it makes sense.
5589         Allow pad mode switching instead of asserting. When a pad
5590         is activated in one mode and we activate it in another, 
5591         deactivate it first before activating it in a different mode.
5592         Fixes #329198.
5593
5594 2006-07-08  Andy Wingo  <wingo@pobox.com>
5595
5596         * tools/gst-launch.c (main): Handle err == NULL.
5597
5598         * gst/gst.c (init_post, ensure_current_registry)
5599         (ensure_current_registry_forking)
5600         (ensure_current_registry_nonforking): Reduce #ifdef ratnest by
5601         factoring out the registry scanning into separate functions. Don't
5602         fork for the rescan is GST_REGISTRY_FORK=no; useful in debugging.
5603         Better environment var name/interface suggestions accepted.
5604
5605 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
5606
5607         * gst/gstobject.c: (gst_object_set_name_default),
5608         (gst_object_set_name):
5609           Random micro-optimisation: don't use a hash table
5610           with strings as keys and the usual strdup/strcmp
5611           involved, but rather just use the GQuark of the
5612           type name as key, since it needs to be looked up
5613           anyway to get the type name string.
5614
5615         * tests/check/gst/gstobject.c: (GST_START_TEST):
5616           Fix various leaks.
5617
5618 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
5619
5620         * gst/gstbin.c: (compare_interface), (gst_bin_get_by_interface),
5621         (gst_bin_iterate_all_by_interface):
5622           Can't use GPOINTER_TO_INT and GINT_TO_POINTER with GTypes.
5623           GTypes are gulongs and thus the top 4 bytes might be cut
5624           off on some platforms when doing GPOINTER_TO_INT, leading
5625           to invalid GTypes and bad things happening (see RH bug #179654).
5626           Also add a check to make sure the type passed in is really
5627           an interface type.
5628
5629 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
5630
5631         * .cvsignore:
5632           Ignore more.
5633
5634 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
5635
5636         * Makefile.am:
5637         * configure.ac:
5638         * gst-element-check.m4:
5639         * gst-element-check.m4.in:
5640           Make gst-element-check-$VERSION.m4 call gst-inspect-$VERSION
5641           instead of the unversioned gst-inspect (#324176, #168659).
5642
5643 2006-07-06  Wim Taymans  <wim@fluendo.com>
5644
5645         * gst/gstmessage.h:
5646         Use a valid int for the _MESSAGE_ANY enum value to avoid compiler
5647         warnings.
5648
5649 2006-07-06  Wim Taymans  <wim@fluendo.com>
5650
5651         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
5652         (gst_base_src_wait), (gst_base_src_update_length),
5653         (gst_base_src_get_range), (gst_base_src_default_check_get_range),
5654         (gst_base_src_check_get_range), (gst_base_src_pad_check_get_range),
5655         (gst_base_src_loop), (gst_base_src_start),
5656         (gst_base_src_activate_pull):
5657         Update docs.
5658         blocksize == 0 now means the default blocksize when working in push
5659         based mode.
5660         Remove some pointless asserts in _wait function.
5661         Fix offset/length calculations and EOS handling. We can now pull 0
5662         bytes as well, which is allowed.
5663         use _check_get_range() to decide if we can operate in _pull based
5664         mode.
5665         Fix refcounting leak when check_get_range function was not 
5666         implemented.
5667         API GstBaseSrc::blocksize range can be 0 too now (default)
5668
5669         * tests/check/elements/filesrc.c: (GST_START_TEST),
5670         (filesrc_suite):
5671         Added check to test _get_range() behaviour.
5672
5673 2006-07-06  Wim Taymans  <wim@fluendo.com>
5674
5675         * gst/gstpad.c: (gst_pad_chain_unchecked), (gst_pad_chain),
5676         (gst_pad_push), (gst_pad_check_pull_range), (gst_pad_get_range),
5677         (gst_pad_pull_range):
5678         * gst/gstpad.h:
5679         Lots of comments and docs added to the pad functions.
5680         Flesh out the expected behaviour of the get_range() functions.
5681
5682 2006-07-06  Wim Taymans  <wim@fluendo.com>
5683
5684         * gst/gstbus.h:
5685         * gst/gstclock.h:
5686         * gst/gstevent.h:
5687         * gst/gstiterator.h:
5688         * gst/gstpad.h:
5689         * gst/gstplugin.h:
5690         * gst/gsttask.h:
5691         Remove comma at end of enumerator list. 
5692
5693 2006-07-05  Sebastien Moutte  <sebastien@moutte.net>
5694
5695         * win32/common/libgstbase.def:
5696         * win32/common/libgstdataprotocol.def:
5697         * win32/common/libsgtreamer.def:
5698         Add new exported functions.
5699
5700 2006-07-05  Wim Taymans  <wim@fluendo.com>
5701
5702         * libs/gst/base/gstpushsrc.c: (gst_push_src_check_get_range):
5703         Add some more docs here and there.
5704
5705 2006-07-05  Wim Taymans  <wim@fluendo.com>
5706
5707         * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_object),
5708         (gst_base_sink_loop), (gst_base_sink_get_position):
5709         When operating in pull mode update the offset so that we
5710         read sequentially.
5711
5712 2006-07-05  Wim Taymans  <wim@fluendo.com>
5713
5714         * gst/gstregistryxml.c: (read_string):
5715         Avoid strdup. (will happen in libxml, but hey!)
5716
5717         * gst/gsturi.c:
5718         Add some more docs.
5719
5720 2006-07-05  Wim Taymans  <wim@fluendo.com>
5721
5722         * gst/gstbuffer.c: (_gst_buffer_copy), (gst_buffer_create_sub):
5723         * tests/check/gst/gstbuffer.c: (GST_START_TEST),
5724         (gst_buffer_suite):
5725         No point in checking if the size of the subbuffer > 0, the
5726         code handles it correclty as demonstrated by unit test.
5727         Also add a unit test for the zero sized _new_and_alloc and
5728         _copy. Fixes #346663.
5729
5730 2006-07-05  Wim Taymans  <wim@fluendo.com>
5731
5732         * libs/gst/base/gstbasetransform.c:
5733         (gst_base_transform_prepare_output_buffer),
5734         (gst_base_transform_buffer_alloc),
5735         (gst_base_transform_handle_buffer):
5736         Make sure the buffer we pass to transform_ip has a refcount of
5737         1 and thus is writable. Fixes #343196
5738
5739 2006-07-04  Jan Schmidt  <thaytan@mad.scientist.com>
5740
5741         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
5742         (gst_file_src_init), (gst_file_src_set_property),
5743         (gst_file_src_get_property), (gst_file_src_map_region):
5744         * plugins/elements/gstfilesrc.h:
5745         Add "sequential" property, off by default, to use madvise and hint
5746         to the kernel that sequential access is desired.
5747         Touch all retrieved pages by default to ensure they are pulled
5748         into memory. (Closes #345720)
5749
5750 2006-07-03  Wim Taymans  <wim@fluendo.com>
5751
5752         * docs/design/part-block.txt:
5753         * docs/design/part-dynamic.txt:
5754         Small docs updates.
5755
5756 2006-07-03  Wim Taymans  <wim@fluendo.com>
5757
5758         * gst/gstcaps.c: (gst_caps_new_empty), (_gst_caps_free),
5759         (gst_caps_unref), (gst_static_caps_get),
5760         (gst_caps_append_structure):
5761         * gst/gstclock.c: (gst_clock_entry_new), (_gst_clock_id_free):
5762         Use GSlice when the glib we build against is >= 2.10
5763
5764 2006-07-03  Wim Taymans  <wim@fluendo.com>
5765
5766         * gst/gstelement.c: (gst_element_pads_activate):
5767         Small cleanup in pad activation code.
5768
5769 2006-07-03  Wim Taymans  <wim@fluendo.com>
5770
5771         Patch by: Peter Kjellerstedt <pkj at axis dot com>
5772
5773         * gst/gst-i18n-app.h:
5774         * gst/gst-i18n-lib.h:
5775         * tools/gst-inspect.c: (print_signal_info):
5776         The attached patch will make the inclusion of gettext.h unconditional in
5777         gst/gst-i18n-app.h and gst/gst-i18n-lib.h, and it will remove the inclusion of
5778         libintl.h in tools/gst-inspect.c.
5779         This allows use of --disable-nls again and fixes #344642.
5780
5781 2006-07-03  Edward Hervey  <edward@fluendo.com>
5782
5783         * gst/gstpad.c: (handle_pad_block), (gst_pad_push_event):
5784         Implement pad blocking on events according to part-block.txt.
5785         More comments on behaviour.
5786         * tests/check/gst/gstevent.c: (test_event):
5787         Send event to peer pad of blocked pad (else it will block).
5788
5789 2006-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
5790
5791         * libs/gst/check/gstcheck.c: (gst_check_message_error),
5792         (gst_check_run_suite):
5793           if we get the wrong message, give us the types as string
5794         * plugins/elements/gstfilesrc.c: (gst_file_src_start):
5795           Fix a translatable
5796         * tests/check/elements/filesrc.c: (GST_START_TEST):
5797           add a test for trying to open a non-existing file
5798
5799 2006-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
5800
5801         * tests/check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
5802           add a test for adding self
5803
5804 2006-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
5805
5806         * libs/gst/check/gstcheck.h:
5807           add some assert_ as alias for fail_unless_*
5808         * tests/check/gst/gst.c: (GST_START_TEST), (gst_suite):
5809           increase test coverage
5810
5811 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
5812
5813         * Makefile.am:
5814           include lcov.mak for lcov coverage generation
5815         * tools/Makefile.am:
5816           add to CLEANFILES
5817
5818 2006-07-02  Edward Hervey  <edward@fluendo.com>
5819
5820         * tests/check/elements/.cvsignore:
5821         moaping
5822
5823 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
5824
5825         * configure.ac:
5826           don't set CFLAGS and friends for gcov, done from GST_GCOV now
5827         * tests/check/Makefile.am:
5828           clean up gcov files
5829
5830 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
5831
5832         * gst/gstcaps.c: (gst_caps_remove_and_get_structure):
5833           remove gst_caps_simplify; it was not declared and not used
5834           and deprecated in 0.8
5835
5836 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
5837
5838         * docs/faq/gst-uninstalled:
5839           don't put empty paths on PYTHONPATH
5840         * docs/gst/gstreamer-sections.txt:
5841           remove some symbols that are not there
5842
5843 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
5844
5845         * gst/gstcaps.c: (gst_caps_compare_structures):
5846           whitespace fixes
5847         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
5848         * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
5849           add more tests
5850
5851 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
5852
5853         * libs/gst/dataprotocol/Makefile.am:
5854           build dataprotocol test by linking to the lib, instead of
5855           compiling the source, so we get coverage
5856         * tests/check/Makefile.am:
5857         * tests/check/elements/filesrc.c: (event_func), (setup_filesrc),
5858         (cleanup_filesrc), (GST_START_TEST), (filesrc_suite):
5859           add a test for filesrc
5860
5861 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
5862
5863         * tests/check/gst/gststructure.c: (GST_START_TEST),
5864         (gst_structure_suite):
5865           Push coverage from 59.04% to 70.00%
5866
5867 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
5868
5869         * tests/check/Makefile.am:
5870           gst-inspect every element; this makes sure that we also get
5871           coverage on element's get/set functions
5872
5873 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
5874
5875         * configure.ac:
5876           set CFLAGS and friends to -O0 if gcov is being used
5877           add GCOV LIBS
5878         * gst/Makefile.am:
5879         * libs/gst/base/Makefile.am:
5880         * libs/gst/check/Makefile.am:
5881         * libs/gst/controller/Makefile.am:
5882         * libs/gst/dataprotocol/Makefile.am:
5883         * libs/gst/net/Makefile.am:
5884         * plugins/elements/Makefile.am:
5885         * plugins/indexers/Makefile.am:
5886           add makefile rules to generate gcov data and clean up
5887         * tests/check/Makefile.am:
5888           add a coverage target that generates an html overview
5889           of coverage data
5890
5891 2006-07-01  Thomas Vander Stichele  <thomas at apestaart dot org>
5892
5893         * tests/check/elements/fakesink.c:
5894         * tests/check/elements/fakesrc.c:
5895         * tests/check/elements/fdsrc.c:
5896         * tests/check/elements/identity.c:
5897         * tests/check/generic/sinks.c: (gst_sinks_suite):
5898         * tests/check/generic/states.c:
5899         * tests/check/gst/gst.c:
5900         * tests/check/gst/gstabi.c:
5901         * tests/check/gst/gstbin.c:
5902         * tests/check/gst/gstbuffer.c: (gst_buffer_suite):
5903         * tests/check/gst/gstbus.c: (gst_bus_suite):
5904         * tests/check/gst/gstcaps.c: (GST_START_TEST):
5905         * tests/check/gst/gstelement.c:
5906         * tests/check/gst/gstevent.c: (gst_event_suite):
5907         * tests/check/gst/gstghostpad.c:
5908         * tests/check/gst/gstiterator.c: (gst_iterator_suite):
5909         * tests/check/gst/gstmessage.c: (gst_message_suite):
5910         * tests/check/gst/gstminiobject.c:
5911         * tests/check/gst/gstobject.c:
5912         * tests/check/gst/gstpad.c:
5913         * tests/check/gst/gstpipeline.c:
5914         * tests/check/gst/gstplugin.c:
5915         * tests/check/gst/gstquery.c: (gst_query_suite):
5916         * tests/check/gst/gstsegment.c: (gst_segment_suite):
5917         * tests/check/gst/gststructure.c:
5918         * tests/check/gst/gstsystemclock.c:
5919         * tests/check/gst/gsttag.c:
5920         * tests/check/gst/gsttask.c: (gst_task_suite):
5921         * tests/check/gst/gstutils.c:
5922         * tests/check/gst/gstvalue.c:
5923         * tests/check/libs/adapter.c:
5924         * tests/check/libs/basesrc.c:
5925         * tests/check/libs/collectpads.c:
5926         * tests/check/libs/controller.c:
5927         * tests/check/libs/gdp.c: (gst_dp_suite):
5928         * tests/check/libs/gstnetclientclock.c:
5929         * tests/check/libs/gstnettimeprovider.c:
5930         * tests/check/libs/libsabi.c: (libsabi_suite):
5931         * tests/check/libs/typefindhelper.c:
5932         * tests/check/pipelines/cleanup.c:
5933         * tests/check/pipelines/parse-launch.c:
5934         * tests/check/pipelines/simple-launch-lines.c:
5935         * tests/check/pipelines/stress.c: (stress_suite):
5936           use the new macro
5937
5938 2006-07-01  Thomas Vander Stichele  <thomas at apestaart dot org>
5939
5940         * libs/gst/check/gstcheck.c: (gst_check_run_suite):
5941         * libs/gst/check/gstcheck.h:
5942           create a macro and function so that the simple unit test
5943           case can be just one macro to create main()
5944
5945 2006-06-30  Tim-Philipp Müller  <tim at centricular dot net>
5946
5947         * gst/gstbin.c: (gst_bin_restore_thyself):
5948         * gst/gstxml.c: (gst_xml_make_element):
5949           Fix deserialisation from XML. Set parent manually
5950           instead of using gst_bin_add(), since gst_bin_add()
5951           will unlink all pads of the element being added.
5952           Fixes #341667.
5953
5954 2006-06-28  Tim-Philipp Müller  <tim at centricular dot net>
5955
5956         Patch by: Peter Kjellerstedt <pkj at axis com>
5957
5958         * gst/gst.c: (prepare_for_load_plugin_func), (split_and_iterate):
5959           Fix missing g_strdup() and double free when using the
5960           --gst-plugin-load command line option (#346097).
5961
5962 2006-06-23  Tim-Philipp Müller  <tim at centricular dot net>
5963
5964         * gst/gstinfo.c:
5965           Promote GST_DEBUG_CATEGORY_STATIC in example in docs.
5966
5967         * libs/gst/net/gstnetclientclock.c:
5968         * libs/gst/net/gstnettimeprovider.c:
5969           Use GST_DEBUG_CATEGORY_STATIC here too (#342503).
5970
5971 2006-06-23  Tim-Philipp Müller  <tim at centricular dot net>
5972
5973         * docs/manual/advanced-dataaccess.xml:
5974           Fix buffer probe example compilation in
5975           ADM (#345708).
5976         
5977 2006-06-22  Edward Hervey  <edward@fluendo.com>
5978
5979         * gst/gstelement.c: (gst_element_pads_activate):
5980         We need to deactivate src pads first and then sink pads.
5981         The reason is the src pads might be blocking while holding the streaming
5982         lock, so we need to deactivate them first so that deactivating the sink
5983         pads doesn't block (since it will require the streaming lock).
5984
5985 2006-06-22  Wim Taymans  <wim@fluendo.com>
5986
5987         * libs/gst/base/gstbasetransform.c:
5988         (gst_base_transform_buffer_alloc):
5989         Forgot to remove two unneeded unrefs.
5990         Simplify a check _is_equal allready checks the obvious case.
5991
5992 2006-06-22  Wim Taymans  <wim@fluendo.com>
5993
5994         * docs/design/part-block.txt:
5995         Some docs about what pad_block should do.
5996
5997 2006-06-22  Wim Taymans  <wim@fluendo.com>
5998
5999         * gst/gstcaps.c: (gst_caps_replace):
6000         Fix crasher when passed NULL. Doc clarification.
6001         Optimize for the trivial case.
6002
6003         * gst/gstpipeline.c: (gst_pipeline_change_state):
6004         Small cleanups.
6005
6006         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
6007         Small documentation cleanup.
6008
6009         * libs/gst/base/gstbasetransform.c:
6010         (gst_base_transform_buffer_alloc):
6011         Don't use silly gst_pad_get_negotiated_caps, GST_PAD_CAPS
6012         is what we need and it avoids a whole lot of redundant 
6013         refcount operations.
6014
6015 2006-06-22  Tim-Philipp Müller  <tim at centricular dot net>
6016
6017         Patch by: Philip Jägenstedt  <philip at lysator liu se>
6018
6019         * docs/manual/advanced-dataaccess.xml:
6020           Fix 'Embedding static elements' section to use
6021           GST_PLUGIN_DEFINE_STATIC (#345607).
6022
6023 2006-06-21  Tim-Philipp Müller  <tim at centricular dot net>
6024
6025         * tests/check/pipelines/simple-launch-lines.c: (test_stop_from_app):
6026           Attempt to 'fix' spuriously failing test case: it seems like the
6027           timeout of half a second is simply too small when the system is under
6028           load otherwise, and the timeout doesn't really seem to serve any
6029           particular purpose here. Give the pipeline a few seconds to preroll
6030           first, and then give it another half a second to go from PAUSED to
6031           PLAYING and marshal the message into the main thread.
6032
6033 2006-06-21  Tim-Philipp Müller  <tim at centricular dot net>
6034
6035         * tools/gst-feedback-m.m:
6036           Don't only use unversioned tools, try versioned tools as well
6037           (#345086).
6038
6039 2006-06-21  Tim-Philipp Müller  <tim at centricular dot net>
6040
6041         * gst/gstbus.c: (gst_bus_class_init):
6042           Fix some typos, make docs more explicit.
6043
6044 2006-06-20  Wim Taymans  <wim@fluendo.com>
6045
6046         * tests/check/gst/gstghostpad.c: (block_callback),
6047         (GST_START_TEST), (gst_ghost_pad_suite):
6048         Added some more ghostpad tests, mainly blocking
6049         and probes.
6050
6051 2006-06-16  Wim Taymans  <wim@fluendo.com>
6052
6053         * plugins/elements/gstfilesink.c: (gst_file_sink_open_file),
6054         (gst_file_sink_close_file), (gst_file_sink_do_seek),
6055         (gst_file_sink_event), (gst_file_sink_render):
6056         * plugins/elements/gstfilesink.h:
6057         Check if we can seek in the file instead of assuming
6058         we always can. Post an error when we are asked to seek in a
6059         non-seekable file (like a fifo). Fixes #343312.
6060         Some cleanups.
6061
6062 2006-06-16  Tim-Philipp Müller  <tim at centricular dot net>
6063
6064         * tools/gst-launch.1.in:
6065           Un-garble (fourcc) bit in filtered caps section.
6066
6067 2006-06-16  Tim-Philipp Müller  <tim at centricular dot net>
6068
6069         * docs/manual/advanced-autoplugging.xml:
6070         * docs/manual/basics-helloworld.xml:
6071         * docs/manual/highlevel-components.xml:
6072           Don't leak bus reference in sample code.
6073
6074 2006-06-15  Tim-Philipp Müller  <tim at centricular dot net>
6075
6076         * autogen.sh:
6077           Add default for new --enable-plugin-docs switch.
6078
6079         * configure.ac:
6080           Use new GST_PLUGIN_DOCS macro to check for pyxml etc.
6081           Fixes #344039.
6082
6083         * docs/Makefile.am:
6084           Use new ENABLE_PLUGIN_DOCS conditional.
6085
6086 2006-06-14  Wim Taymans  <wim@fluendo.com>
6087
6088         * gst/gstbin.c: (bin_query_duration_done), (gst_bin_query):
6089         Make it clear with a FIXME and a real define what the #if 0
6090         previously disabled.
6091
6092 2006-06-14  Wim Taymans  <wim@fluendo.com>
6093
6094         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
6095         (gst_base_sink_preroll_object), (gst_base_sink_get_position):
6096         * libs/gst/base/gstbasetransform.c:
6097         (gst_base_transform_sink_eventfunc):
6098         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
6099         Don't randomly and silently reset a segment when the format 
6100         changes as this is a bug somewhere upstream. Fixes #330379.
6101
6102 2006-06-14  Tim-Philipp Müller  <tim at centricular dot net>
6103
6104         Patch by: Wouter Paesen  <wouter at kangaroot net>
6105
6106         * libs/gst/controller/gstcontroller.c:
6107         (gst_controlled_property_new):
6108           Fix controlling of float properties (#344849).
6109
6110         * tests/check/libs/controller.c:
6111         (gst_test_mono_source_get_property),
6112         (gst_test_mono_source_set_property),
6113         (gst_test_mono_source_class_init), (GST_START_TEST):
6114           While we're at it, add some float stuff to unit test.
6115
6116 2006-06-13  Thomas Vander Stichele  <thomas at apestaart dot org>
6117
6118         * docs/README:
6119         * docs/images/gdp-header.svg:
6120           add a gdp image
6121         * docs/libs/Makefile.am:
6122         * docs/libs/gdp-header.png:
6123         * libs/gst/dataprotocol/dataprotocol.c:
6124           add it to the API docs
6125         * docs/manual/intro-motivation.xml:
6126           fix typo
6127
6128 2006-06-13  Tim-Philipp Müller  <tim at centricular dot net>
6129
6130         * gst/gst.c: (scan_and_update_registry), (init_post):
6131           If the fork()'ed child process can't write the updated registry cache
6132           file to disk for some reason, make it exit with a failure exit code,
6133           so that the parent can then re-scan the plugins itself and update the
6134           registry structures in memory and work with that (rather than failing
6135           when creating elements because seemingly no plugins are available).
6136           Refactor registry scanning code into separate function for this and
6137           also separate fork() and non-fork() code paths. Fixes #344748.
6138
6139 2006-06-13  Wim Taymans  <wim@fluendo.com>
6140
6141         * docs/manual/advanced-dataaccess.xml:
6142         Fix wrong PluginDesc. Fixes #344755.
6143
6144 2006-06-13  Tim-Philipp Müller  <tim at centricular dot net>
6145
6146         * gst/gstregistryxml.c: (gst_registry_xml_write_cache):
6147           Fix silly bug that prevented us from creating
6148           ~/.gstreamer-0.10 and writing the registry in one
6149           go (the first call to g_mkstemp() would overwrite the
6150           placeholder in the template string, so the second call
6151           to g_mkstemp() after creating the missing directory
6152           would then error out with 'invalid argument').
6153
6154 2006-06-13  Edward Hervey  <edward@fluendo.com>
6155
6156         * gst/gst.c: (init_post):
6157         Free string.
6158
6159 2006-06-13  Thomas Vander Stichele  <thomas at apestaart dot org>
6160
6161         * gst/glib-compat-private.h:
6162         * gst/glib-compat.c:
6163         * gst/glib-compat.h:
6164         * gst/gstvalue.c: (gst_value_serialize_flags):
6165           remove GLib 2.6 compatibility code
6166
6167 2006-06-12  Tim-Philipp Müller  <tim at centricular dot net>
6168
6169         * gst/parse/Makefile.am:
6170           Fix build with 'make -j N' even more (#340016).
6171
6172 2006-06-12  Wim Taymans  <wim@fluendo.com>
6173
6174         * docs/gst/gstreamer-sections.txt:
6175         Fix docs.
6176
6177 2006-06-12  Wim Taymans  <wim@fluendo.com>
6178
6179         * gst/gstsegment.c: (gst_segment_set_duration),
6180         (gst_segment_set_last_stop), (gst_segment_set_seek),
6181         (gst_segment_set_newsegment_full), (gst_segment_to_stream_time),
6182         (gst_segment_to_running_time), (gst_segment_clip):
6183         Use G_UNLIKELY to help the compiler a bit.
6184
6185 2006-06-12  Wim Taymans  <wim@fluendo.com>
6186
6187         Patch by: Stefan Kost <ensonic at sonicpulse dot de>
6188
6189         * gst/gstevent.c: (gst_event_get_type):
6190         * gst/gstmessage.c:
6191         * gst/gstpad.c: (gst_pad_chain_unchecked), (gst_pad_chain),
6192         (gst_pad_push):
6193         constify quark registration strings. Fixes #344115
6194         Avoid unneeded type checking is _pad_push() by internally
6195         calling gst_pad_chain_unchecked().
6196
6197 2006-06-12  Wim Taymans  <wim@fluendo.com>
6198
6199         * gst/gstbuffer.c: (gst_buffer_get_type), (gst_buffer_finalize),
6200         (_gst_buffer_copy), (gst_buffer_is_metadata_writable),
6201         (gst_subbuffer_finalize), (gst_buffer_create_sub),
6202         (gst_buffer_is_span_fast), (gst_buffer_span):
6203         Init _type for consistency.
6204         Use _FLAGS macro to avoid type check.
6205         Avoid unneeded type checks in subbufer code.
6206
6207 2006-06-12  Wim Taymans  <wim@fluendo.com>
6208
6209         * gst/gst.c: (gst_debug_help):
6210         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_list_free):
6211         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
6212         (gst_plugin_feature_list_free):
6213         * gst/gstregistry.c: (gst_registry_add_plugin),
6214         (gst_registry_add_feature), (gst_registry_plugin_filter),
6215         (gst_registry_feature_filter), (gst_registry_find_plugin),
6216         (gst_registry_find_feature), (gst_registry_get_plugin_list),
6217         (gst_registry_lookup_feature_locked), (gst_registry_lookup_locked):
6218         * gst/gstregistryxml.c: (load_feature),
6219         (gst_registry_xml_read_cache), (gst_registry_xml_write_cache):
6220         * gst/gstminiobject.c: (gst_mini_object_unref),
6221         (gst_mini_object_replace), (gst_value_mini_object_free),
6222         (gst_value_mini_object_copy):
6223         Use _CAST macros to avoid unneeded type checking.
6224         Added some more G_UNLIKELY.
6225
6226 2006-06-12  Wim Taymans  <wim@fluendo.com>
6227
6228         * gst/gstbuffer.h:
6229         Avoid unneeded type checking.
6230         API: GST_BUFFER_IS_DISCONT
6231
6232         * gst/gstminiobject.h:
6233         Avoid type check in flag accessor.
6234
6235         * gst/gstelementfactory.h:
6236         * gst/gstplugin.h:
6237         * gst/gstpluginfeature.h:
6238         Add _CAST macros.
6239         API: GST_ELEMENT_FACTORY_CAST
6240         API: GST_PLUGIN_CAST
6241         API: GST_PLUGIN_FEATURE_CAST
6242
6243 2006-06-12  Wim Taymans  <wim@fluendo.com>
6244
6245         * gst/gstobject.c: (gst_object_get_type), (gst_object_ref),
6246         (gst_object_unref):
6247         Add G_UNLIKELY in type registration.
6248         Avoid type check in _ref/_unref since that is also
6249         done in glib.
6250
6251 2006-06-12  Wim Taymans  <wim@fluendo.com>
6252
6253         * gst/gsterror.c: (gst_g_error_get_type):
6254         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
6255         (gst_static_pad_template_get_type):
6256         * gst/gsttaglist.c: (gst_tag_list_get_type):
6257         * gst/gsttagsetter.c: (gst_tag_setter_get_type):
6258         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type):
6259         * gst/gsturi.c: (gst_uri_handler_get_type):
6260         * gst/gstvalue.c: (gst_date_get_type):
6261         * gst/gstxml.c: (gst_xml_get_type):
6262         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_type),
6263         (gst_base_sink_preroll_object), (gst_base_sink_get_position):
6264         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_type):
6265         Add G_UNLIKELY in type registration.
6266
6267 2006-06-12  Wim Taymans  <wim@fluendo.com>
6268
6269         * tools/gst-inspect.c: (print_signal_info):
6270         Properly print enum values.
6271
6272 2006-06-12  Wim Taymans  <wim@fluendo.com>
6273
6274         * gst/gstinfo.c: (gst_debug_set_active),
6275         (gst_debug_category_set_threshold), (_gst_debug_nameof_funcptr):
6276         * gst/gstinfo.h:
6277         Add some G_[UN]LIKELY.
6278         Maintain __gst_debug_min to avoid formatting the arguments of
6279         debug messages that will be dropped anyway to avoid a lot of 
6280         overhead from the debugging system.
6281
6282 2006-06-11  Stefan Kost  <ensonic@users.sf.net>
6283
6284         * po/POTFILES.in:
6285         * po/POTFILES.skip:
6286           add missing files containing translatable strings, tell intltool about
6287           one exception
6288
6289 2006-06-11  Stefan Kost  <ensonic@users.sf.net>
6290
6291         * tests/check/libs/.cvsignore:
6292         add test-binary to ignore list
6293
6294 2006-06-11  Stefan Kost  <ensonic@users.sf.net>
6295
6296         * docs/libs/gstreamer-libs-docs.sgml:
6297         reorder (put dp into a chapter) and indent
6298
6299 2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
6300
6301         * configure.ac:
6302           back to HEAD
6303
6304 === release 0.10.8 ===
6305
6306 2006-06-10  Thomas Vander Stichele <thomas at apestaart dot org>
6307
6308         * configure.ac:
6309           releasing 0.10.8, "Soepeke, ik zie ou nog altijd nie"
6310
6311 2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
6312
6313         * gst/gst.c: (init_post):
6314           move pid declaration to declaration block
6315
6316 2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
6317
6318         * gst/gst.c: (init_post):
6319           use _exit() instead of exit() in our forked child; this ensures
6320           that none of the registered exit handlers from whatever is using
6321           GStreamer get executed.  This fixes gnome-mixer-applet failing
6322           to load, because ORBit would shut down.
6323           Spotted by: Edward Hervey  <edward@fluendo.com>
6324           Fix suggested by: Tim-Philipp Müller  <tim at centricular dot net>
6325           Fixes #344474
6326
6327 2006-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
6328
6329         * configure.ac:
6330           back to TRUNK
6331
6332 === release 0.10.7 ===
6333
6334 2006-06-09  Thomas Vander Stichele <thomas at apestaart dot org>
6335
6336         * configure.ac:
6337           releasing 0.10.7, "Soepeke, ik zie ou"
6338
6339 2006-06-07  Thomas Vander Stichele  <thomas at apestaart dot org>
6340
6341         * configure.ac:
6342         * po/af.po:
6343         * po/az.po:
6344         * po/bg.po:
6345         * po/ca.po:
6346         * po/cs.po:
6347         * po/de.po:
6348         * po/en_GB.po:
6349         * po/fr.po:
6350         * po/it.po:
6351         * po/nb.po:
6352         * po/nl.po:
6353         * po/ru.po:
6354         * po/sq.po:
6355         * po/sr.po:
6356         * po/sv.po:
6357         * po/tr.po:
6358         * po/uk.po:
6359         * po/vi.po:
6360         * po/zh_CN.po:
6361         * po/zh_TW.po:
6362         * win32/common/config.h:
6363           0.10.6.2 prerelease
6364
6365 2006-06-07  Wim Taymans  <wim@fluendo.com>
6366
6367         * gst/gstindex.c: (gst_index_gtype_resolver):
6368         * tools/gst-xmlinspect.c: (print_plugin_info):
6369         Fix leak spotted by coverity checker. Fixes #343827
6370         Fix another other leak found by paolo borelli.
6371
6372 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
6373
6374         * libs/gst/dataprotocol/dataprotocol.c:
6375         (gst_dp_header_from_buffer_any), (gst_dp_packet_from_caps_any),
6376         (gst_dp_version_get_type), (gst_dp_init),
6377         (gst_dp_header_from_buffer), (gst_dp_header_from_buffer_1_0),
6378         (gst_dp_packet_from_caps), (gst_dp_packet_from_caps_1_0),
6379         (gst_dp_packet_from_event), (gst_dp_packet_from_event_1_0),
6380         (gst_dp_event_from_packet_0_2), (gst_dp_event_from_packet_1_0),
6381         (gst_dp_event_from_packet), (gst_dp_packetizer_new),
6382         (gst_dp_packetizer_free):
6383         * libs/gst/dataprotocol/dataprotocol.h:
6384           API: add a GstDPPacketizer object, and create/free functions
6385           API: add GstDPVersion enum
6386           Add 1.0 event function that uses the string serialization
6387           Serialize more useful buffer flags
6388           Fixes #343988
6389
6390 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
6391
6392         * tests/check/Makefile.am:
6393         * tests/check/gst/gstabi.c:
6394         * tests/check/gst/struct_ppc64.h:
6395         * tests/check/libs/libsabi.c:
6396         * tests/check/libs/struct_ppc64.h:
6397           add ppc64 structure sizes
6398
6399 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
6400
6401         * tests/check/Makefile.am:
6402         * tests/check/gst/gstabi.c:
6403         * tests/check/gst/struct_x86_64.h:
6404         * tests/check/libs/libsabi.c:
6405         * tests/check/libs/struct_x86_64.h:
6406           generate and add structure size lists for x86_64
6407
6408 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
6409
6410         * libs/gst/check/gstcheck.c: (gst_check_abi_list):
6411         * libs/gst/check/gstcheck.h:
6412           factor out the method from tests that checks size of structures,
6413           and add code to generate the header containing these sizes
6414         * tests/check/gst/gstabi.c: (GST_START_TEST):
6415         * tests/check/gst/struct_i386.h:
6416         * tests/check/libs/libsabi.c: (GST_START_TEST):
6417         * tests/check/libs/struct_i386.h:
6418           use it
6419
6420 2006-06-06  Michael Smith  <msmith@fluendo.com>
6421
6422         * gst/gstsegment.h:
6423           Don't use c++-style comments, fixes #343929
6424
6425 2006-06-05  Edward Hervey  <edward@fluendo.com>
6426
6427         * gst/gst.c:
6428         plugin_paths is not used if we build without registry support.
6429
6430         * gst/gstsegment.c: (gst_segment_copy): 
6431         _copy() was always returning NULL...
6432
6433 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
6434
6435         * libs/gst/dataprotocol/dataprotocol.c:
6436         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
6437         (gst_dp_packet_from_event):
6438           factor out CRC code
6439
6440 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
6441
6442         * libs/gst/check/gstcheck.c: (gst_check_teardown_src_pad):
6443           make sure we unset caps
6444
6445 2006-06-02  Michael Smith  <msmith@fluendo.com>
6446
6447         * libs/gst/check/gstcheck.c: (gst_check_init),
6448         (gst_check_chain_func):
6449         * libs/gst/check/gstcheck.h:
6450           Add a cond/mutex to the check support lib, signal this whenever we
6451           add to the buffers list. This will allow tests to not busy-wait on
6452           the buffer-list.
6453
6454 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
6455
6456         * libs/gst/dataprotocol/dataprotocol.c:
6457         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
6458         (gst_dp_packet_from_event):
6459           factor out some common header init code
6460
6461 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
6462
6463         * docs/libs/gstreamer-libs-sections.txt:
6464         * docs/libs/tmpl/gstdataprotocol.sgml:
6465         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc):
6466         * libs/gst/dataprotocol/dataprotocol.h:
6467           API: make gst_dp_crc() public
6468
6469 2006-06-01  Stefan Kost  <ensonic@users.sf.net>
6470
6471         * plugins/indexers/gstindexers.c: (plugin_init):
6472         conditionally register fileindexer (fixes #343598)
6473
6474 2006-06-01  Stefan Kost  <ensonic@users.sf.net>
6475
6476         * gst/gsttagsetter.h:
6477         Can't cast ifaces to a class
6478
6479         * libs/gst/net/gstnetclientclock.h:
6480         * libs/gst/net/gstnettimeprovider.h:
6481         * plugins/elements/gstfakesink.h:
6482         * plugins/elements/gstfakesrc.h:
6483         * plugins/elements/gstfdsink.h:
6484         * plugins/elements/gstfdsrc.h:
6485         * plugins/elements/gstfilesink.h:
6486         * plugins/elements/gstfilesrc.h:
6487         * plugins/elements/gstidentity.h:
6488         * plugins/elements/gstqueue.h:
6489         * plugins/elements/gsttee.h:
6490         * plugins/indexers/gstfileindex.c:
6491         * plugins/indexers/gstmemindex.c:
6492         * tests/old/examples/plugins/example.h:
6493         Fix more gobject macros: obj<->klass, GstXXX<->GstXXXClass
6494
6495 2006-06-01  Thomas Vander Stichele  <thomas at apestaart dot org>
6496
6497         * libs/gst/dataprotocol/dataprotocol.c:
6498         (gst_dp_header_from_buffer):
6499           make sure we zero the whole ABI-compatible area
6500
6501 2006-06-01  Wim Taymans  <wim@fluendo.com>
6502
6503         Patch by: Alessandro Decina <alessandro at nnva dot org>
6504
6505         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_stop):
6506         Make sure the EOS flag is cleared from pads after a flush
6507         or stop. Fixes #343538.
6508
6509         * tests/check/libs/collectpads.c: (GST_START_TEST),
6510         (gst_collect_pads_suite):
6511         Added test for collectpads reusage after EOS.
6512
6513 2006-05-30  Sebastien Moutte  <sebastien@moutte.net>
6514
6515         * gst/gst.c:
6516          set #include <sys/wait.h> in a #ifdef #ifdef HAVE_FORK
6517         * win32/common/libgstbase.def:
6518          export gst_collect_pads_set_flushing
6519         * win32/common/libgstreamer.def:
6520          export gst_pad_set_acceptcaps_function, gst_structure_empty_new,
6521          gst_value_fraction_multiply
6522         * win32/vs6/gst_inspect.dsp:
6523          add a link to intl.lib
6524
6525 2006-05-30  Wim Taymans  <wim@fluendo.com>
6526
6527         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
6528         (gst_collect_pads_chain):
6529         Handle the case where a pad is removed from the collection
6530         that could cause the other pads to become collectable.
6531
6532 2006-05-30  Wim Taymans  <wim@fluendo.com>
6533
6534         * gst/gstelement.c:
6535         Clarify the use of _release_request_pad() and
6536         _get_request_pad() a bit better.
6537
6538         * libs/gst/base/gstadapter.c: (gst_adapter_peek),
6539         (gst_adapter_take_buffer):
6540         Fix some doc and comment typos.
6541
6542 2006-05-30  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
6543
6544         * docs/gst/gstreamer-sections.txt:
6545         * docs/libs/gstreamer-libs-sections.txt:
6546           add declared symbols
6547
6548 2006-05-30  Jan Schmidt  <thaytan@mad.scientist.com>
6549
6550         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
6551         Add debug that can be enabled using a #define at the top of the file,
6552         for dumping stats about how late/early we were when waking up from
6553         waiting on the clock.
6554
6555 2006-05-30  Wim Taymans  <wim@fluendo.com>
6556
6557         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_check_pads):
6558         When rebuilding the pad list, don't leak the previous list.
6559
6560 2006-05-30  Wim Taymans  <wim@fluendo.com>
6561
6562         Patch by: Lutz Mueller <lutz at topfrose dot de>
6563
6564         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
6565         (gst_base_src_get_query_types), (gst_base_src_update_length):
6566         Publish supported query types.
6567         Update last_stop field in get_range mode so the position
6568         query works. Fixes #342321.
6569
6570 2006-05-30  Tim-Philipp Müller  <tim at centricular dot net>
6571
6572         * docs/gst/gstreamer-sections.txt:
6573         * gst/gsttaglist.c: (_gst_tag_initialize):
6574         * gst/gsttaglist.h:
6575           API: add GST_TAG_PREVIEW_IMAGE (#343341).
6576
6577 2006-05-30  Wim Taymans  <wim@fluendo.com>
6578
6579         Patch by: Alessandro Decina <alessandro at nnva dot org>
6580
6581         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad):
6582         Unlock mutex when removing an unknown pad.
6583         Fixes #343334.
6584
6585         * tests/check/Makefile.am:
6586         * tests/check/libs/collectpads.c: (collected_cb), (push_buffer),
6587         (push_event), (setup), (teardown), (GST_START_TEST),
6588         (gst_collect_pads_suite), (main):
6589         Added collecpads check, disabled for now as check crashes for
6590         some reason.
6591
6592 2006-05-29  Wim Taymans  <wim@fluendo.com>
6593
6594         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize):
6595         Don't leak pads lists.
6596
6597 2006-05-29  Wim Taymans  <wim@fluendo.com>
6598
6599         * docs/libs/gstreamer-libs-sections.txt:
6600         * libs/gst/base/gstcollectpads.c:
6601         (gst_collect_pads_set_flushing_unlocked),
6602         (gst_collect_pads_set_flushing), (gst_collect_pads_start),
6603         (gst_collect_pads_stop):
6604         * libs/gst/base/gstcollectpads.h:
6605         API: gst_collect_pads_set_flushing()
6606         Added api to set the pads to flushing, useful for seeking
6607         code in elements using collectpads.
6608         Clear segment when receiving a flush.
6609
6610 2006-05-29  Tim-Philipp Müller  <tim at centricular dot net>
6611
6612         * gst/gst.c: (add_path_func), (init_post):
6613           Don't scan registry paths passed via --gst-plugin-path immediately
6614           (will crash, because absolutely nothing is set up and no types are
6615           registered etc.); do this later in init_post(). Fixes #343057.
6616
6617 2006-05-28  Thomas Vander Stichele  <thomas at apestaart dot org>
6618
6619         * gst/gst.c: (init_post):
6620           if we have fork, fork while reading/rebuilding the registry
6621           so the parent doesn't take the hit of having all plugins loaded
6622           in memory.  Fixes #342777.
6623         * configure.ac:
6624           Check if we have fork()
6625         * win32/common/config.h.in:
6626           no fork() on win32
6627
6628 2006-05-26  Jan Schmidt  <thaytan@mad.scientist.com>
6629
6630         * plugins/elements/gstelements.c:
6631         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
6632         (gst_file_src_init), (gst_file_src_set_property),
6633         (gst_file_src_get_property), (gst_file_src_start):
6634         * plugins/elements/gstfilesrc.h:
6635           API: GstFileSrc::use-mmap
6636
6637         Add a use-mmap property to enable easier testing of all code paths.
6638         Bump rank to PRIMARY, so filesrc is the preferred file reader and used
6639         in the absence of gnomevfssrc. (Closes #340501)
6640
6641 2006-05-26  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
6642
6643         * tools/gst-inspect.c:
6644         Add missing include, removes warning of ngettext not being defined on
6645         some arches.
6646
6647 2006-05-26  Jan Schmidt  <thaytan@mad.scientist.com>
6648
6649         * gst/gstvalue.c: (gst_value_deserialize_fraction):
6650         Handle NULL input and output pointers silently as a failed conversion,
6651         rather than g_warnings.
6652
6653 2006-05-25  Wim Taymans  <wim@fluendo.com>
6654
6655         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_start):
6656         Initialize variable before using. Fixes #342820.
6657
6658 2006-05-24  Tim-Philipp Müller  <tim at centricular dot net>
6659
6660         * libs/gst/base/gsttypefindhelper.c: (buf_helper_find_peek):
6661           Fix off-by-one bug that would only allow peeks of N-1 bytes
6662           from the start even if the buffer to typefind on contains
6663           in fact N bytes of data (makes vorbis typefinding from a
6664           vorbis identification header buffer work).
6665
6666         * tests/check/Makefile.am:
6667         * tests/check/libs/.cvsignore:
6668         * tests/check/libs/typefindhelper.c: (GST_START_TEST),
6669         (gst_typefindhelper_suite), (main), (foobar_typefind),
6670         (plugin_init):
6671           Add very basic unit test for gst_type_find_helper_for_buffer()
6672           that checks for the problem fixed above.
6673
6674 2006-05-24  Thomas Vander Stichele  <thomas at apestaart dot org>
6675
6676         * tools/gst-inspect.c: (print_interfaces),
6677         (print_element_properties_info), (print_element_list), (main):
6678           add more translatable strings
6679
6680 2006-05-23  Tim-Philipp Müller  <tim at centricular dot net>
6681
6682         Patch by: Julien Moutte  <julien at moutte net>
6683
6684         * docs/gst/gstreamer-sections.txt:
6685           Make new GST_FLOW_IS_SUCCESS macro visible in docs.
6686           
6687         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init),
6688         (gst_fake_sink_preroll):
6689         * plugins/elements/gstfakesink.h:
6690           API: Add new GstFakeSink::preroll-handoff signal (#337100).
6691
6692 2006-05-23  Wim Taymans  <wim@fluendo.com>
6693
6694         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark):
6695         * gst/gstpad.h:
6696         Added _CUSTOM error and success GstFlowReturn that can be
6697         used be elements internally. 
6698         Added macro to check for SUCCESS flowreturns.
6699         API: GST_FLOW_CUSTOM_SUCCESS
6700         API: GST_FLOW_CUSTOM_ERROR
6701         API: GST_FLOW_IS_SUCCESS
6702
6703         * tests/check/gst/gstpad.c: (GST_START_TEST), (gst_pad_suite):
6704         Added check for GstFlowReturn sanity.
6705
6706 2006-05-23  Wim Taymans  <wim@fluendo.com>
6707
6708         Patch by: Mark Nauwelaerts <manauw at skynet dot be>
6709
6710         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
6711         (gst_collect_pads_event):
6712         clear/reset segment info in FLUSH_STOP.
6713         Fixes #336929.
6714
6715 2006-05-22  Stefan Kost  <ensonic@users.sf.net>
6716
6717         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_stop),
6718         (gst_collect_pads_check_collected):
6719         Flush queued buffer on _stop(), fixes playing again (#342454)
6720
6721 2006-05-22  Thomas Vander Stichele  <thomas at apestaart dot org>
6722
6723         * tests/check/gst/gststructure.c: (GST_START_TEST),
6724         (gst_structure_suite):
6725           add a test for a complete structure
6726
6727 2006-05-19  Tim-Philipp Müller  <tim at centricular dot net>
6728
6729         * docs/faq/developing.xml:
6730         * docs/faq/faq.xml:
6731         * docs/faq/troubleshooting.xml:
6732         * docs/faq/using.xml:
6733           Some minor FAQ updates that won't change the fact that
6734           our FAQ is badly structured, full of information hardly
6735           anyone new to GStreamer needs to know and lacking lots
6736           of information people constantly ask for.
6737           
6738 2006-05-19  Jan Schmidt  <thaytan@mad.scientist.com>
6739
6740         * gst/gstpad.c: (gst_pad_set_caps):
6741           Short-circuit gst_pad_set_caps if setting the existing
6742           caps pointer again, and avoid printing debug and 
6743           reffing/unreffing the caps.
6744
6745         * plugins/elements/gstqueue.c: (gst_queue_push_one):
6746           There's actually no need to set the caps before pushing -
6747           the acceptcaps method will handle it anyway.
6748
6749 2006-05-19  Tim-Philipp Müller  <tim at centricular dot net>
6750
6751         * docs/gst/gstreamer-sections.txt:
6752         * win32/common/libgstreamer.def:
6753         * gst/gstutils.c: (gst_element_seek_simple):
6754         * gst/gstutils.h:
6755           API: add gst_element_seek_simple() (#342238).
6756
6757 2006-05-18  Edward Hervey  <edward@fluendo.com>
6758
6759         * gst/gsttypefind.c: (gst_type_find_get_type):
6760         * gst/gsttypefind.h:
6761         Added GST_TYPE_TYPE_FIND and gst_type_find_get_type() so a GType gets
6762         registered for GstTypeFind pointers. This allows wrapping the structure
6763         in bindings (i.e. gst-python).
6764
6765 2006-05-18  Tim-Philipp Müller  <tim at centricular dot net>
6766
6767         * gst/gsttagsetter.c:
6768           Docs additions and fixes (see #339918).
6769
6770 2006-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
6771
6772         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
6773         The caps intersection algorithm can produce multiple copies of the
6774         caps. Until that is fixed, we need to simplify the result to be
6775         sure whether the allowed caps are fixed or not.
6776
6777         * plugins/elements/gstqueue.c: (gst_queue_init),
6778         (gst_queue_bufferalloc), (gst_queue_acceptcaps),
6779         (gst_queue_push_one):
6780         Proxied buffer alloc should not set the caps on the source pad.
6781         When pushing buffers, we always accept the caps change that triggers.
6782         This prevents negotiation errors caused by caps changing mid-stream 
6783         and then being refused on our source pad (because upstream is now
6784         refusing those caps).
6785
6786 2006-05-18  Tim-Philipp Müller  <tim at centricular dot net>
6787
6788         * tests/examples/helloworld/helloworld.c: (main):
6789           Must plug audioconvert and audioresample between decoder
6790           and audio sink.
6791
6792 2006-05-17  Jan Schmidt  <thaytan@mad.scientist.com>
6793
6794         * gst/gstregistryxml.c: (read_string), (load_pad_template),
6795         (load_feature), (load_plugin):
6796         Allow empty strings for some of the plugin fields so we don't 
6797         drop valid plugin entries that were written out correctly
6798         (Fixes #341479)
6799
6800 2006-05-17  Sebastien Moutte  <sebastien@moutte.net>
6801         
6802         * gst/gstregistryxml.c: (gst_registry_xml_write_cache):
6803           Use g_remove and g_rename instead of remove and rename that don't 
6804           handle utf8 characters. rename was failing for users who had specific
6805           characters in their name then the registry was built at each 
6806           gstreamer init.
6807         * win32/vs6/gst_inspect.dsp:
6808         * win32/vs6/gst_launch.dsp:
6809         * win32/vs6/libgstbase.dsp:
6810         * win32/vs6/libgstcoreelements.dsp:
6811         * win32/vs6/libgstreamer.dsp:
6812           Use a debug version of libxml2 (libxml2D.lib,libxml2D.dll) for DEBUG 
6813           build of libgstreamer and clean unused libraries in projects link 
6814           settings.
6815
6816 2006-05-17  Edward Hervey  <edward@fluendo.com>
6817
6818         * plugins/elements/gstqueue.c: (gst_queue_push_one):
6819         The queue is not responsible for pushing an EOS when receiving a fatal
6820         flow error. It's up to the real element driving the pipeline to do that.
6821
6822 2006-05-16  Edward Hervey  <edward@fluendo.com>
6823
6824         * plugins/elements/gstqueue.c: (gst_queue_push_one):
6825         The queue was posting a non-needed GST_MESSAGE_ERROR when pushing a
6826         buffer returned a fatal error. It should just send an EOS and stop
6827         its task.
6828         Upstream elements will then properly receive the GST_FLOW_UNEXPECTED
6829         when pushing buffers on the queue and will be able to handle the event.
6830
6831 2006-05-16  Tim-Philipp Müller  <tim at centricular dot net>
6832
6833         * docs/manual/basics-bins.xml:
6834         * docs/manual/basics-init.xml:
6835           Fix typos and minor errors in sample code (#341856).
6836
6837 2006-05-16  Wim Taymans  <wim@fluendo.com>
6838
6839         * docs/design/part-qos.txt:
6840         Fix indexes in formulas to make more sense.
6841
6842 2006-05-15  Wim Taymans  <wim@fluendo.com>
6843
6844         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
6845         Don't report POSITION based on clock time if sync is
6846         disabled in a sink.
6847
6848 2006-05-15  Tim-Philipp Müller  <tim at centricular dot net>
6849
6850         * gst/gstobject.h:
6851           Add cast to make compiler happy - refcount variable was a gint
6852           in GstObject but is a guint in GObject and g_atomic_int_get()
6853           wants a gint *.
6854
6855 2006-05-15  Thomas Vander Stichele  <thomas at apestaart dot org>
6856
6857         * gst/parse/Makefile.am:
6858           chain commands using &&, which also makes parallel make work
6859
6860 2006-05-14  Tim-Philipp Müller  <tim at centricular dot net>
6861
6862         * docs/gst/gstreamer-sections.txt:
6863         * gst/gstevent.c:
6864         * gst/gstevent.h:
6865         * gst/gstmessage.h:
6866           Minor docs fixes.
6867
6868 === release 0.10.6 ===
6869
6870 2006-05-14  Jan Schmidt <thaytan@mad.scientist.com>
6871
6872         * configure.ac:
6873           releasing 0.10.6, "Take the cannoli"
6874
6875 2006-05-13  Tim-Philipp Müller  <tim at centricular dot net>
6876
6877         * tools/gst-launch.c: (print_tag):
6878           Fix use of uninitialized variable in the hypothetical
6879           case that some broken plugin creates a GST_TAG_IMAGE
6880           tag containing a NULL buffer (#341667).
6881
6882 2006-05-12  Tim-Philipp Müller  <tim at centricular dot net>
6883
6884         * tools/gst-launch.c: (print_tag):
6885           Print something more intelligible for image tags when
6886           using the -t switch (#341556).
6887
6888 2006-05-12  Thomas Vander Stichele  <thomas at apestaart dot org>
6889
6890         * Makefile.am:
6891           updates for win32
6892         * configure.ac:
6893           define GST_MAJORMINOR so we have it available in win32/common/config.h
6894           Possibly remove it from our Makefile.am files later
6895         * win32/common/config.h:
6896         * win32/common/config.h.in:
6897           added GST_MAJORMINOR
6898         * win32/common/gstenumtypes.c: (register_gst_resource_error):
6899         * win32/common/gstversion.h:
6900           updated
6901
6902 2006-05-12  Sebastien Moutte  <sebastien@moutte.net>
6903
6904         * win32/MANIFEST:
6905           Update win32 files listing.
6906         * win32/common/gstversion.h:
6907           Add GST_MAJORMINOR definition.
6908         * win32/common/libgstreamer.def:
6909           Add new exported functions.
6910           
6911 2006-05-12  Michael Smith  <msmith@fluendo.com>
6912
6913         * gst/gstplugin.c: (gst_plugin_load_file):
6914           If an so file has no plugin entry point, unload the module.
6915
6916 2006-05-11  Wim Taymans  <wim@fluendo.com>
6917
6918         * plugins/elements/gstqueue.c: (gst_queue_chain), (gst_queue_loop),
6919         (gst_queue_set_property):
6920         Don't forget to signal the _chain or _loop function 
6921         when the queue size or thresholds change since that might
6922         cause them to make progres again.
6923
6924 2006-05-11  Stefan Kost  <ensonic@users.sf.net>
6925
6926         * gst/gstclock.c: (gst_clock_class_init):
6927         * gst/gstindex.c: (gst_index_class_init):
6928         * gst/gstobject.c: (gst_object_class_init):
6929         * gst/gstpad.c: (gst_pad_class_init):
6930         * gst/gstpipeline.c: (gst_pipeline_class_init):
6931         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
6932         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init):
6933         * libs/gst/base/gstbasetransform.c:
6934         (gst_base_transform_class_init):
6935         * libs/gst/net/gstnetclientclock.c:
6936         (gst_net_client_clock_class_init):
6937         * libs/gst/net/gstnettimeprovider.c:
6938         (gst_net_time_provider_class_init):
6939         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init):
6940         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init):
6941         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init):
6942         * plugins/elements/gstfdsink.c: (gst_fd_sink_class_init):
6943         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
6944         * plugins/elements/gstfilesink.c: (gst_file_sink_class_init):
6945         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init):
6946         * plugins/elements/gstidentity.c: (gst_identity_class_init):
6947         * plugins/elements/gsttee.c: (gst_tee_class_init):
6948         * tests/old/examples/plugins/example.c: (gst_example_class_init):
6949         * tests/old/testsuite/threads/signals.c: (gst_test_class_init):
6950           G_OBJECT_CLASS macro usage batch cleanup, fixes #337747 for core
6951
6952 2006-05-11  Wim Taymans  <wim@fluendo.com>
6953
6954         * gst/gstbuffer.c: (_gst_buffer_initialize):
6955         Register subbufer along with the buffer type so that
6956         it does not accidentally gets registered from N
6957         different streaming threads in a non threadsafe way.
6958
6959 2006-05-10  Tim-Philipp Müller  <tim at centricular dot net>
6960
6961         * gst/gstbuffer.h:
6962         * gst/gstevent.h:
6963         * gst/gstmessage.h:
6964           Make gtk-doc generate docs for our inlined gst_buffer_ref(),
6965           gst_event_ref() and gst_message_ref() functions again
6966           (ugly hack, please do fix if there's a better way besides
6967           overrides.txt, which doesn't seem to work).
6968
6969 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
6970
6971         * libs/gst/check/gstcheck.h:
6972           add an assert for setting state to avoid lots of repetitive code
6973           in the future
6974
6975 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
6976
6977         * gst/gstvalue.c: (gst_value_serialize_flags):
6978           fix a leak if no flags are set
6979         * tests/check/gst/gstvalue.c: (GST_START_TEST):
6980           fix leak in tests
6981
6982 2006-05-10  Tim-Philipp Müller  <tim at centricular dot net>
6983
6984         * docs/manual/basics-pads.xml:
6985           Expand a bit on caps and filtered links and update
6986           examples that were still using the no longer existing
6987           gst_pad_link_filtered() (#338206).
6988
6989 2006-05-10  Wim Taymans  <wim@fluendo.com>
6990
6991         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
6992         (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
6993         (gst_collect_pads_set_flushing), (gst_collect_pads_start),
6994         (gst_collect_pads_stop):
6995         * libs/gst/base/gstcollectpads.h:
6996         No need to call _stop in _finalize.
6997         Iterate the main pad list in _finalize.
6998         Added some more debug.
6999         Free lists and data in the right order.
7000         Also free data whem doing _remove_pad when stopped for
7001         backward compatibility protect ::started with PAD_LOCK as
7002         well.
7003
7004 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
7005
7006         * gst/gststructure.c: (gst_structure_gtype_from_abbr),
7007         (gst_structure_parse_value):
7008           add some comments
7009           rename a method so that it actually says what it does better
7010
7011 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
7012
7013         * gst/gstevent.c: (_gst_event_initialize):
7014         * gst/gstformat.c: (_gst_format_initialize):
7015           make sure some essential types used by events are registered
7016           as part of gst_init()
7017         * gst/gstvalue.c: (gst_value_serialize_flags):
7018           if no flags are set, serialize them to a value that represents NONE
7019           so that deserializing them works
7020         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
7021           add tests for serialization and deserialization of flags
7022
7023 2006-05-10  Wim Taymans  <wim@fluendo.com>
7024
7025         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_collect),
7026         (gst_collect_pads_collect_range), (gst_collect_pads_available),
7027         (gst_collect_pads_check_pads), (gst_collect_pads_check_collected),
7028         (gst_collect_pads_event), (gst_collect_pads_chain):
7029         Update docs.
7030         Better debug info.
7031         Catch and return errors from the collect function
7032         Refuse data on eos pads.
7033
7034 2006-05-10  Edward Hervey  <edward@fluendo.com>
7035
7036         * gst/gstinterface.h:
7037         GST_IMPLEMENTS_INTERFACE and GST_IS_IMPLEMENTS_INTERFACE use the normal
7038         GInterface type checking.
7039         They were previously using non-defined macros.
7040
7041 2006-05-09  Wim Taymans  <wim@fluendo.com>
7042
7043         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_init),
7044         (gst_collect_pads_finalize), (gst_collect_pads_add_pad),
7045         (gst_collect_pads_remove_pad), (gst_collect_pads_set_flushing),
7046         (gst_collect_pads_start), (gst_collect_pads_stop),
7047         (gst_collect_pads_peek), (gst_collect_pads_pop),
7048         (gst_collect_pads_available), (gst_collect_pads_read),
7049         (gst_collect_pads_flush), (gst_collect_pads_check_pads),
7050         (gst_collect_pads_is_collected), (gst_collect_pads_event),
7051         (gst_collect_pads_chain):
7052         * libs/gst/base/gstcollectpads.h:
7053         Clean up the mess that is collectpads, add comments and
7054         FIXMEs where needed.
7055         Maintain a separate pad list so we can add pads while
7056         collecting the other ones. For this we need a new separate 
7057         lock (see comics).
7058         Fix memory leak in finalize.
7059         Refactor some weird code to set/unset pad flushing flags, mark
7060         with comments.
7061         Don't crash in _available, _read, _flush when we're EOS.
7062
7063         * tests/check/libs/.cvsignore:
7064         Ignore adapter check binary.
7065
7066 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
7067
7068         * gst/gstindex.c: (gst_index_resolver_get_type):
7069         * plugins/elements/gstfakesink.c:
7070         (gst_fake_sink_state_error_get_type):
7071         * plugins/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
7072         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type):
7073         * plugins/elements/gstqueue.c: (queue_leaky_get_type):
7074           Const-ify GEnumValue arrays.
7075
7076 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
7077
7078         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
7079           Add test case for flags + gst_buffer_make_metadata_writable().
7080
7081 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
7082
7083         * gst/gstbuffer.c: (gst_buffer_make_metadata_writable):
7084           gst_buffer_make_metadata_writable() should maintain the
7085           buffer flags (those that make sense at least) (see #340859).
7086
7087 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
7088
7089         * tools/gst-inspect.c:
7090         * tools/gst-launch.c:
7091         * tools/gst-typefind.c:
7092         * tools/gst-xmlinspect.c:
7093         * tools/tools.h:
7094           Fix up includes: need to include stdlib.h in tools.h for exit().
7095
7096 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
7097
7098         * gst/gsttaglist.c: (_gst_tag_initialize):
7099         * gst/gsttaglist.h:
7100           API: add GST_TAG_IMAGE tag (#340721).
7101
7102 2006-05-08  Wim Taymans  <wim@fluendo.com>
7103
7104         * gst/gstquery.c:
7105         Added some docs for the segment query.
7106
7107 2006-05-08  Wim Taymans  <wim@fluendo.com>
7108
7109         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
7110         (gst_base_src_loop), (gst_base_src_change_state):
7111         Always push non-flushing serialized events in the streaming 
7112         thread.
7113
7114 2006-05-08  Thomas Vander Stichele  <thomas at apestaart dot org>
7115
7116         * gst/gsterror.c: (_gst_stream_errors_init):
7117           Add a missing error string.
7118
7119 2006-05-08  Jan Schmidt  <thaytan@mad.scientist.com>
7120
7121         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment):
7122         Add applied_rate to the debug
7123
7124         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
7125         Copy applied_rate into the outgoing NEWSEGMENT event
7126
7127 2006-05-08  Wim Taymans  <wim@fluendo.com>
7128
7129         Patch by: Philippe Rouquier <philippero at libertysurf dot fr>
7130
7131         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_flushing),
7132         (gst_base_sink_change_state):
7133         call ::unlock before taking the PREROLL_LOCK so we can safely
7134         handle elements that lock in ::render.
7135         Fixes #340174.
7136
7137 2006-05-08  Edward Hervey  <edward@fluendo.com>
7138
7139         * autogen.sh: (CONFIGURE_DEF_OPT): 
7140         Darwin's libtoolize is in fact called glibtoolize.
7141         Adding glibtoolize to the list of accepted names for libtoolize.
7142
7143 2006-05-08  Wim Taymans  <wim@fluendo.com>
7144
7145         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
7146         Unify error handling, don't post an error message
7147         when a push() returns EOS but perform our normal EOS
7148         handling code. Fixes #340772.
7149
7150 2006-05-08  Wim Taymans  <wim@fluendo.com>
7151
7152         * docs/design/part-overview.txt:
7153         Make upsteam/downstream concepts more clear.
7154         Give an example of serialized/non-serialized events.
7155
7156         * docs/design/part-events.txt:
7157         * docs/design/part-streams.txt:
7158         Mention applied_rate.
7159
7160         * docs/design/part-trickmodes.txt:
7161         Mention applied rate, flesh out some more use cases.
7162
7163         * gst/gstevent.c: (gst_event_new_new_segment),
7164         (gst_event_parse_new_segment), (gst_event_new_new_segment_full),
7165         (gst_event_parse_new_segment_full), (gst_event_new_tag),
7166         (gst_event_parse_tag), (gst_event_new_buffer_size),
7167         (gst_event_parse_buffer_size), (gst_event_new_qos),
7168         (gst_event_parse_qos), (gst_event_parse_seek),
7169         (gst_event_new_navigation):
7170         * gst/gstevent.h:
7171         Add applied_rate field to NEWSEGMENT event.
7172         API: gst_event_new_new_segment_full()
7173         API: gst_event_parse_new_segment_full()
7174
7175         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_seek),
7176         (gst_segment_set_newsegment), (gst_segment_set_newsegment_full),
7177         (gst_segment_to_stream_time), (gst_segment_to_running_time):
7178         * gst/gstsegment.h:
7179         Add applied_rate to GstSegment structure.
7180         Make calculation of stream_time and running_time more correct
7181         wrt rate/applied_rate.
7182         Add some more docs.
7183         API: GstSegment::applied_rate field
7184         API: gst_segment_set_newsegment_full();
7185
7186         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
7187         (gst_base_sink_get_sync_times), (gst_base_sink_get_position):
7188         * libs/gst/base/gstbasetransform.c:
7189         (gst_base_transform_sink_eventfunc),
7190         (gst_base_transform_handle_buffer):
7191         Parse and use applied_rate in the GstSegment field.
7192
7193         * tests/check/gst/gstevent.c: (GST_START_TEST):
7194         Add check for applied_rate field.
7195
7196         * tests/check/gst/gstsegment.c: (GST_START_TEST),
7197         (gstsegments_suite):
7198         Add more checks for various GstSegment operations.
7199
7200 2006-05-08  Wim Taymans  <wim@fluendo.com>
7201
7202         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
7203         (gst_base_sink_do_sync), (gst_base_sink_chain_unlocked),
7204         (gst_base_sink_get_position), (gst_base_sink_change_state):
7205         Store the sync time of the buffer end position separatly in a
7206         new variable eos_rtime so we can properly sync the EOS event.
7207         Fixes #340697.
7208         Fix the docs for gst_base_sink_set_qos_enabled().
7209         Don't set segment start to invalid value when we receive a 
7210         non TIME newsegment.
7211         get closer to handling position reporting for negative rates 
7212         correctly.
7213
7214 2006-05-07  Stefan Kost  <ensonic@users.sf.net>
7215
7216         * gst/gstcaps.c:
7217         Docs about how to print caps for debug purposes.
7218
7219         * gst/gstpadtemplate.c: (gst_static_pad_template_get):
7220         use gst_caps_make_writable instead of gst_caps_copy, Fixes #340608
7221
7222 2006-05-07  Stefan Kost  <ensonic@users.sf.net>
7223
7224         * gst/gstelement.c:
7225           use full enum names and preprend a '%' in docs strings to make recent 
7226           gtk-doc turn that into a link
7227
7228 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
7229
7230         * docs/manual/basics-bins.xml:
7231         * docs/manual/basics-bus.xml:
7232         * docs/manual/basics-pads.xml:
7233           Some typo fixes, some additions, some clarifications. 
7234
7235 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
7236
7237         * tools/gst-inspect.c: (main):
7238         * tools/gst-launch.c: (main):
7239         * tools/gst-run.c: (main):
7240         * tools/gst-typefind.c: (main):
7241         * tools/gst-xmlinspect.c: (main):
7242           Use the string passed to g_option_context_new() for
7243           what it's intended for - the program name is already
7244           printed elsewhere.
7245
7246 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
7247
7248         * tools/Makefile.am:
7249         * tools/gst-inspect.c: (main):
7250         * tools/gst-launch.c: (main):
7251         * tools/gst-xmlinspect.c: (main):
7252         * tools/tools.h:
7253           Add back --version command line option (#340460).
7254
7255         * tools/gst-typefind.c: (have_type_handler), (typefind_file), (main):
7256           Add --version option and use GOption for argument parsing; refactor a
7257           bit; accept directories as arguments and recurse into them; lastly,
7258           print a decent error message when things go wrong.
7259
7260 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
7261
7262         * docs/manual/basics-bins.xml:
7263         Don't mention GstThread (#340611)
7264         * docs/manual/basics-elements.xml:
7265         Update link to GObject tutorial (#340607)
7266         
7267 2006-05-05  Wim Taymans  <wim@fluendo.com>
7268
7269         * gst/gstbuffer.h:
7270         * gst/gstminiobject.c:
7271         Add note about refcounting and miniobject/buffer writeability
7272         to docs. Fixes #340604
7273
7274         * gst/gstelementfactory.h:
7275         Added some explanation about @klass.
7276
7277 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
7278
7279         * docs/manual/intro-motivation.xml:
7280         * docs/manual/manual.xml:
7281         Avoid CORBA & Bonobo references (#340598)
7282
7283 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
7284
7285         * docs/manual/basics-bus.xml:
7286         * docs/manual/basics-pads.xml:
7287         Fix up some inaccuracies and omissions (#340609)
7288         
7289 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
7290
7291         * gst/gstghostpad.c:
7292           Small typo in docs (#340625)
7293
7294 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
7295
7296         * gst/parse/Makefile.am:
7297           Make 'make -j' proof (see #340698).
7298
7299 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
7300
7301         * configure.ac:
7302           Require GLib-2.8 here as well.
7303
7304 2006-05-05  Wim Taymans  <wim@fluendo.com>
7305
7306         * gst/glib-compat.c:
7307         * gst/gst.c: (init_pre):
7308         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
7309         (gst_object_unref), (gst_object_replace), (gst_object_dispose),
7310         (gst_object_dispatch_properties_changed):
7311         * gst/gstobject.h:
7312         * gst/gstregistryxml.c: (gst_registry_xml_read_cache):
7313         * gst/gststructure.c: (gst_structure_set_valist):
7314         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
7315         Remove pre glib2.8 compatibility, fixes #340508
7316
7317 2006-05-04  Tim-Philipp Müller  <tim at centricular dot net>
7318
7319         * gst/gsttaglist.h:
7320           Mention type of tags in doc blurbs.
7321
7322 2006-05-04  Jan Schmidt  <thaytan@mad.scientist.com>
7323
7324         * gst/gstpad.c: (gst_pad_init), (gst_pad_configure_sink),
7325         (gst_pad_configure_src), (gst_pad_push):
7326         Restore acceptcaps checking behaviour now that good plugins have
7327         been released.
7328
7329 2006-05-04  Tim-Philipp Müller  <tim at centricular dot net>
7330
7331         Patch by: James Andrewartha <trs80 at tartarus uwa edu au>
7332
7333         * gst/gst.c:
7334         * gst/gstbus.c:
7335         * gst/gstclock.c:
7336         * gst/gstevent.c:
7337         * gst/gstformat.c:
7338         * gst/gstmessage.c:
7339         * gst/gstparse.c:
7340         * gst/gstquery.c:
7341         * gst/gstutils.c:
7342         * gst/parse/Makefile.am:
7343         * libs/gst/base/gstadapter.c:
7344         * libs/gst/base/gstbasesrc.c:
7345         * libs/gst/base/gstpushsrc.c:
7346         * libs/gst/base/gsttypefindhelper.c:
7347         * plugins/elements/gstfakesrc.c:
7348         * plugins/elements/gstidentity.c:
7349           Make sure gstprivate.h and/or config.h are
7350           always included first, otherwise some of our
7351           defines (like _FILE_OFFSET_BITS) might be
7352           redefined in the system headers. Fixes build
7353           on opensolaris (#340016).
7354
7355 2006-05-04  Wim Taymans  <wim@fluendo.com>
7356
7357         * docs/libs/gstreamer-libs-sections.txt:
7358         API: addition: gst_adapter_take_buffer()
7359         
7360         * libs/gst/base/gstadapter.c: (gst_adapter_push),
7361         (gst_adapter_peek), (gst_adapter_take), (gst_adapter_take_buffer),
7362         (gst_adapter_available_fast):
7363         * libs/gst/base/gstadapter.h:
7364         Prepare for optimizing the hell out of this hugely inefficient
7365         piece of code. 
7366         Added gst_adapter_take_buffer() so we can at least start thinking
7367         about subbuffering and merging.
7368         Added some comments.
7369
7370         * tests/check/Makefile.am:
7371         * tests/check/libs/adapter.c: (GST_START_TEST),
7372         (gst_adapter_suite), (main):
7373         Added GstAdapter check.
7374
7375 2006-05-04  Wim Taymans  <wim@fluendo.com>
7376
7377         * docs/design/part-overview.txt:
7378         Fix some typos, add blurb about buffer flags.
7379
7380 2006-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
7381
7382         * docs/libs/gstreamer-libs-sections.txt:
7383           make sure GstBaseTransformClass shows up in the docs
7384         * libs/gst/base/gstbasetransform.c:
7385         * libs/gst/base/gstbasetransform.h:
7386           move docs so gtk-doc picks it up now
7387
7388 2006-05-02  Stefan Kost  <ensonic@users.sf.net>
7389
7390         * docs/libs/gstreamer-libs-sections.txt:
7391           add missing symbols to docs
7392
7393 2006-05-02  Stefan Kost  <ensonic@users.sf.net>
7394
7395         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
7396           back out the newsegment handling change, see #340060 for ongoing
7397           discussion
7398
7399 2006-04-30  Tim-Philipp Müller  <tim at centricular dot net>
7400
7401         * tools/gst-run.c: (get_candidates), (main):
7402           Fix wrong g_file_test() usage (see glib docs for why it doesn't
7403           work); fix typo in error message. Fixes #340079.
7404
7405 2006-04-29  Thomas Vander Stichele  <thomas at apestaart dot org>
7406
7407         * common/Makefile.am:
7408         * docs/Makefile.am:
7409         * docs/faq/Makefile.am:
7410         * docs/gst/Makefile.am:
7411         * docs/libs/Makefile.am:
7412         * docs/manual/Makefile.am:
7413         * docs/plugins/Makefile.am:
7414         * docs/pwg/Makefile.am:
7415         * docs/slides/Makefile.am:
7416         * docs/upload.mak:
7417         * common/upload.mak:
7418           move upload.mak to common
7419
7420 2006-04-29  Thomas Vander Stichele  <thomas at apestaart dot org>
7421
7422         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
7423           add more asserts on refcounts
7424           do more cleanup at end of tests
7425           fix test leaks showing in FC5
7426
7427 2006-04-29  Stefan Kost  <ensonic@users.sf.net>
7428
7429         * plugins/elements/gsttypefindelement.c:
7430         (gst_type_find_element_handle_event):
7431         reverted wrong change and reflowed code to avoid others falling into
7432         this trap
7433
7434 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
7435
7436         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
7437           fix changelog entry about last collectpads change,
7438           add notes about proper fix
7439
7440 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
7441
7442         * gst/gst.c:
7443         * gst/gstregistry.c: (gst_registry_scan_path_level),
7444         (gst_registry_scan_path):
7445         * gst/gstregistry.h:
7446           only write out registry if it has changed, fixes #338339
7447
7448 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
7449
7450         * gst/gstbin.c:
7451         * gst/gstpipeline.c:
7452         * plugins/elements/gstcapsfilter.c:
7453         * plugins/elements/gstfakesink.c:
7454         * plugins/elements/gstfakesrc.c:
7455         * plugins/elements/gstfdsink.c:
7456         * plugins/elements/gstfdsrc.c:
7457         * plugins/elements/gstfilesink.c:
7458         * plugins/elements/gstfilesrc.c:
7459         * plugins/elements/gstidentity.c:
7460         * plugins/elements/gstqueue.c:
7461         * plugins/elements/gsttee.c:
7462         * plugins/elements/gsttypefindelement.c:
7463         (gst_type_find_element_handle_event):
7464           make GstElementDetails const
7465
7466 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
7467
7468         * libs/gst/base/gstbasesink.c: (gst_base_sink_event):
7469         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
7470         (gst_collect_pads_is_collected), (gst_collect_pads_event):
7471           more detailed debug and formatting cleanup,
7472           forward newsegments to src-pad (so that e.g. adder not eats them)
7473
7474 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
7475
7476         * gst/gstutils.c: (gst_element_link_pads):
7477           cleanup double code
7478
7479 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
7480
7481         * libs/gst/controller/gstcontroller.c:
7482         (gst_controller_sync_values):
7483           some little tuning
7484         * tests/check/libs/controller.c: (GST_START_TEST),
7485         (gst_controller_suite):
7486           a new test for live value handling
7487
7488 2006-04-28  Wim Taymans  <wim@fluendo.com>
7489
7490         * gst/gstutils.c: (push_and_ref):
7491         Added some more docs.
7492         Fix refcount issue whith gst_element_found_tags() helper 
7493         function. Fixes #338335
7494
7495         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
7496         Added testsuite for gst_element_found_tags().
7497
7498 2006-04-28  Michael Smith  <msmith@fluendo.com>
7499
7500         * gst/gstvalue.c: (gst_value_serialize_flags):
7501           Avoid NULL dereference when trying to serialize flags containing
7502           invalid values.
7503
7504 2006-04-28  Michael Smith  <msmith@fluendo.com>
7505
7506         * plugins/elements/gsttypefindelement.c:
7507         (gst_type_find_element_handle_event):
7508           If we get EOS before any data is accumulated, don't use
7509           uninitialised local variables.
7510
7511 2006-04-28  Michael Smith  <msmith@fluendo.com>
7512
7513         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
7514         (gst_dp_event_from_packet):
7515           Fixes in reading/writing events over GDP (not currently used?) - 
7516           dereferencing NULL events for unknown/invalid event types, memory
7517           leak, and change g_warning to GST_WARNING.
7518
7519 2006-04-28  Wim Taymans  <wim@fluendo.com>
7520
7521         * libs/gst/base/gstbasesink.c: (gst_base_sink_is_too_late),
7522         (gst_base_sink_do_render_stats), (gst_base_sink_render_object),
7523         (gst_base_sink_get_position), (gst_base_sink_change_state):
7524         When frame dropping is enabled, we should not ignore frames
7525         without a duration.
7526         Update some documentation.
7527
7528 2006-04-28  Wim Taymans  <wim@fluendo.com>
7529
7530         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
7531         (gst_base_src_send_event), (gst_base_src_change_state):
7532         Documentation updates.
7533
7534 2006-04-28  Wim Taymans  <wim@fluendo.com>
7535
7536         * plugins/elements/gstfdsink.c: (gst_fd_sink_render),
7537         (gst_fd_sink_check_fd), (gst_fd_sink_update_fd):
7538         handle EAGAIN, EINTR and short writes correctly. Also clean
7539         up some error cases, avoid a deadlock on bad file descriptors and
7540         use GST_DEBUG_OBJECT.
7541         Fixes #339843
7542
7543 2006-04-28  Wim Taymans  <wim@fluendo.com>
7544
7545         * gst/gstvalue.c: (gst_value_serialize_buffer),
7546         (gst_value_deserialize_buffer):
7547         Don't try to serialize a GValue with a NULL buffer. 
7548         Fixes #339821.
7549
7550         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
7551         Added check for serialisation of NULL buffers.
7552
7553 2006-04-28  Wim Taymans  <wim@fluendo.com>
7554
7555         * gst/gstminiobject.c: (gst_value_take_mini_object):
7556         Taking a NULL miniobject is valid, fix the case where
7557         we try to unref the NULL miniobject.
7558
7559 2006-04-28  Wim Taymans  <wim@fluendo.com>
7560
7561         Patch by: Stefan Kost <ensonic at sonicpulse dot de>
7562
7563         * gst/gstbin.c: (gst_bin_handle_message_func):
7564         Update docs.
7565         Don't leak bin refcount when a state recalc is
7566         in progress and we delay another one #339808.
7567
7568 2006-04-28  Wim Taymans  <wim@fluendo.com>
7569
7570         * docs/design/part-TODO.txt:
7571         Mention QoS as an ongoing work item.
7572
7573         * docs/design/part-buffering.txt:
7574         New doc about buffering that needs to be fleshed out
7575         at some point.
7576
7577         * docs/design/part-qos.txt:
7578         More QoS policy for decoders/demuxers/transforms
7579
7580         * docs/design/part-trickmodes.txt:
7581         Small update.
7582
7583 2006-04-28  Thomas Vander Stichele  <thomas at apestaart dot org>
7584
7585         * configure.ac:
7586           back to HEAD
7587
7588 === release 0.10.5 ===
7589
7590 2006-04-28  Thomas Vander Stichele <thomas at apestaart dot org>
7591
7592         * configure.ac:
7593           releasing 0.10.5, "Fogo"
7594
7595 2006-04-22  Thomas Vander Stichele  <thomas at apestaart dot org>
7596
7597         patch by: Wim Taymans
7598
7599         * gst/gstpad.c: (gst_pad_init), (gst_pad_configure_sink),
7600         (gst_pad_configure_src), (gst_pad_push):
7601         * gst/gstpipeline.c: (gst_pipeline_init):
7602           Fix internal data flow errors.  Fixes #338711.
7603
7604 2006-04-12  Wim Taymans  <wim@fluendo.com>
7605
7606         * tests/check/gst/gstelement.c: (GST_START_TEST):
7607         Don't leak the factory.
7608
7609 2006-04-12  Thomas Vander Stichele  <thomas at apestaart dot org>
7610
7611         * configure.ac:
7612         * win32/common/config.h:
7613           prerelease
7614
7615 2006-04-12  Tim-Philipp Müller  <tim at centricular dot net>
7616
7617         * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
7618         (gst_controller_unset_all):
7619           Free allocated GstTimedValues when freeing list nodes.
7620           Should fix leaks 'make check-valgrind' complains about.
7621
7622         * win32/common/libgstcontroller.def:
7623           Add gst_controller_unset_all.
7624
7625 2006-04-11  Stefan Kost  <ensonic@users.sf.net>
7626
7627         * docs/libs/gstreamer-libs-sections.txt:
7628         * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
7629         (gst_controller_unset_all):
7630         * libs/gst/controller/gstcontroller.h:
7631         API: Added new method gst_controller_unset_all()
7632         fixed gst_controller_unset()
7633         * tests/check/libs/controller.c: (GST_START_TEST),
7634         (gst_controller_suite):
7635         Added two testcases for new and fixed method
7636
7637 2006-04-11  Tim-Philipp Müller  <tim at centricular dot net>
7638
7639         * libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send):
7640           MSG_DONTWAIT is not defined on Cygwin, so work
7641           around that (fixes #317048).
7642           
7643 2006-04-11  Wim Taymans  <wim@fluendo.com>
7644
7645         * gst/gstelementfactory.c: (gst_element_register),
7646         (gst_element_factory_create), (gst_element_factory_make):
7647         Some cleanups.
7648         Fixed a FIXME.
7649         Updated docs (Fixes #131079)
7650
7651         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
7652         Small cleanups.
7653
7654         * tests/check/gst/gstelement.c: (GST_START_TEST),
7655         (gst_element_suite):
7656         Added testcase for elementfactory class field.
7657
7658 2006-04-10  Wim Taymans  <wim@fluendo.com>
7659
7660         * gst/gstsegment.c:
7661         Added some more docs.
7662
7663         * libs/gst/base/gstbasesink.c: (gst_base_sink_perform_qos),
7664         (gst_base_sink_reset_qos):
7665         Calculate more accurate rate values.
7666
7667 2006-04-09  Sebastien Moutte  <sebastien@moutte.net>
7668
7669         * gst/gst_private.h:
7670           add a new #ifdef to use __declspec(dllimport) only for
7671           other modules and not for gstreamer core
7672         * gst/gstbasesink.c: (gst_base_sink_perform_qos):
7673           use gst_guint64_to_gdouble for conversion
7674         * win32/common/libgstreamer.def:
7675           add new exported functions
7676         * win32/vs6/gst_inspect.dsp:
7677         * win32/vs6/gst_launch.dsp:
7678         * win32/vs6/libgstbase.dsp:
7679         * win32/vs6/libgstcontroller.dsp:
7680         * win32/vs6/libgstcoreelements.dsp:
7681         * win32/vs6/libgstdataprotocol.dsp:
7682         * win32/vs6/libgstnet.dsp:
7683           update project files
7684
7685 2006-04-08  Stefan Kost  <ensonic@users.sf.net>
7686
7687         * gst/gstbuffer.c: (gst_subbuffer_class_init):
7688         * gst/gstclock.c: (gst_clock_class_init):
7689         * gst/gstelement.c: (gst_element_class_init):
7690         * gst/gstindex.c: (gst_index_class_init):
7691         * gst/gstindexfactory.c: (gst_index_factory_class_init):
7692         * gst/gstobject.c: (gst_object_class_init),
7693         (gst_signal_object_class_init):
7694         * gst/gstpad.c: (gst_pad_class_init):
7695         * gst/gstpadtemplate.c: (gst_pad_template_class_init):
7696         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init):
7697         * gst/gstregistry.c: (gst_registry_class_init):
7698         * gst/gstsystemclock.c: (gst_system_clock_class_init):
7699         * gst/gsttask.c: (gst_task_class_init):
7700         * gst/gstxml.c: (gst_xml_class_init):
7701         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
7702         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
7703         (gst_base_src_loop):
7704         * libs/gst/controller/gstcontroller.c:/
7705         (_gst_controller_class_init):
7706         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
7707         * plugins/indexers/gstfileindex.c: (gst_file_index_class_init):
7708         * plugins/indexers/gstmemindex.c: (gst_mem_index_class_init):
7709         * tests/old/examples/plugins/example.c: (gst_example_class_init):
7710         * tests/old/testsuite/threads/signals.c: (gst_test_class_init):
7711         Fix #337365 (g_type_class_ref <-> g_type_class_peek_parent)
7712
7713 2006-04-08  Tim-Philipp Müller  <tim at centricular dot net>
7714
7715         * gst/gstpad.c: (gst_pad_link):
7716           Must set peer pads before calling the link function, otherwise
7717           a task started from a link function might get a flow-not-linked
7718           result when trying to push because the other thread where the
7719           linking happens hasn't had a chance to set the peers yet. This
7720           might happen for example when a queue gets linked to a downstream
7721           element, as queue starts a streaming task when its source pad
7722           gets linked. Happens in real life when playing back flac/musepack
7723           files in playbin (#332390).
7724           
7725 2006-04-08  Stefan Kost  <ensonic@users.sf.net>
7726
7727         * gst/gstindex.h:
7728         * gst/gstxml.h:
7729         * libs/gst/base/gstadapter.h:
7730         * libs/gst/base/gstbasesink.h:
7731         * libs/gst/base/gstbasesrc.h:
7732         * libs/gst/base/gstbasetransform.h:
7733         * libs/gst/base/gstcollectpads.h:
7734         * libs/gst/base/gstpushsrc.h:
7735         Fix broken GObject macros
7736
7737 2006-04-07  Wim Taymans  <wim@fluendo.com>
7738
7739         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
7740         Initialize start and stop times, thanks valgrind.
7741
7742 2006-04-07  Wim Taymans  <wim@fluendo.com>
7743
7744         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
7745         Be a bit nicer to badly behaving upstream elements that expect
7746         us to deal with non TIME segments and timestamps (such as fakesrc
7747         in the testsuite).
7748
7749 2006-04-07  Wim Taymans  <wim@fluendo.com>
7750
7751         * gst/gstbus.c:
7752         Small documentation clarification about the signal watch.
7753
7754         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
7755         (gst_base_sink_wait_clock), (gst_base_sink_do_sync),
7756         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
7757         (gst_base_sink_do_render_stats), (gst_base_sink_render_object),
7758         (gst_base_sink_get_position_last),
7759         (gst_base_sink_get_position_paused), (gst_base_sink_change_state):
7760         Convert and store timestamps in stream time and running time, the
7761         raw timestamps are not useful, also document this better.
7762         Use different window sizes for good and bad QoS observations so
7763         we react to badness a little quicker.
7764         Keep track of the amount of rendered and dropped buffers.
7765         Send QoS timestamps in running time.
7766
7767         * libs/gst/base/gstbasetransform.c:
7768         (gst_base_transform_sink_eventfunc),
7769         (gst_base_transform_handle_buffer):
7770         Compare QoS timestamps against running time.
7771
7772 2006-04-06  Tim-Philipp Müller  <tim at centricular dot net>
7773
7774         * gst/gstpad.c:
7775           Typo fixes in docs.
7776
7777 2006-04-06  Michael Smith  <msmith@fluendo.com>
7778
7779         * gst/gstpad.c: (gst_pad_set_property):
7780           Use g_value_get_object() instead of g_value_dup_gst_object(),
7781           to avoid double-reffing the pad template (which we then sink,
7782           so this worked previously if (and only if) the pad template
7783           was floating.
7784
7785         * gst/gstpadtemplate.c: (gst_pad_template_init),
7786         (gst_pad_template_pad_created):
7787           Never return floating references to pad templates, create
7788           them as initially-sunken.
7789
7790           Document an extra function (and make this stop sinking our
7791           pad template, since that is now guaranteed to do nothing,
7792           since we created it sunken).
7793
7794         * gst/gstghostpad.c:
7795           Fix docs typo.
7796
7797 2006-04-06  Tim-Philipp Müller  <tim at centricular dot net>
7798
7799         * gst/gstinfo.c: (__gst_in_valgrind):
7800           Add some newlines.
7801
7802         * plugins/elements/gsttypefindelement.c:
7803         (gst_type_find_element_chain):
7804           Don't leak buffer caps.
7805
7806 2006-04-06  Michael Smith  <msmith@fluendo.com>
7807
7808         * gst/parse/grammar.y:
7809           Fix a leak in parse-launch for any source-or-sink named element 
7810           references used.
7811
7812         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe):
7813           Unref the pipeline if it exists after we've failed parsing.
7814
7815 2006-04-05  Michael Smith  <msmith@fluendo.com>
7816
7817         * gst/gstpipeline.c: (gst_pipeline_init):
7818           When we create a pipeline bus, initially create it in flushing mode.
7819           Fixes leaks in at least one test, and makes a new pipeline work the
7820           same as one that has gone to READY and then back to NULL.
7821
7822         * gst/gstelement.c:
7823           Typo fix in docs.
7824
7825 2006-04-05  Michael Smith  <msmith@fluendo.com>
7826
7827         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
7828           Unref a pad we reffed.
7829         * tests/check/gst/gstutils.c: (GST_START_TEST):
7830           Unref bins
7831
7832 2006-04-05  Michael Smith  <msmith@fluendo.com>
7833
7834         * gst/gstquery.c: (gst_query_set_formats),
7835         (gst_query_set_formatsv):
7836           Fix leaking GValues in queries, as shown by valgrind/testsuite.
7837
7838 2006-04-05  Michael Smith  <msmith@fluendo.com>
7839
7840         * tests/check/generic/sinks.c: (GST_START_TEST):
7841           Fix a variety of memleaks in sinks check, which are only sometimes 
7842           shown by running the tests under valgrind (weird?).
7843
7844 2006-04-05  Jan Schmidt  <thaytan@mad.scientist.com>
7845
7846         * docs/version.entities.in:
7847           Fix the substituted entity name after thomas' changes on the
7848           weekend.
7849
7850 2006-04-05  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7851
7852         * gst/gstinfo.c: (__gst_in_valgrind): Use printf instead of
7853         VALGRIND_PRINTF
7854         
7855 2006-04-05  Andy Wingo  <wingo@pobox.com>
7856
7857         * gst/gstpad.c (gst_pad_set_blocked_async): More debug.
7858
7859         * libs/gst/base/gstbasetransform.c
7860         (gst_base_transform_sink_eventfunc): When resetting our segment on
7861         FLUSH_STOP, also update the flag saying we haven't seen a
7862         newsegment.
7863
7864 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
7865
7866         Patch by: Paolo Borelli  <pborelli at katamail dot com>
7867
7868         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
7869         (gst_plugin_check_license):
7870           minor clean-ups: G_DEFINE_TYPE already takes care of the
7871           parent_class stuff, no need to do it twice. Mark array of
7872           license strings as constant. (#337103)
7873           
7874 2006-04-04  Michael Smith  <msmith@fluendo.com>
7875
7876         * tools/gst-inspect.c: (print_element_list):
7877           Free the right plugin list; fixes a memory leak.
7878
7879 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
7880
7881         Patch by: Mark Nauwelaerts  <manauw at skynet dot be>
7882
7883         * plugins/elements/gstfilesink.c: (gst_file_sink_render):
7884           Don't error out on empty buffers (#336945).
7885           
7886 2006-04-04  Jan Schmidt  <thaytan@mad.scientist.com>
7887
7888         * docs/libs/gstreamer-libs-sections.txt:
7889         * gst/gsttaglist.c:
7890         * libs/gst/base/gstbasesink.c:
7891         * libs/gst/base/gstbasesink.h:
7892         * libs/gst/base/gstbasesrc.c:
7893         * libs/gst/base/gstbasesrc.h:
7894           Documentation updates. Make BaseSink and BaseSrc docs contain the
7895           class structure so that people can actually see the prototypes for
7896           virtual functions they're supposed to be overriding.
7897
7898 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
7899
7900         * plugins/elements/gsttypefindelement.c:
7901         (gst_type_find_element_chain):
7902           More debug info; when skipping typefinding, send cached
7903           events in all cases.
7904
7905 2006-04-01  Thomas Vander Stichele  <thomas at apestaart dot org>
7906
7907         * configure.ac:
7908           use new AS_VERSION and AS_NANO macros
7909         * gst/gst-i18n-lib.h:
7910         * gst/gst.c:
7911         * gst/gsterror.c:
7912         * gst/gstversion.h.in:
7913         * win32/common/config.h:
7914         * win32/common/config.h.in:
7915           update accordingly
7916
7917 2006-03-31  Michael Smith  <msmith@fluendo.com>
7918
7919         * plugins/elements/gsttypefindelement.c:
7920         (gst_type_find_element_chain):
7921           Do not typefind content if the buffers already have caps.
7922           Neccesary for icydemux (#333657), and the right thing to do anyway.
7923
7924 2006-03-30  Wim Taymans  <wim@fluendo.com>
7925
7926         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
7927         (gst_base_sink_finalize), (gst_base_sink_set_qos_enabled),
7928         (gst_base_sink_is_qos_enabled), (gst_base_sink_do_sync),
7929         (gst_base_sink_record_qos_observation),
7930         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
7931         (gst_base_sink_is_too_late), (gst_base_sink_render_object),
7932         (gst_base_sink_change_state):
7933         More QoS measurements as described in the design doc.
7934         Get rid of ringbuffer with observations, running average is
7935         more simple and equally good.
7936         Calculates valid proportion now.
7937         Added beginning of flood measurement.
7938
7939 2006-03-29  Wim Taymans  <wim@fluendo.com>
7940
7941         * docs/design/part-qos.txt:
7942         * gst/gstclock.c:
7943         Small documentation updates and additions.
7944
7945 2006-03-29  Wim Taymans  <wim@fluendo.com>
7946
7947         * libs/gst/base/gstbasesrc.c: (gst_base_src_finalize),
7948         (gst_base_src_send_event), (gst_base_src_loop),
7949         (gst_base_src_change_state):
7950         Perform the EOS logic when we reach the segment stop position.
7951         Fix compilation on gcc4.1
7952
7953 2006-03-29  Wim Taymans  <wim@fluendo.com>
7954
7955         Patch by: Tommi Myöhänen <ext-tommi dot myohanen at nokia dot com>
7956
7957         * plugins/elements/gstqueue.c: (gst_queue_init),
7958         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
7959         (gst_queue_set_property):
7960         * plugins/elements/gstqueue.h:
7961         In queue, when EOS is received, if minimum threshold > max_size -
7962         current_level, there is chance that queue blocks forever in conditional
7963         item del wait. This is because the queue is not emptied completely due
7964         to minimum threshold.  Here is another approach. Instead of setting
7965         cur_levels to max in EOS, just zero all minimum threshold levels. This
7966         should make sure that queue gives out all data. When going to READY
7967         (stop) state, just reset the original minimum threshold levels.
7968         Fixes #336336.
7969
7970 2006-03-29  Tim-Philipp Müller  <tim at centricular dot net>
7971
7972         * plugins/elements/gsttypefindelement.c: (stop_typefinding),
7973         (gst_type_find_element_handle_event),
7974         (gst_type_find_element_send_cached_events),
7975         (gst_type_find_element_change_state):
7976         * plugins/elements/gsttypefindelement.h:
7977           When typefinding is done in push mode, we should cache
7978           events we receive during typefinding instead of just
7979           dropping them (e.g. newsegment, custom events from
7980           dvdreadsrc etc.) and then send them out once we've
7981           determined the type of the stream (and decodebin
7982           has had a chance to plug in a decoder/demuxer).
7983           
7984 2006-03-27  Wim Taymans  <wim@fluendo.com>
7985
7986         * docs/design/part-qos.txt:
7987         First QoS ideas.
7988
7989 2006-03-27  Wim Taymans  <wim@fluendo.com>
7990
7991         Inspired by a patch of: Lutz Mueller <lutz at topfrose dot de>
7992
7993         * libs/gst/base/gstbasesrc.c: (gst_base_src_finalize),
7994         (gst_base_src_send_event), (gst_base_src_change_state):
7995         Handle element seek correctly when we are streaming.
7996         Fixes #326998.
7997
7998 2006-03-24  Michael Smith  <msmith@fluendo.com>
7999
8000         * docs/faq/gst-uninstalled:
8001           Set up LD_LIBRARY_PATH to point at all the gstreamer libs. This will
8002           allow you to correctly run intalled applications built against old 
8003           core, using plugins that require updated core (e.g. running
8004           installed totem against a full uninstalled gstreamer stack)
8005
8006 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
8007
8008         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
8009         more debug details
8010
8011 2006-03-24  Wim Taymans  <wim@fluendo.com>
8012
8013         * docs/gst/gstreamer-sections.txt:
8014         Rearrange the order of the methods so that related methods
8015         are grouped together in sections.
8016
8017 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
8018
8019         * gst/gstelement.c:
8020           Little clarification in the docs
8021
8022 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
8023
8024         * docs/README:
8025         formatting fix
8026         * plugins/elements/gstidentity.c:
8027         * plugins/elements/gstqueue.c:
8028         * plugins/elements/gsttee.c:
8029         * plugins/elements/gsttypefindelement.c:
8030         GST_ELEMENT_DETAILS formatting
8031
8032 2006-03-24  Wim Taymans  <wim@fluendo.com>
8033
8034         * libs/gst/base/gstbasesink.h:
8035         Only add fields, not insert or we break ABI.
8036
8037 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
8038
8039         * win32/common/libgstbase.def:
8040         * win32/common/libgstreamer.def:
8041           Update, add recently added functions.
8042
8043 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
8044
8045         * docs/gst/gstreamer-sections.txt:
8046         * gst/gstutils.c: (gst_pad_query_peer_position),
8047         (gst_pad_query_peer_duration), (gst_pad_query_peer_convert):
8048         * gst/gstutils.h:
8049           API: add some new utility functions:
8050            - gst_pad_query_peer_position()
8051            - gst_pad_query_peer_duration()
8052            - gst_pad_query_peer_convert()
8053           
8054 2006-03-23  Wim Taymans  <wim@fluendo.com>
8055
8056         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
8057         (gst_base_sink_init), (gst_base_sink_finalize),
8058         (gst_base_sink_set_qos_enabled), (gst_base_sink_is_qos_enabled),
8059         (gst_base_sink_set_property), (gst_base_sink_get_property),
8060         (gst_base_sink_commit_state), (gst_base_sink_get_sync_times),
8061         (gst_base_sink_wait_clock), (gst_base_sink_do_sync),
8062         (gst_base_sink_add_qos_observation), (gst_base_sink_send_qos),
8063         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
8064         (gst_base_sink_is_too_late), (gst_base_sink_render_object),
8065         (gst_base_sink_preroll_object), (gst_base_sink_event),
8066         (gst_base_sink_chain_unlocked), (gst_base_sink_get_position_last),
8067         (gst_base_sink_get_position_paused), (gst_base_sink_get_position),
8068         (gst_base_sink_query), (gst_base_sink_change_state):
8069         Decouple max-lateness and the fact that QoS messages are generated
8070         with a new property (qos).
8071         added API: GstBaseSink::async_play()
8072         Add vmethod so subclasses can be notified of ASYNC playing
8073         state changes.
8074         Collect timestamp start and stop to report better current
8075         position in EOS/PLAYING/PAUSED/READY/NULL.
8076         Refactor QoS/frame dropping and other measurements.
8077         API: GstBaseSrc::qos
8078         Fixes #326311
8079
8080         * libs/gst/base/gstbasesink.h:
8081         Added Private struct.
8082         API: gst_base_sink_set_qos_enabled()
8083         API: gst_base_sink_is_qos_enabled()
8084
8085 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
8086
8087         * gst/gstregistryxml.c: (gst_registry_xml_read_cache):
8088           If compiling against GLib-2.8 or newer, try to read the
8089           registry file using GMappedFile first before falling back
8090           to fopen() + fread() (#332151).
8091
8092 2006-03-22  Wim Taymans  <wim@fluendo.com>
8093
8094         * gst/gstinfo.c: (gst_debug_set_active),
8095         (gst_debug_category_set_threshold):
8096         Disable debugging unless explicitly activated.
8097         Fixes #335480.
8098
8099 2006-03-22  Wim Taymans  <wim@fluendo.com>
8100
8101         * gst/gstelement.c: (gst_element_set_locked_state),
8102         (gst_element_dispose):
8103         Cleanup the error case.
8104
8105         * gst/gstobject.c: (gst_object_dispose):
8106         print a critical when some object was disposed with
8107         a parent, also revive the object since it might
8108         crash the parent.
8109
8110 2006-03-22  Tim-Philipp Müller  <tim at centricular dot net>
8111
8112         * tools/gst-launch.1.in:
8113           Fix another typo.
8114
8115 2006-03-21  Thomas Vander Stichele  <thomas at apestaart dot org>
8116
8117         * configure.ac:
8118         * tests/check/Makefile.am:
8119           disable some tests when we don't have a registry
8120         * tests/check/gst/gstutils.c: (gst_utils_suite):
8121           don't build the part that needs parsing
8122
8123 2006-03-21  Thomas Vander Stichele  <thomas at apestaart dot org>
8124
8125         * gst/Makefile.am
8126         * tests/examples/Makefile.am:
8127           fix --disable-parse build
8128
8129 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
8130
8131         * tools/gst-feedback.1.in:
8132           Fix typo: s/feeback/feedback/ (#133494).
8133
8134 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
8135
8136         * tools/Makefile.am:
8137         * tools/gst-launch.1.in:
8138           Add FILES section and correct entry about GST_REGISTRY_PATH
8139           environment variable (#133495; #133494).
8140
8141 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
8142
8143         * tools/Makefile.am:
8144         * tools/gst-md5sum.1.in:
8145         * tools/gst-md5sum.c:
8146           Remove gst-md5sum and man page (the md5sink element
8147           required was removed ages ago)
8148
8149 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
8150
8151         * gst/gststructure.c: (gst_structure_id_set_value):
8152           Make sure that string fields in structures/taglists
8153           contain valid UTF-8 - we don't want to pass rubbish to
8154           applications because of a buggy plugin (cp. #334167).
8155
8156 2006-03-21  Edward Hervey  <edward@fluendo.com>
8157
8158         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
8159         (gst_bin_handle_message_func):
8160         * gst/gstclock.c: (gst_clock_dispose), (gst_clock_set_master):
8161         * gst/gstelement.c: (gst_element_set_clock), (gst_element_dispose),
8162         (gst_element_set_bus_func):
8163         * gst/gstghostpad.c: (gst_proxy_pad_dispose):
8164         * gst/gstminiobject.c: (gst_value_set_mini_object),
8165         (gst_value_take_mini_object):
8166         * gst/gstpad.c: (gst_pad_set_pad_template):
8167         * gst/gstpipeline.c: (gst_pipeline_dispose),
8168         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
8169         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop),
8170         (gst_collect_pads_chain):
8171         * libs/gst/net/gstnettimeprovider.c:
8172         (gst_net_time_provider_set_property):
8173         Series of fixes for dereferenced pointers that gcc 4.1 complains about.
8174         It's in fact all issues with gst_*object_replace().
8175
8176 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
8177
8178         Patch by: Loïc Minier  <lool + gnome at via dot ecp dot fr>
8179         
8180         * pkgconfig/gstreamer-check-uninstalled.pc.in:
8181         * pkgconfig/gstreamer-check.pc.in:
8182           Use @CHECK_LIBS@ here instead of hard-coding -lcheck (#334109).
8183
8184 2006-03-21  Edward Hervey  <edward@fluendo.com>
8185
8186         * gst/gstbuffer.h:
8187         * gst/gstevent.h:
8188         * gst/gstmessage.h:
8189         gst_[buffer|event|message]_ref() macros are replaced by a static
8190         inline functions because gcc-4.1 will about if the return value
8191         isn't used.
8192         * tests/check/gst/gstevent.c: (event_probe):
8193         gst_event_ref now has to be given a GstEvent* , fix check accordingly.
8194
8195 2006-03-20  Jan Schmidt  <thaytan@mad.scientist.com>
8196
8197         * gst/gstutils.h:
8198         Add G_UNLIKELY to our boilerplate to optimise the 'already registered
8199         the type' case. (Closes: #335195 for now). In the future, when we
8200         depend on GLib 2.10, we could also intern the type name using
8201         g_intern_static_string()
8202
8203 2006-03-20  Wim Taymans  <wim@fluendo.com>
8204
8205         * gst/gstbin.c: (gst_bin_handle_message_func),
8206         (bin_query_max_init), (bin_query_position_fold),
8207         (bin_query_position_done), (gst_bin_query):
8208         Position query should also take max of all streams.
8209
8210 2006-03-20  Wim Taymans  <wim@fluendo.com>
8211
8212         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
8213         (gst_fake_src_finalize):
8214         Fix leaks in fakesrc.
8215
8216         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
8217         Fix leaks in the testcase.
8218
8219 2006-03-19  Sebastien Moutte  <sebastien@moutte.net>
8220
8221         * gst/gst_private.h:
8222           add win32 specific import decoration(__declspec(dllimport)) 
8223           for all extern GstDebugCategory * variables
8224         * win32/common/libgstbase.def:
8225         * win32/common/libgstcontroller.def:
8226         * win32/common/libgstreamer.def:
8227           Add some exports, remove empty lines
8228         * win32/common/libgstdataprotocol.def:
8229         * win32/common/libgstdataprotocol.dsp:
8230         * win32/common/libgstnet.def:
8231         * win32/common/libgstnet.dsp:
8232           new project files and exportation files added
8233         
8234 2006-03-19  Wim Taymans  <wim@fluendo.com>
8235
8236         * tests/check/libs/basesrc.c: (eos_event_counter):
8237         Use proper return value for probe.
8238
8239 2006-03-17  Wim Taymans  <wim@fluendo.com>
8240
8241         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_alloc_buffer_full),
8242         (gst_pad_push):
8243         Don't leak buffers, caps and pads on negotiation errors.
8244
8245 2006-03-16  Stefan Kost  <ensonic@users.sf.net>
8246
8247         * docs/faq/cvs.xml:
8248         * docs/faq/dependencies.xml:
8249         * docs/faq/developing.xml:
8250         * docs/faq/faq.xml:
8251         * docs/faq/general.xml:
8252         * docs/faq/getting.xml:
8253         * docs/faq/legal.xml:
8254         * docs/faq/troubleshooting.xml:
8255         * docs/faq/using.xml:
8256         Faq review and update.
8257
8258 2006-03-16  Jan Schmidt  <thaytan@mad.scientist.com>
8259
8260         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_alloc_buffer_full),
8261         (gst_pad_push):
8262         Don't pound the cpu to pieces by checking get_caps when accept_caps
8263         is called with the same caps as the pad already has.
8264         Use GST_DEBUG_OBJECT when outputting caps change information.
8265
8266 2006-03-15  Wim Taymans  <wim@fluendo.com>
8267
8268         * gst/gstclock.c: (gst_clock_class_init):
8269         Fix docs.
8270
8271 2006-03-15  Jan Schmidt  <thaytan@mad.scientist.com>
8272
8273         * gst/gstbuffer.h:
8274         Documentation fix.
8275
8276         * gst/gstpad.c: (gst_pad_init), (gst_pad_acceptcaps_default),
8277         (gst_pad_accept_caps), (gst_pad_configure_sink),
8278         (gst_pad_configure_src), (gst_pad_chain), (gst_pad_push):
8279         Make the default acceptcaps behaviour be to check the requested 
8280         caps against the gst_pad_get_caps output. 
8281
8282         Ensure that gst_pad_accept_caps is used to check caps when a pad
8283         doesn't have a setcaps function, so that pads automatically refuse 
8284         caps that they don't allow in their pad template. (Fixes #332986)
8285
8286         When a buffer with attached caps is pushed, ensure that the source 
8287         pad receives those caps even if the element didn't call
8288         gst_pad_set_caps first.
8289
8290 2006-03-15  Wim Taymans  <wim@fluendo.com>
8291
8292         * libs/gst/base/gstadapter.c:
8293         Add some docs.
8294
8295 2006-03-15  Tim-Philipp Müller  <tim at centricular dot net>
8296
8297         * win32/common/libgstbase.def:
8298         * win32/common/libgstcontroller.def:
8299         * win32/common/libgstreamer.def:
8300           Add a whole bunch of missing functions (#334434).
8301
8302 2006-03-14  Wim Taymans  <wim@fluendo.com>
8303
8304         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
8305         (gst_base_sink_get_sync_times), (gst_base_sink_wait_clock),
8306         (gst_base_sink_do_sync), (gst_base_sink_do_qos):
8307         Better debug info when we receive a segment event.
8308         Reorganize a bit so we can pass the get_times() results around.
8309         Use the segment format when calculating the running time.
8310         Don't do QoS is sync is disabled or we have no clock or the
8311         element does not want us to sync to the clock.
8312         Don't drop buffers if QoS is disabled for now.
8313
8314 2006-03-14  Wim Taymans  <wim@fluendo.com>
8315
8316         * gst/gstclock.c: (gst_clock_class_init), (do_linear_regression):
8317         Marked the stats property as unimplemented so people don't get
8318         wild ideas.
8319         Add debug message when regression goes wrong.
8320         Added some more docs.
8321
8322 2006-03-14  Wim Taymans  <wim@fluendo.com>
8323
8324         * gst/gstsegment.c: (gst_segment_to_stream_time):
8325         Return correct return type in case of errors.
8326
8327 2006-03-14  Wim Taymans  <wim@fluendo.com>
8328
8329         * gst/gstformat.c: (gst_format_get_name), (gst_format_to_quark):
8330           Don't segfault on invalid formats.
8331
8332 2006-03-14  Tim-Philipp Müller  <tim at centricular dot net>
8333
8334         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
8335           Can't use gst_segment_to_running_time() when the segment
8336           is not in GST_TIME_FORMAT (like with filesink, for example).
8337           Stops flac encoding pipelines from spewing critical warnings
8338           at EOS (#331248).
8339           
8340 2006-03-14  Tim-Philipp Müller  <tim at centricular dot net>
8341
8342         * gst/gstpipeline.c: (gst_pipeline_class_init):
8343           Add 'Since: 0.10.5' to gtk-doc blurb for added property.
8344
8345         * plugins/elements/gsttypefindelement.c:
8346         (gst_type_find_element_handle_event):
8347           Don't try to typefind empty streams.
8348
8349 2006-03-14  Wim Taymans  <wim@fluendo.com>
8350
8351         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync),
8352         (gst_base_sink_do_qos):
8353         Separate QoS calculation.
8354         Only drop buffers when lateness is bigger than the 
8355         duration of the buffer.
8356
8357 2006-03-13  Wim Taymans  <wim@fluendo.com>
8358
8359         * gst/gstpipeline.c: (gst_pipeline_set_property),
8360         (gst_pipeline_get_property), (do_pipeline_seek),
8361         (gst_pipeline_change_state), (gst_pipeline_set_delay),
8362         (gst_pipeline_get_delay):
8363         Don't deadlock when reading properties.
8364
8365 2006-03-13  Wim Taymans  <wim@fluendo.com>
8366
8367         * libs/gst/base/gstbasetransform.c:
8368         (gst_base_transform_class_init), (gst_base_transform_init),
8369         (gst_base_transform_sink_event),
8370         (gst_base_transform_sink_eventfunc),
8371         (gst_base_transform_src_event), (gst_base_transform_src_eventfunc),
8372         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
8373         (gst_base_transform_set_property),
8374         (gst_base_transform_get_property),
8375         (gst_base_transform_change_state), (gst_base_transform_update_qos),
8376         (gst_base_transform_set_qos_enabled),
8377         (gst_base_transform_is_qos_enabled):
8378         * libs/gst/base/gstbasetransform.h:
8379         Make basetransform virtual method for src events too.
8380         Handle QOS in basetransform.
8381         API: gst_base_transform_update_qos()
8382         API: gst_base_transform_set_qos_enabled()
8383         API: gst_base_transform_is_qos_enabled()
8384
8385 2006-03-13  Wim Taymans  <wim@fluendo.com>
8386
8387         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
8388         (gst_base_sink_do_sync):
8389         Small cleanups.
8390         Use QOS debug category.
8391
8392 2006-03-13  Wim Taymans  <wim@fluendo.com>
8393
8394         * plugins/elements/gstqueue.c:
8395         Very small doc update.
8396
8397 2006-03-13  Wim Taymans  <wim@fluendo.com>
8398
8399         * gst/gst_private.h:
8400         * gst/gstinfo.c: (_gst_debug_init):
8401         Added QOS debug category
8402
8403 2006-03-13  Wim Taymans  <wim@fluendo.com>
8404
8405         * docs/gst/gstreamer-sections.txt:
8406         * gst/gstbin.c: (bin_bus_handler), (gst_bin_handle_message_func):
8407         * gst/gstbin.h:
8408         * gst/gstbus.c: (gst_bus_class_init):
8409         * gst/gstbus.h:
8410         * gst/gstclock.c:
8411         * gst/gstelement.c: (gst_element_set_locked_state):
8412         * gst/gstsegment.c:
8413         Documentation updates.
8414
8415         * gst/gstpipeline.c: (gst_pipeline_get_type),
8416         (gst_pipeline_class_init), (gst_pipeline_init),
8417         (gst_pipeline_dispose), (gst_pipeline_set_property),
8418         (gst_pipeline_get_property), (do_pipeline_seek),
8419         (gst_pipeline_send_event), (gst_pipeline_change_state),
8420         (gst_pipeline_provide_clock_func), (gst_pipeline_set_delay),
8421         (gst_pipeline_get_delay):
8422         * gst/gstpipeline.h:
8423         Added methods for setting the delay.
8424         API: gst_pipeline_set_delay()
8425         API: gst_pipeline_get_delay()
8426         Add pipeline debug category
8427         Various cleanups.
8428         Updated docs.
8429         Don't reset stream time when seek failed.
8430
8431 2006-03-13  Wim Taymans  <wim@fluendo.com>
8432
8433         * docs/design/draft-klass.txt:
8434         * docs/design/part-clocks.txt:
8435         * docs/design/part-events.txt:
8436         * docs/design/part-gstbin.txt:
8437         * docs/design/part-gstpipeline.txt:
8438         * docs/design/part-messages.txt:
8439         * docs/design/part-negotiation.txt:
8440         * docs/design/part-overview.txt:
8441         * docs/design/part-preroll.txt:
8442         * docs/design/part-seeking.txt:
8443         * docs/design/part-states.txt:
8444         * docs/design/part-streams.txt:
8445         Documentation updates.
8446
8447 2006-03-12  Julien MOUTTE  <julien@moutte.net>
8448
8449         * gst/gsttaglist.c: Fix rubbish docs that are encouraging
8450         us to leak strings...
8451
8452 2006-03-12  Thomas Vander Stichele  <thomas at apestaart dot org>
8453
8454         * libs/gst/net/gstnettimeprovider.c:
8455           fix docs
8456         * win32/common/config.h:
8457           update
8458
8459 2006-03-12  Tim-Philipp Müller  <tim at centricular dot net>
8460
8461         Patch by: Julio M. Merino Vidal <jmmv at netbsd org>
8462
8463         * configure.ac:
8464           Don't check for libgnomeui (leftover from old examples
8465           that aren't built or disted any longer) (#334303).
8466           
8467 2006-03-11  Tim-Philipp Müller  <tim at centricular dot net>
8468
8469         * plugins/elements/gstfdsink.c: (gst_fd_sink_render):
8470         * plugins/elements/gstfilesink.c: (gst_file_sink_render):
8471           Emit RESOURCE_NO_SPACE_LEFT error here as well when
8472           there's no space left on the device.
8473
8474 2006-03-10  Tim-Philipp Müller  <tim at centricular dot net>
8475
8476         * gst/gstclock.h:
8477           Fix GST_CLOCK_TIME_IS_VALID signedness issues - we need
8478           to cast the input to GstClockTime before comparing with
8479           another GstClockTime value.
8480
8481 2006-03-10  Thomas Vander Stichele  <thomas at apestaart dot org>
8482
8483         * configure.ac:
8484           back to trunk
8485
8486 === release 0.10.4 ===
8487
8488 2006-03-10  Thomas Vander Stichele <thomas at apestaart dot org>
8489
8490         * configure.ac:
8491           releasing 0.10.4, "Light"
8492
8493 2006-03-10  Michael Smith  <msmith@fluendo.com>
8494
8495         * libs/gst/dataprotocol/dataprotocol.c:
8496           Fix docs for dataprocotol to not get the return types completely
8497           wrong for a few functions.
8498
8499 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
8500
8501         * docs/gst/gstreamer-sections.txt:
8502         * gst/gstpipeline.c: (gst_pipeline_class_init),
8503         (gst_pipeline_init), (gst_pipeline_set_property),
8504         (gst_pipeline_get_property), (gst_pipeline_change_state),
8505         (gst_pipeline_set_auto_flush_bus),
8506         (gst_pipeline_get_auto_flush_bus):
8507         * gst/gstpipeline.h:
8508           Add new API: gst_pipeline_set_auto_flush_bus() and
8509           gst_pipeline_get_auto_flush_bus() to disable automatic
8510           flushing of the pipeline's GstBus when going from READY
8511           to NULL state (#332045).
8512
8513 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
8514
8515         * docs/gst/gstreamer-sections.txt:
8516         * gst/gsturi.c: (gst_uri_has_protocol):
8517         * gst/gsturi.h:
8518            Add new API: gst_uri_has_protocol() (#333779).
8519
8520 2006-03-09  Wim Taymans  <wim@fluendo.com>
8521
8522         * gst/gstclock.c: (gst_clock_entry_new),
8523         (gst_clock_id_compare_func), (gst_clock_id_wait),
8524         (gst_clock_id_wait_async), (gst_clock_id_unschedule),
8525         (gst_clock_init), (gst_clock_get_internal_time),
8526         (gst_clock_set_master), (do_linear_regression),
8527         (gst_clock_add_observation), (gst_clock_set_property):
8528         * gst/gstclock.h:
8529         Review docs.
8530         Small cleanups.
8531         Fix a possible segfault when the window-size is made smaller.
8532         Calculate jitter before performing the clock wait. Ideally
8533         the clock implementation should calculate jitter but we need
8534         API breakage for that.
8535
8536         * gst/gstsystemclock.c: (gst_system_clock_init):
8537         Docs review.
8538         
8539         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync):
8540         Remove leftover else
8541
8542         * tests/check/gst/gstsystemclock.c: (GST_START_TEST),
8543         (gst_systemclock_suite):
8544         Added check to test GST_CLOCK_DIFF.
8545
8546 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
8547
8548         * libs/gst/base/gsttypefindhelper.c: (helper_find_get_length),
8549         (gst_type_find_helper_get_range):
8550           If we are provided with the size, we should implement
8551           GstTypeFind::get_length, so that typefind functions who
8552           want to can actually peek at the middle of a file.
8553
8554 2006-03-08  Tim-Philipp Müller  <tim at centricular dot net>
8555
8556         * docs/manual/advanced-dataaccess.xml:
8557           Add some very very basic error checking.
8558
8559         * docs/pwg/appendix-checklist.xml:
8560           Some updates to the list of things to check when writing an element.
8561
8562 2006-03-08  Wim Taymans  <wim@fluendo.com>
8563
8564         * docs/design/part-element-transform.txt:
8565         Added some docs about the design of tranform elements.
8566
8567         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
8568         (gst_base_src_loop), (gst_base_src_change_state):
8569         Mark buffers with the DISCONT flag.
8570
8571 2006-03-08  Michael Smith  <msmith@fluendo.com>
8572
8573         * gst/gstregistry.h:
8574         * gst/gstregistryxml.c: (gst_registry_save),
8575         (gst_registry_save_escaped), (gst_registry_xml_save_caps),
8576         (gst_registry_xml_save_pad_template),
8577         (gst_registry_xml_save_feature), (gst_registry_xml_save_plugin),
8578         (gst_registry_xml_write_cache):
8579           Rewrite registry-saving to avoid race conditions and check for
8580           failed writes.
8581
8582 2006-03-08  Wim Taymans  <wim@fluendo.com>
8583
8584         * libs/gst/base/gstbasetransform.c:
8585         (gst_base_transform_transform_caps),
8586         (gst_base_transform_transform_size),
8587         (gst_base_transform_prepare_output_buffer),
8588         (gst_base_transform_get_unit_size),
8589         (gst_base_transform_buffer_alloc),
8590         (gst_base_transform_handle_buffer),
8591         (gst_base_transform_change_state):
8592         Cleanups, separate normal flow from errors, add sensible
8593         DEBUG lines.
8594         Don't try to renegotiate when allocating an output buffer.
8595         Also copy DISCONT buffer flag when copying a buffer.
8596         Reset the transform after we finish streaming, not during.
8597
8598 2006-03-08  Wim Taymans  <wim@fluendo.com>
8599
8600         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync):
8601         Use last buffer timestamp in qos message.
8602
8603 2006-03-07  Wim Taymans  <wim@fluendo.com>
8604
8605         Patch by: Christophe Fergeau
8606
8607         * docs/pwg/advanced-tagging.xml:
8608         * docs/pwg/building-pads.xml:
8609           fixes #333416
8610
8611 2006-03-07  Wim Taymans  <wim@fluendo.com>
8612
8613         * docs/libs/gstreamer-libs-sections.txt:
8614         Added basesink new methods.
8615
8616         * gst/gstevent.c:
8617         * gst/gstevent.h:
8618         Docs updates. Flesh out the QoS docs.
8619
8620         * libs/gst/base/gstadapter.c:
8621         Small doc clarification about ownership and flushing.
8622
8623         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_sync),
8624         (gst_base_sink_get_sync), (gst_base_sink_set_max_lateness),
8625         (gst_base_sink_get_max_lateness), (gst_base_sink_set_property),
8626         (gst_base_sink_get_property), (gst_base_sink_do_sync):
8627         * libs/gst/base/gstbasesink.h:
8628         API additions: 
8629         Added new methods to allow subclass to control max-lateness 
8630         and sync.
8631         Generate very basic QoS events based on last sync observation.
8632         Updated docs, fix typo, added some QoS blurb.
8633
8634         * libs/gst/base/gstbasesrc.c:
8635         Remove obsolete _get_state() calls from docs.
8636
8637 2006-03-07  Wim Taymans  <wim@fluendo.com>
8638
8639         * docs/libs/gstreamer-libs-sections.txt:
8640         * libs/gst/base/gstbasetransform.h:
8641         API addition: Fix #333669, Add pad accessor defines for GstBaseTransform
8642         Fix docs for GstBaseSrc.
8643
8644 2006-03-07  Wim Taymans  <wim@fluendo.com>
8645
8646         * docs/gst/gstreamer-sections.txt:
8647         * gst/gstbuffer.h:
8648         * gst/gstvalue.c:
8649         * libs/gst/base/gstbasetransform.h:
8650         Small documentation fixes.
8651
8652 2006-03-07  Tim-Philipp Müller  <tim at centricular dot net>
8653
8654         * gst/gstvalue.c:
8655           Document thread-unsafety of gst_value_register_foo_func()
8656           when used at the same time as gst_value_foo() (#322628).
8657
8658 2006-03-07  Tim-Philipp Müller  <tim at centricular dot net>
8659
8660         * libs/gst/base/gstpushsrc.c: (gst_push_src_class_init),
8661         (gst_push_src_check_get_range):
8662           Push sources don't support pull mode by default.
8663
8664 2006-03-06  Tim-Philipp Müller  <tim at centricular dot net>
8665
8666         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
8667         (gst_base_src_init), (gst_base_src_pad_check_get_range),
8668         (gst_base_src_default_check_get_range):
8669         * libs/gst/base/gstbasesrc.h:
8670           API addition:  Add ::check_get_range() vfunc to GstBaseSrc (#332611),
8671           provide default implementation, and rename
8672           gst_base_src_check_get_range() to
8673           gst_base_src_pad_check_get_range() for clarity.
8674
8675 2006-03-06  Wim Taymans  <wim@fluendo.com>
8676
8677         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
8678         Make property overridable.
8679
8680 2006-03-06  Wim Taymans  <wim@fluendo.com>
8681
8682         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
8683         (gst_base_sink_init), (gst_base_sink_set_property),
8684         (gst_base_sink_get_property), (gst_base_sink_do_sync):
8685         * libs/gst/base/gstbasesink.h:
8686         API addition: Make max-lateness a property.
8687
8688 2006-03-06  Wim Taymans  <wim@fluendo.com>
8689
8690         * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_clock),
8691         (gst_base_sink_do_sync), (gst_base_sink_render_object):
8692         Don't ever draw a frame that is >10ms late.
8693
8694 2006-03-06  Michael Smith  <msmith@fluendo.com>
8695
8696         * gst/gstmessage.c: (_gst_message_copy):
8697           When copying a message, set the parent_refcount of the enclosed
8698           structure to point at the copy, not the original message.
8699
8700 2006-03-06  Tim-Philipp Müller  <tim at centricular dot net>
8701
8702         Patch by: Christophe Fergeau
8703
8704         * gst/gstutils.h:
8705           Do proper cast here to make GST_BOILERPLATE_WITH_INTERFACE
8706           usable in c++ code (#333417)
8707
8708 2006-03-06  Thomas Vander Stichele  <thomas at apestaart dot org>
8709
8710         * gst/gstclock.h:
8711           Show GST_CLOCK_TIME_NONE as 99:99:99.999999999
8712
8713 2006-03-05  Tim-Philipp Müller  <tim at centricular dot net>
8714
8715         * libs/gst/base/gstbasetransform.c:
8716         (gst_base_transform_transform_caps):
8717           Make sure caps are writable before passing them to
8718           gst_caps_append().
8719
8720 2006-03-04  Tim-Philipp Müller  <tim at centricular dot net>
8721
8722         * gst/gsterror.h:
8723           Fix some minor docs errors.
8724
8725 2006-03-04  Tim-Philipp Müller  <tim at centricular dot net>
8726
8727           Patch by: Ross Burton <ross at burtonini dot com>
8728
8729         * gst/gsterror.c: (_gst_resource_errors_init):
8730         * gst/gsterror.h:
8731           Add GST_RESOURCE_ERROR_NO_SPACE_LEFT (for #333352;
8732
8733 2006-03-03  Jan Schmidt  <thaytan@mad.scientist.com>
8734
8735         * gst/gst.c:
8736         Add a check and output a g_warning when GStreamer is built
8737         against GLib 2.6 but running against 2.8 or higher, and vice 
8738         versa. (Closes: #323542)
8739
8740 2006-03-03  Jan Schmidt  <thaytan@mad.scientist.com>
8741
8742         * gst/parse/parse.l:
8743           Commit patch for parse_launch syntax from #331255. Removes 
8744           support for quoted strings and mimetypes when writing filtered 
8745           caps. See the bug report for more details - I'm pretty sure this
8746           obscure feature is not in use by _anyone_ anywhere.
8747
8748           With this simple change, the size of the gstreamer.so here 
8749           drops from 2193KB to 1565KB.
8750
8751 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
8752
8753         * plugins/elements/gsttypefindelement.h:
8754         * plugins/elements/gsttypefindelement.c:
8755         (gst_type_find_element_src_event), (start_typefinding),
8756         (stop_typefinding), (gst_type_find_element_handle_event),
8757         (gst_type_find_element_chain),
8758         (gst_type_find_element_chain_do_typefinding):
8759           Use gst_type_find_helper_for_buffer() for chain-based
8760           typefinding.
8761
8762 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
8763
8764         * plugins/elements/gsttypefindelement.c:
8765         (gst_type_find_element_class_init),
8766         (gst_type_find_element_set_property),
8767         (gst_type_find_element_get_property):
8768           Deprecate "maximum" property (not only was it only taken into
8769           account for typefinding in push-mode anyway, it also was never
8770           actually possible to set it in the first place because the
8771           property was registered with the numeric property ID for the
8772           "minimum" property). Register "maximum" property correctly,
8773           for the sake of future copy'n'pasters. Remove some cruft
8774           from property get/set functions.
8775
8776 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
8777
8778         * plugins/elements/gsttypefindelement.c:
8779         (gst_type_find_element_activate):
8780           Use gst_type_find_helper_get_range() here, so we
8781           can honour the "minimum" property and also emit
8782           the signal with the correct probability of the found caps.
8783
8784 2006-03-02  Tim-Philipp Müller  <tim at centricular dot net>
8785
8786         * docs/libs/gstreamer-libs-sections.txt:
8787         * libs/gst/base/gsttypefindhelper.c: (helper_find_peek),
8788         (helper_find_suggest), (gst_type_find_helper_get_range),
8789         (gst_type_find_helper):
8790         * libs/gst/base/gsttypefindhelper.h:
8791           New API: gst_type_find_helper_get_range() (#333042).
8792
8793 2006-03-02  Michael Smith  <msmith@fluendo.com>
8794
8795         * gst/gstregistryxml.c: (load_feature):
8796           Asserting on a failure to read part of the registry is Not Cool.
8797           Just log a warning and return NULL (which is already handled)
8798
8799 2006-02-28  Sebastien Moutte  <sebastien@moutte.net>
8800
8801         * win32/common/libgstbase.def:
8802           added export of gst_type_find_helper_for_buffer
8803         * win32/common/libgstbase.def:
8804           added some exports : gst_bin_iterate_elements, gst_iterator_resync,
8805           gst_ghost_pad_get_target
8806
8807 2006-02-28  Wim Taymans  <wim@fluendo.com>
8808
8809         * docs/design/draft-klass.txt:
8810         We use Filter now.
8811         Added Connector to mark elements that are only used to
8812         allow pipeline connections.
8813         Moved Debug to extra feature since most of them are 
8814         functionally something else.
8815
8816 2006-02-28  Wim Taymans  <wim@fluendo.com>
8817
8818         * docs/design/draft-klass.txt:
8819         Some updates and clarifications.
8820
8821 2006-02-28  Wim Taymans  <wim@fluendo.com>
8822
8823         * docs/design/draft-klass.txt:
8824         Proposal for klass field values.
8825
8826         * docs/design/part-streams.txt:
8827         Start of a doc describing stream anatomy.
8828
8829 2006-02-28  Wim Taymans  <wim@fluendo.com>
8830
8831         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_handle_message_func):
8832         Help the compiler a bit with type registration.
8833         Use existing forward cod path instead of duplicating it when 
8834         handling a message.
8835         
8836         * gst/gstbus.c: (gst_bus_get_type):
8837         * gst/gstcaps.c: (gst_caps_get_type), (gst_static_caps_get_type):
8838         * gst/gstchildproxy.c: (gst_child_proxy_get_type):
8839         * gst/gstclock.c: (gst_clock_get_type):
8840         * gst/gstelement.c: (gst_element_get_type),
8841         * gst/gstelementfactory.c: (gst_element_factory_get_type):
8842         * gst/gstindexfactory.c: (gst_index_factory_get_type):
8843         * gst/gstminiobject.c: (gst_mini_object_get_type):
8844         * gst/gstpad.c: (gst_pad_get_type):
8845         * gst/gstsegment.c: (gst_segment_get_type):
8846         * gst/gststructure.c: (gst_structure_get_type):
8847         * gst/gstsystemclock.c: (gst_system_clock_get_type):
8848         * gst/gsttask.c: (gst_task_get_type), (gst_task_join):
8849         * gst/gstvalue.c:
8850         Help compiler with type registration.
8851
8852         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event):
8853         Small doc update.
8854
8855 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
8856
8857         * plugins/elements/gsttypefindelement.c:
8858         (gst_type_find_element_handle_event):
8859           When we get an EOS event and have not found a type yet
8860           (most likely because we had not yet accumulated
8861           TYPE_FIND_MIN_SIZE of data yet), try to determine the
8862           type given the data we have so far. Fixes typefinding
8863           for very short streams again, most notably quicktime
8864           redirections as used on Apple's trailer site (#331701).
8865
8866 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
8867
8868         * libs/gst/base/gsttypefindhelper.c: (type_find_factory_rank_cmp),
8869         (gst_type_find_helper):
8870           Try typefinding factories with the highest rank first.
8871
8872 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
8873
8874         * docs/libs/gstreamer-libs-docs.sgml:
8875         * docs/libs/gstreamer-libs-sections.txt:
8876         * libs/gst/base/gsttypefindhelper.c:
8877           Add section for typefind helper and add documentation
8878           for the old and the new function.
8879
8880 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
8881
8882         * libs/gst/base/gsttypefindhelper.c: (buf_helper_find_peek),
8883         (buf_helper_find_suggest), (type_find_factory_rank_cmp),
8884         (gst_type_find_helper_for_buffer):
8885         * libs/gst/base/gsttypefindhelper.h:
8886           New API: gst_type_find_helper_for_buffer() (#332723).
8887           
8888 2006-02-27  Michael Smith  <msmith@fluendo.com>
8889
8890         Patch by: Loïc Minier
8891
8892         * configure.ac:
8893         * docs/Makefile.am:
8894         * docs/slides/Makefile.am:
8895           prevent CVS directories getting disted.
8896
8897 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
8898
8899         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref):
8900           Use the REFCOUNTING category for caps refcounting.
8901           
8902 2006-02-26  Tim-Philipp Müller  <tim at centricular dot net>
8903
8904         * plugins/elements/gsttypefindelement.c: (stop_typefinding):
8905           This should be 0 not GST_CLOCK_TIME_NONE (see #331701).
8906
8907 2006-02-26  Tim-Philipp Müller  <tim at centricular dot net>
8908
8909         * plugins/elements/gsttypefindelement.c:
8910         (gst_type_find_element_activate):
8911           Use gst_pad_check_pull_range() before _activate_pull()
8912           to avoid unnecessary open/close (see #331690).
8913
8914 2006-02-24  Tim-Philipp Müller  <tim at centricular dot net>
8915
8916         * gst/gstutils.c:
8917           Docs enhancement: make it crystal clear what the
8918           gst_pad_add_*_probe() callbacks should look like.
8919
8920 2006-02-24  Tim-Philipp Müller  <tim at centricular dot net>
8921
8922         * libs/gst/base/gstbasesrc.c:
8923           Document how applications can stop recording from
8924           live sources (see #330996).
8925
8926 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
8927
8928         * tests/check/Makefile.am:
8929         * tests/check/libs/basesrc.c: (eos_event_counter),
8930         (basesrc_eos_events_pull), (basesrc_eos_events_push),
8931         (basesrc_eos_events_push_live_op), (basesrc_eos_events_pull_live_op),
8932         (gst_basesrc_suite), (main):
8933           ... and add some tests for the base source EOS stuff.
8934
8935 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
8936
8937         * tests/check/gst/gstutils.c: (test_buffer_probe_n_times):
8938           Test case originally showed the problem fixed below,
8939           but was then amended. Add checks back at the place
8940           where they used to be.
8941
8942 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
8943
8944         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
8945         (gst_base_src_init), (gst_base_src_loop),
8946         (gst_base_src_activate_push), (gst_base_src_activate_pull),
8947         (gst_base_src_change_state):
8948         * libs/gst/base/gstbasesrc.h:
8949           Don't unconditionally send EOS when going from PAUSED to
8950           READY state, esp. make sure we don't send two EOS events
8951           in some cases (e.g. one when reaching EOS and one when
8952           going from PAUSED to READY). Also, we don't want to send
8953           EOS events when operating in pull mode. However, we do
8954           want to send an EOS event when shutting down a live
8955           source explicitly, for example (fixes #330996).
8956           
8957 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
8958
8959         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
8960           Update src->read_position after a seek when not using mmap.
8961           Fixes #332277, patch by: Renchi Raju <renchi gmail com>
8962
8963 2006-02-21  Jan Schmidt  <thaytan@mad.scientist.com>
8964
8965         * gst/Makefile.am:
8966         * gst/gstparse.h:
8967         * gst/gstutils.c:
8968         * gst/gstutils.h:
8969         Make things work with --disable-parse as they do with 
8970         --disable-load-save - the symbols involved disappear, but the
8971         header is still installed and GST_DISABLE_PARSE is included via
8972         gstconfig.h
8973
8974 2006-02-20  Julien MOUTTE  <julien@moutte.net>
8975
8976         * libs/gst/base/gstbasetransform.c:
8977         (gst_base_transform_change_state): Fix a stupid bug. I was 
8978         sure I compiled that.
8979
8980 2006-02-20  Julien MOUTTE  <julien@moutte.net>
8981
8982         * gst/gstpad.c: (gst_pad_set_blocked_async):
8983         * gst/gstutils.c: (gst_pad_add_data_probe),
8984         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
8985         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
8986         (gst_pad_remove_buffer_probe): Make those function act on the
8987         ghostpad target when it's a ghostpad. (Closes #331727)
8988
8989 2006-02-20  Julien MOUTTE  <julien@moutte.net>
8990
8991         * libs/gst/base/gstbasetransform.c:
8992         (gst_base_transform_change_state): Make basetransform reusable.
8993         (Closes #331898)
8994
8995 2006-02-20  Jan Schmidt  <thaytan@mad.scientist.com>
8996
8997         * docs/random/release:
8998         Move the current documentation of how to do a release to the top
8999         of the file.
9000
9001         * gst/gstbin.c: (gst_bin_class_init),
9002         (gst_bin_handle_message_func):
9003         Allow multiple state-recalculation threads. (Closes #328873)
9004
9005 2006-02-19  Julien MOUTTE  <julien@moutte.net>
9006
9007         * gst/gstinfo.h: Add GST_STR_NULL to the second string.
9008         * gst/gstpad.c: (gst_pad_set_event_function),
9009         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
9010         (gst_pad_set_getcaps_function): GST_DEBUG_PAD_NAME evaluates to
9011         2 strings. You can't use the STR_NULL macro on that.
9012
9013 2006-02-19  Sebastien Moutte <sebastien@moutte.net>
9014
9015         * gst/gstpad.c: (gst_pad_set_event_function),
9016         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
9017         (gst_pad_set_getcaps_function)
9018         * gst/parse/grammar.y: (gst_parse_found_pad), (gst_parse_perform_delayed_link)
9019           Fixed NULL pointer used in GST_CAT_DEBUG using GST_STR_NULL macro
9020           So now, we can use --gst-debug-level=5 on Windows
9021         * win32/common/libgstcontroller.def:
9022           Added export of gst_controller_init
9023         * win32/vs6/libgstcontroller.dsp:
9024           Fixed Release post build configuration
9025
9026 2006-02-17  Wim Taymans  <wim@fluendo.com>
9027
9028         * tests/check/gst/gstquery.c: (GST_START_TEST):
9029         Added another check.
9030
9031 2006-02-15  Tim-Philipp Müller  <tim at centricular dot net>
9032
9033         * plugins/elements/gsttypefindelement.c: (find_peek):
9034           We can do peeks at non-zero offsets, as long as they
9035           fall within the buffer we have.
9036
9037 2006-02-15  Jan Schmidt  <thaytan@mad.scientist.com>
9038
9039         * tests/check/Makefile.am:
9040         * tests/check/pipelines/parse-launch.c: (setup_pipeline),
9041         (expected_fail_pipe), (check_pipeline_runs), (GST_START_TEST),
9042         (parse_suite), (main):
9043           Add testsuite for parse launch syntax
9044
9045 2006-02-14  Tim-Philipp Müller  <tim at centricular dot net>
9046
9047         * plugins/elements/gsttypefindelement.c:
9048         (gst_type_find_element_chain):
9049           When typefinding is unsuccessful in the chain function, don't
9050           error out immediately. Only error out with NO_CAPS_FOUND if
9051           the amount of data is at least MAX_TYPEFIND_SIZE bytes,
9052           otherwise simply wait for more data so we can try typefinding
9053           again with more data later. Also, don't attempt to typefind
9054           if we have less than MIN_TYPEFIND_SIZE data available. Overall,
9055           this should improve typefinding from network sources where the
9056           size of the first buffer can be somewhat random.
9057
9058 2006-02-14  Wim Taymans  <wim@fluendo.com>
9059
9060         * docs/gst/gstreamer-sections.txt:
9061         * gst/gstpadtemplate.c:
9062         * gst/gstpadtemplate.h:
9063         Fix padtemplate docs, fixes #328805.
9064
9065 2006-02-14  Wim Taymans  <wim@fluendo.com>
9066
9067         * tools/gst-launch.c: (main):
9068         NO_PREROLL is not an ERROR so don't send confusing messages
9069         to the user.
9070
9071 2006-02-14  Wim Taymans  <wim@fluendo.com>
9072
9073         Patch by: Torsten Schoenfeld
9074
9075         * gst/gstregistry.c: (gst_registry_get_default),
9076         (_gst_registry_cleanup):
9077         Protect default registry with lock and ref/sink it.
9078         Fixes #324818
9079
9080 2006-02-14  Wim Taymans  <wim@fluendo.com>
9081
9082         * gst/gstbuffer.c:
9083         * gst/gstquery.c: (gst_query_list_add_format),
9084         (gst_query_set_formatsv), (gst_query_parse_formats_length),
9085         (gst_query_parse_formats_nth):
9086         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
9087         Docs fixes.
9088
9089 2006-02-14  Wim Taymans  <wim@fluendo.com>
9090
9091         * docs/gst/gstreamer-sections.txt:
9092         Reworked query docs.
9093
9094         * gst/gstquery.c: (gst_query_new_formats),
9095         (gst_query_list_add_format), (gst_query_set_formats),
9096         (gst_query_set_formatsv), (gst_query_parse_formats_length),
9097         (gst_query_parse_formats_nth):
9098         * gst/gstquery.h:
9099         Flesh out formats query, added some new methods.
9100         Fix part of #324398.
9101
9102         * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite):
9103         Added query creation tests.
9104
9105 2006-02-14  Jan Schmidt  <thaytan@mad.scientist.com>
9106
9107         * gst/gstpad.c: (fixate_value):
9108         Add a default fixation for fraction lists.
9109
9110 2006-02-13  Wim Taymans  <wim@fluendo.com>
9111
9112         * gst/gsttask.c: (gst_task_init), (gst_task_func),
9113         (gst_task_set_lock), (gst_task_start), (gst_task_pause),
9114         (gst_task_join):
9115         * gst/gsttask.h:
9116         Detect and warn for obvious deadlocks. fixes #320340
9117         Fix error case where lock was not released.
9118
9119         * tests/check/Makefile.am:
9120         * tests/check/gst/gsttask.c: (task_func2), (GST_START_TEST),
9121         (task_func), (gst_element_suite), (main):
9122         Add task check.
9123
9124 2006-02-13  Wim Taymans  <wim@fluendo.com>
9125
9126         * docs/gst/gstreamer-sections.txt:
9127         * gst/gstbus.c:
9128         Add new functions to docs.
9129
9130 2006-02-13  Wim Taymans  <wim@fluendo.com>
9131
9132         * docs/design/part-TODO.txt:
9133         Updated TODO list, basesrc supports seeking to non-bytes
9134         formats.
9135
9136         * docs/design/part-element-sink.txt:
9137         Update docs.
9138
9139         * gst/gstbin.c: (bin_replace_message),
9140         (gst_bin_handle_message_func):
9141         * gst/gstbus.c: (gst_bus_post), (gst_bus_pop):
9142         * gst/gstevent.c: (gst_event_finalize):
9143         * gst/gstpad.c: (gst_pad_event_default_dispatch),
9144         (gst_pad_send_event):
9145         Use shiny new _TYPE_NAME macros.
9146
9147         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
9148         Move debug statement up.
9149
9150         * gst/gstelement.c: (gst_element_set_locked_state):
9151         Add some debugging.
9152
9153 2006-02-13  Tim-Philipp Müller  <tim at centricular dot net>
9154
9155         * docs/gst/gstreamer-sections.txt:
9156         * gst/gstmessage.h:
9157         * gst/gstquery.h:
9158           New API: add GST_MESSAGE_TYPE_NAME and GST_QUERY_TYPE_NAME
9159           macros (#330906). Also, document the already existing
9160           GST_QUERY_TYPE macro.
9161
9162 2006-02-13  Wim Taymans  <wim@fluendo.com>
9163
9164         * tests/check/gst/gstutils.c: (data_probe), (buffer_probe),
9165         (event_probe), (GST_START_TEST):
9166         Only events up to the pipeline EOS are counted, there are
9167         some more when going to NULL currently which we don't care
9168         about for now.
9169
9170 2006-02-13  Wim Taymans  <wim@fluendo.com>
9171
9172         * gst/gstpad.c: (gst_pad_send_event):
9173         Correctly check flushing and emit probes. fixes #330125
9174
9175 2006-02-10  Andy Wingo  <wingo@pobox.com>
9176
9177         * gst/gstbus.c (gst_bus_class_init): Declare our private data
9178         structure.
9179         (gst_bus_init): Cache the location of the private data in the
9180         instance structure.
9181         (gst_bus_enable_sync_message_emission) 
9182         (gst_bus_disable_sync_message_emission): Implement new public
9183         functions.
9184         (gst_bus_post): Emit the sync-message signal if the user asked for
9185         it. Fixes #330684.
9186
9187         * gst/gstbus.h (GstBus): Use a padding pointer to cache the
9188         location of the bus-private structure.
9189         (gst_bus_enable_sync_message_emission)
9190         (gst_bus_disable_sync_message_emission): API addition
9191
9192 2006-02-10  Jan Schmidt  <thaytan@mad.scientist.com>
9193
9194         Patch by: Vincent Torri
9195
9196         * docs/pwg/building-boiler.xml:
9197         PWG patch from #326800
9198
9199 2006-02-09  Tim-Philipp Müller  <tim at centricular dot net>
9200
9201         * configure.ac:
9202         * docs/Makefile.am:
9203         * docs/design/Makefile.am:
9204           Dist design docs.
9205
9206 2006-02-08  Jan Schmidt  <thaytan@mad.scientist.com>
9207
9208         * configure.ac:
9209           back to CVS
9210
9211 === release 0.10.3 ===
9212
9213 2006-02-08  Jan Schmidt <thaytan@mad.scientist.com>
9214
9215         * configure.ac:
9216           releasing 0.10.3, "Like a virgin"
9217
9218 2006-02-08  Jan Schmidt  <thaytan@mad.scientist.com>
9219
9220         * configure.ac:
9221           2nd prerelease of 0.10.3
9222           Bump libtool versioning.
9223
9224 2006-02-07  Andy Wingo  <wingo@pobox.com>
9225
9226         * libs/gst/base/gstcollectpads.c (gst_collect_pads_chain): Only
9227         update last_stop if we're in TIME format and the timestamp is
9228         valid.
9229
9230         * libs/gst/base/gstcollectpads.c (gst_collect_pads_event) 
9231         * libs/gst/base/gstbasetransform.c (gst_base_transform_eventfunc): 
9232         * libs/gst/base/gstbasesink.c (gst_base_sink_configure_segment):
9233         If we get a new newsegment with a different format, adapt
9234         accordingly.
9235
9236         * gst/gstclock.c (gst_clock_set_calibration): Accept a numerator
9237         of 0. Not a problem, really.
9238
9239         * libs/gst/base/gstbasesink.c (gst_base_sink_chain_unlocked): Only
9240         warn if sync=true.
9241
9242 2006-02-06  Jan Schmidt  <thaytan@mad.scientist.com>
9243
9244         * configure.ac:
9245           Prelease of 0.10.3
9246
9247 2006-02-06  Sebastien Moutte  <sebastien@moutte.net>
9248
9249         * win32/vs7:
9250           project files updated to the default vs7 configuration
9251         * win32/common/libgstbase.def:
9252         * win32/common/libgstreamer.def:
9253           added new symbols,
9254           removed empty lines,
9255           sorted all exported symbols alphabetically
9256         * win32/common/dirent.c:
9257         * win32/common/dirent.h:
9258         * win32/common/gchar.h:
9259           use windows line end.
9260           
9261 2006-02-06  Tim-Philipp Müller  <tim at centricular dot net>
9262
9263         * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
9264           Send EOS event when stopping.
9265
9266 2006-02-06  Tim-Philipp Müller  <tim at centricular dot net>
9267
9268         * docs/README:
9269           Tell folks what to do if the plugin-foobar.xml file
9270           hasn't been generated for a newly-added plugin.
9271
9272 2006-02-05  Julien MOUTTE  <julien@moutte.net>
9273
9274         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
9275         (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
9276         (gst_collect_pads_start), (gst_collect_pads_stop),
9277         (gst_collect_pads_event): Collectpads now holds a reference
9278         to the GstPad that was added. Indeed we don't want to look
9279         at pads that might just go away with no warning...
9280
9281 2006-02-05  Julien MOUTTE  <julien@moutte.net>
9282
9283         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
9284         (gst_collect_pads_start), (gst_collect_pads_stop),
9285         (gst_collect_pads_event), (gst_collect_pads_chain):
9286         * libs/gst/base/gstcollectpads.h: Handle flush. Adapted from
9287         Mark Nauwelaerts's patch on bug #328491.
9288
9289 2006-02-04  Tim-Philipp Müller  <tim at centricular dot net>
9290
9291         * tests/check/gst/gstutils.c: (test_parse_bin_from_description),
9292         (gst_utils_suite):
9293           Add some simple tests for gst_parse_bin_from_description() and
9294           gst_bin_find_unconnected_pad() (#329069).
9295
9296 2006-02-04  Tim-Philipp Müller  <tim at centricular dot net>
9297
9298         * tools/gst-launch.c: (event_loop), (main):
9299           Catch errors during preroll (#320084).
9300
9301 2006-02-03  Tim-Philipp Müller  <tim at centricular dot net>
9302
9303         * plugins/elements/gsttypefindelement.c:
9304         (gst_type_find_element_activate):
9305           Post TYPE_NOT_FOUND error message when typefinding
9306           is unsuccessful in the activate function as well.
9307
9308 2006-02-02  Wim Taymans  <wim@fluendo.com>
9309
9310         * docs/design/part-element-sink.txt:
9311         Updated doc.
9312
9313 2006-02-02  Wim Taymans  <wim@fluendo.com>
9314
9315         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync),
9316         (gst_base_sink_render_object),
9317         (gst_base_sink_queue_object_unlocked):
9318         Only keep track of prerollable items when we are 
9319         prerolling.
9320         Before rendering after preroll, always check if we
9321         have queued items.
9322         Added some more debugging.
9323
9324 2006-02-02  Wim Taymans  <wim@fluendo.com>
9325
9326         * gst/gstelement.c: (gst_element_continue_state),
9327         (gst_element_set_state_func), (gst_element_change_state):
9328         Fixed #326576, been running this for quite some time with
9329         no regressions at all.
9330
9331 2006-02-02  Wim Taymans  <wim@fluendo.com>
9332
9333         * common/gst.supp:
9334         Added more suppressions
9335
9336 2006-02-02  Wim Taymans  <wim@fluendo.com>
9337
9338         * docs/design/part-element-sink.txt:
9339         Updated document.
9340
9341         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
9342         (gst_base_sink_finalize), (gst_base_sink_preroll_queue_flush),
9343         (gst_base_sink_configure_segment), (gst_base_sink_commit_state),
9344         (gst_base_sink_get_sync_times), (gst_base_sink_wait_clock),
9345         (gst_base_sink_do_sync), (gst_base_sink_render_object),
9346         (gst_base_sink_preroll_object),
9347         (gst_base_sink_queue_object_unlocked),
9348         (gst_base_sink_queue_object), (gst_base_sink_event),
9349         (gst_base_sink_chain_unlocked), (gst_base_sink_chain),
9350         (gst_base_sink_loop), (gst_base_sink_activate_pull),
9351         (gst_base_sink_get_position), (gst_base_sink_change_state):
9352         * libs/gst/base/gstbasesink.h:
9353         Totally refactored matching the design doc.
9354         Use two segments, one to clip incomming buffers and another to
9355         perform sync.
9356         Handle queueing correctly, bypass the queue when playing.
9357         Make EOS cancelable.
9358         Handle errors correctly when operating in pull based mode.
9359
9360         * tests/check/elements/fakesink.c: (GST_START_TEST),
9361         (fakesink_suite):
9362         Added new check for sinks.
9363
9364 2006-02-02  Wim Taymans  <wim@fluendo.com>
9365
9366         * gst/gstsegment.c: (gst_segment_clip):
9367         No reason to refuse to clip when start == -1
9368
9369 2006-02-02  Stefan Kost  <ensonic@users.sf.net>
9370
9371         * docs/README:
9372         * docs/manual/intro-basics.xml:
9373         * docs/manual/intro-preface.xml:
9374         * docs/manual/manual.xml:
9375         * docs/pwg/advanced-dparams.xml:
9376         * docs/pwg/intro-basics.xml:
9377         * docs/pwg/intro-preface.xml:
9378         * docs/pwg/pwg.xml:
9379           describe dparams (controller) for plugins
9380           unify docs a little more
9381
9382 2006-02-02  Tim-Philipp Müller  <tim at centricular dot net>
9383
9384         * docs/gst/gstreamer-sections.txt:
9385         * gst/gstutils.c: (element_find_unconnected_pad),
9386         (gst_bin_find_unconnected_pad), (gst_parse_bin_from_description):
9387         * gst/gstutils.h:
9388           Add new API: gst_parse_bin_from_description() and
9389           gst_bin_find_unconnected_pad() (#329069).
9390
9391 2006-02-01  Stefan Kost  <ensonic@users.sf.net>
9392
9393         * docs/manual/README:
9394           uncover a nasty detail of the docs build
9395
9396 2006-01-31  Wim Taymans  <wim@fluendo.com>
9397
9398         * gst/gstbin.c: (bin_remove_messages), (bin_query_duration_done):
9399         Don't cache duration messages if we're not going to use or
9400         free them.
9401
9402 2006-01-31  Stefan Kost  <ensonic@users.sf.net>
9403
9404         * docs/manual/advanced-dparams.xml:
9405         * docs/pwg/advanced-dparams.xml:
9406           more dparam docs
9407         * gst/gstindex.c:
9408           fix docs
9409         * libs/gst/controller/lib.c: (gst_controller_init):
9410           init just once
9411
9412 2006-01-31  Thomas Vander Stichele  <thomas at apestaart dot org>
9413
9414         * gst/gstelement.c: (gst_element_message_full):
9415           also show file/line/func if no additional debug was given
9416
9417 2006-01-31  Sebastien Moutte  <sebastien@moutte.net>
9418         
9419         * win32/vs7/grammar.vcproj:
9420           activate copy of autogenerated files for Release mode
9421
9422 2006-01-30  Sebastien Moutte  <sebastien@moutte.net>
9423         
9424         * win32/common/libgstreamer.def:
9425           export gst_value_compare
9426
9427 2006-01-30  Jan Schmidt  <thaytan@mad.scientist.com>
9428
9429         * plugins/elements/Makefile.am:
9430         * plugins/elements/gstelements.c:
9431         * plugins/elements/gstfdsink.c: (_do_init),
9432         (gst_fd_sink_base_init), (gst_fd_sink_class_init),
9433         (gst_fd_sink_init), (gst_fd_sink_dispose), (gst_fd_sink_query),
9434         (gst_fd_sink_render), (gst_fd_sink_check_fd), (gst_fd_sink_start),
9435         (gst_fd_sink_stop), (gst_fd_sink_unlock), (gst_fd_sink_update_fd),
9436         (gst_fd_sink_set_property), (gst_fd_sink_uri_get_type),
9437         (gst_fd_sink_uri_get_protocols), (gst_fd_sink_uri_get_uri),
9438         (gst_fd_sink_uri_set_uri), (gst_fd_sink_uri_handler_init):
9439         * plugins/elements/gstfdsink.h:
9440         Port fdsink to 0.10 (patch by Philippe Rouquier) (Fixes #325490)
9441
9442 2006-01-30  Stefan Kost  <ensonic@users.sf.net>
9443
9444         * docs/manual/advanced-dparams.xml:
9445           describe controller
9446         * docs/manual/advanced-position.xml:
9447         * docs/manual/basics-init.xml:
9448         * docs/manual/manual.xml:
9449         * docs/manual/titlepage.xml:
9450         * docs/pwg/pwg.xml:
9451         * docs/pwg/titlepage.xml:
9452           cleanup xml (more to come)
9453         * libs/gst/controller/gstcontroller.c:
9454           fix typo
9455
9456 2006-01-30  Sebastien Moutte  <sebastien@moutte.net>
9457         
9458         * win32/vs6/grammar.dsp:
9459           add autogen of gstmarshal.c,h for Release mode
9460                 
9461 2006-01-30  Wim Taymans  <wim@fluendo.com>
9462
9463         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
9464         (gst_base_sink_preroll_queue_empty), (gst_base_sink_commit_state),
9465         (gst_base_sink_handle_object), (gst_base_sink_event),
9466         (gst_base_sink_is_prerolled), (gst_base_sink_wait),
9467         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
9468         (gst_base_sink_handle_buffer), (gst_base_sink_set_flushing),
9469         (gst_base_sink_deactivate), (gst_base_sink_activate),
9470         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
9471         (gst_base_sink_query), (gst_base_sink_change_state):
9472         Basesink cleanups, remove some old code.
9473         Handle the case where a subclass can preroll in the render
9474         method (mostly audiosinks).
9475         Handle more events.
9476         Remove some locks around variables that are now protected
9477         with the PREROLL_LOCK (clock_id, flushing, ..).
9478         Optimize position query some more, do correct locking.
9479         Remove old code to push queue in state change, this is not
9480         needed anymore since preroll blocks on all prerollable items 
9481         now.
9482         Almost implemented as described in design doc.
9483
9484 2006-01-30  Wim Taymans  <wim@fluendo.com>
9485
9486         * tests/check/gst/gstbin.c: (GST_START_TEST):
9487         Wait for refcount to settle down before checking.
9488
9489 2006-01-30  Wim Taymans  <wim@fluendo.com>
9490
9491         * docs/design/part-element-sink.txt:
9492         Pseudo code overview of desired sink behaviour regarding
9493         preroll.
9494
9495 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
9496         * win32/vs6/grammar.dsp:
9497           fix some bugs in Release mode for autogenerated files
9498                 
9499 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
9500         * win32/common/libgstbase.def:
9501         * win32/common/libgstreamer.def:
9502           export some new symbols: gst_base_src_set_format,
9503           gst_iterator_next, gst_structure_set_valist
9504
9505 2006-01-29  Julien MOUTTE  <julien@moutte.net>
9506
9507         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked):
9508         Set pad functions unconditionally. Fixes #329105.
9509
9510 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
9511         * win32/vs8:
9512           add vs8 project files created by Sergey Scobich
9513
9514 2006-01-28  Jan Schmidt  <thaytan@mad.scientist.com>
9515
9516         * gst/gstutils.c: (gst_element_unlink_pads):
9517         Don't leak pad references.
9518
9519         * tests/check/elements/fakesink.c: (GST_START_TEST):
9520         * tests/check/generic/sinks.c: (GST_START_TEST):
9521         * tests/check/generic/states.c: (GST_START_TEST):
9522         * tests/check/gst/gstbin.c: (GST_START_TEST):
9523         * tests/check/gst/gstcaps.c: (GST_START_TEST):
9524         * tests/check/gst/gstelement.c: (GST_START_TEST):
9525         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
9526         * tests/check/gst/gstiterator.c: (GST_START_TEST):
9527         * tests/check/gst/gstvalue.c: (GST_START_TEST):
9528         Fix a bunch of leaks. Make generic/sinks.c
9529         use a bit less cpu by slowing the buffer rate
9530         between fakesrc and fakesink.
9531         
9532 2006-01-27  Stefan Kost  <ensonic@users.sf.net>
9533         * gst/gstcaps.c:
9534         * gst/gstelement.c: (gst_element_send_event):
9535         * gst/gstevent.c:
9536         * gst/gstinfo.c:
9537         * gst/gstiterator.c:
9538         * gst/gstiterator.h:
9539         * gst/gstpad.c: (gst_pad_send_event):
9540         * gst/gststructure.c:
9541         * gst/gsturi.c:
9542         * gst/gstutils.c:
9543         * gst/gstvalue.c:
9544         * libs/gst/base/gstadapter.c:
9545           doc fixes, to link to function, just write gst_cool_function(), don't
9546           prefix with '#'
9547
9548 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
9549
9550         * plugins/elements/gsttee.c: (gst_tee_do_push),
9551         (gst_tee_handle_buffer):
9552         Always prefer an actual return value from a src
9553         pad in place of NOT_LINKED. This means we return
9554         WRONG_STATE when all src pads are WRONG_STATE
9555         instead of NOT_LINKED.
9556
9557         Lock when replacing the last message to prevent
9558         racing with the get_property method.
9559
9560         Add debug output
9561
9562 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
9563
9564         * tests/check/Makefile.am:
9565         * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite),
9566         (main):
9567         Add a very simple check that should have caught the memleak I fixed
9568         last night (if not for the slice allocator hiding it)
9569
9570 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
9571
9572         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
9573         (gst_bin_remove_func), (gst_bin_handle_message_func),
9574         (bin_query_duration_fold), (bin_query_generic_fold):
9575         Clean up references to the clock provider when disposed or when
9576         handling a clock-lost message from it.
9577
9578         Unref sinks when performing a query via gst_iterator_fold, as the
9579         gst_bin_iterate_sinks iterator refs each item. (Fixes #323874)
9580
9581         * gst/gstclock.c: (gst_clock_class_init), (gst_clock_dispose),
9582         (gst_clock_set_master):
9583         Drop our reference to the master clock, if any, when we are disposed.
9584
9585         * gst/gsttypefindfactory.c: (gst_type_find_factory_dispose):
9586         Chain up in dispose. 
9587
9588 2006-01-26  Wim Taymans  <wim@fluendo.com>
9589
9590         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
9591         Add some debugging.
9592
9593 2006-01-26  Julien MOUTTE  <julien@moutte.net>
9594
9595         * plugins/elements/gsttee.c: (gst_tee_do_push),
9596         (gst_tee_handle_buffer): Apply patch from #328715. Tee now
9597         handles pad being NOT_LINKED or in WRONG_STATE.
9598
9599 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
9600
9601         * win32/MANIFEST:
9602           more updating
9603
9604 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
9605
9606         * win32/MANIFEST:
9607           remove obsolete entry
9608
9609 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
9610
9611         * docs/gst/gstreamer-sections.txt:
9612         * gst/gstbin.c: (bin_element_is_src), (src_iterator_filter),
9613         (gst_bin_iterate_sources), (gst_bin_send_event):
9614         * gst/gstbin.h:
9615         * gst/gstelement.c: (gst_element_send_event):
9616         * gst/gstevent.c:
9617         * gst/gstpad.c: (gst_pad_send_event):
9618           added code for downstream events, reviewed docs in gstevent.c
9619
9620 2006-01-25  Julien MOUTTE  <julien@moutte.net>
9621
9622         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
9623         We only query position using the clock in the playing state.
9624         Query peer in the other cases.
9625         * win32/common/config.h: Updates.
9626
9627 2006-01-24  Wim Taymans  <wim@fluendo.com>
9628
9629         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
9630         A clock entry that is scheduled for the exact time of the
9631         clock is still in time.
9632
9633         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9634         (gst_base_sink_do_sync):
9635         Add some more debug info.
9636
9637 2006-01-23  Sebastien Moutte  <sebastien@moutte.net>
9638
9639         * win32/vs7:
9640           Add new vs7 project files and solution.
9641
9642 2006-01-23  Sebastien Moutte  <sebastien@moutte.net>
9643
9644         * win32/vs7:
9645           all files removed as they were out-dated.
9646
9647 2006-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
9648
9649         * docs/random/release:
9650           update notes
9651         * gst/gstbin.c: (gst_bin_init):
9652         * gst/gstbus.c: (gst_bus_new):
9653         * gst/gstbus.h:
9654         * gst/gstpipeline.c: (gst_pipeline_init):
9655           use gst_bus_new(), improve logging, fix docs
9656         * win32/common/config.h:
9657           update for cvs build
9658
9659 2006-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
9660
9661         * autogen.sh:
9662           up required version of automake to 1.7
9663
9664 2006-01-20  Sebastien Moutte  <sebastien@moutte.net>
9665
9666         * win32/common/libgstreamer.def:
9667           export gst_buffer_is_metadata_writable
9668
9669 2006-01-20  Tim-Philipp Müller  <tim at centricular dot net>
9670
9671         * docs/gst/gstreamer-sections.txt:
9672         * gst/gstevent.h:
9673           Add gst_event_replace() (#327001)
9674
9675 2006-01-20  Wim Taymans  <wim@fluendo.com>
9676
9677         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
9678         Make it actually compile too..
9679
9680 2006-01-20  Wim Taymans  <wim@fluendo.com>
9681
9682         * gst/gstcaps.c:
9683         Clarify behaviour of _is_equal() when passing NULL parameters.
9684
9685         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
9686         (gst_pad_set_caps):
9687         Cleanups. Don't unref NULL caps.
9688         When setting the same caps, protect caps of the pad with
9689         proper lock.
9690         Use full functionality of _is_equal() when comparing caps.
9691
9692 2006-01-20  Jan Schmidt  <thaytan@mad.scientist.com>
9693
9694         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
9695         Don't loop infinitely if there are no buffers to present. Partially
9696         fixes #327197, but collectpads is just broken for reusing elements
9697         to do multiple encodes atm.
9698
9699 2006-01-20  Jan Schmidt  <thaytan@mad.scientist.com>
9700
9701         * tools/gst-inspect.c: (print_element_features):
9702         * tools/gst-xmlinspect.c: (main):
9703         URL_HANDLER is not a plugin feature we can search for in
9704         the registry.
9705
9706 2006-01-19  Edward Hervey  <edward@fluendo.com>
9707
9708         * gst/gstelement.c: (gst_element_pads_activate): 
9709         When activating, do src pads first, then sink pads.
9710         When de-activating, do sink pads first, then src pads.
9711
9712 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
9713
9714         * docs/gst/gstreamer-sections.txt:
9715         Add gst_index_add_associationv to the docs
9716
9717 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
9718
9719         * gst/gstevent.c:
9720           Fix docs typo
9721
9722         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event),
9723         (gst_queue_chain), (gst_queue_push_one), (gst_queue_loop):
9724           Do some refactoring. Doesn't actually change functionality,
9725           but makes landing the DRAIN event easier later.
9726
9727 2006-01-19  Tim-Philipp Müller  <tim at centricular dot net>
9728
9729         * docs/pwg/advanced-scheduling.xml:
9730           Update from 0.9.x to 0.10 API and make example a bit
9731           clearer.
9732
9733 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
9734
9735         * docs/gst/gstreamer-sections.txt:
9736         Add gst_buffer_(is|make)_metadata_writable methods.
9737
9738 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
9739
9740         * docs/design/part-sparsestreams.txt:
9741         Update sparse streams doc, hopefully for greater clarity
9742
9743 2006-01-18  Jan Schmidt  <thaytan@mad.scientist.com>
9744
9745         * docs/design/part-events.txt:
9746         Remove mention of FILLER events.
9747         Add DRAIN event.
9748
9749         * docs/design/part-sparsestreams.txt:
9750         Write some things about using NEWSEGMENT to keep sparse streams
9751         flowing.
9752
9753 2006-01-18  Tim-Philipp Müller  <tim at centricular dot net>
9754
9755         * gst/gstbin.c: (gst_bin_dispose):
9756           Guard gst_object_unref call against a NULL object (dispose
9757           can theoretically be called multiple times).
9758           
9759 2006-01-18  Wim Taymans  <wim@fluendo.com>
9760
9761         * gst/gstbin.c: (gst_bin_element_set_state):
9762         * gst/gstclock.c: (gst_clock_id_wait):
9763         Added some more debug info.
9764
9765         * libs/gst/base/gstadapter.c:
9766         Added more docs.
9767
9768         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9769         (gst_base_sink_do_sync), (gst_base_sink_chain):
9770         Added some comments.
9771
9772 2006-01-18  Wim Taymans  <wim@fluendo.com>
9773
9774         * tests/check/Makefile.am:
9775         * tests/check/elements/fakesink.c: (chain_async_buffer),
9776         (chain_async), (chain_async_return), (GST_START_TEST),
9777         (fakesink_suite), (main):
9778         Added fakesink test that checks prerolling and clipping
9779         behaviour.
9780
9781         * tests/check/gst/gstutils.c: (GST_START_TEST):
9782         Make check run faster so that buildbots don't timeout.
9783
9784 2006-01-18  Wim Taymans  <wim@fluendo.com>
9785
9786         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9787         (gst_base_sink_do_sync):
9788         Some cleanups.
9789         When the sink finishes blocking on the preroll buffer, it can
9790         immediatly render it instead of rendering when the next buffer
9791         arrives.
9792
9793 2006-01-18  Wim Taymans  <wim@fluendo.com>
9794
9795         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_property),
9796         (gst_base_sink_get_property), (gst_base_sink_do_sync),
9797         (gst_base_sink_chain):
9798         Small cleanups.
9799         GST_ELEMENT_CLOCK and sync are protected with LOCK.
9800         Don't store _last_stop if the buffer is dropped.
9801
9802 2006-01-18  Tim-Philipp Müller  <tim at centricular dot net>
9803
9804         * plugins/elements/gsttypefindelement.c:
9805         (gst_type_find_element_class_init):
9806           'have-type' signal needs to be G_SIGNAL_RUN_FIRST, as it is the
9807           object method handler that sets the caps on the pad and we want
9808           that to happen before we emit the signal (fixes e.g. feeding a
9809           plain text file to decodebin).
9810
9811 2006-01-18  Christian Schaller  <Christian@fluendo.com>
9812
9813         * gst/gstplugin.c: Add MPL and Proprietary as license options
9814
9815 2006-01-18  Andy Wingo  <wingo@pobox.com>
9816
9817         * gst/gstindex.h (gst_index_add_associationv): Add to header. The
9818         symbol was exported before, it appears this was just an oversight.
9819         Fixes #168703.
9820         Patch by: Torsten Schoenfeld <kaffeetisch at gmx.de>
9821
9822         * gst/gstindex.c (gst_index_add_associationv): Changed int in
9823         prototype to gint. OK since this prototype was not in the header.
9824
9825 2006-01-17  Andy Wingo  <wingo@pobox.com>
9826
9827         * gst/gstregistry.c (_gst_registry_remove_cache_plugins): Lock the
9828         registry while we remove plugins.
9829
9830         * tools/gst-inspect.c (print_element_info): Don't unref the
9831         factory arg, that should be the responsibility of whatever code
9832         received the ref. Fixes a double-free when called from
9833         print_element_list via gst-inspect-0.10 -a. Fixes #327324.
9834         (main): Unref the factory if we have one.
9835         (print_element_list): No change -- relies on the
9836         plugin_feature_list_free to free the list of features.
9837
9838 2006-01-17  Jan Schmidt  <thaytan@mad.scientist.com>
9839
9840         * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
9841         (gst_buffer_make_metadata_writable):
9842         * gst/gstbuffer.h:
9843         * libs/gst/base/gstbasetransform.c:
9844         (gst_base_transform_prepare_output_buf):
9845         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
9846         * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
9847           Replace gst_buffer_(make|is)_metadata_writable patch now
9848           that the release is out.
9849
9850 2006-01-17  Andy Wingo  <wingo@pobox.com>
9851
9852         * gst/gstregistry.c: Reflow design comment. Update so as to speak
9853         in the present tense without reference to versions.
9854
9855         * gst/gstregistry.c (gst_registry_add_plugin)
9856         (gst_registry_remove_plugin, gst_registry_remove_feature)
9857         (gst_registry_find_feature, gst_registry_get_feature_list)
9858         (gst_registry_get_plugin_list, gst_registry_lookup_feature)
9859         (gst_registry_lookup, gst_registry_scan_path)
9860         (_gst_registry_remove_cache_plugins)
9861         (gst_registry_get_feature_list_by_plugin): Add argument
9862         validation.
9863
9864 === release 0.10.2 ===
9865
9866 2006-01-16  Thomas Vander Stichele <thomas at apestaart dot org>
9867
9868         * configure.ac:
9869           releasing 0.10.2, "If man is five"
9870
9871 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
9872
9873         * gst/gstbuffer.c:
9874         * gst/gstbuffer.h:
9875         * libs/gst/base/gstbasetransform.c:
9876         (gst_base_transform_prepare_output_buf):
9877         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
9878         * tests/check/gst/gstbuffer.c: (gst_test_suite):
9879           Back out patch until after the release.
9880
9881 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
9882
9883         * gst/gstminiobject.c:
9884           Spelling fix in docs.
9885         * ChangeLog - remove conflict indicator
9886
9887 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
9888
9889         Reviewed By: Andy Wingo
9890
9891         * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
9892         (gst_buffer_make_metadata_writable):
9893         * gst/gstbuffer.h:
9894           Add gst_buffer_(is|make)_metadata_writable as analogues of
9895           gst_buffer_(is|make)_writable.
9896
9897         * libs/gst/base/gstbasetransform.c:
9898         (gst_base_transform_prepare_output_buf):
9899         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
9900           Use name gst_buffer_(is|make)_metadata_writable functions.
9901
9902         * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
9903           Test gst_buffer_(is|make)_metadata_writable
9904         
9905           (Closes: #324162)
9906
9907 2006-01-14  Thomas Vander Stichele  <thomas at apestaart dot org>
9908
9909         * docs/manual/Makefile.am:
9910           don't do parallel make
9911         * configure.ac:
9912           AC_SUBST HOST_CPU
9913         * win32/common/config.h.in:
9914           add generations for HOST_CPU and GST_MAJORMINOR
9915         * win32/common/config.h:
9916           commit generated result
9917
9918 2006-01-13  Tim-Philipp Müller  <tim at centricular dot net>
9919
9920         * docs/manual/appendix-integration.xml:
9921           Update GNOME integration section to use gst_init_get_option_group()
9922           instead of the old popt stuff (#322911). Also, GNOME applications
9923           should  now use gconf*sink and gconf*src instead of the old gconf
9924           helper lib we had.
9925
9926 2006-01-13  Stefan Kost  <ensonic@users.sf.net>
9927
9928
9929         * docs/gst/gstreamer-docs.sgml:
9930         * docs/gst/gstreamer-sections.txt:
9931         * docs/libs/gstreamer-libs-sections.txt:
9932           add new API entries to the docs
9933         * libs/gst/controller/Makefile.am:
9934         * libs/gst/controller/gstcontroller.c:
9935         * libs/gst/controller/gstcontroller.h:
9936         * libs/gst/controller/gstcontrollerprivate.h:
9937         * libs/gst/controller/gsthelper.c:
9938         * libs/gst/controller/gstinterpolation.c:
9939           move private structs to private header
9940         * po/README:
9941           gstreamer-0.7 -> gstreamer-0.10
9942         * tests/check/libs/struct_i386.h:
9943           remove private structs
9944
9945 2006-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
9946
9947         * plugins/indexers/Makefile.am:
9948           Fixes as part of #317048
9949
9950 2006-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
9951
9952         * plugins/indexers/Makefile.am:
9953           fix #316086 - compilation when mmap is missing
9954
9955 2006-01-12  Sebastien Moutte  <sebastien@moutte.net>
9956
9957         * libs/gst/base/gstbasesink.c:
9958           *cur = (now - base) * basesink->segment.abs_rate + time; replaced by 
9959           *cur = gst_guint64_to_gdouble(now - base) * basesink->segment.abs_rate + time; for vs6
9960         * win32/common/config.h:
9961           added some defines GST_MAJORMINOR and HOST_CPU
9962         * win32/common/libgstbase.def:
9963         * win32/common/libgstreamer.def:
9964           added some exported functions.
9965
9966 2006-01-12  Stefan Kost  <ensonic@users.sf.net>
9967
9968         * libs/gst/controller/gstcontroller.c:
9969         (gst_controlled_property_set_interpolation_mode),
9970         (gst_controlled_property_new):
9971         * libs/gst/controller/gstcontroller.h:
9972         * libs/gst/controller/gstinterpolation.c:
9973         (interpolate_none_get_string_value_array):
9974           make G_TYPE_STRING controlable
9975
9976 2006-01-12  Stefan Kost  <ensonic@users.sf.net>
9977
9978         * tools/README:
9979         * tools/gst-feedback.1.in:
9980         * tools/gst-inspect.1.in:
9981         * tools/gst-launch.1.in:
9982         * tools/gst-md5sum.1.in:
9983         * tools/gst-typefind.1.in:
9984         * tools/gst-xmlinspect.1.in:
9985         * tools/gst-xmllaunch.1.in:
9986           cleanup man-pages, remove reference to gst-register, document env-vars
9987
9988 2006-01-12  Jan Schmidt  <thaytan@mad.scientist.com>
9989
9990         * gst/gstbuffer.c: (gst_buffer_span):
9991           gst_buffer_span should copy the timestamp of the first buffer
9992           if they were both originally overlapping subbuffers of the 
9993           same parent, using the same logic as the 'slow copy' case.
9994
9995 2006-01-11  Jan Schmidt  <thaytan@mad.scientist.com>
9996
9997         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop):
9998           Need to awaken ALL the pads when we pop a buffer, otherwise
9999           collectpads only works when there is 2 input streams.
10000
10001 2006-01-11  Stefan Kost  <ensonic@users.sf.net>
10002
10003         * docs/random/ensonic/media-device-daemon.txt:
10004           more ideas (dbus)
10005         * gst/gstbuffer.c:
10006           fix doc example, add clarification
10007         * tools/gst-launch.1.in:
10008           add initial info about GST_PLUGIN_PATH, needs more work
10009
10010 2006-01-11  Tim-Philipp Müller  <tim at centricular dot net>
10011
10012         * docs/manual/basics-bins.xml:
10013         * docs/manual/basics-elements.xml:
10014         * docs/manual/intro-basics.xml:
10015           Some more minor docs additions and updates.
10016
10017 2006-01-11  Wim Taymans  <wim@fluendo.com>
10018
10019         * docs/manual/basics-bins.xml:
10020         * docs/manual/basics-elements.xml:
10021         Some small fixes as pointed out by Ser-ver on IRC.
10022
10023 2006-01-10  Edward Hervey  <edward@fluendo.com>
10024
10025         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
10026         Set the buffer offset/offset_end to GST_CLOCK_TIME_NONE when using
10027         the single-segment mode.
10028
10029 2006-01-10  Brian Cameron  <brian dot cameron at sun dot com>
10030
10031         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
10032
10033         * libs/gst/base/gstbasesrc.c: (gst_base_src_init),
10034         (gst_base_src_perform_seek), (gst_base_src_send_event),
10035         (gst_base_src_set_property), (gst_base_src_get_property),
10036         (gst_base_src_loop), (gst_base_src_start),
10037         (gst_base_src_activate_push):
10038         * libs/gst/base/gstbasesrc.h:
10039           Name (private) union; makes Sun's Forte compiler happy (#324900).
10040
10041 2006-01-09  Tim-Philipp Müller  <tim at centricular dot net>
10042
10043         * README:
10044           gst-register is gone.
10045
10046 2006-01-07  Thomas Vander Stichele  <thomas at apestaart dot org>
10047
10048         * gst/gstvalue.c: (_gst_value_initialize):
10049           make the G_TYPE_DATE instantiation work if debug is disabled
10050
10051 2006-01-06  Tim-Philipp Müller  <tim at centricular dot net>
10052
10053         * gst/gstmessage.c: (gst_message_parse_tag),
10054         (gst_message_parse_error), (gst_message_parse_warning):
10055           Don't crash when return location for error/warning debug
10056           string is NULL; add fact that return locations can be
10057           NULL to docs where appropriate.
10058
10059 2006-01-05  Wim Taymans  <wim@fluendo.com>
10060
10061         * gst/gstplugin.c: (gst_plugin_load_file):
10062         Replace strdup by g_strdup.
10063
10064 2006-01-05  Thomas Vander Stichele  <thomas at apestaart dot org>
10065
10066         * docs/pwg/advanced-types.xml:
10067           fix doc borkage
10068
10069 2006-01-05  Thomas Vander Stichele  <thomas at apestaart dot org>
10070
10071         submitted by: Abel Cheung
10072
10073         * po/LINGUAS:
10074         * po/zh_TW.po:
10075           Added Chinese (traditional) translation
10076
10077 2006-01-04  Wim Taymans  <wim@fluendo.com>
10078
10079         * docs/manual/basics-pads.xml:
10080         * docs/plugins/Makefile.am:
10081         * docs/plugins/gstreamer-plugins-docs.sgml:
10082         * docs/plugins/gstreamer-plugins-sections.txt:
10083         * docs/pwg/advanced-clock.xml:
10084         * docs/pwg/advanced-scheduling.xml:
10085         * docs/pwg/advanced-types.xml:
10086         * plugins/elements/gstfdsink.c:
10087         * plugins/elements/gstfdsrc.c:
10088         * plugins/elements/gstfdsrc.h:
10089         * plugins/elements/gstidentity.c: (gst_identity_class_init):
10090         * plugins/elements/gstidentity.h:
10091         * plugins/elements/gstqueue.h:
10092         * plugins/elements/gsttee.c:
10093         * plugins/elements/gsttee.h:
10094         * plugins/elements/gsttypefindelement.c:
10095         (gst_type_find_element_class_init):
10096         * plugins/elements/gsttypefindelement.h:
10097         Small updates to various docs.
10098         Added core plugins to docs.
10099
10100 2006-01-03  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
10101
10102         * common/gst.supp:
10103           add a suppression for liboil's uninitialized variable
10104
10105 2006-01-02  James Livingston  <jrl at ids dot org dot au>
10106
10107         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
10108
10109         * gst/gstutils.h:
10110           Add prototype for _get_type() function to GST_BOILERPLATE_FULL
10111           macro, so that gcc doesn't complain if the -Wmissing-prototypes
10112           compiler switch is being used (#325429).
10113
10114 2005-12-29  Tim-Philipp Müller  <tim at centricular dot net>
10115
10116         * gst/gstbin.c: (gst_bin_query):
10117           Disable duration query caching in bins until it gets
10118           fixed (see #324807).
10119
10120 2005-12-27  Tim-Philipp Müller  <tim at centricular dot net>
10121
10122         * tools/gst-inspect.c: (print_element_properties_info):
10123           Handle properties of POINTER and BOXED type.
10124
10125 2005-12-27  Tim-Philipp Müller  <tim at centricular dot net>
10126
10127         * gst/gst.c: (init_post):
10128           Init tags stuff and some other things before loading
10129           any static plugins (there may be other static plugins
10130           than just the GStreamer ones, and they may want to
10131           register their own tags or formats or whatever, and
10132           preferably without segfaulting).
10133
10134         * plugins/elements/gstqueue.c: (gst_queue_handle_src_query):
10135           Print at least a warning in the debug logs if we drop a
10136           query just because we don't know how to adjust the value
10137           in the particular format.
10138
10139 2005-12-24  David Schleef  <ds@schleef.org>
10140
10141         * tools/gstreamer-completion:
10142           Replacement for gst-complete written in sh and sed.  Only
10143           completes names of features, but that's 90% of what I want
10144           it for.  Properties are not available in registry.xml.  (Maybe
10145           they should be...)
10146
10147 === release 0.10.1 ===
10148
10149 2005-12-23  Thomas Vander Stichele <thomas at apestaart dot org>
10150
10151         * configure.ac:
10152           releasing 0.10.1, "Nollaig chridheil"
10153
10154 2005-12-22  Tim-Philipp Müller  <tim at centricular dot net>
10155
10156         * docs/faq/cvs.xml:
10157           Add missing quote, should be make ERROR_CFLAGS="".
10158
10159 2005-12-20  Wim Taymans  <wim@fluendo.com>
10160
10161         * docs/design/part-trickmodes.txt:
10162         More documentation on trickmodes.
10163
10164 2005-12-20  Edward Hervey  <edward@fluendo.com>
10165
10166         * gst/gstcaps.c: (gst_static_caps_get_type):
10167         * gst/gstcaps.h:
10168           API addition: GST_TYPE_STATIC_CAPS
10169         Added gpointer GType for GstStaticCaps so we can wrap them in bindings.
10170         * gst/gstpadtemplate.c: (gst_static_pad_template_get_type):
10171         * gst/gstpadtemplate.h:
10172           API addition: GST_TYPE_STATIC_PAD_TEMPLATE
10173         Added gpointer GType for GstStaticPadTemplate so we can wrap them in
10174         bindings.
10175
10176 2005-12-18  Wim Taymans  <wim@fluendo.com>
10177
10178         * libs/gst/base/gstadapter.c:
10179         * libs/gst/base/gstadapter.h:
10180         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
10181         (gst_base_sink_get_position):
10182         * libs/gst/base/gstbasesink.h:
10183         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
10184         (gst_base_src_default_query), (gst_base_src_default_do_seek),
10185         (gst_base_src_do_seek), (gst_base_src_perform_seek),
10186         (gst_base_src_send_event), (gst_base_src_update_length),
10187         (gst_base_src_get_range), (gst_base_src_loop),
10188         (gst_base_src_start):
10189         * libs/gst/base/gstbasesrc.h:
10190         * libs/gst/base/gstbasetransform.h:
10191         * libs/gst/base/gstcollectpads.h:
10192         * libs/gst/base/gstpushsrc.c:
10193         * libs/gst/base/gstpushsrc.h:
10194         * libs/gst/dataprotocol/dataprotocol.c:
10195         * libs/gst/dataprotocol/dataprotocol.h:
10196         * libs/gst/net/gstnetclientclock.h:
10197         * libs/gst/net/gstnettimeprovider.h:
10198         Documentation updates.
10199
10200 2005-12-18  Tim-Philipp Müller  <tim at centricular dot net>
10201
10202         * docs/manual/basics-helloworld.xml:
10203           Remove superfluous closing bracket in helloworld example.
10204
10205 2005-12-17  Tim-Philipp Müller  <tim at centricular dot net>
10206
10207         * tools/gst-launch.1.in:
10208           Update gst-launch man page; add a section with useful
10209           environment variables. Fixes #323882.
10210
10211 2005-12-16  Stefan Kost  <ensonic@users.sf.net>
10212
10213         * gst/gst.c:
10214         * gst/gst_private.h:
10215           change some char* into char[]
10216
10217 2005-12-16  Wim Taymans  <wim@fluendo.com>
10218
10219         * gst/gstregistryxml.c: (load_feature):
10220         Cleanups.
10221         Don't use g_object_unref on GstObjects so that we avoid
10222         leaks on unsafe glibs.
10223
10224 2005-12-16  Wim Taymans  <wim@fluendo.com>
10225
10226         * gst/gstbin.c: (gst_bin_recalc_state):
10227         Small doc updates.
10228
10229 2005-12-16  Wim Taymans  <wim@fluendo.com>
10230
10231         * common/check.mak:
10232         Added make forever target for check.
10233
10234 2005-12-16  Thomas Vander Stichele  <thomas at apestaart dot org>
10235
10236         * gst/gst.c: (init_post):
10237           make the registry cache file HOST_CPU-dependent
10238
10239 2005-12-16  Andy Wingo  <wingo@pobox.com>
10240
10241         * plugins/elements/gstbufferstore.c
10242         (gst_buffer_store_cleared_func): Pay attention to g_list_append
10243         return value.
10244
10245         * tests/check/gst/gstobject.c
10246         (test_fake_object_name_threaded_unique): Pay attention to
10247         g_list_sort return value.
10248
10249 2005-12-16  Tim-Philipp Müller  <tim at centricular dot net>
10250
10251         * tools/gst-feedback-m.m:
10252           Update for 0.9/0.10 (fixes #323870).
10253
10254 2005-12-15  Tim-Philipp Müller  <tim at centricular dot net>
10255
10256         * gst/gstminiobject.c: (gst_value_mini_object_lcopy):
10257           Fix lcopy for mini objects, the mini object needs to be ref'ed.
10258           
10259         * tests/check/gst/gstminiobject.c: (my_foo_init),
10260         (my_foo_get_property), (my_foo_set_property), (my_foo_class_init),
10261         (test_value_collection), (gst_mini_object_suite):
10262           Add test to ensure refcounts end up as expected when passing
10263           GstMiniObjects through g_object_get() and g_object_set().
10264
10265 2005-12-14  Julien MOUTTE  <julien@moutte.net>
10266
10267         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
10268         (gst_collect_pads_remove_pad), (gst_collect_pads_is_collected),
10269         (gst_collect_pads_event), (gst_collect_pads_chain): Refactoring
10270         of collectpads. This version removes a lot of races without
10271         touching API/ABI. Yay !
10272
10273 2005-12-14  Jan Schmidt  <thaytan@mad.scientist.com>
10274
10275         * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_link_prepare):
10276           Don't allow activation of a srcpad in pull_range if it has no
10277           getrange function.
10278           Change some debug statements to be a little clearer
10279
10280         * plugins/elements/gsttypefindelement.c:
10281         (gst_type_find_handle_src_query):
10282           Check that we have a peer before executing queries thereupon.
10283
10284         * tests/examples/metadata/read-metadata.c: (message_loop):
10285           Use gst_bus_pop instead of gst_bus_poll when we just want it to
10286           immediately return us any available message with 0 timeout.
10287
10288 2005-12-12  Michael Smith  <msmith@fluendo.com>
10289
10290         * gst/gsttypefindfactory.c: (gst_type_find_factory_call_function):
10291           Don't unref factories after calling them.
10292         * libs/gst/base/gsttypefindhelper.c: (gst_type_find_helper):
10293         * plugins/elements/gsttypefindelement.c:
10294         (gst_type_find_element_chain):
10295           Free lists of factories after using them. Fixing typefinding memory
10296           leaks.
10297
10298 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
10299
10300         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
10301         (gst_plugin_feature_load):
10302           more meaningful debug output
10303         * configure.ac:
10304         * tests/Makefile.am:
10305         * tests/old/examples/Makefile.am:
10306           make make distcheck happy again
10307
10308 2005-12-12  Tim-Philipp Müller  <tim at centricular dot net>
10309
10310         * plugins/elements/gsttypefindelement.c: (stop_typefinding):
10311           Catch the special case where we are operating chain-based,
10312           but the downstream peer pad has no chain function. Emit a
10313           custom error message in this case instead of letting the
10314           core generate one implying that this is some sort of core
10315           bug. It's not, it just means that whatever got plugged
10316           into the pipeline downstream when we announced the type
10317           can only operate pull-based, while our source can only
10318           operate push-based (e.g. http://foo/bar.mov ! qtdemux ! ...)
10319           Error string has not been marked for translation yet, as
10320           it probably needs some more work first.
10321
10322         (gst_type_find_element_get_best_possibility):
10323           Add helper function to find the best of all available
10324           found possibilities that qualify given the min. threshold.
10325
10326         (gst_type_find_element_handle_event):
10327           Fix the case where we get an EOS while still in TYPEFIND
10328           mode (we want to chose the best of all possible types,
10329           not just the first type that happens to be in our unsorted
10330           list of possible types).
10331
10332         (gst_type_find_element_chain):
10333           Make sure we return GST_FLOW_ERROR when we errored out
10334           in stop_typefinding(); also, don't just find the best of
10335           all found type entries and then use the last examined
10336           type entry, but actually use the best entry.
10337
10338 2005-12-12  Tim-Philipp Müller  <tim at centricular dot net>
10339
10340         * tests/examples/typefind/typefind.c: (type_found):
10341         * tests/examples/xml/runxml.c: (xml_loaded):
10342           More gcc4 fixes and a mem leak fix.
10343
10344 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
10345
10346         * tests/examples/xml/createxml.c: (object_saved):
10347           gcc 4 fixes
10348
10349 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
10350
10351         * tests/Makefile.am:
10352           enable the examples even more
10353
10354 2005-12-12  Andy Wingo  <wingo@pobox.com>
10355
10356         * libs/gst/net/gstnettimeprovider.c
10357         (gst_net_time_provider_class_init, gst_net_time_provider_init)
10358         (gst_net_time_provider_set_property)
10359         (gst_net_time_provider_get_property):
10360         API addition: Export "active" as a GObject property.
10361         (gst_net_time_provider_thread): Only respond to time queries if
10362         the time provider is active.
10363
10364         * libs/gst/net/gstnettimeprovider.h: Add an "active" boolean to
10365         NetTimeProvider, preserving binary compat.
10366
10367 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
10368
10369         * tests/examples/controller/audio-example.c: (main):
10370         * tests/examples/launch/Makefile.am:
10371           convert comments again
10372
10373 2005-12-12  Wim Taymans  <wim@fluendo.com>
10374
10375         * libs/gst/base/gstpushsrc.c:
10376         Fix typo.
10377
10378 2005-12-12  Wim Taymans  <wim@fluendo.com>
10379
10380         * docs/libs/gstreamer-libs-sections.txt:
10381         Added new symbol to docs.
10382
10383         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
10384         (gst_base_src_init), (gst_base_src_set_format),
10385         (gst_base_src_default_query), (gst_base_src_query),
10386         (gst_base_src_default_do_seek), (gst_base_src_do_seek),
10387         (gst_base_src_perform_seek), (gst_base_src_send_event),
10388         (gst_base_src_default_event), (gst_base_src_event_handler),
10389         (gst_base_src_set_property), (gst_base_src_get_property),
10390         (gst_base_src_wait), (gst_base_src_do_sync),
10391         (gst_base_src_update_length), (gst_base_src_get_range),
10392         (gst_base_src_check_get_range), (gst_base_src_loop),
10393         (gst_base_src_default_negotiate), (gst_base_src_start),
10394         (gst_base_src_activate_push), (gst_base_src_activate_pull),
10395         (gst_base_src_change_state):
10396         * libs/gst/base/gstbasesrc.h:
10397         Implement seeking to other formats than _BYTES.
10398         Implement more seeking methods correctly.
10399         Doc updates.
10400         Added query vmethod.
10401         Added do_seek vmethod to make life easier for subclasses
10402         when seeking.
10403         API addition: gst_base_src_set_format()
10404
10405 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
10406
10407         * tests/examples/Makefile.am:
10408           added that too
10409
10410 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
10411
10412         * configure.ac:
10413         * docs/random/ensonic/media-device-daemon.txt:
10414         * tests/examples/controller/.cvsignore:
10415         * tests/examples/controller/Makefile.am:
10416         * tests/examples/controller/audio-example.c: (main):
10417         * tests/examples/helloworld/.cvsignore:
10418         * tests/examples/helloworld/Makefile.am:
10419         * tests/examples/helloworld/helloworld.c: (event_loop), (main):
10420         * tests/examples/launch/.cvsignore:
10421         * tests/examples/launch/Makefile.am:
10422         * tests/examples/launch/mp3parselaunch.c: (event_loop), (main):
10423         * tests/examples/metadata/.cvsignore:
10424         * tests/examples/metadata/Makefile.am:
10425         * tests/examples/metadata/read-metadata.c: (message_loop),
10426         (make_pipeline), (print_tag), (main):
10427         * tests/examples/queue/.cvsignore:
10428         * tests/examples/queue/Makefile.am:
10429         * tests/examples/queue/queue.c: (event_loop), (main):
10430         * tests/examples/typefind/.cvsignore:
10431         * tests/examples/typefind/Makefile.am:
10432         * tests/examples/typefind/typefind.c: (type_found), (event_loop),
10433         (main):
10434         * tests/examples/xml/.cvsignore:
10435         * tests/examples/xml/Makefile.am:
10436         * tests/examples/xml/createxml.c: (object_saved), (main):
10437         * tests/examples/xml/runxml.c: (xml_loaded), (event_loop), (main):
10438         * tests/old/examples/Makefile.am:
10439         * tests/old/examples/TODO:
10440         * tests/old/examples/controller/.cvsignore:
10441         * tests/old/examples/controller/Makefile.am:
10442         * tests/old/examples/controller/audio-example.c:
10443         * tests/old/examples/helloworld/.cvsignore:
10444         * tests/old/examples/helloworld/Makefile.am:
10445         * tests/old/examples/helloworld/helloworld.c:
10446         * tests/old/examples/launch/.cvsignore:
10447         * tests/old/examples/launch/Makefile.am:
10448         * tests/old/examples/launch/mp3parselaunch.c:
10449         * tests/old/examples/launch/mp3play:
10450         * tests/old/examples/manual/Makefile.am:
10451         * tests/old/examples/metadata/Makefile.am:
10452         * tests/old/examples/metadata/read-metadata.c:
10453         * tests/old/examples/queue/.cvsignore:
10454         * tests/old/examples/queue/Makefile.am:
10455         * tests/old/examples/queue/queue.c:
10456         * tests/old/examples/typefind/.cvsignore:
10457         * tests/old/examples/typefind/Makefile.am:
10458         * tests/old/examples/typefind/typefind.c:
10459         * tests/old/examples/xml/.cvsignore:
10460         * tests/old/examples/xml/Makefile.am:
10461         * tests/old/examples/xml/createxml.c:
10462         * tests/old/examples/xml/runxml.c:
10463           applied some simple fixing to some examples
10464           re-enabled the working examples
10465
10466 2005-12-12  Wim Taymans  <wim@fluendo.com>
10467
10468         * gst/gstsegment.c: (gst_segment_init),
10469         (gst_segment_set_last_stop), (gst_segment_set_seek),
10470         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
10471         (gst_segment_to_running_time):
10472         Added more documentation.
10473         Make sure the last_pos value is updated properly.
10474         Make sure to_stream_time and to_running_time don't
10475         operate on wrong values.
10476
10477         * tests/check/gst/gstsegment.c: (GST_START_TEST):
10478         Update check.
10479
10480 2005-12-12  Michael Smith  <msmith@fluendo.com>
10481
10482         * plugins/elements/gsttypefindelement.c: (free_entry),
10483         (gst_type_find_element_chain):
10484           Now that we're not leaking factories, make sure we keep references
10485           to them while we need them.
10486
10487 2005-12-12  Thomas Vander Stichele  <thomas at apestaart dot org>
10488
10489         * tests/check/gst/struct_i386.h:
10490           ifdef out the XML structs
10491
10492 2005-12-12  Thomas Vander Stichele  <thomas at apestaart dot org>
10493
10494         * gst/gstvalue.c: (gst_value_transform_double_fraction):
10495           floor is not needed, F is always positive; this obviates the
10496           need for adding -lm when building without libxml
10497
10498 2005-12-12  Wim Taymans  <wim@fluendo.com>
10499
10500         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
10501         Take current playback rate into account when reporting
10502         the position.
10503
10504 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
10505
10506         * docs/manual/mime-world.fig:
10507           Let's try this again, this time with a file that is
10508           actually in XFig format.
10509
10510 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
10511
10512         * docs/manual/mime-world.fig:
10513           Add audioconvert element to diagram so that it
10514           matches the text and the code (fixes #319526).
10515
10516 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
10517
10518         * docs/pwg/building-chainfn.xml:
10519         * docs/pwg/building-pads.xml:
10520         * docs/pwg/building-state.xml:
10521         * docs/pwg/other-source.xml:
10522           Update state change stuff for 0.10 (fixes #322969).
10523
10524 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
10525
10526         * docs/manual/advanced-dataaccess.xml:
10527         * docs/manual/appendix-checklist.xml:
10528         * docs/manual/appendix-programs.xml:
10529         * docs/manual/basics-pads.xml:
10530         * docs/manual/highlevel-components.xml:
10531         * docs/manual/manual.xml:
10532           Update for 0.10: s/0.9/0.10/; s/audioscale/audiorsample/;
10533           add converters in front of pipelines; remove curly
10534           brackets for threads stuff, they no longer exist; use
10535           GST_TYPE_FRACTION for framerates; update some pieces of
10536           code to 0.10, but there's plenty more to do.
10537
10538         * docs/manual/appendix-porting.xml:
10539           Expand on asynchroneous state changes; s/0.9/0.10/;
10540           mention disappearance of gst_init_get_popt_table()
10541           (fixes #322916).
10542
10543 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
10544
10545         * docs/faq/using.xml:
10546           Spider no longer exists, and neither does gst-launch-ext.
10547           Update examples to use decodebin and playbin and put
10548           converters in front of sinks (fixes #323726).
10549
10550 2005-12-09  Michael Smith  <msmith@fluendo.com>
10551
10552         * plugins/elements/gsttypefindelement.c: (find_peek),
10553         (gst_type_find_element_chain):
10554           Fix leaking element factories in typefinding.
10555           Fix problem where we forgot about a probable type on non-seekable
10556           files, and thus later mis-typefound it.
10557
10558 2005-12-09  Michael Smith  <msmith@fluendo.com>
10559
10560         * common/m4/gst-makecontext.m4:
10561         * common/m4/gst-mcsc.m4:
10562         * configure.ac:
10563         * win32/common/config.h:
10564         * win32/common/config.h.in:
10565           Remove makecontext stuff; not used in 0.10 and causes problems on
10566           HPUX according to bug #322441
10567
10568 2005-12-07  Wim Taymans  <wim@fluendo.com>
10569
10570         * tests/check/Makefile.am:
10571         * tests/check/libs/libsabi.c: (GST_START_TEST), (gstabi_suite),
10572         (main):
10573         * tests/check/libs/struct_i386.h:
10574         Added ABI check for libs
10575
10576 2005-12-07  Wim Taymans  <wim@fluendo.com>
10577
10578         * tests/check/Makefile.am:
10579         And add the struct_i386.h to dist.
10580
10581 2005-12-07  Wim Taymans  <wim@fluendo.com>
10582
10583         * tests/check/Makefile.am:
10584         * tests/check/gst/.cvsignore:
10585         * tests/check/gst/gstabi.c: (GST_START_TEST), (gstabi_suite),
10586         (main):
10587         * tests/check/gst/struct_i386.h:
10588         Added check for ABI compatibility.
10589
10590 2005-12-07  Wim Taymans  <wim@fluendo.com>
10591
10592         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
10593         (gst_fake_src_get_times), (gst_fake_src_create):
10594         Fix broken sync option, fixes #323259
10595
10596 2005-12-07  Wim Taymans  <wim@fluendo.com>
10597
10598         * gst/gstbuffer.c:
10599         Small docs update.
10600
10601         * gst/gstcaps.c: (gst_caps_is_equal):
10602         Don't assert on NULL <--> X. Fixes #323260
10603
10604         * gst/gstminiobject.c: (gst_mini_object_replace):
10605         If we're doing atomic operations, we might just as well use
10606         the proper way to get an atomic pointer.
10607
10608         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
10609         Clean up debugging.
10610
10611 2005-12-07  Michael Smith  <msmith@fluendo.com>
10612
10613         * gst/parse/grammar.y:
10614           Remove handling of { } for threads.
10615
10616 2005-12-06  David Schleef  <ds@schleef.org>
10617
10618         * libs/gst/base/gstbasetransform.c: speling fix.
10619
10620 2005-12-06  Thomas Vander Stichele  <thomas at apestaart dot org>
10621
10622         * docs/libs/tmpl/gstdataprotocol.sgml:
10623         * docs/random/omega/testing/gstobject.c:
10624         * gst/gst.c:
10625         * gst/gstclock.c:
10626         * gst/gstelement.c:
10627         * gst/gstelementfactory.c:
10628         * gst/gsterror.c:
10629         * gst/gstevent.c:
10630         * gst/gstghostpad.c:
10631         * gst/gstinfo.c:
10632         * gst/gstpadtemplate.c:
10633         * gst/gstregistryxml.c:
10634         * gst/gsttaglist.c:
10635         * gst/gsttagsetter.c:
10636         * gst/gsttypefind.c:
10637         * gst/gstvalue.c:
10638         * libs/gst/base/gstbasesrc.c:
10639         * libs/gst/net/gstnetclientclock.c:
10640         * libs/gst/net/gstnettimeprovider.c:
10641         * plugins/elements/gstfakesrc.c:
10642         * plugins/elements/gstfdsrc.c:
10643         * plugins/elements/gstfilesrc.c:
10644         * plugins/elements/gstidentity.c:
10645         * plugins/elements/gstqueue.c:
10646         * plugins/elements/gsttypefindelement.c:
10647         * plugins/indexers/gstfileindex.c:
10648         * plugins/indexers/gstmemindex.c:
10649         * tests/check/gst/gsttag.c:
10650         * tests/old/examples/cutter/cutter.c:
10651         * tests/old/examples/mixer/mixer.c:
10652         * tests/old/examples/xml/runxml.c: (main):
10653         * tests/old/testsuite/caps/normalisation.c:
10654         * tests/old/testsuite/debug/global.c:
10655         * tests/old/testsuite/parse/parse1.c:
10656         * tools/gst-xmlinspect.c:
10657         * win32/common/dirent.c:
10658           expand tabs
10659
10660 === release 0.10.0 ===
10661
10662 2005-12-05  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
10663
10664         * configure.ac:
10665           releasing 0.10.0, "Maroilles"
10666
10667 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
10668
10669         submitted by: Funda Wang <fundawang@linux.net.cn>
10670
10671         * po/LINGUAS:
10672         * po/zh_CN.po:
10673           added Chinese (Traditional) translation
10674
10675 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
10676
10677         * docs/gst/gstreamer-sections.txt:
10678         * docs/libs/tmpl/gstdataprotocol.sgml:
10679         * docs/random/thomasvs/TODO:
10680         * gst/gstutils.c:
10681         * gst/gstutils.h:
10682           fix docs
10683
10684 2005-12-05  Andy Wingo  <wingo@pobox.com>
10685
10686         patch by: Wim Taymans <wim@fluendo.com>
10687
10688         * libs/gst/base/gstbasetransform.c
10689         (gst_base_transform_prepare_output_buf)
10690         (gst_base_transform_buffer_alloc):
10691         * plugins/elements/gstqueue.c (gst_queue_bufferalloc): Call
10692         alloc_buffer_and_set_caps.
10693
10694         * gst/gstpad.c (gst_pad_alloc_buffer): Changed to not call
10695         set_caps on the source pad.
10696         (gst_pad_alloc_buffer_and_set_caps): New function, does what
10697         alloc_buffer used to do. Fixes #322874.
10698
10699         * docs/gst/gstreamer-sections.txt: 
10700         * docs/design/part-negotiation.txt: 
10701         * docs/pwg/advanced-negotiation.xml: Update for the alloc_buffer
10702         changes.
10703
10704 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
10705
10706         patch by: Sebastien Moutte
10707
10708         * win32/MANIFEST:
10709         * win32/common/config.h.in:
10710         * win32/vs6/libgstcontroller.dsp:
10711           win32 build fixes
10712
10713 2005-12-05  Wim Taymans  <wim@fluendo.com>
10714
10715         * gst/gstcaps.c: (gst_caps_is_equal):
10716         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
10717         (gst_fake_src_create):
10718         Back out previous code changes, leave doc updates, file bugs 
10719         instead. 
10720
10721 2005-12-05  Wim Taymans  <wim@fluendo.com>
10722
10723         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
10724         (gst_fake_src_get_times), (gst_fake_src_create):
10725         * plugins/elements/gstfakesrc.h:
10726         Fix broken sync code.
10727
10728 2005-12-05  Wim Taymans  <wim@fluendo.com>
10729
10730         * gst/gstcaps.c: (gst_caps_is_equal):
10731         Comparing NULL against !NULL yields different caps, not a
10732         failure.
10733
10734 2005-12-05  Wim Taymans  <wim@fluendo.com>
10735
10736         * gst/gstpipeline.c:
10737         Fix small typo in docs.
10738
10739 2005-12-05  Andy Wingo  <wingo@pobox.com>
10740
10741         patch by: Thomas Vander Stichele  <thomas at apestaart dot org>
10742
10743         * gst/gst.c (init_post): remove hard-coded 0.9 location for
10744         registries/plugins with a MAJORMINOR one.
10745         (plugin_desc): Rename library from gstcoreleements to
10746         staticelements. Fixes #323222.
10747
10748 2005-12-05  Tim-Philipp Müller  <tim at centricular dot net>
10749
10750         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init):
10751           Change debug category to 'collectpads' from 'collect_pads'
10752           (fixes #323250).
10753
10754 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
10755
10756         patch by: Sebastien Moutte
10757
10758         * libs/gst/controller/gstinterpolation.c:
10759           use convert function for uint64/double
10760         * win32/vs6/libgstcontroller.dsp:
10761           link to GLib
10762
10763 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
10764
10765         * gst/gstutils.c: (gst_util_guint64_to_gdouble),
10766         (gst_util_gdouble_to_guint64), (gst_util_uint64_scale_int64):
10767         * gst/gstutils.h:
10768         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
10769           add tests that seem to show that the guint64/gdouble conversions
10770           are correct.
10771
10772 2005-12-02  Wim Taymans  <wim@fluendo.com>
10773
10774         * gst/gstregistry.c: (gst_registry_add_path):
10775         * gst/gstregistry.h:
10776         * gst/gstregistryxml.c:
10777         Fix docs again.
10778
10779 2005-12-02  Wim Taymans  <wim@fluendo.com>
10780
10781         * gst/gstutils.c: (gst_util_uint64_scale_int64),
10782         (gst_util_uint64_scale_int):
10783         Small cleanup.
10784
10785         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object):
10786         Add debug log line.
10787
10788         * libs/gst/base/gstbasetransform.c: (gst_base_transform_event):
10789         Add FIXME.
10790
10791 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
10792
10793         * win32/MANIFEST:
10794         * win32/common/config.h:
10795         * win32/vs6/gstreamer.dsw:
10796         * win32/vs6/libgstcoreelements.dsp:
10797         * win32/vs6/libgstelements.dsp:
10798           renamed core elements plugin
10799
10800 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
10801
10802         * tools/gst-run.c: (compare_major_minor), (find_highest_version),
10803         (get_candidates):
10804           do piece-wise major/minor comparison so 0.9 < 0.10
10805           also allow .exe extensions for tools
10806
10807 2005-12-02  Michael Smith  <msmith@fluendo.com>
10808
10809         * gst/gst.c:
10810           Escape a % to make gtkdoc happier; bug 322958.
10811
10812 === release 0.9.7 ===
10813
10814 2005-12-01  Thomas Vander Stichele <thomas (at) apestaart (dot) org>
10815
10816         * configure.ac:
10817           releasing 0.9.7, "My Dog Has No Nose"
10818
10819 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
10820
10821         * common/gst-xmlinspect.py:
10822         * configure.ac:
10823         * docs/libs/tmpl/gstdataprotocol.sgml:
10824         * docs/random/release:
10825         * po/af.po:
10826         * po/az.po:
10827         * po/bg.po:
10828         * po/ca.po:
10829         * po/cs.po:
10830         * po/de.po:
10831         * po/en_GB.po:
10832         * po/fr.po:
10833         * po/it.po:
10834         * po/nb.po:
10835         * po/nl.po:
10836         * po/ru.po:
10837         * po/sq.po:
10838         * po/sr.po:
10839         * po/sv.po:
10840         * po/tr.po:
10841         * po/uk.po:
10842         * po/vi.po:
10843         * win32/common/config.h:
10844         * win32/common/config.h.in:
10845         * win32/vs6/gst_inspect.dsp:
10846         * win32/vs6/gst_launch.dsp:
10847         * win32/vs6/libgstbase.dsp:
10848         * win32/vs6/libgstelements.dsp:
10849         * win32/vs6/libgstreamer.dsp:
10850         * win32/vs7/GStreamer.vcproj:
10851         * win32/vs7/gst-inspect.vcproj:
10852         * win32/vs7/gst-launch.vcproj:
10853         * win32/vs7/libgstbase.vcproj:
10854           bump GST_MAJORMINOR to 0.10
10855           reset libtool version
10856
10857 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
10858
10859         * po/LINGUAS:
10860         * po/bg.po:
10861           Added Bulgarian translation by (Alexander Shopov)
10862
10863 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
10864
10865         * tests/check/gst/gstplugin.c:
10866           fix test
10867
10868 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
10869
10870         * common/gst-xmlinspect.py:
10871         * common/gtk-doc-plugins.mak:
10872         * configure.ac:
10873         * docs/Makefile.am:
10874         * docs/gst/Makefile.am:
10875         * docs/gst/gstreamer-docs.sgml:
10876         * docs/gst/gstreamer-sections.txt:
10877         * docs/gst/gstreamer.types:
10878         * docs/gst/gstreamer.types.in:
10879         * docs/plugins/Makefile.am:
10880         * docs/plugins/gstreamer-plugins-docs.sgml:
10881         * docs/plugins/gstreamer-plugins-sections.txt:
10882         * docs/plugins/gstreamer-plugins.types:
10883         * docs/plugins/inspect.stamp:
10884         * docs/plugins/inspect/plugin-coreelements.xml:
10885         * docs/plugins/inspect/plugin-coreindexers.xml:
10886         * docs/plugins/scanobj-build.stamp:
10887         * gstreamer.spec.in:
10888         * plugins/elements/Makefile.am:
10889         * plugins/elements/gstelements.c:
10890         * plugins/elements/gstfakesink.c:
10891         * plugins/elements/gstfakesrc.c:
10892         * plugins/elements/gstfilesink.c:
10893         * plugins/elements/gstfilesrc.c:
10894         * plugins/elements/gstqueue.c:
10895         * plugins/indexers/Makefile.am:
10896         * plugins/indexers/gstindexers.c:
10897           document core plugins in a separate document just like all the
10898           others
10899           rename these plugins to something starting with core
10900
10901 2005-12-01  Andy Wingo  <wingo@pobox.com>
10902
10903         * gst/gstevent.h (struct _GstEvent): Meant to remove the extra
10904         padding here before, but it missed the commit.
10905
10906 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
10907
10908         * libs/gst/controller/gstinterpolation.c:
10909           whitespace prices have crashed, we should feel free to use some now
10910           use gst_guint64_to_gdouble
10911
10912 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
10913
10914         * libs/gst/controller/gstcontroller.c:
10915         * libs/gst/controller/gsthelper.c:
10916         * libs/gst/controller/gstinterpolation.c:
10917         * libs/gst/controller/lib.c:
10918           wrap config.h include
10919
10920 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
10921
10922         * docs/gst/gstreamer-sections.txt:
10923           update docs
10924
10925 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
10926
10927         * plugins/elements/gstelements.c:
10928         * plugins/elements/gstfdsink.c: (gst_fd_sink__base_init),
10929         (gst_fd_sink__class_init), (gst_fd_sink__init),
10930         (gst_fd_sink__chain), (gst_fd_sink__set_property),
10931         (gst_fd_sink__get_property):
10932         * plugins/elements/gstfdsink.h:
10933         * plugins/elements/gstfdsrc.c: (_do_init), (gst_fd_src_base_init),
10934         (gst_fd_src_class_init), (gst_fd_src_init), (gst_fd_src_dispose),
10935         (gst_fd_src_update_fd), (gst_fd_src_start), (gst_fd_src_stop),
10936         (gst_fd_src_unlock), (gst_fd_src_set_property),
10937         (gst_fd_src_get_property), (gst_fd_src_create),
10938         (gst_fd_src_is_seekable), (gst_fd_src_get_size),
10939         (gst_fd_src_uri_get_type), (gst_fd_src_uri_get_protocols),
10940         (gst_fd_src_uri_get_uri), (gst_fd_src_uri_set_uri),
10941         (gst_fd_src_uri_handler_init):
10942         * plugins/elements/gstfdsrc.h:
10943         * plugins/elements/gstqueue.c: (gst_queue_get_type):
10944           more anal cleanup
10945
10946 2005-11-30  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
10947
10948         * docs/gst/Makefile.am:
10949         * docs/gst/gstreamer.types.in:
10950         * gst/Makefile.am:
10951           fix the docs build
10952
10953 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
10954
10955         * configure.ac:
10956         * gst/Makefile.am:
10957         * gst/gst.c:
10958         * gst/gstplugin.h:
10959         * gst/gstregistry.h:
10960         * tests/benchmarks/complexity.c:
10961         * tests/benchmarks/mass-elements.c:
10962         * tests/check/Makefile.am:
10963         * tools/Makefile.am:
10964         * tools/gst-inspect.c:
10965         * tools/gst-xmlinspect.c:
10966           various fixes to make
10967           --disable-nls --disable-registry --disable-loadsave
10968           --disable-parse --disable-gst-debug
10969           work and get the core .so down to 360444 bytes after stripping
10970
10971 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
10972
10973         * Makefile.am:
10974         * configure.ac:
10975           descend into tests
10976         * docs/random/thomasvs/TODO:
10977         * tests/Makefile.am:
10978         * tests/README:
10979           add a README
10980
10981 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
10982
10983         * win32/GStreamer.vcproj:
10984         * win32/MANIFEST:
10985         * win32/Makefile:
10986         * win32/Makefile.inspect:
10987         * win32/Makefile.launch:
10988         * win32/Makefile.register:
10989         * win32/README.txt:
10990         * win32/gst-inspect.vcproj:
10991         * win32/gst-launch.vcproj:
10992         * win32/gst-register.vcproj:
10993         * win32/gstelements.vcproj:
10994         * win32/gstgetbits.def:
10995         * win32/gstgetbits.vcproj:
10996         * win32/gstreamer-dbg.def:
10997         * win32/gstreamer.def:
10998         * win32/libgstbase.def:
10999         * win32/libgstbase.vcproj:
11000         * win32/link_oldruntime.c:
11001         * win32/mman.c:
11002         * win32/mman.h:
11003         * win32/mman.inl:
11004         * win32/msvc71.sln:
11005           move even more stuff, win32/ is nice and clean now
11006
11007 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
11008
11009         * libs/gst/control/.cvsignore:
11010         * win32/MANIFEST:
11011         * win32/config.h:
11012         * win32/dirent.c:
11013         * win32/dirent.h:
11014         * win32/gstbytestream.def:
11015         * win32/gstbytestream.vcproj:
11016         * win32/gstconfig.h:
11017         * win32/gstenumtypes.c:
11018         * win32/gstenumtypes.h:
11019         * win32/gstoptimalscheduler.vcproj:
11020         * win32/gstversion.h:
11021         * win32/gtchar.h:
11022         * win32/testsuite/bins.vcproj:
11023         * win32/testsuite/bytestream.vcproj:
11024         * win32/testsuite/caps.vcproj:
11025         * win32/testsuite/cleanup.vcproj:
11026         * win32/testsuite/clock.vcproj:
11027         * win32/testsuite/debug.vcproj:
11028         * win32/testsuite/dlopen.vcproj:
11029         * win32/testsuite/dynparams.vcproj:
11030         * win32/testsuite/elements.vcproj:
11031         * win32/testsuite/ghostpads.vcproj:
11032         * win32/testsuite/indexers.vcproj:
11033         * win32/testsuite/negotiation.vcproj:
11034         * win32/testsuite/parse.vcproj:
11035         * win32/testsuite/plugin.vcproj:
11036         * win32/testsuite/refcounting.vcproj:
11037         * win32/testsuite/schedulers.vcproj:
11038         * win32/testsuite/states.vcproj:
11039         * win32/testsuite/tags.vcproj:
11040         * win32/testsuite/threads.vcproj:
11041           remove old win32 stuff that isn't maintained and should be
11042           reorganized
11043
11044 2005-11-30  Andy Wingo  <wingo@pobox.com>
11045
11046         * configure.ac (GST_PKG_DEPS): Revert previous patch, makes
11047         loading the gst.interfaces python module bork.
11048
11049         * configure.ac (GST_PKG_DEPS): Use gmodule-no-export-2.0.pc,
11050         available since GLib 2.2. Fixes #318031.
11051
11052 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
11053
11054         * Makefile.am:
11055         * check/.cvsignore:
11056         * check/Makefile.am:
11057         * check/elements/.cvsignore:
11058         * check/elements/fakesrc.c:
11059         * check/elements/fdsrc.c:
11060         * check/elements/identity.c:
11061         * check/generic/.cvsignore:
11062         * check/generic/states.c:
11063         * check/gst-libs/.cvsignore:
11064         * check/gst-libs/controller.c:
11065         * check/gst-libs/gdp.c:
11066         * check/gst/.cvsignore:
11067         * check/gst/capslist.h:
11068         * check/gst/gst.c:
11069         * check/gst/gstbin.c:
11070         * check/gst/gstbuffer.c:
11071         * check/gst/gstbus.c:
11072         * check/gst/gstcaps.c:
11073         * check/gst/gstelement.c:
11074         * check/gst/gstevent.c:
11075         * check/gst/gstghostpad.c:
11076         * check/gst/gstiterator.c:
11077         * check/gst/gstmessage.c:
11078         * check/gst/gstminiobject.c:
11079         * check/gst/gstobject.c:
11080         * check/gst/gstpad.c:
11081         * check/gst/gstpipeline.c:
11082         * check/gst/gstplugin.c:
11083         * check/gst/gstsegment.c:
11084         * check/gst/gststructure.c:
11085         * check/gst/gstsystemclock.c:
11086         * check/gst/gsttag.c:
11087         * check/gst/gstutils.c:
11088         * check/gst/gstvalue.c:
11089         * check/net/.cvsignore:
11090         * check/net/gstnetclientclock.c:
11091         * check/net/gstnettimeprovider.c:
11092         * check/pipelines/.cvsignore:
11093         * check/pipelines/cleanup.c:
11094         * check/pipelines/simple_launch_lines.c:
11095         * check/pipelines/stress.c:
11096         * check/states/.cvsignore:
11097         * check/states/sinks.c:
11098         * configure.ac:
11099         * examples/Makefile.am:
11100         * examples/appreader/.cvsignore:
11101         * examples/appreader/Makefile.am:
11102         * examples/appreader/appreader.c:
11103         * examples/controller/.cvsignore:
11104         * examples/controller/Makefile.am:
11105         * examples/controller/audio-example.c:
11106         * examples/cutter/.cvsignore:
11107         * examples/cutter/Makefile.am:
11108         * examples/cutter/cutter.c:
11109         * examples/cutter/cutter.h:
11110         * examples/events/Makefile.am:
11111         * examples/events/seek.c:
11112         * examples/helloworld/.cvsignore:
11113         * examples/helloworld/Makefile.am:
11114         * examples/helloworld/helloworld.c:
11115         * examples/helloworld2/.cvsignore:
11116         * examples/helloworld2/Makefile.am:
11117         * examples/helloworld2/helloworld2.c:
11118         * examples/launch/.cvsignore:
11119         * examples/launch/Makefile.am:
11120         * examples/launch/mp3parselaunch.c:
11121         * examples/launch/mp3play:
11122         * examples/manual/.cvsignore:
11123         * examples/manual/Makefile.am:
11124         * examples/manual/extract.pl:
11125         * examples/metadata/Makefile.am:
11126         * examples/metadata/read-metadata.c:
11127         * examples/mixer/.cvsignore:
11128         * examples/mixer/Makefile.am:
11129         * examples/mixer/mixer.c:
11130         * examples/mixer/mixer.h:
11131         * examples/pingpong/.cvsignore:
11132         * examples/pingpong/Makefile.am:
11133         * examples/pingpong/pingpong.c:
11134         * examples/plugins/.cvsignore:
11135         * examples/plugins/Makefile.am:
11136         * examples/plugins/example.c:
11137         * examples/plugins/example.h:
11138         * examples/pwg/.cvsignore:
11139         * examples/pwg/Makefile.am:
11140         * examples/pwg/extract.pl:
11141         * examples/queue/.cvsignore:
11142         * examples/queue/Makefile.am:
11143         * examples/queue/queue.c:
11144         * examples/queue2/.cvsignore:
11145         * examples/queue2/Makefile.am:
11146         * examples/queue2/queue2.c:
11147         * examples/queue3/.cvsignore:
11148         * examples/queue3/Makefile.am:
11149         * examples/queue3/queue3.c:
11150         * examples/queue4/.cvsignore:
11151         * examples/queue4/Makefile.am:
11152         * examples/queue4/queue4.c:
11153         * examples/retag/.cvsignore:
11154         * examples/retag/Makefile.am:
11155         * examples/retag/retag.c:
11156         * examples/retag/transcode.c:
11157         * examples/thread/.cvsignore:
11158         * examples/thread/Makefile.am:
11159         * examples/thread/thread.c:
11160         * examples/typefind/.cvsignore:
11161         * examples/typefind/Makefile.am:
11162         * examples/typefind/typefind.c:
11163         * examples/xml/.cvsignore:
11164         * examples/xml/Makefile.am:
11165         * examples/xml/createxml.c:
11166         * examples/xml/runxml.c:
11167         * tests/Makefile.am:
11168         * tests/check/Makefile.am:
11169         * testsuite/.cvsignore:
11170         * testsuite/Makefile.am:
11171         * testsuite/Rules:
11172         * testsuite/caps/.cvsignore:
11173         * testsuite/caps/Makefile.am:
11174         * testsuite/caps/app_fixate.c:
11175         * testsuite/caps/audioscale.c:
11176         * testsuite/caps/caps.c:
11177         * testsuite/caps/caps.h:
11178         * testsuite/caps/caps_strings:
11179         * testsuite/caps/compatibility.c:
11180         * testsuite/caps/deserialize.c:
11181         * testsuite/caps/enumcaps.c:
11182         * testsuite/caps/eratosthenes.c:
11183         * testsuite/caps/filtercaps.c:
11184         * testsuite/caps/fixed.c:
11185         * testsuite/caps/fraction-convert.c:
11186         * testsuite/caps/fraction-multiply-and-zero.c:
11187         * testsuite/caps/intersect2.c:
11188         * testsuite/caps/intersection.c:
11189         * testsuite/caps/normalisation.c:
11190         * testsuite/caps/random.c:
11191         * testsuite/caps/renegotiate.c:
11192         * testsuite/caps/sets.c:
11193         * testsuite/caps/simplify.c:
11194         * testsuite/caps/string-conversions.c:
11195         * testsuite/caps/structure.c:
11196         * testsuite/caps/subtract.c:
11197         * testsuite/caps/union.c:
11198         * testsuite/debug/.cvsignore:
11199         * testsuite/debug/Makefile.am:
11200         * testsuite/debug/category.c:
11201         * testsuite/debug/commandline.c:
11202         * testsuite/debug/global.c:
11203         * testsuite/debug/output.c:
11204         * testsuite/debug/printf_extension.c:
11205         * testsuite/dlopen/.cvsignore:
11206         * testsuite/dlopen/Makefile.am:
11207         * testsuite/dlopen/dlopen_gst.c:
11208         * testsuite/dlopen/loadgst.c:
11209         * testsuite/elements/.cvsignore:
11210         * testsuite/elements/Makefile.am:
11211         * testsuite/elements/gst-inspect-check.in:
11212         * testsuite/elements/struct_i386.h:
11213         * testsuite/elements/struct_size.c:
11214         * testsuite/indexers/.cvsignore:
11215         * testsuite/indexers/Makefile.am:
11216         * testsuite/indexers/cache1.c:
11217         * testsuite/indexers/indexdump.c:
11218         * testsuite/parse/.cvsignore:
11219         * testsuite/parse/Makefile.am:
11220         * testsuite/parse/parse1.c:
11221         * testsuite/parse/parse2.c:
11222         * testsuite/plugin/.cvsignore:
11223         * testsuite/plugin/Makefile.am:
11224         * testsuite/plugin/README:
11225         * testsuite/plugin/dynamic.c:
11226         * testsuite/plugin/linked.c:
11227         * testsuite/plugin/loading.c:
11228         * testsuite/plugin/registry.c:
11229         * testsuite/plugin/static.c:
11230         * testsuite/plugin/static2.c:
11231         * testsuite/plugin/testplugin.c:
11232         * testsuite/plugin/testplugin2.c:
11233         * testsuite/plugin/testplugin2_s.c:
11234         * testsuite/plugin/testplugin_s.c:
11235         * testsuite/refcounting/.cvsignore:
11236         * testsuite/refcounting/Makefile.am:
11237         * testsuite/refcounting/bin.c:
11238         * testsuite/refcounting/element.c:
11239         * testsuite/refcounting/element_pad.c:
11240         * testsuite/refcounting/mainloop.c:
11241         * testsuite/refcounting/mem.c:
11242         * testsuite/refcounting/mem.h:
11243         * testsuite/refcounting/object.c:
11244         * testsuite/refcounting/pad.c:
11245         * testsuite/refcounting/sched.c:
11246         * testsuite/refcounting/thread.c:
11247         * testsuite/states/.cvsignore:
11248         * testsuite/states/Makefile.am:
11249         * testsuite/states/bin.c:
11250         * testsuite/states/locked.c:
11251         * testsuite/states/parent.c:
11252         * testsuite/threads/.cvsignore:
11253         * testsuite/threads/159566.c:
11254         * testsuite/threads/159852.c:
11255         * testsuite/threads/Makefile.am:
11256         * testsuite/threads/queue.c:
11257         * testsuite/threads/signals.c:
11258         * testsuite/threads/staticrec.c:
11259         * testsuite/threads/thread.c:
11260         * testsuite/threads/threadb.c:
11261         * testsuite/threads/threadc.c:
11262         * testsuite/threads/threadd.c:
11263         * testsuite/threads/threade.c:
11264         * testsuite/threads/threadf.c:
11265         * testsuite/threads/threadg.c:
11266         * testsuite/threads/threadh.c:
11267         * testsuite/threads/threadi.c:
11268           move all of these under tests
11269
11270 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
11271
11272         * configure.ac:
11273         * tests/Makefile.am:
11274           fix distcheck
11275
11276 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
11277
11278         * docs/gst/gstreamer-sections.txt:
11279         * tests/sched/.cvsignore:
11280         * tests/sched/Makefile.am:
11281         * tests/sched/cases/(fs-fs).xml:
11282         * tests/sched/cases/(fs-i-fs).xml:
11283         * tests/sched/cases/(fs-i-i-fs).xml:
11284         * tests/sched/cases/(fs-i-q[i-fs]).xml:
11285         * tests/sched/dynamic-pipeline.c:
11286         * tests/sched/interrupt1.c:
11287         * tests/sched/interrupt2.c:
11288         * tests/sched/interrupt3.c:
11289         * tests/sched/runtestcases:
11290         * tests/sched/runxml.c:
11291         * tests/sched/sched-stress.c:
11292         * tests/sched/sort.c:
11293         * tests/sched/testcases:
11294         * tests/sched/testcases1.tc:
11295         * tests/seeking/.cvsignore:
11296         * tests/seeking/Makefile.am:
11297         * tests/seeking/seeking1.c:
11298         * tests/threadstate/.cvsignore:
11299         * tests/threadstate/Makefile.am:
11300         * tests/threadstate/test1.c:
11301         * tests/threadstate/test2.c:
11302         * tests/threadstate/threadstate1.c:
11303         * tests/threadstate/threadstate2.c:
11304         * tests/threadstate/threadstate3.c:
11305         * tests/threadstate/threadstate4.c:
11306         * tests/threadstate/threadstate5.c:
11307           remove obsolete tests
11308         * configure.ac:
11309         * tests/bench-complexity.scm:
11310         * tests/bench-mass_elements.scm:
11311         * tests/complexity.c:
11312         * tests/complexity.gnuplot:
11313         * tests/instantiate/.cvsignore:
11314         * tests/instantiate/Makefile.am:
11315         * tests/instantiate/caps.c:
11316         * tests/mass_elements.c:
11317         * tests/network-clock-utils.scm:
11318         * tests/network-clock.scm:
11319         * tests/plot-data:
11320         First pass at cleaning up tests/ dir before moving the rest
11321         Combined with CVS surgery
11322
11323 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
11324
11325         * po/POTFILES.in:
11326           queue has moved, update
11327
11328 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
11329
11330         * docs/gst/gstreamer-sections.txt:
11331           remove double entries from the docs
11332         * gst/gst_private.h:
11333         * gst/gstinfo.c: (_gst_debug_init):
11334           remove the THREAD debug category
11335         * gst/Makefile.am:
11336         * gst/gstqueue.c:
11337         * gst/gstqueue.h:
11338         * docs/gst/gstreamer.types:
11339         * plugins/elements/gstqueue.c: (gst_queue_get_type),
11340         (gst_queue_init), (gst_queue_finalize), (gst_queue_change_state):
11341           completely move queue and fix up debugging categories
11342
11343 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
11344
11345         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
11346           make initialization portable, using LL is not
11347
11348 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
11349
11350         * win32/common/gstconfig.h:
11351           add large padding
11352
11353 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
11354
11355         * win32/common/libgstreamer.def:
11356           rename symbols; sort base section
11357
11358 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
11359
11360         * gst/gstclock.c: (do_linear_regression):
11361           remove crack non-portable handrolled DEBUG macro
11362
11363 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
11364
11365         * docs/random/release:
11366           update notes
11367         * win32/common/gstenumtypes.c: (register_gst_object_flags),
11368         (gst_object_flags_get_type), (register_gst_bin_flags),
11369         (gst_bin_flags_get_type), (register_gst_buffer_flag),
11370         (gst_buffer_flag_get_type), (register_gst_bus_flags),
11371         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
11372         (gst_bus_sync_reply_get_type), (register_gst_caps_flags),
11373         (gst_caps_flags_get_type), (register_gst_clock_return),
11374         (gst_clock_return_get_type), (register_gst_clock_entry_type),
11375         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
11376         (gst_clock_flags_get_type), (register_gst_state),
11377         (gst_state_get_type), (register_gst_state_change_return),
11378         (gst_state_change_return_get_type), (register_gst_state_change),
11379         (gst_state_change_get_type), (register_gst_element_flags),
11380         (gst_element_flags_get_type), (register_gst_core_error),
11381         (gst_core_error_get_type), (register_gst_library_error),
11382         (gst_library_error_get_type), (register_gst_resource_error),
11383         (gst_resource_error_get_type), (register_gst_stream_error),
11384         (gst_stream_error_get_type), (register_gst_event_type_flags),
11385         (gst_event_type_flags_get_type), (register_gst_event_type),
11386         (gst_event_type_get_type), (register_gst_seek_type),
11387         (gst_seek_type_get_type), (register_gst_seek_flags),
11388         (gst_seek_flags_get_type), (register_gst_format),
11389         (gst_format_get_type), (register_gst_index_certainty),
11390         (gst_index_certainty_get_type), (register_gst_index_entry_type),
11391         (gst_index_entry_type_get_type),
11392         (register_gst_index_lookup_method),
11393         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
11394         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
11395         (gst_index_resolver_method_get_type), (register_gst_index_flags),
11396         (gst_index_flags_get_type), (register_gst_debug_level),
11397         (gst_debug_level_get_type), (register_gst_debug_color_flags),
11398         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
11399         (gst_iterator_result_get_type), (register_gst_iterator_item),
11400         (gst_iterator_item_get_type), (register_gst_message_type),
11401         (gst_message_type_get_type), (register_gst_mini_object_flags),
11402         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
11403         (gst_pad_link_return_get_type), (register_gst_flow_return),
11404         (gst_flow_return_get_type), (register_gst_activate_mode),
11405         (gst_activate_mode_get_type), (register_gst_pad_direction),
11406         (gst_pad_direction_get_type), (register_gst_pad_flags),
11407         (gst_pad_flags_get_type), (register_gst_pad_presence),
11408         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
11409         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
11410         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
11411         (gst_plugin_error_get_type), (register_gst_plugin_flags),
11412         (gst_plugin_flags_get_type), (register_gst_rank),
11413         (gst_rank_get_type), (register_gst_query_type),
11414         (gst_query_type_get_type), (register_gst_tag_merge_mode),
11415         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
11416         (gst_tag_flag_get_type), (register_gst_task_state),
11417         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
11418         (gst_alloc_trace_flags_get_type),
11419         (register_gst_type_find_probability),
11420         (gst_type_find_probability_get_type), (register_gst_uri_type),
11421         (gst_uri_type_get_type), (register_gst_parse_error),
11422         (gst_parse_error_get_type):
11423         * win32/common/gstenumtypes.h:
11424         * win32/common/gstversion.h:
11425           update visual studio generated files
11426
11427 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
11428
11429         * win32/vs6/libgstbase.dsp:
11430         * win32/vs6/libgstelements.dsp:
11431           update project files for new locations
11432
11433 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
11434
11435         * Makefile.am:
11436           remove some files
11437         * README:
11438           reinstate and update
11439         * DEVEL:
11440         * REQUIREMENTS:
11441           removed
11442         * LICENSE:
11443         * docs/random/LICENSE:
11444           moved to random
11445
11446 2005-11-30  Edward Hervey  <edward@fluendo.com>
11447
11448         * gst/gsttypefind.c: (gst_type_find_register):
11449         * gst/gsttypefind.h:
11450         * gst/gsttypefindfactory.c: (gst_type_find_factory_init),
11451         (gst_type_find_factory_dispose):
11452         * gst/gsttypefindfactory.h:
11453         Fix memory leak in GstTypeFindFactory.
11454
11455 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
11456
11457         * gst/gst.c:
11458         * plugins/elements/Makefile.am:
11459         * plugins/elements/gstelements.c:
11460         * plugins/elements/gstqueue.c:
11461           move queue from core to the elements plugin
11462
11463 2005-11-29  Andy Wingo  <wingo@pobox.com>
11464
11465         * libs/gst/base/gstbasetransform.h: 
11466         * libs/gst/base/gstbasesrc.h: 
11467         * libs/gst/base/gstbasesink.h: en-LARGE the padding.
11468
11469         * gst/gstconfig.h.in (GST_PADDING_LARGE): New define, the number
11470         of pointers by which to pad very extensible base classes (like the
11471         ones in libs/gst/base).
11472
11473 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
11474
11475         * docs/gst/gstreamer-docs.sgml:
11476         * docs/gst/gstreamer-sections.txt:
11477         * docs/libs/gstreamer-libs-docs.sgml:
11478         * docs/libs/gstreamer-libs-sections.txt:
11479           moving documentation from core to lib
11480
11481 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
11482
11483         * check/Makefile.am:
11484         * configure.ac:
11485         * docs/gst/Makefile.am:
11486         * gst/Makefile.am:
11487         * gst/base/.cvsignore:
11488         * gst/base/Makefile.am:
11489         * gst/base/README:
11490         * gst/base/gstadapter.c:
11491         * gst/base/gstadapter.h:
11492         * gst/base/gstbasesink.c:
11493         * gst/base/gstbasesink.h:
11494         * gst/base/gstbasesrc.c:
11495         * gst/base/gstbasesrc.h:
11496         * gst/base/gstbasetransform.c:
11497         * gst/base/gstbasetransform.h:
11498         * gst/base/gstcollectpads.c:
11499         * gst/base/gstcollectpads.h:
11500         * gst/base/gstpushsrc.c:
11501         * gst/base/gstpushsrc.h:
11502         * gst/base/gsttypefindhelper.c:
11503         * gst/base/gsttypefindhelper.h:
11504         * gst/check/Makefile.am:
11505         * gst/check/gstcheck.c:
11506         * gst/check/gstcheck.h:
11507         * gst/net/Makefile.am:
11508         * gst/net/gstnet.h:
11509         * gst/net/gstnetclientclock.c:
11510         * gst/net/gstnetclientclock.h:
11511         * gst/net/gstnettimepacket.c:
11512         * gst/net/gstnettimepacket.h:
11513         * gst/net/gstnettimeprovider.c:
11514         * gst/net/gstnettimeprovider.h:
11515         * libs/gst/Makefile.am:
11516         * libs/gst/base/Makefile.am:
11517         * libs/gst/base/gstbasetransform.c:
11518         * libs/gst/check/Makefile.am:
11519         * plugins/elements/Makefile.am:
11520         * po/POTFILES.in:
11521           CVS surgery + support to move base, check, and net out of gst
11522           and into libs/gst
11523
11524 2005-11-29  Andy Wingo  <wingo@pobox.com>
11525
11526         * gst/gstevent.h (struct _GstEvent): Only one pointer of padding.
11527
11528         * gst/gststructure.h (struct _GstStructure): Only one pointer of
11529         padding.
11530
11531         * gst/gstquery.h (struct _GstQuery): Only one pointer of padding.
11532
11533         * gst/gstpluginfeature.h: Remove a comment in PluginFeature.
11534
11535         * gst/gstplugin.h (struct _GstPluginClass): Add some padding.
11536
11537         * gst/gstobject.h: (struct _GstObject): Only one pointer of
11538         padding; reduces object size by about 30%. We don't expect
11539         anything else to go into gstobject.
11540
11541         * gst/gstminiobject.h (struct _GstMiniObject)
11542         (struct _GstMiniObjectClass): Only one pointer of padding; the
11543         payload is only a pointer and two ints anyway. For the class there
11544         are only two methods as well.
11545         
11546         * gst/gstelement.h (struct _GstElementClass): Removed
11547         the state_changed signal callback, it is not used.
11548
11549 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
11550
11551         * docs/gst/gstreamer.types:
11552           fix includes, though they are a little dinky
11553
11554 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
11555
11556         * check/Makefile.am:
11557           look in the right place for elements, a lot more chance of
11558           success
11559         * gst/Makefile.am:
11560           remove indexers and elements subdirs
11561         * plugins/Makefile.am:
11562           make indexers conditional
11563
11564 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
11565
11566         * Makefile.am:
11567         * configure.ac:
11568         * plugins/elements/Makefile.am:
11569         * plugins/elements/gstcapsfilter.c:
11570         * plugins/elements/gstfilesink.c:
11571         * plugins/elements/gstfilesrc.c:
11572         * plugins/elements/gstidentity.c:
11573         * plugins/indexers/Makefile.am:
11574           do CVS surgery and related build fixery to move elements
11575           and indexers in a new gstreamer/plugins directory, out of the
11576           gst/ directory
11577
11578 2005-11-29  Andy Wingo  <wingo@pobox.com>
11579
11580         * check/Makefile.am:
11581         * pkgconfig/gstreamer-net-uninstalled.pc.in:
11582         * pkgconfig/gstreamer-net.pc.in:
11583         * gst/net/Makefile.am: Rename gstnet-tempname to gstnet. Fixes
11584         #322257.
11585
11586 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
11587
11588         * tools/Makefile.am:
11589         * tools/gst-complete.1.in:
11590         * tools/gst-complete.c:
11591         * tools/gst-compprep.1.in:
11592         * tools/gst-compprep.c:
11593           removing -compprep and -complete
11594
11595 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
11596
11597         * gst/gstevent.c: (gst_event_new_new_segment),
11598         (gst_event_parse_new_segment):
11599         * gst/gstevent.h:
11600           fix #320529 - clean up new_segment API and structure.
11601           Let's hope everyone was using the methods, and not the structure.
11602
11603 2005-11-29  Edward Hervey  <edward@fluendo.com>
11604
11605         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
11606         (gst_base_sink_event), (gst_base_sink_do_sync),
11607         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
11608         Properly handle non GST_FORMAT_TIME segment
11609         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
11610         Properly handle non GST_FORMAT_TIME segment
11611         * gst/gstsegment.c:
11612         This function is valid if the accumulator is 0 and the format
11613         is different from the requested format.
11614         
11615 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
11616
11617         * docs/gst/gstreamer-sections.txt:
11618         Add gst_query_new_seeking and gst_query_parse_seeking to the
11619         docs.
11620
11621 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
11622
11623         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
11624           Treat a pad alloc with new caps the same as if we were not
11625           negotiated, in order to allow a changing upstream output
11626           to produce a new format of data.
11627
11628 2005-11-29  Edward Hervey  <edward@fluendo.com>
11629
11630         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
11631         (gst_base_transform_event), (gst_base_transform_eventfunc):
11632         The event virtual method is now properly implemented, with a default
11633         handler
11634         Sub classes should call the parent_class event method. They should
11635         return FALSE if they had a problem handling the given event, or don't
11636         want GstBaseTransform to send that even downstream
11637         * gst/elements/gstidentity.c: (gst_identity_class_init),
11638         (gst_identity_init), (gst_identity_event),
11639         (gst_identity_transform_ip), (gst_identity_set_property),
11640         (gst_identity_get_property):
11641         * gst/elements/gstidentity.h:
11642         Added the single-segment boolean property.
11643         If set to TRUE, it will output a single segment of data, starting from
11644         0, will eat up all incoming newsegment, and modify the timestamp of the
11645         buffers accordingly
11646
11647 2005-11-29  Tim-Philipp Müller  <tim at centricular dot net>
11648
11649         * gst/gstghostpad.c: (gst_proxy_pad_get_target):
11650           Don't ref NULL target pad (#322751). Improve docs.
11651
11652 2005-11-29  Michael Smith  <msmith@fluendo.com>
11653
11654         * gst/gstregistryxml.c: (load_plugin):
11655           Don't crash if we failed to load a feature from a plugin. 
11656
11657 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
11658
11659         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
11660         (GST_START_TEST):
11661           use more check API and less GLib API
11662
11663 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
11664
11665         * Makefile.am:
11666           don't run checks if we don't have check
11667         * common/check.mak:
11668           remove the registry when running make torture
11669         * docs/gst/gstreamer-sections.txt:
11670           remove second multiply
11671         * gst/gstqueue.c: (gst_queue_loop):
11672           fix a compile warning when disabling debug
11673
11674 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
11675
11676         * gst/gstinfo.h:
11677         Hey! Let's print the pad name if the pointer != NULL instead
11678         of when it == NULL :-)
11679
11680 2005-11-28  Wim Taymans  <wim@fluendo.com>
11681
11682         * check/gst/gstutils.c: (GST_START_TEST):
11683         Updated check, add some scaling accuracy checking code.
11684
11685         * gst/gstutils.c: (gst_util_div128_64),
11686         (gst_util_uint64_scale_int64), (gst_util_uint64_scale),
11687         (gst_util_uint64_scale_int):
11688         Fix 6 times faster division code. Optimize for common 
11689         1/1 and less common X/1 cases.
11690
11691 2005-11-28  Wim Taymans  <wim@fluendo.com>
11692
11693         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
11694         More checks.
11695
11696         * gst/gstclock.c: (gst_clock_finalize), (gst_clock_set_master),
11697         (do_linear_regression), (gst_clock_add_observation):
11698         Cleanups.
11699         Release lock when the clock cannot be slaved.
11700         Catch the case where the regression returned an invalid denominator.
11701
11702         * gst/gstutils.c: (gst_util_div128_64_iterate),
11703         (gst_util_div128_64), (gst_util_uint64_scale_int64),
11704         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
11705         Add protentially more performant non-iterative 128/64 divide function
11706         that unfortunatly does not work yet.
11707         Shortcut the trivial 0/X = 0 case.
11708         Remove the warnings on overflow.
11709
11710 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
11711
11712         * gst/gstplugin.c: (gst_plugin_register_func):
11713           everything causing a plugin not to load should be at least a WARNING
11714
11715 2005-11-28  Stefan Kost  <ensonic@users.sf.net>
11716
11717         * docs/random/ensonic/dparams.txt:
11718           some TODOs for the next dev cycle
11719         * libs/gst/controller/gstcontroller.c:
11720         (gst_controlled_property_set_interpolation_mode),
11721         (gst_controlled_property_new):
11722         * libs/gst/controller/gstcontroller.h:
11723           use base type to assign acccessor functions
11724
11725 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
11726
11727         * check/Makefile.am:
11728         Oops, that should have been top_srcdir
11729
11730 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
11731
11732         * check/Makefile.am:
11733         * check/elements/fdsrc.c: (GST_START_TEST):
11734         Use a cmdline define to specify the location of a file to use for
11735         testing, to avoid breaking distcheck.
11736
11737 2005-11-28  Andy Wingo  <wingo@pobox.com>
11738
11739         * gst/gstpad.c (fixate_value): Use array functions for arrays.
11740
11741 2005-11-28  Edward Hervey  <edward@fluendo.com>
11742
11743         * tools/gst-launch.c: (main):
11744         Clarify the output strings, makes it easier to translate.
11745         Fixes #322626
11746
11747 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
11748
11749         * gst/Makefile.am:
11750           don't try and build net if we don't even have <sys/socket.h>
11751
11752 2005-11-27  Jan Schmidt  <thaytan@mad.scientist.com>
11753
11754         * check/Makefile.am:
11755         * check/elements/fdsrc.c: (event_func), (setup_fdsrc),
11756         (cleanup_fdsrc), (GST_START_TEST), (fdsrc_suite), (main):
11757           Add tests for fdsrc seekability
11758
11759         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
11760         (gst_fdsrc_init), (gst_fdsrc_update_fd), (gst_fdsrc_start),
11761         (gst_fdsrc_set_property), (gst_fdsrc_is_seekable),
11762         (gst_fdsrc_get_size), (gst_fdsrc_uri_set_uri):
11763         * gst/elements/gstfdsrc.h:
11764           fdsrc should not be a 'live' source.
11765           Implement seeking on seekable fd's.
11766
11767         * gst/gstquery.c: (gst_query_new_seeking),
11768         (gst_query_parse_seeking):
11769         * gst/gstquery.h:
11770           Implement SEEKING query functions: 
11771             *_new_seeking and *_parse_seeking
11772
11773 2005-11-27  Stefan Kost  <ensonic@users.sf.net>
11774
11775         * gst/gstelement.c: (gst_element_dispose):
11776           don't loop forever
11777
11778         * gst/gstiterator.c:
11779         * gst/gststructure.c:
11780           doc fixes
11781
11782         * libs/gst/controller/gstcontroller.c:
11783         (gst_controlled_property_set_interpolation_mode):
11784         * libs/gst/controller/gstcontroller.h:
11785         * libs/gst/controller/gstinterpolation.c:
11786         (interpolate_none_get_enum_value_array):
11787           support controlling enums
11788
11789 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
11790
11791         * gst/gstvalue.c:
11792           Improve documentation for gst_value_union().
11793
11794         * gst/gstvalue.h:
11795           Change return value for union, intersect and subtract functions
11796           from gint to gboolean.
11797
11798 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
11799
11800         * gst/gstvalue.c: (gst_value_serialize_any_list),
11801         (gst_value_transform_any_list_string),
11802         (gst_value_deserialize_list), (gst_value_deserialize_array),
11803         (gst_value_set_int_range), (gst_value_deserialize_int_range),
11804         (gst_value_set_double_range), (gst_value_deserialize_double_range),
11805         (gst_value_set_fraction_range_full),
11806         (gst_value_deserialize_fraction_range),
11807         (gst_value_deserialize_caps), (gst_value_deserialize_buffer),
11808         (gst_value_deserialize_boolean),
11809         (gst_value_deserialize_int_helper), (gst_value_deserialize_double),
11810         (gst_value_serialize_float), (gst_value_deserialize_float),
11811         (gst_string_wrap), (gst_value_deserialize_string),
11812         (gst_value_deserialize_enum), (gst_value_deserialize_flags),
11813         (gst_value_union_int_range_int_range),
11814         (gst_value_intersect_int_range_int_range),
11815         (gst_value_intersect_double_range_double_range),
11816         (gst_value_create_new_range), (gst_value_subtract_int_range_int),
11817         (gst_value_subtract_int_range_int_range),
11818         (gst_value_subtract_double_double_range),
11819         (gst_value_subtract_double_range_double_range),
11820         (gst_value_deserialize_fraction):
11821         * gst/gstvalue.h:
11822           Use gint, gdouble and gchar in our API instead of int, double and
11823           char (and make usage in gstvalue.c more consistent).
11824
11825 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
11826
11827         * check/Makefile.am:
11828         * libs/gst/controller/Makefile.am:
11829         * libs/gst/dataprotocol/Makefile.am:
11830           fix up Makefile.am and remove GST_ENABLE_NEW
11831
11832 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
11833
11834         * configure.ac:
11835         * gst/Makefile.am:
11836         * gst/base/Makefile.am:
11837         * gst/check/Makefile.am:
11838         * gst/elements/Makefile.am:
11839         * gst/net/Makefile.am:
11840           update LDFLAGS use some more
11841
11842 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
11843
11844         * common/m4/gst-doc.m4:
11845           Fixes #312589
11846
11847 2005-11-26  Edward Hervey  <edward@fluendo.com>
11848
11849         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
11850         This shouldn't issue a g_warning since it returns NULL if it
11851         couldn't find the plugin, and all functions using this behave
11852         properly on a NULL return. Switching to a GST_WARNING.
11853
11854 2005-11-25  Jan Schmidt  <thaytan@mad.scientist.com>
11855
11856         * gst/gstbin.c: (gst_bin_handle_message_func):
11857         Don't leak clock messages.
11858
11859 2005-11-25  Wim Taymans  <wim@fluendo.com>
11860
11861         * gst/gstutils.c: (gst_util_uint64_scale_int64),
11862         (gst_util_uint64_scale_int):
11863         Optimisations, remove unneeded vars.
11864
11865 2005-11-25  Wim Taymans  <wim@fluendo.com>
11866
11867         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
11868         Added more checks for the high precision uint64 cases.
11869
11870         * gst/gstutils.c: (gst_util_uint64_scale_int64),
11871         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
11872         Implement high precision (guint64 * guint64) / guint64.
11873
11874 2005-11-24  Wim Taymans  <wim@fluendo.com>
11875
11876         * gst/base/gstbasesrc.c: (gst_base_src_query):
11877         Fix wrong percentage query.
11878
11879         * gst/gstutils.c: (gst_util_uint64_scale),
11880         (gst_util_uint64_scale_int):
11881         Add some more common cases that can be handled 
11882         efficiently to _scale.
11883
11884 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
11885
11886         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST),
11887         (gst_mini_object_suite):
11888           don't use check calls from threads; check probably isn't
11889           threadsafe and using a lock to make it threadsafe would
11890           defeat the purpose of this check
11891         * gst/check/gstcheck.c:
11892         * gst/check/gstcheck.h:
11893           use GST_DEBUG some more
11894
11895 2005-11-24  Wim Taymans  <wim@fluendo.com>
11896
11897         * gst/gstutils.c: (gst_util_uint64_scale),
11898         (gst_util_uint64_scale_int):
11899         Chain trivial case to _scale_int.
11900
11901 2005-11-24  Wim Taymans  <wim@fluendo.com>
11902
11903         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
11904         Added test for scaling.
11905
11906         * gst/gstclock.h:
11907         Small doc fix.
11908
11909         * gst/gstutils.c: (gst_util_uint64_scale_int):
11910         Implemented high precision scaling code.
11911
11912 2005-11-24  Stefan Kost  <ensonic@users.sf.net>
11913
11914         * gst/gstinfo.h:
11915           do not crash on pad==NULL
11916
11917 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
11918
11919         Patch by: Stefan Kost
11920
11921         * common/gtk-doc.mak:
11922         * docs/gst/Makefile.am:
11923         * docs/libs/Makefile.am:
11924           Fix distcheck issues for the libraries docs build
11925           Closes #319599.
11926
11927 2005-11-24  Michael Smith <msmith@fluendo.com>
11928
11929         * docs/manual/basics-helloworld.xml:
11930           Fix bug #315027: memory leak in example code in docs.
11931
11932 2005-11-24  Michael Smith <msmith@fluendo.com>
11933
11934         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
11935           Unlock the PREROLL_LOCK in a failure case.
11936
11937 2005-11-24  Wim Taymans  <wim@fluendo.com>
11938
11939         * docs/gst/gstreamer-sections.txt:
11940         * gst/base/gstadapter.h:
11941         * gst/base/gstbasesink.h:
11942         * gst/base/gstbasesrc.h:
11943         * gst/base/gstbasetransform.h:
11944         * gst/base/gstpushsrc.h:
11945         * gst/elements/gstfakesink.h:
11946         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type):
11947         * gst/elements/gstfakesrc.h:
11948         * gst/elements/gstfilesink.h:
11949         * gst/elements/gstfilesrc.h:
11950         * gst/gst.c:
11951         * gst/gstbin.c:
11952         * gst/gstbuffer.c: (_gst_buffer_copy):
11953         * gst/gstbus.h:
11954         * gst/gstcaps.c:
11955         * gst/gstchildproxy.c:
11956         * gst/gstclock.c:
11957         * gst/gstelement.c:
11958         * gst/gstelementfactory.c:
11959         * gst/gstelementfactory.h:
11960         * gst/gstevent.c:
11961         * gst/gstghostpad.h:
11962         * gst/gstindex.h:
11963         * gst/gstinterface.h:
11964         * gst/gstminiobject.c:
11965         * gst/gstminiobject.h:
11966         * gst/gstpad.c:
11967         * gst/gstpad.h:
11968         * gst/gstpadtemplate.h:
11969         * gst/gstpipeline.h:
11970         * gst/gstpluginfeature.h:
11971         * gst/gstquery.h:
11972         * gst/gstqueue.h:
11973         * gst/gsttaglist.c:
11974         * gst/gsttaglist.h:
11975         * gst/gsttagsetter.c:
11976         * gst/gsttagsetter.h:
11977         * gst/gsttrace.c:
11978         * gst/gsttrace.h:
11979         * gst/gsttypefind.h:
11980         * gst/gsturi.h:
11981         * gst/gstvalue.c:
11982         * gst/net/gstnetclientclock.c:
11983         * gst/net/gstnetclientclock.h:
11984         * gst/net/gstnettimepacket.c:
11985         * gst/net/gstnettimeprovider.c:
11986         * gst/net/gstnettimeprovider.h:
11987         Doc fixes.
11988
11989 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
11990
11991         * configure.ac: back to HEAD
11992
11993 === release 0.9.6 ===
11994
11995 2005-11-23  Thomas Vander Stichele <thomas at apestaart dot org>
11996
11997         * configure.ac:
11998           releasing 0.9.6, "Always On Time"
11999
12000 2005-11-23  Wim Taymans  <wim@fluendo.com>
12001
12002         * docs/gst/gstreamer-sections.txt:
12003         * gst/glib-compat.c:
12004         * gst/gsttagsetter.c:
12005         * gst/gstvalue.c:
12006         * gst/net/gstnetclientclock.c:
12007         * gst/net/gstnettimepacket.h:
12008         Doc updates.
12009
12010 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
12011
12012         * docs/faq/using.xml:
12013         * docs/libs/tmpl/gstcontrol.sgml:
12014         * docs/manual/advanced-dparams.xml:
12015         * docs/manual/appendix-checklist.xml:
12016         * docs/manual/basics-elements.xml:
12017         * docs/pwg/other-source.xml:
12018         * docs/random/moving-plugins:
12019         * gst/gstpad.c:
12020         * tools/gst-launch.1.in:
12021           remove mentions of sinesrc
12022
12023 2005-11-23  Michael Smith <msmith@fluendo.com>
12024
12025         * docs/gst/gstreamer-sections.txt:
12026           Update for new API and API changes.
12027         * gst/gstobject.h:
12028           Documentation fix: GST_TRYLOCK -> GST_OBJECT_TRYLOCK
12029         * gst/gstvalue.c:
12030           Documentation typo fix.
12031         * gst/net/gstnettimepacket.c:
12032           Documentation fixes for arguments.
12033
12034 2005-11-23  Jan Schmidt  <thaytan@mad.scientist.com>
12035
12036         * gst/gststructure.c: (gst_structure_get_fraction),
12037         (gst_structure_parse_value),
12038         (gst_structure_fixate_field_nearest_fraction):
12039         * gst/gststructure.h:
12040         * gst/gstutils.c: (gst_util_uint64_scale_int):
12041         * gst/gstutils.h:
12042         * scripts/update-funcnames:
12043         API Changes. 
12044         Rename gst_util_clock_time_scale to gst_util_uint64_scale_int
12045         Make gst_structure_fixate_field_nearest_fraction take a numerator
12046         and denominator argument instead of a GValue
12047         add gst_structure_get_fraction helper function.
12048
12049 2005-11-23  Wim Taymans  <wim@fluendo.com>
12050
12051         * docs/design/part-TODO.txt:
12052         Update TODO.
12053
12054         * gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
12055         * gst/net/gstnetclientclock.h:
12056         Use parent fields for timeout and window_size.
12057
12058 2005-11-23  Andy Wingo  <wingo@pobox.com>
12059
12060         * check/net/gstnetclientclock.c (test_functioning): Adjust to
12061         rate_num/rate_denom change.
12062
12063         * gst/net/gstnetclientclock.c
12064         (gst_net_client_clock_observe_times): Take the SLAVE_LOCK not the
12065         OBJECT_LOCK. Don't call add_observation with the lock.
12066
12067         * gst/gstclock.c (gst_clock_init): Initialize the rate as a
12068         fraction.
12069         (gst_clock_adjust_unlocked): Adjust using uint64_scale and the
12070         rate fraction.
12071         (gst_clock_set_calibration, gst_clock_get_calibration): Change to
12072         deal with rate as a fraction whose numerator and denominator are
12073         GstClockTime values.
12074         (gst_clock_set_master): Only use the OBJECT_LOCK to set the
12075         master; the other fields are protected by the SLAVE_LOCK.
12076         (do_linear_regression): Note that this must be called with the
12077         SLAVE_LOCK.
12078         (gst_clock_add_observation): Take the SLAVE_LOCK, not the
12079         OBJECT_LOCK. Call set_calibration instead of touching the
12080         variables directly.
12081         (gst_clock_set_property, gst_clock_get_property): Protect
12082         master/slave parameters with the SLAVE_LOCK.
12083
12084         * gst/gstclock.h (GstClock): Remove rate, add rate_numerator and
12085         rate_denominator. PR3C1S3. Add a new lock, the SLAVE_LOCK, and
12086         note that all of the instance variables that add_observation and
12087         the set_master functions use are protected by that lock and not
12088         the OBJECT_LOCK.
12089         (GST_CLOCK_SLAVE_LOCK, GST_CLOCK_SLAVE_UNLOCK): New macros.
12090
12091         * gst/gstclock.c (gst_clock_add_observation): No longer requires
12092         the caller to take the object lock.
12093
12094 2005-11-23  Wim Taymans  <wim@fluendo.com>
12095
12096         * gst/gsterror.c: (_gst_core_errors_init):
12097         * gst/gsterror.h:
12098         Add error for clock stuff.
12099
12100         * gst/gstpipeline.c: (gst_pipeline_change_state),
12101         (gst_pipeline_set_clock):
12102         Post clock error when clock cannot be used in a pipeline.
12103
12104 2005-11-23  Stefan Kost  <ensonic@users.sf.net>
12105
12106         * docs/gst/gstreamer-sections.txt:
12107           make two symbols from gstinfo private for the docs
12108         * gst/base/gstcollectpads.h:
12109         * gst/gstutils.c:
12110           fix doc typos, update docs
12111
12112 2005-11-22  Wim Taymans  <wim@fluendo.com>
12113
12114         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
12115         (gst_base_sink_wait), (gst_base_sink_do_sync),
12116         (gst_base_sink_handle_event):
12117         * gst/base/gstbasesink.h:
12118         No need to store the clock, the parent element class already
12119         has it.
12120
12121         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_add_func):
12122         Updates for clock_set returning a gboolean
12123
12124         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_wait),
12125         (gst_clock_id_wait_async), (gst_clock_class_init),
12126         (gst_clock_init), (gst_clock_finalize),
12127         (gst_clock_get_internal_time), (gst_clock_get_time),
12128         (gst_clock_slave_callback), (gst_clock_set_master),
12129         (gst_clock_get_master), (do_linear_regression),
12130         (gst_clock_add_observation), (gst_clock_set_property),
12131         (gst_clock_get_property):
12132         * gst/gstclock.h:
12133         Implement master/slave. When setting a clock as a slave, a
12134         periodic timeout is scheduled to sample master and slave times.
12135         Then the slave clock is recalibrated to match offset and rate
12136         of the master clock.
12137         Update logging a bit.
12138         Add flag so that a clock can state that is cannot be slaved to
12139         another clock.
12140
12141         * gst/gstelement.c: (gst_element_set_clock):
12142         * gst/gstelement.h:
12143         The set clock returns a gboolean for when an element cannot
12144         deal with the selected clock in the pipeline. 
12145
12146         * gst/gstpipeline.c: (gst_pipeline_change_state),
12147         (gst_pipeline_set_clock):
12148         * gst/gstpipeline.h:
12149         Handle the case where the selected clock cannot be set on
12150         the pipeline.
12151
12152         * gst/net/gstnetclientclock.c: (gst_net_client_clock_class_init),
12153         (gst_net_client_clock_init), (gst_net_client_clock_finalize),
12154         (gst_net_client_clock_set_property),
12155         (gst_net_client_clock_get_property),
12156         (gst_net_client_clock_observe_times):
12157         * gst/net/gstnetclientclock.h:
12158         Use regression code in GstClock parent, remove duplicated
12159         functionality.
12160
12161 2005-11-22  Michael Smith <msmith@fluendo.com>
12162
12163         * gst/gstutils.c: (gst_util_clock_time_scale):
12164         * gst/gstutils.h:
12165         * docs/gst/gstreamer-sections.txt:
12166           Rename method to have extra underscore.
12167
12168 2005-11-22  Thomas Vander Stichele  <thomas at apestaart dot org>
12169
12170         * gst/elements/Makefile.am:
12171         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type):
12172         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
12173         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
12174         (gst_fake_src_init), (gst_fake_src_prepare_buffer),
12175         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size):
12176         * gst/elements/gstfakesrc.h:
12177         * gst/gstqueue.c: (queue_leaky_get_type):
12178           correctly fix GEnumValues so that nick is the short lowercase
12179           dashed tag
12180         * tools/gst-inspect.c: (print_element_properties_info):
12181           also show the nick, since it's useful to use from parse_launch
12182           syntax
12183           Fixes #322139
12184
12185 2005-11-22  Michael Smith <msmith@fluendo.com>
12186
12187         * gst/gstutils.c: (gst_util_clocktime_scale):
12188         * gst/gstutils.h:
12189         * docs/gst/gstreamer-sections.txt:
12190           Add util method for scaling a clocktime by a fraction. Useful 
12191           implementation is left as an exercise for the reader.
12192
12193 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
12194
12195         * gst/gstvalue.c: (gst_value_collect_fraction_range):
12196         If needed, allocate storage in the destination value during
12197         collection.
12198
12199 2005-11-22  Edward Hervey  <edward@fluendo.com>
12200
12201         * docs/gst/gstreamer-sections.txt:
12202         * gst/Makefile.am:
12203         * gst/gst.h:
12204         * gst/gsturitype.c:
12205         * gst/gsturitype.h:
12206         * gst/gstutils.c: (gst_util_set_object_arg):
12207         * tools/gst-compprep.c: (main):
12208         * tools/gst-inspect.c: (print_element_properties_info):
12209         Removed GstURI, closes bug #321061
12210
12211 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
12212
12213         * check/gst/gststructure.c: (GST_START_TEST):
12214         * gst/gststructure.c: (gst_structure_parse_value):
12215           Oops, broke automatic string type parsing.
12216           Add a test to catch it in future.
12217
12218 2005-11-22  Andy Wingo  <wingo@pobox.com>
12219
12220         * gst/gsttagsetter.c (gst_tag_setter_get_tag_merge_mode) 
12221         (gst_tag_setter_set_tag_merge_mode, gst_tag_setter_get_tag_list):
12222         Actually rename the function implementations. Grr.
12223
12224 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
12225
12226         * check/gst/capslist.h:
12227           Comment test cases
12228         * check/gst/gststructure.c: (GST_START_TEST),
12229         (gst_structure_suite):
12230           Test automatic value type detection in gst_structure_from_string.
12231         * gst/gststructure.c: (gst_structure_parse_value):
12232           Add fraction as a type we try and guess automatically in
12233           caps/structure strings.
12234
12235 2005-11-22  Andy Wingo  <wingo@pobox.com>
12236
12237         patch by: Torsten Schoenfeld <kaffeetisch gmx de>
12238
12239         * gst/gsttagsetter.h:
12240         * gst/gsttagsetter.c: (gst_tag_setter_merge_tags)
12241         (gst_tag_setter_add_tags, gst_tag_setter_add_tag_values)
12242         (gst_tag_setter_add_tag_valist)
12243         (gst_tag_setter_add_tag_valist_values): Renamed from _merge, _add,
12244         _add_values, _add_valist, and _add_valist_values. Since this is an
12245         interface the function suffixes should be more explicit so
12246         language binding don't end up with element.add_valist ->
12247         gst_tag_setter_add_valist, for example. Fixes #322069.
12248
12249 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
12250
12251         * check/gst/gstcaps.c: (GST_START_TEST):
12252           Extend caps string tests to check that a caps to string
12253           conversion is reversible and produces the same caps.
12254
12255         * gst/gststructure.c: (gst_structure_value_get_generic_type):
12256           Output "fraction" as the generic type fraction range, so caps
12257           serialisation and deserialisation works.
12258         * check/gst/capslist.h:
12259         * gst/gstvalue.c: (gst_value_deserialize_fraction):
12260           Support 'MIN' and 'MAX' for deserialising fractions.
12261
12262 2005-11-22  Andy Wingo  <wingo@pobox.com>
12263
12264         * gst/gstevent.h (gst_event_new_new_segment)
12265         (gst_event_parse_new_segment, gst_event_new_buffer_size)
12266         (gst_event_parse_buffer_size, gst_ghost_pad_new_no_target):
12267         Renamed from *_newsegment, *_buffersize, *_notarget.
12268
12269         * scripts/update-funcnames: New script, performs the changes
12270         listed above.
12271
12272 2005-11-22  Wim Taymans  <wim@fluendo.com>
12273
12274         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
12275         Make sure the GstFlowReturn is returned.
12276
12277         * gst/gstbus.c: (gst_bus_add_signal_watch_full),
12278         (gst_bus_add_signal_watch):
12279         * gst/gstbus.h:
12280         add gst_bus_add_signal_watch_full.
12281
12282         * gst/gstplugin.c: (gst_plugin_load_file):
12283         Small style cleanup.
12284
12285 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
12286
12287         * check/gst/gstevent.c: (test_event), (GST_START_TEST):
12288           Block the fakesrc srcpad when we send an event, to avoid
12289           contention on the stream_lock causing random test failures.
12290
12291 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
12292
12293         * check/gst/gstvalue.c: (GST_START_TEST):
12294         * gst/gstvalue.c: (gst_value_fraction_subtract):
12295           Fix subtraction.
12296
12297 2005-11-22  Stefan Kost  <ensonic@users.sf.net>
12298
12299         * gst/gst.h:
12300           include "gstchildproxy.h"
12301         * gst/gstchildproxy.h:
12302         * libs/gst/controller/gstcontroller.h:
12303           use G_GNUC_NULL_TERMINATED
12304
12305 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
12306
12307         * check/gst/capslist.h:
12308         * check/gst/gstcaps.c: (GST_START_TEST):
12309         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
12310         * gst/gststructure.c: (gst_structure_parse_range),
12311         (gst_structure_fixate_field_nearest_fraction):
12312         * gst/gststructure.h:
12313         * gst/gstvalue.c: (gst_value_init_fraction_range),
12314         (gst_value_free_fraction_range), (gst_value_copy_fraction_range),
12315         (gst_value_collect_fraction_range),
12316         (gst_value_lcopy_fraction_range), (gst_value_set_fraction_range),
12317         (gst_value_set_fraction_range_full),
12318         (gst_value_get_fraction_range_min),
12319         (gst_value_get_fraction_range_max),
12320         (gst_value_serialize_fraction_range),
12321         (gst_value_transform_fraction_range_string),
12322         (gst_value_compare_fraction_range),
12323         (gst_value_deserialize_fraction_range),
12324         (gst_value_intersect_fraction_fraction_range),
12325         (gst_value_intersect_fraction_range_fraction_range),
12326         (gst_value_subtract_fraction_fraction_range),
12327         (gst_value_subtract_fraction_range_fraction),
12328         (gst_value_subtract_fraction_range_fraction_range),
12329         (gst_value_collect_fraction), (gst_value_fraction_multiply),
12330         (gst_value_fraction_subtract), (gst_value_deserialize_fraction),
12331         (gst_value_transform_string_fraction), (_gst_value_initialize):
12332         * gst/gstvalue.h:
12333           Implement fraction ranges and extend GstFraction to support
12334           arithmetic subtraction, as well as deserialization from integer
12335           strings such as "100"
12336           Add a testsuite as for int and double range set operations
12337
12338 2005-11-21  Andy Wingo  <wingo@pobox.com>
12339
12340         * gst/gsttaglist.h: 
12341         * gst/gstcaps.h: 
12342         * gst/gststructure.h: Add glib-compat.h.
12343
12344 2005-11-21  Wim Taymans  <wim@fluendo.com>
12345
12346         * gst/gstbin.c: (gst_bin_change_state_func):
12347         Fix for #321595
12348
12349 2005-11-21  Wim Taymans  <wim@fluendo.com>
12350
12351         * gst/gstsegment.h:
12352         And add a nice define too.
12353
12354 2005-11-21  Wim Taymans  <wim@fluendo.com>
12355
12356         * gst/gstsegment.c: (gst_segment_copy), (gst_segment_get_type),
12357         (gst_segment_new), (gst_segment_free), (gst_segment_init),
12358         (gst_segment_set_duration), (gst_segment_set_last_stop),
12359         (gst_segment_set_seek), (gst_segment_set_newsegment),
12360         (gst_segment_to_stream_time), (gst_segment_to_running_time),
12361         (gst_segment_clip):
12362         * gst/gstsegment.h:
12363         Make binding friendly.
12364
12365 2005-11-21  Andy Wingo  <wingo@pobox.com>
12366
12367         * gst/gsttagsetter.h: 
12368         * gst/gsttaglist.h: 
12369         * gst/gststructure.h: 
12370         * gst/gstcaps.h: 
12371         * gst/gstutils.h: Sprinkle NULL_TERMINATED to taste. Fixes
12372         #319940.
12373
12374         * gst/gsterror.c (_gst_core_errors_init):
12375         * gst/gsterror.h (GST_CORE_ERROR_MISSING_PLUGIN): New error
12376         category.
12377
12378         * gst/Makefile.am (gst_headers): Add glib-compat.h.
12379         (noinst_HEADERS): noinst the -private.
12380
12381 2005-11-21  Michael Smith <msmith@fluendo.com>
12382
12383         * gst/gstplugin.h:
12384         * gst/gstregistry.h:
12385           Remove unimplemented declarations for which we can see no sensible
12386           use.
12387
12388 2005-11-21  Andy Wingo  <wingo@pobox.com>
12389
12390         * gst/gst.h: Include glib-compat.h.
12391
12392         * gst/glib-compat.h: Add G_GNUC_NULL_TERMINATED.
12393
12394         * gst/glib-compat.c: Include the public and the private header.
12395
12396         * gst/glib-compat-private.h: Copied here from glib-compat.h.
12397
12398         * gst/gstvalue.c: 
12399         * gst/gstpad.c: 
12400         * gst/gstregistryxml.c: s/glib-compat/glib-compat-private/.
12401
12402         * check/gst/gstevent.c (create_custom_events): Check that
12403         FLUSH_STOP is serialized.
12404
12405         * check/elements/identity.c (event_func): 
12406         * check/elements/fakesrc.c (event_func): No stream lock, the core
12407         takes it.
12408
12409         * gst/base/gstbasetransform.c (gst_base_transform_event): No more
12410         stream lock taking, yay.
12411
12412         * gst/gstevent.h (GST_EVENT_FLUSH_STOP): Marked as serialized to
12413         ensure that core takes the stream lock.
12414
12415         * gst/base/gstbasesrc.c (gst_base_src_do_seek): Update for stream
12416         lock name change.
12417
12418         * gst/base/gstbasesink.c (gst_base_sink_event): No need to take
12419         the stream lock for EOS, NEWSEGMENT, or FLUSH_STOP, the core does
12420         it already. For the flush start we do take it though so we get the
12421         right preroll state change messages.
12422
12423         * gst/gstqueue.c (gst_queue_sink_activate_push): No need to take
12424         the stream lock here, the core does it for us.
12425
12426         * gst/gstpad.h (GST_PAD_GET_STREAM_LOCK): Renamed from
12427         GST_STREAM_GET_LOCK.
12428         (GST_PAD_STREAM_LOCK, GST_PAD_STREAM_TRYLOCK) 
12429         (GST_PAD_STREAM_UNLOCK, GST_PAD_STREAM_UNLOCK_FULL) 
12430         (GST_PAD_STREAM_LOCK_FULL): Renamed from GST_STREAM_*.
12431         (GST_PAD_GET_PREROLL_LOCK): Renamed from GST_PREROLL_GET_LOCK.
12432         (GST_PAD_PREROLL_LOCK, GST_PAD_PREROLL_TRYLOCK) 
12433         (GST_PAD_PREROLL_UNLOCK): Renamed from GST_PREROLL_*.
12434
12435         * gst/gstpad.c: Update for stream lock name change.
12436
12437         * gst/base/gstbasesink.c: Update for preroll lock name change.
12438
12439 2005-11-21  Wim Taymans  <wim@fluendo.com>
12440
12441         * gst/gstclock.c: (gst_clock_init), (gst_clock_set_master),
12442         (gst_clock_get_master):
12443         * gst/gstclock.h:
12444         * gst/gstsystemclock.c: (gst_system_clock_init):
12445         Convert Clock flags to object flags.
12446         Added methods to manage master/slave clocks.
12447
12448 2005-11-21  Wim Taymans  <wim@fluendo.com>
12449
12450         * check/gst/gstsegment.c: (GST_START_TEST):
12451         * docs/design/part-TODO.txt:
12452         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
12453         (gst_base_sink_event), (gst_base_sink_do_sync),
12454         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
12455         (gst_base_sink_query), (gst_base_sink_change_state):
12456         * gst/base/gstbasesink.h:
12457         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
12458         (gst_base_src_default_newsegment),
12459         (gst_base_src_configure_segment), (gst_base_src_do_seek),
12460         (gst_base_src_get_range), (gst_base_src_loop),
12461         (gst_base_src_change_state):
12462         * gst/base/gstbasesrc.h:
12463         * gst/base/gstbasetransform.c:
12464         (gst_base_transform_prepare_output_buf),
12465         (gst_base_transform_event), (gst_base_transform_change_state):
12466         * gst/base/gstbasetransform.h:
12467         * gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
12468         (gst_collect_pads_event):
12469         * gst/base/gstcollectpads.h:
12470         * gst/elements/gstfakesrc.c: (gst_fake_src_init),
12471         (gst_fake_src_create):
12472         * gst/elements/gstfakesrc.h:
12473         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
12474         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
12475         (gst_segment_set_last_stop), (gst_segment_set_seek),
12476         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
12477         (gst_segment_to_running_time), (gst_segment_clip):
12478         * gst/gstsegment.h:
12479         More segment updates, replace code in plugins with segment
12480         helper functions.
12481
12482 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
12483
12484         * gst/elements/gstfdsrc.c: (gst_fdsrc_uri_set_uri):
12485         Don't ignore sscanf results
12486
12487 2005-11-21  Andy Wingo  <wingo@pobox.com>
12488
12489         * gst/gstpad.h (GST_IS_PAD_FAST): Removed.
12490
12491         * *.h:
12492         * *.c: Ran scripts/update-macros. Oh yes.
12493
12494         * gst/gstobject.h (GST_OBJECT_GET_LOCK, GST_OBJECT_LOCK)
12495         (GST_OBJECT_TRYLOCK, GST_OBJECT_UNLOCK): Renamed from
12496         GST_GET_LOCK, etc.
12497
12498         * scripts/update-macros: New script. Run it on your files to
12499         change GST_LOCK to GST_OBJECT_LOCK, and the same for UNLOCK as
12500         well.
12501
12502 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
12503
12504         * docs/gst/Makefile.am:
12505         * docs/gst/gstreamer-docs.sgml:
12506         * docs/gst/gstreamer-sections.txt:
12507         * docs/gst/gstreamer.types:
12508         * gst/gstinfo.h:
12509           more docs fixes, add new api to the docs
12510
12511 2005-11-21  Andy Wingo  <wingo@pobox.com>
12512
12513         * gst/gstbin.c (gst_bin_remove_func): Wim claims I can remove this
12514         state_broadcast call.
12515
12516         * gst/gstsegment.c (gst_segment_init): Initialize abs_rate.
12517
12518 2005-11-21  Julien MOUTTE  <julien@moutte.net>
12519
12520         * gst/gstvalue.c: (gst_value_intersect_array): Fix wrong
12521         function calls for arrays.
12522
12523 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
12524
12525         * docs/random/ensonic/media-device-daemon.txt:
12526           wild idea, can this be done?
12527         * docs/gst/gstreamer-sections.txt:
12528         * gst/gsterror.h:
12529         * gst/gstfilter.c:
12530         * gst/gstfilter.h:
12531         * gst/gstplugin.h:
12532         * gst/gstpluginfeature.c:
12533         * gst/gsttrace.c:
12534         * gst/gstvalue.c:
12535         * gst/gstvalue.h:
12536           doc fixes and additions
12537
12538 2005-11-21  Andy Wingo  <wingo@pobox.com>
12539
12540         * gst/base/gstbasesrc.c (GST_LIVE_BROADCAST, GST_LIVE_SIGNAL) 
12541         (GST_LIVE_TIMED_WAIT, GST_LIVE_WAIT, GST_LIVE_GET_COND) 
12542         (GST_LIVE_UNLOCK, GST_LIVE_TRYLOCK, GST_LIVE_LOCK) 
12543         (GST_LIVE_GET_LOCK): Moved here from gstbasesrc.h. They are
12544         private to the basesrc implementation.
12545
12546         * gst/gstpad.c (gst_pad_send_event): Doc more. Take stream lock on
12547         behalf of event function if necessary. It should no longer be
12548         necessary to take the stream lock in pad's event functions. Fixes
12549         #320299.
12550
12551 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
12552         * docs/gst/gstreamer-sections.txt:
12553         * gst/gststructure.c: (gst_structure_fixate_field_nearest_int),
12554         (gst_structure_fixate_field_nearest_double),
12555         (gst_structure_fixate_field_boolean):
12556         * gst/gststructure.h:
12557         * win32/common/libgstreamer.def:
12558         * win32/gstreamer.def:
12559
12560         Rename gst_caps_structure_fixate_* to gst_structure_fixate_*
12561         (#322027)
12562
12563 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
12564
12565         * gst/elements/gstfdsrc.c: (_do_init), (gst_fdsrc_class_init),
12566         (gst_fdsrc_init), (gst_fdsrc_dispose), (gst_fdsrc_set_property),
12567         (gst_fdsrc_uri_get_type), (gst_fdsrc_uri_get_protocols),
12568         (gst_fdsrc_uri_get_uri), (gst_fdsrc_uri_set_uri),
12569         (gst_fdsrc_uri_handler_init):
12570         * gst/elements/gstfdsrc.h:
12571           Port fd:// URI handler from 0.8 to fdsrc
12572
12573 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
12574
12575         * gst/gstvalue.c: (gst_value_transform_fourcc_string),
12576         (gst_value_serialize_fourcc):
12577         * gst/gstvalue.h:
12578           Drop leading '%' from GST_FOURCC_FORMAT, thus making it
12579           consistent with our other format defines (#320324).
12580
12581 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
12582
12583         * gst/gstvalue.c: (gst_value_is_fixed):
12584           Revert previous commit. Value lists are by definition
12585           not fixed, as they are a list of possible values.
12586
12587 2005-11-21  Andy Wingo  <wingo@pobox.com>
12588
12589         * gst/gstevent.h (GST_EVENT_FILLER): Removed. Can be added back
12590         during the stable series if we need it. Fixes #319178.
12591
12592         * gst/gstevent.c (gst_event_new_filler): Removed.
12593
12594         * check/gst/gstevent.c: Update comment about filler events.
12595
12596 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
12597
12598         * gst/gstvalue.c: (gst_value_is_fixed):
12599           Should handle both value arrays and value lists.
12600
12601 2005-11-21  Andy Wingo  <wingo@pobox.com>
12602
12603         patch by: Alessandro Dessina <alessandro nnva org>
12604
12605         * gst/gstvalue.c (gst_value_is_fixed): Use gst_value_array
12606         functions to access arrays. Fixes #321962.
12607
12608 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
12609
12610         * docs/gst/gstreamer.types:
12611           gst_collectpads_get_type => gst_collect_pads_get_type.
12612           
12613         * gst/base/gstbasetransform.c:
12614           Remove unused SIGNAL_HANDOFF enum.
12615
12616 2005-11-21  Andy Wingo  <wingo@pobox.com>
12617
12618         * gst/gstevent.h (GstEventTypeFlags): New data type, the flags of
12619         the event type (upstream, downstream, serialized). Renamed
12620         GST_EVDIR_* and GST_EVSER to GST_EVENT_TYPE_*.
12621         (GstEventType): Use GstEventTypeFlags. Rename CUSTOM_UP to
12622         CUSTOM_UPSTREAM, CUSTOM_DS to CUSTOM_DOWNSTREAM, etc.
12623
12624         * gst/gstevent.c: Update for new CUSTOM event names.
12625
12626         * check/gst/gstevent.c: Update check for new CUSTOM event names.
12627
12628         * gst/gstevent.h:
12629         * gst/gstevent.c (gst_event_type_get_flags): New function. Fixes
12630         bug #319392.
12631
12632 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
12633
12634         * docs/gst/gstreamer-sections.txt:
12635         * win32/common/libgstbase.def:
12636         * win32/libgstbase.def:
12637         * gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
12638         (gst_collect_pads_class_init), (gst_collect_pads_init),
12639         (gst_collect_pads_finalize), (gst_collect_pads_new),
12640         (gst_collect_pads_set_function), (gst_collect_pads_add_pad),
12641         (gst_collect_pads_remove_pad), (gst_collect_pads_is_active),
12642         (gst_collect_pads_collect), (gst_collect_pads_collect_range),
12643         (gst_collect_pads_start), (gst_collect_pads_stop),
12644         (gst_collect_pads_peek), (gst_collect_pads_pop),
12645         (gst_collect_pads_available), (gst_collect_pads_read),
12646         (gst_collect_pads_flush), (gst_collect_pads_event),
12647         (gst_collect_pads_chain):
12648         * gst/base/gstcollectpads.h:
12649           Rename gst_collecpads_foo() => gst_collect_pads_foo(). Document
12650           unimplemented functions as unimplemented. Add padding to
12651           GstCollectData. (#320766, #320423)
12652
12653 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
12654
12655         * gst/gstmessage.c:
12656           Improve docs for DURATION message (usage of duration parameter)
12657           (#320113)
12658
12659 2005-11-20  Wim Taymans  <wim@fluendo.com>
12660
12661         * check/Makefile.am:
12662         * check/gst/gstsegment.c: (GST_START_TEST), (gstevents_suite),
12663         (main):
12664         * gst/Makefile.am:
12665         * gst/gst.h:
12666         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
12667         (gst_segment_set_seek), (gst_segment_set_newsegment),
12668         (gst_segment_to_stream_time), (gst_segment_to_running_time),
12669         (gst_segment_clip):
12670         * gst/gstsegment.h:
12671         Added segment helper structure and methods. Not fully implemented
12672         yet.
12673         Added segment check.
12674
12675 2005-11-20  Jan Schmidt  <thaytan@mad.scientist.com>
12676
12677         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
12678           Add a deserialisation test for fractions
12679         * examples/metadata/read-metadata.c: (message_loop),
12680         (make_pipeline), (main):
12681           Fix up metadata reading sample.
12682         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
12683           Debug format fix
12684         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
12685           Don't try and fixate empty caps
12686         * gst/gst_private.h:
12687           Wrap in G_BEGIN_DECLS/G_END_DECLS
12688         * gst/gstvalue.c: (gst_value_collect_fraction),
12689         (gst_value_set_fraction), (gst_value_get_fraction_denominator),
12690         (gst_value_transform_string_fraction),
12691         (gst_value_compare_fraction):
12692           Add some extra guards to ensure that we don't end up 
12693           with an invalid denominator of 0 in a gstfraction and
12694           that fractions always get reduced.
12695
12696 2005-11-20  Wim Taymans  <wim@fluendo.com>
12697
12698         * docs/gst/gstreamer-sections.txt:
12699         * gst/gstbuffer.h:
12700         * gst/gstelement.c:
12701         * gst/gstformat.c:
12702         * gst/gstformat.h:
12703         * gst/gstindex.h:
12704         * gst/gstquery.c:
12705         * gst/gstquery.h:
12706         * gst/gstvalue.c:
12707         Doc fixes.
12708
12709 2005-11-20  Wim Taymans  <wim@fluendo.com>
12710
12711         * docs/design/part-TODO.txt:
12712         * gst/gstcaps.h:
12713         Make a proper enum of the flag.
12714
12715 2005-11-19  Wim Taymans  <wim@fluendo.com>
12716
12717         * docs/design/part-TODO.txt:
12718         * gst/gstformat.c: (_gst_format_initialize), (gst_format_get_name),
12719         (gst_format_to_quark), (gst_format_register):
12720         * gst/gstformat.h:
12721         * gst/gstquery.c: (_gst_query_initialize),
12722         (gst_query_type_get_name), (gst_query_type_to_quark),
12723         (gst_query_type_register):
12724         * gst/gstquery.h:
12725         Add type to quark and type to string conversions.
12726
12727 2005-11-19  Andy Wingo  <wingo@pobox.com>
12728
12729         * gst/gstbuffer.h (GST_BUFFER_FLAG_ORIGINAL): Removed. Fixes
12730         #320097.
12731
12732 2005-11-19  Wim Taymans  <wim@fluendo.com>
12733
12734         * docs/design/part-TODO.txt:
12735         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
12736         (gst_bin_add_func), (gst_bin_remove_func), (bin_bus_handler),
12737         (gst_bin_handle_message_func):
12738         * gst/gstbin.h:
12739         Make message handling overridable.
12740
12741 2005-11-19  Andy Wingo  <wingo@pobox.com>
12742
12743         * gst/gstpad.h (GST_PAD_IS_USABLE): Removed. Fixes #321235.
12744
12745         * gst/gstclock.h:
12746         * gst/gstclock.c (GstClock, GstClockClass): Change resolution to
12747         be a GstClockTime.
12748         (gst_clock_set_resolution, gst_clock_get_resolution): Resolution
12749         is a GstClockTime. Fixes #321710.
12750
12751         * gst/gstclock.h (GstClock): Remove offset property. Add
12752         internal_calibration and external_calibration. Fix padding. Pad
12753         also by GstClockTime so we don't run into problems.
12754
12755         * gst/gstclock.c (gst_clock_set_rate_offset): Remove.
12756         (gst_clock_get_rate_offset): Remove.
12757         (gst_clock_set_time_adjust): Remove. Fixes #321712.
12758
12759         * gst/gstutils.h:
12760         * gst/gstutils.c (g_static_rec_cond_wait)
12761         (g_static_rec_cond_timed_wait): Removed, no longer needed.
12762
12763         * gst/gstbin.c: Remove terrible continue_state prototype.
12764
12765         * gst/gstelement.h (gst_element_continue_state): Make public.
12766
12767         * gst/gstelement.h:
12768         * gst/gstelement.c (gst_element_commit_state): Removed, replaced
12769         by continue_state. Fixes #319389.
12770
12771         * gst/gstindex.h (GstIndexFilter): Actually pass on the user_data.
12772         Really fixes #168438. However I don't see anywhere where the
12773         filter function is called... stupid GStreamer...
12774         
12775         * gst/gstindex.h (GstIndex): Add field for user_data_destroy. We
12776         don't have a dispose function, so it won't get called when the
12777         object is unreffed, but oh well!
12778
12779         * gst/gstindex.c (gst_index_set_filter_full): New API function,
12780         allows a destroy function to be set so user_data can be freed.
12781         Fixes #168438.
12782         (gst_index_set_filter): Call gst_index_set_filter_full.
12783
12784         * check/gst/gstvalue.c (test_string): Add test for bug #165650.
12785
12786         * gst/gstvalue.c (gst_string_wrap): Trying to serialize a NULL
12787         string should produce an error, given the lack of a way to
12788         represent NULL strings. Fixes #165650.
12789         
12790         * gst/gstvalue.h: 
12791         * gst/gstvalue.c (gst_value_array_append_value) 
12792         (gst_value_array_prepend_value, gst_value_array_get_size) 
12793         (gst_value_array_get_value): New API, copied from
12794         gst_value_list_*, only operates on arrays.
12795         (gst_value_list_append_value, gst_value_list_prepend_value) 
12796         (gst_value_list_concat, gst_value_list_get_size) 
12797         (gst_value_list_get_value): Only operate on lists. Fixes #156633.
12798
12799         * gst/gstvalue.c (gst_value_init_list_or_array): Renamed from
12800         init_list, because it works on both.
12801         (copy_garray_of_gstvalue): Renamed from gst_value_list_copy_array.
12802         (gst_value_copy_list_or_array): Renamed from copy_list.
12803         (gst_value_free_list_or_array): Renamed from free_list.
12804         (gst_value_collect_list_or_array): Renamed from collect_list.
12805         (gst_value_lcopy_list_or_array): Renamed from lcopy_list.
12806         (gst_value_list_or_array_peek_pointer): Renamed from
12807         list_peek_pointer.
12808         (_gst_value_array_value_table, _gst_value_list_value_table):
12809         Update value table functions.
12810         (gst_value_compare_list_or_array): Renamed from compare_list.
12811
12812         * gsttaglist.h: Whoops, foreach function returns void. Also fix
12813         some constness.
12814
12815         * gst/gsttaglist.c:
12816         * gst/gsttaglist.h (gst_tag_list_foreach): Operates on a const
12817         GstTagList*. Fixes #143472.
12818
12819         * gst/gststructure.h: Clarify what the foreach/map functions can
12820         or can't do to their arguments.
12821
12822 2005-11-18  Wim Taymans  <wim@fluendo.com>
12823
12824         * gst/gstclock.c: (gst_clock_set_calibration),
12825         (gst_clock_get_calibration):
12826         Doc and API fixes.
12827         Calibration can be set with internal time equal to current
12828         internal time too.
12829
12830 2005-11-18  Thomas Vander Stichele  <thomas at apestaart dot org>
12831
12832         * gst/gsterror.c:
12833         * gst/gsterror.h:
12834           document
12835
12836 2005-11-18  Andy Wingo  <wingo@pobox.com>
12837
12838         * configure.ac: 
12839         * pkgconfig/gstreamer-net.pc.in:
12840         * pkgconfig/gstreamer-net-uninstalled.pc.in:
12841         * pkgconfig/Makefile.am: Add net pkgconfig files.
12842
12843 2005-11-18  Stefan Kost  <ensonic@users.sf.net>
12844
12845         * gst/gstcaps.c:
12846         * gst/gstghostpad.c:
12847         * gst/gsttrace.c:
12848         * gst/gstvalue.c:
12849         * gst/gstvalue.h:
12850           docs fixes
12851
12852 2005-11-18  Andy Wingo  <wingo@pobox.com>
12853
12854         * gst/net/gstnetclientclock.c: Turn off debugging.
12855
12856         * check/net/gstnetclientclock.c (test_functioning): Assert that the
12857         times connverge somewhat. Can't make a real test.
12858
12859         * gst/net/gstnetclientclock.c (do_linear_regression): Use all
12860         integer arithmetic. Return the minimum of the domain, which can be
12861         set as "internal" for gst_clock_set_calibration.
12862         (gst_net_client_clock_observe_times): Call _set_calibration.
12863         (gst_net_client_clock_new): Call _set_calibration instead of
12864         rate_offset.
12865
12866         * check/net/gstnetclientclock.c (test_functioning): Use the right
12867         adjustment api.
12868
12869         * gst/gstclock.h:
12870         * gst/gstclock.c (gst_clock_get_calibration) 
12871         (gst_clock_set_calibration): New functions, obsolete the ones I
12872         added yesterday. Doh. Precision issues mean we have to extrapolate
12873         from a point in the more recent past than 1970.
12874         (gst_clock_get_rate_offset, gst_clock_set_rate_offset): Mark as
12875         obsolete.
12876         (gst_clock_adjust_unlocked): Use the right calibration data.
12877
12878 2005-11-18  Edward Hervey  <edward@fluendo.com>
12879
12880         * gst/base/gstbasesink.c: (gst_base_sink_change_state): 
12881         Also reset the ->current_* values in READY->PAUSED
12882
12883 2005-11-18  Andy Wingo  <wingo@pobox.com>
12884
12885         * gst/net/gstnetclientclock.c (gst_net_client_clock_thread):
12886         Whoops, check the right fd. Also add some debugging.
12887         (gst_net_client_clock_observe_times): Adjust for int64 offset.
12888         (do_linear_regression): Add a crapload of debugging. Subtract off
12889         the minimum values from the input series to discard unneeded bits.
12890         Use only int arithmetic. There is still double arithmetic when
12891         calculating the intercept that needs fixing. Return boolean to
12892         indicate success; FALSE would mean the domain or range is too
12893         great. Still needs fixes.
12894
12895 2005-11-18  Wim Taymans  <wim@fluendo.com>
12896
12897         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
12898         For the current position in stream time, we need to subtract
12899         accumulated time.
12900         
12901         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
12902         Release lock before calling the callback function of async
12903         entries.
12904
12905 2005-11-18  Andy Wingo  <wingo@pobox.com>
12906
12907         * gst/net/gstnetclientclock.c (gst_net_client_clock_class_init):
12908         Port goes all the way to MAXUINT16.
12909
12910         * gst/net/gstnettimeprovider.c: Make the port range the same as
12911         for the kernel: 0 assigns, otherwise ports are less than
12912         MAXUINT16.
12913
12914         * check/net/gstnettimeprovider.c: Adapt for 0 == kernel assigns
12915         port change.
12916
12917         * check/net/gstnetclientclock.c (test_functioning): Add the start
12918         of another test. 
12919
12920 2005-11-18  Wim Taymans  <wim@fluendo.com>
12921
12922         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
12923         (gst_bin_remove_func), (bin_bus_handler):
12924         * gst/gstbin.h:
12925         Removing a clock provider from a bin, triggers a clock lost message
12926         so that a new clock will be selected.
12927         Adding a clock to a bin triggers a clock provider message.
12928         Make sure we reselect a clock when we received a clock lost message.
12929         Keep a reference to the element that provided the clock.
12930
12931 2005-11-18  Andy Wingo  <wingo@pobox.com>
12932
12933         * gst/net/gstnetclientclock.c (gst_net_client_clock_new): Adjust
12934         the clock initially so it produces values around the base time.
12935         (gst_net_client_clock_class_init): Typo fix.
12936         (gst_net_client_clock_thread): Add note on when the socket gets
12937         closed.
12938
12939 2005-11-17  Wim Taymans  <wim@fluendo.com>
12940
12941         * gst/net/gstnetclientclock.c: (gst_net_client_clock_finalize):
12942         Free remote and local time arrays.
12943
12944 2005-11-17  Wim Taymans  <wim@fluendo.com>
12945
12946         * gst/net/gstnetclientclock.c: (do_linear_regression),
12947         (gst_net_client_clock_do_select), (gst_net_client_clock_thread):
12948         Fix compilation, uninitialized vars and a forgotten continue.
12949
12950 2005-11-17  Andy Wingo  <wingo@pobox.com>
12951
12952         * check/Makefile.am (check_PROGRAMS): 
12953         * check/net/gstnetclientclock.c: Add a most minimal test for the
12954         net client clock. More to come later.
12955
12956         * gst/net/gstnet.h: 
12957         * gst/net/Makefile.am: Add netclientclock.
12958
12959         * gst/net/gstnetclientclock.h:
12960         * gst/net/gstnetclientclock.c: New files, implement an untested
12961         GstClock that takes its time from a network time provider.
12962         Implements the algorithm in network-clock.scm.
12963
12964         * tests/network-clock.scm (*window-size*): Rename from
12965         *queue-length*.
12966         * tests/network-clock.scm (network-time): 
12967         * tests/network-clock-utils.scm (q-push): Update callers.
12968
12969 2005-11-17  Wim Taymans  <wim@fluendo.com>
12970
12971         * gst/gstbin.c: (gst_bin_provide_clock_func),
12972         (gst_bin_sort_iterator_new):
12973         And unref the child too..
12974
12975 2005-11-17  Wim Taymans  <wim@fluendo.com>
12976
12977         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
12978         (gst_bin_sort_iterator_new), (gst_bin_iterate_sorted):
12979         Refactor the sort iterator so it can be used while holding the
12980         LOCK too.
12981         Make clock selection select a clock closest to the source.
12982
12983 2005-11-17  Michael Smith <msmith@fluendo.com>
12984
12985         * gst/gstclock.c: (gst_clock_init), (gst_clock_adjust_unlocked),
12986         (gst_clock_set_rate_offset), (gst_clock_get_rate_offset):
12987         * gst/gstclock.h:
12988           Anonymous structs are a gcc (and some other compilers) extension, so
12989           don't use them. Since this is only for ABI-compatibility, and our
12990           API/ABI freeze is over in a few days, this whole thing will only
12991           last a few days, so don't bother trying to think up a meaningful
12992           name for the struct.
12993
12994 2005-11-17  Andy Wingo  <wingo@pobox.com>
12995
12996         * gst/gstclock.h (GstClock): Add rate and offset properties,
12997         preserving ABI stability. Add rate/offset accessors. Will file bug
12998         for the freeze break.
12999
13000         * gst/gstclock.c (gst_clock_adjust_unlocked): Implement using rate
13001         and offset, trying to keep precision and avoiding
13002         underflow/overflow.
13003         (gst_clock_set_rate_offset, gst_clock_get_rate_offset): New
13004         functions. Make gst_clock_set_time_adjust obsolete.
13005         (gst_clock_set_time_adjust): Note that this function is obsolete.
13006         Will file bug soon.
13007
13008         * gst/base/gstbasetransform.h: Make the ABI-stability hack
13009         greppable by using GST_PADDING-1+1.
13010
13011 2005-11-17  Torsten Schoenfeld  <kaffeetisch at gmx dot net>
13012
13013         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
13014
13015         * gst/gstmessage.c: (gst_message_parse_clock_lost):
13016           Assertion should check for CLOCK_LOST, not NEW_CLOCK (#321648).
13017
13018         * gst/gstpadtemplate.h:
13019         * gst/gstpluginfeature.h:
13020           Don't use c++ style comments in headers (#321638).
13021
13022 2005-11-16  Andy Wingo  <wingo@pobox.com>
13023
13024         * gst/net/gstnettimepacket.c (gst_net_time_packet_send): Free
13025         buffer.
13026
13027         * check/net/gstnettimeprovider.c: Check to see that the time
13028         provider actually provides times. Works, yo!
13029
13030 2005-11-16  Wim Taymans  <wim@fluendo.com>
13031
13032         * check/Makefile.am:
13033         Enable more tests.
13034
13035         * check/elements/fakesrc.c: (GST_START_TEST):
13036         Set element to NULL before disposing it.
13037
13038 2005-11-16  Andy Wingo  <wingo@pobox.com>
13039
13040         * gst/net/Makefile.am:
13041         * gst/net/gstnet.h:
13042         * gst/net/gstnettimeprovider.c: 
13043         * gst/net/gstnettimeprovider.h: Use the timepacket stuff in the
13044         provider, include it from gstnet.h, and add it to the build.
13045
13046         * gst/net/gstnettimepacket.h: 
13047         * gst/net/gstnettimepacket.c: New files, abstracts out the packet
13048         sending and receiving.
13049
13050 2005-11-16  Wim Taymans  <wim@fluendo.com>
13051
13052         * check/Makefile.am:
13053         Enable valgrind check.
13054
13055         * gst/elements/gstfakesrc.c: (gst_fake_src_alloc_parent),
13056         (gst_fake_src_alloc_buffer):
13057         Fix memleak.
13058
13059 2005-11-16  Wim Taymans  <wim@fluendo.com>
13060
13061         * gst/net/gstnettimeprovider.c: (gst_net_time_provider_finalize):
13062         Call parent finalize too.
13063
13064 2005-11-16  Wim Taymans  <wim@fluendo.com>
13065
13066         * check/Makefile.am:
13067         Enable valgrind check that should work fine now.
13068
13069         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
13070         * gst/gstqueue.c: (gst_queue_init):
13071         Fix memleaks in pad allocation.
13072
13073 2005-11-16  Andy Wingo  <wingo@pobox.com>
13074
13075         * gst/net/Makefile.am:
13076         * gst/net/gstnet.h: New part of core to hold network elements and
13077         objects. Put in core because it exposes API that applications want
13078         to use. The library is named libgstnet-tempname right now because
13079         of the existing libgstnet in gst-plugins-base. Solution is
13080         probably to rename the one in plugins-base; will file a bug for
13081         the freeze break.
13082
13083         * gst/net/gstnettimeprovider.c: 
13084         * gst/net/gstnettimeprovider.h: New object to export a GstClock's
13085         get_time call over the network.
13086
13087         * configure.ac: 
13088         * gst/Makefile.am (lib_LTLIBRARIES): Add gstnet to the build.
13089
13090         * check/Makefile.am:
13091         * check/net/gstnettimeprovider.c: A most minimal test suite. Will
13092         get additions shortly.
13093
13094 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
13095
13096         * gst/gstpad.c: (gst_pad_new_from_static_template):
13097         * gst/gstpad.h:
13098           add gst_pad_new_from_static_template functions
13099         * gst/check/gstcheck.c: (gst_check_setup_src_pad),
13100         (gst_check_setup_sink_pad):
13101         * gst/elements/gsttee.c: (gst_tee_init):
13102           and use them
13103
13104 2005-11-16  Wim Taymans  <wim@fluendo.com>
13105
13106         * gst/gstpad.c: (gst_pad_pause_task):
13107         Removed warning, it's not really an error either.
13108
13109 2005-11-16  Wim Taymans  <wim@fluendo.com>
13110
13111         * gst/base/gstbasetransform.c:
13112         (gst_base_transform_prepare_output_buf),
13113         (gst_base_transform_event):
13114         Check if the caps are NULL, this can happen if the element
13115         is shutting down and the pad caps are set to NULL.
13116
13117 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
13118
13119         * gst/elements/gsttee.c: (gst_tee_init):
13120           fix pad template leak in tee
13121
13122 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
13123
13124         * gst/glib-compat.c: (g_value_dup_gst_object):
13125         * gst/glib-compat.h:
13126         * gst/gstpad.c: (gst_pad_set_property):
13127           use gst_object_ref when setting the pad template; this will
13128           trigger the pad template leaks on GLib 2.6 and the slaves
13129
13130 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
13131
13132         * gst/glib-compat.c: (gst_flags_get_first_value):
13133         * gst/glib-compat.h:
13134         * gst/gstregistryxml.c:
13135           remove functions copied from GLib 2.6
13136
13137 2005-11-16  Michael Smith <msmith@fluendo.com>
13138
13139         * gst/Makefile.am:
13140           Don't link against VALGRIND_LIBS. That was always the wrong thing to
13141           do, but only breaks with newer valgrind versions. We're not a
13142           valgrind tool, we have no link-time dependencies on libcoregrind.
13143
13144 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
13145
13146         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
13147           some debug changes
13148         * gst/gstmessage.h:
13149           typo fixes
13150
13151 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
13152
13153         * gst/base/gstbasesrc.c: (gst_base_src_init):
13154         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
13155         * gst/gstqueue.c: (gst_queue_init):
13156         * gst/gstregistryxml.c: (load_feature):
13157           Revert all these unrefs, they don't even pass make check !
13158
13159 2005-11-15  Johan Dahlin  <johan@gnome.org>
13160
13161         * gst/base/gstbasesrc.c: (gst_base_src_init):
13162         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
13163         * gst/gstqueue.c: (gst_queue_init): 
13164         Free pad templates, fixes a couple of leaks.
13165
13166 2005-11-15  Daniel Fischer  <dan at f3c dot com>
13167
13168         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
13169
13170         * gst/gstpad.c: (gst_pad_get_property):
13171           GST_PAD_PAD_TEMPLATE(pad) gets the pad template, while
13172           GST_PAD_TEMPLATE(pad) does a cast. We want the former here.
13173           (#321452)
13174
13175 2005-11-15  Wim Taymans  <wim@fluendo.com>
13176
13177         * gst/gstevent.c:
13178         Small doc update.
13179
13180 2005-11-15  Andy Wingo  <wingo@pobox.com>
13181
13182         * gst/gstelement.c (gst_element_set_base_time): Add debugging.
13183
13184         * gst/gstpipeline.c (gst_pipeline_set_new_stream_time): Document
13185         using GST_CLOCK_TIME_NONE to disable base time management.
13186         (do_pipeline_seek, gst_pipeline_change_state): Don't reset stream
13187         time if it was NONE before.
13188         (gst_pipeline_change_state): Only munge the base time if
13189         stream_time != GST_CLOCK_TIME_NONE.
13190
13191         * check/gst/gstpipeline.c (test_base_time): Punt around the
13192         problem of the probe not being called, because that's not the
13193         issue I'm looking at. Add a check that setting stream_time to NONE
13194         disables base time management.
13195         
13196 2005-11-15  Wim Taymans  <wim@fluendo.com>
13197
13198         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
13199         segment_stop == -1 at startup.
13200
13201         * gst/base/gstbasetransform.c: (gst_base_transform_event),
13202         (gst_base_transform_change_state):
13203         Init segment values at start.
13204
13205 2005-11-15  Wim Taymans  <wim@fluendo.com>
13206
13207         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
13208         0 segment values are 0 in any format.
13209
13210         * gst/base/gstbasetransform.c: (gst_base_transform_event):
13211         * gst/base/gstbasetransform.h:
13212         Parse newsegment correctly in basetransform
13213
13214         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
13215         Sync to clock using updated segment values.
13216
13217 2005-11-15  Andy Wingo  <wingo@pobox.com>
13218
13219         * check/gst/gstpipeline.c (test_base_time): Add check that the
13220         base time and stream time are reset correctly.
13221
13222 2005-11-15  Wim Taymans  <wim@fluendo.com>
13223
13224         * docs/design/part-TODO.txt:
13225         Some more TODO items.
13226
13227 2005-11-15  Andy Wingo  <wingo@pobox.com>
13228
13229         * gst/elements/gstfakesrc.c (gst_fake_src_create): It's not an
13230         error if the user selected "no clock" as the clocking method.
13231
13232         * check/gst/gstpipeline.c (test_base_time): New test for buffer
13233         timestamps with live capture.
13234
13235         * gst/elements/gstfakesrc.c (gst_fake_src_create): If the datarate
13236         is 0 but we are a live source, timestamp the buffers using the
13237         element's clock.
13238
13239 2005-11-14  Stefan Kost  <ensonic@users.sf.net>
13240
13241         * docs/gst/gstreamer-sections.txt:
13242         * gst/gsterror.c:
13243         * gst/gstghostpad.c:
13244         * gst/gstobject.h:
13245         * gst/gstxml.c:
13246           more section docs
13247
13248 2005-11-14  Wim Taymans  <wim@fluendo.com>
13249
13250         * common/gst.supp:
13251           add suppressions from Wim's Debian machine
13252
13253 2005-11-14  Thomas Vander Stichele  <thomas at apestaart dot org>
13254
13255         * common/gst.supp:
13256           add suppressions from Andy's AMD64 Ubuntu machine
13257
13258 2005-11-14  Andy Wingo  <wingo@pobox.com>
13259
13260         * gst/gstpad.c (gst_pad_set_active): Change docs; parent's
13261         STATE_LOCK not necessary. Fixes #311489.
13262
13263         * gst/gsterror.c (FILE_A_BUG): Be polite *and* helpful. Fixes
13264         #305291.
13265
13266         * gst/gstindex.c (gst_index_add_object): Note in the docs that
13267         this function is not implemented.
13268
13269 2005-11-14  Julien MOUTTE  <julien@moutte.net>
13270
13271         * gst/base/gstbasetransform.c:
13272         (gst_base_transform_prepare_output_buf):
13273         Ref the source pad caps while we need them.
13274         Fixes (#321386)
13275
13276 2005-11-11  Wim Taymans  <wim@fluendo.com>
13277
13278         * docs/gst/gstreamer-sections.txt:
13279         Added some docs for GstCollectData.
13280
13281         * gst/base/gstadapter.c:
13282         Some small code example fix.
13283
13284         * gst/base/gstcollectpads.c:
13285         * gst/base/gstcollectpads.h:
13286         Document some more.
13287
13288 2005-11-11  Thomas Vander Stichele  <thomas at apestaart dot org>
13289
13290         * configure.ac: back to HEAD
13291
13292 === release 0.9.5 ===
13293
13294 2005-11-11  Thomas Vander Stichele <thomas at apestaart dot org>
13295
13296         * configure.ac:
13297           releasing 0.9.5, "Bike Lunch Day"
13298
13299 2005-11-11  Wim Taymans  <wim@fluendo.com>
13300
13301         * gst/gstbuffer.c: (_gst_buffer_copy):
13302         Copy more flags.
13303
13304         * gst/gstcaps.c: (gst_caps_is_equal):
13305         Fix some docs.
13306         Make _is_equal fast in the trivial cases.
13307
13308         * gst/gstminiobject.c:
13309         * gst/gstminiobject.h:
13310         More docs. Spifify .h file.
13311
13312         * gst/gstutils.c:
13313         Small doc update.
13314
13315 2005-11-11  Wim Taymans  <wim@fluendo.com>
13316
13317         * gst/base/gstbasetransform.c:
13318         (gst_base_transform_prepare_output_buf),
13319         (gst_base_transform_handle_buffer):
13320         Small cleanups.
13321         If we're processing a buffer and need to allocate an output
13322         buffer, we cannot accept a format change. If we did get a 
13323         format change, we have to alloc a buffer ourselves of the 
13324         right size.
13325
13326 2005-11-11  Wim Taymans  <wim@fluendo.com>
13327
13328         * gst/gstpad.c: (gst_pad_get_caps), (gst_pad_peer_get_caps):
13329         While checking the flag for reentrancy in the gstcaps function
13330         is nice to detect recursive invocations, it also makes it 
13331         impossible to call getcaps from multiple threads, which must be
13332         possible. So, checking for recursive calls has to go.
13333
13334 2005-11-11  Michael Smith <msmith@fluendo.com>
13335
13336         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
13337           Don't sync on buffers that fall partially outside our current
13338           segment. Prevents an assertion failure/abort playing some files.
13339
13340 2005-11-10  Andy Wingo  <wingo@pobox.com>
13341
13342         * check/gst/gstbin.c (test_message_state_changed_children): Style
13343         fix..
13344
13345         * gst/gstbus.c (poll_destroy, poll_func, gst_bus_poll): Implement
13346         gst_bus_poll with the signal watch. Ensures that poll and a signal
13347         watch see the same messages.
13348
13349         * check/gst/gstbus.c (test_watch_with_poll): New test, checks that
13350         a poll and a watch at the same time get the same messages.
13351
13352 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
13353
13354         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps):
13355         * gst/gstcaps.c: (gst_caps_intersect):
13356           Don't call gst_caps_do_simplify - it doesn't respect order of caps
13357           and it's not needed.
13358
13359 2005-11-10  Wim Taymans  <wim@fluendo.com>
13360
13361         * docs/design/part-TODO.txt:
13362         Updated todo.
13363
13364 2005-11-10  Wim Taymans  <wim@fluendo.com>
13365
13366         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
13367         * gst/base/gstbasesrc.c: (gst_base_src_wait),
13368         (gst_base_src_do_sync), (gst_base_src_get_range):
13369         Implement clock sync in base class.
13370
13371 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
13372
13373         patch by: Tim-Philipp Müller <tim at centricular dot net>
13374
13375         * gst/gststructure.c: (gst_structure_parse_field),
13376         (gst_structure_from_string):
13377           Forward-port a 0.8 patch to handle escaped spaces in structure string,
13378           so that gst_parse_launch() can deal with spaces in filtered link
13379           caps (fixes #164479)
13380         * check/gst/capslist.h:
13381         * check/gst/gststructure.c: (GST_START_TEST):
13382           add unit tests for this change
13383
13384 2005-11-10  Wim Taymans  <wim@fluendo.com>
13385
13386         * docs/gst/gstreamer-sections.txt:
13387         * gst/gstelement.c:
13388         * gst/gstelement.h:
13389         Fix docs, move some STATE macros to private.
13390
13391 2005-11-10  Wim Taymans  <wim@fluendo.com>
13392
13393         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
13394         Added check for bug #317341
13395
13396         * gst/gstbuffer.c:
13397         * gst/gstbuffer.h:
13398         Some more spiffifying.
13399
13400         * gst/gstghostpad.c: (gst_ghost_pad_do_link):
13401         Call peer linkfunction if we are a source pad. Totally fixes
13402         #317341
13403
13404         * gst/gstpad.c:
13405         Update docs, source pads should call the peer linkfunction
13406         so they can atomically perform the pad link.
13407
13408 2005-11-09  Wim Taymans  <wim@fluendo.com>
13409
13410         * gst/gstbuffer.c:
13411         * gst/gstbuffer.h:
13412         Uber-spiffy-spiffify some more.
13413
13414 2005-11-09  Tim-Philipp Müller  <tim at centricular dot net>
13415
13416         * gst/base/gstcollectpads.c: (gst_collectpads_add_pad):
13417         * gst/elements/gstfilesink.c: (gst_file_sink_init):
13418         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
13419         * gst/gstghostpad.c: (gst_ghost_pad_set_internal),
13420         (gst_ghost_pad_init), (gst_ghost_pad_new_notarget):
13421         * gst/gstpad.c: (gst_pad_init):
13422           Use GST_DEBUG_FUNCPTR() more extensively.
13423
13424 2005-11-09  Wim Taymans  <wim@fluendo.com>
13425
13426         * gst/gstobject.c: (gst_object_class_init):
13427         * gst/gstobject.h:
13428         Documentation fixes.
13429
13430 2005-11-09  Edward Hervey  <edward@fluendo.com>
13431
13432         * gst/gsttypefindfactory.c:
13433         Fix docs.
13434         
13435 2005-11-09  Edward Hervey  <edward@fluendo.com>
13436
13437         * gst/base/gsttypefindhelper.c:
13438         * gst/gsttypefind.c:
13439         * gst/gsttypefind.h:
13440         Fix docs.
13441
13442 2005-11-09  Wim Taymans  <wim@fluendo.com>
13443
13444         * gst/gstiterator.c:
13445         Fix revision data.
13446
13447         * gst/gsttask.c:
13448         * gst/gsttask.h:
13449         Fix docs.
13450
13451 2005-11-09  Wim Taymans  <wim@fluendo.com>
13452
13453         * gst/gstevent.h:
13454         * gst/gsturi.h:
13455         Fix docs.
13456
13457 2005-11-09  Wim Taymans  <wim@fluendo.com>
13458
13459         * docs/gst/gstreamer-sections.txt:
13460         Moved the message async delivery private lock and cond
13461         to the private section.
13462
13463         * gst/gstmessage.c:
13464         * gst/gstmessage.h:
13465         Fixed docs.
13466
13467 2005-11-09  Edward Hervey  <edward@fluendo.com>
13468
13469         * docs/gst/gstreamer-sections.txt:
13470         * gst/gsturi.c:
13471         * gst/gsturi.h:
13472         Document GstURIHandler
13473
13474 2005-11-09  Wim Taymans  <wim@fluendo.com>
13475
13476         * gst/gstiterator.c: (gst_iterator_fold), (gst_iterator_foreach),
13477         (gst_iterator_find_custom):
13478         * gst/gstiterator.h:
13479         Fix iterator docs.
13480
13481 2005-11-09  Wim Taymans  <wim@fluendo.com>
13482
13483         * gst/gstbin.h:
13484         Document another field.
13485
13486         * gst/gststructure.c:
13487         * gst/gststructure.h:
13488         Document.
13489
13490 2005-11-09  Wim Taymans  <wim@fluendo.com>
13491
13492         * gst/gstbin.h:
13493         Documented structs.
13494
13495 2005-11-09  Wim Taymans  <wim@fluendo.com>
13496
13497         * docs/gst/gstreamer-sections.txt:
13498         Added some new macros.
13499
13500         * gst/gstclock.c:
13501         * gst/gstclock.h:
13502         * gst/gstobject.h:
13503         Docs updates.
13504
13505 2005-11-09  Wim Taymans  <wim@fluendo.com>
13506
13507         * docs/design/part-TODO.txt:
13508         Some more items for the TODO
13509
13510         * gst/gstcaps.c:
13511         * gst/gstcaps.h:
13512         Document GstCaps.
13513
13514 2005-11-09  Andy Wingo  <wingo@pobox.com>
13515
13516         * gst/base/gstbasesink.c: Add the beginning of docs here -- have
13517         to work on something else now tho...
13518
13519         * gst/base/gstadapter.c: More adapter docs.
13520
13521         * gst/elements/gstfilesink.c (gst_file_sink_start) 
13522         (gst_file_sink_stop): New functions, replace the state change
13523         handler.
13524         (gst_file_sink_class_init): Hook up the start and stop functions.
13525         (gst_file_sink_base_init): Don't set the state change handler any
13526         more. It was a bit ugly too, being set from here...
13527         (gst_file_sink_get_property, gst_file_sink_set_property):
13528         Cleanups...
13529         (gst_file_sink_set_location): More robust check that doesn't call
13530         GST_STATE. Ugggggg.
13531
13532 2005-11-08  Tim-Philipp Müller  <tim at centricular dot net>
13533
13534         * gst/base/gstbasetransform.c: (gst_base_transform_event):
13535           Hold STREAM_LOCK while pushing newsegment or tag events as well.
13536
13537 2005-11-08  Wim Taymans  <wim@fluendo.com>
13538
13539         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
13540         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
13541         (gst_base_sink_chain), (gst_base_sink_change_state):
13542         * gst/base/gstbasesink.h:
13543         * gst/base/gstbasesrc.h:
13544         * gst/gstelement.h:
13545         * gst/gstevent.h:
13546         Avoid excessive typechecking in macros.
13547
13548         * gst/gstminiobject.c: (gst_mini_object_get_type),
13549         (gst_mini_object_init), (gst_mini_object_new),
13550         (gst_mini_object_free):
13551         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
13552         (gst_object_finalize):
13553         Remove cruft code, optimize alloc_trace.
13554
13555 2005-11-07  Thomas Vander Stichele  <thomas at apestaart dot org>
13556
13557         * docs/faq/gst-uninstalled:
13558           fix up PS1 for systems that try to reset it
13559
13560 2005-11-07  Wim Taymans  <wim@fluendo.com>
13561
13562         * gst/base/gstbasesrc.c: (gst_base_src_init),
13563         (gst_base_src_get_range):
13564         Set the segment_end to -1 initially. Fixed typefind.
13565
13566 2005-11-07  Tim-Philipp Müller  <tim at centricular dot net>
13567
13568         * gst/base/gstadapter.c:
13569           Debug category should be 'adapter', not 'GstAdapter'.
13570           
13571         * gst/base/gstcollectpads.c: (gst_collectpads_base_init),
13572         (gst_collectpads_class_init), (gst_collectpads_init),
13573         (gst_collectpads_peek), (gst_collectpads_pop),
13574         (gst_collectpads_event), (gst_collectpads_chain):
13575           Add debug category and some debugging output. Use boilerplate
13576           macros. Remove some extraneous words from docs.
13577
13578 2005-11-05  Andy Wingo  <wingo@pobox.com>
13579
13580         * gst/base/gstpushsrc.c: Shorten by 30% via use of boilerplate
13581         macro.
13582
13583 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
13584
13585         * docs/gst/gstreamer-sections.txt:
13586         * gst/gstcaps.h:
13587         * gst/gstinfo.c:
13588         * gst/gstminiobject.h:
13589         * gst/gstobject.h:
13590         * gst/gstutils.h:
13591           more docs added
13592
13593 2005-11-04  Wim Taymans  <wim@fluendo.com>
13594
13595         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
13596         Small update to stop at the configured segment_end
13597         position.
13598
13599 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
13600
13601         * gst/gstregistry.c:
13602         * gst/gstregistry.h:
13603           added missing docs
13604
13605 2005-11-04  Edward Hervey  <edward@fluendo.com>
13606
13607         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
13608         Check if we are doing a segment seek and have arrived at the
13609         end of that segment.
13610
13611 2005-11-04  Wim Taymans  <wim@fluendo.com>
13612
13613         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_sync_handler):
13614         Don't leak a mutex unlock in case of an error.
13615
13616         * gst/gstbus.h:
13617         Doc fixes.
13618
13619 2005-11-04  Wim Taymans  <wim@fluendo.com>
13620
13621         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_init),
13622         (gst_bus_post):
13623         Get the context to wake up only once.
13624
13625 2005-11-03  Wim Taymans  <wim@fluendo.com>
13626
13627         * check/states/sinks.c: (GST_START_TEST):
13628         Uncomment fixed check.
13629
13630         * docs/design/part-TODO.txt:
13631         Updated TODO.
13632
13633         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
13634         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
13635         (gst_base_sink_get_position):
13636         If we are going to PLAYING, post the right pending state
13637         when we post the intermediate paused message.
13638
13639         * gst/gstelement.c: (gst_element_continue_state),
13640         (gst_element_set_state_func), (gst_element_change_state):
13641         Don't post state changes that were between the same state
13642         and were not ASYNC.
13643
13644 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
13645
13646         * docs/gst/gstreamer-sections.txt:
13647         * gst/gstcaps.h:
13648         * gst/gstinfo.c:
13649         * gst/gstminiobject.h:
13650         * gst/gstobject.h:
13651         * gst/gstutils.h:
13652           more docs and doc style fixes
13653
13654 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
13655
13656         * docs/gst/gstreamer-sections.txt:
13657         * gst/gstelement.c:
13658         * gst/gstminiobject.c:
13659         doc fixes
13660
13661 2005-11-03  Andy Wingo  <wingo@pobox.com>
13662
13663         * check/states/sinks.c (test_livesrc_sink): Add checks that the
13664         state-changed messages actually have the right order and the right
13665         values.
13666
13667 2005-11-03  Wim Taymans  <wim@fluendo.com>
13668
13669         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
13670         Added some more checks. Specifically the case where NO_PREROLL
13671         elements are in the pipeline.
13672
13673         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
13674         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
13675         (gst_base_sink_get_position):
13676         Post READY->PAUSED state change messages too.
13677         Fix bug where VOID was posted as pending state...
13678
13679         * gst/gstbin.c: (gst_bin_recalc_state):
13680         use _element_continue_state() to continue the state change.
13681
13682         * gst/gstelement.c: (gst_element_continue_state),
13683         (gst_element_commit_state), (gst_element_set_state_func),
13684         (gst_element_change_state), (gst_element_change_state_func):
13685         Lots of state change cleanups, assign the STATE_RETURN in
13686         a new continue_state() function that also propagates the
13687         last return value from a state change to the app.
13688         Update some debug statements with proper category.
13689
13690 2005-11-03  Wim Taymans  <wim@fluendo.com>
13691
13692         * docs/design/part-events.txt:
13693         * docs/design/part-gstpipeline.txt:
13694         * docs/design/part-messages.txt:
13695         * docs/design/part-overview.txt:
13696         * docs/design/part-seeking.txt:
13697         * docs/design/part-states.txt:
13698         * docs/design/part-trickmodes.txt:
13699         * docs/manual/advanced-position.xml:
13700         Small docs updates.
13701
13702         * gst/gstobject.h:
13703         People think !! is ugly, this looks better.
13704
13705         * gst/gstpad.c: (gst_pad_set_blocked_async):
13706         Remove !! since it's fixed elsewhere now.
13707
13708 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
13709
13710         * gst/gstminiobject.h:
13711         * gst/gstobject.h:
13712           Add !! to _FLAG_IS_SET macros to make the result boolean.
13713
13714 2005-11-03  Edward Hervey  <edward@fluendo.com>
13715
13716         * gst/gstpad.c: (gst_pad_set_blocked_async):
13717         comparing a flag and a gboolean rarely returns coherent results...
13718         Added two characters (!!) to make that work correctly.
13719         
13720 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
13721
13722         * gst/gstbus.c: (gst_bus_class_init):
13723           Fix some typos.
13724           
13725         * gst/gstqueue.c: (gst_queue_loop):
13726           Don't assume a miniobject that isn't a buffer is an
13727           event (it could be that there is a refcounting
13728           problem somewhere and the pointer is stale and
13729           refers to an already destroyed miniobject).
13730
13731 2005-11-03  Julien MOUTTE  <julien@moutte.net>
13732
13733         * gst/gstpad.c: (gst_pad_alloc_buffer): Fix some typos.
13734
13735 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
13736
13737         * docs/manual/advanced-position.xml:
13738           Update seek example and explanations to current 0.9 API.
13739
13740         * gst/elements/gsttypefindelement.c:
13741         (gst_type_find_element_activate):
13742           Remove FIXME comment now that the found caps
13743           are unreffed.
13744
13745 2005-11-03  Thomas Vander Stichele  <thomas at apestaart dot org>
13746
13747         * gst/gstregistryxml.c: (load_feature):
13748           Add another GST_STR_NULL instance
13749
13750 2005-11-02  Edward Hervey  <edward@fluendo.com>
13751
13752         * gst/gstpad.c: (handle_pad_block):
13753         Follow-up to Wim's patch, solves deadlock for blocked and flushing pads
13754         
13755 2005-11-02  Wim Taymans  <wim@fluendo.com>
13756
13757         * gst/gstbin.c:
13758         Fix typo in docs.
13759
13760         * gst/gstelement.c: (gst_element_commit_state):
13761         Remove unused value.
13762
13763         * gst/gstiterator.c:
13764         Mention that the returned element is reffed in the docs.
13765
13766 2005-11-02  Wim Taymans  <wim@fluendo.com>
13767
13768         * gst/gstpad.c: (gst_pad_alloc_buffer), (handle_pad_block),
13769         (gst_pad_push), (gst_pad_push_event):
13770         Unlock blocked pads when they are flushed.
13771
13772 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
13773
13774         * docs/README:
13775         * docs/gst/gstreamer-sections.txt:
13776         * gst/gstbin.c:
13777           doc updates
13778         * gst/gstregistry.c: (gst_registry_scan_path_level):
13779           fix for a nasty little missed situation where an installed plug-in
13780           which was in the cache did not get overridden by an uninstalled one
13781           which was earlier in the plugin path because the newly created plugin
13782           for the uninstalled one (not in the registry) didn't get its
13783           ->registered set to TRUE
13784
13785 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
13786
13787         * gst/base/gstcollectpads.c: (gst_collectpads_set_function),
13788         (gst_collectpads_add_pad), (gst_collectpads_remove_pad),
13789         (gst_collectpads_is_active), (gst_collectpads_collect),
13790         (gst_collectpads_collect_range), (gst_collectpads_start),
13791         (gst_collectpads_stop), (gst_collectpads_peek),
13792         (gst_collectpads_pop), (gst_collectpads_available),
13793         (gst_collectpads_read), (gst_collectpads_flush):
13794           Guard public API with assertions.
13795         
13796         * gst/gstpad.c:
13797           Fix docs for gst_pad_set_link_function().
13798
13799 2005-11-02  Johan Dahlin  <johan@gnome.org>
13800
13801         * gst/elements/gsttypefindelement.c (gst_type_find_element_activate): 
13802         Unref found_caps after we used it.
13803
13804 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
13805
13806         * gst/base/gstcollectpads.c: (gst_collectpads_peek):
13807           Don't try to ref NULL.
13808
13809 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
13810
13811         * win32/common/config.h.in:
13812           provide a GST_FUNCTION that just gives a string for now
13813
13814 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
13815
13816         * win32/common/gstenumtypes.c: (register_gst_object_flags),
13817         (gst_object_flags_get_type), (register_gst_bin_flags),
13818         (gst_bin_flags_get_type), (register_gst_buffer_flag),
13819         (gst_buffer_flag_get_type), (register_gst_bus_flags),
13820         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
13821         (gst_bus_sync_reply_get_type), (register_gst_clock_return),
13822         (gst_clock_return_get_type), (register_gst_clock_entry_type),
13823         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
13824         (gst_clock_flags_get_type), (register_gst_state),
13825         (gst_state_get_type), (register_gst_state_change_return),
13826         (gst_state_change_return_get_type), (register_gst_state_change),
13827         (gst_state_change_get_type), (register_gst_element_flags),
13828         (gst_element_flags_get_type), (register_gst_core_error),
13829         (gst_core_error_get_type), (register_gst_library_error),
13830         (gst_library_error_get_type), (register_gst_resource_error),
13831         (gst_resource_error_get_type), (register_gst_stream_error),
13832         (gst_stream_error_get_type), (register_gst_event_type),
13833         (gst_event_type_get_type), (register_gst_seek_type),
13834         (gst_seek_type_get_type), (register_gst_seek_flags),
13835         (gst_seek_flags_get_type), (register_gst_format),
13836         (gst_format_get_type), (register_gst_index_certainty),
13837         (gst_index_certainty_get_type), (register_gst_index_entry_type),
13838         (gst_index_entry_type_get_type),
13839         (register_gst_index_lookup_method),
13840         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
13841         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
13842         (gst_index_resolver_method_get_type), (register_gst_index_flags),
13843         (gst_index_flags_get_type), (register_gst_debug_level),
13844         (gst_debug_level_get_type), (register_gst_debug_color_flags),
13845         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
13846         (gst_iterator_result_get_type), (register_gst_iterator_item),
13847         (gst_iterator_item_get_type), (register_gst_message_type),
13848         (gst_message_type_get_type), (register_gst_mini_object_flags),
13849         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
13850         (gst_pad_link_return_get_type), (register_gst_flow_return),
13851         (gst_flow_return_get_type), (register_gst_activate_mode),
13852         (gst_activate_mode_get_type), (register_gst_pad_direction),
13853         (gst_pad_direction_get_type), (register_gst_pad_flags),
13854         (gst_pad_flags_get_type), (register_gst_pad_presence),
13855         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
13856         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
13857         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
13858         (gst_plugin_error_get_type), (register_gst_plugin_flags),
13859         (gst_plugin_flags_get_type), (register_gst_rank),
13860         (gst_rank_get_type), (register_gst_query_type),
13861         (gst_query_type_get_type), (register_gst_tag_merge_mode),
13862         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
13863         (gst_tag_flag_get_type), (register_gst_task_state),
13864         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
13865         (gst_alloc_trace_flags_get_type),
13866         (register_gst_type_find_probability),
13867         (gst_type_find_probability_get_type), (register_gst_uri_type),
13868         (gst_uri_type_get_type), (register_gst_parse_error),
13869         (gst_parse_error_get_type):
13870         * win32/common/gstversion.h:
13871           update win32 copies
13872
13873 2005-11-01  Luca Ognibene  <luogni@tin.it>
13874
13875         * gst/gst.c:
13876           fix docs. popt is dead, long live GOption.
13877
13878 2005-10-31  Wim Taymans  <wim@fluendo.com>
13879
13880         * gst/gstbuffer.h:
13881         Small doc fix.
13882
13883 2005-10-31  Andy Wingo  <wingo@pobox.com>
13884
13885         * Boo!
13886
13887         * gst/gstqueue.c (gst_queue_chain): Fix downstream leaky mode.
13888
13889         * gst/gstobject.c (gst_object_dispatch_properties_changed): No
13890         need to serialize property notifications on GLib 2.8. GLib 2.6 has
13891         the possibility of deadlocks here if code calling notify() or
13892         set() has a lock that can be taken in another notify handler (ABBA
13893         with class lock and e.g. python GIL state lock).
13894
13895 2005-10-28  Julien MOUTTE  <julien@moutte.net>
13896
13897         * gst/gstbus.c: Doc updates.
13898
13899 2005-10-28  Wim Taymans  <wim@fluendo.com>
13900
13901         * docs/design/part-TODO.txt:
13902         * gst/gstiterator.c:
13903         * gst/gstsystemclock.c:
13904         * gst/gstsystemclock.h:
13905         Doc updates.
13906
13907 2005-10-28  Edward Hervey  <edward@fluendo.com>
13908
13909         * docs/gst/gstreamer-docs.sgml:
13910         * docs/gst/gstreamer-sections.txt:
13911         the GstURIType documentation page is private, it only defines GstURIType
13912         which should be defined in the GstURIHandler page
13913         
13914 2005-10-28  Thomas Vander Stichele  <thomas at apestaart dot org>
13915
13916         * gst/gstbin.c: (gst_bin_class_init):
13917         * gst/gstbin.h:
13918         * gst/gstutils.c:
13919         Documentation updates.
13920
13921 2005-10-28  Wim Taymans  <wim@fluendo.com>
13922
13923         * docs/gst/gstreamer-sections.txt:
13924         * gst/gstclock.c:
13925         * gst/gstclock.h:
13926         Documented the clocks.
13927
13928 2005-10-28  Stefan Kost  <ensonic@users.sf.net>
13929
13930         * docs/gst/gstreamer-sections.txt:
13931           move some macros to private sections
13932         * gst/gstminiobject.c:
13933         * gst/gstminiobject.h:
13934           add descriptions provided by ds and some more
13935         * gst/gstpad.h:
13936           mark macro as to be removed
13937
13938 2005-10-28  Wim Taymans  <wim@fluendo.com>
13939
13940         * docs/design/part-TODO.txt:
13941         Add an item to TODO.
13942
13943         * gst/gstiterator.c: (gst_iterator_fold),
13944         (gst_iterator_find_custom):
13945         * gst/gstiterator.h:
13946         Add iterator docs.
13947
13948 2005-10-28  Wim Taymans  <wim@fluendo.com>
13949
13950         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
13951         (gst_base_transform_init):
13952         Don't leak class.
13953
13954         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_loop):
13955         An EOS event marks the queue as completely filled.
13956
13957 2005-10-27  Wim Taymans  <wim@fluendo.com>
13958
13959         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
13960         (gst_base_sink_do_sync), (gst_base_sink_get_position):
13961         Some more debugging.
13962
13963         * gst/base/gstbasetransform.c: (gst_base_transform_finalize),
13964         (gst_base_transform_init), (gst_base_transform_buffer_alloc),
13965         (gst_base_transform_event), (gst_base_transform_getrange),
13966         (gst_base_transform_chain):
13967         * gst/base/gstbasetransform.h:
13968         Fix debugging,
13969         Protect transform and concurrent buffer alloc with a new lock.
13970         Try not to break ABI/API.
13971
13972 2005-10-27  Wim Taymans  <wim@fluendo.com>
13973
13974         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
13975         (gst_base_src_init), (gst_base_src_query),
13976         (gst_base_src_default_newsegment),
13977         (gst_base_src_configure_segment), (gst_base_src_do_seek),
13978         (gst_base_src_send_event), (gst_base_src_event_handler),
13979         (gst_base_src_pad_get_range), (gst_base_src_loop),
13980         (gst_base_src_unlock), (gst_base_src_default_negotiate),
13981         (gst_base_src_start), (gst_base_src_deactivate),
13982         (gst_base_src_activate_push), (gst_base_src_change_state):
13983         Move some stuff around and cleanup things.
13984
13985 2005-10-27  Tim-Philipp Müller  <tim at centricular dot net>
13986
13987         * gst/base/gstbasesrc.c: (gst_base_src_query):
13988           Add missing break statements.
13989
13990 2005-10-27  Wim Taymans  <wim@fluendo.com>
13991
13992         * check/gst/gstbin.c: (GST_START_TEST):
13993         An extra refcount is taken in basesrc.
13994
13995         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
13996         (gst_base_src_get_range), (gst_base_src_pad_get_range),
13997         (gst_base_src_loop):
13998         Small cleanups, check for flushing after being unlocked from the 
13999         LIVE_LOCK. take refcounts correctly (not yet everywhere).
14000         Don't send out EOS when going to READY.
14001
14002 2005-10-27  Wim Taymans  <wim@fluendo.com>
14003
14004         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
14005         (gst_base_sink_get_position):
14006         Some more debug.
14007
14008         * gst/gstbin.c: (message_check), (bin_replace_message),
14009         (bin_remove_messages), (is_eos), (gst_bin_add_func),
14010         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
14011         (bin_query_duration_init), (bin_query_duration_fold),
14012         (bin_query_duration_done), (bin_query_generic_fold),
14013         (gst_bin_query):
14014         * tools/gst-launch.c: (main):
14015         Remove old option.
14016
14017 2005-10-26  Stefan Kost  <ensonic@users.sf.net>
14018
14019         * examples/controller/audio-example.c: (main):
14020         * examples/queue/queue.c: (event_loop):
14021         * gst/base/gstbasetransform.h:
14022         * gst/gstelement.c: (gst_element_send_event):
14023         * gst/gstevent.h:
14024         * gst/gstpad.c: (gst_pad_send_event):
14025           fixing examples
14026           fixing docs typos
14027           changing log priority in error situations
14028
14029 2005-10-25  Wim Taymans  <wim@fluendo.com>
14030
14031         * gst/gstbin.c: (message_check), (bin_replace_message),
14032         (bin_remove_messages), (is_eos), (gst_bin_add_func),
14033         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
14034         (bin_query_duration_init), (bin_query_duration_fold),
14035         (bin_query_duration_done), (bin_query_generic_fold),
14036         (gst_bin_query):
14037         Some doc and debug updates.
14038         Cache previously requested query DURATION for speed. invalidate
14039         cached duration if element posts a DURATION message.
14040
14041 2005-10-25  Wim Taymans  <wim@fluendo.com>
14042
14043         * docs/design/part-TODO.txt:
14044         Update TODO.
14045
14046         * gst/gstbin.c: (message_check), (bin_replace_message),
14047         (bin_remove_messages), (is_eos), (gst_bin_add_func),
14048         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
14049         (bin_query_duration_init), (bin_query_duration_fold),
14050         (bin_query_duration_done), (bin_query_generic_fold),
14051         (gst_bin_query):
14052         Handle SEGMENT_START/DONE messages correctly.
14053         More evolved query algorithm that handles duration queries
14054         correctly.
14055
14056         * gst/gstelement.c: (gst_element_send_event), (gst_element_query),
14057         (gst_element_get_state_func), (gst_element_abort_state),
14058         (gst_element_commit_state), (gst_element_lost_state):
14059         Some more debugging.
14060
14061         * gst/gstmessage.h:
14062         Added doc.
14063
14064 2005-10-25  Wim Taymans  <wim@fluendo.com>
14065
14066         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
14067         Don't use invalid stream_time.
14068
14069         * gst/gstevent.c: (gst_event_new_newsegment):
14070         stream_time in newsegment cannot be undefined.
14071
14072 2005-10-24  Wim Taymans  <wim@fluendo.com>
14073
14074         * gst/gstbus.c:
14075         Doc fix.
14076
14077         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
14078         (gst_queue_loop):
14079         Fix potential deadlock when QUEUE_LOCK is taken before STREAM_LOCK.
14080
14081 2005-10-24  Stefan Kost  <ensonic@users.sf.net>
14082
14083         * docs/libs/tmpl/gstdparam.sgml:
14084         * docs/libs/tmpl/gstdplinint.sgml:
14085         * docs/libs/tmpl/gstdpman.sgml:
14086         * docs/libs/tmpl/gstdpsmooth.sgml:
14087         * docs/libs/tmpl/gstunitconvert.sgml:
14088           these are obsolete
14089
14090 2005-10-24  Thomas Vander Stichele  <thomas at apestaart dot org>
14091
14092         * configure.ac:
14093           back to HEAD
14094
14095 === release 0.9.4 ===
14096
14097 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
14098
14099         * configure.ac:
14100           releasing 0.9.4, "Tyrannosaurus Rex"
14101
14102 2005-10-23  Tim-Philipp Müller  <tim at centricular dot net>
14103
14104         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
14105         (gst_file_sink_get_current_offset):
14106           Use fseeko() and ftello() if available. When falling back on
14107           lseek() to get the current offset, fflush() first to make sure
14108           everything is up-to-date and we get the right offset.
14109
14110 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
14111
14112         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
14113         * gst/base/gstbasesrc.c: (gst_base_src_loop):
14114         * gst/gsterror.c: (_gst_stream_errors_init):
14115         * gst/gsterror.h:
14116         * gst/gstqueue.c: (gst_queue_loop):
14117         * po/POTFILES.in:
14118           remove prematurely added error category and clean up the instances
14119
14120 2005-10-21  Wim Taymans  <wim@fluendo.com>
14121
14122         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
14123         (gst_base_sink_get_position), (gst_base_sink_query),
14124         (gst_base_sink_change_state):
14125         Simply set the right flag when going to playing, that's all
14126         we need to do instead of calling a function inside the object
14127         lock (that could take the lock as well and deadlock)
14128
14129 2005-10-21  Wim Taymans  <wim@fluendo.com>
14130
14131         * gst/base/gstbasesrc.c: (gst_base_src_do_seek),
14132         (gst_base_src_loop):
14133         Don't warn, the peer element knows what to do best when
14134         the seek failed, it might try something else.
14135
14136 2005-10-21  Wim Taymans  <wim@fluendo.com>
14137
14138         * gst/base/gstbasesrc.c: (gst_base_src_init),
14139         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
14140         Fix seeking.
14141
14142 2005-10-21  Wim Taymans  <wim@fluendo.com>
14143
14144         * docs/design/part-segments.txt:
14145         More docs.
14146
14147         * gst/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
14148         Correctly set caps, even on the subbufer.
14149
14150 2005-10-21  Wim Taymans  <wim@fluendo.com>
14151
14152         * docs/gst/gstreamer-docs.sgml:
14153         * docs/gst/gstreamer-sections.txt:
14154         * gst/gstelement.h:
14155         * gst/gstevent.c:
14156         * gst/gstevent.h:
14157         * gst/gstmessage.h:
14158         * gst/gstpad.h:
14159         * gst/gstparse.h:
14160         * gst/gsttask.c: (gst_task_finalize), (gst_task_func):
14161         * gst/gsttask.h:
14162         * gst/gstutils.c:
14163         * gst/gstutils.h:
14164         And 2% more doc coverage.
14165
14166 2005-10-21  Andy Wingo  <wingo@pobox.com>
14167
14168         * gst/base/gstbasesrc.c (gst_base_src_query): Clean up percent
14169         position reporting.
14170
14171 2005-10-20  Wim Taymans  <wim@fluendo.com>
14172
14173         * gst/gsterror.c: (gst_error_get_message):
14174         * gst/gstparse.h:
14175         * gst/gstquery.h:
14176         * gst/gststructure.c:
14177         * gst/gsttrace.c:
14178         * gst/gstutils.c:
14179         More docs.
14180
14181 2005-10-20  Wim Taymans  <wim@fluendo.com>
14182
14183         * gst/gstbuffer.h:
14184         * gst/gstpad.c:
14185         * gst/gstparse.c:
14186         Another 1% more coverage.
14187
14188 2005-10-20  Wim Taymans  <wim@fluendo.com>
14189
14190         * docs/gst/gstreamer-sections.txt:
14191         * gst/gstelement.c: (gst_element_get_state_func),
14192         (gst_element_abort_state), (gst_element_commit_state),
14193         (gst_element_lost_state):
14194         * gst/gstevent.h:
14195         * gst/gstquery.c: (gst_query_set_position),
14196         (gst_query_parse_position), (gst_query_set_duration),
14197         (gst_query_parse_duration), (gst_query_new_convert):
14198         * gst/gstutils.c:
14199         Yay! 1% more docs coverage.
14200
14201 2005-10-20  Wim Taymans  <wim@fluendo.com>
14202
14203         * gst/gstpad.h:
14204         * gst/gstquery.c: (gst_query_set_position),
14205         (gst_query_parse_position), (gst_query_set_duration),
14206         (gst_query_parse_duration), (gst_query_new_convert):
14207         * gst/gstquery.h:
14208         * gst/gstutils.c: (gst_element_query_convert):
14209         * gst/gstutils.h:
14210         Docs and consistency fixes.
14211
14212 2005-10-20  Wim Taymans  <wim@fluendo.com>
14213
14214         * gst/gsttask.c:
14215         * gst/gsttask.h:
14216         More docs.
14217
14218 2005-10-20  Wim Taymans  <wim@fluendo.com>
14219
14220         * gst/gstbin.c: (message_check), (bin_replace_message),
14221         (bin_remove_messages), (is_eos), (gst_bin_add_func),
14222         (update_degree), (gst_bin_sort_iterator_next),
14223         (gst_bin_change_state_func), (gst_bin_dispose), (bin_bus_handler):
14224         Reworked the message handling a bit, cache the messages instead of
14225         only the senders. alows us to do more in the future.
14226
14227 2005-10-20  Wim Taymans  <wim@fluendo.com>
14228
14229         * docs/design/part-TODO.txt:
14230         Update TODO
14231
14232         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
14233         (gst_base_sink_query):
14234         Don't use clock time to report position when in EOS.
14235
14236 2005-10-20  Tim-Philipp Müller  <tim at centricular dot net>
14237
14238         * tools/gst-inspect.c: (print_interfaces),
14239         (print_element_properties_info), (print_element_info):
14240           Fix interface output with gst-inspect -a; don't print
14241           newlines after double/float properties.
14242
14243 2005-10-20  Wim Taymans  <wim@fluendo.com>
14244
14245         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
14246         (gst_base_sink_query):
14247         Speed up current position calculation.
14248
14249         * gst/base/gstbasesrc.c: (gst_base_src_query),
14250         (gst_base_src_default_newsegment):
14251         Correctly set stream position in newsegment.
14252
14253         * gst/gstbin.c: (gst_bin_add_func), (add_to_queue),
14254         (update_degree), (gst_bin_sort_iterator_next),
14255         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free):
14256         * gst/gstmessage.c: (gst_message_new_custom):
14257         Clean up debugging info
14258
14259         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
14260         (gst_queue_loop), (gst_queue_handle_src_query):
14261         Pause task faster.
14262
14263 2005-10-19  Wim Taymans  <wim@fluendo.com>
14264
14265         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
14266         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
14267         Fix query handling again.
14268
14269 2005-10-19  Wim Taymans  <wim@fluendo.com>
14270
14271         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
14272         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
14273         * gst/base/gstbasesrc.c: (gst_base_src_query):
14274         * gst/elements/gstfilesink.c: (gst_file_sink_query):
14275         * gst/elements/gsttypefindelement.c:
14276         (gst_type_find_handle_src_query), (find_element_get_length),
14277         (gst_type_find_element_activate):
14278         API change fix.
14279
14280         * gst/gstquery.c: (gst_query_new_position),
14281         (gst_query_set_position), (gst_query_parse_position),
14282         (gst_query_new_duration), (gst_query_set_duration),
14283         (gst_query_parse_duration), (gst_query_set_segment),
14284         (gst_query_parse_segment):
14285         * gst/gstquery.h:
14286         Bundling query position/duration is not a good idea since duration
14287         does not change much and we don't want to recalculate it for every
14288         position query, so they are separated again..
14289         Base value in segment query is not needed.
14290
14291         * gst/gstqueue.c: (gst_queue_handle_src_query):
14292         * gst/gstutils.c: (gst_element_query_position),
14293         (gst_element_query_duration), (gst_pad_query_position),
14294         (gst_pad_query_duration):
14295         * gst/gstutils.h:
14296         Updates for query API change.
14297         Added some docs here and there.
14298
14299 2005-10-19  Thomas Vander Stichele  <thomas at apestaart dot org>
14300
14301         * check/gst/gstbin.c: (GST_START_TEST):
14302         * check/gst/gstghostpad.c: (GST_START_TEST):
14303         * check/pipelines/cleanup.c: (GST_START_TEST):
14304           wait on thread to die so we can check refcount correctly
14305
14306 2005-10-18  Wim Taymans  <wim@fluendo.com>
14307
14308         * check/pipelines/stress.c: (GST_START_TEST):
14309         Make check a little more time consuming.
14310
14311 2005-10-18  Wim Taymans  <wim@fluendo.com>
14312
14313         * check/Makefile.am:
14314         * check/pipelines/stress.c: (GST_START_TEST),
14315         (simple_launch_lines_suite), (main):
14316         Small state change torture test.
14317
14318         * docs/design/part-states.txt:
14319         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
14320         (gst_base_sink_handle_object), (gst_base_sink_event), (do_playing),
14321         (gst_base_sink_change_state):
14322         Never take state lock from streaming thread, clean up ugly
14323         hacks. Unfortunatly core does not yet support nice ways to
14324         async commit state.
14325         
14326         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_recalc_state),
14327         (bin_bus_handler):
14328         Start state recalc if a STATE_DIRTY message is posted, but only
14329         on the toplevel bin.
14330
14331         * gst/gstelement.c: (gst_element_sync_state_with_parent),
14332         (gst_element_get_state_func), (gst_element_abort_state),
14333         (gst_element_commit_state), (gst_element_lost_state),
14334         (gst_element_set_state_func), (gst_element_change_state):
14335         * gst/gstelement.h:
14336         State variables are now protected with the LOCK, the state
14337         lock is only used to serialize _set_state().
14338
14339 2005-10-18  Wim Taymans  <wim@fluendo.com>
14340
14341         * check/gst/gstbin.c: (GST_START_TEST):
14342         * check/gst/gstmessage.c: (GST_START_TEST):
14343         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
14344         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_recalc_func),
14345         (bin_bus_handler):
14346         * gst/gstelement.c: (gst_element_abort_state),
14347         (gst_element_commit_state), (gst_element_lost_state):
14348         * gst/gstmessage.c: (gst_message_new_state_changed),
14349         (gst_message_new_state_dirty), (gst_message_new_segment_start),
14350         (gst_message_new_segment_done), (gst_message_new_duration),
14351         (gst_message_parse_state_changed),
14352         (gst_message_parse_segment_start),
14353         (gst_message_parse_segment_done), (gst_message_parse_duration):
14354         * gst/gstmessage.h:
14355         * tools/gst-launch.c: (event_loop):
14356         Seriously, this is better than a previous commit as we only need
14357         to notify the fact that an element changed state in a streaming
14358         thread, marking the state of the parents dirty, hence the 
14359         STATE_DIRTY message instead of abusing a boolean in a STATE_CHANGE
14360         message.
14361
14362 2005-10-18  Wim Taymans  <wim@fluendo.com>
14363
14364         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
14365         (gst_bin_recalc_func):
14366         * gst/gstelement.c: (gst_element_set_clock),
14367         (gst_element_abort_state), (gst_element_lost_state):
14368         Cleanups, prepare for state change fixes.
14369
14370 2005-10-18  Wim Taymans  <wim@fluendo.com>
14371
14372         * gst/gstbin.h:
14373         * gst/gstelement.c: (gst_element_class_init),
14374         (gst_element_set_state), (gst_element_set_state_func):
14375         * gst/gstelement.h:
14376         Pending ABI changes.
14377         GThreadPool in GstBinClass to monitor async state changes.
14378         state_cookie in GstElement to detect concurrent gst/set state.
14379         set_state is now virtual too in case a very complicated element
14380         has to be constructed.
14381
14382 2005-10-18  Wim Taymans  <wim@fluendo.com>
14383
14384         * check/gst/gstbin.c: (GST_START_TEST):
14385         * check/gst/gstmessage.c: (GST_START_TEST):
14386         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
14387         * gst/gstbin.c: (bin_bus_handler):
14388         * gst/gstelement.c: (gst_element_commit_state),
14389         (gst_element_lost_state):
14390         * gst/gstmessage.c: (gst_message_new_state_changed),
14391         (gst_message_new_segment_start), (gst_message_new_segment_done),
14392         (gst_message_new_duration), (gst_message_parse_state_changed),
14393         (gst_message_parse_segment_start),
14394         (gst_message_parse_segment_done), (gst_message_parse_duration):
14395         * gst/gstmessage.h:
14396         * tools/gst-launch.c: (event_loop):
14397         Make messages future proof.
14398         state-change gets a flag if it was a message comming from the
14399         streaming thread.
14400         segment-start/stop can also be specified in other formats.
14401         A message to notify an app that a pipeline changed playback 
14402         duration.
14403         Also fix a GstMessage leak in -launch
14404
14405 2005-10-18  Andy Wingo  <wingo@pobox.com>
14406
14407         * gst/gstelement.c (gst_element_dispose): More helpful message.
14408
14409 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
14410
14411         reviewed by: <delete if not using a buddy>
14412
14413         * common/gtk-doc.mak:
14414
14415 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
14416
14417         * gst/gstregistry.c: (gst_registry_scan_path_level):
14418           unref a plug-in we get that was already initialized
14419
14420 2005-10-18  Stefan Kost  <ensonic@users.sf.net>
14421
14422         * docs/gst/gstreamer-sections.txt:
14423         * docs/libs/gstreamer-libs-sections.txt:
14424         * gst/gstelement.h:
14425           add new api entries
14426           hide internal macro
14427
14428 2005-10-17  Andy Wingo  <wingo@pobox.com>
14429
14430         * gst/base/gstcollectpads.c (gst_collectpads_chain): Slight
14431         cleanup.
14432
14433         * gst/Makefile.am (gstenumtypes.c): Threadsafe now.
14434
14435         * gst/gstevent.c (gst_event_new, gst_event_finalize): LOG.
14436
14437         * gst/gstelement.c (gst_element_get_state_func): s/INFO/DEBUG/.
14438         (gst_element_get_state_func): Better debug message.
14439         (gst_element_commit_state): s/INFO/DEBUG/.
14440         (gst_element_lost_state, gst_element_change_state): 
14441
14442         * gst/gstmessage.c (gst_message_init): s/INFO/LOG/.
14443         (gst_message_new_custom): s/INFO/LOG/.
14444
14445 2005-10-17  Michael Smith <msmith@fluendo.com>
14446
14447         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
14448           Check if end time is valid using end time, not start time.
14449
14450 2005-10-17  Stefan Kost  <ensonic@users.sf.net>
14451
14452         * check/gst-libs/controller.c: (GST_START_TEST),
14453         (gst_controller_suite):
14454         * libs/gst/controller/gstcontroller.c:
14455         (gst_controlled_property_set_interpolation_mode):
14456         * libs/gst/controller/gstcontroller.h:
14457         * libs/gst/controller/gstinterpolation.c:
14458         * testsuite/controller/.cvsignore:
14459         * testsuite/controller/Makefile.am:
14460         * testsuite/controller/interpolator.c:
14461           merge controller testsuites
14462           fix broken tests
14463           remove mem-chunk from docs
14464
14465 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
14466
14467         * gst/gstmemchunk.c:
14468         * gst/gstmemchunk.h:
14469         * gst/gsttrashstack.c:
14470         * gst/gsttrashstack.h:
14471           out.  get out.  you're fired.  to the Attic !
14472
14473 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
14474
14475         * gst/gstcaps.c: (gst_caps_intersect):
14476           fix signedness issues in a (hopefully) correct way
14477         * gst/gstelement.c: (gst_element_pads_activate):
14478           some debugging
14479         * gst/gstobject.c: (gst_object_set_parent):
14480           some debugging
14481
14482 2005-10-17  Julien MOUTTE  <julien@moutte.net>
14483
14484         * gst/gstvalue.h: Fix prototypes.
14485
14486 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
14487
14488         * docs/gst/gstreamer-sections.txt:
14489         * gst/gst.c: (gst_version_string):
14490         * gst/gst.h:
14491         * gst/gstversion.h.in:
14492         * win32/common/libgstreamer.def:
14493           add gst_version_string ()
14494
14495 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
14496
14497         * configure.ac:
14498           clean up further
14499         * gst/gst.c: (init_post):
14500         * win32/common/config.h.in:
14501           it's PLUGINDIR now
14502         * gst/gstcaps.c: (gst_caps_intersect):
14503           use gint64, the range could be bigger than a guint
14504
14505 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
14506
14507         * gst/gstclock.h:
14508           document potential problem in 2038
14509
14510 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
14511
14512         * gst/gstcaps.c: (gst_caps_intersect):
14513           Fix guint j diving under 0
14514
14515 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
14516
14517         * configure.ac:
14518         * win32/common/config.h:
14519         * win32/common/config.h.in:
14520           check for process.h, declares getpid() on Windows
14521         * gst/gstinfo.c:
14522           include process.h if we have it
14523         * gst/gstmemchunk.c: (populate), (gst_mem_chunk_new):
14524         * gst/gstmemchunk.h:
14525           fix signedness issues
14526         * win32/common/libgstreamer.def:
14527           fix get_type's
14528
14529 2005-10-16  Julien MOUTTE  <julien@moutte.net>
14530
14531         * gst/gstcaps.c: (gst_caps_intersect): Fix a bad bug with a simple
14532         fix. Because of unsigned ints, caps intersection was going nuts and
14533         trying to access structures with G_MAXUINT index. That fixes
14534         videotestsrc ! ffmpegcolorspace ! fakesink
14535         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked): logs
14536         consistency.
14537
14538 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
14539
14540         * configure.ac:
14541           use the gettext macro
14542         * gst/elements/gstelements.c:
14543         * gst/gst.c:
14544         * gst/indexers/gstindexers.c:
14545           update for GST_PACKAGE_NAME, GST_PACKAGE_ORIGIN
14546         * win32/common/config.h:
14547           updated config.h
14548         * win32/common/config.h.in:
14549           add the template to generate config.h
14550         * win32/common/gstenumtypes.c:
14551         * win32/common/gstversion.h:
14552           updated copies
14553
14554 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
14555
14556         * gst/gst.c: (gst_version):
14557         * gst/gstversion.h.in:
14558           add the nano
14559
14560 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
14561
14562         * gst/gstevent.h:
14563           Oops, add missing closing bracket.
14564
14565 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
14566
14567         * configure.ac:
14568           use common m4's for argument checking
14569
14570 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
14571
14572         * docs/gst/gstreamer-sections.txt:
14573         * gst/gstevent.h:
14574           Add GST_EVENT_TYPE_NAME() macro.
14575
14576 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
14577
14578         * gst/gstinfo.c:
14579         * gst/gstpluginfeature.c:
14580         * gst/gsttask.c:
14581           privatize more symbols
14582
14583 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
14584
14585         * configure.ac:
14586           add srcdir, builddir includes to GST_ALL_CFLAGS, since
14587           everything that uses GStreamer API should have the includes
14588
14589 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
14590
14591         * docs/gst/gstreamer-sections.txt:
14592         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
14593         * gst/gstvalue.h:
14594           give each value a _get_type, removes the DATA exports
14595
14596 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
14597
14598         * gst/gst.c:
14599         * gst/gst.h:
14600           remove _gst_registry_auto_load, not used anymore
14601         * gst/gstbin.c: (gst_bin_get_type):
14602         * gst/gstbin.h:
14603         * gst/gstelement.c: (gst_element_get_type):
14604         * gst/gstelement.h:
14605         * gst/gstobject.c: (gst_object_get_type):
14606         * gst/gstobject.h:
14607         * gst/gstpad.c: (gst_pad_get_type):
14608         * gst/gstpad.h:
14609           make _get_type functions similar, fixes data export from library
14610
14611 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
14612
14613         * configure.ac:
14614           correctly make conditionals
14615         * gst/elements/Makefile.am:
14616         * gst/elements/gstelements.c:
14617           fix typo causing fdsrc not to build
14618
14619 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
14620
14621         * testsuite/Makefile.am:
14622         * testsuite/bytestream/.cvsignore:
14623         * testsuite/bytestream/Makefile.am:
14624         * testsuite/bytestream/filepadsink.c:
14625         * testsuite/bytestream/gstbstest.c:
14626         * testsuite/bytestream/test1.c:
14627         * testsuite/bytestream/testfile1:
14628         * testsuite/caps/normalisation.c:
14629         * testsuite/caps/random.c: (main):
14630         * testsuite/cleanup/.cvsignore:
14631         * testsuite/cleanup/Makefile.am:
14632         * testsuite/cleanup/cleanup1.c:
14633         * testsuite/cleanup/cleanup2.c:
14634         * testsuite/cleanup/cleanup3.c:
14635         * testsuite/cleanup/cleanup4.c:
14636         * testsuite/cleanup/cleanup5.c:
14637         * testsuite/controller/interpolator.c:
14638         * testsuite/debug/printf_extension.c: (main):
14639         * testsuite/elements/tee.c:
14640         * testsuite/negotiation/.cvsignore:
14641         * testsuite/negotiation/Makefile.am:
14642         * testsuite/negotiation/pad_link.c:
14643         * testsuite/pad/Makefile.am:
14644         * testsuite/pad/chainnopull.c:
14645         * testsuite/pad/getnopush.c:
14646         * testsuite/pad/link.c:
14647         * testsuite/refcounting/sched.c: (create_pipeline):
14648         * testsuite/registry/Makefile.am:
14649         * testsuite/registry/gst-print-formats.c:
14650         * testsuite/schedulers/.cvsignore:
14651         * testsuite/schedulers/142183-2.c:
14652         * testsuite/schedulers/142183.c:
14653         * testsuite/schedulers/143777-2.c:
14654         * testsuite/schedulers/143777.c:
14655         * testsuite/schedulers/147713.c:
14656         * testsuite/schedulers/147819.c:
14657         * testsuite/schedulers/147894-2.c:
14658         * testsuite/schedulers/147894.c:
14659         * testsuite/schedulers/Makefile.am:
14660         * testsuite/schedulers/group_link.c:
14661         * testsuite/schedulers/queue_link.c:
14662         * testsuite/schedulers/relink.c:
14663         * testsuite/schedulers/unlink.c:
14664         * testsuite/schedulers/unref.c:
14665         * testsuite/schedulers/useless_iteration.c:
14666         * testsuite/states/bin.c:
14667           clean out/remove some stuff from the testsuite directories
14668
14669 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
14670
14671         * configure.ac:
14672           check for some headers
14673         * gst/elements/Makefile.am:
14674         * gst/elements/gstelements.c:
14675           don't compile fdsrc without sys/socket.h
14676         * gst/indexers/Makefile.am:
14677         * gst/indexers/gstindexers.c: (plugin_init):
14678           don't compile fileindex without mmap
14679
14680 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
14681
14682         * configure.ac:
14683           reorganize
14684           clean up
14685           document more
14686           remove cruft
14687         * check/Makefile.am:
14688         * docs/gst/Makefile.am:
14689         * examples/helloworld/Makefile.am:
14690         * gst/Makefile.am:
14691         * gst/base/Makefile.am:
14692         * gst/check/Makefile.am:
14693         * gst/elements/Makefile.am:
14694         * gst/indexers/Makefile.am:
14695         * gst/parse/Makefile.am:
14696         * libs/gst/controller/Makefile.am:
14697         * libs/gst/dataprotocol/Makefile.am:
14698         * examples/helloworld/helloworld.c: (event_loop):
14699           compile fixes, though it's not being compiled currently
14700
14701 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
14702
14703         * check/gst/gsttag.c: (test_date_tags), (gst_tag_suite):
14704           Add some simple tests for the new taglist date API.
14705
14706 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
14707
14708         * gst/elements/gstfakesink.c: (gst_fake_sink_render):
14709         * gst/elements/gstfakesrc.c: (gst_fake_src_create):
14710           Beautify 'last-message' output: print 'none' for buffer timestamps
14711           and durations if none is set; improve alignment with next messages.
14712
14713 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
14714
14715         * gst/gstpluginfeature.c: (gst_plugin_feature_check_version):
14716         * gst/gstpluginfeature.h:
14717         * gst/gstregistry.c: (gst_default_registry_check_feature_version):
14718         * gst/gstregistry.h:
14719         * docs/gst/gstreamer-sections.txt:
14720           Add new API to check plugin feature version requirements.
14721
14722         * check/gst/gstplugin.c: (test_version_checks), (gst_plugin_suite):
14723           Some basic tests for the above.         
14724
14725 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
14726
14727         * gst/gststructure.c: (gst_structure_to_string):
14728           guard against NULL printf - happens when for example
14729           a message structure with GstClock gets serialized
14730
14731 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
14732
14733         * gst/base/gstcollectpads.c: (gst_collectpads_event):
14734           Fix presumable copy'n'pasto.
14735
14736 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
14737
14738         * gst/elements/gstfakesrc.h:
14739         * gst/elements/gstfilesrc.c: (gst_file_src_create_read):
14740         * gst/elements/gsttypefindelement.c:
14741           fix some signedness
14742         * gst/elements/gstfilesink.c: (gst_file_sink_render):
14743           I wonder if this could actually write +2GB files before
14744
14745 2005-10-13  Andy Wingo  <wingo@pobox.com>
14746
14747         * libs/gst/dataprotocol/dataprotocol.c (gst_dp_packet_from_caps):
14748         Fix Timmeke Waymans bug.
14749         (gst_dp_caps_from_packet): Make sure we pass a NUL-terminated
14750         string of the proper length to gst_caps_from_string. There's a
14751         potential for, before this fix, that this could cause someone
14752         connecting over the network to cause a segfault if the payload is
14753         not NUL-terminated.
14754
14755 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
14756
14757         * docs/design/draft-push-pull.txt:
14758         * docs/design/part-overview.txt:
14759         * docs/random/TODO-pre-0.9:
14760         * docs/random/old/ChangeLog.gstreamer:
14761         * gst/base/gstpushsrc.c:
14762         * gst/gstclock.c:
14763           fixed typos
14764
14765 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
14766
14767         * gst/glib-compat.c: (gst_flags_get_first_value):
14768         * gst/glib-compat.h:
14769         * gst/gstvalue.c: (gst_value_deserialize_int_helper),
14770         (gst_value_compare_double), (gst_value_serialize_flags):
14771           GLib 2.6 g_flags_get_first_value has a bug that triggers an
14772           infinite loop
14773
14774 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
14775
14776         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
14777         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
14778           fix up debugging
14779         * tools/gst-launch.c: (event_loop):
14780           print out clock nicely
14781
14782 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
14783
14784         * docs/gst/gstreamer-sections.txt:
14785         * gst/gsttaglist.h:
14786         * gst/gsttaglist.c: (_gst_tag_initialize), (gst_tag_list_get_date),
14787         (gst_tag_list_get_date_index):
14788           Added gst_tag_list_get_date() and gst_tag_list_get_date_index().
14789           GST_TAG_DATE now has a tag type of GST_TYPE_DATE (#170777).
14790
14791 2005-10-13  Julien MOUTTE  <julien@moutte.net>
14792
14793         * gst/base/gstcollectpads.c: (gst_collectpads_event),
14794         (gst_collectpads_chain):
14795         * gst/base/gstcollectpads.h: Handle newsegment and store informations
14796         in CollectData.
14797
14798 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
14799
14800         * docs/gst/gstreamer-sections.txt:
14801         * gst/gst.c:
14802         * gst/gsterror.h:
14803         * tools/gst-inspect.c: (main):
14804         * tools/gst-launch.c: (main):
14805         * tools/gst-run.c: (main):
14806         * tools/gst-xmlinspect.c: (main):
14807           fix GOption context leaks
14808           doc fixes
14809
14810 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
14811
14812         * gst/gstbus.c:
14813           use HAVE_UNISTD_H
14814         * win32/common/config.h:
14815           update config
14816         * win32/vs6/grammar.dsp:
14817         * win32/vs6/libgstelements.dsp:
14818         * win32/vs6/libgstreamer.dsp:
14819           update vs6 files
14820
14821 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
14822
14823         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
14824         * gst/base/gstbasesrc.c: (gst_base_src_query):
14825           fix more guint64<->gdouble conversions
14826
14827 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
14828
14829         * Makefile.am:
14830           add win32-update target
14831         * win32/common/gstconfig.h:
14832         * win32/common/gstenumtypes.c:
14833         * win32/common/gstenumtypes.h:
14834         * win32/common/gstversion.h:
14835           add files that visual studio can't generate
14836
14837 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
14838
14839         * Makefile.am:
14840           add a win32-update target
14841         * configure.ac:
14842
14843 2005-10-12  Wim Taymans  <wim@fluendo.com>
14844
14845         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
14846         (reset_degree), (gst_bin_dispose), (bin_bus_handler):
14847         * gst/gstelement.c: (gst_element_commit_state),
14848         (gst_element_set_state):
14849         Protect flags with proper lock.
14850         unref provided cached clock in dispose.
14851
14852 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
14853
14854         * gst/gst.c:
14855         * gst/gstminiobject.h:
14856         * gst/gstpad.h:
14857         * win32/gstenumtypes.c: (gst_mini_object_flags_get_type):
14858           removed unused flags from miniobject
14859           doc fixes
14860
14861 2005-10-12  Wim Taymans  <wim@fluendo.com>
14862
14863         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
14864         (gst_file_sink_event), (gst_file_sink_render):
14865         Flush before seeking.
14866
14867 2005-10-12  Andy Wingo  <wingo@pobox.com>
14868
14869         * gst/gst.c (gst_init_check): Ignore unknown options, as has
14870         always been the case.
14871
14872 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
14873
14874         * check/gst/gstbin.c: (GST_START_TEST):
14875         * docs/gst/gstreamer-sections.txt:
14876         * gst/base/gstbasesink.c: (gst_base_sink_init):
14877         * gst/base/gstbasesrc.c: (gst_base_src_init),
14878         (gst_base_src_get_range), (gst_base_src_check_get_range),
14879         (gst_base_src_start), (gst_base_src_stop):
14880         * gst/base/gstbasesrc.h:
14881         * gst/elements/gstfakesrc.c: (gst_fake_src_set_property):
14882         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
14883         (bin_element_is_sink), (reset_degree), (gst_bin_element_set_state),
14884         (bin_bus_handler):
14885         * gst/gstbin.h:
14886         * gst/gstbuffer.h:
14887         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_flushing):
14888         * gst/gstbus.h:
14889         * gst/gstelement.c: (gst_element_is_locked_state),
14890         (gst_element_set_locked_state), (gst_element_commit_state),
14891         (gst_element_set_state):
14892         * gst/gstelement.h:
14893         * gst/gstindex.c: (gst_index_init):
14894         * gst/gstindex.h:
14895         * gst/gstminiobject.h:
14896         * gst/gstobject.c: (gst_object_init), (gst_object_sink),
14897         (gst_object_set_parent):
14898         * gst/gstobject.h:
14899         * gst/gstpad.c: (gst_pad_set_blocked_async), (gst_pad_is_blocked),
14900         (gst_pad_get_caps_unlocked), (gst_pad_set_caps):
14901         * gst/gstpad.h:
14902         * gst/gstpadtemplate.h:
14903         * gst/gstpipeline.c: (gst_pipeline_provide_clock_func),
14904         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
14905         * gst/gstpipeline.h:
14906         * gst/indexers/gstfileindex.c: (gst_file_index_load),
14907         (gst_file_index_commit):
14908         * testsuite/bytestream/filepadsink.c: (gst_fp_sink_init):
14909         * testsuite/pad/link.c: (gst_test_src_init),
14910         (gst_test_filter_init), (gst_test_sink_init):
14911         * testsuite/states/locked.c: (main):
14912           renamed GST_FLAGS macros to GST_OBJECT_FLAGS
14913           moved bitshift from macro to enum definition
14914
14915 2005-10-12  Wim Taymans  <wim@fluendo.com>
14916
14917         * gst/base/gstbasesink.c: (gst_base_sink_handle_buffer):
14918         * gst/elements/gstfilesink.c: (gst_file_sink_event),
14919         (gst_file_sink_render):
14920         Some more debugging info.
14921
14922 2005-10-12  Wim Taymans  <wim@fluendo.com>
14923
14924         * docs/design/part-states.txt:
14925         * tools/gst-launch.c: (main):
14926         Some doc updates.
14927         Revert non-intentional change.
14928
14929 2005-10-12  Wim Taymans  <wim@fluendo.com>
14930
14931         * check/gst/gstbin.c: (GST_START_TEST):
14932         * check/gst/gstelement.c: (GST_START_TEST):
14933         * check/gst/gstevent.c: (GST_START_TEST), (test_event):
14934         * check/gst/gstghostpad.c: (GST_START_TEST):
14935         * check/gst/gstpipeline.c: (GST_START_TEST):
14936         * check/pipelines/simple_launch_lines.c: (run_pipeline):
14937         * check/states/sinks.c: (GST_START_TEST):
14938         * gst/elements/gsttypefindelement.c: (stop_typefinding):
14939         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
14940         (gst_bin_remove_func), (gst_bin_get_state_func),
14941         (gst_bin_recalc_state), (gst_bin_change_state_func),
14942         (bin_bus_handler):
14943         * gst/gstelement.c: (gst_element_get_state_func),
14944         (gst_element_get_state), (gst_element_abort_state),
14945         (gst_element_commit_state), (gst_element_set_state),
14946         (gst_element_change_state), (gst_element_change_state_func):
14947         * gst/gstelement.h:
14948         * gst/gstpipeline.c: (gst_pipeline_class_init), (do_pipeline_seek),
14949         (gst_pipeline_provide_clock_func):
14950         * gst/gstutils.c: (gst_element_link_pads_filtered):
14951         * tools/gst-launch.c: (main):
14952         * tools/gst-typefind.c: (main):
14953         Use GstClockTime in _get_state() instead of GTimeVal.
14954         Remove old code in gstutils.c
14955
14956 2005-10-12  Andy Wingo  <wingo@pobox.com>
14957
14958         * gst/gstregistry.h (gst_registry_scan_paths): Not implemented, so
14959         removed.
14960
14961         * gst/gstpad.c (gst_pad_pause_task): Actually return FALSE if
14962         there is no task. Shouldn't affect any code, as nothing in our
14963         plugins checks this return value.
14964         (gst_pad_stop_task): Also take the stream lock if the pad has no
14965         task. Docs updated.
14966
14967 2005-10-12  Wim Taymans  <wim@fluendo.com>
14968
14969         * gst/gstpad.c: (pre_activate), (post_activate),
14970         (gst_pad_activate_pull), (gst_pad_activate_push):
14971         Cleanup activation code. Reset old state if
14972         activation failed.
14973
14974 2005-10-12  Wim Taymans  <wim@fluendo.com>
14975
14976         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
14977         (gst_base_sink_change_state):
14978         No need to prerol after receiving EOS.
14979
14980         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
14981         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler):
14982         * gst/elements/gstidentity.c: (gst_identity_event):
14983         Print events more verbosely.
14984
14985 2005-10-12  Wim Taymans  <wim@fluendo.com>
14986
14987         * check/Makefile.am:
14988         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
14989         * check/states/sinks2.c:
14990         Moved sinks2 testcode in sinks check.
14991
14992         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
14993         (gst_bin_remove_func), (gst_bin_recalc_state),
14994         (gst_bin_change_state_func), (bin_bus_handler):
14995         Fix potential race condition when _get_state() iterated over an
14996         ASYNC element right before it posted a state completion.
14997
14998         * gst/gstclock.h:
14999         Do proper cast here.
15000
15001         * gst/gstevent.c: (gst_event_new_newsegment),
15002         (gst_event_parse_newsegment):
15003         A playback rate of 0.0 is not allowed.
15004
15005 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
15006
15007         * win32/common/config.h:
15008         * win32/common/dirent.c: (_topendir), (_treaddir), (_tclosedir),
15009         (_trewinddir), (_ttelldir), (_tseekdir):
15010         * win32/common/dirent.h:
15011         * win32/common/gtchar.h:
15012         * win32/common/libgstbase.def:
15013         * win32/common/libgstreamer.def:
15014         * win32/vs6/grammar.dsp:
15015         * win32/vs6/gst_inspect.dsp:
15016         * win32/vs6/gst_launch.dsp:
15017         * win32/vs6/gstreamer.dsw:
15018         * win32/vs6/libgstbase.dsp:
15019         * win32/vs6/libgstelements.dsp:
15020         * win32/vs6/libgstreamer.dsp:
15021           Visual Studio 6 project files, and a new common directory.
15022           Phear.
15023
15024 2005-10-11  Wim Taymans  <wim@fluendo.com>
15025
15026         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
15027         (gst_base_sink_do_sync), (gst_base_sink_query),
15028         (gst_base_sink_change_state):
15029         * gst/base/gstbasesink.h:
15030         Correctly parse newsegment info.
15031
15032 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
15033
15034         * gst/gst.c: (init_post):
15035           split plugin paths correctly
15036
15037 2005-10-11  Wim Taymans  <wim@fluendo.com>
15038
15039         * check/gst/gstevent.c: (GST_START_TEST):
15040         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
15041         (gst_base_sink_change_state):
15042         * gst/base/gstbasesrc.c: (gst_base_src_default_newsegment):
15043         * gst/base/gstbasetransform.c: (gst_base_transform_event):
15044         * gst/elements/gstfilesink.c: (gst_file_sink_event):
15045         * gst/gstevent.c: (gst_event_new_newsegment),
15046         (gst_event_parse_newsegment):
15047         * gst/gstevent.h:
15048         Added extra flag to newsegment for future API freeze.
15049         Updated check and base elements.
15050
15051 2005-10-11  Julien MOUTTE  <julien@moutte.net>
15052
15053         * gst/base/gstcollectpads.c: (gst_collectpads_init),
15054         (gst_collectpads_add_pad), (gst_collectpads_pop),
15055         (gst_collectpads_event), (gst_collectpads_chain):
15056         * gst/base/gstcollectpads.h: Handle EOS correctly.
15057
15058 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
15059
15060         * tools/gst-launch.c: (main):
15061           more null protecting
15062
15063 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
15064
15065         * gst/gst-i18n-lib.h:
15066           check for ENABLE_NLS, not GETTEXT_PACKAGE
15067         * gst/gstregistry.c: (gst_registry_add_plugin),
15068         (gst_registry_scan_path_level),
15069         (_gst_registry_remove_cache_plugins):
15070           protect possibly NULL strings
15071         * gst/parse/types.h:
15072           config.h already included before
15073         * tools/gst-inspect.c: (main):
15074           sys/wait.h also doesn�t exist on mingw, so change the ifdef check
15075           check for ENABLE_NLS, not GETTEXT_PACKAGE
15076         * tools/gst-launch.c: (main):
15077           check for ENABLE_NLS, not GETTEXT_PACKAGE
15078
15079 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
15080
15081         * configure.ac:
15082           if we don't have glib, fail before testing 2.8
15083         * gst/base/gstbasetransform.c: (gst_base_transform_change_state):
15084           fix a leak, should fix plugins-base testsuite
15085
15086 2005-10-11  Andy Wingo  <wingo@pobox.com>
15087
15088         * gst/gstpad.c (pre_activate): Renamed from pre_activate_switch,
15089         take the mode we're going to as an arg. Go head and set the mode
15090         and flushing flags now, so that if the activate function starts a
15091         thread all the flags will be in the right state.
15092         (post_activate): Renamed also. Just handle making sure streaming
15093         finishes for the deactivation case, and setting the deactivated
15094         mode.
15095         (gst_pad_set_active): Complain loudly if deactivation fails.
15096         (gst_pad_activate_pull): Adapt to pre/post_activate changes.
15097         (gst_pad_activate_push): Adapt to pre/post_activate changes,
15098         remove the terrible hack.
15099
15100 2005-10-11  Wim Taymans  <wim@fluendo.com>
15101
15102         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
15103         (is_eos), (gst_bin_add_func), (gst_bin_remove_func),
15104         (gst_bin_recalc_state), (gst_bin_change_state_func),
15105         (gst_bin_dispose), (bin_bus_handler):
15106         * gst/gstbin.h:
15107         Prepare to make current EOS message queue more generic.
15108         Fix some typos.
15109
15110         * gst/gstevent.c: (gst_event_new_newsegment),
15111         (gst_event_parse_newsegment):
15112         * gst/gstevent.h:
15113         Rename base to stream_time.
15114
15115         * gst/gstmessage.h:
15116         Fix typo in docs.
15117
15118 2005-10-11  Wim Taymans  <wim@fluendo.com>
15119
15120         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
15121         (gst_bin_add_func), (gst_bin_remove_func), (gst_bin_recalc_state),
15122         (gst_bin_change_state_func), (bin_bus_handler):
15123         * gst/gstbin.h:
15124         Work on proper clock selection.
15125
15126 2005-10-11  Edward Hervey  <edward@fluendo.com>
15127
15128         * libs/gst/controller/gstcontroller.c: (gst_controller_remove_properties_list): 
15129         * libs/gst/controller/gstcontroller.h:
15130         Added GList* version of _remove_properties() in order to be able to wrap
15131         it in bindings.
15132
15133 2005-10-11  Wim Taymans  <wim@fluendo.com>
15134
15135         * docs/design/part-states.txt:
15136         Some more docs.
15137
15138         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_recalc_state),
15139         (gst_bin_change_state_func), (bin_bus_handler):
15140         Doc updates. Don't distribute the same clock over and over again.
15141
15142         * gst/gstclock.c:
15143         * gst/gstclock.h:
15144         Doc updates.
15145
15146         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark),
15147         (gst_pad_get_type), (gst_pad_push), (gst_pad_push_event),
15148         (gst_pad_send_event):
15149         * gst/gstpad.h:
15150         Make probe emission threadsafe again.
15151         Register quarks and move _get_name() from utils.
15152         Doc updates.
15153
15154         * gst/gstpipeline.c: (gst_pipeline_class_init),
15155         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
15156         Only redistribute the clock of it changed.
15157
15158         * gst/gstsystemclock.h:
15159         Doc updates. 
15160
15161         * gst/gstutils.c:
15162         * gst/gstutils.h:
15163         Moved the _flow_get_name() to GstPad.
15164
15165 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
15166
15167         * check/gst-libs/gdp.c: (GST_START_TEST):
15168         * check/gst/gstcaps.c: (GST_START_TEST):
15169         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc),
15170         (gst_dp_dump_byte_array), (gst_dp_header_from_buffer),
15171         (gst_dp_packet_from_caps):
15172           fix more valgrind warnings before turning up the heat
15173
15174 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
15175
15176         * gst/parse/grammar.y:
15177           some cleanup before the hacking
15178
15179 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
15180
15181         * gst/base/gstbasesrc.c: (gst_base_src_query):
15182           use conversions
15183         * gst/gstutils.c: (gst_guint64_to_gdouble),
15184         (gst_gdouble_to_guint64), (gst_util_uint64_scale):
15185         * gst/gstutils.h:
15186           externalize, basesrc uses it
15187           obviously the implementation needs testing
15188
15189 2005-10-10  Wim Taymans  <wim@fluendo.com>
15190
15191         * tests/sched/Makefile.am:
15192         * tests/sched/sort.c: (make_pipeline1), (make_pipeline2),
15193         (make_pipeline3), (make_pipeline4), (print_elem), (main):
15194
15195 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
15196
15197         * gst/gstutils.c: (guint64_to_gdouble), (gst_util_uint64_scale):
15198           apparently converting from guint64 to double is not implemented
15199           on MSVC
15200
15201 2005-10-10  Wim Taymans  <wim@fluendo.com>
15202
15203         * check/Makefile.am:
15204         * check/generic/states.c: (GST_START_TEST):
15205         * check/gst/gstbin.c: (GST_START_TEST):
15206         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
15207         * check/states/sinks.c: (GST_START_TEST):
15208         * check/states/sinks2.c: (GST_START_TEST), (gst_object_suite),
15209         (main):
15210         Check fixes, use API as stated in design docs, remove hacks.
15211
15212         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
15213         (gst_base_sink_change_state):
15214         Catch stopping our task while we're shutting down.
15215
15216         * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
15217         (gst_bin_remove_func), (gst_bin_get_state_func),
15218         (gst_bin_recalc_state), (gst_bin_change_state_func),
15219         (bin_bus_handler):
15220         * gst/gstbin.h:
15221         * gst/gstelement.c: (gst_element_init),
15222         (gst_element_get_state_func), (gst_element_abort_state),
15223         (gst_element_commit_state), (gst_element_lost_state),
15224         (gst_element_set_state), (gst_element_change_state),
15225         (gst_element_change_state_func):
15226         * gst/gstelement.h:
15227         New state change algorithm (see #318116)
15228
15229         * gst/gstpipeline.c: (gst_pipeline_class_init),
15230         (gst_pipeline_init), (gst_pipeline_set_property),
15231         (gst_pipeline_get_property), (do_pipeline_seek),
15232         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
15233         * gst/gstpipeline.h:
15234         Remove crude state change hacks.
15235
15236         * gst/gstutils.h:
15237         Remove crude hacks.
15238
15239         * tools/gst-launch.c: (main):
15240         Fixes for state change. Needs some more work to fully use the
15241         new stuff.
15242
15243 2005-10-10  Andy Wingo  <wingo@pobox.com>
15244
15245         * tests/Makefile.am (noinst_PROGRAMS): No more init.c.
15246
15247         * gst/gst.c (G_OPTION_FLAG_NO_ARG): Apparently GLib 2.8 requires
15248         this flag, but it's not even in GLib 2.6. Odd. Hack around the
15249         issue.
15250
15251 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
15252
15253         * gst/gstiterator.c: (gst_iterator_new):
15254           Fix my previous commit: GTypes passed to gst_iterator_new()
15255           can be fundamental types.
15256
15257 2005-10-10  Wim Taymans  <wim@fluendo.com>
15258
15259         * gst/gstelement.c: (gst_element_iterate_pad_list),
15260         (gst_element_iterate_pads), (gst_element_iterate_src_pads),
15261         (gst_element_iterate_sink_pads):
15262         Use src/sink pads lists for the respective iterators instead
15263         of filtering.
15264
15265 2005-10-10  Andy Wingo  <wingo@pobox.com>
15266
15267         Merged in popt removal + GOption addition patch from Ronald, bug
15268         #169772.
15269
15270         * docs/gst/gstreamer-sections.txt: Add STATE_(UN)LOCK_FULL, move
15271         GstElement macros around, remove popt-related symbols, add goption
15272         stuff.
15273
15274         * configure.ac: Remove popt checks, require GLib 2.6 for GOption.
15275         
15276         * docs/gst/Makefile.am:
15277         * docs/libs/Makefile.am: No POPT_CFLAGS.
15278         
15279         * examples/manual/Makefile.am:
15280         * docs/manual/basics-init.xml: Doc updates with an example.
15281         
15282         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
15283         (gst_init), (parse_one_option), (parse_goption_arg):
15284         * gst/gst.h: Removed gst_init_with_popt_table and friends. Took a
15285         bit of hand merging and debugging to get the GOption stuff working
15286         tho.
15287         
15288         * tests/Makefile.am:
15289         * tools/Makefile.am:
15290         * tools/gst-inspect.c: (main):
15291         * tools/gst-launch.c: (main):
15292         * tools/gst-run.c: (main):
15293         * tools/gst-xmlinspect.c: (main): Thanks Ronald!
15294
15295 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
15296
15297         * gst/gstiterator.c: (gst_iterator_new):
15298           Add assertions to make sure passed GType is likely to really
15299           be a GType (as the compiler won't catch it if the size and
15300           GType arguments get mixed up, see #318447).
15301
15302 2005-10-10  Josef Zlomek  <josef dot zlomek at xeris dot cz>
15303
15304         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
15305
15306         * gst/gstbin.c: (gst_bin_iterate_sorted):
15307           Pass GType and size arguments to gst_iterator_new() in the right
15308           order (maybe we should make _new() take the GType as first argument
15309           just like _new_list()?) (#318447).
15310           
15311
15312 2005-10-10  Wim Taymans  <wim@fluendo.com>
15313
15314         * gst/gstelement.c: (gst_element_finalize):
15315         And free the GStaticRecMutex too
15316
15317 2005-10-10  Andy Wingo  <wingo@pobox.com>
15318
15319         * gst/gstelement.c (gst_element_init, gst_element_finalize):
15320         Allocate and free the mutex properly.
15321
15322         * gst/gstelement.h (GST_STATE_UNLOCK_FULL, GST_STATE_LOCK_FULL):
15323         New macros.
15324         (GstElement): The state_lock is now recursive. Rebuild your
15325         plugins, suckers. Old macros adapted.
15326
15327         * docs/gst/gstreamer-sections.txt: Doc updates.
15328
15329         * gst/gstutils.h:
15330         * gst/gstutils.c (g_static_rec_cond_timed_wait) 
15331         (g_static_rec_cond_wait): Ported from state changes patch, while
15332         we wait on bug #317802 to be solved in a well-distributed GLib.
15333
15334         * gst/gstelement.c (gst_element_change_state_func): Renamed from
15335         gst_element_change_state, variable name changes.
15336         (gst_element_change_state): Split out of gst_element_set_state in
15337         preparation for the state change merge. Doesn't pay attention to
15338         the 'transition' argument.
15339         (gst_element_set_state): Updates, hopefully purely cosmetic.
15340         (gst_element_sync_state_with_parent): MT-safety. Ported from the
15341         state change patch.
15342         (gst_element_get_state_func): Renamed from get_state, cosmetic
15343         changes.
15344
15345 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
15346
15347         * gst/elements/gstelements.c:
15348         * win32/GStreamer.vcproj:
15349         * win32/config.h:
15350         * win32/dirent.c: (_tseekdir):
15351         * win32/gst-inspect.vcproj:
15352         * win32/gst-launch.vcproj:
15353         * win32/gstconfig.h:
15354         * win32/gstelements.vcproj:
15355         * win32/gstenumtypes.c: (gst_object_flags_get_type):
15356         * win32/gstreamer.def:
15357         * win32/msvc71.sln:
15358           updates for the win32 build (patch from Sebastien Moutte)
15359
15360 2005-10-10  Andy Wingo  <wingo@pobox.com>
15361
15362         * gst/gstbin.c (gst_bin_get_state_func): Renamed from
15363         gst_bin_get_state, cleaned up (but no logic changes).
15364         (bin_element_is_sink): Comment updates.
15365         (sink_iterator_filter): Remove needless cast.
15366         (gst_bin_iterate_sinks): Doc update.
15367         (gst_bin_change_state_func): Renamed from gst_bin_change_state,
15368         cleaned up (but no logic changes).
15369
15370         * check/states/sinks.c (test_src_sink): Cleanups from the state
15371         change patch.
15372         (test_livesrc_sink): Sync on the state.
15373
15374         * check/pipelines/simple_launch_lines.c (run_pipeline): Merge from
15375         the state change patch.
15376
15377         * check/gst/gstghostpad.c (test_ghost_pads): Merge from the state
15378         change patch.
15379
15380         * check/gst/gstbin.c: Merge in some style fixes and additional
15381         checks from Wim's state change patch.
15382
15383 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
15384
15385         * gst/base/gsttypefindhelper.c: (helper_find_peek),
15386         (gst_type_find_helper):
15387           Check whether we have the requested data already in our list of
15388           cached buffers before pulling a new buffer; also make the buffer
15389           list a GSList. Speeds up typefinding by ca. 5-10% altogether.
15390
15391 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
15392
15393         * gst/gstcaps.c:
15394         * gst/gstevent.c:
15395           doc updates
15396         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
15397           don't use long long, it's not portable.  Replacing with
15398           gint64 seems to work; let's hope no skeletons fall out of the closet.
15399
15400 2005-10-10  Andy Wingo  <wingo@pobox.com>
15401
15402         * autogen.sh (CONFIGURE_DEF_OPT): No more --plugin-buiddir, yay
15403
15404 2005-10-09  Stefan Kost  <ensonic@users.sf.net>
15405
15406         * docs/gst/gstreamer-sections.txt:
15407         * gst/gstevent.c:
15408         * gst/gstevent.h:
15409         * gst/gstinfo.c:
15410         * gst/gstinfo.h:
15411         * gst/gstmessage.c: (gst_message_parse_state_changed):
15412         * gst/gstpad.c:
15413         * gst/gstpad.h:
15414           more docs, fix compilation
15415
15416 2005-10-09  Philippe Khalaf <burger@speedy.org>
15417         * gst/gstmessage.c:
15418           Fixed a few forgotten variables on previous commit
15419
15420 2005-10-09  Tim-Philipp Müller  <tim at centricular dot net>
15421
15422         * gst/base/gsttypefindhelper.c: (helper_find_peek):
15423           Fix evil typefind crasher: getrange() might return a short
15424           buffer at the end of a file, but gst_type_find_peek() must
15425           either return the full data as requested or NULL, but
15426           never a short buffer.
15427
15428 2005-10-09  Thomas Vander Stichele  <thomas at apestaart dot org>
15429
15430         * gst/gstmessage.c: (gst_message_new_state_changed),
15431         (gst_message_parse_state_changed):
15432         * gst/gstmessage.h:
15433           don't use "new", it's a C++ keyword
15434
15435 2005-10-08  Wim Taymans  <wim@fluendo.com>
15436
15437         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_query):
15438         * gst/gstelement.c: (gst_element_post_message):
15439         * gst/gstpipeline.c: (gst_pipeline_change_state):
15440         Small docs and debug updates.
15441
15442 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
15443
15444         * docs/gst/gstreamer-sections.txt:
15445         * gst/gstelementfactory.c:
15446         * gst/gstevent.c:
15447         * gst/gsttaglist.c:
15448           more docs
15449
15450 2005-10-08  Wim Taymans  <wim@fluendo.com>
15451
15452         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_change_state),
15453         (gst_bin_dispose), (bin_bus_handler):
15454         Fix typos, add comments.
15455         Clear EOS list when going to PAUSED from any direction and do it
15456         in a threadsafe way.
15457         Get base time in a threadsafe way too.
15458         Fix confusing debug in the change_state function.
15459         Various other small cleanups.
15460         
15461         * gst/gstelement.c: (gst_element_post_message):
15462         Fix very verbose bus posting code.
15463
15464         * gst/gstpipeline.c: (gst_pipeline_class_init),
15465         (gst_pipeline_set_property), (gst_pipeline_get_property),
15466         (gst_pipeline_change_state):
15467         Small ARG_ -> PROP_ cleanup
15468
15469 2005-10-08  Wim Taymans  <wim@fluendo.com>
15470
15471         * gst/gstbin.c: (is_eos), (bin_bus_handler):
15472         Do a less CPU demanding EOS check because we can.
15473
15474 2005-10-08  Wim Taymans  <wim@fluendo.com>
15475
15476         * libs/gst/dataprotocol/dataprotocol.c:
15477         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
15478         (gst_dp_packet_from_event):
15479         * libs/gst/dataprotocol/dataprotocol.h:
15480         * libs/gst/dataprotocol/dp-private.h:
15481         It's about time we bump the version number.
15482         Since event types don't fit in the guint8 anymore describing
15483         the payload type, make payload type 16 bits wide.
15484
15485 2005-10-08  Wim Taymans  <wim@fluendo.com>
15486
15487         * docs/design/part-TODO.txt:
15488         * docs/design/part-clocks.txt:
15489         * docs/design/part-events.txt:
15490         * docs/design/part-gstbin.txt:
15491         * docs/design/part-gstelement.txt:
15492         * docs/design/part-gstpipeline.txt:
15493         * docs/design/part-live-source.txt:
15494         * docs/design/part-messages.txt:
15495         * docs/design/part-overview.txt:
15496         * docs/design/part-states.txt:
15497         Many doc updates.
15498
15499 2005-10-08  Wim Taymans  <wim@fluendo.com>
15500
15501         * gst/gstevent.c:
15502         * gst/gstevent.h:
15503         Fix event quark registration.
15504         Add some space between events so we can insert them in the
15505         right groups.
15506
15507 2005-10-08  Wim Taymans  <wim@fluendo.com>
15508
15509         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
15510         (gst_base_sink_handle_buffer):
15511         Better log message.
15512
15513         * gst/gstbus.h:
15514         * gst/gstelement.h:
15515         More docs.
15516
15517         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
15518         (gst_queue_set_property), (gst_queue_get_property):
15519         * gst/gstqueue.h:
15520         Remove old unused properties.
15521
15522 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
15523         * docs/gst/gstreamer-sections.txt:
15524         * gst/gstmessage.c:
15525         * gst/gstmessage.h:
15526         * gst/gstminiobject.c:
15527         * gst/gstminiobject.h:
15528         * gst/gstobject.h:
15529         * gst/gstpad.h:
15530         * gst/gstutils.h:
15531           lots of new docs and doc fixes
15532
15533 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
15534
15535         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_load_file):
15536         * gst/gstplugin.h:
15537         * gst/gstregistry.c: (gst_registry_lookup_locked),
15538         (gst_registry_scan_path_level):
15539         * gst/gstregistryxml.c: (load_plugin):
15540           Only ever load one plugin for a given plugin basename.
15541           This ensures correct overriding of GST_PLUGIN_PATH over
15542           GST_PLUGIN_SYSTEM_PATH and of home dir plugins over
15543           system installed plugins.
15544
15545 2005-10-08  Wim Taymans  <wim@fluendo.com>
15546
15547         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
15548         (gst_base_sink_do_sync), (gst_base_sink_handle_buffer):
15549         Prepare for doing QOS.
15550
15551 2005-10-08  Wim Taymans  <wim@fluendo.com>
15552
15553         * check/gst/gstbin.c: (GST_START_TEST):
15554         * check/pipelines/cleanup.c: (GST_START_TEST):
15555         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
15556         Allow new clock message too.
15557
15558 2005-10-08  Wim Taymans  <wim@fluendo.com>
15559
15560         * gst/gstmessage.c: (gst_message_new_error),
15561         (gst_message_new_warning), (gst_message_new_tag),
15562         (gst_message_new_state_changed), (gst_message_new_clock_provide),
15563         (gst_message_new_clock_lost), (gst_message_new_new_clock),
15564         (gst_message_new_segment_start), (gst_message_new_segment_done),
15565         (gst_message_parse_state_changed),
15566         (gst_message_parse_clock_provide), (gst_message_parse_clock_lost),
15567         (gst_message_parse_new_clock):
15568         * gst/gstmessage.h:
15569         Also carry the clock in question.
15570
15571 2005-10-08  Wim Taymans  <wim@fluendo.com>
15572
15573         * gst/gstmessage.c: (gst_message_new_custom),
15574         (gst_message_new_eos), (gst_message_new_error),
15575         (gst_message_new_warning), (gst_message_new_tag),
15576         (gst_message_new_state_changed), (gst_message_new_clock_provide),
15577         (gst_message_new_new_clock), (gst_message_new_segment_start),
15578         (gst_message_new_segment_done), (gst_message_parse_state_changed),
15579         (gst_message_parse_clock_provide), (gst_message_parse_new_clock):
15580         * gst/gstmessage.h:
15581         Clean up.
15582         Added clock related messages.
15583
15584         * gst/gstpipeline.c: (gst_pipeline_change_state):
15585         Post message when the clock changed.
15586
15587         * tools/gst-launch.c: (event_loop):
15588         Print new clock.
15589
15590 2005-10-08  Tim-Philipp Müller  <tim at centricular dot net>
15591
15592         * tools/gst-inspect.c: (print_element_properties_info):
15593           Can't pass NULL strings to g_print() on windows.
15594
15595 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
15596
15597         * docs/Makefile.am:
15598         * docs/gst/Makefile.am:
15599         * docs/gst/gstreamer-docs.sgml:
15600         * docs/gst/running.xml:
15601         * docs/version.entities.in:
15602           add a chapter on running GStreamer.
15603           document GST_DEBUG and GST_PLUGIN* env vars
15604
15605 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
15606
15607         * Makefile.am:
15608           remove include dir
15609         * configure.ac:
15610           remove PLUGINS_BUILDDIR stuff
15611         * gst/gst.c: (init_post):
15612           reorder parsing of GST_PLUGIN_PATH and GST_PLUGIN_SYSTEM_PATH
15613         * idiottest.mak:
15614           remove, it was condescending and not needed
15615
15616 2005-10-08  Wim Taymans  <wim@fluendo.com>
15617
15618         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
15619         (gst_base_sink_handle_object), (gst_base_sink_event),
15620         (gst_base_sink_wait), (gst_base_sink_handle_event),
15621         (gst_base_sink_change_state):
15622         * gst/base/gstbasesink.h:
15623         Repost EOS message while going to PLAYING if still EOS.
15624         Make sure that when receiving a FLUSH_START we don't attempt
15625         to sync on the clock anymore.
15626
15627 2005-10-08  Wim Taymans  <wim@fluendo.com>
15628
15629         * tools/gst-launch.c: (event_loop):
15630         Better message printout.
15631
15632 2005-10-08  Wim Taymans  <wim@fluendo.com>
15633
15634         * gst/gstbin.c: (gst_bin_child_proxy_get_child_by_index),
15635         (gst_bin_child_proxy_get_children_count):
15636         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
15637         (gst_child_proxy_lookup), (gst_child_proxy_get_property),
15638         (gst_child_proxy_get_valist), (gst_child_proxy_set_property),
15639         (gst_child_proxy_set_valist):
15640         * gst/parse/grammar.y:
15641         Make ChildProxy threadsafe and fix mem leaks.
15642
15643 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
15644
15645         * gst/gst.c: (init_post):
15646           debug the GST_PLUGIN_ env vars
15647
15648 2005-10-08  Wim Taymans  <wim@fluendo.com>
15649
15650         * check/gst/gstbin.c: (GST_START_TEST):
15651         * check/gst/gstmessage.c: (GST_START_TEST):
15652         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
15653         * gst/gstelement.c: (gst_element_commit_state),
15654         (gst_element_lost_state):
15655         * gst/gstmessage.c: (gst_message_new_state_changed),
15656         (gst_message_parse_state_changed):
15657         * gst/gstmessage.h:
15658         * tools/gst-launch.c: (event_loop):
15659         Added extra field to STATE_CHANGE message with the pending
15660         state, which will be different from the new state soon.
15661
15662 2005-10-08  Wim Taymans  <wim@fluendo.com>
15663
15664         * gst/gstbus.c: (gst_bus_pop):
15665         * gst/gstclock.c:
15666         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
15667         Small cleanups and doc updates.
15668
15669 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
15670
15671         * gst/gst.c: (init_pre):
15672         * gst/gstbin.c: (gst_bin_add_func):
15673           log distributing clocks and base time
15674         * gst/gstregistry.c: (gst_registry_add_plugin),
15675         (gst_registry_scan_path_level), (gst_registry_scan_path):
15676           clean up the debugging output a little
15677         * gst/gstutils.c: (gst_element_state_get_name):
15678           warn about a memleak (I've actually seen this be used, though
15679           it was probably a bug)
15680
15681 2005-10-07  Wim Taymans  <wim@fluendo.com>
15682
15683         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
15684         (gst_base_src_init), (gst_base_src_default_newsegment),
15685         (gst_base_src_newsegment), (gst_base_src_do_seek),
15686         (gst_base_src_loop), (gst_base_src_start):
15687         * gst/base/gstbasesrc.h:
15688         Make the newsegment event customizable by subclasses.
15689
15690 2005-10-07  Wim Taymans  <wim@fluendo.com>
15691
15692         * gst/gstevent.c: (gst_event_new_buffersize),
15693         (gst_event_parse_buffersize):
15694         * gst/gstevent.h:
15695         New event for future idea.
15696
15697 2005-10-07  Andy Wingo  <wingo@pobox.com>
15698
15699         * gst/gstelement.c (gst_element_post_message): Doc update.
15700
15701         * docs/gst/gstreamer-sections.txt: Update.
15702
15703         * gst/gstmessage.c (gst_message_new_application): Made into a
15704         function like honest API calls.
15705         (gst_message_new_element): New message type.
15706
15707         * gst/gstmessage.h (enum): Add GST_MESSAGE_ELEMENT type.
15708
15709         * check/elements/fakesrc.c (test_no_preroll): New check, checks
15710         that setting a live fakesrc to PAUSED returns NO_PREROLL both
15711         times.
15712
15713         * gst/base/gstbasesrc.c (gst_base_src_change_state): Allow a
15714         NO_PREROLL from gst_element_change_state to fall through.
15715
15716 2005-10-07  Wim Taymans  <wim@fluendo.com>
15717
15718         * gst/gstghostpad.c: (gst_ghost_pad_get_internal),
15719         (gst_ghost_pad_do_activate_push):
15720         Activating a ghostpad with no internal pad in push mode
15721         is ok.
15722
15723 2005-10-07  Thomas Vander Stichele  <thomas at apestaart dot org>
15724
15725         * gst/gstobject.h:
15726           there's no point in wrapping FLAG_SET/_UNSET in STMT macros.
15727           Fixes compilation on Windows.
15728
15729 2005-10-07  Michael Smith <msmith@fluendo.com>
15730
15731         * tools/gst-inspect.c:
15732           Print out feature and plugin count at the end when printing out
15733           all features.
15734
15735 2005-10-04  Michael Smith <msmith@fluendo.com>
15736
15737         * gst/gsterror.c: (_gst_stream_errors_init):
15738           Add another error string used in a few existing plugins.
15739
15740         * gst/gstplugin.c:
15741         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
15742         * tools/gst-inspect.c: (print_element_info):
15743           When a feature disappears from a plugin (and the feature exists in
15744           the cached registry file), things went horribly wrong. This isn't a
15745           complete fix, we should actually be removing the 'missing' features
15746           from the features list when we load the actual plugin. That's not
15747           yet implemented. 
15748
15749 2005-10-04  Johan Dahlin  <johan@gnome.org>
15750
15751         * check/gst/gstiterator.c: (GST_START_TEST):
15752         * gst/gstbin.c: (gst_bin_iterate_elements),
15753         (gst_bin_iterate_recurse), (gst_bin_iterate_sorted):
15754         * gst/gstelement.c: (gst_element_iterate_pads):
15755         * gst/gstformat.c: (gst_format_iterate_definitions):
15756         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
15757         (gst_iterator_new_list), (gst_iterator_filter):
15758         * gst/gstiterator.h:
15759         * gst/gstquery.c: (gst_query_type_iterate_definitions):
15760         Add a GType to GstIterator, update callsites and tests.
15761
15762 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
15763
15764         * gst/gstpad.c: (gst_pad_event_default_dispatch):
15765           give events a chance to be handled by event probes when the pad
15766           is not linked
15767
15768 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
15769
15770         * gst/gstevent.c: (gst_event_type_get_name),
15771         (gst_event_type_to_quark), (gst_event_finalize), (gst_event_new):
15772         * gst/gstevent.h:
15773           add string representations for event types
15774
15775 2005-10-06  Wim Taymans  <wim@fluendo.com>
15776
15777         * gst/elements/gstfilesink.c: (gst_file_sink_close_file):
15778         Don't use NULL pointers.
15779
15780 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
15781
15782         * gst/gst_private.h:
15783         * gst/gstbus.c:
15784         * gst/gstelement.c:
15785         * gst/gstinfo.c:
15786         * gst/gstpluginfeature.c:
15787           widen the debug category in output to fit the biggest one we have
15788           add a bus category and use it
15789           play with the colors
15790           fix up some categories
15791
15792 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
15793
15794         * gst/gstghostpad.c: (gst_ghost_pad_internal_do_activate_push):
15795           add push activation of sink ghost pads.
15796           Andye, please verify
15797
15798 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
15799
15800         * gst/gstutils.c: (gst_element_link_pads):
15801           fix a bug in the case where neither element has a pad
15802         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
15803           add a test for that case
15804
15805 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
15806
15807         * gst/gstpad.c: (gst_pad_push), (gst_pad_push_event):
15808           emit have-data before checking for peers.  This allows
15809           for probe handlers to connect elements.  This helps autopluggers.
15810         * check/gst/gstpad.c: (GST_START_TEST), (_probe_handler),
15811         (gst_pad_suite):
15812           add six checks, linked/unlinked with no/true/false probe
15813
15814 2005-10-04  Wim Taymans  <wim@fluendo.com>
15815
15816         * gst/elements/gstfakesink.c: (gst_fake_sink_get_property),
15817         (gst_fake_sink_event), (gst_fake_sink_preroll),
15818         (gst_fake_sink_render), (gst_fake_sink_change_state):
15819         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler),
15820         (gst_fake_src_get_property), (gst_fake_src_create),
15821         (gst_fake_src_stop):
15822         * gst/elements/gstidentity.c: (gst_identity_stop):
15823         Protect last_message with lock.
15824
15825 2005-10-04  Edward Hervey  <edward@fluendo.com>
15826
15827         * gst/gstformat.h: 
15828         Added precision in the comments for GST_FORMAT_DEFAULT
15829
15830 2005-10-04  Tim-Philipp Müller  <tim at centricular dot net>
15831
15832         * tools/gst-launch.c: (main):
15833           Don't try to run erroneous pipelines.
15834
15835 2005-10-04  Julien MOUTTE  <julien@moutte.net>
15836
15837         * gst/gstbus.c: We don't need this header.
15838
15839 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
15840
15841         * configure.ac:
15842           back to development
15843
15844 === release 0.9.3 ===
15845
15846 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
15847
15848         * README:
15849         * configure.ac:
15850           Releasing 0.9.3, "Unregistered"
15851
15852 2005-10-03  Andy Wingo  <wingo@pobox.com>
15853
15854         * gst/gstpad.c (gst_pad_activate_push): There is a race condition
15855         whereby calling a pad's activatepush() function can start a thread
15856         that starts to push or pull before the pad gets the FLUSHING flag
15857         unset. Hack around it by holding the stream lock until the flag is
15858         set. Need to replace this with a proper solution. Together with
15859         the ghost pad fixes, this fixes mp3 playing/tagreading.
15860
15861         * docs/design/part-gstghostpad.txt: Add a note about activation of
15862         proxy pads outside of ghost pads.
15863
15864         * gst/gstghostpad.c: Implement the ghost pad activation design.
15865
15866 2005-10-02  Andy Wingo  <wingo@pobox.com>
15867
15868         * gst/gstobject.h (GST_OBJECT_REFCOUNT_VALUE): Just use the int.
15869         It is volatile, after all.
15870
15871         * docs/design/part-gstghostpad.txt: Flesh out activation with
15872         ghost pads.
15873
15874         * gst/base/gstbasesrc.c (gst_base_src_init): Use
15875         GST_DEBUG_FUNCPTR.
15876
15877 2005-10-02  Tim-Philipp Müller  <tim at centricular dot net>
15878
15879         * configure.ac:
15880           Fix (unused) AM_CONDITIONAL tests.
15881
15882 2005-10-01  Alessandro Decina  <alessandro at nnva dot org>
15883
15884         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
15885
15886         * gst/gstutils.c: (gst_pad_query_convert):
15887           Add assertion that makes sure src_val is >=0, just like
15888           gst_query_new_convert() has. (#315895)
15889
15890 2005-09-30  Edward Hervey  <edward@fluendo.com>
15891
15892         * gst/elements/gsttee.c: (gst_tee_do_push), (gst_tee_handle_buffer):
15893         Let's not iterate pads we're not interested in, it avoids getting 
15894         sky-high refcounts on sinkpad.
15895
15896 2005-09-30  Wim Taymans  <wim@fluendo.com>
15897
15898         * gst/gstelement.c: (gst_element_set_state),
15899         (gst_element_change_state):
15900         Small tweak, element in ASYNC remains ASYNC.
15901
15902 2005-09-30  Wim Taymans  <wim@fluendo.com>
15903
15904         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
15905         Only error is an error.
15906
15907         * gst/gstbin.c: (gst_bin_change_state):
15908         Better debugging.
15909
15910         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_chain):
15911         Also call pad_block in pad alloc.
15912
15913         * gst/gstutils.c: (gst_flow_get_name):
15914         Better debugging.
15915
15916 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
15917
15918         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
15919         (gst_base_src_get_range):
15920           Fix documentation typos. Add some more debug info.
15921
15922 2005-09-29  David Schleef  <ds@schleef.org>
15923
15924         * gst/gstplugin.c: (gst_plugin_load_file): Make some error messages
15925           more end-user friendly.
15926         * tools/gst-inspect.c: (main): Check if command-line argument is
15927           a file and attempt to load that file as a plugin.
15928
15929 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
15930
15931         * check/gst/gstbin.c:
15932         * check/states/sinks.c:
15933           fix tests for the new warning
15934         * check/gst/gstpipeline.c:
15935           add a test for pipeline and bus interaction
15936         * gst/gstelement.c:
15937           elements should be NULL if they get disposed; add a warning if not
15938
15939 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
15940
15941         * gst/gstobject.c:
15942           for 2.6 refcounting, make debug log more correct by printing
15943           the actual refcounts at the time of swap (Wim)
15944
15945 2005-09-29  Andy Wingo  <wingo@pobox.com>
15946
15947         * gst/gstbus.c (gst_bus_remove_signal_watch): New function,
15948         removes signal watches previously added via
15949         gst_bus_add_signal_watch.
15950         (gst_bus_add_signal_watch): Don't return the source id, just store
15951         it on the bus if there wasn't an id already.
15952
15953         * gst/gstbus.h (GstBus): Add a couple new fields. API changes for
15954         add_signal_watch and remove_signal_watch.
15955
15956 2005-09-29  Edward Hervey  <edward@fluendo.com>
15957
15958         * libs/gst/controller/gstcontroller.c: (gst_controller_new_list): 
15959         Better if we actually iterate the list :)
15960
15961 2005-09-29  Wim Taymans  <wim@fluendo.com>
15962
15963         * check/gst/gstbin.c: (GST_START_TEST):
15964         Change for new bus API.
15965
15966         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
15967         (send_messages), (GST_START_TEST), (gstbus_suite):
15968         Change for new bus signal API.
15969
15970         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_have_pending),
15971         (gst_bus_source_prepare), (gst_bus_source_check),
15972         (gst_bus_create_watch), (gst_bus_add_watch_full),
15973         (gst_bus_add_watch), (gst_bus_poll), (gst_bus_async_signal_func),
15974         (gst_bus_sync_signal_handler), (gst_bus_add_signal_watch):
15975         * gst/gstbus.h:
15976         Remove support for multiple GSources operating on different
15977         message types as it is too complex and unneeded when using
15978         signals.
15979         Added support for receiving signals from the bus.
15980
15981 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
15982
15983         * docs/libs/tmpl/gstdataprotocol.sgml:
15984         * docs/manual/advanced-dataaccess.xml:
15985         * gst/elements/gstcapsfilter.c:
15986         * gst/gstutils.c:
15987           rename filter-caps to caps property
15988
15989 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
15990
15991         * gst/gstvalue.c: (gst_value_deserialize_fraction):
15992           More robust fraction string parsing.
15993
15994         * docs/pwg/appendix-porting.xml:
15995           Mention gst_pad_use_explicit_caps() => gst_pad_use_fixed_caps()
15996
15997 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
15998
15999         * gst/gstcaps.c: (gst_caps_do_simplify):
16000           Thou shalt not free a structure and then continue using it
16001           in the next loop iteration.
16002
16003         * check/gst/gstcaps.c: (check_fourcc_list), (test_simplify),
16004         (gst_caps_suite):
16005           Add test case for caps simplification.
16006
16007 2005-09-29  Wim Taymans  <wim@fluendo.com>
16008
16009         * check/gst/gstbin.c: (GST_START_TEST):
16010         Oops.
16011
16012 2005-09-29  Wim Taymans  <wim@fluendo.com>
16013
16014         * check/gst/gstbin.c: (GST_START_TEST):
16015         Add bus to bin.
16016
16017         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
16018         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
16019         (find_element), (gst_bin_sort_iterator_next),
16020         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
16021         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
16022         (gst_bin_change_state), (gst_bin_dispose):
16023         A bin does not have a bus, it gets the bus from the parent.
16024
16025         * gst/gstelement.c: (gst_element_requires_clock),
16026         (gst_element_provides_clock), (gst_element_is_indexable),
16027         (gst_element_is_locked_state), (gst_element_change_state),
16028         (gst_element_set_bus_func):
16029         Small cleanups.
16030
16031         * gst/gstpipeline.c: (gst_pipeline_class_init),
16032         (gst_pipeline_init), (gst_pipeline_provide_clock_func):
16033         The pipeline provides a bus.
16034
16035 2005-09-28  Johan Dahlin  <johan@gnome.org>
16036
16037         * gst/gstmessage.c (gst_message_parse_state_changed): Use
16038         gst_structure_get_enum instead of gst_structure_get_int
16039
16040         * gst/gststructure.c (gst_structure_get_enum): Impl.
16041
16042         * gst/gststructure.h (gst_structure_get_enum): Add
16043
16044         * docs/gst/gstreamer-sections.txt: Ditto
16045
16046         * gst/gstmessage.c (gst_message_new_state_changed): Use
16047         GST_TYPE_STATE instead of G_TYPE_INT, mainly for language bindings
16048         which does introspection.
16049         Reviewed by Christian Schaller
16050
16051 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
16052
16053         * gst/gstinfo.c: (gst_debug_log_default):
16054           don't do dummy g_strdup()s
16055         * libs/gst/controller/gstcontroller.c:
16056         (on_object_controlled_property_changed),
16057         (gst_controlled_property_new), (gst_controller_new_valist),
16058         (gst_controller_new_list),
16059         (gst_controller_remove_properties_valist), (gst_controller_set),
16060         (gst_controller_get), (gst_controller_sync_values),
16061         (gst_controller_get_value_array), (_gst_controller_class_init),
16062         (gst_controller_get_type):
16063         * libs/gst/controller/gstcontroller.h:
16064         * libs/gst/controller/gstinterpolation.c:
16065         (gst_controlled_property_find_timed_value_node):
16066           convert // to /**/ comments
16067
16068 2005-09-28  Wim Taymans  <wim@fluendo.com>
16069
16070         * gst/gstbus.c: (marshal_VOID__MINIOBJECT), (gst_bus_class_init),
16071         (gst_bus_post), (poll_func), (gst_bus_async_signal_func),
16072         (gst_bus_sync_signal_handler):
16073         * gst/gstbus.h:
16074         Added async-message and sync-message signals to the bus.
16075         Added helper BusFunc to emit signals for all posted messages.
16076
16077         * gst/gstmessage.c: (gst_message_type_get_name),
16078         (gst_message_type_to_quark), (gst_message_get_type):
16079         * gst/gstmessage.h:
16080         Register quarks for message names.
16081
16082 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
16083
16084         * docs/libs/gstreamer-libs-sections.txt:
16085         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
16086         (gst_controller_new_list):
16087         * libs/gst/controller/gstcontroller.h:
16088           added another constructor for language bindings
16089
16090 2005-09-28  Thomas Vander Stichele  <thomas at apestaart dot org>
16091
16092         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
16093           add another check
16094         * gst/gstbus.c:
16095           add some doc
16096         * gst/gstinfo.c: (_gst_debug_init):
16097           slightly more readable color for refcount debugging
16098
16099 2005-09-28  Wim Taymans  <wim@fluendo.com>
16100
16101         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
16102         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
16103         (find_element), (gst_bin_sort_iterator_next),
16104         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
16105         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
16106         (gst_bin_change_state), (gst_bin_dispose):
16107         Small doc fixes. get_clock -> provide_clock.
16108
16109         * gst/gstelement.c: (gst_element_class_init),
16110         (gst_element_provides_clock), (gst_element_provide_clock),
16111         (gst_element_get_clock), (gst_element_commit_state),
16112         (gst_element_lost_state):
16113         * gst/gstelement.h:
16114         Make get/set_clock() symetric. Add provide_clock vmethod since
16115         that is actually what this function does.
16116
16117         * gst/gstpipeline.c: (gst_pipeline_class_init),
16118         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func),
16119         (gst_pipeline_get_clock):
16120         get_clock -> provide_clock.
16121
16122 2005-09-28  Andy Wingo  <wingo@pobox.com>
16123
16124         * gst/base/gstbasesrc.c (gst_base_src_unlock): Comment a bit in
16125         lieu of real docs...
16126
16127         * gst/elements/gstfdsrc.c: Cleaned up a bit.
16128
16129 2005-09-28  Tim-Philipp Müller  <tim at centricular dot net>
16130
16131         * gst/elements/gstcapsfilter.c:
16132         * gst/elements/gstfakesink.c:
16133         * gst/elements/gstfakesrc.c:
16134         * gst/elements/gstfdsink.c:
16135         * gst/elements/gstfdsrc.c:
16136         * gst/elements/gstfilesink.c:
16137         * gst/elements/gstfilesrc.c:
16138         * gst/elements/gstidentity.c:
16139         * gst/elements/gsttee.c:
16140         * gst/elements/gsttypefindelement.c:
16141           Make element details static.
16142
16143 2005-09-28  Wim Taymans  <wim@fluendo.com>
16144
16145         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
16146         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
16147         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
16148         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
16149         (gst_bin_change_state), (gst_bin_dispose):
16150         Some documentation updates.
16151         Clean up dispose handlers.
16152
16153         * gst/gstobject.c: (gst_object_ref), (gst_object_unref):
16154         * gst/gstpad.c: (gst_pad_dispose):
16155         Clean up dispose handler.
16156
16157         * gst/gstpipeline.c: (gst_pipeline_change_state):
16158         Removed spurious UNLOCK.
16159
16160 2005-09-27  Stefan Kost  <ensonic@users.sf.net>
16161
16162         * docs/gst/gstreamer-sections.txt:
16163         * gst/base/gstbasesrc.h:
16164         * gst/gstelement.h:
16165         * gst/gstevent.h:
16166         * gst/gstobject.h:
16167         * gst/gstpad.h:
16168         * gst/gstpipeline.c:
16169         * gst/gstpipeline.h:
16170         * gst/gstutils.h:
16171         * gst/gstxml.h:
16172           added two new functions to the docs
16173                 documents all undocumented GstXXXFlags
16174                 completed some incomplete docs 
16175
16176 2005-09-27  Thomas Vander Stichele  <thomas at apestaart dot org>
16177
16178         * gst/gstbin.c: (gst_bin_dispose):
16179         * gst/gstelement.c: (gst_element_dispose):
16180           remove now useless and leaky resurrection code in dispose
16181         * gst/base/gstbasesrc.c: (gst_base_src_init):
16182         * gst/gstelementfactory.c: (gst_element_factory_create):
16183         * gst/gstobject.c: (gst_object_set_parent):
16184           add some debugging
16185
16186 2005-09-27  Wim Taymans  <wim@fluendo.com>
16187
16188         * docs/design/part-TODO.txt:
16189         Update TODO.
16190
16191         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
16192         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
16193         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
16194         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
16195         (gst_bin_change_state):
16196         * gst/gstelement.h:
16197         Remove element variable, we keep element info in the iterator now.
16198
16199 2005-09-27  Andy Wingo  <wingo@pobox.com>
16200
16201         * libs/gst/dataprotocol/dataprotocol.c: Fix error-checking return
16202         values.
16203
16204 2005-09-27  Wim Taymans  <wim@fluendo.com>
16205
16206         * check/gst/gstbin.c: (GST_START_TEST):
16207         Enable check that works now.
16208
16209         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
16210         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
16211         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
16212         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
16213         (gst_bin_change_state):
16214         * gst/gstbin.h:
16215         Redid the state change algorithm using a topological sort algo.
16216         Handles all cases correctly.
16217         Exposed iterator for state change order.
16218
16219         * gst/gstelement.h:
16220         Temp storage for state changes. Need to get rid of this soon.
16221
16222 2005-09-27  Wim Taymans  <wim@fluendo.com>
16223
16224         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_do_push):
16225         * gst/gstutils.c: (intersect_caps_func), (gst_pad_proxy_getcaps),
16226         (link_fold_func), (gst_pad_proxy_setcaps):
16227         Leak fixes, the fold functions need to unref the passed object and
16228         _get_parent_*() returns ref to parent.
16229
16230 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
16231
16232         * check/gst/gstbuffer.c: (test_make_writable):
16233           Plug leak in test case and fix 'make check-valgrind'
16234
16235 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
16236
16237         * gst/gstbuffer.c: (gst_subbuffer_init):
16238           Set READONLY flag on subbuffers, so that gst_buffer_make_writable()
16239           works correctly in all circumstances (we could have just copied
16240           the parent buffer's readonly flag, but conceptually it seems
16241           cleaner to mark all subbuffers as read-only). (based on patch
16242           by Alessandro Decina, #314710).
16243         
16244         * check/gst/gstbuffer.c: (create_read_only_buffer),
16245         (test_make_writable), (test_subbuffer_make_writable),
16246         (gst_test_suite):
16247           Add some tests for gst_buffer_make_writable().
16248
16249 2005-09-27  Wim Taymans  <wim@fluendo.com>
16250
16251         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_change_state):
16252         use gst_object_has_ancestor().
16253
16254         * gst/gstobject.c: (gst_object_has_ancestor):
16255         * gst/gstobject.h:
16256         gst_object_has_ancestor() copied from gstbin.c as it is a
16257         useful function.
16258
16259         * tests/instantiate/create.c: (create_all_elements):
16260         * tests/lat.c: (handoff_src), (handoff_sink):
16261         * tests/sched/runxml.c: (main):
16262         * tests/seeking/seeking1.c: (main):
16263         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
16264         (main):
16265         Fix compilation of some tests.
16266
16267 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
16268
16269         * gst/gsterror.h:
16270           Remove comment. GST_TYPE_G_ERROR is here to stay,
16271           G_TYPE_ERROR has been WONTFIX'ed by the GLib folks
16272           (#316961, #300610).
16273
16274 2005-09-26  Wim Taymans  <wim@fluendo.com>
16275
16276         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
16277         Added check that shows error in state change order.
16278
16279 2005-09-26  Wim Taymans  <wim@fluendo.com>
16280
16281         * gst/gstbin.c: (gst_bin_change_state):
16282         Make state change function use 3 queues again, we were
16283         adding elements in the wrong order.
16284
16285         * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
16286         Some debug info,
16287
16288         * gst/gstpad.c: (gst_pad_dispose):
16289         Added some debug info first.
16290
16291 2005-09-26  Tim-Philipp Müller  <tim at centricular dot net>
16292
16293         * docs/design/draft-push-pull.txt:
16294         * docs/design/part-events.txt:
16295         * docs/design/part-overview.txt:
16296         * docs/design/part-scheduling.txt:
16297           Replace all _pull_region() with _pull_range()
16298           
16299 2005-09-26  Andy Wingo  <wingo@pobox.com>
16300
16301         * gst/gstvalue.c (_gst_value_initialize): Better fakeout.
16302
16303         * check/gst-libs/controller.c: Update for controller api change.
16304
16305         * configure.ac: 
16306         * tests/Makefile.am:
16307         * tests/memchunk: Remove memchunk benchmark stuff, this is taken
16308         over by GLib bug 118439.
16309         
16310         * gst/base/gstbasesink.c (gst_base_sink_wait): Factor out the wait
16311         routines to a function.
16312
16313         * docs/libs/gstreamer-libs-sections.txt: I am a good person today.
16314
16315         * libs/gst/controller/gsthelper.c:
16316         * libs/gst/controller/gstcontroller.h (gst_controller_sync_values)
16317         (gst_object_sync_values): Renamed from sink_values. Ugh.
16318
16319         * libs/gst/controller/gsthelper.c: Update for __gst_controller_key.
16320
16321         * libs/gst/controller/gstcontroller.c (__gst_controller_key):
16322         Renamed from controller_key, as it is exported.
16323
16324         * gst/gstvalue.c (_gst_value_initialize): Fake out the compiler.
16325
16326 2005-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>
16327
16328         * gst/Makefile.am:
16329         * gst/gst.h:
16330         * gst/gstpad.h:
16331         * gst/gstpadtemplate.h:
16332         * gst/gstquery.c:
16333         * gst/gstquery.h:
16334         * gst/gstqueryutils.c:
16335         * gst/gstqueryutils.h:
16336           remove queryutils headers after moving the two used functions
16337           to gstquery.  also fixes build problem for gstsiddec
16338
16339 2005-09-26  Michael Smith <msmith@fluendo.com>
16340
16341         * tools/gst-launch.1.in:
16342         Correct documentation in manpage of debug syntax
16343
16344 2005-09-26  Wim Taymans  <wim@fluendo.com>
16345
16346         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
16347         (gst_base_src_is_seekable), (gst_base_src_change_state):
16348         Some more debugging info.
16349
16350 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
16351
16352         * docs/gst/gstreamer-sections.txt:
16353         * gst/base/gstbasetransform.h:
16354         * gst/gstindex.h:
16355           added more docs
16356
16357 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
16358
16359         * docs/gst/.cvsignore:
16360         * docs/gst/tmpl/.cvsignore:
16361         * docs/gst/tmpl/gstpipeline.sgml:
16362         * docs/gst/tmpl/gstplugin.sgml:
16363         * gst/gstpipeline.c:
16364         * gst/gstplugin.c:
16365         * gst/gstplugin.h:
16366           inlined the last two docs files
16367           removed the tmpl directory from cvs (no more conflicts here!)
16368
16369 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
16370
16371         * docs/gst/gstreamer-sections.txt:
16372         * docs/gst/tmpl/.cvsignore:
16373         * docs/gst/tmpl/gstpad.sgml:
16374         * docs/gst/tmpl/gstpadtemplate.sgml:
16375         * gst/Makefile.am:
16376         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
16377         (gst_pad_finalize), (gst_pad_set_pad_template):
16378         * gst/gstpad.h:
16379         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
16380         (gst_pad_template_class_init), (gst_pad_template_init),
16381         (gst_pad_template_dispose), (name_is_valid),
16382         (gst_static_pad_template_get), (gst_pad_template_new),
16383         (gst_static_pad_template_get_caps), (gst_pad_template_get_caps),
16384         (gst_pad_template_pad_created):
16385         * gst/gstpadtemplate.h:
16386           inlined two more docs
16387           factored gstpadtemplate out of gstpad
16388
16389 2005-09-24  Tim-Philipp Müller  <tim at centricular dot net>
16390
16391         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
16392         (test_children_state_change_order_semi_sink):
16393           Fix test case: we can't rely on a fixed state change order when
16394           going from READY => PAUSED because the sink might commit its 
16395           new state first when the first buffer created by the source 
16396           reaches the sink before the source has finished its change state.
16397           (Test case still fails at times, see #316856, comment 5 onwards)
16398
16399 2005-09-24  Wim Taymans  <wim@fluendo.com>
16400
16401         * docs/design/part-events.txt:
16402         * docs/design/part-gstbus.txt:
16403         * docs/design/part-gstpipeline.txt:
16404         * docs/design/part-messages.txt:
16405         * docs/design/part-overview.txt:
16406         * docs/design/part-segments.txt:
16407         * gst/gstbin.c:
16408         * gst/gstbuffer.c:
16409         * gst/gstclock.c:
16410         * gst/gstelement.c:
16411         * gst/gstevent.c:
16412         * gst/gstfilter.c:
16413         * gst/gstiterator.c:
16414         Various documentation updates.
16415
16416 2005-09-24  Thomas Vander Stichele  <thomas at apestaart dot org>
16417
16418         * gst/gstclock.h:
16419           Well, that's embarassing.  Luckily we weren't using
16420           GST_CLOCK_DIFF anywhere.
16421
16422 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
16423
16424         * common/gtk-doc.mak:
16425           don't fail on building XML, FC4 slave shows a bunch of doc
16426           missing bits that I don't get
16427         * gst/gstpad.c:
16428         * gst/gstpipeline.c:
16429         * gst/gststructure.c:
16430           some doc updates
16431
16432 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
16433
16434         * docs/design/part-gstbin.txt:
16435         * docs/design/part-gstbus.txt:
16436         * gst/gstbus.c:
16437           Add blurb about how the bus goes into flushing mode and
16438           drops all messages when its bin goes from READY into NULL 
16439           state.
16440
16441 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
16442
16443         * docs/gst/gstreamer-sections.txt:
16444         * gst/gststructure.c: (gst_structure_get_clock_time):
16445         * gst/gststructure.h:
16446           add a method to get a GstClockTime out of a structure
16447
16448 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
16449
16450         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
16451         (test_children_state_change_order_semi_sink), (gst_bin_suite):
16452           Added test to check state change order in bins (can still be made
16453           to fail here under heavy disk load; bails out with 'Push on pad
16454           fakesink:sink0, but it was not activated in push mode').
16455
16456         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_change_state):
16457           Fix state change order when there is only a semi sink (#316856)
16458
16459         * gst/gstbus.c: (gst_bus_class_init):
16460           Use _class_peek_parent(), not _class_ref(); fix docs to say
16461           'default main context' instead of 'mainloop' where that is
16462           what's meant.
16463
16464         * gst/gstelement.c: (gst_element_commit_state),
16465         (gst_element_set_state):
16466           Fix typos in debug messages
16467
16468 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
16469
16470         * docs/README:
16471         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_chain):
16472         * gst/gstpluginfeature.c:
16473         * gst/gstutils.c:
16474           various doc updates
16475         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
16476           change an assert into an error until it gets fixed properly
16477
16478 2005-09-23  Stefan Kost  <ensonic@users.sf.net>
16479
16480         * docs/gst/gstreamer-sections.txt:
16481         * docs/gst/tmpl/.cvsignore:
16482         * docs/gst/tmpl/gstelement.sgml:
16483         * docs/gst/tmpl/gstinfo.sgml:
16484         * docs/gst/tmpl/gstobject.sgml:
16485         * gst/gstelement.c:
16486         * gst/gstelement.h:
16487         * gst/gstinfo.c:
16488         * gst/gstinfo.h:
16489         * gst/gstobject.c: (gst_object_class_init):
16490         * gst/gstobject.h:
16491           inlined 3 more biiiig doc files and added some missing docs on the fly
16492
16493 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
16494
16495         * check/gst/.cvsignore:
16496         * check/gst/gstplugin.c: (GST_START_TEST), (gst_plugin_suite):
16497         * gst/gstregistryxml.c: (load_plugin),
16498         (gst_registry_xml_save_plugin):
16499           put back source in registry.  add checks for find_plugin.
16500         * testsuite/states/bin.c: (assert_state), (empty_bin),
16501         (test_adding_one_element), (main):
16502         * testsuite/states/locked.c: (main):
16503           some compile/run fixes
16504
16505 2005-09-22  Thomas Vander Stichele  <thomas at apestaart dot org>
16506
16507         * check/gst/gstvalue.c: (GST_START_TEST):
16508           fix leaks in the test itself
16509
16510 2005-09-22  Wim Taymans  <wim@fluendo.com>
16511
16512         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
16513         (gst_base_sink_send_event), (gst_base_sink_peer_query),
16514         (gst_base_sink_query):
16515         Prepare for more accurate position reporting and query
16516         handling.
16517
16518         * gst/gstelement.c: (gst_element_send_event),
16519         (gst_element_set_state):
16520         Add some comment.
16521
16522 2005-09-22  Wim Taymans  <wim@fluendo.com>
16523
16524         * gst/gstquery.c: (gst_query_new_segment), (gst_query_set_segment),
16525         (gst_query_parse_segment):
16526         * gst/gstquery.h:
16527         More documentation.
16528         Add segment query for future use.
16529
16530 2005-09-22  Wim Taymans  <wim@fluendo.com>
16531
16532         * gst/gstbin.c: (gst_bin_add_func):
16533         Some more debug info.
16534
16535         * gst/gstelement.c: (gst_element_send_event):
16536         Simplify send_event
16537
16538         * gst/gstelement.h:
16539         Don't know how flags got broken.
16540
16541         * gst/gstquery.h:
16542         Added new query.
16543
16544 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
16545
16546         * check/gst/gstvalue.c: (test_date), (gst_value_suite):
16547           Add simplistic test suite for GST_TYPE_DATE serialisation and
16548           deserialisation.
16549
16550 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
16551
16552         * docs/gst/gstreamer-sections.txt:
16553         * gst/gststructure.c: (gst_structure_set_valist),
16554         (gst_structure_get_date):
16555         * gst/gststructure.h:
16556         * gst/gstvalue.c: (gst_value_set_date), (gst_value_get_date),
16557         (gst_date_copy), (gst_value_compare_date),
16558         (gst_value_serialize_date), (gst_value_deserialize_date),
16559         (gst_value_transform_date_string),
16560         (gst_value_transform_string_date), (_gst_value_initialize):
16561         * gst/gstvalue.h:
16562           Add GST_TYPE_DATE, a boxed type that wraps GDate, and the usual
16563           bunch of utility functions along with a hack that checks that
16564           developers don't accidentally use G_TYPE_DATE where GST_TYPE_DATE
16565           is required. Part of the grand scheme in #170777.
16566
16567 2005-09-22  Andy Wingo  <wingo@pobox.com>
16568
16569         * gst/gstconfig.h.in: Psych out gtk-doc.
16570
16571         * docs/gst/gstreamer-sections.txt: Add GST_HAVE_GLIB_2_8.
16572
16573         * check/Makefile.am (check_PROGRAMS): Add gstplugin to the tests.
16574
16575         * tools/gst-inspect.c (print_element_list): Plug some
16576         inconsequential leaks.
16577
16578         * gst/gstregistry.c (gst_registry_get_default): Doc.
16579
16580         * check/gst/gstplugin.c: 
16581         * gst/gsttypefindfactory.c (gst_type_find_factory_call_function):
16582         * gst/gstelementfactory.c (gst_element_factory_create): 
16583         * gst/gstindexfactory.c (gst_index_factory_create): Update for
16584         refcount changes.
16585
16586         * gst/gstpluginfeature.c (gst_plugin_feature_list_free): Doc.
16587         (gst_plugin_feature_load): Doc, don't eat refs.
16588
16589         * gst/gstplugin.c (gst_plugin_load): Doc, don't eat refs.
16590         (gst_plugin_list_free): Doc.
16591         (gst_plugin_load_file): Doc updates.
16592
16593         * gst/gstbuffer.c (gst_buffer_get_caps): Like all our _get
16594         accessors returning refcounted objects, return a ref.
16595
16596         * check/gst/gstbuffer.c (GST_START_TEST): Use refcount-idempotent
16597         accessor for caps. IDEMPOTENCE. Oh yes.
16598
16599 2005-09-21  Francis Labonte  <francis_labonte at hotmail dot com>
16600
16601         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
16602
16603         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
16604         (_gst_debug_register_funcptr):
16605           Add mutex to serialise access to the hash table with
16606           the function pointer => function name string mapping;
16607           make that hash table static scope (#316809).
16608
16609         * gst/registries/.cvsignore:
16610           Remove left-over file.
16611
16612 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
16613
16614         * docs/pwg/appendix-porting.xml:
16615           And something about newsegment events and caps-on-buffers to
16616           the porting guide (feel free to improve).
16617
16618 2005-09-21  Andy Wingo  <wingo@pobox.com>
16619
16620         * check/gst/gstutils.c (test_buffer_probe_n_times): Add tests for
16621         data and event probes on the same pad.
16622         (test_buffer_probe_once): Test that removing probes from within
16623         the probe functions works.
16624
16625 2005-09-21  Andy Wingo  <wingo@pobox.com>
16626
16627         * check/gst/gstutils.c: New file.
16628         (test_buffer_probe_n_times): A simple buffer probe test. More to
16629         come, foolios.
16630
16631         * gst/gstutils.c (gst_pad_add_buffer_probe): Connect to
16632         have-data::buffer, not have-data.
16633         (gst_pad_add_event_probe): Likewise for have-data::event.
16634         (gst_pad_add_data_probe): More docs. The part about 'resolving the
16635         peer' isn't quite right yet though.
16636         (gst_pad_remove_buffer_probe, gst_pad_remove_event_probe) 
16637         (gst_pad_remove_data_probe): Change to take the guint handler_id
16638         as their arg, not the function+data, which is more glib-like.
16639
16640         * gst/gstpad.c (gst_pad_emit_have_data_signal): Add a detail to
16641         the signal emission to indicate if the data is a buffer or an
16642         event.
16643         (gst_pad_get_type): Initialize buffer and event quarks.
16644         (gst_pad_class_init): have-data is now a detailed signal, yes it
16645         is.
16646
16647 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
16648
16649         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
16650         * gst/gstutils.c: (gst_util_set_value_from_string),
16651         (gst_util_set_object_arg):
16652           Don't put functional code in g_return_if_fail() or
16653           g_return_val_if_fail() statements, otherwise things will 
16654           break when G_DISABLE_CHECKS is defined during compilation.
16655
16656 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
16657
16658         * docs/gst/tmpl/.cvsignore:
16659         * docs/gst/tmpl/gstvalue.sgml:
16660         * gst/gstvalue.c:
16661         * gst/gstvalue.h:
16662           inlied another one and added  some obvious docs
16663
16664 2005-09-21  Wim Taymans  <wim@fluendo.com>
16665
16666         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
16667         (gst_fdsrc_init), (gst_fdsrc_start), (gst_fdsrc_stop),
16668         (gst_fdsrc_unlock), (gst_fdsrc_set_property),
16669         (gst_fdsrc_get_property), (gst_fdsrc_create):
16670         * gst/elements/gstfdsrc.h:
16671         Properly implement fdsrc. Removed signal and timeout,
16672         better implemented somewhere else.
16673
16674 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
16675
16676         * docs/gst/tmpl/.cvsignore:
16677         * docs/gst/tmpl/gstimplementsinterface.sgml:
16678         * gst/gstinterface.c:
16679           inlined more docs
16680
16681 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
16682
16683         * docs/gst/gstreamer-sections.txt:
16684         * docs/gst/tmpl/.cvsignore:
16685         * docs/gst/tmpl/gstenumtypes.sgml:
16686           remove obsolete doc file
16687
16688 2005-09-21  David Schleef  <ds@schleef.org>
16689
16690         * gst/gstelementfactory.c: (gst_element_factory_make): Drink a
16691         little beer, fix a little leak.
16692
16693 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
16694
16695         * docs/gst/gstreamer-docs.sgml:
16696         * docs/gst/gstreamer-sections.txt:
16697         * docs/gst/tmpl/.cvsignore:
16698         * gst/Makefile.am:
16699         * gst/gst.h:
16700         * gst/gstbin.c:
16701         * gst/gstelement.h:
16702         * gst/gstindex.c: (gst_index_class_init):
16703         * gst/gstindex.h:
16704         * gst/gstindexfactory.c: (gst_index_factory_get_type),
16705         (gst_index_factory_class_init), (gst_index_factory_init),
16706         (gst_index_factory_finalize), (gst_index_factory_new),
16707         (gst_index_factory_destroy), (gst_index_factory_find),
16708         (gst_index_factory_create), (gst_index_factory_make):
16709         * gst/gstindexfactory.h:
16710         * gst/gstpluginfeature.c:
16711         * gst/gstpluginfeature.h:
16712         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
16713           more docs inlined, splitted gstindex.{c,h}
16714
16715 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
16716
16717         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
16718           fix a leak
16719
16720 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
16721
16722         * gst/elements/gstfilesink.c: (gst_file_sink_init):
16723           Set sync to FALSE by default.
16724
16725 2005-09-20  Wim Taymans  <wim@fluendo.com>
16726
16727         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
16728         (gst_base_sink_init):
16729         Make sync property settable from subclass.
16730
16731         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
16732         (gst_fake_sink_change_state):
16733         Set sync to FALSE by default.
16734
16735 2005-09-20  Wim Taymans  <wim@fluendo.com>
16736
16737         * gst/gstbus.c: (poll_func), (poll_timeout), (gst_bus_poll):
16738         * tools/gst-launch.c: (main):
16739         The timeout handler should have lower priority than the source
16740         so we don't timeout before popping a message with 0 timeout.
16741         Dump error messages after failed state change.
16742
16743 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
16744
16745         * tools/gst-inspect.c: (print_element_properties_info):
16746           Fix two typos.
16747
16748 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
16749
16750         * check/gst/gstevent.c:
16751         * gst/elements/gstfakesink.c:
16752         * gst/elements/gstfakesink.h:
16753           remove the sync property from fakesink.
16754           has the side effect of setting sync TRUE
16755           for fakesink, which is a change.  Anyone who knows how
16756           to fix this nicely in a GObject-y way, feel free.
16757
16758 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
16759
16760         * docs/gst/gstreamer-docs.sgml:
16761           remove probe refsection
16762
16763 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
16764
16765         * check/Makefile.am:
16766           disable valgrinding the controller test again
16767         * docs/gst/gstreamer-sections.txt:
16768           update for api-changes
16769
16770 2005-09-20  Wim Taymans  <wim@fluendo.com>
16771
16772         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
16773         (gst_base_sink_set_property), (gst_base_sink_get_property),
16774         (gst_base_sink_do_sync):
16775         * gst/base/gstbasesink.h:
16776         Added sync property to basesink to disable clock sync.
16777
16778 2005-09-20  Andy Wingo  <wingo@pobox.com>
16779
16780         * gst/gstelementfactory.c (gst_element_factory_create): Avoid
16781         eating the caller's refcount.
16782
16783         * gst/gstobject.h (GST_OBJECT_REFCOUNT) 
16784         (GST_OBJECT_REFCOUNT_VALUE): Conditionally fondle the right
16785         refcount.
16786
16787         * gst/gstconfig.h.in (GST_HAVE_GLIB_2_8):
16788         * configure.ac (GST_HAVE_GLIB_2_8_DEFINE): Make the availability
16789         of GLib 2.8 public, so we can know which refcount to check in
16790         tests.
16791
16792         * gst/gstobject.c: Use the GST_HAVE_GLIB_2_8 define.
16793         (gst_object_init): Only set the gst refcount if we're going ahead
16794         with the refcount hack.
16795
16796 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
16797
16798         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
16799         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
16800           more leaks plumbed, added more debug-logging
16801         * gst/gstmacros.h:
16802           whitespace fix
16803
16804 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
16805
16806         * gst/gstmessage.c:
16807           remove include of gstmemchunk.h
16808
16809 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
16810
16811         * gst/gstclock.c: (_gst_clock_id_free):
16812           Commit from the Political Party For More Atomic CVS Commits,
16813           so that people don't waste too much of their day fishing
16814           out obvious leaks out of massive commits.
16815           Oh, and fix a pretty damn obvious leak in the memchunk
16816           removal code.
16817
16818 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
16819
16820         * check/Makefile.am:
16821         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
16822           plug mem-leak, re-add to valgrindable tests
16823
16824 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
16825
16826         * gst/gstplugin.h:
16827           unbreak the build for those who have chronic arthritis
16828           and typing "make check" is just too taxing on the hands
16829
16830 2005-09-20  Andy Wingo  <wingo@pobox.com>
16831
16832         * gst/gst.h: Re-add marshal to gst.h's include list -- if we
16833         really want it out, you should fix plugins at the same time.
16834
16835 2005-09-19  Stefan Kost  <ensonic@users.sf.net>
16836
16837         * configure.ac:
16838         * docs/gst/gstreamer-sections.txt:
16839         * gst/gstobject.c:
16840           added missing symbols to api docs
16841           disable ref-count hack if we have glib >= 2.8
16842
16843 2005-09-19  David Schleef  <ds@schleef.org>
16844
16845         * docs/gst/Makefile.am: Ignore a few more internal headers
16846         * docs/gst/gstreamer-docs.sgml: Remove old sections
16847         * docs/gst/gstreamer-sections.txt: Remove old sections
16848         * docs/gst/tmpl/gstobject.sgml: update
16849         * docs/gst/tmpl/gstplugin.sgml: update
16850         * docs/gst/tmpl/gstpluginfeature.sgml: update
16851         * docs/random/ds/0.9-suggested-changes: update.
16852         * gst/Makefile.am: remove memchunk and trashstack, since they're
16853           not used.
16854         * gst/gst.c: (gst_deinit): rename gst_registry_deinit to _cleanup
16855         * gst/gst.h: don't include some headers
16856         * gst/gstchildproxy.c: add gstmarshal.h
16857         * gst/gstclock.c: Don't use memchunks
16858         * gst/gstminiobject.c: Add some docs
16859         * gst/gstobject.c: remove DESTROYED flag, since it's redundant
16860         * gst/gstobject.h: same
16861         * gst/gstplugin.c: include gstmacros.h
16862         * gst/gstplugin.h: don't include gstmacros.h, since it's private
16863         * gst/gstquery.c: don't use memchunks
16864         * gst/gstregistry.c: rename gst_registry_deinit()
16865         * gst/gstregistry.h: same
16866
16867 2005-09-19  David Schleef  <ds@schleef.org>
16868
16869         * docs/libs/gstreamer-libs-docs.sgml: Remove docs for getbits
16870         * docs/libs/gstreamer-libs-sections.txt:
16871         * docs/libs/tmpl/gstgetbits.sgml:
16872         * docs/libs/tmpl/gstputbits.sgml:
16873
16874 2005-09-19  Tim-Philipp Müller  <tim at centricular dot net>
16875
16876         * win32/gstenumtypes.c:
16877         * win32/gstenumtypes.h:
16878           Update.
16879
16880 2005-09-19  Wim Taymans  <wim@fluendo.com>
16881
16882         * gst/gstpipeline.c: (do_pipeline_seek), (gst_pipeline_send_event):
16883         Automatically PAUSE and RESUME a pipeline when a flushing seek
16884         is performed.
16885
16886 2005-09-19  Andy Wingo  <wingo@pobox.com>
16887
16888         * gst/gstregistry.h: Spacing fixen.
16889
16890 2005-09-19  Wim Taymans  <wim@fluendo.com>
16891
16892         * gst/base/gstbasesrc.c: (gst_base_src_change_state):
16893         Handle state change failure more correctly.
16894
16895 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
16896
16897         * check/Makefile.am:
16898         * check/pipelines/cleanup.c: (run_pipeline):
16899         * check/pipelines/simple_launch_lines.c: (run_pipeline),
16900         (GST_START_TEST):
16901           enable cleanup again after fixing the leak
16902         * docs/README:
16903           some more info on docs
16904
16905 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
16906
16907         * check/Makefile.am:
16908           re-enable tests now that leaks are plugged
16909         * check/gst/gst.c:
16910         * check/gst/gstbin.c:
16911         * check/gst/gstpipeline.c:
16912           add some more tests while fixing leaks
16913         * common/check.mak:
16914           make sure binaries are uptodate when valgrinding/gdbing
16915         * gst/gst.c:
16916         * gst/gstelementfactory.c:
16917           remove a ref too many, and add a FIXME for when we get
16918           round to disposing of classes
16919         * gst/gstplugin.c:
16920           fix the refcounting when loading a plugin from a file and
16921           the code pretends that the pointer is the same even though
16922           of course it can change
16923         * gst/gstpluginfeature.c:
16924           unref plugins marked cached (a bit confusing as a name)
16925           as the docs state should be done
16926           various doc additions to explain refcounting
16927         * gst/gstregistry.c:
16928         * gst/gstregistryxml.c:
16929           debugging
16930
16931 2005-09-19  Wim Taymans  <wim@fluendo.com>
16932
16933         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
16934         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
16935         (send_messages), (GST_START_TEST), (gstbus_suite):
16936         * check/gst/gstpipeline.c: (GST_START_TEST):
16937         * check/pipelines/cleanup.c: (run_pipeline):
16938         * check/pipelines/simple_launch_lines.c: (run_pipeline),
16939         (GST_START_TEST):
16940         * gst/gstbus.c: (gst_bus_have_pending), (gst_bus_source_prepare),
16941         (gst_bus_source_check), (gst_bus_source_dispatch),
16942         (gst_bus_create_watch), (gst_bus_add_watch_full),
16943         (gst_bus_add_watch), (poll_func), (poll_timeout), (gst_bus_poll):
16944         * gst/gstbus.h:
16945         * tools/gst-launch.c: (event_loop):
16946         * tools/gst-md5sum.c: (event_loop):
16947         GstBusHandler -> GstBusFunc, return value has the same meaning as
16948         any other GSource (FALSE == remove source).
16949         _add_watch() and _add_watch_full() now take a MessageType mask to
16950         only handle specific types of messages.
16951         _poll() returns the GstMessage instead of the message type to avoid
16952         race conditions.
16953         _have_pending() takes a MessageType mask now too.
16954         Added testsuite for multiple bus watches.
16955         Fix testsuites and applications for new bus API.
16956
16957 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
16958
16959         * check/Makefile.am:
16960           mark a bunch of the tests as to fix until we fix them
16961
16962 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
16963
16964         * common/check.mak:
16965           use GST_PLUGIN settings for valgrind tests as well, so we're
16966           valgrinding the correct thing
16967         * gst/gst.c: (init_post):
16968           plug another leak
16969
16970 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
16971
16972         * gst/gst.c: (init_post), (gst_deinit):
16973         * gst/gstelementfactory.c: (gst_element_factory_class_init),
16974         (gst_element_factory_finalize), (gst_element_factory_cleanup):
16975         * gst/gstindex.c: (gst_index_factory_class_init),
16976         (gst_index_factory_finalize):
16977         * gst/gstobject.c: (gst_object_dispose):
16978         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
16979         (gst_plugin_load_file), (gst_plugin_desc_free):
16980         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init),
16981         (gst_plugin_feature_finalize):
16982         * gst/gstregistry.c: (gst_registry_class_init),
16983         (gst_registry_init), (gst_registry_finalize),
16984         (gst_registry_get_default), (gst_registry_deinit):
16985         * gst/gstregistry.h:
16986         * gst/gstregistryxml.c: (load_feature), (load_plugin):
16987           various cleanups and memleak plugging.  make valgrind is happy now.
16988
16989 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
16990
16991         * common/check.mak:
16992           add a check-valgrind target
16993
16994 2005-09-18  David Schleef  <ds@schleef.org>
16995
16996         * tools/gst-inspect.c: Revert the GOption code.
16997
16998 2005-09-17  David Schleef  <ds@schleef.org>
16999
17000         * check/Makefile.am: Fix environment variables.
17001         * check/gst/gstplugin.c: Fix for API changes.
17002         * tools/gst-inspect.c: Fix for API changes.
17003         * tools/gst-xmlinspect.c: Fix for API changes.
17004         * gst/gstelementfactory.c:
17005         * gst/gstplugin.c:
17006         * gst/gstplugin.h:
17007         * gst/gstpluginfeature.c:
17008         * gst/gstpluginfeature.h:
17009         * gst/gstregistry.c:
17010         * gst/gstregistry.h:
17011         * gst/gstregistryxml.c:
17012         * gst/gsttypefind.c:
17013         * gst/gsttypefindfactory.c:
17014         * gst/indexers/gstfileindex.c:
17015         * gst/indexers/gstmemindex.c:
17016         * gst/schedulers/Makefile.am:
17017           Change registry to keep track of both plugins and features,
17018           removing the feature tracking from plugins themselves.
17019
17020 2005-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
17021
17022         * check/Makefile.am:
17023         * tools/gst-register.1.in:
17024           remove gst-register
17025
17026 2005-09-15  David Schleef  <ds@schleef.org>
17027
17028         * check/gst/gstplugin.c:
17029         * gst/gstelementfactory.c:
17030         * gst/gstplugin.c:
17031         * gst/gstpluginfeature.c:
17032         * gst/gstregistry.c:
17033           Getting tired of debugging.  Disabled all the unreffing of
17034           plugins and features, which fixes the segfaults, but of
17035           course leaks like crazy.  At least playbin works.
17036
17037 2005-09-15  David Schleef  <ds@schleef.org>
17038
17039         * check/gst/gstplugin.c: (register_check_elements),
17040         (GST_START_TEST), (peek), (suggest), (gst_plugin_suite):
17041         More testing
17042         * gst/elements/gsttypefindelement.c: Fix refcounting.
17043         * gst/gsttypefind.c:
17044         * gst/gsttypefindfactory.c:
17045         * gst/gsttypefindfactory.h:
17046
17047 2005-09-15  David Schleef  <ds@schleef.org>
17048
17049         * gst/gstindex.c: get refcounting correct.
17050         * gst/gstregistry.c: Handle the case where a feature/plugin is
17051           not found.
17052
17053 2005-09-15  David Schleef  <ds@schleef.org>
17054
17055         * check/Makefile.am:
17056         * check/gst/gstplugin.c: Add test
17057         * gst/gstplugin.c: Fix problems noticed by testsuite
17058         * gst/gstplugin.h:
17059         * gst/gstregistry.c: 
17060         * gst/gstregistry.h:
17061
17062 2005-09-15  David Schleef  <ds@schleef.org>
17063
17064         * gst/gstplugin.c: Implement semi-decent recounting and locking
17065           in plugins and plugin features.
17066         * gst/gstplugin.h:
17067         * gst/gstpluginfeature.c:
17068         * gst/gstpluginfeature.h:
17069         * gst/gstregistry.c:
17070
17071 2005-09-15  Michael Smith <msmith@fluendo.com>
17072
17073         * gst/gstregistry.c: (gst_registry_get_feature_list):
17074           Implement this. Makes oggdemux work; decodebin still broken.
17075
17076 2005-09-14  David Schleef  <ds@schleef.org>
17077
17078         * configure.ac: Add -no-undefined to GST_PLUGIN_LDFLAGS (bug
17079           #316076)
17080         * gst/base/Makefile.am: Add -no-undefined to LDFLAGS for libs
17081         * gst/check/Makefile.am:
17082         * libs/gst/controller/Makefile.am:
17083         * libs/gst/dataprotocol/Makefile.am:
17084
17085 2005-09-14  David Schleef  <ds@schleef.org>
17086
17087         * configure.ac: Remove getbits library.  Nothing uses it, and
17088           it should be in something like liboil if someone did want
17089           to use it.
17090         * libs/gst/Makefile.am:
17091         * libs/gst/getbits/Makefile.am:
17092         * libs/gst/getbits/gbtest.c:
17093         * libs/gst/getbits/getbits.c:
17094         * libs/gst/getbits/getbits.h:
17095         * libs/gst/getbits/gstgetbits_generic.c:
17096         * libs/gst/getbits/gstgetbits_i386.s:
17097         * libs/gst/getbits/gstgetbits_inl.h:
17098
17099 2005-09-14  David Schleef  <ds@schleef.org>
17100
17101         * gst/Makefile.am: Dist glib-compat.h
17102
17103 2005-09-14  David Schleef  <ds@schleef.org>
17104
17105         * configure.ac: Remove gst/registries, since it's no longer used.
17106         * gst/registries/Makefile.am:
17107         * gst/registries/gstlibxmlregistry.c:
17108         * gst/registries/gstlibxmlregistry.h:
17109         * gst/registries/gstxmlregistry.c:
17110         * gst/registries/gstxmlregistry.h:
17111         * gst/registries/registrytest.c:
17112
17113 2005-09-14  David Schleef  <ds@schleef.org>
17114
17115         * gst/glib-compat.h:
17116         * gst/gstregistryxml.c:
17117           Convergence is near.  Seriously.
17118
17119 2005-09-14  David Schleef  <ds@schleef.org>
17120
17121         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
17122         * gst/glib-compat.h:
17123           Attempt #4 to appease the buildbots.
17124
17125 2005-09-14  David Schleef  <ds@schleef.org>
17126
17127         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
17128           Attempt #3.
17129
17130 2005-09-14  David Schleef  <ds@schleef.org>
17131
17132         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
17133         Attempt #2.
17134
17135 2005-09-14  David Schleef  <ds@schleef.org>
17136
17137         * gst/Makefile.am: Oh yeah, libgstreamer.so needs to contain
17138           the new functions.
17139
17140 2005-09-14  David Schleef  <ds@schleef.org>
17141
17142         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
17143         * gst/glib-compat.h: Add some functions that are in newer versions
17144           of glib than we care to require.
17145         * gst/gstregistryxml.c: Use them.
17146
17147 2005-09-14  David Schleef  <ds@schleef.org>
17148
17149         * po/POTFILES.in: remove gst-register.c
17150
17151 2005-09-14  David Schleef  <ds@schleef.org>
17152
17153         * docs/gst/gstreamer-docs.sgml:
17154         * docs/gst/gstreamer-sections.txt:
17155         * docs/gst/gstreamer.types:
17156         * docs/gst/tmpl/gstelement.sgml:
17157         * docs/gst/tmpl/gstplugin.sgml:
17158         * docs/gst/tmpl/gstpluginfeature.sgml:
17159           Documentation updates for registry changes.
17160
17161 2005-09-14  David Schleef  <ds@schleef.org>
17162
17163         * gst/gstregistryxml.c: Copy g_mkdir_with_parent() from glib,
17164           because we don't require glib-2.8.
17165
17166 2005-09-14  David Schleef  <ds@schleef.org>
17167
17168         * gst/gstregistryxml.c: Added.  Essentially moved out of the
17169           registries directory.
17170
17171 2005-09-14  David Schleef  <ds@schleef.org>
17172
17173         * check/Makefile.am:
17174         * check/generic/states.c:
17175         * gst/Makefile.am:
17176         * gst/gst.c:
17177         * gst/gst.h:
17178         * gst/gst_private.h:
17179         * gst/gstelementfactory.c:
17180         * gst/gstindex.c:
17181         * gst/gstinfo.c:
17182         * gst/gstplugin.c:
17183         * gst/gstplugin.h:
17184         * gst/gstpluginfeature.c:
17185         * gst/gstpluginfeature.h:
17186         * gst/gstregistry.c:
17187         * gst/gstregistry.h:
17188         * gst/gstregistrypool.c: remove
17189         * gst/gstregistrypool.h: remove
17190         * gst/gsttypefind.c:
17191         * gst/gsttypefindfactory.c:
17192         * gst/gsturi.c:
17193         * tools/Makefile.am:
17194         * tools/gst-compprep.c:
17195         * tools/gst-inspect.c:
17196         * tools/gst-register.c: remove
17197         * tools/gst-xmlinspect.c:
17198           Registry rewrite.  Changes registry from being a file created
17199           by a tool into a simple cache file created automatically by 
17200           libgstreamer.  Removed gst-register (because it's no longer
17201           needed).  Remove registry pools, because we only have one
17202           registry implementation (XML).  Fix up other subsystems as
17203           necessary.
17204
17205 2005-09-13  Michael Smith <msmith@fluendo.com>
17206
17207         * gst/gstconfig.h.in:
17208           Don't Use windows linking attributes for MinGW. Fixes #316157
17209
17210 2005-09-13  Thomas Vander Stichele  <thomas at apestaart dot org>
17211
17212         * gst/gstutils.c: (set_state_async_thread_func),
17213         (gst_element_set_state_async):
17214           Apparently people think it's better if this function doesn't
17215           try to set the state to whatever state was asked for on the first
17216           call to this function for any object.  Seriously.
17217
17218 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
17219
17220         * check/gst/gstpipeline.c: (GST_START_TEST):
17221         * docs/gst/gstreamer-sections.txt:
17222         * gst/gstutils.c: (set_state_async_thread_func),
17223         (gst_element_set_state_async):
17224         * gst/gstutils.h:
17225           add a "gst_element_set_state_async" method that
17226           sets the state and starts a thread to make sure the state
17227           change completes as best as it can
17228
17229 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
17230
17231         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
17232           codify design+behaviour in testsuite after discussion
17233
17234 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
17235
17236         * docs/gst/tmpl/gstelement.sgml:
17237         * docs/manual/appendix-quotes.xml:
17238           add a quote
17239         * gst/gstelement.c: (gst_element_set_state):
17240           add some debug
17241
17242 2005-09-12  Jan Schmidt  <thaytan@mad.scientist.com>
17243
17244         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
17245         (gst_base_transform_prepare_output_buf),
17246         (gst_base_transform_handle_buffer):
17247         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip),
17248         (gst_capsfilter_prepare_buf):
17249           Remove the requirement for sub-classes to call the parent
17250           implementation of prepare_output_buffer with a wrapper function.
17251           
17252         * gst/gsttaglist.h:
17253         * gst/gsttagsetter.h:
17254           Fix #define wrapper
17255
17256 2005-09-11  Stefan Kost  <ensonic@users.sf.net>
17257
17258         * docs/gst/gstreamer-sections.txt:
17259           more doc cleanups
17260
17261 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
17262
17263         * docs/gst/gstreamer-sections.txt:
17264         * docs/gst/tmpl/gstelement.sgml:
17265         * docs/gst/tmpl/gstplugin.sgml:
17266         * gst/gstminiobject.c:
17267         * gst/gstvalue.h:
17268           docs now stop throwing warnings
17269
17270 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
17271
17272         * docs/gst/gstreamer-sections.txt:
17273         * docs/gst/gstreamer.types:
17274         * docs/gst/tmpl/gstpad.sgml:
17275         * docs/gst/tmpl/gsttypes.sgml:
17276         * gst/base/gstadapter.h:
17277         * gst/base/gstbasesink.h:
17278         * gst/base/gstbasesrc.h:
17279         * gst/gstbin.h:
17280         * gst/gstbuffer.h:
17281         * gst/gstbus.h:
17282         * gst/gstcaps.h:
17283         * gst/gstclock.h:
17284         * gst/gstelement.h:
17285         * gst/gstevent.h:
17286         * gst/gstmessage.h:
17287         * gst/gstpad.h:
17288         * gst/gststructure.c:
17289         * gst/registries/gstlibxmlregistry.h:
17290           various documentation fixes
17291
17292 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
17293
17294         * docs/gst/gstreamer-sections.txt:
17295         * docs/gst/tmpl/gstvalue.sgml:
17296           rearrange gstvalue section
17297         * gst/gstutils.c: (gst_element_state_get_name):
17298           NONE -> VOID
17299         * gst/gstvalue.c: (_gst_value_initialize):
17300         * gst/gstvalue.h:
17301           doc updates
17302
17303 2005-09-10  Jan Schmidt  <thaytan@mad.scientist.com>
17304
17305         * check/gst-libs/controller.c:
17306           Header include fix.
17307         * gst/base/gstbasetransform.c:
17308         (gst_base_transform_default_prepare_buf),
17309         (gst_base_transform_handle_buffer):
17310         * gst/base/gstbasetransform.h:
17311           Some more basetransform changes and fixes to enable sub-classes
17312           that modify buffer metadata only.
17313         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
17314         (gst_capsfilter_init), (gst_capsfilter_transform_ip),
17315         (gst_capsfilter_prepare_buf):
17316           If the output pad has fixed allowed caps and input buffers 
17317           don't have any, set the fixed caps on outgoing buffers.
17318
17319 2005-09-09  Jan Schmidt  <thaytan@mad.scientist.com>
17320         * check/elements/identity.c: (GST_START_TEST):
17321           Make the error a little clearer when the test fails because
17322           identity made a copy of the buffer.
17323         * docs/gst/gstreamer-sections.txt:
17324           New symbols in gstbasetransform.h
17325         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
17326         (gst_base_transform_init), (gst_base_transform_transform_size),
17327         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
17328         (gst_base_transform_default_prepare_buf),
17329         (gst_base_transform_get_unit_size),
17330         (gst_base_transform_buffer_alloc),
17331         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
17332         (gst_base_transform_change_state),
17333         (gst_base_transform_set_passthrough),
17334         (gst_base_transform_set_in_place),
17335         (gst_base_transform_is_in_place):
17336         * gst/base/gstbasetransform.h:
17337           Change BaseTransform to separate in_place operate from same_caps
17338           output. in_place implies that the element can perform the transform
17339           on incoming buffers in-place, even if the caps on the output are
17340           different.
17341           Sub-class elements can now implement special buffer allocation
17342           methods for outgoing buffers if they wish to.
17343           Big documentation addition.
17344         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip):
17345         * gst/elements/gstelements.c:
17346           Changes for basetransform modifications.
17347         * gst/elements/Makefile.am:
17348         * gst/elements/gstfdsrc.c: (gst_fdsrc_init), (gst_fdsrc_create):
17349           Compile fix. Extra debug output.
17350
17351 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
17352
17353         * check/gst/gstpad.c: (GST_START_TEST), (name_is_valid),
17354         (gst_pad_suite):
17355           add tests for valid pad naming
17356         * gst/check/gstcheck.c: (gst_check_log_message_func),
17357         (gst_check_log_critical_func):
17358           add ASSERT_WARNING
17359           remove printing of code, it is fragile when the code contains
17360           % and the line number is enough info
17361         * gst/check/gstcheck.h:
17362         * gst/gstpad.c: (gst_pad_template_new):
17363           fix memleaks
17364
17365 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
17366
17367         * configure.ac:
17368           say what CHECK flags we use
17369         * docs/libs/gstreamer-libs.types:
17370         * libs/gst/controller/Makefile.am:
17371         * libs/gst/controller/gst-controller.c:
17372         * libs/gst/controller/gst-controller.h:
17373         * libs/gst/controller/gst-helper.c:
17374         * libs/gst/controller/gst-interpolation.c:
17375         * libs/gst/controller/gstcontroller.c:
17376         * libs/gst/controller/gsthelper.c:
17377         * libs/gst/controller/gstinterpolation.c:
17378         * tools/gst-inspect.c: (print_plugin_info):
17379           we don't use dashes in header names
17380
17381 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
17382
17383         * check/Makefile.am:
17384         * check/gst/.cvsignore:
17385         * check/gst/gstpipeline.c: (pop_messages), (GST_START_TEST),
17386         (gst_pipeline_suite), (main):
17387           adding a test for pipelines and state changes
17388         * gst/gstutils.c: (get_state_func):
17389           add some debugging
17390         * gstreamer.spec.in:
17391           fix up spec file
17392
17393 2005-09-08  Michael Smith <msmith@fluendo.com>
17394
17395         * gst/elements/gstfilesrc.c: (gst_file_src_map_region),
17396         (gst_file_src_map_small_region), (gst_file_src_create_mmap),
17397         (gst_file_src_is_seekable), (gst_file_src_get_size),
17398         (gst_file_src_start):
17399         * gst/elements/gstfilesrc.h:
17400           Various fixes for unseekable, unmmapable, and non-normal files, so
17401           that fallback to read() rather than mmap() works.
17402         * gst/gstevent.c: (gst_event_new_newsegment):
17403           Allow newsegment events with segment_start == segment_end, as will
17404           correctly happen if you use filesrc on a zero-size file, for
17405           example.
17406
17407 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
17408
17409         * gst/gstplugin.c: (gst_plugin_load_file):
17410           Call g_module_close when we don't load the module
17411
17412         * gst/registries/gstlibxmlregistry.c:
17413         (gst_xml_registry_get_property):
17414           Port leak fix from 0.8
17415
17416 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
17417
17418         * docs/gst/gstreamer-docs.sgml:
17419         * docs/gst/tmpl/.cvsignore:
17420         * docs/gst/tmpl/gsttrace.sgml:
17421         * docs/gst/tmpl/gsttrashstack.sgml:
17422         * gst/Makefile.am:
17423         * gst/gst.h:
17424         * gst/gstelement.h:
17425         * gst/gstevent.h:
17426         * gst/gstmessage.c:
17427         * gst/gstmessage.h:
17428         * gst/gsttag.c:
17429         * gst/gsttag.h:
17430         * gst/gsttaginterface.c:
17431         * gst/gsttaginterface.h:
17432         * gst/gsttaglist.c:
17433         * gst/gsttaglist.h:
17434         * gst/gsttagsetter.c:
17435         * gst/gsttagsetter.h:
17436         * gst/gsttrace.c:
17437         * gst/gsttrace.h:
17438         * gst/gsttrashstack.c:
17439           renamed gsttag -> gsttaglist, gsttaginterface -> gsttagsetter
17440           inlined docs for gsttrace, gsttrashstack
17441
17442 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
17443
17444         * gst/Makefile.am:
17445         * gst/elements/gstbufferstore.h:
17446         * gst/elements/gsttypefindelement.c:
17447         * gst/elements/gsttypefindelement.h:
17448         * gst/gst.h:
17449         * gst/gsttypefind.c:
17450         * gst/gsttypefind.h:
17451         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type),
17452         (gst_type_find_factory_class_init), (gst_type_find_factory_init),
17453         (gst_type_find_factory_dispose),
17454         (gst_type_find_factory_unload_thyself),
17455         (gst_type_find_load_plugin), (gst_type_find_factory_get_list),
17456         (gst_type_find_factory_get_caps),
17457         (gst_type_find_factory_get_extensions),
17458         (gst_type_find_factory_call_function):
17459         * gst/gsttypefindfactory.h:
17460         * gst/registries/gstlibxmlregistry.c:
17461         * gst/registries/gstxmlregistry.c:
17462           splitted gsttypefind into gsttypefind, gsttypefindfactory
17463
17464 2005-09-07  Andy Wingo  <wingo@pobox.com>
17465
17466         * gst/base/gstbasesink.c (gst_base_sink_activate_pull): Fix a race
17467         condition whereby the pad's task function is entered before the
17468         pad_mode variable was set.
17469
17470 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
17471
17472         * gst/gstpad.c: (gst_pad_alloc_buffer):
17473           Catch misbehaving pad_alloc functions that don't
17474           set up caps and do it for them.
17475
17476 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
17477
17478         * check/pipelines/simple_launch_lines.c: (run_pipeline):
17479           test for pipe!=NULL
17480         * docs/gst/tmpl/.cvsignore:
17481         * docs/gst/tmpl/gstmemchunk.sgml:
17482         * docs/gst/tmpl/gstparse.sgml:
17483         * docs/gst/tmpl/gsttaglist.sgml:
17484         * docs/gst/tmpl/gsttagsetter.sgml:
17485         * docs/gst/tmpl/gsttypefind.sgml:
17486         * docs/gst/tmpl/gsttypefindfactory.sgml:
17487         * gst/gstmemchunk.c:
17488         * gst/gstparse.c:
17489         * gst/gsttag.c:
17490         * gst/gsttaginterface.c:
17491         * gst/gsttypefind.c:
17492         * gst/gsttypefind.h:
17493           inlined more docs
17494
17495 === release 0.9.2 ===
17496
17497 2005-09-06  Thomas Vander Stichele  <thomas at apestaart dot org>
17498
17499         * NEWS:
17500         * RELEASE:
17501         * configure.ac:
17502           releasing 0.9.2, "South"
17503
17504 2005-09-05  Andy Wingo  <wingo@pobox.com>
17505
17506         * gst/registries/gstxmlregistry.h:
17507         * gst/registries/gstxmlregistry.c: Um... resurrect...
17508         
17509         * gst/registries/gstxmlregistry.h:
17510         * gst/registries/gstxmlregistry.c: and update to newer API.
17511         Incidentally they should be a bit faster now that they don't have
17512         to parse the caps.
17513         
17514 2005-09-05  Andy Wingo  <wingo@pobox.com>
17515
17516         * gst/registries/gstxmlregistry.h:
17517         * gst/registries/gstxmlregistry.c: Remove from CVS, they were
17518         replaced by the libxml registry a while back
17519
17520 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
17521
17522         * docs/gst/tmpl/gstplugin.sgml:
17523         * gst/elements/gstelements.c:
17524         * gst/gst.c:
17525         * gst/gstplugin.c: (gst_plugin_register_func),
17526         (gst_plugin_desc_copy), (gst_plugin_desc_free),
17527         (gst_plugin_get_source):
17528         * gst/gstplugin.h:
17529         * gst/registries/gstlibxmlregistry.c: (load_plugin),
17530         (gst_xml_registry_save_plugin):
17531         * gst/registries/gstxmlregistry.c: (gst_xml_registry_parse_plugin),
17532         (gst_xml_registry_save_plugin):
17533         * tools/gst-inspect.c: (print_plugin_info):
17534           add a "source" plugin description field, to represent the source
17535           module this plugin is a part of.  By default GST_PLUGIN_DEFINE
17536           will set it to PACKAGE, which is automake's idea of the name of
17537           the source project.
17538
17539 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
17540
17541         * Makefile.am:
17542         * autogen.sh:
17543         * configure.ac:
17544         * docs/Makefile.am:
17545         * docs/faq/Makefile.am:
17546         * docs/gst/tmpl/gstelement.sgml:
17547         * docs/gst/tmpl/gsttypes.sgml:
17548         * docs/htmlinstall.mak:
17549         * docs/manual/Makefile.am:
17550         * docs/pwg/Makefile.am:
17551           reorganize doc build a little
17552           split out docbook and gtk-doc stuff
17553           have two separate --enable's and enable them through autogen
17554           but disable by default in configure (to be similar to other
17555           projects)
17556         * gstreamer.spec.in:
17557           clean up docs install
17558         * po/af.po:
17559         * po/az.po:
17560         * po/ca.po:
17561         * po/cs.po:
17562         * po/de.po:
17563         * po/en_GB.po:
17564         * po/fr.po:
17565         * po/it.po:
17566         * po/nb.po:
17567         * po/nl.po:
17568         * po/ru.po:
17569         * po/sq.po:
17570         * po/sr.po:
17571         * po/sv.po:
17572         * po/tr.po:
17573         * po/uk.po:
17574         * po/vi.po:
17575           translation updates
17576
17577 2005-09-03  Tim-Philipp Müller  <tim at centricular dot net>
17578
17579         * gst/base/gstbasesink.c: (gst_base_sink_pad_buffer_alloc):
17580           Add comment.
17581           
17582         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
17583         (gst_fake_sink_change_state):
17584           Make state change function thread-safe.
17585           
17586         * gst/gstpad.c: (gst_pad_alloc_buffer):
17587           Set offset on generic buffer allocated by fallback.
17588
17589 2005-09-03  Stefan Kost  <ensonic@users.sf.net>
17590
17591         * docs/gst/gstreamer-sections.txt:
17592         * docs/gst/tmpl/gstelement.sgml:
17593         * gst/gstpad.c:
17594         * libs/gst/controller/gst-controller.c:
17595         (gst_controlled_property_set_interpolation_mode),
17596         (gst_controlled_property_new),
17597         (gst_controller_find_controlled_property):
17598          run the wingo-magic script against the docs
17599
17600 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
17601
17602         * docs/gst/gstreamer-docs.sgml:
17603         * docs/gst/gstreamer-sections.txt:
17604         * docs/gst/tmpl/.cvsignore:
17605         * docs/gst/tmpl/gstelementdetails.sgml:
17606         * docs/gst/tmpl/gstelementfactory.sgml:
17607         * gst/gst.c:
17608         * gst/gstbus.c:
17609         * gst/gstelementfactory.c:
17610         * gst/gstelementfactory.h:
17611           merged elementdetails docs into elementfactory docs
17612           inlined both
17613
17614 2005-09-02  Andy Wingo  <wingo@pobox.com>
17615
17616         * gst/gstelement.h: Add magical pixie dust to make glib-mkenums
17617         consider this enum an enum and not a flags.
17618
17619 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
17620
17621         * docs/gst/gstreamer-docs.sgml:
17622         * docs/gst/tmpl/.cvsignore:
17623         * docs/gst/tmpl/gstghostpad.sgml:
17624         * docs/gst/tmpl/gstiterator.sgml:
17625         * docs/gst/tmpl/gstmacros.sgml:
17626         * docs/gst/tmpl/gstrealpad.sgml:
17627         * docs/gst/tmpl/gstregistry.sgml:
17628         * docs/gst/tmpl/gstregistrypool.sgml:
17629         * docs/gst/tmpl/gststructure.sgml:
17630         * docs/gst/tmpl/gstsystemclock.sgml:
17631         * docs/gst/tmpl/gsttrace.sgml:
17632         * gst/gstghostpad.c:
17633         * gst/gstmacros.h:
17634         * gst/gstmemchunk.c:
17635         * gst/gstmemchunk.h:
17636         * gst/gstqueue.c:
17637         * gst/gstregistry.c:
17638         * gst/gstregistrypool.c:
17639         * gst/gststructure.c:
17640         * gst/gstsystemclock.c:
17641           more docs inlined
17642
17643 2005-09-02  Andy Wingo  <wingo@pobox.com>
17644
17645         * gst/gstelement.h (GstState): Renamed from GstElementState,
17646         changed to be a normal enum instead of flags.
17647         (GstStateChangeReturn): Renamed from GstElementStateReturn, names
17648         munged to be GST_STATE_CHANGE_*.
17649         (GST_STATE_CHANGE): Renamed from GST_STATE_TRANSITION, updated to
17650         work with the new state representation.
17651         (GstStateChange): New enumeration of possible state transitions.
17652         Replaces GST_STATE_FOO_TO_BAR with GST_STATE_CHANGE_FOO_TO_BAR.
17653         (GstElementClass::change_state): Pass the GstStateChange along as
17654         an argument. Helps language bindings, so they don't have to use
17655         tricky lock-needing macros like GST_STATE_CHANGE ().
17656
17657         * scripts/update-states (file): New script. Run it on a file to
17658         update it for state naming and API changes. Updates files in
17659         place.
17660
17661         * All files updated for the new API.
17662
17663 2005-09-02  Thomas Vander Stichele  <thomas at apestaart dot org>
17664
17665         * gst/gsttrace.c: (gst_trace_flush), (gst_trace_text_flush):
17666         * gst/gstutils.c: (gst_util_set_value_from_string),
17667         (gst_util_set_object_arg):
17668           fix a bunch of unchecked return values
17669         * tools/gst-complete.c: (main):
17670         * gstreamer.spec.in:
17671           clean up a little
17672
17673 2005-09-01  Wim Taymans  <wim@fluendo.com>
17674
17675         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
17676         (gst_base_sink_event), (gst_base_sink_do_sync),
17677         (gst_base_sink_handle_event):
17678         * gst/base/gstbasesink.h:
17679         Handle newsegments more correctly.
17680
17681         * gst/gstbus.c:
17682         Fix docs.
17683
17684         * gst/gstevent.c: (gst_event_new_newsegment):
17685         A newsegment cannot have a start_time of -1
17686
17687 2005-09-01  Tim-Philipp Müller  <tim at centricular dot net>
17688
17689         * win32/gstenumtypes.c:
17690         * win32/gstenumtypes.h:
17691           Update
17692
17693 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
17694
17695         * libs/gst/controller/gst-controller.c:
17696         (gst_controlled_property_set_interpolation_mode),
17697         (gst_controlled_property_new):
17698          fixed boolean again
17699
17700 2005-08-31  Thomas Vander Stichele  <thomas at apestaart dot org>
17701
17702         * docs/faq/gst-uninstalled:
17703           add -good
17704         * gst/gstevent.c:
17705         * gst/gstevent.h:
17706           remove wrong docs
17707         * gst/gstutils.c: (gst_element_link_filtered):
17708         * gst/gstutils.h:
17709           add gst_element_link_filtered
17710
17711 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
17712
17713         * docs/gst/gstreamer-docs.sgml:
17714         * docs/gst/gstreamer-sections.txt:
17715         * docs/gst/tmpl/.cvsignore:
17716         * docs/gst/tmpl/gsterror.sgml:
17717         * docs/gst/tmpl/gstfilter.sgml:
17718         * docs/gst/tmpl/gsturihandler.sgml:
17719         * docs/gst/tmpl/gsturitype.sgml:
17720         * docs/gst/tmpl/gstutils.sgml:
17721         * docs/gst/tmpl/gstxml.sgml:
17722         * gst/gsterror.c:
17723         * gst/gsterror.h:
17724         * gst/gstfilter.c:
17725         * gst/gsturi.c:
17726         * gst/gsturitype.c:
17727         * gst/gstutils.c:
17728         * gst/gstxml.c:
17729           inlined more docs, fixed double id-ref
17730
17731 2005-08-31  Wim Taymans  <wim@fluendo.com>
17732
17733         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
17734         (gst_base_transform_handle_buffer):
17735         Passthrough elements don't need the caps as they don't care.
17736
17737 2005-08-31  Wim Taymans  <wim@fluendo.com>
17738
17739         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
17740         (gst_base_transform_handle_buffer), (gst_base_transform_chain):
17741         Don't leak refcounts on buffers.
17742
17743 2005-08-31  Wim Taymans  <wim@fluendo.com>
17744
17745         * gst/base/gstbasetransform.c: (gst_base_transform_configure_caps),
17746         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
17747         (gst_base_transform_chain), (gst_base_transform_change_state):
17748         * gst/base/gstbasetransform.h:
17749         Handle the case where we are not negotiated more gracefully.
17750
17751 2005-08-31  Tim-Philipp Müller  <tim at centricular dot net>
17752
17753         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_init),
17754         (gst_file_src_map_region):
17755           Set READONLY flag on mmap'ed buffers, otherwise
17756           gst_buffer_make_writable() won't work properly (#314708).
17757
17758 2005-08-31  Wim Taymans  <wim@fluendo.com>
17759
17760         * gst/base/gstbasetransform.c: (gst_base_transform_handle_buffer):
17761         passthrough elements can even do inplace on non writable
17762         buffers (as they don't touch them).
17763
17764 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
17765
17766         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
17767         (gst_test_mono_source_set_property),
17768         (gst_test_mono_source_class_init), (GST_START_TEST),
17769         (gst_controller_suite):
17770           more tests (hehe I have the most)
17771         * gst/gstbus.c:
17772           describe popping messages whenusing mulltiple sources
17773         * libs/gst/controller/gst-controller.c:
17774         (gst_controlled_property_set_interpolation_mode),
17775         (gst_controlled_property_new):
17776         * libs/gst/controller/gst-controller.h:
17777         * libs/gst/controller/gst-interpolation.c:
17778           implement boolean properties
17779
17780 2005-08-31  Wim Taymans  <wim@fluendo.com>
17781
17782         * gst/gstminiobject.c: (gst_mini_object_ref):
17783         Cannot assert that the refcount has to be positive
17784         since a disposed object can be resurrected.
17785
17786 2005-08-31  Wim Taymans  <wim@fluendo.com>
17787
17788         * gst/gstpad.c: (gst_pad_init):
17789         Revert change, need to first fix badly behaving 
17790         apps.
17791
17792 2005-08-30  Wim Taymans  <wim@fluendo.com>
17793
17794         * check/elements/fakesrc.c: (setup_fakesrc):
17795         * check/elements/identity.c: (setup_identity):
17796         Activate pads before using them.
17797
17798 2005-08-30  Wim Taymans  <wim@fluendo.com>
17799
17800         * gst/base/gstadapter.c: (gst_adapter_flush):
17801         Flushing out 0 bytes is ok for this function.
17802
17803         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
17804         no newsegment gives a warning and sets the start/stop to 
17805         invalid.
17806
17807         * gst/base/gstbasetransform.c: (gst_base_transform_change_state),
17808         (gst_base_transform_set_passthrough):
17809         Some debug info.
17810
17811         * gst/gstminiobject.c: (gst_mini_object_ref):
17812         Check refcount here too.
17813
17814         * gst/gstpad.c: (gst_pad_init):
17815         Pads are initially flushing and refusing data.
17816
17817         * gst/gstutils.c: (gst_element_link_pads_filtered):
17818         When adding a capsfilter element make sure it has the
17819         same state as the parent bin.
17820
17821 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
17822
17823         * docs/gst/tmpl/.cvsignore:
17824         * docs/gst/tmpl/gstformat.sgml:
17825         * docs/gst/tmpl/gstversion.sgml:
17826         * gst/gstbus.h:
17827         * gst/gstformat.c:
17828         * gst/gstformat.h:
17829         * gst/gstversion.h.in:
17830           more docs and two more inlined
17831
17832 2005-08-30  Wim Taymans  <wim@fluendo.com>
17833
17834         * gst/elements/gstfilesink.c: (gst_file_sink_class_init):
17835         Don't sync to clock.
17836
17837 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
17838
17839         * docs/gst/gstreamer-sections.txt:
17840           ultral33t func10ns deserve to appear in the docs actually
17841         * docs/gst/tmpl/.cvsignore:
17842         * docs/gst/tmpl/gstcompat.sgml:
17843         * docs/gst/tmpl/gstconfig.sgml:
17844         * gst/check/gstcheck.c:
17845         * gst/gstcompat.h:
17846         * gst/gstconfig.h.in:
17847           inlined more docs
17848
17849 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
17850
17851         * docs/gst/tmpl/.cvsignore:
17852         * docs/gst/tmpl/gstquery.sgml:
17853         * docs/gst/tmpl/gstutils.sgml:
17854         * gst/gstquery.c:
17855         * gst/gstquery.h:
17856           inlined and extended docs
17857
17858 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
17859
17860         * check/gst-libs/controller.c: (GST_START_TEST),
17861         (gst_controller_suite):
17862           more tests
17863         * docs/gst/tmpl/gstutils.sgml:
17864         * docs/libs/gstreamer-libs-sections.txt:
17865         * docs/libs/tmpl/gstdataprotocol.sgml:
17866           include path fixes
17867         * examples/controller/audio-example.c: (main):
17868           controller example works now
17869         * gst/gstclock.h:
17870           doc fixes
17871         * tools/gst-inspect.c: (print_element_properties_info):
17872           show param spec flags
17873
17874 2005-08-29  Andy Wingo  <wingo@pobox.com>
17875
17876         * gst/gstutils.c (gst_util_uint64_scale): New 3733t funct10n.
17877
17878 2005-08-28  Andy Wingo  <wingo@pobox.com>
17879
17880         * gst/gstutils.h (GST_BOILERPLATE_FULL): Prototype instance_init
17881         as having two arguments instead of just one. Allows superclasses
17882         to access information on subclasses -- see the terrible for() loop
17883         in gtype.c:g_type_create_instance for the reason why. All callers
17884         changed.
17885
17886 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
17887
17888         * docs/design/part-messages.txt:
17889           update info
17890         * docs/gst/tmpl/.cvsignore:
17891         * docs/gst/tmpl/gstcaps.sgml:
17892         * docs/gst/tmpl/gstclock.sgml:
17893         * gst/gstbus.c:
17894         * gst/gstcaps.c:
17895         * gst/gstcaps.h:
17896         * gst/gstclock.c:
17897         * gst/gstclock.h:
17898         * gst/gstmessage.c:
17899           added descriptions for bus and message
17900           inline caps and clock docs
17901
17902 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
17903
17904         * gst/gstmessage.c:
17905         * gst/gstmessage.h:
17906           doc fixes
17907
17908 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
17909
17910         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
17911           fix div-by-zero
17912
17913 2005-08-26  Andy Wingo  <wingo@pobox.com>
17914
17915         * check/pipelines/simple_launch_lines.c (run_pipeline): Check
17916         element_set_state's return val.
17917         (test_2_elements): Add test that's been disabled for months.
17918
17919         * gst/elements/gstfakesink.c: Cleanups. Add can-activate-push and
17920         can-activate-pull properties.
17921
17922         * gst/elements/gstfakesrc.c: Cleanups. Add can-activate-push and
17923         can-activate-pull properties. Implement is_seekable so fakesrc can
17924         operate in pull mode.
17925
17926         * gst/base/gstbasesink.c (GstBaseSink): Remove has-loop, has-chain
17927         properties.
17928         (gst_base_sink_activate, gst_base_sink_activate_pull)
17929         (gst_base_sink_activate_push): Make activation mode choosing work.
17930         Cleanups.
17931         (gst_base_sink_chain, gst_base_sink_loop): Assert activation mode
17932         is right. Make pull mode work. Post an eos before pausing in pull
17933         mode.
17934         (gst_base_sink_change_state): Pay attention to the core's
17935         change_state() return val.
17936         
17937         * gst/base/gstbasesrc.c (GstBaseSrc): Remove has-loop,
17938         has-getrange properties. Cleanups.
17939         
17940         * gst/base/gstbasesrc.h (GstBaseSrc): Remove has_loop,
17941         has_getrange and replace with can_activate_pull and
17942         can_activate_push.
17943
17944         * gst/base/gstbasesink.h (GstBaseSink): Rearrange fields, add
17945         locking comments. Remove has_loop, has_chain and replace with
17946         can_activate_pull and can_activate_push.
17947
17948 2005-08-26  Jan Schmidt  <thaytan@mad.scientist.com>
17949
17950         * configure.ac:
17951         * examples/Makefile.am:
17952         * examples/metadata/Makefile.am:
17953         * examples/metadata/read-metadata.c: (message_loop),
17954         (have_pad_handler), (make_pipeline), (print_tag), (main):
17955           Add metadata reading example that loops over a list of filenames,
17956           dumping any tags found.
17957
17958         * gst/gstbus.c: (gst_bus_dispose):
17959         * gst/gstelement.c: (gst_element_dispose):
17960           Release a few potentially-held references in dispose.
17961
17962 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
17963
17964         * docs/gst/tmpl/gstminiobject.sgml:
17965           do *not* add tmpl/*.sgml files to CVS!
17966
17967 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
17968
17969         * libs/gst/bytestream/.cvsignore:
17970         * libs/gst/bytestream/Makefile.am:
17971         * libs/gst/bytestream/adapter.c:
17972         * libs/gst/bytestream/adapter.h:
17973         * libs/gst/bytestream/bytestream.c:
17974         * libs/gst/bytestream/bytestream.h:
17975         * libs/gst/bytestream/filepad.c:
17976         * libs/gst/bytestream/filepad.h:
17977           removing obsolete files
17978
17979 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
17980
17981         * docs/gst/gstreamer-docs.sgml:
17982         * docs/libs/gstreamer-libs-docs.sgml:
17983           disabed additional index entries again, as this makes docs-gen just
17984           slow and they aren't useful yet
17985         * docs/libs/gstreamer-libs-sections.txt:
17986           little -section.txt cleanup for libs
17987
17988 2005-08-26  Thomas Vander Stichele  <thomas at apestaart dot org>
17989
17990         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
17991         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size),
17992           fix up some debugging
17993         (gst_base_transform_get_unit_size),
17994         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
17995         (gst_base_transform_handle_buffer):
17996         * gst/base/gstbasetransform.h:
17997           handle and store timed NEWSEGMENT events so that subclasses that
17998           calculate time by counting samples have a segment_start time they
17999           need to add to their timestamps - see audioresample
18000
18001 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
18002
18003         * gst/gstbin.h:
18004           removed ';' from the end of macro defs
18005         * docs/gst/gstreamer-docs.sgml:
18006         * docs/gst/gstreamer-sections.txt:
18007         * docs/gst/tmpl/.cvsignore:
18008         * gst/gstbus.h:
18009         * gst/gstelement.c: (gst_element_class_init),
18010         (gst_element_set_state), (activate_pads),
18011         (gst_element_save_thyself):
18012         * gst/gstevent.c: (gst_event_new_newsegment):
18013         * gst/gstevent.h:
18014         * gst/gstiterator.c:
18015         * gst/gstiterator.h:
18016         * gst/gstpad.c:
18017         * gst/gstprobe.h:
18018         * gst/gstutils.c: (gst_pad_query_convert):
18019         * gst/gstutils.h:
18020           fixed parameter name mismatches between source, header and docs
18021           added some more docs, resolved the last batch of unused elements in
18022           docs (now someone needs to doc them)
18023
18024 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
18025
18026         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_rebuild):
18027         * gst/registries/gstxmlregistry.c: (gst_xml_registry_rebuild):
18028           don't walk through the plugins backwards.  Where is all this
18029           reversed logic coming from ?
18030
18031 2005-08-25  Wim Taymans  <wim@fluendo.com>
18032
18033         * gst/base/gstbasetransform.c: (gst_base_transform_init),
18034         (gst_base_transform_transform_size),
18035         (gst_base_transform_configure_caps),
18036         (gst_base_transform_get_unit_size),
18037         (gst_base_transform_buffer_alloc),
18038         (gst_base_transform_change_state):
18039         * gst/base/gstbasetransform.h:
18040         Cache caps unit_size.
18041         Make sure we cannot negotiate up and downstream at the
18042         same time.
18043
18044 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
18045
18046         * gst/gst.c: (init_pre), (init_post):
18047           register the installed plugin path after the env var
18048         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_save):
18049         * gst/registries/gstxmlregistry.c: (gst_xml_registry_save):
18050           don't reverse order of paths; conserve the order of GST_PLUGIN_PATH
18051           directories, so the tests can prefer uninstalled over installed
18052
18053 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
18054
18055         * gst/base/gstbasetransform.h:
18056           comment
18057         * gst/gstpad.c:
18058           add to docs
18059
18060 2005-08-25  Wim Taymans  <wim@fluendo.com>
18061
18062         * gst/gstbin.c: (bin_bus_handler):
18063         Be a bit more conservative about the posted message.
18064         
18065         * gst/gstbus.c: (gst_bus_post):
18066         Some cleanups, warn wrong return values.
18067
18068 2005-08-25  Jan Schmidt  <thaytan@mad.scientist.com>
18069
18070         * check/gst/gstbin.c: (GST_START_TEST):
18071         * gst/gstbin.c: (bin_bus_handler):
18072         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
18073         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
18074         (gst_message_new_warning), (gst_message_new_tag),
18075         (gst_message_new_state_changed), (gst_message_new_segment_start),
18076         (gst_message_new_segment_done), (gst_message_new_custom):
18077         * gst/gstmessage.h:
18078         * tools/gst-launch.c: (event_loop):
18079         * tools/gst-md5sum.c: (event_loop):
18080           Revert unpopular change for GST_MESSAGE_SRC to GObject.
18081
18082 2005-08-25  Wim Taymans  <wim@fluendo.com>
18083
18084         * check/generic/states.c: (GST_START_TEST):
18085         Cleanup can be done at the end.
18086
18087         * gst/gsttask.c: (gst_task_get_type), (gst_task_finalize),
18088         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
18089         (gst_task_get_state), (gst_task_start), (gst_task_pause):
18090         Oh boy.. Thanks for finding this, Thomas. 
18091
18092 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
18093
18094         * docs/gst/gstreamer.types:
18095           added missing types
18096
18097 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
18098
18099         * docs/gst/gstreamer-docs.sgml:
18100         * docs/gst/gstreamer-sections.txt:
18101         * docs/gst/tmpl/.cvsignore:
18102         * gst/gstbin.c:
18103         * gst/gstiterator.c:
18104         * gst/gstutils.c:
18105         * gst/registries/gstxmlregistry.h:
18106           added missing classes and symbols (123 more to go)
18107           removed removed symbols from section file
18108           fixed many doc-comments
18109
18110 2005-08-24  Wim Taymans  <wim@fluendo.com>
18111
18112         * check/generic/states.c: (GST_START_TEST):
18113         Make sure all tasks are stopped.
18114
18115         * check/gst/gstbin.c: (GST_START_TEST):
18116         Unref after usage for proper valgrinding.
18117
18118         * gst/gstpad.c: (gst_pad_finalize), (gst_pad_stop_task):
18119         Really wait for the task to stop before destroying the
18120         mutex.
18121
18122         * gst/gstqueue.c: (gst_queue_sink_activate_push),
18123         (gst_queue_src_activate_push):
18124         Small cleanups. Don't stop the task when we did not start
18125         it.
18126
18127         * gst/gsttask.c: (gst_task_get_type), (gst_task_init),
18128         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
18129         (gst_task_get_state), (gst_task_start), (gst_task_pause),
18130         (gst_task_join):
18131         * gst/gsttask.h:
18132         Protect the stream lock with the object lock.
18133         Disallow setting the stream lock when running.
18134         Add cleanup_all to wait for the threadpool to finish.
18135         Remove code to autoallocate a mutex if none was provided.
18136         Add _join() to wait for a task to stop.
18137         Protect the thread pool with a global lock.
18138
18139 2005-08-24  Wim Taymans  <wim@fluendo.com>
18140
18141         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
18142         (gst_base_sink_get_times), (gst_base_sink_do_sync),
18143         (gst_base_sink_handle_buffer), (gst_base_sink_change_state):
18144         * gst/base/gstbasesink.h:
18145         Handle newsegment events correctly.
18146         Drop buffers out of the segment range.
18147
18148 2005-08-22  Andy Wingo  <wingo@pobox.com>
18149
18150         * gst/gstutils.h (GST_BOILERPLATE_WITH_INTERFACE): New ghetto
18151         macro, implements an interface and gstimplementsinterface for a
18152         new type.
18153
18154 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
18155
18156         * check/Makefile.am:
18157         * check/generic/states.c: (GST_START_TEST), (states_suite), (main):
18158           add a test that does a bunch of state changes on elements
18159           needs some fixing for valgrind
18160         * check/states/sinks.c: (gst_object_suite):
18161           whitespace
18162         * gst/gstcaps.h:
18163           add prototype for gst_caps_is_equal_fixed
18164         * gst/gstplugin.c:
18165         * gst/gstregistrypool.c:
18166           doc fixes
18167
18168 2005-08-24  Andy Wingo  <wingo@pobox.com>
18169
18170         * gst/gstquery.c (gst_query_new_convert): Spew if we try to
18171         convert a negative value. Doesn't make much sense. Mostly this is
18172         here to force callers to ensure -1 maps to -1.
18173
18174 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
18175
18176         * docs/pwg/advanced-types.xml:
18177           Well done to Michael for catching my deliberate introduction
18178           of this spelling mistake. 
18179         * gst/gstbin.c: (gst_bin_remove_func), (bin_bus_handler):
18180         * gst/gstelement.h:
18181           Add GST_ELEMENT_UNPARENTING to prevent races so that we can
18182           unlink pads before removing the element from the bin.
18183
18184 2005-08-24  Andy Wingo  <wingo@pobox.com>
18185
18186         * gst/gst.c (parse_debug_list): Accept e.g. GST_DEBUG=4 to mean
18187         the same thing as GST_DEBUG=*:4.
18188         (parse_debug_level, parse_debug_category): New helper parsers.
18189
18190 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
18191
18192         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
18193         (gst_base_transform_transform_size), (gst_base_transform_getcaps),
18194         (gst_base_transform_setcaps), (gst_base_transform_get_unit_size),
18195         (gst_base_transform_buffer_alloc),
18196         (gst_base_transform_handle_buffer):
18197           use gboolean return values and pointers to size so we can use the
18198           full GST_BUFFER_SIZE range (guint) for buffer sizes
18199           use GstPadDirection for transform_caps
18200         * gst/base/gstbasetransform.h:
18201           rename get_size to get_unit_size since that's what it is
18202         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_caps):
18203           use GstPadDirection for transform_caps
18204         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
18205         * gst/gstutils.h:
18206           cleanup and debugging
18207
18208 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
18209
18210         * gst/gstelement.c: (gst_element_class_init),
18211         (gst_element_set_state), (activate_pads),
18212         (gst_element_save_thyself):
18213         * tools/gst-compprep.c: (main):
18214         * tools/gst-inspect.c: (print_element_properties_info):
18215         * tools/gst-xmlinspect.c: (print_element_properties):
18216           Fixed long standing mem-leak
18217
18218 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
18219
18220         * check/gst/gstbin.c: (GST_START_TEST):
18221         * gst/gstbin.c: (bin_bus_handler):
18222         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
18223         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
18224         (gst_message_new_warning), (gst_message_new_tag),
18225         (gst_message_new_state_changed), (gst_message_new_segment_start),
18226         (gst_message_new_segment_done), (gst_message_new_custom):
18227         * gst/gstmessage.h:
18228         * tools/gst-launch.c: (event_loop):
18229         * tools/gst-md5sum.c: (event_loop):
18230           Change GST_MESSAGE_SRC to be a GObject rather than a GstObject, so
18231           that applications can sensibly post custom messages with references
18232           to their own objects.
18233
18234 2005-08-24  Andy Wingo  <wingo@pobox.com>
18235
18236         * gst/gstpad.c (gst_pad_fixate_caps): Check if the caps is fixed
18237         already.
18238
18239 2005-08-24  Wim Taymans  <wim@fluendo.com>
18240
18241         * gst/base/gstbasetransform.c: (gst_base_transform_init),
18242         (gst_base_transform_transform_caps),
18243         (gst_base_transform_transform_size),
18244         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
18245         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
18246         (gst_base_transform_handle_buffer):
18247         * gst/base/gstbasetransform.h:
18248         Many fixes and new features added by Thomas. Can now also do
18249         transforms with variable sizes and a custom fixate_caps function.
18250
18251 2005-08-24  Wim Taymans  <wim@fluendo.com>
18252
18253         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
18254         Some debugging.
18255
18256         * gst/gstclock.h:
18257         Cast to ClockTime before formatting to time.
18258
18259         * gst/gstutils.h:
18260         Cleanups.
18261
18262 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
18263
18264         * check/gst-libs/controller.c: (GST_START_TEST),
18265         (gst_controller_suite):
18266         * docs/gst/tmpl/gstcaps.sgml:
18267         * docs/gst/tmpl/gstghostpad.sgml:
18268         * docs/gst/tmpl/gstquery.sgml:
18269         * docs/gst/tmpl/gstutils.sgml:
18270         * libs/gst/controller/gst-helper.c: (gst_object_set_controller),
18271         (gst_object_sink_values), (gst_object_get_value_arrays),
18272         (gst_object_get_value_array):
18273           gracefully handle helper method calls to objects that are not beeing
18274           controlled, added test case for that          
18275
18276 2005-08-23  Wim Taymans  <wim@fluendo.com>
18277
18278         * gst/gstevent.c: (_gst_event_copy), (gst_event_new_custom),
18279         (gst_event_new_newsegment), (gst_event_parse_newsegment),
18280         (gst_event_new_tag), (gst_event_parse_tag), (gst_event_new_qos),
18281         (gst_event_parse_qos), (gst_event_new_seek),
18282         (gst_event_parse_seek):
18283         * gst/gstevent.h:
18284         Some more debugging output and doc cleanups.
18285
18286         * gst/gstqueue.c: (gst_queue_handle_sink_event):
18287         Fix possible deadlock.
18288
18289 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
18290
18291         * docs/gst/gstreamer-docs.sgml:
18292         * docs/gst/gstreamer-sections.txt:
18293         * docs/gst/gstreamer.types:
18294         * docs/gst/tmpl/.cvsignore:
18295         * gst/gstbin.h:
18296         * gst/gstbus.c:
18297         * gst/gstelement.c:
18298         * gst/gstevent.h:
18299           added 100 symbols from gstreamer-unused.txt to the right sections
18300           fixed more broken comments
18301           added GstBus to docs
18302
18303 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
18304
18305         * docs/gst/gstreamer-sections.txt:
18306         * docs/gst/tmpl/.cvsignore:
18307         * docs/gst/tmpl/gstbin.sgml:
18308         * docs/gst/tmpl/gstbuffer.sgml:
18309         * gst/base/gstbasesrc.c:
18310         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
18311         * gst/gstbuffer.c:
18312         * gst/gstbuffer.h:
18313         * tools/gst-launch.1.in:
18314           inlined more doc comments, added missing comments and fixed comments
18315           fixed typos
18316
18317 2005-08-23  Thomas Vander Stichele  <thomas at apestaart dot org>
18318
18319         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
18320           some debugging
18321         * gst/gstcaps.h:
18322           whitespace fixes
18323         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_alloc_buffer):
18324           more debugging
18325         * gst/gststructure.c: (gst_caps_structure_fixate_field_boolean):
18326         * gst/gststructure.h:
18327           add a fixate function for booleans; add a FIXME that these func
18328           names should probably be gst_structure_fixate_*
18329
18330 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
18331
18332         * docs/gst/gstreamer-docs.sgml:
18333         * docs/gst/gstreamer-sections.txt:
18334         * gst/Makefile.am:
18335         * gst/gstbin.c: (gst_bin_get_type),
18336         (gst_bin_child_proxy_get_child_by_index),
18337         (gst_bin_child_proxy_get_children_count),
18338         (gst_bin_child_proxy_init):
18339         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
18340         (gst_child_proxy_get_child_by_index),
18341         (gst_child_proxy_get_children_count), (gst_child_proxy_lookup),
18342         (gst_child_proxy_get_property), (gst_child_proxy_get_valist),
18343         (gst_child_proxy_get), (gst_child_proxy_set_property),
18344         (gst_child_proxy_set_valist), (gst_child_proxy_set),
18345         (gst_child_proxy_child_added), (gst_child_proxy_child_removed),
18346         (gst_child_proxy_base_init), (gst_child_proxy_get_type):
18347         * gst/gstchildproxy.h:
18348         * gst/parse/grammar.y:
18349         * tools/gst-inspect.c: (print_interfaces),
18350         (print_element_properties_info), (print_element_info):
18351           ported gstchildproxy over from 0.8
18352           ported gst-inspect fixes and enhancements over from 0.8
18353
18354 2005-08-22  Wim Taymans  <wim@fluendo.com>
18355
18356         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
18357         (gst_base_transform_handle_buffer):
18358         Also call the transform function if we have ANY caps.
18359
18360         * gst/gstpipeline.c: (gst_pipeline_set_new_stream_time):
18361         Fix debug info.
18362
18363 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
18364
18365         * gst/base/gstbasesrc.c: (gst_base_src_event_handler)
18366           Don't pretend to handle seek events if the source is not seekable
18367
18368 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
18369
18370         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
18371           Remove extra parameter to debug output
18372
18373         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
18374         (gst_base_src_do_seek), (gst_base_src_activate_push):
18375           Fix seek event handling.
18376
18377         * gst/gstpipeline.c: (gst_pipeline_change_state):
18378         * gst/gstqueue.c: (gst_queue_handle_sink_event),
18379         (gst_queue_src_activate_push):
18380           Don't start the src pad task on FLUSH_STOP if the pad
18381           isn't linked.
18382           Debug changes.
18383
18384 2005-08-22  Wim Taymans  <wim@fluendo.com>
18385
18386         * check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
18387         Added check for gst_static_caps_get() refcounting.
18388
18389 2005-08-22  Wim Taymans  <wim@fluendo.com>
18390
18391         * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_to_string):
18392         Make _static_caps_get() refcounting sane.
18393         
18394         * gst/gstelement.c: (gst_element_set_state):
18395         Add g_return_val_if_fail() to protect against segfaults.
18396
18397 2005-08-22  Stefan Kost  <ensonic@users.sf.net>
18398
18399         * docs/gst/tmpl/gstevent.sgml:
18400         * gst/gstevent.c:
18401         * gst/gstevent.h:
18402           inlined remaining docs, added missing doc comments
18403
18404 2005-08-22  Thomas Vander Stichele  <thomas at apestaart dot org>
18405
18406         * check/gst/gstbin.c: (GST_START_TEST):
18407           since we don't know when preroll is done, use refcount range
18408           check for the sink
18409         * gst/check/gstcheck.h:
18410           add macro for checking refcount range
18411
18412 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
18413
18414         * check/Makefile.am:
18415           clean up environment for when registry gets built versus
18416           when actual tests are run; valgrind seems to not report
18417           leaks if GST_PLUGIN_PATH is set to some specific values
18418         * check/gst/gstbin.c: (GST_START_TEST):
18419           add more refcounting checks; maybe this exposes a
18420           preroll lock bug ?
18421         * common/check.mak:
18422         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
18423         * gst/check/gstcheck.h:
18424         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_get_state),
18425         (gst_bin_change_state):
18426         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_chain):
18427           add/fix debugging/whitespace
18428
18429 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
18430
18431         * check/gst/gstevent.c: (event_probe), (test_event),
18432         (GST_START_TEST):
18433          Er, don't call gst_bin_watch_for_state_change you idiot.
18434
18435 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
18436
18437         * check/Makefile.am:
18438           Use CHECK_CFLAGS and CHECK_LIBS
18439         * check/gst/gstevent.c: (event_probe), (test_event),
18440         (GST_START_TEST):
18441           Don't leak events.
18442         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
18443         (gst_base_src_start), (gst_base_src_stop),
18444         (gst_base_src_activate_push), (gst_base_src_activate_pull),
18445         (gst_base_src_change_state):
18446           Sprinkle gst_base_src_stop liberally around error paths to fix
18447           problems reusing a source after failed state changes.
18448         * gst/base/gsttypefindhelper.c: (helper_find_peek),
18449         (helper_find_suggest), (gst_type_find_helper):
18450           Extra debug output. Don't segfault on GST_PAD_GETRANGEFUNC = NULL
18451         * gst/gstevent.h:
18452         * docs/gst/tmpl/gstevent.sgml:
18453           Migrate part of the docs from the SGML file. Wait for ensonic to
18454           tell me how I did it wrong ;)
18455         * tools/gst-typefind.c: (main):
18456           Extra robustness to state changes between files.
18457
18458 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
18459
18460         * check/Makefile.am:
18461           don't valgrind the controller test - it's leaking - Stefan, HELP
18462         * gst/check/gstcheck.c: (gst_check_message_error),
18463         (gst_check_chain_func), (gst_check_setup_element),
18464         (gst_check_teardown_element), (gst_check_setup_src_pad),
18465         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
18466         (gst_check_teardown_sink_pad):
18467         * gst/check/gstcheck.h:
18468           add a bunch of methods to set up elements, and src and sink pads
18469         * check/elements/fakesrc.c: (setup_fakesrc), (cleanup_fakesrc):
18470         * check/elements/identity.c: (setup_identity), (cleanup_identity),
18471         (GST_START_TEST):
18472           use them
18473         * gst/gstmessage.c:
18474         * gst/gsttag.h:
18475           whitespace/doc fixes
18476
18477 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
18478
18479         * gst/gstelement.h:
18480           make GST_ELEMENT_ERROR not do GST_ERROR_OBJECT - these errors should
18481           be handled by the application and not always printed as well
18482
18483 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
18484
18485         * check/Makefile.am:
18486           set GST_TOOLS_DIR
18487         * gst/check/gstcheck.c: (gst_check_message_error):
18488         * gst/check/gstcheck.h:
18489           add a fail_unless_equals_int
18490           add fail_unless for error messages
18491
18492 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
18493
18494         * check/Makefile.am:
18495         * check/gst.supp:
18496         * common/Makefile.am:
18497         * common/check.mak:
18498         * common/gst.supp:
18499           factor out some of the common stuff so we can use it
18500
18501 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
18502
18503         * check/Makefile.am:
18504         * check/gst/gstiterator.c: (GST_START_TEST):
18505         * check/gst/gstsystemclock.c: (GST_START_TEST),
18506         (gst_systemclock_suite):
18507         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
18508         * gst/gstclock.c:
18509           valgrind more tests
18510
18511 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
18512
18513         * check/elements/.cvsignore:
18514         * check/elements/gstfakesrc.c:
18515           rename to name of element
18516         * check/elements/identity.c: (chain_func), (event_func),
18517         (setup_identity), (cleanup_identity), (GST_START_TEST),
18518         (identity_suite), (main):
18519           add a test for identity
18520         * check/Makefile.am:
18521         * pkgconfig/Makefile.am:
18522         * pkgconfig/gstreamer-check.pc.in:
18523         * pkgconfig/gstreamer-check-uninstalled.pc.in:
18524         * gst/check:
18525         * gst/Makefile.am:
18526         * configure.ac:
18527           move the check stuff to a library that gets installed
18528         * check/gst-libs/controller.c: (GST_START_TEST):
18529         * check/gst-libs/gdp.c:
18530         * check/gst/gst.c: (GST_START_TEST):
18531         * check/gst/gstbin.c:
18532         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
18533         * check/gst/gstbus.c:
18534         * check/gst/gstcaps.c: (GST_START_TEST):
18535         * check/gst/gstelement.c:
18536         * check/gst/gstghostpad.c:
18537         * check/gst/gstiterator.c:
18538         * check/gst/gstmessage.c:
18539         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST):
18540         * check/gst/gstobject.c:
18541         * check/gst/gstpad.c: (GST_START_TEST):
18542         * check/gst/gststructure.c: (GST_START_TEST):
18543         * check/gst/gstsystemclock.c: (GST_START_TEST),
18544         (gst_systemclock_suite):
18545         * check/gst/gsttag.c: (gst_tag_suite):
18546         * check/gst/gstvalue.c:
18547         * check/pipelines/cleanup.c:
18548         * check/pipelines/simple_launch_lines.c:
18549         * check/states/sinks.c:
18550           change include statement
18551
18552         * docs/gst/gstreamer-sections.txt:
18553         * docs/gst/tmpl/gstpad.sgml:
18554           document more pad stuff
18555         * gst/gstminiobject.c: (gst_mini_object_ref),
18556         (gst_mini_object_unref):
18557           debug refcounting
18558
18559 2005-08-19  Stefan Kost  <ensonic@users.sf.net>
18560
18561         * docs/gst/tmpl/gst.sgml:
18562         * gst/gst.c:
18563           eliminate another tmpl file, fix spelling in the long-description
18564
18565 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
18566
18567         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
18568         (test_event), (timediff), (gstevents_suite):
18569           Should fix build on 64-bit arch's
18570
18571 2005-08-18  Andy Wingo  <wingo@pobox.com>
18572
18573         Make sure that when a pipeline goes to PLAYING, that data has
18574         actually hit the sink.
18575
18576         * check/states/sinks.c (test_sink): A sink that doesn't get any
18577         data shouldn't return SUCCESS for going to either PLAYING or
18578         PAUSED. Test also the return values on the way back down.
18579
18580         * gst/gstelement.c (gst_element_set_state): When changing the
18581         state of an element currently changing state asynchronously, go to
18582         lost-state after commiting the pending state. Makes future calls
18583         to get_state continue to return ASYNC.
18584
18585         * gst/base/gstbasesink.c (gst_base_sink_change_state): Return
18586         ASYNC when going to PLAYING if we still don't have preroll, as can
18587         happen with live sources.
18588
18589 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
18590
18591         * docs/pwg/advanced-types.xml:
18592           Hack long paragraph into 2 chunks as a workaround for buggy
18593           jadetex version in sid and breezy that loops infinitely and
18594           eats all RAM.
18595
18596 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
18597
18598         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
18599         (test_event), (timediff), (gstevents_suite):
18600           Provide more error margin in clock measurements to allow for 
18601           g_get_current_time inaccuracies.
18602
18603 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
18604
18605         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
18606         (test_event), (timediff), (gstevents_suite):
18607            Fix error message output so I might be able to tell why the
18608            test works here but fails on the build farm.
18609
18610 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
18611
18612         * check/Makefile.am:
18613         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
18614         (test_event), (timediff), (gstevents_suite), (main):
18615           I wrote a test!
18616
18617         * docs/design/part-seeking.txt:
18618           Spelling correction
18619
18620         * docs/gst/tmpl/gstevent.sgml:
18621         * docs/gst/tmpl/gstfakesrc.sgml:
18622           Docs updates.
18623
18624         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
18625           Treat a buffer-without-newsegment the same as a receiving 
18626           a newsegment not in time format, and disable syncing to the clock
18627           with a warning.
18628
18629         * gst/gstbus.c: (gst_bus_set_sync_handler):
18630           Assert if anyone tries to replace the existing sync_handler for bus, 
18631           as only the owner should be setting it.
18632
18633         * gst/gstevent.h:
18634           Have a fixed set of custom event enums with events identified by
18635           their structure name (as in 0.8), rather than a free-for-all
18636           allowing collisions between enum values from different plugins.
18637
18638         * gst/gstpad.c: (gst_pad_class_init):
18639           Docs change.
18640           
18641         * gst/gstqueue.c: (gst_queue_handle_sink_event):
18642           Handle out-of-band downstream events from the sending thread.
18643
18644 2005-08-17  Andy Wingo  <wingo@pobox.com>
18645
18646         * gst/gstpipeline.c (gst_pipeline_change_state): Interpret
18647         play-timeout==0 to mean no timeout at all. In that case, don't
18648         bother with a get_state or a warning, just return directly, even
18649         if it's ASYNC.
18650
18651         * gst/base/gstbasetransform.c: Debug changes.
18652
18653         * gst/gstutils.h:
18654         * gst/gstutils.c (gst_bin_watch_for_state_change): Add function to
18655         ensure bins post state change messages. A bit of a hack but I can't
18656         think of a way to avoid it.
18657
18658         * check/gst/gstbin.c (test_watch_for_state_change): Added test.
18659
18660 2005-08-16  Andy Wingo  <wingo@pobox.com>
18661
18662         * gst/base/gstadapter.h:
18663         * gst/base/gstadapter.c (gst_adapter_take): New function, like
18664         peek() but you own the data. Not terribly efficient atm.
18665
18666 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
18667
18668         * gst/gstutils.c: (gst_element_found_tags_for_pad), (push_and_ref),
18669         (gst_element_found_tags):
18670         * gst/gstutils.h:
18671           Add two utility functions for tag handling.
18672
18673 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
18674
18675         * docs/manual/advanced-dataaccess.xml:
18676         * docs/manual/basics-helloworld.xml:
18677           Fix docs to use _bin_add() before _link(), which fixes the examples
18678           with recent core versions (reported by Madhan Raj M
18679           <raj_madan@rediffmail.com>, #313199).
18680
18681 2005-08-16  Wim Taymans  <wim@fluendo.com>
18682
18683         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
18684         Added subtract checks.
18685
18686         * docs/design/part-events.txt:
18687         Some more docs about newsegment
18688
18689         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
18690         Fix FIXME
18691
18692         * gst/gstcaps.c: (gst_caps_to_string):
18693         Add comments, cleanups.
18694         
18695         * gst/gstelement.c: (gst_element_save_thyself):
18696         cleanups
18697         
18698         * gst/gstvalue.c: (gst_value_collect_int_range),
18699         (gst_string_unwrap), (gst_value_union_int_int_range),
18700         (gst_value_union_int_range_int_range),
18701         (gst_value_intersect_int_int_range),
18702         (gst_value_intersect_int_range_int_range),
18703         (gst_value_intersect_double_double_range),
18704         (gst_value_intersect_double_range_double_range),
18705         (gst_value_intersect_list), (gst_value_subtract_int_int_range),
18706         (gst_value_subtract_int_range_int),
18707         (gst_value_subtract_double_range_double),
18708         (gst_value_subtract_double_range_double_range),
18709         (gst_value_subtract_from_list), (gst_value_subtract_list),
18710         (gst_value_can_compare), (gst_value_compare_fraction):
18711         Cleanups, add comments, remove unneeded asserts.
18712
18713 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
18714
18715         * tools/gst-launch.c: (event_loop):
18716           don't convert NULL structures to strings
18717
18718 2005-08-15  Stefan Kost  <ensonic@users.sf.net>
18719
18720         * docs/gst/gstreamer-sections.txt:
18721           made some defines private
18722         * docs/gst/tmpl/gstconfig.sgml:
18723         * docs/gst/tmpl/gstqueue.sgml:
18724         * docs/gst/tmpl/gsttaglist.sgml:
18725         * docs/gst/tmpl/gsttypes.sgml:
18726         * docs/gst/tmpl/gstutils.sgml:
18727         * docs/pwg/appendix-porting.xml:
18728         * gst/base/gstbasesink.h:
18729         * gst/base/gstbasesrc.c:
18730         * gst/base/gstbasesrc.h:
18731         * gst/elements/gstfakesink.c: (gst_fake_sink_class_init):
18732         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init):
18733         * gst/gstelement.c: (gst_element_class_init):
18734         * gst/gstpad.c: (gst_pad_class_init):
18735         * gst/gstqueue.c: (gst_queue_class_init):
18736         * gst/gstxml.c: (gst_xml_class_init):
18737           documented all undocumented signal inline
18738         * libs/gst/controller/gst-controller.h:
18739           added padding
18740
18741 2005-08-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
18742
18743         * docs/pwg/appendix-porting.xml:
18744           Document _set_link_function -> _set_setcaps_function.
18745
18746 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
18747
18748         * check/Makefile.am:
18749           add a .check target for running the check
18750         * check/gst-libs/controller.c: (GST_START_TEST):
18751           cosmetic fixups
18752         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
18753           complete checks for gstbuffer; would be nice if I could get the
18754           gcov stuff to work so I can see if I actually completed gstbuffer.c
18755         * check/gstcheck.h:
18756           add ASSERT_BUFFER_REFCOUNT
18757
18758 2005-08-13  Tim-Philipp Müller  <tim at centricular dot net>
18759
18760         * docs/gst/gstreamer-sections.txt:
18761         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
18762         * gst/gsttag.h:
18763           Add GST_TAG_LANGUAGE_CODE as we have in 0.8, and don't
18764           spew out a warning if a tag that is already registered
18765           is re-registered, unless it is re-registered with a 
18766           different type (#308438).
18767
18768 2005-08-12  Tim-Philipp Müller  <tim at centricular dot net>
18769
18770         * docs/pwg/appendix-porting.xml:
18771         * docs/pwg/building-state.xml:
18772           Add some paragraphs about state changes in 0.9 to the PWG
18773           and the porting guide, in particular about the new meaning
18774           of GST_STATE_PAUSED and how to write state change functions
18775           with concurrent access by multiple threads in mind.
18776
18777 2005-08-11  Stefan Kost  <ensonic@users.sf.net>
18778
18779         * docs/gst/gstreamer-docs.sgml:
18780         * docs/libs/gstreamer-libs-docs.sgml:
18781           added deprecation and since indexes
18782         * libs/gst/controller/gst-controller.c:
18783         * libs/gst/controller/gst-helper.c:
18784           added since tags
18785
18786
18787 2005-08-11  Wim Taymans  <wim@fluendo.com>
18788
18789         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked),
18790         (gst_proxy_pad_set_target), (gst_proxy_pad_get_target),
18791         (gst_proxy_pad_dispose), (gst_ghost_pad_do_activate_push),
18792         (gst_ghost_pad_do_link), (gst_ghost_pad_set_internal),
18793         (gst_ghost_pad_new_notarget), (gst_ghost_pad_get_target),
18794         (gst_ghost_pad_set_target):
18795         Actually implement (re)setting the target on a ghostpad
18796         as described in the docs.
18797
18798 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
18799
18800         * gst/gst.c: (gst_init_check_with_popt_table), (init_pre):
18801           Check whether GST_DEBUG_NO_COLOR environment variable is
18802           set and disable coloured debug output if that is the case.
18803
18804 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
18805
18806         * gst/base/gsttypefindhelper.c: (helper_find_peek),
18807         (gst_type_find_helper):
18808           The memory returned by gst_type_find_peek() needs to
18809           stay valid until the end of a typefind function, and
18810           typefind functions may keep results from different 
18811           offsets around, so we can't just unref the buffer from
18812           the previous _peek(), but have to save all buffers 
18813           returned by _peek() until typefinding is done and only
18814           free them then.
18815
18816 2005-08-09  Tim-Philipp Müller  <tim at centricular dot net>
18817
18818         * docs/gst/gstreamer-sections.txt:
18819         * gst/gstutils.h:
18820           New macros: GST_ROUND_UP_2() through GST_ROUND_UP_64().
18821
18822 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
18823
18824         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
18825           Fix a pretty good memleak.
18826
18827 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
18828
18829         * gst/gstiterator.h:
18830           Fix wrong include and 'make distcheck'.
18831
18832 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
18833
18834         * gst/gstbin.c: (bin_bus_handler):
18835           Use gst_element_post_message() instead.
18836
18837 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
18838
18839         * gst/base/gstadapter.h:
18840         * gst/base/gstbasesink.h:
18841         * gst/base/gstbasesrc.h:
18842         * gst/base/gstbasetransform.h:
18843         * gst/base/gstcollectpads.h:
18844         * gst/base/gstpushsrc.h:
18845         * gst/gstiterator.h:
18846           Add padding to our base elements' class and instance structs and
18847           to GstIterator (you will need to rebuild all plugins and apps!)
18848
18849 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
18850
18851         * gst/gstbin.c: (bin_bus_handler):
18852           Make default message forwarding from child->bus to bin->bus
18853           threadsafe and make it not emit warnings if the parent has no bus.
18854
18855 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
18856
18857         * gst/gstelement.c: (activate_pads):
18858           On paused->ready, set pad->caps to NULL, as is the documented
18859           behaviour in this state change. Fixes playback of series of
18860           media files when visualization is enabled in Totem.
18861
18862 2005-08-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
18863
18864         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
18865           Allow NULL as filter-caps (which means "any").
18866
18867 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
18868
18869         * docs/libs/gstreamer-libs-sections.txt:
18870         * libs/gst/controller/gst-controller.c:
18871         * libs/gst/controller/gst-controller.h:
18872         * libs/gst/controller/gst-helper.c:
18873           adding more entries to the docs and fix small doc-bugs
18874
18875 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
18876
18877         * docs/gst/gstreamer-docs.sgml:
18878         * docs/gst/gstreamer-sections.txt:
18879         * docs/gst/gstreamer.types:
18880         * docs/gst/tmpl/gstbasesink.sgml:
18881         * docs/gst/tmpl/gstbasesrc.sgml:
18882         * docs/gst/tmpl/gstbasetransform.sgml:
18883         * docs/gst/tmpl/gstfakesrc.sgml:
18884         * gst/base/gstcollectpads.c:
18885         * gst/base/gstcollectpads.h:
18886         * libs/gst/controller/gst-controller.c:
18887         * libs/gst/controller/gst-controller.h:
18888         * libs/gst/controller/gst-helper.c:
18889         * libs/gst/controller/gst-interpolation.c:
18890         * libs/gst/controller/lib.c:
18891           added long/short desc for controller docs
18892           added collectpads base class docs
18893           added correct includes to base-class docs
18894
18895 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
18896
18897         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
18898         (gst_test_mono_source_set_property),
18899         (gst_test_mono_source_class_init), (GST_START_TEST),
18900         (gst_controller_suite):
18901         * docs/gst/gstreamer-docs.sgml:
18902         * docs/gst/gstreamer-sections.txt:
18903         * docs/gst/gstreamer.types:
18904         * docs/libs/gstreamer-libs-docs.sgml:
18905         * docs/libs/gstreamer-libs-sections.txt:
18906         * gst/base/gstadapter.c:
18907         * libs/gst/controller/gst-controller.c:
18908         (gst_controlled_property_new), (gst_controlled_property_free),
18909         (gst_controller_new_valist),
18910         (gst_controller_remove_properties_valist),
18911         (gst_controller_sink_values), (_gst_controller_finalize):
18912         * libs/gst/controller/gst-controller.h:
18913         * libs/gst/controller/gst-helper.c:
18914         (gst_object_control_properties), (gst_object_uncontrol_properties),
18915         (gst_object_get_controller), (gst_object_set_controller),
18916         (gst_object_sink_values), (gst_object_get_value_arrays),
18917         (gst_object_get_value_array):
18918           more tests (and fixes) for the controller
18919           more docs for the controller
18920           integrated companies docs for the adapter 
18921
18922 2005-08-05  Thomas Vander Stichele  <thomas at apestaart dot org>
18923
18924         * check/elements/gstfakesrc.c: (setup_fakesrc), (cleanup_fakesrc),
18925         (GST_START_TEST), (fakesrc_suite):
18926           add tests for sizetype
18927
18928 2005-08-04  Andy Wingo  <wingo@pobox.com>
18929
18930         * gst/elements/gstcapsfilter.c: Reimplement using basetransform,
18931         fixes buffer_alloc proxying among other things.
18932
18933         * gst/base/gstbasetransform.c:
18934         * gst/base/gstbasetransform.h:
18935         Revert patch to gstbasetransform from 7-28 removing
18936         delay_configure.
18937
18938         * gst/base/gstbasetransform.h (GstBaseTransformClass.get_size):
18939         * gst/base/gstbasetransform.c (gst_base_transform_get_size):
18940         Semantics changed, should return not the size of the output buffer
18941         but the byte size of a buffer with a given caps.
18942
18943         * gst/base/gstbasetransform.c (gst_base_transform_getcaps): Better
18944         debug object.
18945         (gst_base_transform_configure_caps): Don't set out_size here: (in,
18946         out) are not the pad caps until setcaps finishes.
18947         (gst_base_transform_buffer_alloc): Proxy the buffer_alloc for the
18948         not-in-place case as well. Deal with changing from in-place to
18949         not-in-place within calling pad_alloc_buffer. Still a bit
18950         concerned about the overhead here...
18951
18952 2005-08-03  Andy Wingo  <wingo@pobox.com>
18953
18954         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): Not
18955         fixating is an error.
18956
18957 2005-08-04  Edward Hervey  <edward@fluendo.com>
18958
18959         * gst/base/gstadapter.h: 
18960         Added gst_adapter_get_type() to the header
18961
18962 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
18963
18964         * check/Makefile.am:
18965         * check/gst-libs/controller.c:
18966         * libs/gst/controller/gst-controller.c:
18967         (gst_controller_new_valist):
18968           added check test suite for the controller
18969         * gst/base/gstpushsrc.c:
18970           fixed a doc typo
18971
18972 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
18973
18974         * docs/gst/Makefile.am:
18975         * docs/gst/gstreamer-docs.sgml:
18976         * docs/gst/gstreamer-sections.txt:
18977         * docs/gst/gstreamer.types:
18978         * docs/gst/tmpl/gstfakesrc.sgml:
18979         * gst/base/README:
18980         * gst/base/gstbasesink.c:
18981         * gst/base/gstbasesink.h:
18982         * gst/base/gstbasesrc.c:
18983         * gst/base/gstbasesrc.h:
18984         * gst/base/gstbasetransform.c:
18985         * gst/base/gstpushsrc.c:
18986         * gst/base/gstpushsrc.h:
18987           add short/long description docs to base classes
18988           add pushsrc to the docs
18989           remove consolidated doc fragments
18990
18991 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
18992
18993         * configure.ac:
18994         * docs/libs/Makefile.am:
18995         * docs/libs/gstreamer-libs-docs.sgml:
18996         * docs/libs/gstreamer-libs-sections.txt:
18997         * docs/libs/gstreamer-libs.types:
18998         * examples/Makefile.am:
18999         * examples/controller/.cvsignore:
19000         * examples/controller/Makefile.am:
19001         * examples/controller/audio-example.c: (main):
19002         * libs/gst/Makefile.am:
19003         * libs/gst/controller/.cvsignore:
19004         * libs/gst/controller/Makefile.am:
19005         * libs/gst/controller/gst-controller.c:
19006         (on_object_controlled_property_changed), (gst_timed_value_compare),
19007         (gst_timed_value_find),
19008         (gst_controlled_property_set_interpolation_mode),
19009         (gst_controlled_property_new), (gst_controlled_property_free),
19010         (gst_controller_find_controlled_property),
19011         (gst_controller_new_valist), (gst_controller_new),
19012         (gst_controller_remove_properties_valist),
19013         (gst_controller_remove_properties), (gst_controller_set),
19014         (gst_controller_set_from_list), (gst_controller_unset),
19015         (gst_controller_get), (gst_controller_get_all),
19016         (gst_controller_sink_values), (gst_controller_get_value_arrays),
19017         (gst_controller_get_value_array),
19018         (gst_controller_set_interpolation_mode),
19019         (_gst_controller_finalize), (_gst_controller_init),
19020         (_gst_controller_class_init), (gst_controller_get_type):
19021         * libs/gst/controller/gst-controller.h:
19022         * libs/gst/controller/gst-helper.c: (g_object_control_properties),
19023         (g_object_uncontrol_properties), (g_object_get_controller),
19024         (g_object_set_controller), (g_object_sink_values),
19025         (g_object_get_value_arrays), (g_object_get_value_array):
19026         * libs/gst/controller/gst-interpolation.c:
19027         (gst_controlled_property_find_timed_value_node),
19028         (interpolate_none_get), (interpolate_trigger_get),
19029         (interpolate_trigger_get_value_array):
19030         * libs/gst/controller/lib.c: (gst_controller_init):
19031         * pkgconfig/Makefile.am:
19032         * pkgconfig/gstreamer-control-uninstalled.pc.in:
19033         * pkgconfig/gstreamer-control.pc.in:
19034         * testsuite/Makefile.am:
19035         * testsuite/controller/.cvsignore:
19036         * testsuite/controller/Makefile.am:
19037         * testsuite/controller/interpolator.c: (main):
19038           added controller code
19039           removed dparam pc files
19040
19041 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
19042         * gst/base/gstcollectpads.c: (gst_collectpads_finalize),
19043         (gst_collectpads_stop):
19044           Broadcast the condition when shutting down, to make sure we wake all
19045           threads up. Shut down pads on finalize, for safety.
19046
19047 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
19048         * gst/base/gstbasetransform.c: (gst_base_transform_init),
19049         (gst_base_transform_handle_buffer),
19050         (gst_base_transform_change_state):
19051           Handle PAUSED->READY->PAUSED transition after negotiation
19052           occurred already.
19053         * gst/gstmessage.c: (gst_message_init):
19054           Extra piece of debug for new messages.
19055
19056 2005-08-01  Stefan Kost  <ensonic@users.sf.net>
19057
19058         * configure.ac:
19059         * docs/gst/tmpl/gstbasesrc.sgml:
19060         * docs/gst/tmpl/gstelement.sgml:
19061         * docs/gst/tmpl/gstevent.sgml:
19062         * docs/gst/tmpl/gstfakesrc.sgml:
19063         * docs/gst/tmpl/gstformat.sgml:
19064         * docs/gst/tmpl/gstghostpad.sgml:
19065         * docs/gst/tmpl/gstpad.sgml:
19066         * docs/gst/tmpl/gstquery.sgml:
19067         * docs/gst/tmpl/gststructure.sgml:
19068         * docs/gst/tmpl/gsttaglist.sgml:
19069         * docs/gst/tmpl/gstvalue.sgml:
19070         * docs/libs/gstreamer-libs-docs.sgml:
19071         * docs/libs/gstreamer-libs-sections.txt:
19072         * docs/libs/gstreamer-libs.types:
19073         * libs/gst/Makefile.am:
19074         * libs/gst/control/.cvsignore:
19075         * libs/gst/control/Makefile.am:
19076         * libs/gst/control/control.c:
19077         * libs/gst/control/control.h:
19078         * libs/gst/control/dparam.c:
19079         * libs/gst/control/dparam.h:
19080         * libs/gst/control/dparam_smooth.c:
19081         * libs/gst/control/dparam_smooth.h:
19082         * libs/gst/control/dparamcommon.h:
19083         * libs/gst/control/dparammanager.c:
19084         * libs/gst/control/dparammanager.h:
19085         * libs/gst/control/dplinearinterp.c:
19086         * libs/gst/control/dplinearinterp.h:
19087         * libs/gst/control/unitconvert.c:
19088         * libs/gst/control/unitconvert.h:
19089         * testsuite/Makefile.am:
19090         * testsuite/dynparams/.cvsignore:
19091         * testsuite/dynparams/Makefile.am:
19092         * testsuite/dynparams/dparamstest.c:
19093         * tools/Makefile.am:
19094         * tools/gst-inspect.c: (print_element_info), (main):
19095         * tools/gst-xmlinspect.c: (print_element_info), (main):
19096           deactivate and remove dparams (libgstcontrol)
19097
19098 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
19099
19100         * gst/elements/gsttypefindelement.c:
19101         (gst_type_find_element_have_type), (gst_type_find_element_init),
19102         (stop_typefinding), (gst_type_find_element_handle_event),
19103         (gst_type_find_element_chain), (gst_type_find_element_getrange):
19104         * gst/elements/gsttypefindelement.h:
19105           Set caps on all outgoing buffers, not just the first one.
19106
19107 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
19108
19109         * gst/elements/gsttypefindelement.c:
19110         (gst_type_find_element_have_type),
19111         (gst_type_find_element_check_set_buffer_caps),
19112         (gst_type_find_element_init), (stop_typefinding),
19113         (gst_type_find_element_handle_event),
19114         (gst_type_find_element_chain), (gst_type_find_element_getrange):
19115         * gst/elements/gsttypefindelement.h:
19116           Set caps on first outgoing buffer when we've found the type.
19117
19118 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
19119
19120         * docs/gst/gstreamer-docs.sgml:
19121         * docs/gst/gstreamer-sections.txt:
19122         * docs/gst/tmpl/gstscheduler.sgml:
19123         * docs/gst/tmpl/gstschedulerfactory.sgml:
19124           Remove some old cruft from docs.
19125
19126 2005-07-31  Tim-Philipp Müller  <tim at centricular dot net>
19127
19128         * gst/gstpad.h:
19129           Fix inline docs for GstPadLinkReturn.
19130           
19131         * gst/gststructure.c: (gst_structure_has_name):
19132         * gst/gststructure.h:
19133         * docs/gst/gstreamer-sections.txt:
19134           New API: gst_structure_has_name().
19135
19136 2005-07-30  Tim-Philipp Müller  <tim at centricular dot net>
19137
19138         * configure.ac:
19139           Use AC_SYS_LARGEFILE, which will set _FILE_OFFSET_BITS=64
19140           and _LARGEFILE_SOURCE in config.h as required. Do not 
19141           export those flags in our .pc files any longer (#142209).
19142
19143           Remove unused GST_DISABLE_OMEGA_COTHREADS stuff.
19144
19145         * gst/elements/gstfilesink.c: (gst_file_sink_class_init),
19146         (gst_file_sink_do_seek), (gst_file_sink_event),
19147         (gst_file_sink_get_current_offset), (gst_file_sink_render):
19148           Redo seek/tell calls with large file support in mind; add some
19149           debugging messages; add log message that tells us when large
19150           file support is unavailable or not enabled for some reason.
19151
19152         * gst/elements/gstfilesrc.c: (gst_file_src_class_init):
19153           Add log message that tells us when large file support 
19154           is unavailable or not enabled for some reason.
19155
19156 2005-07-29  Wim Taymans  <wim@fluendo.com>
19157
19158         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
19159         Added test for removing an element with ghostpad from a bin.
19160         Fixed test as current implementation does the right thing.
19161
19162         * gst/gstghostpad.c: (gst_proxy_pad_class_init),
19163         (gst_proxy_pad_do_query_type), (gst_proxy_pad_do_event),
19164         (gst_proxy_pad_do_query), (gst_proxy_pad_do_internal_link),
19165         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_activate),
19166         (gst_proxy_pad_do_activatepull), (gst_proxy_pad_do_activatepush),
19167         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
19168         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
19169         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
19170         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target),
19171         (gst_proxy_pad_get_target), (gst_proxy_pad_init),
19172         (gst_proxy_pad_dispose), (gst_proxy_pad_finalize),
19173         (gst_ghost_pad_class_init), (gst_ghost_pad_do_activate_push),
19174         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
19175         (gst_ghost_pad_set_internal), (gst_ghost_pad_dispose),
19176         (gst_ghost_pad_new_notarget), (gst_ghost_pad_new),
19177         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
19178         * gst/gstghostpad.h:
19179         Clean up ghostpads, remove properties for internal stuff.
19180         Make threadsafe.
19181         Fix refcounting.
19182         Prepare for switching targets, not all use cases work yet.
19183
19184 2005-07-29  Wim Taymans  <wim@fluendo.com>
19185
19186         * docs/design/part-gstghostpad.txt:
19187         Small update.
19188
19189         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
19190         (gst_bin_remove_func):
19191         Unlinking pads while holding the bin LOCK is not a good
19192         idea.
19193
19194         * gst/gstpad.c: (gst_pad_class_init),
19195         (gst_pad_link_check_hierarchy), (gst_pad_get_caps_unlocked),
19196         (gst_pad_accept_caps), (gst_pad_set_caps), (gst_pad_send_event):
19197         No prob setting template after creating the pad.
19198
19199 2005-07-29  Jan Schmidt  <thaytan@mad.scientist.com>
19200
19201         * gst/gstbus.c: (gst_bus_set_flushing), (gst_bus_pop),
19202         (gst_bus_peek), (gst_bus_source_dispatch),
19203         (gst_bus_add_watch_full), (poll_handler), (poll_timeout),
19204         (poll_destroy), (poll_destroy_timeout), (gst_bus_poll):
19205           gst_bus_poll may be called from other threads. Handle
19206           this nicely by not making poll_data disappear off the
19207           stack once gst_bus_poll returns.
19208           gst_bus_peek now increments the refcount on the returned
19209           message.
19210
19211 2005-07-29  Wim Taymans  <wim@fluendo.com>
19212
19213         * docs/design/part-gstghostpad.txt:
19214         Overview of current GhostPad datastructures and use
19215         cases for changing the target.
19216
19217 2005-07-28  Wim Taymans  <wim@fluendo.com>
19218
19219         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
19220         Added checks for hierarchy consistency whan adding linked
19221         elements to bins.
19222
19223         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
19224         Added check to test element scheduling without bin/pipeline.
19225
19226         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
19227         First add elements to bin, then link.
19228         
19229         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
19230         (gst_bin_remove_func):
19231         Unlink pads from elements added/removed from bin to maintain
19232         hierarchy consistency.
19233
19234 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
19235
19236         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
19237         (gst_base_transform_handle_buffer):
19238         * gst/base/gstbasetransform.h:
19239           Remove broken delay_configure (fixes renegotiation of software
19240           scaling pipelines); remove some leftover printf()s.
19241
19242 2005-07-28  Wim Taymans  <wim@fluendo.com>
19243
19244         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
19245         Added some more tests for wrong hierarchy
19246
19247         * docs/design/part-overview.txt:
19248         Some updates.
19249
19250         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_dispose):
19251         Cleanups.
19252
19253         * gst/gstelement.c: (gst_element_remove_pad), (gst_element_seek),
19254         (gst_element_dispose):
19255         Some more cleanups.
19256
19257         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
19258         (gst_pad_link_check_hierarchy), (gst_pad_link_prepare),
19259         (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
19260         (gst_pad_set_caps), (gst_pad_send_event):
19261         Check for correct hierarchy when linking pads. Moving to
19262         strict requirement for ghostpads when linking elements in
19263         different bins.
19264
19265         * gst/gstpad.h:
19266         Clean ups. Added WRONG_HIERARCHY return value.
19267
19268 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
19269
19270         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
19271           Better debug if no transform is possible.
19272
19273 2005-07-27  Wim Taymans  <wim@fluendo.com>
19274
19275         * docs/random/wtay/network-transp:
19276         Some old doc I had.
19277
19278 2005-07-27  Wim Taymans  <wim@fluendo.com>
19279
19280         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
19281         (gst_dp_event_from_packet):
19282         Fix serialization of seek events.
19283
19284 2005-07-27  Wim Taymans  <wim@fluendo.com>
19285
19286         * check/gst-libs/gdp.c: (GST_START_TEST):
19287         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
19288         Fix compilation and fix event serialization.
19289
19290 2005-07-27  Wim Taymans  <wim@fluendo.com>
19291
19292         * CHANGES-0.9:
19293         * docs/design/part-TODO.txt:
19294         * docs/design/part-events.txt:
19295         Some docs updates
19296
19297         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
19298         (gst_base_sink_event), (gst_base_sink_do_sync),
19299         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
19300         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
19301         (gst_base_src_do_seek), (gst_base_src_event_handler),
19302         (gst_base_src_loop):
19303         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
19304         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
19305         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
19306         (gst_base_transform_event), (gst_base_transform_handle_buffer),
19307         (gst_base_transform_set_passthrough),
19308         (gst_base_transform_is_passthrough):
19309         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
19310         * gst/elements/gstfilesink.c: (gst_file_sink_event):
19311         Event updates.
19312
19313         * gst/gstbuffer.h:
19314         Use faster casts.
19315
19316         * gst/gstelement.c: (gst_element_seek):
19317         * gst/gstelement.h:
19318         Update gst_element_seek.
19319
19320         * gst/gstevent.c: (gst_event_finalize), (_gst_event_copy),
19321         (gst_event_new), (gst_event_new_custom), (gst_event_get_structure),
19322         (gst_event_new_flush_start), (gst_event_new_flush_stop),
19323         (gst_event_new_eos), (gst_event_new_newsegment),
19324         (gst_event_parse_newsegment), (gst_event_new_tag),
19325         (gst_event_parse_tag), (gst_event_new_filler), (gst_event_new_qos),
19326         (gst_event_parse_qos), (gst_event_new_seek),
19327         (gst_event_parse_seek), (gst_event_new_navigation):
19328         * gst/gstevent.h:
19329         Make GstEvent use GstStructure. Add parsing code, make sure the
19330         API is sufficiently generic.
19331         Mark possible directions of events and serialization.
19332
19333         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize),
19334         (_gst_message_copy), (gst_message_new_segment_start),
19335         (gst_message_new_segment_done), (gst_message_new_custom),
19336         (gst_message_parse_segment_start),
19337         (gst_message_parse_segment_done):
19338         Small cleanups.
19339
19340         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
19341         (gst_pad_set_caps), (gst_pad_send_event):
19342         Update for new events. 
19343         Catch events sent in wrong directions.
19344
19345         * gst/gstqueue.c: (gst_queue_link_src),
19346         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
19347         (gst_queue_handle_src_query):
19348         Event updates.
19349
19350         * gst/gsttag.c:
19351         * gst/gsttag.h:
19352         Remove event code from this file.
19353
19354         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
19355         (gst_dp_event_from_packet):
19356         Event updates.
19357
19358 2005-07-27  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
19359
19360         * gst/base/gstbasetransform.c: (gst_base_transform_getcaps),
19361         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
19362         (gst_base_transform_get_size), (gst_base_transform_handle_buffer):
19363           Make debugging actually useful.
19364
19365 2005-07-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
19366
19367         * gst/gstpad.c: (fixate_value), (gst_pad_default_fixate),
19368         (gst_pad_fixate_caps):
19369           Implement default fixation once again, so that gst_pad_fixate()
19370           actually does anything at all. This probably needs to be some
19371           sort of a last resort, and use profile-based fixation first, but
19372           since that doesn't exist yet, this is the best we have. Fixes
19373           visualization in Totem.
19374
19375 2005-07-22  Wim Taymans  <wim@fluendo.com>
19376
19377         * docs/design/part-events.txt:
19378         Small update.
19379
19380         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
19381         (gst_base_sink_do_sync), (gst_base_sink_activate_push),
19382         (gst_base_sink_activate_pull):
19383         Some more comments.
19384
19385         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init),
19386         (gst_fake_src_create):
19387         Fix handoff marshall.
19388
19389         * gst/elements/gstidentity.c: (gst_identity_class_init),
19390         (gst_identity_transform_ip):
19391         We're a real inplace element.
19392
19393         * gst/gstbus.c: (gst_bus_post):
19394         Added some comments.
19395
19396         * tests/lat.c: (fakesrc), (fakesink), (simple), (queue), (main):
19397         * tests/muxing/case1.c: (main):
19398         * tests/sched/dynamic-pipeline.c: (main):
19399         * tests/sched/interrupt1.c: (main):
19400         * tests/sched/interrupt2.c: (main):
19401         * tests/sched/interrupt3.c: (main):
19402         * tests/sched/runxml.c: (main):
19403         * tests/sched/sched-stress.c: (main):
19404         * tests/seeking/seeking1.c: (event_received), (main):
19405         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
19406         (main):
19407         * tests/threadstate/threadstate3.c: (main):
19408         * tests/threadstate/threadstate4.c: (main):
19409         * tests/threadstate/threadstate5.c: (main):
19410         Fix the tests.
19411
19412 2005-07-21  Wim Taymans  <wim@fluendo.com>
19413
19414         * docs/design/part-seeking.txt:
19415         Some small additions.
19416
19417         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
19418         (gst_base_sink_get_times), (gst_base_sink_do_sync),
19419         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
19420         * gst/base/gstbasesink.h:
19421         discont values are gint64, handle the math correctly.
19422
19423         * gst/base/gstbasesrc.c: (gst_base_src_loop):
19424         Make the basesrc report error if the source pad is not linked.
19425
19426         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
19427         (gst_queue_loop), (gst_queue_handle_src_query),
19428         (gst_queue_src_activate_push):
19429         Make queue collect data even if the srcpad is not linked.
19430         Start pushing out data as soon as it is linked.
19431
19432         * gst/gstutils.c: (gst_element_unlink), (gst_flow_get_name):
19433         * gst/gstutils.h:
19434         Added gst_flow_get_name() to ease error reporting.
19435
19436 2005-07-20  Wim Taymans  <wim@fluendo.com>
19437
19438         * gst/gstmessage.c: (gst_message_new_segment_start),
19439         (gst_message_new_segment_done), (gst_message_parse_segment_start),
19440         (gst_message_parse_segment_done):
19441         * gst/gstmessage.h:
19442         Added a bunch of messages for advanced seeking.
19443
19444         * gst/parse/grammar.y:
19445         * libs/gst/control/dparammanager.c: (gst_dpman_set_parent),
19446         (gst_dpman_state_changed):
19447         Fix some new-pad -> pad-added signals
19448
19449 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
19450
19451         * docs/manual/appendix-porting.xml:
19452         * docs/pwg/appendix-porting.xml:
19453           Document new-pad/state-change signal renames and the FixedList
19454           type rename.
19455
19456 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
19457
19458         * docs/manual/advanced-autoplugging.xml:
19459         * docs/manual/basics-helloworld.xml:
19460         * docs/manual/basics-pads.xml:
19461         * docs/random/ds/0.9-suggested-changes:
19462         * gst/gstelement.c: (gst_element_class_init), (gst_element_seek):
19463         * gst/gstelement.h:
19464         * gst/gstevent.h:
19465         * gst/gstformat.h:
19466         * gst/gstquery.h:
19467         * gst/gststructure.c: (gst_structure_value_get_generic_type),
19468         (gst_structure_parse_array), (gst_structure_parse_value):
19469         * gst/gstvalue.c: (gst_type_is_fixed),
19470         (gst_value_list_prepend_value), (gst_value_list_append_value),
19471         (gst_value_list_get_size), (gst_value_list_get_value),
19472         (gst_value_transform_array_string), (gst_value_serialize_array),
19473         (gst_value_deserialize_array), (gst_value_intersect_array),
19474         (gst_value_is_fixed), (_gst_value_initialize):
19475         * gst/gstvalue.h:
19476           GstElement::new-pad -> pad-added, GstElement::state-change ->
19477           state-changed, GstValueFixedList -> GstValueArray, add format and
19478           flags as their own arguments in gst_element_seek() (should improve
19479           "bindeability"), remove function generators since they don't work
19480           under a whole bunch of compilers (they were deprecated already
19481           anyway).
19482
19483 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
19484
19485         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
19486         (_gst_debug_register_funcptr):
19487         * gst/gstinfo.h:
19488           Fix illegal cast on some platforms (#309253).
19489
19490 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
19491
19492         * gst/gstmessage.c: (gst_message_new_custom):
19493         * gst/gstmessage.h:
19494           Add _new_custom, make _new_application a macro to _new_custom.
19495
19496 2005-07-20  Wim Taymans  <wim@fluendo.com>
19497
19498         * gst/base/gstbasesrc.c: (gst_base_src_init),
19499         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
19500         * gst/base/gstbasesrc.h:
19501         Add a gboolean to decide when to push out a discont.
19502
19503         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
19504         (gst_queue_loop), (gst_queue_handle_src_query),
19505         (gst_queue_sink_activate_push), (gst_queue_src_activate_push),
19506         (gst_queue_set_property), (gst_queue_get_property):
19507         Some cleanups.
19508
19509         * tests/threadstate/threadstate1.c: (main):
19510         Make a thread test compile and run... very silly..
19511
19512
19513 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
19514
19515         * docs/manual/appendix-porting.xml:
19516           Mention removal of libgstgconf-0.9.la and existence of gconf
19517           elements.
19518
19519 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
19520
19521         * docs/pwg/advanced-clock.xml:
19522         * docs/pwg/appendix-porting.xml:
19523         * docs/pwg/intro-preface.xml:
19524         * docs/pwg/other-base.xml:
19525         * docs/pwg/other-manager.xml:
19526         * docs/pwg/other-nton.xml:
19527         * docs/pwg/other-ntoone.xml:
19528         * docs/pwg/other-oneton.xml:
19529         * docs/pwg/pwg.xml:
19530           Document base classes, update sections of n-to-1 and 1-to-n (muxer,
19531           demuxer), remove n-to-n (was never written), fix some code examples
19532           and links and update the porting section to include all this.
19533
19534 2005-07-19  Wim Taymans  <wim@fluendo.com>
19535
19536         * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_sink_event),
19537         (gst_queue_chain), (gst_queue_loop), (gst_queue_handle_src_event),
19538         (gst_queue_handle_src_query), (gst_queue_sink_activate_push),
19539         (gst_queue_src_activate_push), (gst_queue_change_state),
19540         (gst_queue_get_property):
19541         * gst/gstqueue.h:
19542         Propagate GstFlowReturn more intelligently upstream and output
19543         an ERROR/EOS when streaming stopped due to fatal error.
19544
19545 2005-07-19  Wim Taymans  <wim@fluendo.com>
19546
19547         * tools/gst-launch.c: (check_intr), (event_loop), (main):
19548         Don't block forever for the state change to complete, the
19549         pipeline already did with a sensible timeout.
19550
19551 2005-07-19  Wim Taymans  <wim@fluendo.com>
19552
19553         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
19554         Make sure we never call the create function is we
19555         got deactivated.
19556
19557 2005-07-19  Andy Wingo  <wingo@pobox.com>
19558
19559         * gst/parse/parse.l: Attempt to solve bug #172815.
19560
19561 2005-07-19  Wim Taymans  <wim@fluendo.com>
19562
19563         * docs/design/part-clocks.txt:
19564         * docs/design/part-events.txt:
19565         * gst/base/gstbasesrc.c: (gst_base_src_do_seek):
19566         Small docs updates.
19567         Only update the seeking values when we are not
19568         busy streaming.
19569
19570 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
19571
19572         * gst/base/gstbasesrc.c: (gst_base_src_loop):
19573           Oops, ignore the result of gst_pad_push_event here.
19574
19575 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
19576
19577         * gst/base/gstbasesrc.c: (gst_base_src_loop),
19578         (gst_base_src_activate_push):
19579           Send discont event from the loop function, as pads
19580           aren't activated yet in the activate_push handler.
19581
19582         * gst/gstbin.c: (bin_bus_handler):
19583           Don't leak element name.
19584
19585 2005-07-18  Andy Wingo  <wingo@pobox.com>
19586
19587         * configure.ac: Use AS_LIBTOOL_TAGS.
19588
19589 2005-07-18  Wim Taymans  <wim@fluendo.com>
19590
19591         * docs/gst/gstreamer.types:
19592         Remove deleted types.
19593
19594 2005-07-18  Wim Taymans  <wim@fluendo.com>
19595
19596         * check/elements/gstfakesrc.c: (GST_START_TEST):
19597         * configure.ac:
19598         * gst/Makefile.am:
19599         * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
19600         (init_popt_callback):
19601         * gst/gst.h:
19602         * gst/gst_private.h:
19603         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_add_func),
19604         (gst_bin_remove_func), (gst_bin_get_state), (gst_bin_change_state):
19605         * gst/gstbin.h:
19606         * gst/gstbus.h:
19607         * gst/gstconfig.h.in:
19608         * gst/gstelement.c: (gst_element_class_init),
19609         (gst_element_set_base_time), (gst_element_get_base_time),
19610         (iterator_fold_with_resync), (gst_element_change_state),
19611         (gst_element_dispose), (gst_element_get_bus):
19612         * gst/gstelement.h:
19613         * gst/gstelementfactory.h:
19614         * gst/gsterror.c: (_gst_core_errors_init):
19615         * gst/gsterror.h:
19616         * gst/gstevent.h:
19617         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
19618         * gst/gstindex.c:
19619         * gst/gstinfo.c: (_gst_debug_init):
19620         * gst/gstmessage.c: (_gst_message_copy):
19621         * gst/gstmessage.h:
19622         * gst/gstminiobject.h:
19623         * gst/gstobject.c:
19624         * gst/gstobject.h:
19625         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
19626         (gst_pad_set_caps), (gst_pad_start_task), (gst_pad_stop_task):
19627         * gst/gstpad.h:
19628         * gst/gstparse.h:
19629         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
19630         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
19631         (gst_pipeline_get_last_stream_time):
19632         * gst/gstpipeline.h:
19633         * gst/gstpluginfeature.h:
19634         * gst/gstquery.h:
19635         * gst/gstscheduler.c:
19636         * gst/gstscheduler.h:
19637         * gst/gststructure.h:
19638         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
19639         (gst_task_finalize), (gst_task_func), (gst_task_create),
19640         (gst_task_set_lock), (gst_task_get_state), (gst_task_start),
19641         (gst_task_stop), (gst_task_pause):
19642         * gst/gsttask.h:
19643         * gst/gsttypefind.h:
19644         * gst/gsttypes.h:
19645         * gst/registries/gstlibxmlregistry.c: (load_feature),
19646         (gst_xml_registry_load), (gst_xml_registry_save_feature):
19647         * gst/registries/gstxmlregistry.c:
19648         (gst_xml_registry_start_element), (gst_xml_registry_save_feature):
19649         * gst/schedulers/threadscheduler.c:
19650         * libs/gst/control/dparammanager.h:
19651         * tools/gst-inspect.c: (print_element_list),
19652         (print_plugin_features), (print_element_features):
19653         * tools/gst-xmlinspect.c: (print_element_list),
19654         (print_plugin_info), (main):
19655         Removed plugable schedulers.
19656         Removed Scheduler/Manager from elements.
19657         Removed gsttypes.h, rearranged includes.
19658         Removed dependency pad<->element, element<>pipeline, and
19659         various others,  fix includes.
19660         implement gst_pad_get_parent() with gst_object_get_parent()
19661         Make GstTask sefcontained.
19662         Fix _get_state() on GstBin, it did not return ASYNC with a 0
19663         timeout.
19664         Fix endless loop in iterator_fold_with_resync.
19665
19666
19667 2005-07-18  Wim Taymans  <wim@fluendo.com>
19668
19669         * gst/Makefile.am:
19670         * gst/gstarch.h:
19671         Remove old file.
19672
19673 2005-07-18  Wim Taymans  <wim@fluendo.com>
19674
19675         * gst/Makefile.am:
19676         No more cothreads.h
19677
19678 2005-07-18  Wim Taymans  <wim@fluendo.com>
19679
19680         * gst/cothreads.c:
19681         * gst/cothreads.h:
19682         Let's remove these.
19683
19684 2005-07-18  Wim Taymans  <wim@fluendo.com>
19685
19686         * docs/design/part-dynamic.txt:
19687         * docs/design/part-events.txt:
19688         * docs/design/part-seeking.txt:
19689         Some more docs in the works.
19690
19691         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
19692         (gst_base_transform_getcaps), (gst_base_transform_configure_caps),
19693         (gst_base_transform_setcaps), (gst_base_transform_get_size),
19694         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
19695         (gst_base_transform_handle_buffer),
19696         (gst_base_transform_sink_activate_push),
19697         (gst_base_transform_src_activate_pull),
19698         (gst_base_transform_set_passthrough),
19699         (gst_base_transform_is_passthrough):
19700         Refcounting fixes.
19701
19702         * gst/gstbus.c: (gst_bus_source_dispatch), (gst_bus_poll):
19703         Cleanups.
19704
19705         * gst/gstevent.c: (gst_event_finalize):
19706         Set SRC to NULL.
19707
19708         * gst/gstutils.c: (gst_element_unlink),
19709         (gst_pad_get_parent_element), (gst_pad_proxy_getcaps),
19710         (gst_pad_proxy_setcaps):
19711         * gst/gstutils.h:
19712         Add _get_parent_element() to get a pads parent as an element.
19713
19714 2005-07-18  Wim Taymans  <wim@fluendo.com>
19715
19716         * check/gst/gstbin.c: (GST_START_TEST):
19717         Remove bogus test.
19718
19719 2005-07-18  Wim Taymans  <wim@fluendo.com>
19720
19721         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
19722         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
19723         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
19724         (gst_base_sink_event), (gst_base_sink_do_sync),
19725         (gst_base_sink_chain), (gst_base_sink_loop),
19726         (gst_base_sink_deactivate), (gst_base_sink_activate_push),
19727         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
19728         Refcounting fixes.
19729         Fix logic for returning ASYNC when not prerolled.
19730
19731 2005-07-18  Wim Taymans  <wim@fluendo.com>
19732
19733         * gst/gstqueue.c: (gst_queue_handle_sink_event):
19734         Fix nasty refcount bug.
19735
19736 2005-07-16 Philippe Khalaf <burger@speedy.org>
19737
19738         * gst/elements/gstfdsrc.c:
19739         * gst/elements/gstfdsrc.h:
19740         * gst/elements/gstelements.c:
19741         * gst/elements/Makefile.am:
19742         Ported fdsrc to 0.9.
19743
19744 2005-07-16  Wim Taymans  <wim@fluendo.com>
19745
19746         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
19747         (gst_base_sink_do_sync):
19748         Fix compile error.
19749
19750 2005-07-16  Wim Taymans  <wim@fluendo.com>
19751
19752         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
19753         (gst_base_sink_event), (gst_base_sink_get_times),
19754         (gst_base_sink_do_sync), (gst_base_sink_change_state):
19755         * gst/base/gstbasesink.h:
19756         Store and use discont values when syncing buffers as described
19757         in design docs.
19758         
19759         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
19760         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start),
19761         (gst_base_src_activate_push):
19762         Push discont event when starting.
19763
19764         * gst/elements/gstidentity.c: (gst_identity_transform):
19765         Small cleanups.
19766
19767         * gst/gstbin.c: (gst_bin_change_state):
19768         Small cleanups in base_time  distribution.
19769
19770         * gst/gstelement.c: (gst_element_set_base_time),
19771         (gst_element_get_base_time), (gst_element_change_state):
19772         * gst/gstelement.h:
19773         Added methods for the base_time of the element.
19774         Some MT fixes.
19775
19776         * gst/gstpipeline.c: (gst_pipeline_send_event),
19777         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
19778         (gst_pipeline_get_last_stream_time):
19779         * gst/gstpipeline.h:
19780         MT fixes.
19781         Handle seeking as described in design doc, remove stream_time
19782         hack.
19783         Cleanups clock and stream_time selection code. Added accessors
19784         for the stream_time.
19785         
19786
19787 2005-07-16  Andy Wingo  <wingo@pobox.com>
19788
19789         * gst/gsterror.c (_gst_core_errors_init): Use the magic word
19790         (#305291).
19791
19792 2005-07-16  Wim Taymans  <wim@fluendo.com>
19793
19794         * check/gst/gstbin.c: (GST_START_TEST):
19795         Make elements silent as the deep_notify refs the
19796         parent, which might make the test fail.
19797
19798         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
19799         Don't hold the lock for too long.
19800
19801 2005-07-16  Tim-Philipp Müller  <tim at centricular dot net>
19802
19803         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
19804           Don't unref the caps we passed to gst_caps_make_writable() after
19805           passing them. gst_caps_make_writable() will do that for us.
19806
19807 2005-07-15  Andy Wingo  <wingo@pobox.com>
19808
19809         * gst/gstcaps.h (gst_caps_is_simple): Removed deprecated macro
19810         (#157311).
19811
19812         * gst/elements/gstidentity.c (marshal_VOID__MINIOBJECT): Write our
19813         own marshalling function for the handoff signal. Properly type the
19814         buffer as a buffer. Fixes some warnings. Should do a more general
19815         solution.
19816         (gst_identity_class_init): Plug into the right marshaller.
19817
19818 2005-07-15  Wim Taymans  <wim@fluendo.com>
19819
19820         * docs/design/part-TODO.txt:
19821         * docs/design/part-clocks.txt:
19822         * docs/design/part-element-sink.txt:
19823         * docs/design/part-events.txt:
19824         * docs/design/part-gstpipeline.txt:
19825         Updated docs, mostly DISCONT related.
19826
19827 2005-07-15  Tim-Philipp Müller  <tim at centricular dot net>
19828
19829         * docs/pwg/building-pads.xml:
19830           s/GST_PAD_LINK_REFUSED/FALSE/ in gst_my_filter_setcaps()
19831
19832 2005-07-15  Andy Wingo  <wingo@pobox.com>
19833
19834         * tools/gst-typefind.c: Update, add copyright block.
19835
19836         * gst/base/gstbasesrc.c (gst_base_src_default_negotiate):
19837         Normalize and truncate caps before fixation.
19838
19839         * gst/gstcaps.h:
19840         * gst/gstcaps.c (gst_caps_truncate): New function, destructively
19841         discards all but the first structure from its argument.
19842
19843 2005-07-15  Wim Taymans  <wim@fluendo.com>
19844
19845         * gst/base/gstbasetransform.c: (gst_base_transform_init),
19846         (gst_base_transform_transform_caps), (gst_base_transform_getcaps),
19847         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
19848         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
19849         (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
19850         (gst_base_transform_chain), (gst_base_transform_change_state),
19851         (gst_base_transform_set_passthrough),
19852         (gst_base_transform_is_passthrough):
19853         * gst/base/gstbasetransform.h:
19854         Make passthrough work using the bufferpools.
19855         Changed API a bit, subclasses have to write into a buffer
19856         provided by the base class.
19857         More debug info in nego functions.
19858         
19859         * gst/elements/gstidentity.c: (gst_identity_init),
19860         (gst_identity_transform):
19861         Port to new base class.
19862
19863 2005-07-15  Wim Taymans  <wim@fluendo.com>
19864
19865         * gst/gstmessage.c: (gst_message_new_state_changed):
19866         * tools/gst-launch.c: (event_loop), (main):
19867         Totally dump messages in -launch with the -m option.
19868         Fix message name for State messages,
19869
19870 2005-07-14  Wim Taymans  <wim@fluendo.com>
19871
19872         * gst/base/gstbasesrc.c: (gst_base_src_loop):
19873         Post error messages on errors.
19874
19875 2005-07-14  Wim Taymans  <wim@fluendo.com>
19876
19877         * gst/gstcaps.c: (gst_caps_do_simplify):
19878         Remove debug info.
19879
19880         * gst/gsterror.h:
19881         Define error for stream stopped.
19882
19883         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
19884         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange):
19885         Do proper return values.
19886
19887         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
19888         (gst_pad_set_caps), (gst_pad_chain), (gst_pad_push),
19889         (gst_pad_get_range):
19890         Better return values.
19891
19892         * gst/gstpad.h:
19893         Reorganise return values, add macro to check for fatal errors.
19894
19895         * gst/gstqueue.c: (gst_queue_chain):
19896         Return proper GstFlowReturn values,
19897
19898 2005-07-14  Thomas Vander Stichele  <thomas at apestaart dot org>
19899
19900         * docs/gst/gstreamer-sections.txt:
19901         * docs/gst/gstreamer.types:
19902         * docs/gst/tmpl/gst.sgml:
19903         * docs/gst/tmpl/gstbasesink.sgml:
19904         * docs/gst/tmpl/gstbasesrc.sgml:
19905         * docs/gst/tmpl/gstbasetransform.sgml:
19906         * docs/gst/tmpl/gstbin.sgml:
19907         * docs/gst/tmpl/gstbuffer.sgml:
19908         * docs/gst/tmpl/gstcaps.sgml:
19909         * docs/gst/tmpl/gstclock.sgml:
19910         * docs/gst/tmpl/gstcompat.sgml:
19911         * docs/gst/tmpl/gstconfig.sgml:
19912         * docs/gst/tmpl/gstelement.sgml:
19913         * docs/gst/tmpl/gstelementdetails.sgml:
19914         * docs/gst/tmpl/gstelementfactory.sgml:
19915         * docs/gst/tmpl/gstenumtypes.sgml:
19916         * docs/gst/tmpl/gsterror.sgml:
19917         * docs/gst/tmpl/gstevent.sgml:
19918         * docs/gst/tmpl/gstfakesink.sgml:
19919         * docs/gst/tmpl/gstfakesrc.sgml:
19920         * docs/gst/tmpl/gstfilesink.sgml:
19921         * docs/gst/tmpl/gstfilesrc.sgml:
19922         * docs/gst/tmpl/gstfilter.sgml:
19923         * docs/gst/tmpl/gstformat.sgml:
19924         * docs/gst/tmpl/gstghostpad.sgml:
19925         * docs/gst/tmpl/gstimplementsinterface.sgml:
19926         * docs/gst/tmpl/gstindex.sgml:
19927         * docs/gst/tmpl/gstindexfactory.sgml:
19928         * docs/gst/tmpl/gstinfo.sgml:
19929         * docs/gst/tmpl/gstiterator.sgml:
19930         * docs/gst/tmpl/gstmacros.sgml:
19931         * docs/gst/tmpl/gstmemchunk.sgml:
19932         * docs/gst/tmpl/gstminiobject.sgml:
19933         * docs/gst/tmpl/gstobject.sgml:
19934         * docs/gst/tmpl/gstpad.sgml:
19935         * docs/gst/tmpl/gstpadtemplate.sgml:
19936         * docs/gst/tmpl/gstparse.sgml:
19937         * docs/gst/tmpl/gstpipeline.sgml:
19938         * docs/gst/tmpl/gstplugin.sgml:
19939         * docs/gst/tmpl/gstpluginfeature.sgml:
19940         * docs/gst/tmpl/gstquery.sgml:
19941         * docs/gst/tmpl/gstqueue.sgml:
19942         * docs/gst/tmpl/gstregistry.sgml:
19943         * docs/gst/tmpl/gstregistrypool.sgml:
19944         * docs/gst/tmpl/gstscheduler.sgml:
19945         * docs/gst/tmpl/gstschedulerfactory.sgml:
19946         * docs/gst/tmpl/gststructure.sgml:
19947         * docs/gst/tmpl/gstsystemclock.sgml:
19948         * docs/gst/tmpl/gsttaglist.sgml:
19949         * docs/gst/tmpl/gsttagsetter.sgml:
19950         * docs/gst/tmpl/gsttrace.sgml:
19951         * docs/gst/tmpl/gsttrashstack.sgml:
19952         * docs/gst/tmpl/gsttypefind.sgml:
19953         * docs/gst/tmpl/gsttypefindfactory.sgml:
19954         * docs/gst/tmpl/gsttypes.sgml:
19955         * docs/gst/tmpl/gsturihandler.sgml:
19956         * docs/gst/tmpl/gsturitype.sgml:
19957         * docs/gst/tmpl/gstutils.sgml:
19958         * docs/gst/tmpl/gstvalue.sgml:
19959         * docs/gst/tmpl/gstversion.sgml:
19960         * docs/gst/tmpl/gstxml.sgml:
19961         * docs/libs/tmpl/gstcontrol.sgml:
19962         * docs/libs/tmpl/gstdataprotocol.sgml:
19963         * docs/libs/tmpl/gstdparam.sgml:
19964         * docs/libs/tmpl/gstdplinint.sgml:
19965         * docs/libs/tmpl/gstdpman.sgml:
19966         * docs/libs/tmpl/gstdpsmooth.sgml:
19967         * docs/libs/tmpl/gstgetbits.sgml:
19968         * docs/libs/tmpl/gstunitconvert.sgml:
19969         * gst/base/gstpushsrc.c: (gst_push_src_get_type),
19970         (gst_push_src_base_init), (gst_push_src_class_init),
19971         (gst_push_src_init), (gst_push_src_create):
19972         * gst/base/gstpushsrc.h:
19973         * gst/elements/gstelements.c:
19974         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type),
19975         (gst_fake_sink_base_init), (gst_fake_sink_class_init),
19976         (gst_fake_sink_init), (gst_fake_sink_set_property),
19977         (gst_fake_sink_get_property), (gst_fake_sink_get_times),
19978         (gst_fake_sink_event), (gst_fake_sink_preroll),
19979         (gst_fake_sink_render), (gst_fake_sink_change_state):
19980         * gst/elements/gstfakesink.h:
19981         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
19982         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
19983         (gst_fake_src_base_init), (gst_fake_src_class_init),
19984         (gst_fake_src_init), (gst_fake_src_event_handler),
19985         (gst_fake_src_alloc_parent), (gst_fake_src_set_property),
19986         (gst_fake_src_get_property), (gst_fake_src_prepare_buffer),
19987         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size),
19988         (gst_fake_src_create_buffer), (gst_fake_src_create),
19989         (gst_fake_src_start), (gst_fake_src_stop):
19990         * gst/elements/gstfakesrc.h:
19991         * gst/elements/gstfilesink.c: (_do_init),
19992         (gst_file_sink_base_init), (gst_file_sink_class_init),
19993         (gst_file_sink_init), (gst_file_sink_dispose),
19994         (gst_file_sink_set_location), (gst_file_sink_set_property),
19995         (gst_file_sink_get_property), (gst_file_sink_open_file),
19996         (gst_file_sink_close_file), (gst_file_sink_query),
19997         (gst_file_sink_event), (gst_file_sink_render),
19998         (gst_file_sink_change_state), (gst_file_sink_uri_get_type),
19999         (gst_file_sink_uri_get_protocols), (gst_file_sink_uri_get_uri),
20000         (gst_file_sink_uri_set_uri), (gst_file_sink_uri_handler_init):
20001         * gst/elements/gstfilesink.h:
20002         * gst/elements/gstfilesrc.c: (_do_init), (gst_file_src_base_init),
20003         (gst_file_src_class_init), (gst_file_src_init),
20004         (gst_file_src_finalize), (gst_file_src_set_location),
20005         (gst_file_src_set_property), (gst_file_src_get_property),
20006         (gst_file_src_map_region), (gst_file_src_map_small_region),
20007         (gst_file_src_create_mmap), (gst_file_src_create_read),
20008         (gst_file_src_create), (gst_file_src_is_seekable),
20009         (gst_file_src_get_size), (gst_file_src_start), (gst_file_src_stop),
20010         (gst_file_src_uri_get_type), (gst_file_src_uri_get_protocols),
20011         (gst_file_src_uri_get_uri), (gst_file_src_uri_set_uri),
20012         (gst_file_src_uri_handler_init):
20013         * gst/elements/gstfilesrc.h:
20014           more autistic cleanliness in functions/names/defines
20015
20016 2005-07-13  Andy Wingo  <wingo@pobox.com>
20017
20018         * gst/base/gstbasesrc.c (gst_base_src_start): Post an error if the
20019         source couldn't negotiate.
20020
20021         * gst/parse/grammar.y: Revert 1.54->1.55, so we now do filtered
20022         connections again.
20023
20024         * gst/gstutils.h:
20025         * gst/gstutils.c (gst_element_link_pads_filtered): New old
20026         function. I am channeling Hades. Put your boots on suckers!!!
20027
20028 2005-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
20029
20030         * testsuite/caps/Makefile.am:
20031         * testsuite/caps/value_compare.c:
20032         * testsuite/caps/value_intersect.c:
20033         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
20034           move two testsuite apps over to the check dir
20035
20036 2005-07-12  Wim Taymans  <wim@fluendo.com>
20037
20038         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
20039         Added more debug info in the negotiate process.
20040
20041         * gst/gstmessage.h:
20042         Prepare for segment playback.
20043
20044         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps):
20045         Better debugging.
20046
20047         * gst/gstutils.c:
20048         Some more docs.
20049
20050         * tools/gst-launch.c: (main):
20051         NULL pipeline on errors.
20052
20053 2005-07-12  Andy Wingo  <wingo@pobox.com>
20054
20055         * gst/gstbuffer.c (_gst_buffer_copy): Copy the buffer whether or
20056         not it comes from a malloc region. Make sure our copy gets freed.
20057
20058 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
20059
20060         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
20061         * check/gst/gstmessage.c: (GST_START_TEST):
20062         * check/gst/gststructure.c: (GST_START_TEST),
20063         (gst_structure_suite), (main):
20064           more testing
20065         * gst/gstelement.c: (gst_element_message_full):
20066           clean up GError and debug string now that they get copied
20067         * gst/gstmessage.c: (gst_message_new_error),
20068         (gst_message_new_warning), (gst_message_parse_error),
20069         (gst_message_parse_warning):
20070           use GST_TYPE_G_ERROR for structure_new, and take copies of
20071           arguments, so that we don't mess up refcounting
20072
20073 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
20074
20075         * check/Makefile.am:
20076           add per-test valgrind targets
20077         * check/gst-libs/gdp.c: (GST_START_TEST),
20078         (gst_data_protocol_suite), (main):
20079           clean up
20080
20081 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
20082
20083         * check/Makefile.am:
20084           instate more valgrindable tests
20085         * check/elements/gstfakesrc.c: (chain_func), (event_func),
20086         (GST_START_TEST), (fakesrc_suite):
20087         * check/gst/gstpad.c: (GST_START_TEST):
20088         * check/gst/gststructure.c: (GST_START_TEST):
20089           fix test leaks
20090         * docs/gst/tmpl/gstminiobject.sgml:
20091         * gst/gstpad.c: (gst_pad_finalize):
20092           fix the static mutex leak
20093
20094 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
20095
20096         * check/Makefile.am:
20097           add two more tests for valgrinding
20098         * check/gst/gstvalue.c: (GST_START_TEST):
20099           test refcount of deserialized buffer, found a leak
20100         * docs/gst/gstreamer-docs.sgml:
20101         * docs/gst/gstreamer-sections.txt:
20102         * docs/gst/gstreamer.types:
20103         * docs/gst/tmpl/gstminiobject.sgml:
20104           add miniobject to docs
20105         * gst/gstminiobject.c:
20106           add some docs
20107         * gst/gstvalue.c: (gst_value_deserialize_buffer),
20108         (gst_string_unwrap):
20109           fix a hard-to-find invalid write for one of the tests
20110           fix a leak for deserialized buffers
20111
20112 2005-07-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
20113
20114         * docs/pwg/advanced-events.xml:
20115         * docs/pwg/advanced-request.xml:
20116         * docs/pwg/advanced-scheduling.xml:
20117         * docs/pwg/appendix-porting.xml:
20118         * docs/pwg/building-boiler.xml:
20119         * docs/pwg/intro-preface.xml:
20120         * docs/pwg/other-ntoone.xml:
20121           Rewrite scheduling-chapter for scheduling model in 0.9. Add lots
20122           of example code and explanation for pad activation, loop() and
20123           getrange() functions and a bit more. Remove old comments pointing
20124           to loop-functions.
20125         * examples/pwg/Makefile.am:
20126           Add loop/getrange examples.
20127
20128 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
20129
20130         * configure.ac:
20131           check for valgrind binary + some fixes
20132         * check/gst.supp:
20133           valgrind suppressions for the tests
20134         * check/Makefile.am:
20135           add a valgrind: target that valgrinds the unit tests
20136         * check/gst/gst.c: (GST_START_TEST), (gst_suite):
20137         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
20138         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
20139         * check/gst/gstghostpad.c:
20140           added some cleanup
20141         * check/gst/gstdata.c:
20142           removed
20143         * check/gst/gstminiobject.c: (GST_START_TEST), (thread_ref),
20144         (thread_unref), (gst_mini_object_suite), (main):
20145           added
20146         * gst/gst.c: (gst_deinit):
20147         * gst/gst.h:
20148           add a method to clean up.
20149         * gst/gstsystemclock.c: (gst_system_clock_dispose),
20150         (gst_system_clock_obtain):
20151           allow for disposing the system clock.
20152         * tools/gst-launch.c: (main):
20153           deinit
20154
20155 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
20156
20157         * docs/gst/tmpl/gstbasesrc.sgml:
20158         * docs/gst/tmpl/gstfakesrc.sgml:
20159         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
20160         (gst_base_src_init), (gst_base_src_set_property),
20161         (gst_base_src_get_property), (gst_base_src_get_range),
20162         (gst_base_src_start):
20163         * gst/base/gstbasesrc.h:
20164           add num-buffers property
20165         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
20166         (gst_fakesrc_init), (gst_fakesrc_set_property),
20167         (gst_fakesrc_get_property), (gst_fakesrc_create),
20168         (gst_fakesrc_start):
20169           remove num-buffers property
20170
20171 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
20172
20173         * docs/gst/gstreamer-sections.txt:
20174         * docs/gst/tmpl/gstbasesink.sgml:
20175         * docs/gst/tmpl/gstbasesrc.sgml:
20176         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
20177         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
20178         (gst_base_sink_finalize), (gst_base_sink_set_clock),
20179         (gst_base_sink_set_property), (gst_base_sink_get_property),
20180         (gst_base_sink_handle_object), (gst_base_sink_event),
20181         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
20182         (gst_base_sink_handle_buffer), (gst_base_sink_chain),
20183         (gst_base_sink_loop), (gst_base_sink_deactivate),
20184         (gst_base_sink_activate_push), (gst_base_sink_activate_pull),
20185         (gst_base_sink_change_state):
20186         * gst/base/gstbasesink.h:
20187         * gst/base/gstbasesrc.h:
20188         * gst/elements/gstfakesink.c: (gst_fakesink_get_times):
20189         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
20190         (gst_filesink_init):
20191           more macro splitting
20192
20193 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
20194
20195         * gst/gstelement.c: (gst_element_get_bus):
20196           add debug
20197         * tools/gst-launch.c: (check_intr), (event_loop):
20198           fix bus leaks
20199
20200 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
20201
20202         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
20203           fix a caps leak
20204
20205 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
20206
20207         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
20208         (gst_base_src_finalize):
20209           add finalize method and clean up properly
20210         * gst/gstpipeline.c: (gst_pipeline_dispose):
20211           add debug
20212
20213 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
20214
20215         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST),
20216         (gst_bin_suite):
20217           add more things to check
20218         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
20219         * gst/gstelement.c:
20220           more debug
20221
20222 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
20223
20224         * check/elements/gstfakesrc.c: (chain_func), (event_func),
20225         (GST_START_TEST), (fakesrc_suite):
20226         * check/gst-libs/gdp.c: (GST_START_TEST):
20227         * check/gst/gst.c: (GST_START_TEST):
20228         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
20229         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
20230         * check/gst/gstbus.c: (GST_START_TEST):
20231         * check/gst/gstcaps.c: (GST_START_TEST):
20232         * check/gst/gstdata.c: (GST_START_TEST):
20233         * check/gst/gstelement.c: (GST_START_TEST):
20234         * check/gst/gstghostpad.c: (GST_START_TEST):
20235         * check/gst/gstiterator.c: (GST_START_TEST):
20236         * check/gst/gstmessage.c: (GST_START_TEST):
20237         * check/gst/gstobject.c: (GST_START_TEST):
20238         * check/gst/gstpad.c: (GST_START_TEST):
20239         * check/gst/gststructure.c: (GST_START_TEST):
20240         * check/gst/gstsystemclock.c: (GST_START_TEST),
20241         (gst_systemclock_suite):
20242         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
20243         * check/gst/gstvalue.c: (GST_START_TEST):
20244         * check/pipelines/cleanup.c: (GST_START_TEST):
20245         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
20246         * check/states/sinks.c: (GST_START_TEST):
20247         * check/gstcheck.c: (gst_check_init):
20248         * check/gstcheck.h:
20249           add debugging category
20250           use GST_START_TEST now, so we add a debug line
20251
20252 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
20253
20254         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite):
20255           add test for state change message on a bin
20256         * check/gst/gstelement.c: (START_TEST), (gst_element_suite):
20257           add another test
20258         * gst/gstbin.c: (gst_bin_init):
20259         * gst/gstbus.c: (gst_bus_init), (gst_bus_post):
20260         * gst/gstelement.c: (gst_element_post_message),
20261         (gst_element_set_state):
20262         * gst/gstelementfactory.c: (gst_element_factory_create):
20263         * gst/gstmessage.c: (gst_message_new):
20264         * gst/gstscheduler.c:
20265           various debugging additions and cleanups
20266
20267 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
20268
20269         * check/Makefile.am:
20270         * check/gst/gstelement.c: (START_TEST), (gst_element_suite),
20271         (main):
20272           adding tests for elements
20273         * gst/gstelement.c: (gst_element_dispose):
20274
20275 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
20276
20277         * gst/registries/gstlibxmlregistry.c: (load_feature):
20278           plug more leaks.  A simple gst_init() now is leakfree, yay.
20279
20280 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
20281
20282         * gst/registries/gstlibxmlregistry.c: (read_string), (load_paths),
20283         (gst_xml_registry_load):
20284           plug another memleak
20285
20286 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
20287
20288         * configure.ac:
20289           use GST_SET_ERROR_CFLAGS
20290         * docs/faq/cvs.xml:
20291           change to ERROR_CFLAGS
20292
20293 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
20294
20295         * configure.ac:
20296           make GST_ERROR_CFLAGS overridable and re-enable Werror
20297         * docs/faq/cvs.xml:
20298           add a note about error CFLAGS
20299         * docs/gst/tmpl/gstfakesrc.sgml:
20300         * gst/elements/gstfakesrc.c:
20301           comment out some unused code
20302         * gst/gst.c: (split_and_iterate):
20303         * gst/registries/gstlibxmlregistry.c: (load_pad_template),
20304         (load_feature):
20305           plug some memleaks
20306
20307 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
20308
20309         * common/Makefile.am:
20310         * common/gtk-doc.mak:
20311         * docs/gst/Makefile.am:
20312           factor out gtk-doc.mak
20313
20314 2005-07-07  Wim Taymans  <wim@fluendo.com>
20315
20316         * gst/schedulers/threadscheduler.c: (gst_thread_scheduler_func),
20317         (gst_thread_scheduler_dispose):
20318         Unlock the STREAM_LOCK completely.
20319
20320 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
20321
20322         * check/Makefile.am:
20323         * check/elements/.cvsignore:
20324         * check/elements/gstfakesrc.c: (chain_func), (event_func),
20325         (START_TEST), (fakesrc_suite), (main):
20326         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
20327         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
20328         (gst_fakesrc_create), (gst_fakesrc_start):
20329         * gst/elements/gstfakesrc.h:
20330           adding a first element test
20331
20332 2005-07-07  Andy Wingo  <wingo@pobox.com>
20333
20334         * gst/gstbus.c (gst_bus_have_pending): Remove intensely irritating
20335         debug message.
20336
20337 2005-07-07  Wim Taymans  <wim@fluendo.com>
20338
20339         * gst/gstquery.c:
20340         * gst/gstquery.h:
20341         Remove old types
20342
20343 2005-07-07  Wim Taymans  <wim@fluendo.com>
20344
20345         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
20346         (gst_base_src_default_negotiate), (gst_base_src_negotiate):
20347         Allow subclasses to implement their own negotiation.
20348
20349 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
20350
20351         * docs/design/part-gstbin.txt:
20352         * docs/design/part-gstpipeline.txt:
20353           Update design notes to reflect the movement of
20354           responsibility for bus handling from GstPipeline to
20355           GstBin
20356
20357 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
20358
20359         * configure.ac:
20360           Remove unnecessary queue2/3/4 examples.
20361
20362 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
20363
20364         * examples/Makefile.am:
20365         * examples/helloworld/helloworld.c: (event_loop), (main):
20366         * examples/queue/queue.c: (event_loop), (main):
20367         * examples/queue2/queue2.c: (main):
20368           Update a couple of the examples to work again.
20369
20370         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
20371         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_event):
20372          Spelling corrections and extra debug.
20373         
20374         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init), (is_eos),
20375         (gst_bin_add_func), (bin_element_is_sink), (gst_bin_get_state),
20376         (gst_bin_change_state), (gst_bin_dispose), (bin_bus_handler):
20377         * gst/gstbin.h:
20378         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
20379         (gst_pipeline_change_state):
20380         * gst/gstpipeline.h:
20381           Move the bus handler for children to the GstBin, and create a
20382           separate bus for receiving messages from children to the one the
20383           bus sends 'upwards' on.
20384
20385 2005-07-06  Wim Taymans  <wim@fluendo.com>
20386
20387         * gst/base/README:
20388         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
20389         (gst_base_sink_handle_object), (gst_base_sink_loop),
20390         (gst_base_sink_change_state):
20391         * gst/base/gstbasesink.h:
20392         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
20393         (gst_base_src_init), (gst_base_src_setcaps),
20394         (gst_base_src_getcaps), (gst_base_src_loop),
20395         (gst_base_src_default_negotiate), (gst_base_src_negotiate),
20396         (gst_base_src_start), (gst_base_src_change_state):
20397         * gst/base/gstbasesrc.h:
20398         Make basesrc negotiate.
20399         Handle the case where preroll fails in basesink.
20400         Update README.
20401
20402 2005-07-06  Wim Taymans  <wim@fluendo.com>
20403
20404         * gst/gstpad.c: (gst_pad_fixate_caps), (gst_pad_accept_caps):
20405         Implement the fixate function.
20406         Clean up acceptcaps.
20407
20408 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
20409
20410         * docs/pwg/building-filterfactory.xml:
20411         * docs/pwg/pwg.xml:
20412           Remove never-written filter-factory chapter; I'll add the various
20413           base classes to part 4 ("other element types") later on.
20414
20415 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
20416
20417         * docs/pwg/advanced-negotiation.xml:
20418         * docs/pwg/building-boiler.xml:
20419         * docs/pwg/building-pads.xml:
20420         * docs/pwg/pwg.xml:
20421         * examples/pwg/Makefile.am:
20422           Add a chapter on caps negotiation, simplify the original code
20423           samples a bit w.r.t. caps negotiation, add link to the advanced
20424           section. Add a bunch of examples showing different use cases of
20425           different types of caps negotiation. Upstream renegotiation isn't
20426           fully documented yet since nobody knows how that works.
20427
20428 2005-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
20429
20430         * check/gst/gstpad.c:
20431         * check/gstcheck.c:
20432         * gst/gstpad.c: (gst_pad_get_internal_links_default):
20433           if pad has no parent, return NULL as list of internal links
20434
20435 2005-07-05  Andy Wingo  <wingo@pobox.com>
20436
20437         * gst/elements/gstfilesrc.c:
20438         * gst/elements/gstfakesrc.c: 
20439         * gst/base/gstpushsrc.c:
20440         * gst/base/gstbasesrc.h: 
20441         * gst/base/gstbasesrc.c: s/BASESRC/BASE_SRC/g.
20442         
20443 2005-07-05  Stefan Kost  <ensonic@users.sf.net>
20444
20445         * Makefile.am:
20446           better report generation target (lcov needs a patch)
20447
20448 2005-07-05  Andy Wingo  <wingo@pobox.com>
20449
20450         * gst/elements, testsuite: Null if we got it...
20451
20452 2005-07-05  Wim Taymans  <wim@fluendo.com>
20453
20454         * configure.ac:
20455         * libs/gst/dataprotocol/Makefile.am:
20456         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_validate_packet):
20457         * libs/gst/dataprotocol/dataprotocol.h:
20458         * pkgconfig/Makefile.am:
20459         * pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in:
20460         * pkgconfig/gstreamer-dataprotocol.pc.in:
20461         Ported dataprotol to 0.9. 
20462         Added pkgconfig files.
20463
20464 2005-07-05  Andy Wingo  <wingo@pobox.com>
20465
20466         * gst/base/gstbasetransform.c (gst_base_transform_setcaps):
20467         Default to returning TRUE for the case when tranform_caps returns
20468         a fixed caps, like for identity or volume.
20469
20470         * check/gst/gstbus.c (pound_bus_with_messages): 
20471         * check/gst/gstmessage.c (START_TEST): 
20472         * check/pipelines/simple_launch_lines.c (got_handoff): Application
20473         message API change.
20474
20475         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): More
20476         logic weaks here: always run transform_caps, trying passthrough
20477         operation only if the original caps intersects with the transform.
20478
20479         * gst/gstpad.c (gst_pad_link_check_compatible_unlocked): Debug
20480         source and sink caps.
20481
20482         * gst/base/gstbasetransform.c (gst_base_transform_getcaps):
20483         Intersect the peer caps with the pad template before going into
20484         transform_caps.
20485         (gst_base_transform_transform_caps): More debugging.
20486
20487         * gst/gstmessage.h (gst_message_new_application): Take a GstObject
20488         src argument.
20489
20490 2005-07-04  Edward Hervey  <edward@fluendo.com>
20491
20492         * gst/gstutils.c:
20493         * gst/gstutils.h:
20494         (gst_pad_add_*_probe): now returns the signal id for better wrapping
20495         in bindings.
20496
20497 2005-07-04  Andy Wingo  <wingo@pobox.com>
20498
20499         * check/gst/gstpad.c: Only set explicit caps on pads.
20500
20501 2005-07-01  Andy Wingo  <wingo@pobox.com>
20502
20503         * tests/network-clock.scm: Commentary update.
20504
20505         * gst/elements/gstidentity.c (PROP_DUPLICATE): Gone daddy gone.
20506         Didn't really make sense, not implementable with basetransform,
20507         etc.
20508         (gst_identity_transform): Unref inbuf via make_writable. Feeble
20509         attempt at implementing the sync property, needs an unlock method.
20510
20511         * gst/base/gstbasetransform.c (gst_base_transform_transform_caps):
20512         New func, by default returns the same caps (the identity
20513         transformation).
20514         (gst_base_transform_getcaps): Uses transform_caps to return
20515         something sensible.
20516         (gst_base_transform_setcaps): Complicated logic to get caps on
20517         both pads, even if they are different, and to call set_caps once
20518         for every time both pads get their caps set.
20519         (gst_base_transform_handle_buffer): Give the ref to the transform
20520         function. Allows in-place modification of the buffer.
20521
20522         * gst/base/gstbasetransform.h (transform_caps): New class method.
20523         Given caps on one side, what can I do on the other.
20524         (set_caps): Take two caps, one for each side of the element.
20525
20526         * gst/gstpad.h:
20527         * gst/gstpad.c (gst_pad_fixate_caps): Change prototype to modify
20528         caps in place. This is safe because we can check the mutability of
20529         the caps, and a good idea because fixate functions are just called
20530         as a matter of last resort. (Not actually implemented.)
20531         (gst_pad_set_caps): If the caps we're setting is actually the same
20532         as the existing pad caps, just update the pointer without calling
20533         setcaps. Assert that caps is either NULL or fixed, as per the
20534         docs.
20535
20536         * gst/gstghostpad.c: Update for fixate changes.
20537
20538 2005-07-02  Andy Wingo  <wingo@pobox.com>
20539
20540         * gst/gstcaps.c:
20541         * gst/gstcaps.h (gst_static_caps_get): Not const return, having
20542         two refcounts makes it immutable, which is enough. Doc more.
20543
20544 2005-07-02  Jan Schmidt  <thaytan@mad.scientist.com>
20545
20546         * gst/gstpad.c: (gst_pad_emit_have_data_signal):
20547           Put the mini_object into GValue as a mini_object,
20548           not a gpointer, since that's how we declared
20549           the signal.
20550
20551 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
20552
20553         * examples/pwg/Makefile.am:
20554           Fix buildbot again.
20555
20556 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
20557
20558         * docs/pwg/building-testapp.xml:
20559           Add extra check.
20560         * examples/pwg/Makefile.am:
20561           Fix buildbot.
20562
20563 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
20564
20565         * configure.ac:
20566         * examples/Makefile.am:
20567         * examples/pwg/Makefile.am:
20568         * examples/pwg/extract.pl:
20569           Enable building the PWG examples.
20570         * docs/pwg/advanced-interfaces.xml:
20571           Add URI interface stub.
20572         * docs/pwg/advanced-types.xml:
20573         * docs/pwg/other-autoplugger.xml:
20574         * docs/pwg/appendix-porting.xml:
20575         * docs/pwg/pwg.xml:
20576           Add porting guide (mostly stubs), remove autoplugging (see ADM).
20577         * docs/pwg/building-boiler.xml:
20578         * docs/pwg/building-chainfn.xml:
20579         * docs/pwg/building-pads.xml:
20580         * docs/pwg/building-props.xml:
20581         * docs/pwg/building-state.xml:
20582         * docs/pwg/building-testapp.xml:
20583           Update the building-*.xml parts for 0.9 changes. All examples
20584           code blocks compile in examples/pwg/*.
20585
20586 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
20587
20588         * docs/manual/advanced-autoplugging.xml:
20589         * docs/manual/appendix-checklist.xml:
20590         * docs/manual/appendix-integration.xml:
20591         * docs/manual/highlevel-components.xml:
20592           Fix playbin/decodebin examples, update docs a bit, mention bus
20593           instead of signals in various places, mention kmplayer and
20594           kaffeine since they have a working GStreamer backend in the KDE
20595           section.
20596
20597 2005-06-30  Wim Taymans  <wim@fluendo.com>
20598
20599         * CHANGES-0.9:
20600         * docs/design/draft-ghostpads.txt:
20601         * docs/design/draft-push-pull.txt:
20602         * docs/design/draft-query.txt:
20603         * docs/design/part-TODO.txt:
20604         * docs/design/part-query.txt:
20605         Added CHANGES-0.9 doc, updated status of other docs.
20606         
20607         * gst/gstquery.h:
20608         Remove "hmm" macro
20609
20610 2005-06-30  Wim Taymans  <wim@fluendo.com>
20611
20612         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
20613         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
20614         (gst_base_sink_change_state):
20615         * gst/base/gstbasesink.h:
20616         Some tweaks, only EOS and a buffer complete a preroll.
20617
20618 2005-06-30  Andy Wingo  <wingo@pobox.com>
20619
20620         * gst/gstghostpad.c (gst_ghost_pad_do_activate_push): Proxy
20621         activate_push down to the internal pad as well.
20622
20623 2005-06-30  Torsten Schoenfeld  <kaffeetisch@gmx.de>
20624
20625         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
20626
20627         * gst/gsttaginterface.c:
20628           Some documentation fixes (#307394 and #307397).
20629
20630 2005-06-30  Antoine Tremblay  <hexa00@gmail.com>
20631
20632         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
20633
20634         * gst/gstvalue.c: (gst_value_intersect_list):
20635           Fix memleak (#309125).
20636
20637 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
20638
20639         * docs/manual/advanced-dataaccess.xml:
20640           Fix fakesrc example to compile; doesn't work, bug somewhere...?
20641         * docs/manual/basics-pads.xml:
20642           Add reference for filtered caps to above chapter.
20643
20644 2005-06-30  Wim Taymans  <wim@fluendo.com>
20645
20646         * gst/gstbin.c: (clear_queue), (remove_all_from_queue),
20647         (gst_bin_change_state):
20648         Probes are gone.
20649         Lame attempt at making the state change function a bit
20650         more readable.
20651
20652 2005-06-30  Wim Taymans  <wim@fluendo.com>
20653
20654         * docs/design/part-clocks.txt:
20655         * docs/design/part-element-sink.txt:
20656         * docs/design/part-events.txt:
20657         * docs/design/part-preroll.txt:
20658         * docs/design/part-states.txt:
20659         Some more tweeks and additions to the docs.
20660
20661 2005-06-30  Wim Taymans  <wim@fluendo.com>
20662
20663         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
20664         (default_have_data), (gst_pad_class_init), (gst_pad_init),
20665         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
20666         (gst_pad_check_pull_range), (gst_pad_get_range),
20667         (gst_pad_pull_range), (gst_pad_push_event), (gst_pad_send_event):
20668         * gst/gstpad.h:
20669         * gst/gstutils.c: (gst_atomic_int_set), (gst_pad_add_data_probe),
20670         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
20671         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
20672         (gst_pad_remove_buffer_probe):
20673         Removed atomic operations, use existing LOCK.
20674         Move exception handling out of main code path.
20675
20676 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
20677
20678         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
20679         (silly_return_true_function), (gst_pad_class_init),
20680         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
20681         (gst_pad_get_range), (gst_pad_pull_range), (gst_pad_push_event),
20682         (gst_pad_send_event):
20683           Fix accumulator, add default value by using _emitv() instead
20684           of _emit() for signal emission.
20685
20686 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
20687
20688         * docs/manual/advanced-dataaccess.xml:
20689         * examples/manual/Makefile.am:
20690           Add probe example.
20691         * gst/gstpad.c: (_gst_do_pass_data_accumulator):
20692           Make work (??).
20693
20694 2005-06-29  Tim-Philipp Müller  <tim at centricular dot net>
20695
20696         * gst/elements/gstfilesink.c: (gst_filesink_render):
20697           Simplify code so that we don't have to handle short
20698           writes and return GST_FLOW_ERROR if an error occured.
20699
20700 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
20701
20702         * docs/gst/gstreamer-docs.sgml:
20703           Remove probes more.
20704
20705 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
20706
20707         * docs/gst/gstreamer-sections.txt:
20708         * docs/gst/tmpl/gstpad.sgml:
20709         * docs/gst/tmpl/gstprobe.sgml:
20710         * gst/Makefile.am:
20711         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
20712         (gst_pad_class_init), (gst_pad_init), (gst_pad_chain),
20713         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
20714         (gst_pad_push_event), (gst_pad_send_event):
20715         * gst/gstpad.h:
20716         * gst/gstutils.c: (gst_pad_add_data_probe),
20717         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
20718         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
20719         (gst_pad_remove_buffer_probe):
20720         * gst/gstutils.h:
20721           Remove old probes, add new g-signal-based probes and some utility
20722           functions.
20723
20724 2005-06-29  Edward Hervey  <edward@fluendo.com>
20725
20726         * gst/gstelementfactory.c:
20727         * gst/gstutils.h:
20728         * gst/gstutils.c:
20729         Moved gst_element_factory_can_[sink|src]_caps() to gstutils and added
20730         the definition to the header file.
20731
20732 2005-06-29  Andy Wingo  <wingo@pobox.com>
20733
20734         * docs/gst/Makefile.am (scan-build.stamp): Totally only check
20735         plugins from the source directory.
20736
20737 2005-06-29  Wim Taymans  <wim@fluendo.com>
20738
20739         * docs/gst/tmpl/gstbuffer.sgml:
20740         * docs/gst/tmpl/gstclock.sgml:
20741         Some fixings for blantently wrong text.
20742
20743 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
20744
20745         * check/Makefile.am:
20746         * gst/gst.c: (add_path_func), (init_pre):
20747         * gst/gstregistry.c: (gst_registry_add_path):
20748           add A GST_PLUGIN_PATH_ONLY env var; if it is set, it will
20749           only scan the GST_PLUGIN_PATH locations, and not add
20750           system locations
20751
20752 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
20753
20754         * docs/gst/gstreamer-sections.txt:
20755         * docs/gst/tmpl/gstbasesrc.sgml:
20756         * gst/gstelement.c:
20757         * gst/gstelement.h:
20758         * gst/gstevent.c:
20759         * gst/gstutils.c:
20760           doc fixes
20761
20762 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
20763
20764         * docs/manual/advanced-autoplugging.xml:
20765           Fix autoplugging example.
20766
20767 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
20768
20769         * docs/manual/advanced-autoplugging.xml:
20770         * docs/manual/mime-world.fig:
20771           Try to get autoplugging working, fix type detection. Fix text
20772           in hello-world image.
20773
20774 2005-06-29  Wim Taymans  <wim@fluendo.com>
20775
20776         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
20777         (gst_base_sink_change_state):
20778         Small debug line.
20779
20780         * gst/gstclock.h:
20781         map SIGNAL and BROADCAST to the right function.
20782
20783         * gst/gstobject.h:
20784         Remove redundant braces.
20785
20786         * gst/gstpad.c: (gst_pad_set_caps):
20787         Don't call setcaps function when reseting caps to NULL.
20788
20789         * gst/gstsystemclock.c: (gst_system_clock_dispose),
20790         (gst_system_clock_async_thread), (gst_system_clock_id_wait_async),
20791         (gst_system_clock_id_unschedule):
20792         Use BROADCAST as this is what we do.
20793
20794 2005-06-29  Wim Taymans  <wim@fluendo.com>
20795
20796         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
20797         We are actually prerolling before commiting the state
20798         change. 
20799
20800 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
20801
20802         * docs/manual/advanced-clocks.xml:
20803         * docs/manual/advanced-interfaces.xml:
20804         * docs/manual/advanced-metadata.xml:
20805         * docs/manual/advanced-position.xml:
20806         * docs/manual/advanced-schedulers.xml:
20807         * docs/manual/advanced-threads.xml:
20808         * docs/manual/appendix-porting.xml:
20809         * docs/manual/basics-bins.xml:
20810         * docs/manual/basics-bus.xml:
20811         * docs/manual/basics-elements.xml:
20812         * docs/manual/basics-helloworld.xml:
20813         * docs/manual/basics-pads.xml:
20814         * docs/manual/highlevel-components.xml:
20815         * docs/manual/manual.xml:
20816         * docs/manual/thread.fig:
20817           Update (until threads/scheduling) Application Development Manual;
20818           remove GstThread, add GstBus, add simple porting checklist, add
20819           documentation for tag writing, clocks, make all examples until this
20820           part compile and run.
20821         * examples/manual/Makefile.am:
20822           Update from changes to Application Development Manual; add bus
20823           example, remove thread example.
20824
20825 2005-06-28  Wim Taymans  <wim@fluendo.com>
20826
20827         * gst/gstbus.c: (gst_bus_post), (gst_bus_have_pending),
20828         (gst_bus_set_flushing), (gst_bus_pop), (gst_bus_peek),
20829         (gst_bus_source_dispatch):
20830         Add debugging messages.
20831         Make internal methods static.
20832         Handle the case where the bus is flushed in the handler.
20833         
20834         * gst/gstelement.c: (gst_element_get_bus):
20835         Fix refcount in _get_bus();
20836
20837         * gst/gstpipeline.c: (gst_pipeline_change_state),
20838         (gst_pipeline_get_clock_func):
20839         Clock refcounting fixes.
20840         Handle the case where preroll timed out more gracefully.
20841         
20842         * gst/gstsystemclock.c: (gst_system_clock_dispose):
20843         Clean up the internal thread in dispose. This is needed
20844         for subclasses that actually get disposed.
20845         
20846         * gst/schedulers/threadscheduler.c:
20847         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
20848         (gst_thread_scheduler_dispose):
20849         Free thread pool in dispose.
20850
20851 2005-06-28  Andy Wingo  <wingo@pobox.com>
20852
20853         * tests/network-clock-utils.scm (debug, print-event): New utils.
20854
20855         * tests/network-clock.scm (*debug*, *with-graph*): New parameters.
20856         (*packet-loss*): Unified loss probability.
20857         (network-time): Report out-of-band events.
20858
20859         * tests/plot-data: Add support for out-of-band events. Hack it
20860         into this script instead of passing it down the pipe; should fix
20861         this later.
20862
20863 2005-06-28  Wim Taymans  <wim@fluendo.com>
20864
20865         * docs/gst/gstreamer.types:
20866         * docs/gst/tmpl/gstbasesrc.sgml:
20867         * docs/gst/tmpl/gstpad.sgml:
20868         Docs fixes.
20869
20870 2005-06-28  Wim Taymans  <wim@fluendo.com>
20871
20872         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
20873         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_acceptcaps),
20874         (gst_proxy_pad_do_fixatecaps):
20875         Correctly proxy the check_pull_range function.
20876
20877 2005-06-28  Andy Wingo  <wingo@pobox.com>
20878
20879         * tests/network-clock.scm: Removed need for slib.
20880         
20881 2005-06-28  Wim Taymans  <wim@fluendo.com>
20882
20883         * gst/base/gstbasesink.c: (gst_basesink_set_pad_functions),
20884         (gst_basesink_preroll_queue_flush):
20885         * gst/base/gstbasesrc.c: (gst_basesrc_set_dataflow_funcs):
20886         * gst/elements/gsttee.c: (gst_tee_update_pad_functions):
20887         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
20888         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
20889         (gst_proxy_pad_set_property):
20890         * gst/gstpad.c:
20891         * gst/gstpad.h:
20892         * gst/gstqueue.c: (gst_queue_init):
20893         The deprecated pad loop function is removed now.
20894
20895 2005-06-28  Andy Wingo  <wingo@pobox.com>
20896
20897         * tests/network-clock.scm (*timeout*, *send-loss*, *recv-loss*):
20898         New parameters, simulate network packet loss.
20899
20900         * tests/network-clock-utils.scm: Initialize the RNG.
20901
20902 2005-06-28  Wim Taymans  <wim@fluendo.com>
20903
20904         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_flush),
20905         (gst_basesink_event), (gst_basesink_deactivate):
20906         Flushing the preroll queue always needs to unlock the waiters.
20907
20908 2005-06-28  Edward Hervey  <edward@fluendo.com>
20909
20910         * gst/gstpipeline.c: (gst_pipeline_send_event): 
20911         Wheen a seek was successful on a pipeline, set the stream_time to the
20912         seek offset in order to have a synchronized stream_time.
20913
20914 2005-06-28  Wim Taymans  <wim@fluendo.com>
20915
20916         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
20917         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
20918         (gst_proxy_pad_do_getcaps), (gst_proxy_pad_do_acceptcaps),
20919         (gst_proxy_pad_do_fixatecaps):
20920         Call wrapper function instead of just calling the function
20921         pointers. This takes care of any locking and whatmore.
20922
20923 2005-06-28  Wim Taymans  <wim@fluendo.com>
20924
20925         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push),
20926         (gst_pad_pull_range):
20927         * gst/gstpad.h:
20928         CONNECTED -> LINKED.
20929
20930 2005-06-28  Andy Wingo  <wingo@pobox.com>
20931
20932         * *.c: Don't cast to GST_OBJECT when reffing or unreffing. Large
20933         source-munging commit!!!
20934
20935         * gst/gstobject.c (gst_object_unref, gst_object_ref) 
20936         (gst_object_sink): Take gpointer arguments, not GstObject --
20937         avoids casts. Like GLib.
20938
20939         * gst/gstghostpad.c (gst_proxy_pad_do_activate): Don't proxy
20940         activate.
20941
20942 2005-06-27  Andy Wingo  <wingo@pobox.com>
20943
20944         * gst/base/gsttypefindhelper.c (gst_type_find_helper): Unref any
20945         remaining buffer.
20946
20947         * gst/gsttrace.c (gst_alloc_trace_list_sorted): New helper,
20948         returns a sorted copy of the trace list.
20949         (gst_alloc_trace_print_live): New API, only prints traces with
20950         live objects. Sort the list.
20951         (gst_alloc_trace_print_all): Sort the list.
20952         (gst_alloc_trace_print): Align columns.
20953
20954         * gst/elements/gstttypefindelement.c:
20955         * gst/elements/gsttee.c:
20956         * gst/base/gstbasesrc.c:
20957         * gst/base/gstbasesink.c:
20958         * gst/base/gstbasetransform.c:
20959         * gst/gstqueue.c: Adapt for pad activation changes.
20960
20961         * gst/gstpipeline.c (gst_pipeline_init): Unref after parenting
20962         sched.
20963         (gst_pipeline_dispose): Drop ref on sched.
20964
20965         * gst/gstpad.c (gst_pad_init): Set the default activate func.
20966         (gst_pad_activate_default): Push mode by default.
20967         (pre_activate_switch, post_activate_switch): New stubs, things to
20968         do before and after switching activation modes on pads.
20969         (gst_pad_set_active): Take a boolean and not a mode, dispatch to
20970         the pad's activate function to choose which mode to activate.
20971         Shortcut on deactivation and call the right function directly.
20972         (gst_pad_activate_pull): New API, (de)activates a pad in pull
20973         mode.
20974         (gst_pad_activate_push): New API, same for push mode.
20975         (gst_pad_set_activate_function) 
20976         (gst_pad_set_activatepull_function) 
20977         (gst_pad_set_activatepush_function): Setters for new API.
20978
20979         * gst/gstminiobject.c (gst_mini_object_new, gst_mini_object_free):
20980         Trace all miniobjects.
20981         (gst_mini_object_make_writable): Unref the arg if we copy, like
20982         gst_caps_make_writable.
20983
20984         * gst/gstmessage.c (_gst_message_initialize): No trace init.
20985
20986         * gst/gstghostpad.c (gst_proxy_pad_do_activate) 
20987         (gst_proxy_pad_do_activatepull, gst_proxy_pad_do_activatepush):
20988         Adapt for new pad API.
20989
20990         * gst/gstevent.c (_gst_event_initialize): Don't initialize trace.
20991
20992         * gst/gstelement.h:
20993         * gst/gstelement.c (gst_element_iterate_src_pads) 
20994         (gst_element_iterate_sink_pads): New API functions.
20995         
20996         * gst/gstelement.c (iterator_fold_with_resync): New utility,
20997         should fold into gstiterator.c in some form.
20998         (gst_element_pads_activate): Simplified via use of fold and
20999         delegation of decisions to gstpad->activate.
21000
21001         * gst/gstbus.c (gst_bus_source_finalize): Set the bus to NULL,
21002         help in debugging.
21003
21004         * gst/gstbuffer.c (_gst_buffer_initialize): Ref the buffer type
21005         class once in init, like gstmessage. Didn't run into this issue
21006         but it seems correct. Don't initialize a trace, gstminiobject does
21007         that.
21008
21009         * check/pipelines/simple_launch_lines.c (test_stop_from_app): New
21010         test, runs fakesrc ! fakesink, stopping on ::handoff via a message
21011         to the bus.
21012         (assert_live_count): New util function, uses alloc traces to check
21013         cleanup.
21014
21015         * check/gst/gstghostpad.c (test_ghost_pads): More refcount checks.
21016         To be modified when unlink drops the internal pad.
21017
21018 2005-06-27  Wim Taymans  <wim@fluendo.com>
21019
21020         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_iterate_state_order),
21021         (gst_bin_change_state):
21022         Cleanup the get_state() function a little, make sure it
21023         iterates the same set of elements.
21024         Added stub iterate_state_order().
21025
21026 2005-06-27  Thomas Vander Stichele  <thomas at apestaart dot org>
21027
21028         * docs/gst/gstreamer-docs.sgml:
21029         * docs/gst/gstreamer-sections.txt:
21030         * docs/gst/gstreamer.types:
21031         * docs/gst/tmpl/gstbasesink.sgml:
21032         * docs/gst/tmpl/gstbasesrc.sgml:
21033         * docs/gst/tmpl/gstbasetransform.sgml:
21034         * docs/gst/tmpl/gstelement.sgml:
21035         * docs/gst/tmpl/gstiterator.sgml:
21036         * gst/base/gstbasesrc.c:
21037         * gst/base/gstbasesrc.h:
21038         * gst/base/gstbasetransform.h:
21039         * gst/gstelement.c:
21040         * gst/gstiterator.h:
21041           adding basetransform and iterator docs
21042
21043 2005-06-27  Andy Wingo  <wingo@pobox.com>
21044
21045         * docs/design/part-activation.txt: Notes on how activation should
21046         work -- not quite implemented yet.
21047
21048 2005-06-25  Wim Taymans  <wim@fluendo.com>
21049
21050         * gst/gstghostpad.c: (gst_proxy_pad_do_chain):
21051         At least get the chain function correct, needs more
21052         fixing.
21053
21054 2005-06-25  Wim Taymans  <wim@fluendo.com>
21055
21056         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
21057         (gst_basesink_handle_object), (gst_basesink_event),
21058         (gst_basesink_do_sync), (gst_basesink_handle_event),
21059         (gst_basesink_change_state):
21060         * gst/gsttask.h:
21061         Right, two problems here: ghostpads don't take locks and
21062         glib _rec_mutex_lock_full() with depth==0 still locks.
21063         Catch illegal locking and g_warn them.
21064
21065 2005-06-25  Wim Taymans  <wim@fluendo.com>
21066
21067         * check/states/sinks.c: (START_TEST), (gst_object_suite):
21068         Have to check for completion now...
21069
21070 2005-06-25  Wim Taymans  <wim@fluendo.com>
21071
21072         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
21073         (gst_basesink_handle_object), (gst_basesink_event),
21074         (gst_basesink_do_sync), (gst_basesink_handle_event),
21075         (gst_basesink_change_state):
21076         * gst/gstpad.h:
21077         Unlock STREAM_LOCK whatever the recursion was.
21078
21079 2005-06-25  Wim Taymans  <wim@fluendo.com>
21080
21081         * gst/base/gstbasesink.c: (gst_basesink_set_property),
21082         (gst_basesink_preroll_queue_empty),
21083         (gst_basesink_preroll_queue_flush), (gst_basesink_handle_object),
21084         (gst_basesink_event), (gst_basesink_do_sync),
21085         (gst_basesink_handle_event), (gst_basesink_handle_buffer),
21086         (gst_basesink_chain), (gst_basesink_loop), (gst_basesink_activate),
21087         (gst_basesink_change_state):
21088         Reworked the base sink, handle event and buffer serialisation
21089         correctly and removed possible deadlock.
21090         Handle EOS correctly.
21091
21092 2005-06-25  Wim Taymans  <wim@fluendo.com>
21093
21094         * gst/gstpipeline.c: (is_eos), (pipeline_bus_handler),
21095         (gst_pipeline_change_state):
21096         * tools/gst-launch.c: (check_intr), (event_loop), (main):
21097         Allow elements to post EOS in the state change function.
21098         Fix up -launch, make it exit the poll loop when the
21099         pipeline actually changed state.
21100         Fix up warning parsing in -launch.
21101
21102 2005-06-25  Wim Taymans  <wim@fluendo.com>
21103
21104         * gst/elements/gsttee.c: (gst_tee_chain), (gst_tee_loop),
21105         (gst_tee_sink_activate):
21106         Core takes STREAM_LOCK for us now.
21107
21108 2005-06-25  Wim Taymans  <wim@fluendo.com>
21109
21110         * gst/gstelement.c: (gst_element_get_state_func),
21111         (gst_element_set_state):
21112         * gst/gstelement.h:
21113         * gst/gstmessage.c: (gst_message_parse_error),
21114         (gst_message_parse_warning):
21115         Keep track of current target state while performing a state
21116         change so that subclasses can do something interesting.
21117         Fix parsing of warning/error messages when GError is NULL.
21118
21119 2005-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
21120
21121         * docs/gst/Makefile.am:
21122         * docs/gst/gstreamer-docs.sgml:
21123         * docs/gst/gstreamer-sections.txt:
21124         * docs/gst/gstreamer.types:
21125         * docs/gst/tmpl/gstbasesink.sgml:
21126         * docs/gst/tmpl/gstbasesrc.sgml:
21127         * docs/gst/tmpl/gstbin.sgml:
21128         * docs/gst/tmpl/gstcompat.sgml:
21129         * docs/gst/tmpl/gstfakesink.sgml:
21130         * docs/gst/tmpl/gstfakesrc.sgml:
21131         * docs/gst/tmpl/gstfilesink.sgml:
21132         * docs/gst/tmpl/gstfilesrc.sgml:
21133         * docs/gst/tmpl/gstindex.sgml:
21134         * docs/manual/appendix-quotes.xml:
21135         * gst/base/gstbasesrc.h:
21136         * gst/elements/gstfakesrc.h:
21137         * gst/gstmessage.h:
21138           start pulling in base classes and elements in our docs
21139
21140 2005-06-24  Stefan Kost  <ensonic@users.sf.net>
21141
21142         * docs/gst/Makefile.am:
21143         * docs/libs/Makefile.am:
21144           fixed make distcheck with gtk-doc 1.3
21145
21146 2005-06-23  Wim Taymans  <wim@fluendo.com>
21147
21148         * gst/gstelement.c: (gst_element_get_state_func),
21149         (gst_element_set_state), (gst_element_change_state):
21150         When the state did not change, also report NO_PREROLL
21151         when it matters.
21152
21153 2005-06-23  Wim Taymans  <wim@fluendo.com>
21154
21155         * gst/gstpad.c: (gst_pad_event_default):
21156         * gst/gstqueue.c: (gst_queue_loop):
21157         No unsafe task pausing please.
21158
21159 2005-06-23  Wim Taymans  <wim@fluendo.com>
21160
21161         * gst/schedulers/threadscheduler.c:
21162         (gst_thread_scheduler_task_start),
21163         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_func):
21164         Ref the task before pushing it on the threadpool. This
21165         makes sure that we have a ref when the threadfunction is
21166         actually called.
21167
21168 2005-06-23  Andy Wingo  <wingo@pobox.com>
21169
21170         * gst/base/gstbasesrc.c (gst_basesrc_get_range): Check if the
21171         offset is greater than the file's size.
21172
21173         * gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK) 
21174         (GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass)
21175         * gst/gstobject.c (gst_object_class_init): Make the class lock
21176         recursive. Wim won't let me drop deep_notify. Decodebin works
21177         again, whoopdy doo.
21178
21179         * gst/gstghostpad.c (on_int_notify): Catches notify::caps on the
21180         internal pad, and hacks accordingly. Doesn't do it on the target
21181         pad because we change its caps. Probably catches all cases of
21182         interest tho.
21183         (gst_ghost_pad_set_property): Connect to notify::caps as
21184         appropritate.
21185
21186         * tests/network-clock.scm (plot-simulation): Pipe data to the
21187         elite python skript.
21188
21189         * tests/network-clock-utils.scm (define-parameter): New macro,
21190         defines a parameter that can be set via the command line.
21191         (set-parameter!, parse-parameter-arguments): Command line args
21192         parser.
21193
21194         * tests/plot-data: Simple matplotlib-based plotter, takes input on
21195         stdin.
21196
21197 2005-06-23  Jan Schmidt  <thaytan@mad.scientist.com>
21198
21199         * gst/elements/gsttypefindelement.c:
21200         (gst_type_find_element_handle_event):
21201           Don't restart typefinding on a discont.
21202         * gst/gstelement.c: (gst_element_set_state):
21203           Debug spelling fix.
21204         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_send_event):
21205           Allow changing mode of an active pad.
21206           Debug output fixes.
21207         * gst/registries/gstlibxmlregistry.c: (load_feature):
21208           Don't cast a static pad template to a normal pad template.
21209
21210 2005-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
21211
21212         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
21213         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
21214           remove gst_strtoll completely, since it didn't actually do
21215           anything more than what g_ascii_strtoull already does.
21216           check for range errors when deserializing
21217           do a cast for the unsigned cases; but further fixing needs
21218           a decision on what the interpretation of "(int)" and
21219           deserialization should be for values that fall outside the
21220           type's boundaries (ie, refuse, or interpret as casting)
21221
21222 2005-06-23  Wim Taymans  <wim@fluendo.com>
21223
21224         * check/Makefile.am:
21225         * check/states/sinks.c: (START_TEST), (gst_object_suite), (main):
21226         * docs/design/part-live-source.txt:
21227         * docs/design/part-states.txt:
21228         * gst/base/gstbasesrc.c: (gst_basesrc_init),
21229         (gst_basesrc_set_live), (gst_basesrc_is_live),
21230         (gst_basesrc_get_range), (gst_basesrc_activate),
21231         (gst_basesrc_change_state):
21232         * gst/base/gstbasesrc.h:
21233         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
21234         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
21235         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_change_state):
21236         * gst/gstelement.c: (gst_element_get_state_func),
21237         (gst_element_set_state):
21238         * gst/gstelement.h:
21239         * gst/gsttypes.h:
21240         * tools/gst-launch.c: (event_loop), (main):
21241         Added support for live sources and other elements that
21242         cannot do preroll.
21243         Updated design docs, added live-source design doc.
21244         Implemented live source functionality in basesrc
21245         Fix error condition in _bin_get_state()
21246         Implement live source handling in -launch.
21247         Added check for live sources.
21248         Fixed case in GstBin where elements were changed state
21249         multiple times.
21250
21251
21252 2005-06-23  Andy Wingo  <wingo@pobox.com>
21253
21254         * check/gst/gstpad.c (test_get_allowed_caps, test_refcount): Fix
21255         borken refcounting.
21256
21257         * gst/gstpad.c (gst_pad_set_caps): Remove needless refs,
21258         gst_caps_replace takes care of this for us.
21259
21260         * gst/gstghostpad.c (gst_proxy_pad_do_setcaps): Call the full
21261         gst_pad_set_caps on the target, not just its setcaps() function.
21262
21263         * tests/network-clock.scm: 
21264         * tests/network-clock-utils.scm: A network clock simulator.
21265         Something of an algorithmic testbed before doing something in C.
21266
21267 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
21268
21269         * check/Makefile.am:
21270         * check/gst/capslist.h:
21271           copy over from 0.8, and add two with bitmasks specified with
21272           (int) 0xFF...
21273         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
21274           add test to parse everything from capslist.h
21275         * check/gst/gststructure.c: (START_TEST), (gst_value_suite),
21276         (main):
21277           add test for structure deserialization
21278         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
21279           add tests for deserialization of strings to int types
21280         * gst/gststructure.c: (gst_structure_nth_field_name):
21281         * gst/gststructure.h:
21282           add a way to get the name of a field referenced by index
21283         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
21284           instead of checking if the resulting long long lies between
21285           min and max, we check if the long long would fit into
21286           a number of bytes for the final type.
21287           This fixes cases where a string represents 2^32 - 1, which
21288           when cast to int would be the (valid) -1, but is bigger than
21289           G_MAXINT
21290
21291 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
21292
21293         * gst/parse/grammar.y:
21294           add a log line for type deserialization
21295
21296 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
21297
21298         * check/gst/gstvalue.c: (START_TEST):
21299         * gst/gstvalue.c: (gst_value_deserialize):
21300           return long long, not int, so gint64 deserialization actually
21301           works.  Is there any flag that makes the compiler check this ?
21302           Fixes #308559
21303
21304 2005-06-22  Wim Taymans  <wim@fluendo.com>
21305
21306         * gst/gstbuffer.h:
21307         Added convenience macros for setting buffers in GValue.
21308
21309 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
21310
21311         * check/gst/.cvsignore:
21312         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
21313           add a test deserializing int64, and comment part out because
21314           it fails, yay !
21315
21316 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
21317
21318         * check/Makefile.am:
21319         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite), (main):
21320         * testsuite/Makefile.am:
21321         * testsuite/caps/Makefile.am:
21322         * testsuite/caps/value_serialize.c:
21323         * testsuite/test_gst_init.c:
21324           move a value_serialize test over
21325
21326 2005-06-20  Wim Taymans  <wim@fluendo.com>
21327
21328         * gst/gstpad.c:
21329         Small doc updates.
21330         
21331         * gst/gstvalue.c: (gst_value_compare_buffer),
21332         (gst_value_serialize_buffer), (gst_value_deserialize_buffer),
21333         (gst_value_compare_flags), (gst_value_serialize_flags),
21334         (gst_value_deserialize_flags), (_gst_value_initialize):
21335         Fix serialisation of buffers, they are not boxed types anymore
21336
21337 2005-06-20  Wim Taymans  <wim@fluendo.com>
21338
21339         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
21340         Testcase to show error in buffer-on-caps serialisation.
21341
21342 2005-06-20  Andy Wingo  <wingo@pobox.com>
21343
21344         * docs/random/wingo/porting-plugins-to-0.9: A pitiful document I
21345         will be adding to later.
21346
21347         * gst/gstsystemclock.c (gst_system_clock_init): Unlock the clock
21348         if its socks fill with rocks.
21349         (gst_system_clock_obtain): Set the name on object construction.
21350         Avoid double-checked locking.
21351
21352 2005-06-20  Tim-Philipp Müller  <tim at centricular dot net>
21353
21354         * gst/gsturi.c: (gst_element_make_from_uri):
21355           Fix potential endless loop.
21356
21357 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
21358
21359         * check/Makefile.am:
21360           add gsttag
21361         * check/gst/gsttag.c: (check_tags), (START_TEST), (gst_tag_suite),
21362         (main):
21363           move over from testsuite dir and clean up
21364         * configure.ac:
21365         * gst/gsttag.c:
21366         * testsuite/Makefile.am:
21367         * testsuite/tags/.cvsignore:
21368         * testsuite/tags/Makefile.am:
21369         * testsuite/tags/merge.c:
21370           remove testsuite/tags
21371
21372 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
21373
21374         * docs/gst/gstreamer-sections.txt:
21375         * docs/gst/tmpl/gstenumtypes.sgml:
21376         * win32/gstenumtypes.c:
21377           clean up documentation build a little
21378
21379 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
21380
21381         * check/gstcheck.h:
21382           add macros for checking refcounts on objects and caps
21383         * check/gst/gstpad.c: (START_TEST), (gst_pad_suite):
21384           add some more unit tests
21385         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
21386         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_allowed_caps):
21387           fix leaked refcounts (I hope :)) so unittest works
21388         * gst/gstpad.h:
21389           whitespace removal
21390
21391 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
21392
21393         * configure.ac: back to HEAD
21394
21395 === release 0.9.1 ===
21396
21397 2005-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
21398
21399         * NEWS:
21400         * RELEASE:
21401           updated
21402
21403 2005-06-17  Andy Wingo  <wingo@pobox.com>
21404
21405         * gst/base/gstbasesink.c (gst_basesink_chain): Remove bogus
21406         assert; it's always possible that the pad gets deactivated in
21407         between the checks in gstpad.c and the implementation. Rely on
21408         finish_preroll() to return a FLUSHING or similar instead of on the
21409         assert.
21410         
21411         * gst/base/gstbasesink.c (gst_basesink_event): Only wait for the
21412         clock and post an EOS message if we come out of finish_preroll in
21413         the playing state.
21414
21415 2005-06-16  David Schleef  <ds@schleef.org>
21416
21417         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
21418         (gst_capsfilter_set_property): Allow NULL as possible value
21419         for filter_caps property, indicating GST_CAPS_ANY.
21420
21421 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
21422
21423         * gst/elements/gstfakesrc.c: (gst_fakesrc_create):
21424           fix debug output
21425         * gst/schedulers/Makefile.am:
21426           use libgst prefix
21427         * gstreamer.spec.in:
21428           fix spec for it
21429
21430 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
21431
21432         * gstreamer.spec.in:
21433           clean up
21434
21435 2005-06-08  Andy Wingo  <wingo@pobox.com>
21436
21437         * gst/gstutils.c: RPAD fixes all around.
21438         (gst_element_link_pads): Refcounting fixes.
21439
21440         * tools/gst-inspect.c:
21441         * tools/gst-xmlinspect.c:
21442         * parse/grammar.y:
21443         * gst/base/gsttypefindhelper.c:
21444         * gst/base/gstbasesink.c:
21445         * gst/gstqueue.c: RPAD fixes.
21446
21447         * gst/gstghostpad.h:
21448         * gst/gstghostpad.c: New ghost pad implementation as full proxy
21449         pads. The tricky thing is they provide both source and sink
21450         interfaces, since they proxy the internal pad for the external
21451         pad, and vice versa. Implement with lower-level ProxyPad objects,
21452         with the interior proxy pad as a child of the exterior ghost pad.
21453         Should write a doc on this.
21454         
21455         * gst/gstpad.h: s/RPAD/PAD/, s/RealPad/Pad/.
21456         (gst_pad_set_name, gst_pad_set_parent): Macros removed, use
21457         gst_object API.
21458         
21459         * gst/gstpad.c: Big changes. No more stub base GstPad, now all
21460         pads are real pads. No ghost pads in this file. Not documenting
21461         the myriad s/RPAD/PAD/ and REALIZE fixes.
21462         (gst_pad_class_init): Add properties for "direction" and
21463         "template". Both are construct-only, so they can't change during
21464         the life of the pad. Fixes properly deriving from GstPad.
21465         (gst_pad_custom_new, gst_pad_custom_new_from_template): Gone. For
21466         derived objects, just set properties when creating the objects via
21467         g_object_new.
21468         (gst_pad_get_parent): Implement as a function, return NULL if the
21469         parent is not an element.
21470         (gst_pad_get_real_parent, gst_pad_add_ghost_pad)
21471         (gst_pad_remove_ghost_pad, gst_pad_realize): Removed.
21472         
21473         * gst/gstobject.c (gst_object_class_init): Make name a construct
21474         property. Don't set it in the object init.
21475
21476         * gst/gstelement.c (gst_element_add_pad): Don't allow adding pads
21477         with UNKNOWN direction.
21478         (gst_element_add_ghost_pad): Remove non-orthogonal API. Replace
21479         with gst_element_add_pad (e, gst_ghost_pad_new (name, pad)).
21480         (gst_element_remove_pad): Remove ghost-pad special cases.
21481         (gst_element_pads_activate): Remove rpad cruft.
21482
21483         * gst/gstbin.c (gst_bin_change_state): Use gst_pad_get_parent to
21484         catch the pad's-parent-not-an-element case.
21485
21486         * gst/gst.h: Include gstghostpad.h.
21487
21488         * gst/gst.c (init_post): No more real, ghost pads.
21489
21490         * gst/Makefile.am: Add gstghostpad.[ch].
21491
21492         * check/Makefile.am:
21493         * check/gst/gstbin.c:
21494         * check/gst/gstghostpad.c (test_ghost_pads): Check that linking
21495         into a bin creates ghost pads, and that the refcounts are right.
21496         Partly moved from gstbin.c.
21497
21498 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
21499
21500         * check/gst-libs/.cvsignore:
21501         * check/gst/.cvsignore:
21502         * check/pipelines/.cvsignore:
21503           ignore more
21504         * check/pipelines/cleanup.c: (setup_pipeline), (run_pipeline),
21505         (START_TEST), (cleanup_suite), (main):
21506           add some tests related to cleanup after running pipelines
21507
21508 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
21509
21510         * check/gst/gstbuffer.c: (START_TEST), (gst_test_suite), (main):
21511           add a testsuite for GstBuffer
21512
21513 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
21514
21515         * gst/gstminiobject.h:
21516           add defines for accessing the refcount
21517
21518 2005-06-03  Stefan Kost  <ensonic@users.sf.net>
21519
21520         * Makefile.am: added support for html unit test coverage reports
21521
21522 2005-06-03  Jan Schmidt  <thaytan@mad.scientist.com>
21523
21524         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
21525           Free existing caps if the capsfilter changes. Add a FIXME about
21526           setting those caps on the pads.
21527
21528         * gst/gstutils.c: (gst_element_get_compatible_pad), (ghost_up):
21529           Before adding a ghost pad to a parent bin, check that there isn't
21530           already one for the element on the bin. Prevents infinite recursion
21531           when using decodebin in parse pipelines. Andy says he'll rewrite the
21532           way this works anyway, so ignore the hack.
21533
21534 2005-06-02  Andy Wingo  <wingo@pobox.com>
21535
21536         * gst/elements/gsttypefindelement.c (do_pull_typefind): Query the
21537         file size, pass it on to the type find helper.
21538
21539         * gst/base/gstbasesrc.c (gst_basesrc_do_seek): Set the
21540         segment_start and segment_end properly according to the seek
21541         method. Segment_end is still a bit flaky because offset can be
21542         negative for CUR and END cases, but it takes -1 as an "unset"
21543         value.
21544
21545 2005-06-02  Wim Taymans  <wim@fluendo.com>
21546
21547         * gst/base/gstbasesink.c: (gst_basesink_pad_buffer_alloc),
21548         (gst_base_sink_buffer_alloc), (gst_basesink_preroll_queue_push),
21549         (gst_basesink_activate):
21550         * gst/base/gstbasesink.h:
21551         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
21552         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
21553         (gst_pad_query), (gst_pad_start_task):
21554         * gst/gstpad.h:
21555         * gst/gstqueue.c: (gst_queue_bufferalloc),
21556         (gst_queue_handle_sink_event), (gst_queue_chain):
21557         Bufferalloc: return GstFlowReturn to more accuratly report
21558         why allocation failed.
21559
21560 2005-06-02  Wim Taymans  <wim@fluendo.com>
21561
21562         * gst/gstpipeline.c: (gst_pipeline_send_event):
21563         Take snapshot of state without blocking.
21564
21565 2005-06-02  Wim Taymans  <wim@fluendo.com>
21566
21567         * docs/design/part-TODO.txt:
21568         * docs/design/part-caps.txt:
21569         * docs/design/part-clocks.txt:
21570         * docs/design/part-negotiation.txt:
21571         * docs/design/part-preroll.txt:
21572         Small doc updates 
21573
21574 2005-05-30  Wim Taymans  <wim@fluendo.com>
21575
21576         * gst/elements/gstidentity.c: (gst_identity_event),
21577         (gst_identity_transform), (gst_identity_get_property):
21578         Protect last_message property as it is accessed from
21579         multiple threads.
21580
21581 2005-05-30  Wim Taymans  <wim@fluendo.com>
21582
21583         * gst/gstelement.c: (gst_element_init),
21584         (gst_element_pads_activate), (gst_element_change_state):
21585         Slicker pad activation code.
21586
21587 2005-05-30  Wim Taymans  <wim@fluendo.com>
21588
21589         * gst/Makefile.am:
21590         * gst/gstelement.h:
21591         * gst/gstelementfactory.h:
21592         * gst/gsttypes.h:
21593         Move elementfactory methods to separate .h file.
21594
21595 2005-05-30  Wim Taymans  <wim@fluendo.com>
21596
21597         * docs/design/part-overview.txt:
21598         * gst/gstsystemclock.h:
21599         Small typo fixes, doc updates.
21600
21601 2005-05-30  Wim Taymans  <wim@fluendo.com>
21602
21603         * gst/gst.c: (gst_init_get_popt_table), (init_post),
21604         (init_popt_callback):
21605         Remove cpu-opt flag.
21606
21607 2005-05-30  Wim Taymans  <wim@fluendo.com>
21608
21609         * gst/gstbuffer.c: (gst_subbuffer_finalize),
21610         (gst_buffer_create_sub), (gst_buffer_is_span_fast):
21611         * gst/gstbuffer.h:
21612         Avoid typechecking in places where not needed.
21613         Added accessor for malloc_data.
21614
21615 2005-05-30  Wim Taymans  <wim@fluendo.com>
21616
21617         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_set_active),
21618         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_accept_caps),
21619         (gst_pad_configure_sink), (gst_pad_configure_src),
21620         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_send_event),
21621         (gst_pad_start_task):
21622         Propagate errors from _set_caps() in configure_src/sink
21623         functions instead of returning TRUE.
21624         FLUSH events can travel up and downstream
21625
21626
21627 2005-05-30  Wim Taymans  <wim@fluendo.com>
21628
21629         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
21630         (gst_basesink_activate):
21631         Handle EOS in preroll.
21632
21633 2005-05-30  Wim Taymans  <wim@fluendo.com>
21634
21635         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
21636         (gst_queue_loop), (gst_queue_handle_src_event):
21637         Remove old pieces of code
21638         Flushing the queue in an upstream event is a very bad idea.
21639
21640 2005-05-26  Andy Wingo  <wingo@pobox.com>
21641
21642         * gst/gstminiobject.c (gst_value_mini_object_collect): Use
21643         gst_value_set_mini_object so as to add a ref on the object (which
21644         will be removed when the value is unset).
21645
21646         * gst/elements/gstfakesink.c (gst_fakesink_class_init): Fix signal
21647         arg type in ::handoff.
21648
21649         * gst/gstelement.c (gst_element_change_state): Also deactivate
21650         pads in READY->NULL, just in case the element didn't make it to
21651         PAUSED. Wingo tested, Wim approved.
21652
21653 2005-05-26  Wim Taymans  <wim@fluendo.com>
21654
21655         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
21656         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
21657         (gst_pad_query), (gst_pad_send_event), (gst_pad_start_task):
21658         A flushing pad cannot be used to alloc_buffer from.
21659
21660 2005-05-26  Wim Taymans  <wim@fluendo.com>
21661
21662         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
21663         (gst_bus_pop), (gst_bus_source_prepare), (gst_bus_source_check),
21664         (gst_bus_source_dispatch), (gst_bus_source_finalize),
21665         (gst_bus_create_watch), (gst_bus_add_watch_full):
21666         * gst/gstbus.h:
21667         Implement a real GSource and use g_main_context_wakeup() to
21668         signal new messages instead of the socketpair.
21669
21670 2005-05-25  Wim Taymans  <wim@fluendo.com>
21671
21672         * gst/gstbin.c: (bin_element_is_sink), (has_ancestor),
21673         (bin_element_is_semi_sink), (append_child), (gst_bin_change_state):
21674         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
21675         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
21676         (gst_pad_send_event), (gst_pad_start_task):
21677         * gst/gstqueue.c: (gst_queue_init), (gst_queue_locked_flush),
21678         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
21679         (gst_queue_sink_activate), (gst_queue_src_activate),
21680         (gst_queue_change_state):
21681         * gst/gstqueue.h:
21682         Fix state changes for non sinks. We now change sinks, then elements
21683         with unconnected srcpads, then the rest.
21684         More efficient queue unlocking in flush and state changes.
21685         Set the pad activate mode even if it does not have an activate
21686         function.
21687
21688 2005-05-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
21689
21690         * gst/base/gstbasesrc.c: (gst_basesrc_activate):
21691           Don't go in pull mode for non-seekable sources.
21692         * gst/elements/gsttypefindelement.h:
21693         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
21694         (gst_type_find_element_dispose), (gst_type_find_handle_src_query),
21695         (free_entry), (stop_typefinding),
21696         (gst_type_find_element_handle_event), (find_peek),
21697         (gst_type_find_element_chain), (do_pull_typefind),
21698         (gst_type_find_element_change_state):
21699           Allow typefinding (w/o seeking) in push-mode, simplified version
21700           of what was in 0.8.
21701         * gst/gstutils.c: (gst_buffer_join):
21702         * gst/gstutils.h:
21703           gst_buffer_join() from 0.8.
21704
21705 2005-05-25  Wim Taymans  <wim@fluendo.com>
21706
21707         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
21708         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
21709         (gst_pad_send_event), (gst_pad_start_task):
21710         Disable attempt at mode switching until it is figured out.
21711
21712 2005-05-25  Wim Taymans  <wim@fluendo.com>
21713
21714         * gst/base/gstadapter.c: (gst_adapter_peek), (gst_adapter_flush):
21715         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
21716         (gst_basesink_finish_preroll), (gst_basesink_chain),
21717         (gst_basesink_loop), (gst_basesink_activate),
21718         (gst_basesink_change_state):
21719         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek),
21720         (gst_basesrc_get_range), (gst_basesrc_loop),
21721         (gst_basesrc_activate):
21722         * gst/elements/gsttee.c: (gst_tee_sink_activate):
21723         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
21724         (gst_real_pad_init), (gst_real_pad_set_property),
21725         (gst_real_pad_get_property), (gst_pad_set_active),
21726         (gst_pad_is_active), (gst_pad_get_query_types), (gst_pad_unlink),
21727         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_real_parent),
21728         (gst_real_pad_get_caps_unlocked), (gst_pad_peer_get_caps),
21729         (gst_pad_accept_caps), (gst_pad_get_peer), (gst_pad_realize),
21730         (gst_pad_event_default_dispatch), (gst_pad_event_default),
21731         (gst_pad_dispatcher), (gst_pad_query), (gst_real_pad_dispose),
21732         (gst_pad_save_thyself), (handle_pad_block), (gst_pad_chain),
21733         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
21734         (gst_pad_send_event), (gst_pad_start_task), (gst_pad_pause_task),
21735         (gst_pad_stop_task):
21736         * gst/gstpad.h:
21737         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
21738         (gst_queue_loop), (gst_queue_src_activate):
21739         * gst/gsttask.c: (gst_task_init), (gst_task_set_lock),
21740         (gst_task_get_state):
21741         * gst/gsttask.h:
21742         * gst/schedulers/threadscheduler.c:
21743         (gst_thread_scheduler_task_start), (gst_thread_scheduler_func):
21744         Implement gst_pad_pause/start/stop_task(), take STREAM lock
21745         in task function.
21746         Remove ACTIVE pad flag, use FLUSHING everywhere
21747         Added _pad_chain(), _pad_get_range() to call chain/getrange 
21748         functions.
21749         Add locks around IS_FLUSHING when reading.
21750         Take STREAM lock in chain(), get_range() functions so plugins
21751         don't need to take it anymore.
21752         
21753
21754
21755 2005-05-25  Wim Taymans  <wim@fluendo.com>
21756
21757         * tools/gst-launch.c: (event_loop):
21758         Unref message after using its contents instead of
21759         before.
21760
21761 2005-05-24  Wim Taymans  <wim@fluendo.com>
21762
21763         * docs/design/draft-ghostpads.txt:
21764         * docs/design/draft-push-pull.txt:
21765         * docs/design/draft-query.txt:
21766         * docs/design/part-overview.txt:
21767         Docs updates, added general overview doc.
21768
21769 2005-05-21  David Schleef  <ds@schleef.org>
21770
21771         * docs/gst/tmpl/old/GstBin.sgml:
21772         * docs/gst/tmpl/old/GstBuffer.sgml:
21773         * docs/gst/tmpl/old/GstCaps.sgml:
21774         * docs/gst/tmpl/old/GstClock.sgml:
21775         * docs/gst/tmpl/old/GstCompat.sgml:
21776         * docs/gst/tmpl/old/GstData.sgml:
21777         * docs/gst/tmpl/old/GstElement.sgml:
21778         * docs/gst/tmpl/old/GstEvent.sgml:
21779         * docs/gst/tmpl/old/GstIndex.sgml:
21780         * docs/gst/tmpl/old/GstStructure.sgml:
21781         * docs/gst/tmpl/old/GstTag.sgml:
21782         * docs/gst/tmpl/old/cothreads.sgml:
21783         * docs/gst/tmpl/old/cothreads_compat.sgml:
21784         * docs/gst/tmpl/old/gettext.sgml:
21785         * docs/gst/tmpl/old/gobject2gtk.sgml:
21786         * docs/gst/tmpl/old/grammar.tab.sgml:
21787         * docs/gst/tmpl/old/gst-i18n-app.sgml:
21788         * docs/gst/tmpl/old/gst-i18n-lib.sgml:
21789         * docs/gst/tmpl/old/gst_private.sgml:
21790         * docs/gst/tmpl/old/gstaggregator.sgml:
21791         * docs/gst/tmpl/old/gstarch.sgml:
21792         * docs/gst/tmpl/old/gstatomic_impl.sgml:
21793         * docs/gst/tmpl/old/gstbufferstore.sgml:
21794         * docs/gst/tmpl/old/gstdata_private.sgml:
21795         * docs/gst/tmpl/old/gstdisksink.sgml:
21796         * docs/gst/tmpl/old/gstdisksrc.sgml:
21797         * docs/gst/tmpl/old/gstelementfactory.sgml:
21798         * docs/gst/tmpl/old/gstextratypes.sgml:
21799         * docs/gst/tmpl/old/gstfakesink.sgml:
21800         * docs/gst/tmpl/old/gstfakesrc.sgml:
21801         * docs/gst/tmpl/old/gstfdsink.sgml:
21802         * docs/gst/tmpl/old/gstfdsrc.sgml:
21803         * docs/gst/tmpl/old/gstfilesink.sgml:
21804         * docs/gst/tmpl/old/gstfilesrc.sgml:
21805         * docs/gst/tmpl/old/gsthttpsrc.sgml:
21806         * docs/gst/tmpl/old/gstidentity.sgml:
21807         * docs/gst/tmpl/old/gstindexfactory.sgml:
21808         * docs/gst/tmpl/old/gstmarshal.sgml:
21809         * docs/gst/tmpl/old/gstmd5sink.sgml:
21810         * docs/gst/tmpl/old/gstmultidisksrc.sgml:
21811         * docs/gst/tmpl/old/gstmultifilesrc.sgml:
21812         * docs/gst/tmpl/old/gstpadtemplate.sgml:
21813         * docs/gst/tmpl/old/gstpipefilter.sgml:
21814         * docs/gst/tmpl/old/gstschedulerfactory.sgml:
21815         * docs/gst/tmpl/old/gstsearchfuncs.sgml:
21816         * docs/gst/tmpl/old/gstshaper.sgml:
21817         * docs/gst/tmpl/old/gstspider.sgml:
21818         * docs/gst/tmpl/old/gstspideridentity.sgml:
21819         * docs/gst/tmpl/old/gststatistics.sgml:
21820         * docs/gst/tmpl/old/gsttee.sgml:
21821         * docs/gst/tmpl/old/gsttimecache.sgml:
21822         * docs/gst/tmpl/old/gsttypefindfactory.sgml:
21823         * docs/gst/tmpl/old/gstxmlregistry.sgml:
21824         * docs/gst/tmpl/old/gthread-cothreads.sgml:
21825         * docs/gst/tmpl/old/types.sgml:
21826           I didn't intend to add these or check them in.
21827
21828 2005-05-19  David Schleef  <ds@schleef.org>
21829
21830         * configure.ac: Use -no-common everywhere.  In a sane world, it
21831           would be the default in libtool, because without it, you can't
21832           build DLLs on Windows.
21833         * docs/gst/gstreamer-docs.sgml: Remove GstCpu, GstData, GstThread
21834         * docs/gst/gstreamer-sections.txt:
21835         * docs/gst/tmpl/gstcpu.sgml:
21836         * docs/gst/tmpl/gstdata.sgml:
21837         * docs/gst/tmpl/gstthread.sgml:
21838
21839 2005-05-19  David Schleef  <ds@schleef.org>
21840
21841         * gst/gstminiobject.c: (gst_value_set_mini_object),
21842         (gst_value_take_mini_object), (gst_value_get_mini_object):
21843         * gst/gstminiobject.h: Add GValue set/get functions.
21844
21845 2005-05-19  Wim Taymans  <wim@fluendo.com>
21846
21847         * gst/gstbuffer.c: (gst_buffer_init), (gst_subbuffer_get_type),
21848         (gst_subbuffer_class_init), (gst_subbuffer_finalize),
21849         (gst_subbuffer_init), (gst_buffer_is_span_fast):
21850         * gst/gstbuffer.h:
21851         * gst/gstbus.c: (gst_bus_post):
21852         * gst/gstelement.c: (gst_element_get_random_pad):
21853         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize):
21854         Make subbufer unref the parent in finalize.
21855         some more debugging info.
21856
21857
21858 2005-05-19  Wim Taymans  <wim@fluendo.com>
21859
21860         * gst/base/gstbasesink.c: (gst_basesink_class_init),
21861         (gst_basesink_init), (gst_basesink_finalize),
21862         (gst_basesink_activate), (gst_basesink_change_state):
21863         Don't free preroll queue too early.
21864
21865 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
21866
21867         * gst/Makefile.am:
21868         * gst/ROADMAP:
21869           Hi, I'm outdated. Please shoot me.
21870
21871 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
21872
21873         * gst/gstpipeline.c: (gst_pipeline_send_event):
21874           Do not access variables after they have been deleted.
21875
21876 2005-05-19  Wim Taymans  <wim@fluendo.com>
21877
21878         * tools/gst-inspect.c: (print_plugin_features):
21879         A plugin feature does unfortunatly not use the
21880         object name yet...
21881
21882 2005-05-18  Wim Taymans  <wim@fluendo.com>
21883
21884         * gst/gstbuffer.c: (gst_buffer_is_span_fast), (gst_buffer_span):
21885         Port _span() functions to new subbuffers.
21886
21887 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
21888
21889         * gst/gstbin.c: (gst_bin_add_func):
21890           Fix clock settery in bins when adding kids after the clock has
21891           been selected.
21892
21893 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
21894
21895         * gst/elements/gstidentity.c: (gst_identity_class_init):
21896           Workaround until signals support GstMiniObject.
21897
21898 2005-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
21899
21900         * gst/gstbuffer.c:
21901         Oops, fix a typo GST_TYPE_BUFFER -> GST_TYPE_SUBBUFFER.
21902
21903 2005-05-18  Wim Taymans  <wim@fluendo.com>
21904
21905         * gst/base/Makefile.am:
21906         * gst/base/gstadapter.c: (gst_adapter_base_init),
21907         (gst_adapter_class_init), (gst_adapter_init),
21908         (gst_adapter_dispose), (gst_adapter_finalize), (gst_adapter_new),
21909         (gst_adapter_clear), (gst_adapter_push), (gst_adapter_peek),
21910         (gst_adapter_flush), (gst_adapter_available),
21911         (gst_adapter_available_fast):
21912         * gst/base/gstadapter.h:
21913         Ported and added adapter to the base classes.
21914
21915 2005-05-17  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
21916
21917         * gst/gst.c:
21918         * gst/gstmessage.c:
21919           Make sure the class is reffed/unreffed once before threads can be
21920           used.  Fixes #304551.
21921
21922 2005-05-17  Wim Taymans  <wim@fluendo.com>
21923
21924         * gst/base/gstbasesink.c: (gst_basesink_finish_preroll),
21925         (gst_basesink_chain_unlocked), (gst_basesink_activate):
21926         * gst/gstminiobject.c: (gst_mini_object_get_type),
21927         (gst_mini_object_free):
21928         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query),
21929         (gst_pad_push), (gst_pad_push_event):
21930         * gst/gstqueue.c: (gst_queue_change_state):
21931         Don't queue buffers in basesink when we are flushing.
21932         Unref buffer when flushing in basesink.
21933         Flush queue when going to READY
21934         Unref buffer when _push() returns an error.
21935         Don't free MiniObject instance when refcount is incremented
21936         in _finalize() so that we can recover objects.
21937
21938 2005-05-17  Thomas Vander Stichele  <thomas at apestaart dot org>
21939
21940         * docs/manual/advanced-schedulers.xml:
21941         * docs/manual/appendix-checklist.xml:
21942         * docs/pwg/advanced-clock.xml:
21943         * docs/pwg/advanced-interfaces.xml:
21944         * docs/pwg/advanced-request.xml:
21945         * docs/pwg/advanced-types.xml:
21946         * docs/pwg/intro-preface.xml:
21947         * examples/plugins/example.c: (gst_example_get_type),
21948         (gst_example_class_init), (gst_example_chain),
21949         (gst_example_set_property), (gst_example_get_property),
21950         (gst_example_change_state), (plugin_init):
21951         * examples/plugins/example.h:
21952           small doc fixes
21953
21954 2005-05-17  Wim Taymans  <wim@fluendo.com>
21955
21956         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps),
21957         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_push):
21958         * gst/gstqueue.c: (gst_queue_change_state):
21959         Clear queue when going to READY.
21960         Remove IN_SETCAPS flag too.
21961
21962 2005-05-17  Tim-Philipp Müller  <tim at centricular dot net>
21963
21964         * gst/base/gstbasesrc.c: (gst_basesrc_change_state):
21965           Remove implicit cast from gboolean to GstElementStateReturn;
21966           make sure we still return failure in paused => ready case if
21967           the parent class fails to change state and our own stop 
21968           vfunc succeeds.
21969
21970 2005-05-17  Wim Taymans  <wim@fluendo.com>
21971
21972         * tools/gst-launch.c: (event_loop):
21973         Message was unreffed too soon.
21974
21975 2005-05-16  Andy Wingo  <wingo@pobox.com>
21976
21977         * gst/gstbin.c (sink_iterator_filter): Err... um...
21978
21979         * check/gst/gstbin.c (test_ghost_pads): New test for the
21980         ghosting-if-elements-not-in-same-bin behavior.
21981
21982 2005-05-16  David Schleef  <ds@schleef.org>
21983
21984         * gst/gstminiobject.c: Use g_atomic_int_get() instead of
21985         accessing refcount directly.
21986
21987 2005-05-15  David Schleef  <ds@schleef.org>
21988
21989         * check/Makefile.am: remove GstData checks
21990         * check/gst-libs/gdp.c: (START_TEST): fix for API changes
21991         * gst/Makefile.am: add miniobject, remove data
21992         * gst/gst.h: add miniobject, remove data
21993         * gst/gstdata.c: remove
21994         * gst/gstdata.h: remove
21995         * gst/gstdata_private.h: remove
21996         * gst/gsttypes.h: remove GstEvent and GstMessage
21997         * gst/gstelement.c: (gst_element_post_message): fix for API changes
21998         * gst/gstmarshal.list: change BOXED -> OBJECT
21999
22000         Implement GstMiniObject.
22001         * gst/gstminiobject.c:
22002         * gst/gstminiobject.h:
22003
22004         Modify to be subclasses of GstMiniObject.
22005         * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
22006         (gst_buffer_class_init), (gst_buffer_finalize), (_gst_buffer_copy),
22007         (gst_buffer_init), (gst_buffer_new), (gst_buffer_new_and_alloc),
22008         (gst_subbuffer_get_type), (gst_subbuffer_init),
22009         (gst_buffer_create_sub), (gst_buffer_is_span_fast),
22010         (gst_buffer_span):
22011         * gst/gstbuffer.h:
22012         * gst/gstevent.c: (_gst_event_initialize), (gst_event_get_type),
22013         (gst_event_class_init), (gst_event_init), (gst_event_finalize),
22014         (_gst_event_copy), (gst_event_new):
22015         * gst/gstevent.h:
22016         * gst/gstmessage.c: (_gst_message_initialize),
22017         (gst_message_get_type), (gst_message_class_init),
22018         (gst_message_init), (gst_message_finalize), (_gst_message_copy),
22019         (gst_message_new), (gst_message_new_error),
22020         (gst_message_new_warning), (gst_message_new_tag),
22021         (gst_message_new_state_changed), (gst_message_new_application):
22022         * gst/gstmessage.h:
22023         * gst/gstprobe.c: (gst_probe_perform),
22024         (gst_probe_dispatcher_dispatch):
22025         * gst/gstprobe.h:
22026         * gst/gstquery.c: (_gst_query_initialize), (gst_query_get_type),
22027         (gst_query_class_init), (gst_query_finalize), (gst_query_init),
22028         (_gst_query_copy), (gst_query_new):
22029
22030         Update elements for GstData -> GstMiniObject changes
22031         * gst/gstquery.h:
22032         * gst/gstqueue.c: (gst_queue_finalize), (gst_queue_locked_flush),
22033         (gst_queue_chain), (gst_queue_loop):
22034         * gst/elements/gstbufferstore.c:
22035         (gst_buffer_store_add_buffer_func),
22036         (gst_buffer_store_cleared_func), (gst_buffer_store_get_buffer):
22037         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
22038         (gst_fakesink_render):
22039         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
22040         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_get_type),
22041         (gst_mmap_buffer_class_init), (gst_mmap_buffer_init),
22042         (gst_mmap_buffer_finalize), (gst_filesrc_map_region),
22043         (gst_filesrc_create_read):
22044         * gst/elements/gstidentity.c: (gst_identity_class_init):
22045         * gst/elements/gsttypefindelement.c:
22046         (gst_type_find_element_src_event), (free_entry_buffers),
22047         (gst_type_find_element_handle_event):
22048         * libs/gst/dataprotocol/dataprotocol.c:
22049         (gst_dp_header_from_buffer):
22050         * libs/gst/dataprotocol/dataprotocol.h:
22051         * libs/gst/dataprotocol/dp-private.h:
22052
22053 2005-05-15  David Schleef  <ds@schleef.org>
22054
22055         * gst/elements/gstelements.c: Don't include headers that were
22056         just removed.
22057
22058 2005-05-15  David Schleef  <ds@schleef.org>
22059
22060         * gst/elements/Makefile.am: Remove some elements that don't
22061         need to be in the core (or even exist at all).
22062         * gst/elements/gstaggregator.c:
22063         * gst/elements/gstaggregator.h:
22064         * gst/elements/gstmd5sink.c:
22065         * gst/elements/gstmd5sink.h:
22066         * gst/elements/gstmultifilesrc.c:
22067         * gst/elements/gstmultifilesrc.h:
22068         * gst/elements/gstpipefilter.c:
22069         * gst/elements/gstpipefilter.h:
22070         * gst/elements/gstshaper.c:
22071         * gst/elements/gstshaper.h:
22072         * gst/elements/gststatistics.c:
22073         * gst/elements/gststatistics.h:
22074         * po/POTFILES.in: Remove above files.
22075
22076 2005-05-14  Andy Wingo  <wingo@pobox.com>
22077
22078         * gst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter
22079         so as to get the refs right.
22080         (sink_iterator_filter): New function, wraps bin_element_is_sink,
22081         unreffing objects that don't pass the filter.
22082
22083         * gst/gstpipeline.c (gst_pipeline_init): Drop ref on bus after
22084         gst_element_set_bus.
22085         (gst_pipeline_dispose): Set the bus on the pipeline to NULL. In
22086         normal cases, this will destroy the bus.
22087
22088         * gst/gstutils.c (prepare_link_maybe_ghosting): Drop ref on root
22089         object.
22090
22091         * gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin
22092         has no sinks.
22093
22094 2005-05-13  Andy Wingo  <wingo@pobox.com>
22095
22096         * gst/gstutils.c (gst_element_link_pads): Instead of calling
22097         gst_pad_link, call pad_link_maybe_ghosting,
22098         (pad_link_maybe_ghosting): Links pads, making sure that the
22099         elements being linked are in the same bin.
22100         (find_common_root, object_has_ancestor, ghost_up, remove_pad):
22101         Helpers for pad_link_maybe_ghosting.
22102
22103 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
22104
22105         * configure.ac:
22106           Require GLib >= 2.4.0 (for the g_atomic_* funcs)
22107
22108 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
22109
22110         * docs/design/part-element-source.txt:
22111           Mention GstPushSrc
22112
22113 2005-05-12  Wim Taymans  <wim@fluendo.com>
22114
22115         * gst/base/gstbasesink.c: (gst_basesink_init),
22116         (gst_basesink_activate):
22117         * gst/base/gstbasesrc.c: (gst_basesrc_unlock),
22118         (gst_basesrc_is_seekable):
22119         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
22120         (bin_element_is_sink), (gst_bin_change_state):
22121         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
22122         * gst/gstelement.h:
22123         Identify sinks by their flag to avoid overly complicated
22124         checks (fow now).
22125         Do state changes even for elements not reachable from the
22126         sinks.
22127         BaseSink is a sink now :)
22128         Some more debugging info in the basesrc.
22129
22130
22131 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
22132
22133         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_query):
22134           Implement _query on a bin, similar to _send_event.
22135
22136 2005-05-12  Tim-Philipp Müller  <tim at centricular dot net>
22137
22138         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek):
22139           Discont event offset format should be GST_FORMAT_BYTES,
22140           not GST_FORMAT_TIME.
22141
22142 2005-05-12  Wim Taymans  <wim@fluendo.com>
22143
22144         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_get_state):
22145         Same fix as Ronald's but without the signal. 
22146
22147 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
22148
22149         * gst/gstutils.c: (gst_element_query_position):
22150           No, an element is not a pad.
22151
22152 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
22153
22154         * gst/gstbin.c: (gst_bin_add_func), (cb_parent_unset),
22155         (gst_bin_get_state):
22156           If a child is removed from a bin while we remove the child from
22157           the bin and while we're retrieving its state, signal this to the
22158           get_state function so we abort the wait (instead of waiting for
22159           a timeout) and can immediately re-iterate over all other elements.
22160
22161 2005-05-12  Wim Taymans  <wim@fluendo.com>
22162
22163         * gst/base/Makefile.am:
22164         * gst/base/gstbasesrc.c: (gst_basesrc_is_seekable),
22165         (gst_basesrc_start):
22166         * gst/base/gstbasesrc.h:
22167         * gst/base/gstpushsrc.c: (gst_pushsrc_get_type),
22168         (gst_pushsrc_base_init), (gst_pushsrc_class_init),
22169         (gst_pushsrc_init), (gst_pushsrc_create):
22170         * gst/base/gstpushsrc.h:
22171         Added is_seekable to BaseSrc
22172         Added simple PushSrc.
22173
22174 2005-05-11  Wim Taymans  <wim@fluendo.com>
22175
22176         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
22177         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
22178         (gst_element_link_pads), (gst_element_query_position),
22179         (gst_element_query_convert), (intersect_caps_func),
22180         (gst_pad_query_position), (gst_pad_query_convert):
22181         Fix refcounting in utils function.
22182         No point in trying to activate a pad when it's added, it could
22183         be added from the state change function and then we deadlock, the
22184         element has to decide what to do.
22185
22186 2005-05-10  Andy Wingo  <wingo@pobox.com>
22187
22188         * gst/elements/gstfakesink.c (gst_fakesink_render): Er, emit with
22189         *all* the arguments.
22190
22191         * gst/base/gstbasetransform.c (gst_base_transform_event): Grab the
22192         stream lock if it's a FLUSH_DONE; normal flushes don't get the
22193         lock (according to the docs -- if this is wrong change the docs).
22194
22195         * gst/gstpipeline.c (gst_pipeline_change_state): Set the bus to
22196         flush messages in the NULL state.
22197
22198         * gst/gstbus.c (gst_bus_post): If a bus is flushing, unref the
22199         message immediately and return.
22200         (gst_bus_set_flushing): New function. If a bus is flushing, it
22201         flushes out any queued messages and immediately unrefs new
22202         messages. This is so when an element goes to NULL, all of the
22203         unhandled messages coming from it can be freed, and their
22204         references to the element dropped. In other words: message source
22205         ref considered harmful :P
22206
22207         * gst/gstbin.c (gst_bin_change_state): Unref peer element when
22208         we're finished with it.
22209
22210         * gst/gstmessage.c (gst_message_new_state_changed): 
22211
22212 2005-05-10  Wim Taymans  <wim@fluendo.com>
22213
22214         * gst/gstvalue.c: (gst_value_compare_flags),
22215         (gst_value_serialize_flags), (gst_value_deserialize_flags),
22216         (_gst_value_initialize):
22217         Added flags serialize/deserialize/compare code.
22218
22219 2005-05-09  Andy Wingo  <wingo@pobox.com>
22220
22221         * gst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps):
22222         Intersect the peer's caps with our caps.
22223
22224 2005-05-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
22225
22226         * gst/base/gsttypefindhelper.c: (helper_find_peek):
22227         * gst/elements/gsttypefindelement.c: (find_peek):
22228           Handle negative offsets better. Fixes decodebin.
22229
22230 2005-05-09  Wim Taymans  <wim@fluendo.com>
22231
22232         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps),
22233         (gst_base_transform_event):
22234         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query):
22235         Implement accept_caps.
22236         Fix silly lock/unlock mismatch in base class.
22237
22238 2005-05-09  Wim Taymans  <wim@fluendo.com>
22239
22240         * docs/design/draft-push-pull.txt:
22241         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_query):
22242         * gst/elements/gstfilesink.c: (gst_filesink_init),
22243         (gst_filesink_query):
22244         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
22245         (gst_type_find_handle_src_query), (find_element_get_length):
22246         * gst/gstelement.c: (gst_element_seek), (gst_element_query):
22247         * gst/gstelement.h:
22248         * gst/gstmessage.c:
22249         * gst/gstmessage.h:
22250         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_get_query_types),
22251         (gst_real_pad_get_caps_unlocked),
22252         (gst_pad_get_internal_links_default), (gst_pad_get_internal_links),
22253         (gst_pad_event_default_dispatch), (gst_pad_event_default),
22254         (gst_pad_dispatcher), (gst_pad_query), (gst_pad_query_default),
22255         (gst_real_pad_dispose), (gst_real_pad_finalize),
22256         (gst_pad_load_and_link), (gst_pad_save_thyself),
22257         (gst_ghost_pad_save_thyself), (handle_pad_block), (gst_pad_push),
22258         (gst_pad_check_pull_range), (gst_pad_pull_range),
22259         (gst_pad_template_get_type), (gst_pad_template_class_init),
22260         (gst_pad_template_init), (gst_pad_template_dispose),
22261         (name_is_valid), (gst_static_pad_template_get),
22262         (gst_pad_template_new), (gst_static_pad_template_get_caps),
22263         (gst_pad_template_get_caps), (gst_pad_set_element_private),
22264         (gst_pad_get_element_private), (gst_pad_start_task),
22265         (gst_pad_pause_task), (gst_pad_stop_task),
22266         (gst_ghost_pad_get_type), (gst_ghost_pad_class_init),
22267         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
22268         (gst_ghost_pad_set_property), (gst_ghost_pad_get_property),
22269         (gst_ghost_pad_new):
22270         * gst/gstpad.h:
22271         * gst/gstquery.c: (_gst_query_initialize), (gst_query_new),
22272         (gst_query_new_position), (gst_query_set_position),
22273         (gst_query_parse_position), (gst_query_new_convert),
22274         (gst_query_set_convert), (gst_query_parse_convert):
22275         * gst/gstquery.h:
22276         * gst/gstqueryutils.c:
22277         * gst/gstqueryutils.h:
22278         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
22279         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
22280         (gst_queue_handle_src_query):
22281         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
22282         (gst_element_query_position), (gst_element_query_convert),
22283         (intersect_caps_func), (gst_pad_query_position),
22284         (gst_pad_query_convert):
22285         * gst/gstutils.h:
22286         * tools/gst-inspect.c: (print_pad_info):
22287         * tools/gst-xmlinspect.c: (print_element_info):
22288         Remove old query functions. Ported old code.
22289         Added position/convert helper functions to gstutils.
22290         Reordered gstpad.c code, grouping relevant things.
22291         Remove gst_message_new(), always need to speficy a specific
22292         message.
22293
22294
22295 2005-05-09  Andy Wingo  <wingo@pobox.com>
22296
22297         * gst/gstiterator.h: Add some includes.
22298
22299         * gst/gstqueryutils.h: Include more headers.
22300
22301         * gst/gstpad.h:
22302         * gst/gstpad.c (gst_pad_query_position): New routine, replaces
22303         some uses of gst_pad_query.
22304
22305         * gst/gstqueryutils.c: Build fixes. Make parse functions ignore
22306         NULL out parameters.
22307         (gst_query_new_position): New proc, allocates a new position
22308         query.
22309
22310         * gst/Makefile.am (libgstreamer_@GST_MAJORMINOR@_la_SOURCES): Add
22311         gstqueryutils.c to the build.
22312
22313         * gst/gststructure.c (gst_structure_set_valist): Implement with
22314         the generic G_VALUE_COLLECT.
22315         
22316 2005-05-08  Edward Hervey  <bilboed@bilboed.com>
22317
22318         * gst/Makefile.am: (gst_headers):
22319         Added gstqueryutils.h to the list of headers to install, that was
22320         a 'nachty' move wingo :)
22321
22322 2005-05-06  Andy Wingo  <wingo@pobox.com>
22323
22324         * gst/gstquery.h
22325         * gst/gstquery.c (_gst_query_initialize): Extend GstQuery from
22326         GstData, init a memchunk.
22327         (standard_definitions): Add a few query types, deprecate a few.
22328         (gst_query_get_type): New proc.
22329         (_gst_query_copy, _gst_query_free, gst_query_new): GstData
22330         implementation.
22331         (gst_query_new_application, gst_query_get_structure): New public
22332         procs.
22333
22334         * docs/design/draft-query.txt: Removed LINKS from the query types,
22335         because all the rest can be dispatched to other pads -- seemed
22336         ugly to have a query that couldn't be dispatched. internal_links
22337         is fine as a pad method.
22338
22339         * gst/gstpad.h: Add query2 as a pad method, add the new functions
22340         in gstpad.c, but maintain binary compatibility for the moment.
22341         Will fix before 0.9 is out.
22342
22343         * gst/gstqueryutils.c: 
22344         * gst/gstqueryutils.h: New files, implement 3 methods for each
22345         query type: parse_query, parse_response, and set. Probably need an
22346         allocator as well.
22347
22348         * gst/gst.h: Add gstquery.h and gstqueryutils.h to the list.
22349
22350         * gst/elements/gstfilesink.c (gst_filesink_query2):
22351         * gst/base/gstbasesrc.c (gst_basesrc_query2): Replace old query,
22352         query_types, and formats methods.
22353
22354         * gst/gstpad.c (gst_pad_query2, gst_pad_query2_default)
22355         (gst_pad_set_query2_function): New functions.
22356         (gst_real_pad_init): Set query2_default as the default query2
22357         function. Basically just dispatches to internally linked pads.
22358
22359         Needs review!
22360         
22361         * gst/gstdata_private.h (_GST_DATA_INIT): Set data->refcount to 1
22362         without using the atomic operations. Only one thread can possibly
22363         be accessing the data at this point. Changed so as to avoid
22364         gst_atomic operations.
22365
22366 2005-05-06  Wim Taymans  <wim@fluendo.com>
22367
22368         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push):
22369         Also set caps if we use the fallback buffer alloc.
22370
22371 2005-05-06  Tim-Philipp Müller  <tim at centricular dot net>
22372
22373         * docs/gst/Makefile.am:
22374         * docs/gst/gstreamer-docs.sgml:
22375         * docs/gst/gstreamer-sections.txt:
22376         * docs/gst/tmpl/gstatomic.sgml:
22377         * docs/gst/tmpl/gstmemchunk.sgml:
22378         * testsuite/elements/struct_i386.h:
22379         * win32/GStreamer.vcproj:
22380         * win32/Makefile:
22381           Purge GstAtomic stuff from docs and win32 makefiles as well
22382
22383 2005-05-06  Wim Taymans  <wim@fluendo.com>
22384
22385         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps):
22386         * gst/elements/gstcapsfilter.c: (gst_capsfilter_getcaps):
22387         * gst/gstpad.c: (gst_pad_peer_get_caps):
22388         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
22389         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
22390         (gst_queue_src_activate), (gst_queue_change_state):
22391         * gst/gstqueue.h:
22392         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
22393         (intersect_caps_func):
22394         Fix gst_pad_peer_get_caps(), make it return NULL if no peer.
22395         Always take QUEUE_LOCK after STREAM_LOCK or we might deadlock.
22396         Some fixes for the peer_get_caps() change.
22397
22398 2005-05-06  Wim Taymans  <wim@fluendo.com>
22399
22400         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
22401         (gst_basesink_handle_buffer), (gst_basesink_chain_unlocked),
22402         (gst_basesink_activate):
22403         Actually do something with error codes returned from the push
22404         functions.
22405
22406 2005-05-06  Wim Taymans  <wim@fluendo.com>
22407
22408         * docs/design/part-element-sink.txt:
22409         * docs/design/part-element-source.txt:
22410         * gst/base/gstbasesink.c: (gst_basesink_class_init),
22411         (gst_basesink_event), (gst_basesink_activate):
22412         * gst/base/gstbasesink.h:
22413         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_unlock),
22414         (gst_basesrc_activate):
22415         * gst/base/gstbasesrc.h:
22416         * gst/gstelement.c: (gst_element_pads_activate):
22417         Some more documentation.
22418         Fixed scheduling decision in _pads_activate().
22419
22420 2005-05-05  Andy Wingo  <wingo@pobox.com>
22421
22422         * check/pipelines/simple_launch_lines.c (test_2_elements): "Fix"
22423         the test suite.
22424
22425 2005-05-05  Wim Taymans  <wim@fluendo.com>
22426
22427         * gst/base/Makefile.am:
22428         * gst/base/gstbasesink.h:
22429         * gst/base/gstbasesrc.c: (gst_basesrc_init),
22430         (gst_basesrc_set_dataflow_funcs), (gst_basesrc_query):
22431         * gst/base/gstcollectpads.c: (gst_collectpads_get_type),
22432         (gst_collectpads_class_init), (gst_collectpads_init),
22433         (gst_collectpads_finalize), (gst_collectpads_new),
22434         (gst_collectpads_set_function), (gst_collectpads_add_pad),
22435         (find_pad), (gst_collectpads_remove_pad),
22436         (gst_collectpads_is_active), (gst_collectpads_collect),
22437         (gst_collectpads_collect_range), (gst_collectpads_start),
22438         (gst_collectpads_stop), (gst_collectpads_peek),
22439         (gst_collectpads_pop), (gst_collectpads_available),
22440         (gst_collectpads_read), (gst_collectpads_flush),
22441         (gst_collectpads_chain):
22442         * gst/base/gstcollectpads.h:
22443         * gst/elements/Makefile.am:
22444         * gst/elements/gstelements.c:
22445         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
22446         (gst_fakesink_get_times), (gst_fakesink_event),
22447         (gst_fakesink_preroll), (gst_fakesink_render):
22448         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
22449         (gst_filesink_init), (gst_filesink_set_location),
22450         (gst_filesink_open_file), (gst_filesink_close_file),
22451         (gst_filesink_pad_query), (gst_filesink_event),
22452         (gst_filesink_render), (gst_filesink_change_state):
22453         * gst/elements/gstfilesink.h:
22454         Added object to help in making collect pad based elements.
22455         Ported filesink.
22456         Make event function in sink baseclass return gboolean.
22457
22458 2005-05-05  Wim Taymans  <wim@fluendo.com>
22459
22460         * gst/gstbin.c: (gst_bin_send_event), (compare_name),
22461         (gst_bin_get_by_name):
22462         * gst/gstbuffer.h:
22463         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_class_init),
22464         (gst_clock_finalize):
22465         * gst/gstdata.c: (gst_data_replace):
22466         * gst/gstdata.h:
22467         * gst/gstelement.c: (gst_element_request_pad),
22468         (gst_element_pads_activate):
22469         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
22470         (gst_object_unref):
22471         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
22472         (gst_pad_set_checkgetrange_function),
22473         (gst_pad_link_check_compatible_unlocked), (gst_pad_set_caps),
22474         (gst_pad_check_pull_range), (gst_pad_pull_range),
22475         (gst_static_pad_template_get_caps), (gst_pad_start_task),
22476         (gst_pad_pause_task), (gst_pad_stop_task):
22477         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
22478         (gst_element_request_pad), (gst_pad_proxy_getcaps):
22479         Fix name lookup in GstBin.
22480         Added _data_replace() function and _buffer_replace()
22481         Use finalize method to clean up clock.
22482         Fix refcounting on request pads.
22483         Fix pad schedule mode error.
22484         Some more object refcounting debug info,
22485
22486
22487 2005-05-04  Andy Wingo <wingo@pobox.com>
22488
22489         * check/Makefile.am:
22490         * docs/gst/tmpl/gstatomic.sgml:
22491         * docs/gst/tmpl/gstplugin.sgml:
22492         * gst/base/gstbasesink.c: (gst_basesink_activate):
22493         * gst/base/gstbasesrc.c: (gst_basesrc_class_init),
22494         (gst_basesrc_init), (gst_basesrc_set_dataflow_funcs),
22495         (gst_basesrc_query), (gst_basesrc_set_property),
22496         (gst_basesrc_get_property), (gst_basesrc_check_get_range),
22497         (gst_basesrc_activate):
22498         * gst/base/gstbasesrc.h:
22499         * gst/base/gstbasetransform.c: (gst_base_transform_sink_activate),
22500         (gst_base_transform_src_activate):
22501         * gst/elements/gstelements.c:
22502         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
22503         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
22504         * gst/elements/gsttee.c: (gst_tee_sink_activate):
22505         * gst/elements/gsttypefindelement.c: (find_element_get_length),
22506         (gst_type_find_element_checkgetrange),
22507         (gst_type_find_element_activate):
22508         * gst/gstbin.c: (gst_bin_save_thyself), (gst_bin_restore_thyself):
22509         * gst/gstcaps.c: (gst_caps_do_simplify), (gst_caps_save_thyself),
22510         (gst_caps_load_thyself):
22511         * gst/gstelement.c: (gst_element_pads_activate),
22512         (gst_element_save_thyself), (gst_element_restore_thyself):
22513         * gst/gstpad.c: (gst_pad_load_and_link), (gst_pad_save_thyself),
22514         (gst_ghost_pad_save_thyself), (gst_pad_check_pull_range):
22515         * gst/gstpad.h:
22516         * gst/gstxml.c: (gst_xml_write), (gst_xml_parse_doc),
22517         (gst_xml_parse_file), (gst_xml_parse_memory),
22518         (gst_xml_get_element), (gst_xml_make_element):
22519         * gst/indexers/gstfileindex.c: (gst_file_index_load),
22520         (_file_index_id_save_xml), (gst_file_index_commit):
22521         * gst/registries/gstlibxmlregistry.c: (read_string), (read_uint),
22522         (read_enum), (load_pad_template), (load_feature), (load_plugin),
22523         (load_paths):
22524         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps),
22525         (gst_dp_packet_from_event), (gst_dp_caps_from_packet):
22526         * tools/gst-complete.c: (main):
22527         * tools/gst-compprep.c: (main):
22528         * tools/gst-inspect.c: (print_element_properties_info):
22529         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
22530         * tools/gst-xmlinspect.c: (print_element_properties):
22531         GCC 4 fixen.
22532         
22533 2005-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
22534
22535         * gst/gstplugin.c: (gst_plugin_check_module),
22536         (gst_plugin_check_file), (gst_plugin_load_file):
22537             apply patch from #172526 to make register work on MacOSX
22538
22539 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
22540
22541         * docs/gst/tmpl/gstconfig.sgml:
22542         * gst/gstconfig.h.in:
22543           move documentation for some symbols.  Add doc for GST_PTR_FORMAT
22544         * testsuite/debug/printf_extension.c: (main):
22545           Do not use GST_PTR_FORMAT on pointers to types with
22546           sizeof < sizeof(gpointer).  Fixes test on 64-bit
22547         * testsuite/elements/property.h:
22548           use correct printf format
22549
22550 2005-05-02  Wim Taymans  <wim@fluendo.com>
22551
22552         * docs/design/draft-push-pull.txt:
22553         * docs/design/draft-query.txt:
22554         * gst/base/gstbasesrc.c: (gst_basesrc_get_range_unlocked),
22555         (gst_basesrc_start):
22556         Added draft for new query API.
22557         Added draft for better selecting scheduling methods.
22558         Make basesrc ignore length if the subclass does not support
22559         it.
22560
22561 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
22562
22563         * gst/Makefile.am:
22564           possible fixes for automake-1.5 - _LIBADD is reserved
22565
22566 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
22567
22568         * docs/faq/Makefile.am:
22569         * docs/manual/Makefile.am:
22570         * docs/manuals.mak:
22571         * docs/pwg/Makefile.am:
22572         * gst/Makefile.am:
22573           possible fixes for automake-1.5
22574
22575 2005-04-28  Wim Taymans  <wim@fluendo.com>
22576
22577         * gst/base/gstbasesink.c: (gst_basesink_base_init),
22578         (gst_basesink_pad_getcaps), (gst_basesink_init),
22579         (gst_basesink_do_sync):
22580         * gst/gstclock.c: (gst_clock_entry_new):
22581         * gst/gstevent.c: (gst_event_discont_get_value):
22582         * gst/gstpipeline.c: (pipeline_bus_handler),
22583         (gst_pipeline_change_state):
22584         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
22585         Better debugging of clocking info.
22586         Allow NULL values when getting discont values.
22587
22588 2005-04-27  Wim Taymans  <wim@fluendo.com>
22589
22590         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
22591         * check/gst/gstpad.c: (gst_pad_suite):
22592         Increase timeout for checks.
22593
22594 2005-04-27  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
22595
22596         * check/Makefile.am:
22597           fix the broken rule for cleanup.  Apparently this rule is
22598           only needed on FC2, so maybe this warrants further autotool
22599           inspection.
22600
22601 2005-04-26  Wim Taymans  <wim@fluendo.com>
22602
22603         * gst/gsttrashstack.h:
22604         Ooohh. a nasty one! After having a failed pop() from the stack,
22605         it's possible that the stack is empty. In that case, don't
22606         follow the NULL pointer.
22607
22608 2005-04-25  Wim Taymans  <wim@fluendo.com>
22609
22610         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
22611         (gst_pad_set_checkgetrange_function),
22612         (gst_pad_link_check_compatible_unlocked), (gst_pad_link_prepare),
22613         (gst_pad_check_pull_range), (gst_pad_pull_range),
22614         (gst_static_pad_template_get_caps), (gst_pad_start_task),
22615         (gst_pad_pause_task), (gst_pad_stop_task):
22616         * gst/gstplugin.c: (gst_plugin_load):
22617         * gst/gstplugin.h:
22618         Remove gst_library_load as it does more harm than good with
22619         the new g_module flags.
22620         Revert bogus caps template check in pad linking, pad caps
22621         are important when linking not the template, which is more
22622         general than the current caps.
22623
22624 2005-04-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
22625
22626         * gst/autoplug/.cvsignore:
22627         * gst/autoplug/Makefile.am:
22628         * gst/autoplug/gstsearchfuncs.c:
22629         * gst/autoplug/gstsearchfuncs.h:
22630         * gst/autoplug/gstspider.c:
22631         * gst/autoplug/gstspider.h:
22632         * gst/autoplug/gstspideridentity.c:
22633         * gst/autoplug/gstspideridentity.h:
22634         * gst/autoplug/spidertest.c:
22635           Die, spider, die.
22636
22637 2005-04-25  Wim Taymans  <wim@fluendo.com>
22638
22639         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
22640         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
22641         (gst_pad_pull_range), (gst_static_pad_template_get_caps),
22642         (gst_pad_start_task), (gst_pad_pause_task), (gst_pad_stop_task):
22643         * gst/gstpad.h:
22644         Added stubs for unimplemented functions. 
22645
22646 2005-04-24  David Schleef  <ds@schleef.org>
22647
22648         * gst/gstpad.h: Disable some unimplemented functions.  Wim,
22649         please fix.
22650
22651 2005-04-24  David Schleef  <ds@schleef.org>
22652
22653         Convert everything from GstAtomicInt to g_atomic_int_*, and
22654         remove gstatomic.
22655         * gst/Makefile.am:
22656         * gst/gstatomic.c:
22657         * gst/gstatomic.h:
22658         * gst/gstatomic_impl.h:
22659         * gst/gstbuffer.c:
22660         * gst/gstcaps.c:
22661         * gst/gstcaps.h:
22662         * gst/gstclock.c:
22663         * gst/gstclock.h:
22664         * gst/gstdata.c:
22665         * gst/gstdata.h:
22666         * gst/gstdata_private.h:
22667         * gst/gstevent.c:
22668         * gst/gstinfo.c:
22669         * gst/gstinfo.h:
22670         * gst/gstmessage.c:
22671         * gst/gstobject.c:
22672         * gst/gstobject.h:
22673         * gst/gststructure.c:
22674         * gst/gststructure.h:
22675         * gst/gstutils.c: Add gst_atomic_int_set() compaitibility function.
22676         * gst/gstutils.h:
22677
22678 2005-04-24  David Schleef  <ds@schleef.org>
22679
22680         * check/gst/gstpad.c: (START_TEST): Oh yeah, it's always nice to
22681         make the regressions tests work.  Remove some code that is no
22682         longer true.
22683         * gst/gstpad.c: (gst_pad_link_check_templates_compatible_unlocked):
22684         Disable warning for pads without templates.
22685
22686 2005-04-24  David Schleef  <ds@schleef.org>
22687
22688         * gst/gstpad.c: Remove handling of filtered caps.  Fix/merge
22689         functions that handle filtered links.
22690         * gst/gstpad.h: Remove 'appfilter' field and prototypes of
22691         removed functions.
22692         * gst/gstutils.c: Fix/remove utility functions that handle
22693         filtered caps.
22694         * gst/gstutils.h:
22695         * gst/gstvalue.c: Add serialization/deserialization of caps
22696         * gst/parse/grammar.y: Ignore filtered caps when linking.  This
22697         requires fixing so that the filter caps notation creates
22698         a capsfilter element and sets the filter_caps property.  I
22699         think everyone probably wants to keep the shorthand notation.
22700         * docs/gst/tmpl/gstelement.sgml: updates for API changes.
22701         * docs/gst/tmpl/gstpad.sgml:
22702
22703         * gst/elements/gstelements.c: Register capsfilter element.
22704         * gst/Makefile.am: fix spacing
22705         * docs/random/ds/0.9-suggested-changes: random
22706
22707 2005-04-23  David Schleef  <ds@schleef.org>
22708
22709         * gst/elements/Makefile.am:
22710         * gst/elements/gstcapsfilter.c: New element that acts like an
22711         identity, but filters caps.  Will eventually replace filtered
22712         caps in pad linking.
22713         * gst/gstutils.c: (gst_element_create_all_pads): New function
22714         to create all the ALWAYS pads that are registered with an
22715         element class.  This functionality should eventually be
22716         merged in with GstElement initialization.
22717         * gst/gstutils.h:
22718         * testsuite/trigger/README: part of trigger test code that should
22719         have been checked in a long time ago.
22720
22721 2005-04-23  David Schleef  <ds@schleef.org>
22722
22723         * gst/Makefile.am: Remove as-libtool stuff.  It's likely not
22724         needed with new versions of libtool (nobody will confirm this),
22725         and hard to carry around.
22726         * gst/autoplug/Makefile.am:
22727         * gst/base/Makefile.am:
22728         * gst/elements/Makefile.am:
22729         * gst/indexers/Makefile.am:
22730         * gst/schedulers/Makefile.am:
22731         * libs/gst/bytestream/Makefile.am:
22732         * libs/gst/control/Makefile.am:
22733         * libs/gst/dataprotocol/Makefile.am:
22734         * libs/gst/getbits/Makefile.am:
22735
22736 2005-04-21  Wim Taymans  <wim@fluendo.com>
22737
22738         * docs/design/draft-push-pull.txt:
22739         * docs/design/part-MT-refcounting.txt:
22740         * docs/design/part-TODO.txt:
22741         * docs/design/part-caps.txt:
22742         * docs/design/part-events.txt:
22743         * docs/design/part-gstbus.txt:
22744         * docs/design/part-gstpipeline.txt:
22745         * docs/design/part-messages.txt:
22746         * docs/design/part-push-pull.txt:
22747         * docs/design/part-query.txt:
22748         Some more docs.
22749
22750 2005-04-21  Wim Taymans  <wim@fluendo.com>
22751
22752         * gst/gstmessage.c: (_gst_message_copy), (_gst_message_free),
22753         (gst_message_new), (gst_message_new_error),
22754         (gst_message_new_warning), (gst_message_new_tag),
22755         (gst_message_new_state_changed), (gst_message_new_application),
22756         (gst_message_get_structure):
22757         * gst/gstmessage.h:
22758         * gst/gststructure.c: (gst_structure_set_parent_refcount),
22759         (gst_structure_copy_conditional):
22760         Use parent refcount in GstMessage to ensure GstStructure
22761         consistency.
22762         Cleaned up headers a bit.
22763         
22764
22765 2005-04-20  Wim Taymans  <wim@fluendo.com>
22766
22767         * gst/base/gstbasesink.c: (gst_basesink_base_init),
22768         (gst_basesink_pad_getcaps), (gst_basesink_init),
22769         (gst_basesink_chain_unlocked):
22770         * gst/base/gsttypefindhelper.c: (helper_find_suggest),
22771         (gst_type_find_helper):
22772         * gst/elements/gsttypefindelement.c:
22773         (gst_type_find_element_have_type), (gst_type_find_element_init),
22774         (stop_typefinding), (gst_type_find_element_handle_event),
22775         (find_suggest), (gst_type_find_element_chain),
22776         (gst_type_find_element_checkgetrange),
22777         (gst_type_find_element_getrange), (do_typefind),
22778         (gst_type_find_element_activate):
22779         * gst/gstbuffer.c: (_gst_buffer_sub_free),
22780         (gst_buffer_default_free), (gst_buffer_default_copy),
22781         (gst_buffer_set_caps):
22782         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref),
22783         (gst_caps_replace):
22784         * gst/gstmessage.c: (gst_message_new),
22785         (gst_message_new_state_changed):
22786         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
22787         (gst_pad_set_checkgetrange_function),
22788         (gst_pad_link_prepare_filtered), (gst_pad_relink_filtered),
22789         (gst_pad_set_caps), (gst_pad_check_pull_range),
22790         (gst_pad_pull_range), (gst_static_pad_template_get_caps):
22791         * gst/gstpad.h:
22792         * gst/gsttypefind.c: (gst_type_find_register):
22793         Make gst_caps_replace() work like other _replace() functions.
22794         Use _caps_replace() where possible.
22795         Make sure _message_new() initialises its field.
22796         Add gst_static_pad_template_get_caps()
22797
22798
22799 2005-04-18  Andy Wingo  <wingo@pobox.com>
22800
22801         * gst/gstelement.c (gst_element_pads_activate): Check pull_range
22802         on the peer, not the pad. I think that was a typo. Pass an extra
22803         arg to see if random access is possible. Activate the pads as
22804         PULL_RANGE if possible.
22805
22806         * gst/elements/gstfakesrc.c: s/ARG_/PROP_/.
22807
22808         * gst/base/gstbasesrc.c (gst_basesrc_set_property) 
22809         (gst_basesrc_get_property): BLOCKSIZE is a ULONG. Rename ARG_...
22810         to PROP_....
22811
22812 2005-04-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
22813
22814         * docs/faq/using.xml:
22815           Add note on gstreamer-properties (#154996).
22816
22817 2005-04-13  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
22818
22819         * docs/random/bbb/optional-properties:
22820           Some analysis on optional properties.
22821
22822 2005-04-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
22823
22824         * docs/gst/tmpl/gstelementfactory.sgml:
22825         * gst/gstelement.h:
22826         * gst/gstelementfactory.c: (gst_element_factory_init),
22827         (gst_element_factory_cleanup), (gst_element_register),
22828         (__gst_element_factory_add_static_pad_template),
22829         (gst_element_factory_get_static_pad_templates),
22830         (gst_element_factory_can_src_caps),
22831         (gst_element_factory_can_sink_caps):
22832         * gst/registries/Makefile.am:
22833         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_get_type),
22834         (gst_xml_registry_class_init), (gst_xml_registry_init),
22835         (gst_xml_registry_new), (gst_xml_registry_set_property),
22836         (gst_xml_registry_get_property), (get_time), (make_dir),
22837         (gst_xml_registry_get_perms_func),
22838         (plugin_times_older_than_recurse), (plugin_times_older_than),
22839         (gst_xml_registry_open_func), (gst_xml_registry_load_func),
22840         (gst_xml_registry_save_func), (gst_xml_registry_close_func),
22841         (add_to_char_array), (read_string), (read_uint), (read_enum),
22842         (load_pad_template), (load_feature), (load_plugin), (load_paths),
22843         (gst_xml_registry_load), (gst_xml_registry_load_plugin),
22844         (gst_xml_registry_save_caps), (gst_xml_registry_save_pad_template),
22845         (gst_xml_registry_save_feature), (gst_xml_registry_save_plugin),
22846         (gst_xml_registry_save), (gst_xml_registry_rebuild_recurse),
22847         (gst_xml_registry_rebuild):
22848         * gst/registries/gstlibxmlregistry.h:
22849         * tools/gst-compprep.c: (main):
22850         * tools/gst-inspect.c: (print_pad_templates_info):
22851         * tools/gst-xmlinspect.c: (print_element_info):
22852           Use libxml2 for registry parsing, use staticpadtemplates in
22853           elementfactories. Makes gst_init() +/- 10x faster.
22854
22855 2005-04-12  Wim Taymans  <wim@fluendo.com>
22856
22857         * gst/base/Makefile.am:
22858         * gst/base/gstbasesink.c: (gst_basesink_base_init),
22859         (gst_basesink_pad_getcaps), (gst_basesink_init),
22860         (gst_basesink_event), (gst_basesink_change_state):
22861         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
22862         (gst_basesrc_init), (gst_basesrc_query),
22863         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
22864         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
22865         (gst_basesrc_check_get_range), (gst_basesrc_loop),
22866         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
22867         (gst_basesrc_stop), (gst_basesrc_activate),
22868         (gst_basesrc_change_state):
22869         * gst/base/gsttypefindhelper.c: (helper_find_peek),
22870         (helper_find_suggest), (gst_type_find_helper):
22871         * gst/base/gsttypefindhelper.h:
22872         * gst/elements/Makefile.am:
22873         * gst/elements/gstelements.c:
22874         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
22875         (gst_fakesink_get_times), (gst_fakesink_event),
22876         (gst_fakesink_preroll), (gst_fakesink_render):
22877         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
22878         (gst_fakesrc_init), (gst_fakesrc_event_handler),
22879         (gst_fakesrc_get_property), (gst_fakesrc_create),
22880         (gst_fakesrc_start), (gst_fakesrc_stop):
22881         * gst/elements/gstfakesrc.h:
22882         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init),
22883         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
22884         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
22885         (gst_filesrc_create_read), (gst_filesrc_create),
22886         (gst_filesrc_is_seekable), (gst_filesrc_get_size),
22887         (gst_filesrc_start):
22888         * gst/elements/gsttypefindelement.c:
22889         (gst_type_find_element_have_type), (gst_type_find_element_init),
22890         (start_typefinding), (stop_typefinding), (push_buffer_store),
22891         (gst_type_find_element_handle_event),
22892         (gst_type_find_element_chain),
22893         (gst_type_find_element_checkgetrange),
22894         (gst_type_find_element_getrange), (do_typefind),
22895         (gst_type_find_element_activate),
22896         (gst_type_find_element_change_state):
22897         * gst/elements/gsttypefindelement.h:
22898         * gst/gstpipeline.c: (pipeline_bus_handler):
22899         Added typefind helper.
22900         Small preroll fix in the base sink.
22901         Disable typefind code in basesrc.
22902         Crude port of typefindelement.
22903         Fakesrc cleanups.
22904
22905
22906 2005-04-11  Wim Taymans  <wim@fluendo.com>
22907
22908         * check/gst/gstbus.c: (gstbus_suite):
22909         * check/gst/gstdata.c: (thread_ref), (gst_data_suite):
22910         * check/gstcheck.h:
22911           Fix up the timeout so that the test does not fail.
22912
22913 2005-04-06  Wim Taymans  <wim@fluendo.com>
22914
22915         * gst/base/README:
22916         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
22917         (gst_basesrc_init), (gst_basesrc_get_formats), (gst_basesrc_query),
22918         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
22919         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
22920         (gst_basesrc_check_get_range), (gst_basesrc_loop),
22921         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
22922         (gst_basesrc_stop), (gst_basesrc_activate),
22923         (gst_basesrc_change_state), (basesrc_find_peek),
22924         (basesrc_find_suggest), (gst_basesrc_type_find):
22925         * gst/base/gstbasesrc.h:
22926         * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
22927         (gst_filesrc_class_init), (gst_filesrc_init),
22928         (gst_filesrc_finalize), (gst_filesrc_set_location),
22929         (gst_filesrc_set_property), (gst_filesrc_get_property),
22930         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
22931         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
22932         (gst_filesrc_create_read), (gst_filesrc_create),
22933         (gst_filesrc_get_size), (gst_filesrc_start), (gst_filesrc_stop):
22934         * gst/elements/gstfilesrc.h:
22935         * gst/gstelement.c: (gst_element_get_state_func),
22936         (gst_element_lost_state), (gst_element_pads_activate):
22937         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
22938         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
22939         (gst_pad_pull_range):
22940         * gst/gstpad.h:
22941         More work on the generic source base class, implement seeking,
22942         query.
22943         Make filesrc extend the base source class.
22944         Added gst_pad_set_checkgetrange_function to GstPad.
22945
22946 2005-04-06  Andy Wingo  <wingo@pobox.com>
22947
22948         * pkgconfig/gstreamer-base.pc.in:
22949         * pkgconfig/gstreamer-base-uninstalled.pc.in: New files.
22950
22951         * pkgconfig/Makefile.am:
22952         * configure.ac (AC_OUTPUT): Add gstreamer-base pkgconfig files.
22953
22954 2005-04-04  Wim Taymans  <wim@fluendo.com>
22955
22956         * gst/base/Makefile.am:
22957         * gst/base/README:
22958         * gst/base/gstbasesink.c: (gst_basesink_base_init),
22959         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
22960         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
22961         (gst_basesink_do_sync), (gst_basesink_chain_unlocked):
22962         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
22963         (gst_basesrc_base_init), (gst_basesrc_class_init),
22964         (gst_basesrc_init), (gst_basesrc_get_formats),
22965         (gst_basesrc_get_query_types), (gst_basesrc_query),
22966         (gst_basesrc_get_event_mask), (gst_basesrc_event_handler),
22967         (gst_basesrc_set_property), (gst_basesrc_get_property),
22968         (gst_basesrc_get_range_unlocked), (gst_basesrc_get_range),
22969         (gst_basesrc_loop), (gst_basesrc_activate),
22970         (gst_basesrc_change_state):
22971         * gst/base/gstbasesrc.h:
22972         * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
22973         (gst_fakesrc_class_init), (gst_fakesrc_init),
22974         (gst_fakesrc_event_handler), (gst_fakesrc_set_property),
22975         (gst_fakesrc_get_property), (gst_fakesrc_create):
22976         * gst/elements/gstfakesrc.h:
22977         * gst/elements/gstfilesrc.c: (gst_filesrc_getrange),
22978         (gst_filesrc_open_file), (gst_filesrc_loop),
22979         (gst_filesrc_activate), (filesrc_find_peek),
22980         (gst_filesrc_type_find):
22981         Made base source class, make fakesrc extend it.
22982         Add comments to basesink class.
22983         Some filesrc cleanup.
22984
22985 2005-03-31  David Schleef  <ds@schleef.org>
22986
22987         * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
22988         Switch to using G_MODULE_BIND_LOCAL, which means plugins are now
22989         expected to link against libgstreamer.
22990         * gst/base/Makefile.am: link against libgstreamer
22991         * gst/elements/Makefile.am: same
22992
22993 2005-03-31  Andy Wingo  <wingo@pobox.com>
22994
22995         * tests/instantiate/Makefile.am:
22996         * tests/instantiate/caps.c: Add test to test speed of caps copy
22997         and free.
22998
22999         * tests/memchunk/gmemchunktest.c (main): Use alloc only on the
23000         GMemChunk to be fair.
23001
23002         * gst/gsttrashstack.h: Remove warning about using the fallback
23003         trash stack implementation, it's still faster than malloc.
23004
23005 2005-03-30  Andy Wingo  <wingo@pobox.com>
23006
23007         * tests/complexity.c: Add a copyright.
23008
23009 2005-03-31  Wim Taymans  <wim@fluendo.com>
23010
23011         * gst/base/gstbasetransform.c: (gst_base_transform_base_init),
23012         (gst_base_transform_class_init), (gst_base_transform_init),
23013         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
23014         (gst_base_transform_get_property),
23015         (gst_base_transform_sink_activate),
23016         (gst_base_transform_src_activate),
23017         (gst_base_transform_change_state):
23018         * gst/base/gstbasetransform.h:
23019         * gst/elements/gstidentity.c: (gst_identity_class_init),
23020         (gst_identity_event), (gst_identity_check_perfect),
23021         (gst_identity_transform), (gst_identity_start),
23022         (gst_identity_stop):
23023         Added start/stop methods to transform base class so subclasses 
23024         don't need to deal with state changes even.
23025
23026 2005-03-31  Wim Taymans  <wim@fluendo.com>
23027
23028         * gst/gstevent.c: (gst_event_new_discontinuous_valist),
23029         (gst_event_new_discontinuous), (gst_event_discont_get_value):
23030         * gst/gstevent.h:
23031         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
23032         (gst_pad_pull_range):
23033         Added rate to the discont event to prepare for variable speed
23034         and reverse playback.
23035
23036 2005-03-29  David Schleef  <ds@schleef.org>
23037
23038         * configure.ac:
23039         * testsuite/trigger/Makefile.am:
23040         * testsuite/trigger/trigger.c: A little example program to show
23041         how trigger-based elements can work.
23042
23043 2005-03-29  Wim Taymans  <wim@fluendo.com>
23044
23045         * gst/base/Makefile.am:
23046         * gst/base/README:
23047         * gst/base/gstbasesink.c: (gst_basesink_get_type),
23048         (gst_basesink_base_init), (gst_basesink_class_init),
23049         (gst_basesink_pad_getcaps), (gst_basesink_init),
23050         (gst_basesink_activate), (gst_basesink_change_state):
23051         * gst/base/gstbasesink.h:
23052         * gst/base/gstbasetransform.c: (gst_base_transform_get_type),
23053         (gst_base_transform_base_init), (gst_base_transform_finalize),
23054         (gst_base_transform_class_init), (gst_base_transform_init),
23055         (gst_base_transform_proxy_getcaps), (gst_base_transform_setcaps),
23056         (gst_base_transform_event), (gst_base_transform_getrange),
23057         (gst_base_transform_chain), (gst_base_transform_handle_buffer),
23058         (gst_base_transform_set_property),
23059         (gst_base_transform_get_property),
23060         (gst_base_transform_sink_activate),
23061         (gst_base_transform_src_activate),
23062         (gst_base_transform_change_state):
23063         * gst/base/gstbasetransform.h:
23064         * gst/elements/gstidentity.c: (gst_identity_finalize),
23065         (gst_identity_class_init), (gst_identity_init),
23066         (gst_identity_event), (gst_identity_check_perfect),
23067         (gst_identity_transform), (gst_identity_set_property),
23068         (gst_identity_get_property), (gst_identity_change_state):
23069         * gst/elements/gstidentity.h:
23070         * gst/gstelement.c: (gst_element_get_state_func),
23071         (gst_element_lost_state), (gst_element_pads_activate):
23072         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
23073         (gst_pad_check_pull_range), (gst_pad_pull_range):
23074         * gst/gstpad.h:
23075         Simplify pad activation.
23076         Added function to check if pull_range can be performed.
23077         Error out when pulling inactive or flushing pads.
23078         Removed const from refcounted types as it does not make sense.
23079         Simplify pad templates in basesink
23080         Added base class for simple 1-to-1 transforms.
23081         Make identity subclass the base transform.
23082
23083 2005-03-29  Andy Wingo  <wingo@pobox.com>
23084
23085         * docs/libs/gstreamer-libs-overrides.txt: 
23086         * docs/gst/gstreamer-overrides.txt: Add these files to CVS. Now I
23087         really don't understand what's going on, but like whatever. I want
23088         green buildbot!
23089
23090         * docs/gst/Makefile.am:
23091         * docs/libs/Makefile.am: Dist the overrides files.
23092
23093         * check/Makefile.am (clean-local): Remove .libs directories.
23094
23095         * gst/elements/Makefile.am (EXTRA_DIST): Add all the attic
23096         elements to EXTRA_DIST, so po/ files are happy.
23097
23098         * po/POTFILES.in: Er, remove it here.
23099
23100         * po/POTFILES: Remove gstspider.c.
23101
23102         * configure.ac (AC_OUTPUT): Add missing testsuite makefiles.
23103
23104         * docs/libs/gstreamer-libs-docs.sgml: 
23105         * docs/libs/gstreamer-libs-sections.txt: Remove the section on
23106         bytestream.
23107
23108         * tests/complexity.c (main): Set the length of the preroll queue
23109         on the sinks to prevent a lockup.
23110
23111         * libs/gst/dataprotocol/Makefile.am: 
23112         * libs/gst/dataprotocol/dataprotocol-test.c: Remove test, it's
23113         the same as the one in check/gst-libs/gdp.c.
23114
23115         * po/, docs/gst/: Commit automatic changes to docs and po files.
23116
23117         * gst/elements/Makefile.am (libgstelements_la_LDFLAGS): Link to
23118         the versioned libgstbase.
23119
23120         * check/Makefile.am: Depend on an unversioned gst-register, seems
23121         to make autoconf happier.
23122
23123         * gst/base/Makefile.am: Make libgstbase a versioned lib.
23124
23125 2005-03-28  Wim Taymans  <wim@fluendo.com>
23126
23127         * configure.ac:
23128         * docs/design/part-gstelement.txt:
23129         * docs/design/part-negotiation.txt:
23130         * docs/design/part-preroll.txt:
23131         * docs/design/part-scheduling.txt:
23132         * docs/design/part-states.txt:
23133         * gst/Makefile.am:
23134         * gst/base/Makefile.am:
23135         * gst/base/README:
23136         * gst/base/gstbasesink.c: (gst_basesink_get_template),
23137         (gst_basesink_base_init), (gst_basesink_class_init),
23138         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
23139         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
23140         (gst_basesink_set_pad_functions),
23141         (gst_basesink_set_all_pad_functions), (gst_basesink_set_clock),
23142         (gst_basesink_set_property), (gst_basesink_get_property),
23143         (gst_base_sink_get_template), (gst_base_sink_get_caps),
23144         (gst_base_sink_set_caps), (gst_base_sink_buffer_alloc),
23145         (gst_basesink_preroll_queue_push),
23146         (gst_basesink_preroll_queue_empty),
23147         (gst_basesink_preroll_queue_flush), (gst_basesink_finish_preroll),
23148         (gst_basesink_event), (gst_basesink_get_times),
23149         (gst_basesink_do_sync), (gst_basesink_handle_buffer),
23150         (gst_basesink_chain_unlocked), (gst_basesink_chain),
23151         (gst_basesink_loop), (gst_basesink_activate),
23152         (gst_basesink_change_state):
23153         * gst/base/gstbasesink.h:
23154         * gst/elements/Makefile.am:
23155         * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
23156         (gst_fakesink_class_init), (gst_fakesink_init),
23157         (gst_fakesink_set_property), (gst_fakesink_get_property),
23158         (gst_fakesink_get_times), (gst_fakesink_event),
23159         (gst_fakesink_preroll), (gst_fakesink_render),
23160         (gst_fakesink_change_state):
23161         * gst/elements/gstfakesink.h:
23162         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
23163         (gst_bin_get_state), (gst_bin_change_state), (gst_bin_send_event):
23164         * gst/gstelement.c: (gst_element_add_pad),
23165         (gst_element_get_state_func), (gst_element_abort_state),
23166         (gst_element_commit_state), (gst_element_lost_state),
23167         (gst_element_set_state), (gst_element_pads_activate):
23168         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_event_default):
23169         * gst/gstpipeline.c: (gst_pipeline_send_event),
23170         (gst_pipeline_change_state):
23171         Added state change code.
23172         Added/updated docs.
23173         Added sink base class, make fakesink extend the base class.
23174         Small cleanups in GstPipeline.
23175
23176 2005-03-26  David Schleef  <ds@schleef.org>
23177
23178         * gst/Makefile.am: remove gstcpu.[ch].  The gst_cpu functionality
23179         is broken and should be implemented in a different library.
23180         * gst/gst.c: (init_post): don't call _gst_cpu_initialize()
23181         * gst/gst.h: remove gstcpu.h
23182         * gst/gstcpu.c: remove
23183         * gst/gstcpu.h: remove
23184         * gst/Makefile.am.future: Remove this file.  It's ancient.
23185
23186 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
23187
23188         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
23189         (gst_bin_send_event):
23190           Add default event/set_manager handlers. The set_manager handler
23191           takes care that the manager is distributed over kids that were
23192           already in the bin before the manager was set. The event handler
23193           is a utility virtual function that sends the event over all sinks,
23194           so that gst_element_send_event (bin, event); has the expected
23195           behaviour.
23196         * gst/gstpad.c: (gst_pad_event_default):
23197           Re-install default event handling for discontinuities, so that
23198           seeking works without requiring hacks in applications or extra
23199           code in sinks.
23200         * gst/gstpipeline.c: (gst_pipeline_class_init),
23201         (gst_pipeline_send_event):
23202           Half hack, half utility: set a pipeline to PAUSED for seek events,
23203           since that is the only way we can guarantee a/v sync. Means that
23204           you can do gst_element_seek (pipeline, method, pos); on a pipeline
23205           and it "just works".
23206
23207 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
23208
23209         * gst/gstpipeline.c: (gst_pipeline_use_clock):
23210           Lock/unlock mismatch.
23211
23212 2005-03-25  Thomas Vander Stichele  <thomas at apestaart dot org>
23213
23214         * docs/faq/gst-uninstalled:
23215           add gst-plugins-base
23216         * docs/gst/Makefile.am:
23217           don't error out until docs are fixed
23218         * docs/gst/gstreamer.types:
23219           remove thread
23220
23221 2005-03-22  Wim Taymans  <wim@fluendo.com>
23222
23223         * check/Makefile.am:
23224         * check/gst/gstmessage.c: (START_TEST), (gst_data_suite), (main):
23225         * gst/gststructure.c: (gst_structure_set_valist),
23226         (gst_structure_copy_conditional):
23227         Activated more tests.
23228         Added message test.
23229         Added G_TYPE_POINTER to GstStructure.
23230         
23231
23232 2005-03-22  Wim Taymans  <wim@fluendo.com>
23233
23234         * docs/design/part-TODO.txt:
23235         * docs/design/part-events.txt:
23236         * docs/design/part-gstbin.txt:
23237         * docs/design/part-gstbus.txt:
23238         * docs/design/part-gstpipeline.txt:
23239         * docs/design/part-messages.txt:
23240         * gst/gstbus.c:
23241         * gst/gstmessage.c:
23242         Docs updates
23243
23244 2005-03-21  Wim Taymans  <wim@fluendo.com>
23245
23246         * gst/gstbus.c: (gst_bus_post):
23247         Fix copy-and-paste error.
23248
23249 2005-03-21  Wim Taymans  <wim@fluendo.com>
23250
23251         * check/Makefile.am:
23252         * gst/Makefile.am:
23253         * gst/elements/Makefile.am:
23254         * gst/elements/gstelements.c:
23255         * gst/elements/gstfakesink.c: (gst_fakesink_init),
23256         (gst_fakesink_event), (gst_fakesink_chain):
23257         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
23258         (gst_fakesrc_init), (gst_fakesrc_get_event_mask),
23259         (gst_fakesrc_event_handler), (gst_fakesrc_set_pad_functions),
23260         (gst_fakesrc_set_all_pad_functions), (gst_fakesrc_request_new_pad),
23261         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
23262         (gst_fakesrc_get_range_unlocked), (gst_fakesrc_get_range),
23263         (gst_fakesrc_loop), (gst_fakesrc_activate),
23264         (gst_fakesrc_change_state):
23265         * gst/elements/gstfakesrc.h:
23266         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
23267         (gst_filesrc_get_read), (gst_filesrc_getrange), (gst_filesrc_get),
23268         (gst_filesrc_open_file), (gst_filesrc_loop),
23269         (gst_filesrc_activate), (gst_filesrc_change_state),
23270         (filesrc_find_peek), (filesrc_find_suggest),
23271         (gst_filesrc_type_find):
23272         * gst/elements/gstidentity.c: (gst_identity_finalize),
23273         (gst_identity_class_init), (gst_identity_init),
23274         (gst_identity_proxy_getcaps), (identity_queue_push),
23275         (identity_queue_pop), (identity_queue_flush), (gst_identity_event),
23276         (gst_identity_getrange), (gst_identity_chain),
23277         (gst_identity_sink_loop), (gst_identity_src_loop),
23278         (gst_identity_handle_buffer), (gst_identity_set_dataflow_funcs),
23279         (gst_identity_set_property), (gst_identity_get_property),
23280         (gst_identity_change_state):
23281         * gst/elements/gstidentity.h:
23282         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
23283         (gst_tee_update_pad_functions), (gst_tee_request_new_pad),
23284         (gst_tee_set_property), (gst_tee_get_property), (gst_tee_do_push),
23285         (gst_tee_handle_buffer), (gst_tee_chain), (gst_tee_loop),
23286         (gst_tee_sink_activate):
23287         * gst/elements/gsttee.h:
23288         * gst/gst.c: (gst_register_core_elements), (init_post):
23289         * gst/gst.h:
23290         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_bus),
23291         (gst_bin_set_scheduler), (gst_bin_add_func), (gst_bin_add),
23292         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_get_state),
23293         (gst_bin_change_state):
23294         * gst/gstbin.h:
23295         * gst/gstbus.c: (gst_bus_get_type), (gst_bus_class_init),
23296         (gst_bus_init), (gst_bus_dispose), (gst_bus_set_property),
23297         (gst_bus_get_property), (gst_bus_new), (gst_bus_post),
23298         (gst_bus_have_pending), (gst_bus_pop), (gst_bus_peek),
23299         (gst_bus_set_sync_handler), (gst_bus_create_watch),
23300         (bus_watch_callback), (bus_watch_destroy),
23301         (gst_bus_add_watch_full), (gst_bus_add_watch), (poll_handler),
23302         (poll_timeout), (gst_bus_poll):
23303         * gst/gstbus.h:
23304         * gst/gstcaps.h:
23305         * gst/gstdata.h:
23306         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
23307         (gst_element_post_message), (gst_element_message_full),
23308         (gst_element_get_state_func), (gst_element_get_state),
23309         (gst_element_abort_state), (gst_element_commit_state),
23310         (gst_element_lost_state), (gst_element_set_state),
23311         (gst_element_pads_activate), (gst_element_change_state),
23312         (gst_element_dispose), (gst_element_set_manager_func),
23313         (gst_element_set_bus_func), (gst_element_set_scheduler_func),
23314         (gst_element_set_manager), (gst_element_get_manager),
23315         (gst_element_set_bus), (gst_element_get_bus),
23316         (gst_element_set_scheduler), (gst_element_get_scheduler):
23317         * gst/gstelement.h:
23318         * gst/gstevent.c: (gst_event_new_segment_seek),
23319         (gst_event_new_flush):
23320         * gst/gstevent.h:
23321         * gst/gstmessage.c: (_gst_message_initialize), (_gst_message_copy),
23322         (_gst_message_free), (gst_message_get_type), (gst_message_new),
23323         (gst_message_new_eos), (gst_message_new_error),
23324         (gst_message_new_warning), (gst_message_new_tag),
23325         (gst_message_new_state_changed), (gst_message_new_application),
23326         (gst_message_get_structure), (gst_message_parse_tag),
23327         (gst_message_parse_state_changed), (gst_message_parse_error),
23328         (gst_message_parse_warning):
23329         * gst/gstmessage.h:
23330         * gst/gstpad.c: (gst_real_pad_class_init), (gst_real_pad_init),
23331         (gst_real_pad_set_property), (gst_pad_set_active),
23332         (gst_pad_is_active), (gst_pad_set_blocked_async),
23333         (gst_pad_set_blocked), (gst_pad_is_blocked),
23334         (gst_pad_set_activate_function), (gst_pad_set_loop_function),
23335         (gst_pad_set_getrange_function), (gst_pad_set_acceptcaps_function),
23336         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
23337         (gst_pad_unlink), (gst_pad_link_prepare_filtered),
23338         (gst_pad_link_filtered), (gst_pad_relink_filtered),
23339         (gst_real_pad_get_caps_unlocked), (gst_pad_get_caps),
23340         (gst_pad_peer_get_caps), (gst_pad_fixate_caps),
23341         (gst_pad_accept_caps), (gst_pad_peer_accept_caps),
23342         (gst_pad_set_caps), (gst_pad_configure_sink),
23343         (gst_pad_configure_src), (gst_pad_get_negotiated_caps),
23344         (gst_pad_get_filter_caps), (gst_pad_alloc_buffer),
23345         (gst_real_pad_dispose), (gst_real_pad_finalize),
23346         (handle_pad_block), (gst_pad_push), (gst_pad_pull_range),
23347         (gst_pad_event_default_dispatch), (gst_pad_event_default),
23348         (gst_pad_push_event), (gst_pad_send_event), (gst_pad_get_formats):
23349         * gst/gstpad.h:
23350         * gst/gstpipeline.c: (gst_pipeline_init), (is_eos),
23351         (pipeline_bus_handler), (gst_pipeline_change_state),
23352         (gst_pipeline_get_scheduler), (gst_pipeline_get_bus):
23353         * gst/gstpipeline.h:
23354         * gst/gstprobe.h:
23355         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
23356         (gst_queue_finalize), (gst_queue_getcaps), (gst_queue_link_sink),
23357         (gst_queue_link_src), (gst_queue_bufferalloc),
23358         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
23359         (gst_queue_is_empty), (gst_queue_is_filled), (gst_queue_chain),
23360         (gst_queue_loop), (gst_queue_handle_src_event),
23361         (gst_queue_handle_src_query), (gst_queue_src_activate),
23362         (gst_queue_change_state):
23363         * gst/gstqueue.h:
23364         * gst/gstscheduler.c: (gst_scheduler_init),
23365         (gst_scheduler_dispose), (gst_scheduler_create_task),
23366         (gst_scheduler_factory_create):
23367         * gst/gstscheduler.h:
23368         * gst/gststructure.c: (gst_structure_get_type),
23369         (gst_structure_copy_conditional):
23370         * gst/gststructure.h:
23371         * gst/gsttaginterface.h:
23372         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
23373         (gst_task_init), (gst_task_dispose), (gst_task_create),
23374         (gst_task_get_state), (gst_task_start), (gst_task_stop),
23375         (gst_task_pause):
23376         * gst/gsttask.h:
23377         * gst/gstthread.c:
23378         * gst/gstthread.h:
23379         * gst/gsttypes.h:
23380         * gst/schedulers/Makefile.am:
23381         * gst/schedulers/cothreads_compat.h:
23382         * gst/schedulers/entryscheduler.c:
23383         * gst/schedulers/faircothreads.c:
23384         * gst/schedulers/faircothreads.h:
23385         * gst/schedulers/fairscheduler.c:
23386         * gst/schedulers/gstbasicscheduler.c:
23387         * gst/schedulers/gstoptimalscheduler.c:
23388         * gst/schedulers/gthread-cothreads.h:
23389         * gst/schedulers/threadscheduler.c:
23390         (gst_thread_scheduler_task_get_type),
23391         (gst_thread_scheduler_task_class_init),
23392         (gst_thread_scheduler_task_init),
23393         (gst_thread_scheduler_task_start),
23394         (gst_thread_scheduler_task_stop),
23395         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_get_type),
23396         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
23397         (gst_thread_scheduler_init), (gst_thread_scheduler_create_task),
23398         (gst_thread_scheduler_setup), (gst_thread_scheduler_reset),
23399         (plugin_init):
23400         * libs/gst/Makefile.am:
23401         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf):
23402         * libs/gst/bytestream/filepad.c: (gst_file_pad_init),
23403         (gst_file_pad_parent_set):
23404         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
23405         (gst_dp_event_from_packet):
23406         * tests/complexity.c: (main):
23407         * tests/mass_elements.c: (main):
23408         * testsuite/states/locked.c: (message_received), (main):
23409         * testsuite/states/parent.c: (main):
23410         * tools/gst-inspect.c: (print_element_flag_info),
23411         (print_implementation_info), (print_pad_info):
23412         * tools/gst-launch.c: (check_intr), (play_handler), (event_loop),
23413         (main):
23414         * tools/gst-md5sum.c: (event_loop), (main):
23415         * tools/gst-typefind.c: (main):
23416         * tools/gst-xmlinspect.c: (print_element_info):
23417         Next big merge.
23418         Added GstBus for mainloop integration.
23419         Added GstMessage for sending notifications on the bus.
23420         Added GstTask as an abstraction for pipeline entry points.
23421         Removed GstThread.
23422         Removed Schedulers.
23423         Simplified GstQueue for multithreaded core.
23424         Made _link threadsafe, removed old capsnego.
23425         Added STREAM_LOCK and PREROLL_LOCK in GstPad.
23426         Added pad blocking functions.
23427         Reworked scheduling functions in GstPad to prepare for
23428         scheduling updates soon.
23429         Moved events out of data stream.
23430         Simplified GstEvent types.
23431         Added return values to push/pull.
23432         Removed clocking from GstElement.
23433         Added prototypes for state change function for next merge.
23434         Removed iterate from bins and state change management.
23435         Fixed some elements, disabled others for now.
23436         Fixed -inspect and -launch.
23437         Added check for GstBus.
23438
23439 2005-03-10  Wim Taymans  <wim@fluendo.com>
23440
23441         * docs/design/part-MT-refcounting.txt:
23442         * docs/design/part-clocks.txt:
23443         * docs/design/part-gstelement.txt:
23444         * docs/design/part-gstobject.txt:
23445         * docs/design/part-standards.txt:
23446         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
23447         (gst_bin_remove_func), (gst_bin_remove):
23448         * gst/gstbin.h:
23449         * gst/gstbuffer.c:
23450         * gst/gstcaps.h:
23451         * testsuite/clock/clock1.c: (main):
23452         * testsuite/clock/clock2.c: (gst_clock_debug), (element_wait),
23453         (main):
23454         * testsuite/dlopen/loadgst.c: (do_test):
23455         * testsuite/refcounting/bin.c: (add_remove_test1),
23456         (add_remove_test2), (main):
23457         * testsuite/refcounting/element.c: (main):
23458         * testsuite/refcounting/element_pad.c: (main):
23459         * testsuite/refcounting/pad.c: (main):
23460         * tools/gst-launch.c: (sigint_handler_sighandler):
23461         * tools/gst-typefind.c: (main):
23462         Doc updates.
23463         Added doc about clock.
23464         removed gst_bin_iterate_recurse_up(), marked methods
23465         for removal.
23466         Fix more testsuites.
23467
23468 2005-03-09  Wim Taymans  <wim@fluendo.com>
23469
23470         * gst/gstpad.c: (gst_pad_get_direction),
23471         (_gst_pad_default_fixate_foreach), (gst_pad_collectv),
23472         (gst_pad_collect_valist):
23473         * testsuite/bins/interface.c: (main):
23474         * testsuite/caps/audioscale.c: (test_caps):
23475         * testsuite/caps/caps.c: (test1), (test2), (test3):
23476         * testsuite/caps/deserialize.c: (main):
23477         * testsuite/caps/enumcaps.c: (main):
23478         * testsuite/caps/filtercaps.c: (main):
23479         * testsuite/caps/intersect2.c: (main):
23480         * testsuite/caps/random.c: (main):
23481         * testsuite/caps/renegotiate.c: (my_fixate), (main):
23482         * testsuite/caps/sets.c: (check_caps):
23483         * testsuite/caps/simplify.c: (check_caps), (main):
23484         * testsuite/caps/subtract.c: (check_caps):
23485         Fix _pad_get_direction wrt ghostpads.
23486         Fix caps testsuite.
23487
23488 2005-03-09  Wim Taymans  <wim@fluendo.com>
23489
23490         * check/Makefile.am:
23491         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite), (main):
23492         * check/gst/gstsystemclock.c: (START_TEST), (gst_clock_debug),
23493         (ok_callback), (error_callback), (gst_systemclock_suite), (main):
23494         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func),
23495         (gst_bin_set_clock_func), (gst_bin_get_clock_func),
23496         (gst_bin_add_func), (gst_bin_add), (gst_bin_remove_func),
23497         (gst_bin_remove), (gst_bin_iterate_recurse_up),
23498         (bin_element_is_sink), (gst_bin_iterate_sinks),
23499         (gst_bin_iterate_all_by_interface):
23500         * gst/gstbin.h:
23501         * gst/gstelement.c: (gst_element_init), (gst_element_error_full),
23502         (gst_element_change_state), (gst_element_dispose),
23503         (gst_element_finalize), (gst_element_set_loop_function):
23504         * gst/gstelement.h:
23505         * gst/gstiterator.c: (find_custom_fold_func):
23506         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
23507         (gst_pad_collectv), (gst_pad_collect_valist),
23508         (gst_pad_template_new):
23509         * gst/gstpipeline.c: (gst_pipeline_class_init),
23510         (gst_pipeline_dispose), (gst_pipeline_set_property),
23511         (gst_pipeline_get_property), (gst_pipeline_get_clock_func),
23512         (gst_pipeline_get_clock), (gst_pipeline_use_clock),
23513         (gst_pipeline_set_clock), (gst_pipeline_auto_clock):
23514         * gst/gstutils.h:
23515         * gst/schedulers/entryscheduler.c:
23516         * gst/schedulers/gstbasicscheduler.c:
23517         (gst_basic_scheduler_cothreaded_chain),
23518         (gst_basic_scheduler_chain_add_element):
23519         * testsuite/bins/interface.c: (main):
23520         Added GstBin test.
23521         Added GstSystemClock test.
23522         Implemented clock distribution code in GstBin.
23523         Implemented iterate sinks method for future use.
23524         Rearranged gstelement.h
23525         Fix GstIterator comparison bug.
23526         Moved some code to GstPipeline, mostly clocking related.
23527
23528 2005-03-09  Wim Taymans  <wim@fluendo.com>
23529
23530         * configure.ac:
23531         * gst/gst_private.h:
23532         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
23533         (gst_bin_remove_func), (gst_bin_remove),
23534         (gst_bin_get_by_name_recurse_up):
23535         * gst/gstclock.c: (gst_clock_id_ref), (gst_clock_id_unref),
23536         (gst_clock_id_compare_func), (gst_clock_id_wait),
23537         (gst_clock_id_wait_async), (gst_clock_init),
23538         (gst_clock_adjust_unlocked), (gst_clock_get_time):
23539         * gst/gstelement.h:
23540         * gst/gstinfo.c: (_gst_debug_init):
23541         * gst/gstobject.h:
23542         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
23543         (gst_pad_collectv), (gst_pad_collect_valist), (gst_pad_query):
23544         * gst/gstpad.h:
23545         Bump version number, we're now 0.9.0
23546         Add future debugging category.
23547         Fix NULL _unref() in _get_by_name_recurse_up
23548         Rearrange gstpad.h.
23549         Update some docs.
23550
23551 2005-03-08  Wim Taymans  <wim@fluendo.com>
23552
23553         * gst/elements/gstaggregator.c: (gst_aggregator_class_init):
23554         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
23555         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
23556         * gst/elements/gstfdsink.c: (gst_fdsink_class_init):
23557         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init):
23558         * gst/elements/gstfilesink.c: (gst_filesink_class_init):
23559         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init):
23560         * gst/elements/gstidentity.c: (gst_identity_class_init):
23561         * gst/elements/gstmd5sink.c: (gst_md5sink_class_init):
23562         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
23563         * gst/elements/gstshaper.c: (gst_shaper_class_init):
23564         * gst/elements/gststatistics.c: (gst_statistics_class_init):
23565         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_getcaps),
23566         (gst_tee_link):
23567         * gst/gstelement.c: (gst_element_class_init),
23568         (gst_element_base_class_init), (gst_element_init),
23569         (gst_element_get_random_pad), (gst_element_wait_state_change),
23570         (gst_element_change_state), (gst_element_dispose),
23571         (gst_element_finalize), (gst_element_set_loop_function):
23572         * gst/gstelement.h:
23573         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_link_src):
23574         * gst/gstthread.c: (gst_thread_class_init),
23575         (gst_thread_release_children_locks), (gst_thread_change_state):
23576         * gst/schedulers/gstbasicscheduler.c:
23577         (gst_basic_scheduler_loopfunc_wrapper),
23578         (gst_basic_scheduler_chain_wrapper),
23579         (gst_basic_scheduler_src_wrapper),
23580         (gst_basic_scheduler_remove_element):
23581         * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
23582         Remove threadsafe properties. Fix elements because GObject
23583         complains when installing a property before declaring a
23584         set/get_property handler.
23585         Rearrange gstelement.h file, use STATE macros for state locks.
23586         Free mutexes in the finalize method instead of dispose.
23587
23588 2005-03-08  Wim Taymans  <wim@fluendo.com>
23589
23590         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
23591         * gst/gstthread.c: (gst_thread_release_children_locks):
23592         Added parentage check.
23593         Fix build og GstThread again.
23594
23595 2005-03-08  Wim Taymans  <wim@fluendo.com>
23596
23597         * docs/design/part-MT-refcounting.txt:
23598         * docs/design/part-conventions.txt:
23599         * docs/design/part-gstobject.txt:
23600         * docs/design/part-relations.txt:
23601         * docs/design/part-standards.txt:
23602         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
23603         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_iterate_recurse),
23604         (gst_bin_get_by_name), (gst_bin_get_by_interface),
23605         (gst_bin_iterate_all_by_interface):
23606         * gst/gstbuffer.h:
23607         * gst/gstclock.h:
23608         * gst/gstelement.c: (gst_element_class_init),
23609         (gst_element_change_state), (gst_element_set_loop_function):
23610         * gst/gstelement.h:
23611         * gst/gstiterator.c:
23612         * gst/gstobject.c: (gst_object_class_init), (gst_object_ref),
23613         (gst_object_unref), (gst_object_sink), (gst_object_dispose),
23614         (gst_object_dispatch_properties_changed), (gst_object_set_name),
23615         (gst_object_set_parent), (gst_object_unparent),
23616         (gst_object_check_uniqueness):
23617         * gst/gstobject.h:
23618         Docs updates, clean up some headers.
23619
23620 2005-03-07  Wim Taymans  <wim@fluendo.com>
23621
23622         * check/.cvsignore:
23623         * check/Makefile.am:
23624         * check/gst-libs/.cvsignore:
23625         * check/gst-libs/gdp.c: (START_TEST), (gst_object_suite), (main):
23626         * check/gst/.cvsignore:
23627         * check/gst/gstbus.c: (pound_bus_with_messages), (pull_messages),
23628         (START_TEST), (gstbus_suite), (main):
23629         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite), (main):
23630         * check/gst/gstdata.c: (START_TEST), (thread_ref), (thread_unref),
23631         (gst_data_suite), (main):
23632         * check/gst/gstiterator.c: (make_list_of_ints), (START_TEST),
23633         (add_fold_func), (gstiterator_suite), (main):
23634         * check/gst/gstobject.c: (gst_fake_object_get_type), (START_TEST),
23635         (thread_name_object), (thread_name_object_default),
23636         (gst_object_name_compare), (gst_object_suite), (main):
23637         * check/gst/gstpad.c: (START_TEST), (thread_link_unlink),
23638         (gst_pad_suite), (main):
23639         * check/gstcheck.c: (gst_check_log_message_func),
23640         (gst_check_log_critical_func), (gst_check_init):
23641         * check/gstcheck.h:
23642         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
23643         (run_pipeline), (START_TEST), (simple_launch_lines_suite), (main):
23644         Added checks.
23645
23646 2005-03-07  Wim Taymans  <wim@fluendo.com>
23647
23648         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
23649         (gst_list_iterator_next), (gst_list_iterator_resync),
23650         (gst_list_iterator_free), (gst_iterator_new_list),
23651         (gst_iterator_pop), (gst_iterator_next), (gst_iterator_resync),
23652         (gst_iterator_free), (gst_iterator_push), (filter_next),
23653         (filter_resync), (filter_uninit), (filter_free),
23654         (gst_iterator_filter), (gst_iterator_fold), (foreach_fold_func),
23655         (gst_iterator_foreach), (find_custom_fold_func),
23656         (gst_iterator_find_custom):
23657         * gst/gstiterator.h:
23658         Added missing files.
23659
23660 2005-03-07  Wim Taymans  <wim@fluendo.com>
23661
23662         * Makefile.am:
23663         * configure.ac:
23664         * docs/design/part-MT-refcounting.txt:
23665         * docs/design/part-conventions.txt:
23666         * docs/design/part-gstobject.txt:
23667         * docs/design/part-relations.txt:
23668         * examples/mixer/mixer.c: (main):
23669         * examples/thread/thread.c: (eos), (main):
23670         * gst/Makefile.am:
23671         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
23672         * gst/autoplug/gstspider.c: (gst_spider_identity_plug),
23673         (gst_spider_plug_from_srcpad):
23674         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps),
23675         (gst_spider_identity_change_state),
23676         (gst_spider_identity_sink_loop_type_finding):
23677         * gst/elements/gstfakesrc.c: (gst_fakesrc_loop):
23678         * gst/elements/gstidentity.c: (gst_identity_init):
23679         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_getcaps),
23680         (gst_tee_link), (gst_tee_request_new_pad), (gst_tee_chain):
23681         * gst/elements/gsttypefindelement.c: (free_entry):
23682         * gst/gst.c:
23683         * gst/gst.h:
23684         * gst/gstbin.c: (gst_bin_init), (gst_bin_get_clock_func),
23685         (gst_bin_set_clock_func), (gst_bin_auto_clock),
23686         (gst_bin_set_index), (gst_bin_set_element_sched),
23687         (gst_bin_unset_element_sched), (gst_bin_add_func), (gst_bin_add),
23688         (gst_bin_remove_func), (gst_bin_remove), (iterate_child),
23689         (gst_bin_iterate_elements), (iterate_child_recurse),
23690         (gst_bin_iterate_recurse), (gst_bin_dispose), (compare_name),
23691         (gst_bin_get_by_name), (gst_bin_get_by_name_recurse_up),
23692         (compare_interface), (gst_bin_get_by_interface),
23693         (gst_bin_iterate_all_by_interface), (gst_bin_iterate_func):
23694         * gst/gstbin.h:
23695         * gst/gstbuffer.c: (gst_buffer_get_type), (_gst_buffer_sub_free),
23696         (gst_buffer_default_free), (gst_buffer_default_copy),
23697         (gst_buffer_new), (gst_buffer_get_caps), (gst_buffer_set_caps),
23698         (gst_buffer_create_sub):
23699         * gst/gstbuffer.h:
23700         * gst/gstcaps.c: (gst_caps_get_type), (gst_caps_new_empty),
23701         (_gst_caps_free), (gst_caps_make_writable), (gst_caps_ref),
23702         (gst_caps_unref), (gst_static_caps_get),
23703         (gst_caps_remove_and_get_structure), (gst_caps_append),
23704         (gst_caps_append_structure), (gst_caps_remove_structure),
23705         (gst_caps_copy_nth), (gst_caps_set_simple),
23706         (gst_caps_set_simple_valist), (gst_caps_is_fixed_foreach),
23707         (gst_structure_is_equal_foreach), (gst_caps_is_subset),
23708         (gst_caps_structure_intersect_field), (gst_caps_intersect),
23709         (gst_caps_structure_subtract_field), (gst_caps_subtract),
23710         (gst_caps_normalize_foreach), (gst_caps_compare_structures),
23711         (gst_caps_structure_figure_out_union),
23712         (gst_caps_switch_structures), (gst_caps_do_simplify),
23713         (gst_caps_replace), (gst_caps_from_string),
23714         (gst_caps_copy_conditional):
23715         * gst/gstcaps.h:
23716         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_ref),
23717         (_gst_clock_id_free), (gst_clock_id_unref),
23718         (gst_clock_id_compare_func), (gst_clock_id_wait),
23719         (gst_clock_id_wait_async), (gst_clock_class_init),
23720         (gst_clock_init), (gst_clock_dispose), (gst_clock_adjust_unlocked),
23721         (gst_clock_get_time), (gst_clock_set_time_adjust),
23722         (gst_clock_set_property), (gst_clock_get_property):
23723         * gst/gstclock.h:
23724         * gst/gstcompat.h:
23725         * gst/gstcpu.c: (_gst_cpu_initialize_i386), (gst_cpu_get_flags):
23726         * gst/gstdata.c: (gst_data_is_writable), (gst_data_copy_on_write):
23727         * gst/gstdata.h:
23728         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
23729         (gst_element_requires_clock), (gst_element_provides_clock),
23730         (gst_element_set_clock), (gst_element_clock_wait),
23731         (gst_element_wait), (gst_element_set_time_delay),
23732         (gst_element_is_indexable), (gst_element_add_pad),
23733         (gst_element_add_ghost_pad), (gst_element_remove_pad),
23734         (pad_compare_name), (gst_element_get_static_pad),
23735         (gst_element_request_pad), (gst_element_get_request_pad),
23736         (gst_element_get_pad), (iterate_pad), (gst_element_iterate_pads),
23737         (gst_element_class_get_pad_template_list),
23738         (gst_element_class_get_pad_template), (gst_element_error_func),
23739         (gst_element_get_random_pad), (gst_element_get_event_masks),
23740         (gst_element_send_event), (gst_element_seek),
23741         (gst_element_get_query_types), (gst_element_query),
23742         (gst_element_get_formats), (gst_element_convert),
23743         (gst_element_is_locked_state), (gst_element_set_locked_state),
23744         (gst_element_sync_state_with_parent), (gst_element_change_state),
23745         (gst_element_finalize), (gst_element_yield),
23746         (gst_element_interrupt), (gst_element_set_scheduler),
23747         (gst_element_get_scheduler), (gst_element_set_loop_function):
23748         * gst/gstelement.h:
23749         * gst/gstevent.h:
23750         * gst/gstformat.c: (_gst_format_initialize), (gst_format_register),
23751         (gst_format_get_by_nick), (gst_format_get_details),
23752         (gst_format_iterate_definitions):
23753         * gst/gstformat.h:
23754         * gst/gstindex.c: (gst_index_gtype_resolver):
23755         * gst/gstinfo.c:
23756         * gst/gstinfo.h:
23757         * gst/gstmemchunk.c: (gst_mem_chunk_alloc), (gst_mem_chunk_alloc0),
23758         (gst_mem_chunk_free):
23759         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
23760         (gst_object_ref), (gst_object_unref), (gst_object_sink),
23761         (gst_object_replace), (gst_object_dispose), (gst_object_finalize),
23762         (gst_object_dispatch_properties_changed),
23763         (gst_object_set_name_default), (gst_object_set_name),
23764         (gst_object_get_name), (gst_object_set_name_prefix),
23765         (gst_object_get_name_prefix), (gst_object_set_parent),
23766         (gst_object_get_parent), (gst_object_unparent),
23767         (gst_object_check_uniqueness), (gst_object_save_thyself),
23768         (gst_object_restore_thyself), (gst_object_real_restore_thyself),
23769         (gst_object_set_property), (gst_object_get_property),
23770         (gst_object_get_path_string):
23771         * gst/gstobject.h:
23772         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
23773         (gst_real_pad_init), (gst_real_pad_get_property),
23774         (gst_pad_custom_new), (gst_pad_get_direction),
23775         (gst_pad_set_active), (gst_pad_is_active),
23776         (gst_pad_set_event_function), (gst_pad_is_linked),
23777         (gst_pad_link_free), (gst_pad_link_intersect),
23778         (gst_pad_link_fixate), (gst_pad_set_caps),
23779         (gst_pad_try_set_caps_nonfixed), (gst_pad_set_pad_template),
23780         (gst_pad_get_real_parent), (gst_pad_add_ghost_pad),
23781         (gst_pad_remove_ghost_pad), (_gst_pad_default_fixate_foreach),
23782         (gst_pad_link_unnegotiate), (gst_pad_proxy_fixate),
23783         (gst_pad_get_caps), (gst_pad_peer_get_caps),
23784         (gst_pad_get_pad_template_caps), (gst_pad_get_peer),
23785         (gst_pad_realize), (gst_pad_get_allowed_caps),
23786         (gst_real_pad_dispose), (gst_real_pad_finalize),
23787         (gst_pad_collectv), (gst_pad_collect_valist),
23788         (gst_pad_template_dispose), (gst_pad_template_new),
23789         (gst_pad_get_internal_links):
23790         * gst/gstpad.h:
23791         * gst/gstpipeline.c: (gst_pipeline_dispose),
23792         (gst_pipeline_change_state):
23793         * gst/gstpipeline.h:
23794         * gst/gstplugin.c:
23795         * gst/gstpluginfeature.c: (gst_plugin_feature_get_name),
23796         (gst_plugin_feature_set_rank), (gst_plugin_feature_get_rank):
23797         * gst/gstpluginfeature.h:
23798         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
23799         * gst/gstquery.c: (_gst_query_type_initialize),
23800         (gst_query_type_register), (gst_query_type_get_by_nick),
23801         (gst_query_type_get_details), (gst_query_type_iterate_definitions):
23802         * gst/gstquery.h:
23803         * gst/gstqueue.c: (gst_queue_link_sink), (gst_queue_link_src):
23804         * gst/gstscheduler.c: (gst_scheduler_add_element),
23805         (gst_scheduler_factory_create):
23806         * gst/gststructure.c: (gst_structure_set_parent_refcount),
23807         (gst_structure_free), (gst_structure_set_name),
23808         (gst_structure_id_set_value), (gst_structure_set_value),
23809         (gst_structure_set_valist), (gst_structure_remove_field),
23810         (gst_structure_remove_fields),
23811         (gst_structure_remove_fields_valist),
23812         (gst_structure_remove_all_fields), (gst_structure_foreach),
23813         (gst_structure_map_in_place),
23814         (gst_caps_structure_fixate_field_nearest_int),
23815         (gst_caps_structure_fixate_field_nearest_double):
23816         * gst/gststructure.h:
23817         * gst/gstsystemclock.c: (gst_system_clock_class_init),
23818         (gst_system_clock_init), (gst_system_clock_dispose),
23819         (gst_system_clock_async_thread),
23820         (gst_system_clock_id_wait_unlocked), (gst_system_clock_id_wait),
23821         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
23822         * gst/gstsystemclock.h:
23823         * gst/gsttag.c: (gst_tag_list_add_value_internal),
23824         (gst_tag_list_copy_foreach), (structure_foreach_wrapper):
23825         * gst/gsttaginterface.c:
23826         * gst/gstthread.c: (gst_thread_dispose),
23827         (gst_thread_release_children_locks), (gst_thread_change_state),
23828         (gst_thread_main_loop):
23829         * gst/gsttrashstack.h:
23830         * gst/gsttypefind.c: (gst_type_find_factory_dispose):
23831         * gst/gsttypes.h:
23832         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
23833         (gst_element_request_pad), (gst_element_get_pad_from_template),
23834         (gst_element_request_compatible_pad),
23835         (gst_element_get_compatible_pad_filtered),
23836         (gst_element_get_compatible_pad), (gst_element_state_get_name),
23837         (gst_element_link_pads_filtered), (gst_element_link_filtered),
23838         (gst_element_link_many), (gst_element_link),
23839         (gst_element_link_pads), (gst_element_unlink_pads),
23840         (gst_element_unlink_many), (gst_element_unlink),
23841         (gst_pad_can_link_filtered), (gst_pad_can_link),
23842         (gst_pad_use_fixed_caps), (gst_pad_get_fixed_caps_func),
23843         (gst_object_default_error), (gst_bin_add_many),
23844         (gst_bin_remove_many), (gst_element_populate_std_props),
23845         (gst_element_class_install_std_props), (gst_buffer_merge),
23846         (gst_buffer_stamp), (intersect_caps_func), (gst_pad_proxy_getcaps),
23847         (link_fold_func), (gst_pad_proxy_setcaps):
23848         * gst/gstutils.h:
23849         * gst/gstvalue.c: (gst_value_deserialize_string):
23850         * gst/parse/grammar.y:
23851         * gst/schedulers/gstbasicscheduler.c:
23852         (gst_basic_scheduler_cothreaded_chain),
23853         (gst_basic_scheduler_chain_recursive_add),
23854         (gst_basic_scheduler_pad_link):
23855         * gst/schedulers/gstoptimalscheduler.c:
23856         (get_group_schedule_function),
23857         (gst_opt_scheduler_state_transition),
23858         (gst_opt_scheduler_add_element), (element_get_reachables_func):
23859         * libs/gst/bytestream/bytestream.c:
23860         * libs/gst/dataprotocol/dataprotocol.c:
23861         (gst_dp_header_from_buffer):
23862         * po/nb.po:
23863         * po/ru.po:
23864         * tests/threadstate/threadstate2.c: (eos):
23865         * tools/gst-compprep.c: (main):
23866         * tools/gst-inspect.c: (print_field), (print_element_flag_info),
23867         (print_pad_info), (print_children_info):
23868         * tools/gst-launch.c: (idle_func), (main):
23869         * tools/gst-md5sum.c: (idle_func), (main):
23870         * tools/gst-xmlinspect.c: (print_element_info):
23871         First THREADED backport attempt, focusing on adding locks and
23872         making sure the API is threadsafe. Needs more work. More docs
23873         follow this week.
23874
23875 2005-02-24  Andy Wingo  <wingo@pobox.com>
23876
23877         * tests/bench-complexity.scm:
23878         * tests/complexity.gnuplot: New files, good for running complexity
23879         benchmarks.
23880
23881         * tests/Makefile.am:
23882         * tests/complexity.c: New test, sets up N elements, at each level
23883         teeing into M streams per element. Eeeenteresting.
23884
23885         * tests/mass_elements.gnuplot: gnuplot file for the mass_elements
23886         benchmark. Run as gnuplot mass_elements.gnuplot > foo.ps, after
23887         running bench-mass_elements.scm.
23888
23889         * tests/bench-mass_elements.scm: New script, runs mass_elements
23890         for various numbers of identities, outputting the results to a
23891         file. Requires guile 1.6. Just for testing.
23892
23893 2005-02-23  Thomas Vander Stichele  <thomas at apestaart dot org>
23894
23895         * gst/schedulers/fairscheduler.c:
23896           compile with debug disabled
23897
23898 2005-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
23899
23900         * configure.ac:
23901           hunting season on 0.9 is now OPEN