a03eccc4e5f56ddb4826b35d2b9fa7e56f05b18a
[platform/upstream/gstreamer.git] / ChangeLog
1 2007-07-03  Wim Taymans  <wim.taymans@gmail.com>
2
3         * plugins/elements/gsttee.c: (gst_tee_base_init),
4         (gst_tee_request_new_pad), (gst_tee_release_pad),
5         (gst_tee_find_buffer_alloc), (gst_tee_buffer_alloc),
6         (gst_tee_do_push), (clear_pads), (gst_tee_handle_buffer),
7         (gst_tee_chain):
8         Be a lot smarter when deciding what srcpad to use for proxying
9         the buffer_alloc. Also handle pad added/removed when doing so.
10         Fixes #357959.
11         Keep track of what pads we already pushed on in case we have pads
12         added/removed while pushing. Fixes #374639 
13
14         * tests/check/Makefile.am:
15         * tests/check/elements/tee.c: (handoff), (GST_START_TEST),
16         (tee_suite):
17         Added unit test for pad resync.
18
19 2007-07-01  Thomas Vander Stichele  <thomas at apestaart dot org>
20
21         * po/nl.po:
22         * po/sv.po:
23           Updated translations.
24
25 2007-07-01  Thomas Vander Stichele  <thomas at apestaart dot org>
26
27         translation by: Tommi Vainikainen <Tommi.Vainikainen@iki.fi>
28
29         * po/LINGUAS:
30         * po/fi.po:
31           Added new Finnish translation.
32
33 2007-06-28  Wim Taymans  <wim@fluendo.com>
34
35         * plugins/elements/gstmultiqueue.c: (apply_buffer),
36         (single_queue_overrun_cb):
37         When figuring out when a queue is filled, use our internal time estimate
38         based on segments, just like check_full does.
39
40 2007-06-27  Stefan Kost  <ensonic@users.sf.net>
41
42         * gst/gstminiobject.c: (gst_mini_object_get_type):
43           Remove 3 do-nothing methods.
44
45 2007-06-27  Wim Taymans  <wim@fluendo.com>
46
47         Patch by: Tim Angus <tim at ngus dot net>
48
49         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
50         (gst_capsfilter_set_property):
51         Take a reference instead of a copy when setting "caps".
52         Fix documentation to clarify this behaviour. Fixes #449414.
53
54 2007-06-27  Stefan Kost  <ensonic@users.sf.net>
55
56         * gst/gstindexfactory.c: (gst_index_factory_get_type):
57         * gst/gstplugin.c: (gst_plugin_init):
58         * gst/gstpluginfeature.c: (gst_plugin_feature_init):
59         * gst/gstquery.c: (gst_query_get_type):
60         * gst/gstregistry.c: (gst_registry_init):
61         * gst/gsturi.c: (gst_uri_handler_base_init):
62           Remove empty instance_init() functions to save relocs and lessen the
63           noise. Remove some of the function prototypes that are doubled by
64           G_DEFINE_TYPE.
65           
66 2007-06-27  Wim Taymans  <wim@fluendo.com>
67
68         Patch by: Étienne Noreau-Hébert <etienne at deepunder dot org>
69
70         * gst/gstghostpad.c: (gst_proxy_pad_save_thyself):
71         Add peer and direction in the XML serialisation of ghostpads.
72         Fixes #449226.
73
74 2007-06-26  Stefan Kost  <ensonic@users.sf.net>
75
76         * configure.ac:
77           Preserve useful information, thanks Tim.
78
79 2007-06-26  Jan Schmidt  <thaytan@noraisin.net>
80
81         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_init),
82         (gst_single_queue_flush), (apply_segment), (apply_buffer),
83         (gst_single_queue_push_one), (gst_multi_queue_loop),
84         (gst_multi_queue_sink_activate_push), (gst_multi_queue_sink_event),
85         (gst_multi_queue_src_activate_push), (wake_up_next_non_linked),
86         (compute_high_id), (gst_single_queue_new):
87         * plugins/elements/gstmultiqueue.h:
88         Take the multiqueue lock when updating the fill level so we don't get
89         confused. 
90
91         After applying a buffer or event on the src pad segment, make sure to
92         call gst_data_queue_limits_changed() to get the data queue to unblock
93         and check the filled state again.
94         
95         Rework the not-linked pad handling so the logic is that not-linked 
96         pads can push as fast as they like, but only so they never get 
97         ahead of any linked pads.
98
99         * tests/check/elements/multiqueue.c: (mq_sinkpad_to_srcpad),
100         (mq_dummypad_getcaps), (mq_dummypad_chain), (mq_dummypad_event),
101         (run_output_order_test), (GST_START_TEST), (multiqueue_suite):
102
103         Add a test to check that not-linked pads always stay behind
104         linked pads.
105
106         Fixes: #430682
107
108 2007-06-26  Jan Schmidt  <thaytan@mad.scientist.com>
109
110         * docs/random/release:
111           Some updates to the release procedure.
112
113 2007-06-26  Stefan Kost  <ensonic@users.sf.net>
114
115         * gst/gstelementfactory.c: (__gst_element_details_clear):
116           Microoptimization that saves stunning 80 bytes.
117
118 2007-06-25  Stefan Kost  <ensonic@users.sf.net>
119
120         * docs/plugins/gstreamer-plugins.args:
121         * docs/plugins/inspect/plugin-coreelements.xml:
122         * docs/plugins/inspect/plugin-coreindexers.xml:
123           Update docs with caps info.
124
125 2007-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
126
127         * po/it.po:
128           Updated Italian translation.
129
130 2007-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
131
132         * ChangeLog:
133         * po/vi.po:
134           Update Vietnamese translations.
135
136 2007-06-21  Tim-Philipp Müller  <tim at centricular dot net>
137
138         * libs/gst/base/gstbasesink.c:
139           Remove unused signal enum.
140
141 2007-06-21  Jan Schmidt  <thaytan@mad.scientist.com>
142
143         * docs/gst/gstreamer-sections.txt:
144         * gst/gstelement.c:
145         * gst/gstutils.c: (gst_type_register_static_full):
146         Beef up and include the docs for gst_type_register_static_full and
147         gst_element_class_set_details_simple and add the API keyword
148         in the ChangeLog.
149
150 2007-06-21  Jan Schmidt  <thaytan@mad.scientist.com>
151
152         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_set_property),
153         (update_time_level), (gst_single_queue_push_one),
154         (gst_multi_queue_chain), (gst_multi_queue_sink_event),
155         (single_queue_overrun_cb), (single_queue_underrun_cb),
156         (single_queue_check_full):
157         Fix setting max-* properties after adding queues.
158         Use IS_FILLED for checking visible items.
159         Signal overrun if multiple queues overrun.
160         Add extra debug output.
161         Patch by: Wim Taymans <wim@fluendo.com>
162
163 2007-06-21  Stefan Kost  <ensonic@users.sf.net>
164
165         * gst/gstelement.c: (gst_element_class_set_details_simple):
166         * gst/gstelement.h:
167         * gst/gstutils.c: (gst_type_register_static_full):
168         * gst/gstutils.h:
169         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_base_init):
170         * plugins/elements/gstfakesink.c: (gst_fake_sink_base_init):
171         * plugins/elements/gstfakesrc.c: (gst_fake_src_base_init):
172         * plugins/elements/gstfdsink.c: (gst_fd_sink_base_init):
173         * plugins/elements/gstfdsrc.c: (gst_fd_src_base_init):
174         * plugins/elements/gstfilesink.c: (gst_file_sink_base_init):
175         * plugins/elements/gstfilesrc.c: (gst_file_src_base_init):
176         * plugins/elements/gstidentity.c: (gst_identity_base_init):
177         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_base_init):
178         * plugins/elements/gstqueue.c: (gst_queue_base_init),
179         (apply_buffer), (gst_queue_chain):
180         * plugins/elements/gsttee.c: (gst_tee_base_init):
181         * plugins/elements/gsttypefindelement.c:
182         (gst_type_find_element_base_init),
183         (gst_type_find_element_class_init):
184           Saving relocations for GTypeInfo and GstElementDetails. Fixes #437457.
185           API: add gst_type_register_static_full
186           API: add gst_element_class_set_details_simple
187
188 2007-06-21  Tim-Philipp Müller  <tim at centricular dot net>
189
190         * docs/pwg/advanced-types.xml:
191           Fix typo in iana.org URI.
192
193 2007-06-19  Andy Wingo  <wingo@pobox.com>
194
195         * tests/check/pipelines/simple-launch-lines.c
196         (test_state_change_returns): Enable pull-mode tests now that
197         basesink has been fixed.
198
199         * libs/gst/base/gstbasesink.c (gst_base_sink_needs_preroll):
200         Changed from gst_base_sink_is_prerolled, reversing the sense of
201         the return value. Returns FALSE also if the sink is in pull mode,
202         in which case it needs no preroll.
203         (gst_base_sink_query, gst_base_sink_change_state): Update for
204         needs_preroll change.
205         (gst_base_sink_change_state): Add a case for READY_TO_PAUSED after
206         chaining up, in which we return SUCCESS directly if we activated
207         in pull mode instead of ASYNC. Involves countering an async_start
208         message sent before chaining up; not sure if this is correct, in
209         an ideal world we only send async-start when activating in push
210         mode.
211
212         * tests/check/pipelines/simple-launch-lines.c
213         (test_state_change_returns): New test, partially disabled until
214         basesink is fixed.
215
216 2007-06-19  Wim Taymans  <wim@fluendo.com>
217
218         * plugins/elements/gstmultiqueue.c: (apply_buffer),
219         (gst_multi_queue_sink_event):
220         Fix event leak.
221
222 2007-06-19  Wim Taymans  <wim@fluendo.com>
223
224         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
225         (gst_bin_change_state_func), (bin_push_state_continue),
226         (bin_handle_async_start), (bin_handle_async_done),
227         (gst_bin_handle_message_func):
228         Move the common code for posting state-change messages into
229         one function.
230         Broadcast the state signal after we posted the messages.
231         Mark the bin as busy when it's doing a state-change.
232         Make sure async-start/done messages don't interfere with the bin's
233         state when it's busy.
234         After the state change, let the bin check which elements completed the
235         state change while it was busy so that it can update its state.
236
237 2007-06-19  Jan Schmidt  <thaytan@mad.scientist.com>
238
239         * docs/random/release:
240         Add a note about updating the doap file to the release checklist
241
242 2007-06-18  Wim Taymans  <wim@fluendo.com>
243
244         * plugins/elements/gstmultiqueue.c: (apply_buffer),
245         (gst_single_queue_push_one), (gst_multi_queue_chain),
246         (gst_multi_queue_sink_event):
247         Make sure we don't reference the buffer/event after we have given away
248         ownership in the queue.
249
250 2007-06-18  Wim Taymans  <wim@fluendo.com>
251
252         * plugins/elements/gstmultiqueue.c: (gst_single_queue_flush),
253         (gst_multi_queue_chain), (gst_multi_queue_sink_event):
254         Update queue state _after_ adding the item in the queue because else we
255         could end up being full without the element added yet.
256
257 2007-06-18  Wim Taymans  <wim@fluendo.com>
258
259         * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
260         (gst_bin_remove_func), (gst_bin_get_state_func),
261         (gst_bin_element_set_state), (gst_bin_continue_func),
262         (bin_push_state_continue), (bin_handle_async_start),
263         (bin_handle_async_done), (gst_bin_handle_message_func):
264         * gst/gstbin.h:
265         Immediatly commit the toplevel bin state when receiving an async-done
266         message. This enables us to avoid spawning a thread to commit the state
267         in some common cases and it also avoids some races.
268         Avoid spawning a state thread when adding/removing async elements to a
269         toplevel bin. Instead we immediatly update the bin state.
270         Get rid of iterating all the children when getting the state in the bin
271         because it is now always up-to-date.
272         Fix bug where locked elements would always return _SUCCESS even it they
273         returned NO_PREROLL before being locked.
274         Fix the order of the state_change, async-start/done messages that was
275         sometimes incorrect.
276         Mark the state_dirty field as deprecated, we don't need it anymore as we
277         are always up-to-date.
278
279         * gst/gstelement.c: (gst_element_get_state_func),
280         (gst_element_continue_state):
281         Small debug inprovements.
282         Return the previous element state return when nothing is pending instead
283         of blindly returning SUCCESS.
284
285         * tests/check/generic/sinks.c: (GST_START_TEST), (pad_blocked_cb),
286         (gst_sinks_suite):
287         Add a whole bunch of new testcases.
288
289 2007-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
290
291         * po/uk.po:
292         * po/vi.po:
293           Update translations.
294
295 2007-06-15  Jan Schmidt  <thaytan@mad.scientist.com>
296
297         * gst/gstpad.c:
298         Fix typo in the docs.
299
300 2007-06-15  Wim Taymans  <wim@fluendo.com>
301
302         * docs/libs/gstreamer-libs-sections.txt:
303         Add docs for new methods.
304
305 2007-06-15  Wim Taymans  <wim@fluendo.com>
306
307         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_item_destroy),
308         (gst_multi_queue_item_new):
309         Don't use GSlice because we don't depend on >= 2.10 yet.
310
311 2007-06-15  Wim Taymans  <wim@fluendo.com>
312
313         * plugins/elements/gstmultiqueue.c: (gst_single_queue_flush),
314         (update_time_level), (apply_segment), (apply_buffer),
315         (gst_single_queue_push_one), (gst_multi_queue_item_new),
316         (gst_multi_queue_loop), (gst_multi_queue_sink_activate_push),
317         (gst_multi_queue_sink_event), (single_queue_overrun_cb),
318         (single_queue_underrun_cb), (single_queue_check_full):
319         Remove debug printf.
320
321 2007-06-15  Wim Taymans  <wim@fluendo.com>
322
323         * libs/gst/base/gstdataqueue.c: (gst_data_queue_cleanup),
324         (gst_data_queue_finalize), (gst_data_queue_locked_is_empty),
325         (gst_data_queue_set_flushing), (gst_data_queue_push),
326         (gst_data_queue_pop), (gst_data_queue_drop_head),
327         (gst_data_queue_limits_changed), (gst_data_queue_get_level):
328         * libs/gst/base/gstdataqueue.h:
329         Various cleanups.
330         Added methods to get the current levels and to inform the queue that the
331         'full' limits changed.
332
333         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_init),
334         (gst_multi_queue_finalize), (gst_multi_queue_set_property),
335         (gst_single_queue_flush), (update_time_level), (apply_segment),
336         (apply_buffer), (gst_single_queue_push_one),
337         (gst_multi_queue_item_steal_object),
338         (gst_multi_queue_item_destroy), (gst_multi_queue_item_new),
339         (gst_multi_queue_loop), (gst_multi_queue_chain),
340         (gst_multi_queue_sink_activate_push), (gst_multi_queue_sink_event),
341         (gst_multi_queue_getcaps), (gst_multi_queue_src_activate_push),
342         (gst_multi_queue_src_query), (single_queue_overrun_cb),
343         (single_queue_underrun_cb), (single_queue_check_full),
344         (gst_single_queue_new):
345         Keep track of time in the queue by measuring the difference between
346         running_time on input and output. This gives more accurate results and
347         can compensate for segments correctly.
348         Make a queue by default only 5 buffers deep. We will now increase the
349         buffer size depending on the filledness of the other queues.
350         Factor out commong flush code.
351         Make sure we don't add additional refcounts to buffers when we can avoid
352         it.
353         Propagate GstFlowReturn differently.
354         Use GSlice for intermediate GstMultiQueueItems.
355         Keep track of EOS.
356         Resize queues on over and underruns based on filled level of other
357         queues.
358         When checking if the queue is filled, prefer to measure in time if we
359         can and fall back to bytes when no time is known.
360
361         * plugins/elements/gstqueue.c:
362         Fix return value.
363
364 2007-06-15  Wim Taymans  <wim@fluendo.com>
365
366         * libs/gst/base/gstbasetransform.c:
367         (gst_base_transform_sink_event):
368         Work around the brokenness of the event vmethod in basetransform. Prefer
369         to return TRUE when the subclass returned FALSE (meaning don't forward
370         the event). 
371
372         * libs/gst/base/gstbasetransform.h:
373         Clarify the docs.
374
375 2007-06-15  Wim Taymans  <wim@fluendo.com>
376
377         * gst/gstpad.c: (gst_pad_push_event), (gst_pad_send_event):
378         * libs/gst/base/gstbasesrc.c: (gst_base_src_query_latency),
379         (gst_base_src_default_query), (gst_base_src_get_range),
380         (gst_base_src_start):
381         * tests/check/pipelines/parse-launch.c: (setup_pipeline):
382         Improve debugging.
383
384 2007-06-15  Stefan Kost  <ensonic@users.sf.net>
385
386         * docs/pwg/advanced-types.xml:
387           Added more formats to caps table.
388
389 2007-06-15  Stefan Kost  <ensonic@users.sf.net>
390
391         * tools/gst-launch.c: (main):
392           Remove crufy code. GOption does not need this workaround.
393
394 2007-06-14  Stefan Kost  <ensonic@users.sf.net>
395
396         * libs/gst/controller/gstcontroller.c:
397         (gst_controlled_property_set_interpolation_mode):
398           Fix wrong getter for enums in controller.
399
400 2007-06-14  Tim-Philipp Müller  <tim at centricular dot net>
401
402         * libs/gst/check/gstcheck.c: (gst_check_init):
403           Intercept criticals and warnings in the Gst-Phonon log domain, so
404           ASSERT_CRITICAL() etc. can be used in gst-phonon's unit tests as
405           well.
406         
407 2007-06-14  Edward Hervey  <edward@fluendo.com>
408
409         * gst/gstparamspecs.c: (_gst_param_fraction_validate):
410         Since this file doesn't include "gst.h" it will not go through the
411         macros that disable GST_LOG if debugging was disabled.
412
413 2007-06-14  Tim-Philipp Müller  <tim at centricular dot net>
414
415         * libs/gst/check/Makefile.am:
416         * libs/gst/check/gstcheck.h:
417         * pkgconfig/gstreamer-check-uninstalled.pc.in:
418         * pkgconfig/gstreamer-check.pc.in:
419           Ugly 'fix' for the controller unit test on the p5 bot: in
420           fail_unless_equals_float() check whether the values are 'almost
421           equal' by allowing a small absolute error, which should be good
422           enough for our use cases (normal numbers and values close to 0).
423           Proper fixage left to floating point arithmetic aficionados.
424
425 2007-06-14  Stefan Kost  <ensonic@users.sf.net>
426
427         * libs/gst/base/gstbasesink.c: (gst_base_sink_reset_qos),
428         (gst_base_sink_render_object), (gst_base_sink_get_position):
429           Add two breaks thats where missing.
430
431 2007-06-14  Tim-Philipp Müller  <tim at centricular dot net>
432
433         * docs/libs/gstreamer-libs-sections.txt:
434         * libs/gst/check/gstcheck.h:
435           API: add fail_unless_equals_float() and assert_equals_float().
436           Add documentation for some of the macros.
437
438         * tests/check/libs/controller.c: (GST_START_TEST):
439           Use newly-added asserts.
440
441 2007-06-14  Stefan Kost  <ensonic@users.sf.net>
442
443         * gst/gstpad.c: (gst_pad_alloc_buffer_full), (gst_pad_push):
444           Show the caps change in the log to help spotting the case of not
445           exactly matching caps.
446
447 2007-06-14  Tim-Philipp Müller  <tim at centricular dot net>
448
449         * docs/pwg/building-boiler.xml:
450           Fix typos, spotted by Thijs Vermeir (#447190).
451
452 2007-06-13  Jan Schmidt  <thaytan@mad.scientist.com>
453
454         * docs/plugins/tmpl/.cvsignore:
455         Ignore file to keep the buildbots happy
456
457 2007-06-13  Jan Schmidt  <thaytan@mad.scientist.com>
458
459         * docs/plugins/Makefile.am:
460         * docs/plugins/gstreamer-plugins-docs.sgml:
461         * docs/plugins/gstreamer-plugins-sections.txt:
462         Pull fdsink into the docs too.
463
464 2007-06-11  Sebastian Dröge  <slomo@circular-chaos.org>
465
466         * libs/gst/controller/gstinterpolation.c:
467         Actually use the new functions with min/max checks for the trigger and
468         none interpolation modes for get() and get_value_array() instead of
469         just the latter.
470
471 2007-06-10  Sebastian Dröge  <slomo@circular-chaos.org>
472
473         * libs/gst/controller/gstcontroller.c:
474         (gst_controlled_property_free):
475         Unset the minimum and maximum GValues when freeing the corresponding
476         GstControllerProperty struct.
477
478 2007-06-09  Sebastian Dröge  <slomo@circular-chaos.org>
479
480         * libs/gst/controller/gstcontroller.c:
481         (gst_controlled_property_new):
482         * libs/gst/controller/gstcontrollerprivate.h:
483         * libs/gst/controller/gstinterpolation.c:
484         (gst_controlled_property_find_control_point_node),
485         (interpolate_none_get), (interpolate_none_get_enum_value_array),
486         (interpolate_none_get_string_value_array),
487         (interpolate_trigger_get),
488         (interpolate_trigger_get_enum_value_array),
489         (interpolate_trigger_get_string_value_array):
490         Protect against values larger or smaller than the minimum or maximum
491         allowed value for the property when using values that can be compared.
492
493         Optimize trigger interpolator a bit by taking the last requested value
494         into account instead of always looping through the complete list.
495
496         Fix coding style a bit, everywhere else we use "return foo" instead
497         of "return (foo)".
498         
499         * tests/check/libs/controller.c: (GST_START_TEST),
500         (gst_controller_suite):
501         Add unit test for the protection against too large or too small
502         values.
503
504 2007-06-08  Sebastian Dröge  <slomo@circular-chaos.org>
505
506         * docs/random/slomo/controller.txt:
507         Add some thoughts about the future of the controller.
508
509 2007-06-08  Wim Taymans  <wim@fluendo.com>
510
511         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
512         Don't overflow in retimestamping code.
513
514 2007-06-07  Sebastien Moutte  <sebastien@moutte.net>
515
516         * libs/gst/controller/gstinterpolation.c: (DEFINE_CUBIC_GET):
517         Use gst_util_guint64_to_gdouble for conversions.
518         * win32/common/libgstreamer.def:
519         Add new exported functions.
520
521 2007-06-07  Tim-Philipp Müller  <tim at centricular dot net>
522
523         * gst/gstutils.c:
524           Small docs addition.
525
526 2007-06-07  Stefan Kost  <ensonic@users.sf.net>
527
528         * README:
529           Remove that test line again.
530
531 2007-06-07  Stefan Kost  <ensonic@users.sf.net>
532
533         * README:
534           Test commit mail sending.
535
536 2007-06-07  Stefan Kost  <ensonic@users.sf.net>
537
538         * configure.ac:
539           Fix typo and test commit mail sending.
540
541 2007-06-07  Stefan Kost  <ensonic@users.sf.net>
542
543         * tests/examples/controller/audio-example.c:
544           Improve comment and test commit mail sending.
545
546 2007-06-07  Wim Taymans  <wim@fluendo.com>
547
548         * gst/gstbin.c: (find_message), (bin_replace_message), (is_eos),
549         (gst_bin_remove_func), (gst_bin_element_set_state),
550         (bin_handle_async_start), (bin_handle_async_done),
551         (gst_bin_handle_message_func):
552         Add helper function to find messages.
553         Generate the async-done messages together with the state change
554         messages.
555         Small cleanups in handling toplevel bins.
556
557 2007-06-06  Tim-Philipp Müller  <tim at centricular dot net>
558
559         * libs/gst/base/gstdataqueue.c:
560         * libs/gst/base/gstdataqueue.h:
561         * plugins/elements/gstmultiqueue.c: (gst_single_queue_push_one),
562         (gst_multi_queue_item_new), (gst_multi_queue_chain),
563         (gst_multi_queue_sink_event):
564         * tests/check/elements/multiqueue.c: (multiqueue_suite):
565           Fix multiqueue leaking buffers and events when downstream or the
566           queue are flushing. Make refcounting assumptions explicit and
567           document them (shouldn't break existing code that uses it other than
568           maybe leak miniobjects, but that already happens anyway). Add unit
569           test for the most common flushing case. Fixes #423700.
570           
571 2007-06-06  Sebastian Dröge  <slomo@circular-chaos.org>
572
573         * libs/gst/controller/gstcontroller.c:
574         Clarify docs: The get_all, get_value_array(s) functions
575         don't modify the GObject properties.
576
577 2007-06-06  Sebastian Dröge  <slomo@circular-chaos.org>
578
579         * libs/gst/controller/gstcontroller.c:
580         (gst_controlled_property_set_interpolation_mode),
581         (gst_controlled_property_prepend_default),
582         (gst_controlled_property_new), (gst_controller_set_unlocked),
583         (gst_controller_set), (gst_controller_set_from_list),
584         (gst_controller_unset), (gst_controller_unset_all):
585         * libs/gst/controller/gstcontrollerprivate.h:
586         * libs/gst/controller/gstinterpolation.c:
587         Factor out the 'set' logic into gst_controller_set_unlocked for the
588         gst_controller_set and gst_controller_set_from_list functions.
589
590         To make life of the interpolators easier always add a control point
591         at timestamp zero with the default value.
592
593         In the linear interpolator make things more obvious by better variable
594         naming (slope).
595
596         Implement cubic interpolation mode (by using a natural cubic spline)
597         and map the quadratic interpolation mode to this too (as quadratic
598         doesn't make much sense, see discussion on the list).
599
600         * tests/check/libs/controller.c: (GST_START_TEST),
601         (gst_controller_suite):
602         Add unit test for the cubic interpolation mode and check everywhere
603         if the interpolation mode could be set as expected.
604
605 2007-06-06  Tim-Philipp Müller  <tim at centricular dot net>
606
607         * gst/gstparamspecs.c: (gst_param_spec_fraction_get_type):
608           Don't use GLib-2.10 functions, we still depend on
609           GLib-how-old-is-it-again-2.8.
610
611 2007-06-06  Tim-Philipp Müller  <tim at centricular dot net>
612
613         * docs/gst/gstreamer-sections.txt:
614         * gst/Makefile.am:
615         * gst/gst.c:
616         * gst/gst.h:
617         * gst/gstparamspecs.c: (_gst_param_fraction_init),
618         (_gst_param_fraction_set_default), (_gst_param_fraction_validate),
619         (_gst_param_fraction_values_cmp),
620         (gst_param_spec_fraction_get_type), (gst_param_spec_fraction):
621         * gst/gstparamspecs.h:
622         * gst/gstvalue.c:
623         * tests/check/Makefile.am:
624         * tests/check/gst/.cvsignore:
625         * tests/check/gst/gstparamspecs.c: (gst_dummy_obj_base_init),
626         (gst_dummy_obj_class_init), (gst_dummy_obj_init),
627         (gst_dummy_obj_set_property), (gst_dummy_obj_get_property),
628         (GST_START_TEST), (gst_param_spec_suite):
629           API: add GstParamSpecFraction, so elements can have fraction
630           properties without lots of painful string parsing (#444648).
631
632 2007-06-05  Wim Taymans  <wim@fluendo.com>
633
634         * gst/gstobject.c: (gst_object_class_init):
635         Fix signal signature.
636
637         * gst/gstsegment.c:
638         Add small clarification in the api docs.
639
640         * plugins/elements/gstfilesrc.c: (gst_file_src_set_location):
641         States are protected with object lock.
642
643 2007-06-05  Jan Schmidt  <thaytan@mad.scientist.com>
644
645         * AUTHORS:
646         I should probably be listed as an author by now.
647
648         * docs/random/release:
649         Update the release doc
650
651 2007-06-05  Tim-Philipp Müller  <tim at centricular dot net>
652
653         * gst/gstvalue.c:
654           Make docs for gst_value_compare() mention return enums that
655           actually exist.
656
657 2007-06-05  Jan Schmidt  <thaytan@mad.scientist.com>
658
659         * configure.ac:
660           Back to CVS
661
662 === release 0.10.13 ===
663
664 2007-06-05  Jan Schmidt <thaytan@mad.scientist.com>
665
666         * configure.ac:
667           releasing 0.10.13, "With or without you"
668
669 2007-05-25  Wim Taymans  <wim@fluendo.com>
670
671         * gst/gstbin.c: (bin_handle_async_done):
672         Make sure that the child bin stops after completing the async state
673         change so that the parent can continue the state change to PLAYING.
674         Fixes #441159.
675
676 2007-05-25  Wim Taymans  <wim@fluendo.com>
677
678         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
679         (unref_data), (gst_collect_pads_remove_pad),
680         (gst_collect_pads_check_pads):
681         Use additional refcounting to avoid crashes when dynamically adding and
682         removing pads. Fixes #420206.
683
684 2007-05-24  Wim Taymans  <wim@fluendo.com>
685
686         * tools/gst-launch.c: (event_loop):
687         When buffering goes from a two digit to a single digit number, make sure
688         to remove the old second digit by writing a blank over it.
689
690 2007-05-24  Tim-Philipp Müller  <tim at centricular dot net>
691
692         * libs/gst/base/gstdataqueue.c:
693           Eliminate tabs and trailing comma in enum list; fix some typos.
694
695 2007-05-24  Wim Taymans  <wim@fluendo.com>
696
697         * tests/check/gst/gstbin.c: (GST_START_TEST):
698         Allow refcount of 3 and 4 because some state thread might still be busy
699         with it.
700
701 2007-05-24  Tim-Philipp Müller  <tim at centricular dot net>
702
703         * plugins/elements/Makefile.am:
704         * plugins/elements/gstmultiqueue.h:
705         * plugins/elements/gstqueue.h:
706           These are not installed headers, no need for padding.
707
708 2007-05-24  Wim Taymans  <wim@fluendo.com>
709
710         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
711         (gst_bin_continue_func):
712         Enable latency for next release.
713         Restore STATE_LOCK around recalc_state that was left out during the
714         rewrite and could result in racy behaviour when _get_state and
715         recalc_state are run concurrently. See #440463.
716
717 2007-05-23  Wim Taymans  <wim@fluendo.com>
718
719         * tests/check/gst/gstsystemclock.c: (store_callback),
720         (GST_START_TEST):
721         Improve test_async_order to also work when both timers are already
722         expired when we get scheduled to check it.
723
724 2007-05-22  Tim-Philipp Müller  <tim at centricular dot net>
725
726         * gst/gstbin.c: (gst_bin_init), (gst_bin_dispose),
727         (gst_bin_set_property), (gst_bin_get_property),
728         (gst_bin_remove_func), (gst_bin_handle_message_func):
729         * gst/gstbin.h:
730           'private' is a c++ keyword, let's not use that in header files,
731           otherwise c++ compilers will throw a tantrum.
732
733 2007-05-22  Tim-Philipp Müller  <tim at centricular dot net>
734
735         * plugins/elements/gstelements.c:
736         * plugins/elements/gstfilesink.c: (gst_file_sink_do_seek),
737         (gst_file_sink_get_current_offset):
738         * plugins/indexers/gstindexers.c: (plugin_init):
739           Use #ifdef for HAVE_XYZ for consistency.
740
741         * tests/check/Makefile.am:
742         * tests/check/elements/.cvsignore:
743         * tests/check/elements/filesink.c: (setup_filesink),
744         (cleanup_filesink), (GST_START_TEST), (filesink_suite):
745           Add some unit tests for filesink.
746
747 2007-05-22  Tim-Philipp Müller  <tim at centricular dot net>
748
749         Patch by: Mark Nauwelaerts <manauw at skynet be>
750
751         * plugins/elements/gstfilesink.c: (gst_file_sink_open_file),
752         (gst_file_sink_query), (gst_file_sink_do_seek),
753         (gst_file_sink_get_current_offset), (gst_file_sink_render):
754         * plugins/elements/gstfilesink.h:
755           Fix position reporting; rename data_written member to current_pos to
756           reflect its real meaning (fixes #412648).
757
758 2007-05-22  Edward Hervey  <edward@fluendo.com>
759
760         * docs/gst/gstreamer-sections.txt:
761         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
762         (gst_bin_dispose), (gst_bin_set_property), (gst_bin_get_property),
763         (gst_bin_remove_func), (gst_bin_handle_message_func):
764         * gst/gstbin.h:
765         Add a property for bins that handle the state change of their childs.
766         Fixes #435880
767
768 2007-05-22  Sebastian Dröge  <slomo@circular-chaos.org>
769
770         * libs/gst/controller/gstinterpolation.c:
771         Use an array of the correct type when using _get_value_array with
772         linear interpolation.
773
774 2007-05-22  Stefan Kost  <ensonic@users.sf.net>
775
776         * gst/gstelement.c (gst_element_requires_clock,
777           gst_element_provides_clock, gst_element_request_pad,
778           gst_element_class_set_details, gst_element_class_set_details_simple,
779           gst_element_default_send_event, gst_element_abort_state,
780           gst_element_continue_state, gst_element_set_state,
781           gst_element_set_state_func, iterator_activate_fold_with_resync):
782         * gst/gstpad.c (gst_pad_activate_pull, gst_pad_set_getcaps_function,
783           gst_pad_fixate_caps, gst_pad_configure_sink, gst_pad_configure_src,
784           gst_pad_query, gst_pad_save_thyself, handle_pad_block, gst_pad_push,
785           gst_pad_get_range, gst_pad_pull_range):
786         * gst/gstpad.h (GST_PAD_LINK_SUCCESSFUL, GST_FLOW_CUSTOM_SUCCESS,
787           GST_FLOW_NOT_SUPPORTED, GST_FLOW_IS_FATAL, GstPadActivateFunction,
788           GstPadActivateModeFunction, GstPadChainFunction,
789           GstPadGetCapsFunction, GstPadAcceptCapsFunction,
790           GstPadFixateCapsFunction, GstPadTemplate):
791         * gst/gstpipeline.c (gst_pipeline_change_state,
792           gst_pipeline_set_new_stream_time, gst_pipeline_use_clock,
793           gst_pipeline_set_clock, gst_pipeline_auto_clock,
794           gst_pipeline_get_delay):
795           Whitespace and docs fixes.
796
797 2007-05-21  Sebastian Dröge  <slomo@circular-chaos.org>
798
799         * libs/gst/controller/gstinterpolation.c:
800         (interpolate_trigger_get_enum_value_array),
801         (interpolate_trigger_get_string_value_array):
802         Add support for retrieving value arrays when using the trigger
803         interpolation mode. 
804
805 2007-05-21  Sebastian Dröge  <slomo@circular-chaos.org>
806
807         * libs/gst/controller/gstcontroller.c:
808         (gst_controller_get_value_array):
809         * libs/gst/controller/gstcontroller.h:
810         Clarify the docs of gst_controller_get_value_array(): The array where
811         the values should be written to must be allocated as there seems to be
812         no way to get the size of a random GType. This doesn't change any
813         behaviour. Also fix some typos all over the place and remove an unused,
814         commented function that is not necessary as g_object_set() could be
815         used instead.
816         * tests/check/libs/controller.c: (GST_START_TEST),
817         (gst_controller_suite):
818         Add unit test for gst_controller_get_value_array().
819
820 2007-05-21  Jan Schmidt  <thaytan@mad.scientist.com>
821
822         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
823
824         Disable part of the gst_buffer_try_new_and_alloc test, because
825         it can happily succeed on 64-bit systems where there's more address
826         space available.
827
828 2007-05-21  Sebastian Dröge  <slomo@circular-chaos.org>
829
830         * tests/check/gst/gstpad.c: (GST_START_TEST), (gst_pad_suite):
831         Add unit test for the improved caps checking from bug #421543.
832
833 2007-05-21  Wim Taymans  <wim@fluendo.com>
834
835         * docs/design/part-synchronisation.txt:
836         Small addition.
837
838         * gst/gstbin.c: (gst_bin_query):
839         * plugins/elements/gstqueue.c: (apply_segment):
840         Improve debugging.
841
842         * gst/gstmessage.h:
843         Improve docs.
844
845 2007-05-21  Wim Taymans  <wim@fluendo.com>
846
847         * gst/gstpad.c: (gst_pad_get_caps_unlocked),
848         (gst_pad_acceptcaps_default), (gst_pad_configure_sink),
849         (gst_pad_configure_src):
850         Added simple version of improved caps checking. It was previously
851         assumed that a setcaps function would check the validity of the caps but
852         people prefer us to check caps against the template automatically. 
853         Fixes #421543.
854
855 2007-05-21  Wim Taymans  <wim@fluendo.com>
856
857         * libs/gst/base/gstbasetransform.h:
858         Fix macro for locking/unlocking the transform lock.
859
860 2007-05-19  Tim-Philipp Müller  <tim at centricular dot net>
861
862         * docs/plugins/tmpl/.cvsignore:
863           Ignore more.
864
865 2007-05-18  Edward Hervey  <edward@fluendo.com>
866
867         * plugins/elements/gstqueue.c: (gst_queue_loop):
868         Hello, I am Mr Taymans' personal debugger. Today I will introduce a fix
869         for the subtle art of warning a potentially blocking thread that it
870         should check the source pad return value, and relay the information
871         upstream.
872
873 2007-05-18  Edward Hervey  <edward@fluendo.com>
874
875         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event):
876         Release the queue lock !
877
878 2007-05-17  Sebastian Dröge  <slomo@circular-chaos.org>
879
880         * docs/libs/gstreamer-libs-sections.txt:
881         Add the two new controller functions to the appropiate places.
882
883 2007-05-17  Sebastian Dröge  <slomo@circular-chaos.org>
884
885         reviewed by: Stefan Kost <ensonic@users.sf.net>
886
887         * libs/gst/controller/gstcontroller.c:
888         (gst_controller_suggest_next_sync), (gst_controller_sync_values),
889         (_gst_controller_get_property), (_gst_controller_set_property),
890         (_gst_controller_init), (_gst_controller_class_init):
891         * libs/gst/controller/gstcontroller.h:
892         * libs/gst/controller/gsthelper.c: (gst_object_suggest_next_sync),
893         (gst_object_get_control_rate), (gst_object_set_control_rate):
894         API: gst_controller_suggest_next_sync(), gst_object_suggest_next_sync()
895         Add API that provides sync suggestion timestamps for elements that
896         call gst_object_sync_values() from which those elements can subdivide
897         their processing loop to get the best results for the controlled
898         properties. For now it just suggests last_sync + control_rate as
899         new timestamp but this will be improved in the future.
900
901         While doing that change the control-rate property to a GstClockTime
902         from guint and change it's meaning from samples to nanoseconds as
903         the GstController doesn't know anything about sampling rate. Strictly
904         speaking this breaks ABI but as the control-rate property didn't do
905         anything in the past and as such couldn't be used this should be no
906         problem.        
907
908 2007-05-17  Sebastian Dröge  <slomo@circular-chaos.org>
909
910         reviewed by: Stefan Kost <ensonic@users.sf.net>
911
912         * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
913         (gst_controller_unset_all):
914         * libs/gst/controller/gstcontrollerprivate.h:
915         * libs/gst/controller/gstinterpolation.c:
916         (gst_controlled_property_find_control_point_node):
917         Save last synced value from the list to continue searching from there
918         in future syncs. This speeds everything up a bit.
919         
920 2007-05-17  Sebastian Dröge  <slomo@circular-chaos.org>
921
922         reviewed by: Stefan Kost <ensonic@users.sf.net>
923
924         * libs/gst/controller/gstcontroller.c: (gst_control_point_compare),
925         (gst_control_point_find), (gst_controlled_property_new),
926         (gst_control_point_free), (gst_controlled_property_free),
927         (gst_controller_set), (gst_controller_set_from_list),
928         (gst_controller_unset), (gst_controller_unset_all),
929         (gst_controller_sync_values):
930         * libs/gst/controller/gstcontroller.h:
931         * libs/gst/controller/gstcontrollerprivate.h:
932         * libs/gst/controller/gstinterpolation.c:
933         (gst_controlled_property_find_control_point_node),
934         (interpolate_none_get), (interpolate_trigger_get):
935         Add a new private GstControlPoint struct which "inherits" from
936         GstTimedValue to allow different interpolators to store internal
937         values next to each control point. From the outside everything is
938         still a GstControlPoint so we don't loose binary compatibility.
939         Also fixup all the GValue handling to not leak GValues or list nodes.
940         * tests/check/libs/controller.c: (GST_START_TEST):
941         Free the list nodes and GValues in the controller_misc test.
942
943 2007-05-17  Edward Hervey  <edward@fluendo.com>
944
945         * gst/gstsegment.c:
946         Small doc fix.
947
948 2007-05-16  Tim-Philipp Müller  <tim at centricular dot net>
949
950         * gst/gstplugin.c: (gst_plugin_load_file):
951           If we fail to load a plugin because of unresolved symbols or missing
952           libraries and spew a warning to stderr, we may just as well mention
953           which plugin it was that failed to load.
954
955 2007-05-13  David Schleef  <ds@schleef.org>
956
957         * docs/Makefile.am: the gtk-doc makefile snippet correctly
958           handles the case when ENABLE_GTK_DOC is false, and installs
959           the prebuilt documentation.  So gtk-doc subdirs are 
960           unconditionally enabled.  Fixes: #349099.
961
962 2007-05-13  David Schleef  <ds@schleef.org>
963
964         * gst/gstutils.h: Reword some documentation.
965
966 2007-05-12  David Schleef  <ds@schleef.org>
967
968         * gst/gstplugin.c: gst_plugin_register_func() doesn't actually
969           do anything with the passed "module" parameter, so remove it.
970           Allows removal of additional vestigal code.
971
972 2007-05-12  David Schleef  <ds@schleef.org>
973
974         * gst/gstplugin.c:
975           Using sigaction should depend on HAVE_SIGACTION, not HAVE_WIN32.
976           Switch to using g_stat() because it's more portable.
977
978 2007-05-12  David Schleef  <ds@schleef.org>
979
980         * gst/gst.c:
981           Add GST_DISABLE_OPTION_PARSING, in order to disable option
982           parsing for embedded systems.
983         * gst/gstelementfactory.c:
984           Allow gst_element_register() to be called with plugin==NULL.
985           Did nobody notice that static elements were broken?
986
987 2007-05-12  Wim Taymans  <wim@fluendo.com>
988
989         * tools/gst-launch.c: (event_loop):
990         Give more interesting info when buffering starts and stops.
991         Fix case where buffering starts but we fail to update the buffering flag
992         because the target state is not PLAYING.
993
994 2007-05-12  Wim Taymans  <wim@fluendo.com>
995
996         * plugins/elements/gstqueue.c: (gst_queue_init),
997         (gst_queue_finalize), (update_time_level), (apply_segment),
998         (apply_buffer), (gst_queue_locked_flush),
999         (gst_queue_locked_enqueue), (gst_queue_locked_dequeue),
1000         (gst_queue_handle_sink_event), (gst_queue_chain),
1001         (gst_queue_push_one), (gst_queue_loop):
1002         * plugins/elements/gstqueue.h:
1003         Refactor an cleanup queue a bit.
1004         Do better time level calculations that also work when the srcpad is not
1005         yet running.
1006         Remove some unneeded debug lines.
1007
1008         * tests/check/elements/queue.c: (GST_START_TEST), (queue_suite):
1009         Added testcase for time level measurement.
1010         Try to make some stuff more racefree.
1011
1012 2007-05-11  Tim-Philipp Müller  <tim at centricular dot net>
1013
1014         * gst/gsturi.c: (gst_element_make_from_uri):
1015           Don't leak plugin feature.
1016
1017         * tests/check/Makefile.am:
1018         * tests/check/gst/.cvsignore:
1019         * tests/check/gst/gsturi.c: (GST_START_TEST), (gst_uri_suite):
1020           Add brain-dead unit test.
1021
1022 2007-05-11  Tim-Philipp Müller  <tim at centricular dot net>
1023
1024         Patch by: Jeroen Wouters <woutersj at gmail com>
1025
1026         * gst/gsturi.c: (gst_uri_get_protocol), (search_by_entry):
1027           Treat protocol strings in a case-insensitive way (#437563).
1028
1029 2007-05-11  Michael Smith <msmith@fluendo.com>
1030
1031         * gst/gstplugin.c: (gst_plugin_load_file):
1032         * gst/gstregistry.c: (gst_registry_scan_path_level):
1033           Don't print a g_warning for any failure to load a shared object.
1034           Instead, push this down into gstplugin.c, and warn _only_ if we
1035           failed to open the module (i.e. failure to link).
1036           Avoids warnings on normal, working, non-plugin .so files.
1037
1038 2007-05-11  Stefan Kost  <ensonic@users.sf.net>
1039
1040         * gst/gstplugin.c (gst_plugin_load_file):
1041         * gst/gstregistry.c (GST_CAT_DEFAULT,
1042           gst_registry_lookup_feature_locked, gst_registry_scan_path_level):
1043           Print a g_warning if there was an error when loading a plugins during
1044           registry scan. The shuld help beginners starting with gst-plugin
1045           template.
1046
1047 2007-05-10  Wim Taymans  <wim@fluendo.com>
1048
1049         * plugins/elements/gstqueue.c: (gst_queue_class_init),
1050         (update_time_level), (gst_queue_locked_flush),
1051         (gst_queue_handle_sink_event), (gst_queue_chain),
1052         (gst_queue_push_one), (gst_queue_loop):
1053         * plugins/elements/gstqueue.h:
1054         Be smarter when calculating the current amount of data in the queue by
1055         measuring the difference between start and end timestamps (in running
1056         time) inside the queue. Fixes #432876.
1057         API: GstQueue::pushing to notify elements that we are pushing data again
1058         since the running signal is rather broken for this purpose.
1059
1060 2007-05-10  Stefan Kost  <ensonic@users.sf.net>
1061
1062         * plugins/elements/gstqueue.c (_do_init, gst_queue_signals,
1063           gst_queue_base_init, gst_queue_init):
1064           use GST_BOILERPLATE
1065
1066 2007-05-09  Sebastien Moutte  <sebastien@moutte.net>
1067
1068         * win32/common/libgstreamer.def:
1069         Add new exported functions.
1070         * win32/vs6/grammar.dsp:
1071         Use grammar pre-generated files.
1072
1073 2007-05-09  Tim-Philipp Müller  <tim at centricular dot net>
1074
1075         Based on patch by: Peter Kjellerstedt  <pkj at axis com>
1076
1077         * gst/Makefile.am:
1078         * gst/gstparse.c: (gst_parse_launchv), (gst_parse_launch):
1079         * gst/gstparse.h:
1080         * gst/gstutils.c: (gst_parse_bin_from_description):
1081         * gst/gstutils.h:
1082           Maintain API and ABI when --disable-parse is used. Now that
1083           we have an appropriate error code, we can just return NULL and the
1084           appropriate error when gst_parse_launch() is used despite it having
1085           been disabled (#342564).
1086
1087         * tests/check/Makefile.am:
1088         * tests/check/pipelines/.cvsignore:
1089         * tests/check/pipelines/parse-disabled.c:
1090           Make sure these functions exist and return NULL plus a GError when
1091           --disable-parse is used.
1092
1093 2007-05-09  Tim-Philipp Müller  <tim at centricular dot net>
1094
1095         * tests/benchmarks/complexity.c: (main):
1096         * tests/benchmarks/mass-elements.c: (main):
1097           Set a good example and don't leak messages.
1098
1099 2007-05-06  Stefan Kost  <ensonic@users.sf.net>
1100
1101         * docs/gst/Makefile.am:
1102         * docs/libs/Makefile.am:
1103           Correct fixxrefs options.
1104
1105         * docs/plugins/Makefile.am:
1106         * docs/plugins/gstreamer-plugins-docs.sgml:
1107         * docs/plugins/gstreamer-plugins-sections.txt:
1108         * plugins/elements/Makefile.am:
1109         * plugins/elements/gstcapsfilter.c (gst_capsfilter_details):
1110         * plugins/elements/gstcapsfilter.h (__GST_CAPSFILTER_H__,
1111           GST_TYPE_CAPSFILTER, GST_CAPSFILTER, GST_CAPSFILTER_CLASS,
1112           GST_IS_CAPSFILTER, GST_IS_CAPSFILTER_CLASS, GstCapsFilter,
1113           GstCapsFilterClass, _GstCapsFilter, trans, filter_caps,
1114           _GstCapsFilterClass, trans_class):
1115         * plugins/elements/gstelements.c (name, rank, type, _elements):
1116         * plugins/elements/gstidentity.c
1117           (gst_identity_check_imperfect_timestamp,
1118           gst_identity_check_imperfect_offset):
1119           Document capsfilter and add doc-blurb to identity.
1120
1121 2007-05-04  Tim-Philipp Müller  <tim at centricular dot net>
1122
1123         * libs/gst/controller/gstcontroller.c:
1124         (gst_controlled_property_set_interpolation_mode):
1125         * libs/gst/controller/gstinterpolation.c:
1126           Don't crash if someone tries to set an interpolation mode that
1127           is invalid or that isn't supported yet. Fixes #422295.
1128
1129         * tests/check/libs/controller.c: (GST_START_TEST),
1130         (gst_controller_suite):
1131           Add a test case for the above.
1132
1133 2007-05-03  Edward Hervey  <edward@fluendo.com>
1134
1135         * libs/gst/base/gstbasetransform.c: (gst_base_transform_chain):
1136         Properly set the last_stop position on GstSegment. This will only happen
1137         if there is a buffer to push out.
1138
1139 2007-05-03  Wim Taymans  <wim@fluendo.com>
1140
1141         * libs/gst/base/gstbasetransform.c:
1142         (gst_base_transform_buffer_alloc):
1143         always_in_place does not mean that the sink and source caps are the
1144         same! Make sure we don't blindly proxy the buffer_alloc in this case.
1145
1146 2007-05-03  Wim Taymans  <wim@fluendo.com>
1147
1148         * docs/libs/gstreamer-libs-sections.txt:
1149         * libs/gst/base/gstbasesrc.c: (gst_base_src_query_latency),
1150         (gst_base_src_default_query), (gst_base_src_get_range):
1151         * libs/gst/base/gstbasesrc.h:
1152         API: gst_base_src_query_latency(). Added method so that subclasses can
1153         easily get the latency values of the base source class.
1154
1155 2007-05-02  Zaheer Abbas Merali  <<zaheerabbas at merali dot org>>
1156
1157         * tools/gst-inspect.c (print_implementation_info):
1158         Remove 0.8 cruft.
1159
1160 2007-05-02  Tim-Philipp Müller  <tim at centricular dot net>
1161
1162         * tools/Makefile.am:
1163         * tools/gst-launch.1.in:
1164           Don't create a customised man page based on the host architecture,
1165           describe the default registry path generically. That way the man
1166           page is the same for all architectures and packagers have one
1167           multilib issue less to deal with. Fixes #434926.
1168
1169 2007-05-02  Wim Taymans  <wim@fluendo.com>
1170
1171         * gst/gstpad.c:
1172         Fix documentation as spotted by rg on IRC. 
1173
1174 2007-04-29  Stefan Kost  <ensonic@users.sf.net>
1175
1176         * gst/gstutils.c:
1177           Improve docs for gst_element_{link,unlink}.
1178
1179 2007-04-28  Tim-Philipp Müller  <tim at centricular dot net>
1180
1181         * docs/design/part-events.txt:
1182         * docs/design/part-overview.txt:
1183         * gst/gstevent.c:
1184         * gst/gsturi.c:
1185         * gst/gsturi.h:
1186         * libs/gst/base/gstbasesink.c:
1187           Typo fixes; minor docs addition.
1188
1189 2007-04-27  Sebastian Dröge  <slomo@circular-chaos.org>
1190
1191         * docs/gst/gstreamer-sections.txt:
1192         * gst/gsturi.c: (get_element_factories_from_uri_protocol),
1193         (gst_uri_protocol_is_supported), (gst_element_make_from_uri):
1194         * gst/gsturi.h:
1195         API: Add gst_uri_protocol_is_supported(), which checks if a sink
1196         or src that supports a given URI protocol exists.
1197
1198 2007-04-27  Sebastian Dröge  <slomo@circular-chaos.org>
1199
1200         * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
1201         * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
1202         Set the location to NULL if "file://" is set as URI. Otherwise
1203         some random previous URI would still be set if "file://" is
1204         set on an already used filesink/filesrc.
1205
1206 2007-04-27  Sebastian Dröge  <slomo@circular-chaos.org>
1207
1208         * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
1209         * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
1210         Special case the "file://" URI as as this is used by some
1211         applications to test with gst_element_make_from_uri if there's
1212         an element that supports the URI protocol.
1213         Also move the g_path_is_absolute() check for the location part
1214         of the URI to also check this for "file://localhost/bla" URIs.
1215
1216 2007-04-26  Tim-Philipp Müller  <tim at centricular dot net>
1217
1218         * docs/gst/gstreamer-sections.txt:
1219         * gst/gstbuffer.c: (gst_buffer_try_new_and_alloc):
1220         * gst/gstbuffer.h:
1221         * tests/check/gst/gstbuffer.c: (GST_START_TEST),
1222         (gst_buffer_suite):
1223           API: add gst_buffer_try_new_and_alloc() plus unit test (#431940).
1224
1225 2007-04-26  Stefan Kost  <ensonic@users.sf.net>
1226
1227         * gst/gstregistrybinary.c: (gst_registry_binary_write_cache),
1228         (gst_registry_binary_load_pad_template),
1229         (gst_registry_binary_load_plugin),
1230         (gst_registry_binary_read_cache):
1231         * gst/gstregistrybinary.h:
1232           Implement no-mmap alternative for registry reading. Do code cleanups.
1233           Add more comments about avoiding strdups for all text data. Comments
1234           welcome.
1235
1236 2007-04-25  Stefan Kost  <ensonic@users.sf.net>
1237
1238         * gst/gstregistrybinary.h (GstBinaryPluginElement,
1239           GstBinaryPluginFeature, _GstBinaryElementFactory, plugin_feature,
1240           GstBinaryElementFactory, _GstBinaryTypeFindFactory, plugin_feature):
1241           Comment structs and reformat to fix the build (that stuff should go
1242           into a priv. header).
1243
1244 2007-04-25  Stefan Kost  <ensonic@users.sf.net>
1245
1246         * gst/gstregistrybinary.c: (gst_registry_binary_save_feature),
1247         (gst_registry_binary_load_feature):
1248         * gst/gstregistrybinary.h:
1249           Refactor so that we can implement multiple features. Add support for
1250           TypeFindFactory features.
1251
1252 2007-04-24  Stefan Kost  <ensonic@users.sf.net>
1253
1254         Patch by: Peter Kjellerstedt <Peter.Kjellerstedt@axis.com>
1255
1256         * configure.ac:
1257           Fix AM_CONDITIONAL(GST_DISABLE_GST_DEBUG,...) and update comment.
1258
1259 2007-04-23  Stefan Kost  <ensonic@users.sf.net>
1260
1261         * gst/gstbin.c: (gst_bin_element_set_state),
1262         (iterator_activate_fold_with_resync), (gst_bin_continue_func),
1263         (bin_handle_async_done), (gst_bin_handle_message_func):
1264           Fix build with --gst-disable-gst-debug
1265
1266 2007-04-21  Tim-Philipp Müller  <tim at centricular dot net>
1267
1268         * libs/gst/base/gstbasetransform.c: (gst_base_transform_activate):
1269           Make sure streaming has finished before calling the ::stop() vfunc,
1270           since that vfunc might clear state which is being used in the
1271           streaming thread. This fixes a race that caused crashes in
1272           audioresample when shutting down a pipeline (#420106).
1273
1274 2007-04-20  Stefan Kost  <ensonic@users.sf.net>
1275
1276         * docs/gst/gstreamer-sections.txt:
1277           That was one byte missing.
1278
1279 2007-04-20  Stefan Kost  <ensonic@users.sf.net>
1280
1281         * configure.ac:
1282         * docs/gst/gstreamer-sections.txt:
1283         * gst/Makefile.am:
1284         * gst/gstconfig.h.in:
1285         * gst/gstobject.c: (gst_object_class_init),
1286         (gst_signal_object_class_init):
1287         * gst/gstobject.h:
1288           2nd attempt to have a xml-less build as a joined effort of #413123
1289           and #421480.
1290
1291 2007-04-20  Stefan Kost  <ensonic@users.sf.net>
1292
1293         * docs/design/draft-tagreading.txt:
1294           Added open issues/thoughts to draft.
1295
1296 2007-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
1297
1298         * gst/parse/grammar.tab.pre.c:
1299         * gst/parse/grammar.tab.pre.h:
1300         * gst/parse/lex._gst_parse_yy.pre.c:
1301         Update the prebuild parser sources.
1302
1303 2007-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
1304
1305         * gst/parse/Makefile.am:
1306         And now fix the building of the flex sources. Now everything should
1307         work as expected.
1308
1309 2007-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
1310
1311         * gst/parse/Makefile.am:
1312         Now hopefully fix the build failures by setting proper rule
1313         dependencies and moving instead of copying.
1314
1315 2007-04-19  Stefan Kost  <ensonic@users.sf.net>
1316
1317         * tests/benchmarks/complexity.gnuplot:
1318         * tests/benchmarks/complexity.scm:
1319         * tests/benchmarks/mass-elements.gnuplot:
1320         * tests/benchmarks/mass-elements.scm:
1321           Total licensification.
1322
1323 2007-04-19  Stefan Kost  <ensonic@users.sf.net>
1324
1325         * gst/parse/Makefile.am:
1326           Fix the build by correcting the rule that gave wrong files to flex.
1327
1328 2007-04-19  Stefan Kost  <ensonic@users.sf.net>
1329
1330         * tests/benchmarks/complexity.c:
1331         * tests/benchmarks/mass-elements.c:
1332           Change licence to LGPL as granted by Benjamin and Andy.
1333
1334 2007-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
1335
1336         * gst/parse/Makefile.am:
1337         Add correct grammar.tab.h dependency if compiling without new enough
1338         flex. Fixes #431150.
1339
1340 2007-04-18  Sebastian Dröge  <slomo@circular-chaos.org>
1341
1342         * gst/parse/Makefile.am:
1343         Fix typo and use outdated sources if the flex/bison sources are newer
1344         than the pregenerated ones but flex is too old. Print a warning in
1345         that case. This should fix the build on the build bot.
1346
1347 2007-04-18  Sebastian Dröge  <slomo@circular-chaos.org>
1348
1349         Patch by: Marc-Andre Lureau <marcandre dot lureau at gmail dot com>
1350         * gst/parse/Makefile.am:
1351         * gst/parse/grammar.y:
1352         * gst/parse/parse.l:
1353         Make the parser reentrant and recursively callable. This requires flex
1354         >= 2.5.31, for older versions pregenerated sources are used as we
1355         can't bump the build dependency. Finally fixes #349180.
1356
1357         * gst/gstparse.c: (gst_parse_launch):
1358         Drop the HAVE_MT_SAVE_FLEX #ifdefs as we always use a new enough flex
1359         now anyway.
1360
1361         * docs/gst/Makefile.am:
1362         * docs/gst/Makefile.am:
1363         * gst/parse/grammar.tab.pre.c: (__gst_parse_strdup),
1364         (__gst_parse_strfree), (__gst_parse_link_new),
1365         (__gst_parse_link_free), (__gst_parse_chain_new),
1366         (__gst_parse_chain_free), (SET_ERROR), (YYPRINTF),
1367         (gst_parse_element_set), (gst_parse_free_link),
1368         (gst_parse_found_pad), (gst_parse_perform_delayed_link),
1369         (gst_parse_perform_link), (yytnamerr), (yysyntax_error), (yyerror),
1370         (_gst_parse_launch):
1371         * gst/parse/grammar.tab.pre.h:
1372         * gst/parse/lex._gst_parse_yy.pre.c: (PRINT), (yy_get_next_buffer),
1373         (yy_get_previous_state), (yy_try_NUL_trans), (input),
1374         (_gst_parse_yyrestart), (_gst_parse_yy_switch_to_buffer),
1375         (_gst_parse_yy_load_buffer_state), (_gst_parse_yy_create_buffer),
1376         (_gst_parse_yy_delete_buffer), (_gst_parse_yy_init_buffer),
1377         (_gst_parse_yy_flush_buffer), (_gst_parse_yypush_buffer_state),
1378         (_gst_parse_yypop_buffer_state),
1379         (_gst_parse_yyensure_buffer_stack), (_gst_parse_yy_scan_buffer),
1380         (_gst_parse_yy_scan_string), (_gst_parse_yy_scan_bytes),
1381         (yy_fatal_error), (_gst_parse_yyget_extra),
1382         (_gst_parse_yyget_lineno), (_gst_parse_yyget_column),
1383         (_gst_parse_yyget_in), (_gst_parse_yyget_out),
1384         (_gst_parse_yyget_leng), (_gst_parse_yyget_text),
1385         (_gst_parse_yyset_extra), (_gst_parse_yyset_lineno),
1386         (_gst_parse_yyset_column), (_gst_parse_yyset_in),
1387         (_gst_parse_yyset_out), (_gst_parse_yyget_debug),
1388         (_gst_parse_yyset_debug), (_gst_parse_yyget_lval),
1389         (_gst_parse_yyset_lval), (_gst_parse_yylex_init),
1390         (yy_init_globals), (_gst_parse_yylex_destroy), (yy_flex_strncpy),
1391         (yy_flex_strlen), (_gst_parse_yyalloc), (_gst_parse_yyrealloc),
1392         (_gst_parse_yyfree):
1393         If the installed flex version is too old use pre-generated parser
1394         sources. These pre-generated parser sources are always updated when
1395         the actual flex/bison sources change but require everybody who wants
1396         to change something in the parser to have flex >= 2.5.31 installed.
1397
1398 2007-04-18  Stefan Kost  <ensonic@users.sf.net>
1399
1400         * common/m4/gst-gettext.m4:
1401         * gst/gst-i18n-lib.h:
1402           Make --disable-nls to work
1403
1404 2007-04-17  Wim Taymans  <wim@fluendo.com>
1405
1406         * gst/gstconfig.h.in:
1407         Revert previous change that broke the build.
1408
1409 2007-04-17  Stefan Kost  <ensonic@users.sf.net>
1410
1411         * configure.ac:
1412         * gst/Makefile.am:
1413         * gst/gstconfig.h.in:
1414           Drop libxml2 dependency when building with 
1415           --enable-binary-registry --disable-loadsave
1416
1417 2007-04-16  Tim-Philipp Müller  <tim at centricular dot net>
1418
1419         * gst/gstregistrybinary.c: (gst_registry_binary_write_cache),
1420         (gst_registry_binary_read_cache):
1421         * gst/gstregistrybinary.h:
1422           Remove unnecessary <sys/mman.h> include which broke the win32 build
1423           with MingW; move includes from header file to .c file, even if the
1424           header file isn't installed; use g_strerror() where UTF-8 strings
1425           are expected, such as in GST_DEBUG messages.
1426
1427 2007-04-13  Jan Schmidt  <thaytan@mad.scientist.com>
1428
1429         * docs/libs/gstreamer-libs-sections.txt:
1430         Remove bogus addition for API I didn't end up keeping.
1431
1432         * libs/gst/base/gstbasesrc.h:
1433         Mention Since: 0.10.13 in the documentation.
1434
1435         Add the API keyword to the previous ChangeLog entry.
1436
1437 2007-04-13  Jan Schmidt  <thaytan@mad.scientist.com>
1438
1439         * docs/libs/gstreamer-libs-sections.txt:
1440         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
1441         (gst_base_src_default_prepare_seek_segment),
1442         (gst_base_src_prepare_seek_segment), (gst_base_src_perform_seek):
1443         * libs/gst/base/gstbasesrc.h:
1444         Allow basesrc derived classes to execute seeks in other formats
1445         by providing a prepare_seek_segment vmethod. Sub-classes can choose
1446         to prepare the GstSegment in any format that their perform_seek method
1447         will be able to understand. The default implementation provides the
1448         old behaviour of attempting to convert the seek offsets to the 
1449         configured native format.
1450
1451         API: basesrc::prepare_seek_segment vmethod.
1452
1453 2007-04-13  Jan Schmidt  <thaytan@mad.scientist.com>
1454
1455         * gst/gstelement.c: (gst_element_get_state_func):
1456         Don't output the same debug statement twice.
1457
1458         * libs/gst/base/gstadapter.c: (gst_adapter_try_to_merge_up),
1459         (gst_adapter_peek), (gst_adapter_take_buffer):
1460         Optimise the case where we have buffers at the head of the queue that
1461         can be joined quickly (because they're contiguous sub-buffers) by
1462         merging them together rather than copying data out into new memory.
1463
1464         * gst/parse/grammar.y:
1465         * tests/check/pipelines/parse-launch.c:
1466         Fix a leak in an error path for parse_launch, and add a check 
1467         for it to the testsuite.
1468
1469 2007-04-13  Jan Schmidt  <thaytan@mad.scientist.com>
1470
1471         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_release_pad):
1472           Don't deadlock when releasing a pad - gst_pad_set_active may try
1473           and take the multiqueue lock too.
1474
1475 2007-04-12  Tim-Philipp Müller  <tim at centricular dot net>
1476
1477         * gst/gsterror.c: (_gst_core_errors_init):
1478         * gst/gsterror.h:
1479           API: add GST_CORE_ERROR_DISABLED (#392804).
1480
1481 2007-04-12  Thomas Vander Stichele  <thomas at apestaart dot org>
1482
1483         * docs/faq/gst-uninstalled:
1484           don't get empty paths on the PATH variables
1485         * gst/gstpad.c (gst_pad_is_active, gst_pad_set_blocked_async):
1486           Don't format for the uncommon terminal width of 84 characters.
1487
1488 2007-04-06  Wim Taymans  <wim@fluendo.com>
1489
1490         * gst/gstpipeline.c: (reset_stream_time),
1491         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time):
1492         Only try to select a different pipeline clock when we went back to
1493         PAUSED and not when we merely got flushed.
1494
1495 2007-04-05  Michael Smith  <msmith@fluendo.com>
1496
1497         * tools/gst-launch.1.in:
1498           fractions are better supported in gstreamer than ractions, so
1499           suggest using those.
1500
1501 2007-04-05  Thomas Vander Stichele  <thomas at apestaart dot org>
1502
1503         Submitted by: Mogens Jaeger <mogens@jaeger.tf>
1504
1505         * po/LINGUAS:
1506         * po/da.po:
1507           Added Danish translation.
1508
1509 2007-04-05  Wim Taymans  <wim@fluendo.com>
1510
1511         * libs/gst/base/gstbasesink.c:
1512         (gst_base_sink_queue_object_unlocked), (gst_base_sink_event):
1513         Fix leak caused when refusing newsegment after EOS.
1514
1515         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init),
1516         (gst_fake_sink_init), (gst_fake_sink_set_property),
1517         (gst_fake_sink_get_property), (gst_fake_sink_preroll),
1518         (gst_fake_sink_render), (gst_fake_sink_change_state):
1519         * plugins/elements/gstfakesink.h:
1520         Add num-buffers property to make the element generate EOS after a
1521         configurable amount of buffers.
1522         API: fakesink::num-buffers property.
1523
1524         * tests/check/elements/fakesink.c: (GST_START_TEST),
1525         (fakesink_suite):
1526         Fix GstBus leak in test.
1527         Test for fakesink num-buffers.
1528
1529 2007-04-05  Wim Taymans  <wim@fluendo.com>
1530
1531         * libs/gst/base/gstbasesink.c:
1532         (gst_base_sink_queue_object_unlocked), (gst_base_sink_event),
1533         (gst_base_sink_change_state):
1534         Don't accept anything after an EOS, return UNEXPECTED instead.
1535
1536         * tests/check/elements/fakesink.c: (GST_START_TEST),
1537         (fakesink_suite):
1538         Unit test for new EOS behaviour.
1539
1540 2007-04-05  Wim Taymans  <wim@fluendo.com>
1541
1542         * gst/gstelement.c: (gst_element_get_request_pad):
1543         Make padtemplates also work when they don't contain %s or %d.
1544
1545 2007-04-05  Wim Taymans  <wim@fluendo.com>
1546
1547         * docs/gst/gstreamer-sections.txt:
1548         * gst/gstclock.c: (gst_clock_adjust_unlocked),
1549         (gst_clock_unadjust_unlocked), (gst_clock_set_calibration):
1550         * gst/gstclock.h:
1551         Improve _adjust_unlocked() so that it overflows less.
1552         Add gst_clock_unadjust_unlocked to convert from external time to
1553         internal time based on calibration.
1554         Add some more debug.
1555         API: GstClock::gst_clock_unadjust_unlocked()
1556
1557 2007-04-03  Wim Taymans  <wim@fluendo.com>
1558
1559         Patch by: Tommi Myöhänen <ext-tommi dot myohanen at nokia dot com>
1560
1561         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_release_pad):
1562         Deactivate pads and free GstSingleQueue with gst_single_queue_free()
1563         when releasing sink pad. Fixes #425400.
1564
1565 2007-04-02  Stefan Kost  <ensonic@users.sf.net>
1566
1567         * docs/random/ensonic/dynlink.txt:
1568           More work on proposal for new core api.
1569
1570         * docs/libs/gstreamer-libs-sections.txt:
1571         * libs/gst/base/gstbasetransform.h:
1572           API: GST_BASE_TRANSFORM_LOCK/UNLOCK added
1573           
1574         * libs/gst/controller/gstcontroller.c:
1575         (on_object_controlled_property_changed),
1576         (gst_controller_sync_values),
1577         (gst_controller_set_interpolation_mode):
1578         * libs/gst/controller/gstcontroller.h:
1579           Less verbose logging add docs for unimplemented parts and correctly
1580           return when using unavailable parts.
1581
1582 2007-03-29  Jan Schmidt  <thaytan@mad.scientist.com>
1583
1584         * gst/gstclock.c: (gst_clock_set_master), (do_linear_regression):
1585         Move all the debug to the CLOCK category, and associate it with
1586         the clock object.
1587
1588 2007-03-29  Jan Schmidt  <thaytan@mad.scientist.com>
1589
1590         * libs/gst/base/gstadapter.c: (gst_adapter_take_buffer):
1591         Make take_buffer a bit quicker by removing redundant checks
1592         caused by calling gst_adapter_take.
1593
1594 2007-03-28  Tim-Philipp Müller  <tim at centricular dot net>
1595
1596         * plugins/elements/gstmultiqueue.c: (gst_single_queue_free):
1597           Don't leak GCond.
1598
1599         * tests/check/Makefile.am:
1600         * tests/check/elements/.cvsignore:
1601         * tests/check/elements/multiqueue.c: (setup_multiqueue),
1602         (GST_START_TEST), (multiqueue_suite):
1603           Add some dead simple unit tests for the 'multiqueue' element
1604           (some bits don't work yet and are disabled for now).
1605
1606 2007-03-28  Tim-Philipp Müller  <tim at centricular dot net>
1607
1608         * gst/gstelement.c: (gst_element_get_request_pad),
1609         (gst_element_class_get_request_pad_template):
1610           Make gst_element_get_request_pad() create request pads only for
1611           request pad templates and not for, say, sometimes pad templates.
1612
1613 2007-03-28  Stefan Kost  <ensonic@users.sf.net>
1614
1615         * docs/design/draft-klass.txt:
1616           Add example that needs more thinking.
1617         
1618         * docs/design/draft-missing-plugins.txt:
1619           More thoughts about wrapper plugins.
1620         
1621         * docs/random/ensonic/embedded.txt:
1622         * docs/random/ensonic/profiling.txt:
1623           More design work.
1624
1625 2007-03-25  Wim Taymans  <wim@fluendo.com>
1626
1627         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range),
1628         (gst_base_src_loop):
1629         Only push the segment events in the PLAYING state for live sources.
1630
1631 2007-03-23  Jan Schmidt  <thaytan@mad.scientist.com>
1632
1633         * gst/gstpipeline.c: (gst_pipeline_change_state):
1634         Modify the clock distribution path in PAUSED->PLAYING so that we 
1635         never attempt to choose a new clock unless we're actually leaving
1636         the PAUSED state for the first time. This prevents choosing a
1637         different clock when the state_change gets called for a 2nd time due
1638         to some element doing an async state change.
1639
1640 2007-03-22  Sebastian Dröge  <slomo@circular-chaos.org>
1641
1642         * gst/gstpad.c: (gst_pad_set_caps), (gst_pad_configure_sink),
1643         (gst_pad_configure_src), (gst_pad_alloc_buffer_full),
1644         (gst_pad_chain_unchecked), (gst_pad_push):
1645         Revert last commit. This needs some more thoughts.
1646
1647 2007-03-22  Sebastian Dröge  <slomo@circular-chaos.org>
1648
1649         * gst/gstpad.c: (gst_pad_set_caps), (gst_pad_alloc_buffer_full),
1650         (gst_pad_chain_unchecked), (gst_pad_push):
1651         Check in set_caps if the caps are compatible with the pad and remove
1652         two functions that are redundant now. Fixes #421543.
1653
1654 2007-03-22  Wim Taymans  <wim@fluendo.com>
1655
1656         * tests/check/gst/gstsystemclock.c: (GST_START_TEST),
1657         (mixed_thread), (mixed_async_cb), (gst_systemclock_suite):
1658         Unref some more to make valgrind happy.
1659
1660 2007-03-22  Wim Taymans  <wim@fluendo.com>
1661
1662         * gst/gstsystemclock.c: (gst_system_clock_id_wait_jitter_unlocked),
1663         (gst_system_clock_id_wait_jitter),
1664         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
1665         Fix anoying regression that survived a few releases. When adding an
1666         async entry while blocking on a sync entry, the sync entry will unblock
1667         but still be busy, so it should continue to wait instead of returning
1668         _BUSY to the app.
1669         Add some comments here and there.
1670
1671         * tests/check/gst/gstsystemclock.c: (mixed_thread),
1672         (mixed_async_cb), (GST_START_TEST), (gst_systemclock_suite):
1673         Add testcase for this.
1674
1675 2007-03-22  Wim Taymans  <wim@fluendo.com>
1676
1677         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
1678         Handle errors from the clock sync better, only UNSCHEDULED indicates a
1679         WRONG_STATE and can silently pause the task. All other cases should
1680         error out.
1681
1682 2007-03-22  Wim Taymans  <wim@fluendo.com>
1683
1684         Patch by: Ville Syrjala <syrjala at sci dot fi>
1685
1686         * gst/gstpad.c: (gst_pad_alloc_buffer_full), (gst_pad_send_event):
1687         Fix possible deadlock if pad eventfunc is not specified.  Fixes #421177.
1688         Improve debugging.
1689
1690 2007-03-21  Michael Smith  <msmith@fluendo.com>
1691
1692         * docs/pwg/advanced-types.xml:
1693           Fix some errors in the typefinding docs pointed out on irc.
1694
1695 2007-03-21  Jan Schmidt  <thaytan@mad.scientist.com>
1696
1697         * libs/gst/base/gstbasesrc.c:
1698         Clarify FIXME comment in the face of having added unlock_stop()
1699
1700 2007-03-21  Wim Taymans  <wim@fluendo.com>
1701
1702         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_element_set_state):
1703         Prepare for release where we warn against possible app breakage in the
1704         case of live pipelines along with an env var to enable/disable live
1705         preroll mode (GST_COMPAT=[no-]live-preroll).
1706
1707 2007-03-20  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
1708
1709         * plugins/elements/gstidentity.c (gst_identity_check_imperfect_offset):
1710         So we should use correct constants for checking for None offset.
1711
1712 2007-03-20  Wim Taymans  <wim@fluendo.com>
1713
1714         * docs/design/part-block.txt:
1715         Mention the fact that the newly switched element should be set to at
1716         least PAUSED.
1717
1718 2007-03-20  Wim Taymans  <wim@fluendo.com>
1719
1720         * gst/gst.c:
1721         Fix compilation with registry disabled as spotted by Saur.
1722
1723 2007-03-20  Wim Taymans  <wim@fluendo.com>
1724
1725         Patch by: Olivier Crete <tester at tester dot ca>
1726
1727         * gst/gstelement.c: (gst_element_sync_state_with_parent):
1728         Look at the pending state too when syncing the element state to the
1729         parent. Fixes #420133.
1730
1731 2007-03-19  Jan Schmidt  <thaytan@mad.scientist.com>
1732
1733         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_flushing),
1734         (gst_base_sink_change_state):
1735         * libs/gst/base/gstbasesink.h:
1736         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
1737         (gst_base_src_default_event), (gst_base_src_unlock_stop),
1738         (gst_base_src_deactivate):
1739         * libs/gst/base/gstbasesrc.h:
1740         Add ::unlock_stop to basesrc and basesink. This allows an opportunity
1741         for sub-classes to correctly clear any state they set trying to
1742         unlock, such as clearing out unlock commands from a command fd.
1743         API: basesrc::unlock_stop
1744         API: basesink::unlock_stop
1745
1746         * plugins/elements/gstfdsink.c: (gst_fd_sink_class_init),
1747         (gst_fd_sink_render), (gst_fd_sink_unlock),
1748         (gst_fd_sink_unlock_stop):
1749         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init),
1750         (gst_fd_src_init), (gst_fd_src_unlock), (gst_fd_src_unlock_stop),
1751         (gst_fd_src_create), (gst_fd_src_get_size), (gst_fd_src_do_seek):
1752
1753         Implement unlock_stop in fdsrc and fdsink.
1754         Implement seeking in fdsrc when a seekable fd is passed, as in
1755         gst-launch-0.10 fdsrc ! ... ! xvimagesink < /path/to/file
1756
1757 2007-03-19  Wim Taymans  <wim@fluendo.com>
1758
1759         Patch by: Evan Nemerson <evan at coeus dash group dot com>
1760
1761         * gst/gstelement.c: (gst_element_class_init):
1762         Fix pad-added and pad-removed signal signatures so that the pad type is
1763         stated as GST_TYPE_PAD instead of G_TYPE_OBJECT. Fixes #419851.
1764
1765 2007-03-19  Wim Taymans  <wim@fluendo.com>
1766
1767         * docs/gst/gstreamer-sections.txt:
1768         Add new element field and method.
1769
1770         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
1771         (bin_remove_messages), (gst_bin_add_func), (gst_bin_remove_func),
1772         (gst_bin_recalc_state), (gst_bin_get_state_func),
1773         (gst_bin_element_set_state), (gst_bin_change_state_func),
1774         (gst_bin_continue_func), (bin_bus_handler),
1775         (bin_push_state_continue), (bin_handle_async_start),
1776         (bin_handle_async_done), (gst_bin_handle_message_func):
1777         Make async state changes a bit smarter by using new ASYNC_START and
1778         ASYNC_DONE messages. This reduces the number of times we run the state
1779         recalculation thread.
1780         Don't change state of element with a pending ASYNC_START message.
1781         Deprecate STATE_DIRTY messages.
1782         
1783         * gst/gstelement.c: (gst_element_init), (gst_element_send_event),
1784         (gst_element_get_state_func), (gst_element_continue_state),
1785         (gst_element_lost_state), (gst_element_set_state_func),
1786         (gst_element_change_state):
1787         * gst/gstelement.h:
1788         Keep the state that was last set by the app in a new element field.
1789         Don't allow state changes when handling an element event.
1790         Post ASYNC_START and ASYNC_DONE messages.
1791         Change lost_state so that we go to PAUSED and wait for the parent to set
1792         us to PLAYING again (so latency calculation can be performed)
1793         Export gst_element_change_state() method so that subclasses can use it.
1794         API: gst_element_change_state()
1795         API: GST_STATE_TARGET
1796
1797         * gst/gstpipeline.c: (gst_pipeline_class_init),
1798         (reset_stream_time), (gst_pipeline_change_state),
1799         (gst_pipeline_handle_message), (gst_pipeline_set_new_stream_time):
1800         Using the new ASYNC_START message we can reset the base_time when
1801         needed. This can then be used to implement base_time redistribution in
1802         flushing seeks so that we can remove the explicit seek handling.
1803         Perform latency query and configuration when going to PLAYING.
1804
1805         * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
1806         (gst_base_sink_query), (gst_base_sink_change_state):
1807         Post new ASYNC_START/ASYNC_DONE messages.
1808
1809         * tests/check/generic/sinks.c: (GST_START_TEST):
1810         Fix test because the bin will not set the async element to PLAYING right
1811         away.
1812
1813         * tests/check/gst/gstbin.c: (pop_async_done), (GST_START_TEST):
1814         Make the message check a little stronger.
1815         Handle ASYNC messages.
1816
1817         * tests/check/pipelines/cleanup.c: (GST_START_TEST):
1818         * tests/check/pipelines/simple-launch-lines.c: (GST_START_TEST):
1819         Expect ASYNC_DONE messages.
1820
1821 2007-03-19  Wim Taymans  <wim@fluendo.com>
1822
1823         * docs/gst/gstreamer-sections.txt:
1824         * gst/gstmessage.c: (gst_message_new_async_start),
1825         (gst_message_new_async_done), (gst_message_parse_info),
1826         (gst_message_parse_async_start):
1827         * gst/gstmessage.h:
1828         Add ASYNC_START and ASYNC_DONE messages to prepare for latency
1829         support.
1830
1831 2007-03-15  Tim-Philipp Müller  <tim at centricular dot net>
1832
1833         * tools/gst-inspect.c:
1834         (print_plugin_automatic_install_info_codecs):
1835           Now that we don't check for the 'Codec' keyword any longer in the
1836           klass, we shouldn't spew a warning if the klass isn't a decoder or
1837           encoder (since it might be a Source/Network, for example).
1838
1839 2007-03-14  Tim-Philipp Müller  <tim at centricular dot net>
1840
1841         * tools/gst-inspect.c:
1842         (print_plugin_automatic_install_info_codecs):
1843           Don't require decoder/demuxer/depayloader elements or
1844           encoder/muxer/paylader elements to have 'Codec' as part of their
1845           factory class string when introspecting a plugin's capabilities.
1846           draft-klass.txt mentions that it might be removed in future, and
1847           flump3dec doesn't have it as part of its class string, so chances
1848           are others might also not have it.
1849
1850 2007-03-14  Thomas Vander Stichele  <thomas at apestaart dot org>
1851
1852         * po/af.po:
1853         * po/az.po:
1854         * po/bg.po:
1855         * po/ca.po:
1856         * po/cs.po:
1857         * po/de.po:
1858         * po/en_GB.po:
1859         * po/fr.po:
1860         * po/it.po:
1861         * po/nb.po:
1862         * po/nl.po:
1863         * po/ru.po:
1864         * po/sq.po:
1865         * po/sr.po:
1866         * po/sv.po:
1867         * po/tr.po:
1868         * po/uk.po:
1869         * po/vi.po:
1870         * po/zh_CN.po:
1871         * po/zh_TW.po:
1872           Update translations from translation project
1873
1874 2007-03-14  Stefan Kost  <ensonic@users.sf.net>
1875
1876         * gst/gstchildproxy.c: (gst_child_proxy_get_property),
1877         (gst_child_proxy_set_property):
1878           Invert precondition check to be alike the ones in the mimiced gobject
1879           api.
1880
1881 2007-03-13  Stefan Kost  <ensonic@users.sf.net>
1882
1883         * docs/design/draft-tagreading.txt:
1884         * docs/random/ensonic/audiobaseclasses.txt:
1885           Do some Architect work.
1886
1887         * gst/gstobject.c: (gst_object_set_name):
1888           Add a WARNING.
1889
1890         * gst/gstpad.c:
1891           Add docs that point from gst_pad_get_range to gst_pad_pull_range
1892
1893 2007-03-12  Jan Schmidt  <thaytan@mad.scientist.com>
1894
1895         * gst/gstsystemclock.c: (gst_system_clock_init),
1896         (gst_system_clock_start_async), (gst_system_clock_id_wait_async):
1897         Defer starting the async system clock thread until the first async
1898         wait is scheduled. Fixes #414986.
1899
1900 2007-03-12  Tim-Philipp Müller  <tim at centricular dot net>
1901
1902         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_finalize),
1903         (gst_single_queue_free):
1904           Fix small leak (free GstSingleQueue structure too, not only contents).
1905
1906 2007-03-10  Sebastien Moutte  <sebastien@moutte.net>
1907
1908         * gst/gstbin.c:(gst_bin_add):
1909         Use GST_STR_NULL to prevent NULL pointer to be passed to GST_CAT_DEBUG.
1910         * win32/common/libgstbase.def:
1911         * win32/common/libgstreamer.def:
1912         Add new exported functions.
1913
1914 2007-03-09  Wim Taymans  <wim@fluendo.com>
1915
1916         * docs/plugins/gstreamer-plugins-sections.txt:
1917         Fix GstTee docs.
1918
1919 2007-03-09  Wim Taymans  <wim@fluendo.com>
1920
1921         * docs/gst/gstreamer-sections.txt:
1922         * gst/gstbuffer.c: (gst_buffer_copy_metadata), (_gst_buffer_copy):
1923         * gst/gstbuffer.h:
1924         Add metadata copy functions. Fixes #393099.
1925         API: gst_buffer_copy_metadata()
1926
1927         * gst/gstutils.c: (gst_buffer_stamp):
1928         * libs/gst/base/gstbasetransform.c:
1929         (gst_base_transform_prepare_output_buffer):
1930         Use new metadata copy functions.
1931
1932 2007-03-09  Thomas Vander Stichele  <thomas at apestaart dot org>
1933
1934         * plugins/elements/gstidentity.c: (gst_identity_class_init),
1935         (gst_identity_init), (gst_identity_check_perfect),
1936         (gst_identity_check_imperfect_timestamp),
1937         (gst_identity_check_imperfect_offset), (gst_identity_transform_ip),
1938         (gst_identity_set_property), (gst_identity_get_property):
1939         * plugins/elements/gstidentity.h:
1940         Separate out check-imperfect-timestamp and check-imperfect-offset.
1941         Put back check-perfect as it was to keep compatibility.
1942
1943 2007-03-09  Jan Schmidt  <thaytan@mad.scientist.com>
1944
1945         * gst/gstelement.c: (gst_element_dispose):
1946         There's no need to warn if VOID_PENDING is not NONE here, as
1947         long as the state is NULL it's ok, and that's checked immediately
1948         above.
1949
1950 2007-03-08  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
1951
1952         * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
1953         Fix check for perfect stream to ignore buffers with -1 
1954         offsets/offset ends when checking data contiguity.
1955
1956 2007-03-08  Wim Taymans  <wim@fluendo.com>
1957
1958         * tools/gst-launch.c: (event_loop):
1959         Print INFO messages.
1960
1961 2007-03-08  Wim Taymans  <wim@fluendo.com>
1962
1963         * libs/gst/base/gstbasetransform.c:
1964         (gst_base_transform_sink_eventfunc),
1965         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
1966         (gst_base_transform_activate):
1967         * libs/gst/base/gstbasetransform.h:
1968         Add support for dropping buffers with custom GstFlowReturn.
1969         Set DISCONT flags on outgoing buffers based on QoS, incomming DISCONT
1970         buffers or dropped buffers.
1971
1972         * docs/libs/gstreamer-libs-sections.txt:
1973         docs for new custom return code.
1974
1975         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
1976         Use drop support in base class to implement drop-probability.
1977
1978 2007-03-07  Tim-Philipp Müller  <tim at centricular dot net>
1979
1980         * gst/gst.c: (load_plugin_func):
1981         * gst/gstplugin.c: (gst_plugin_load_by_name), (gst_plugin_load):
1982         * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
1983         * gst/gsttrace.c: (gst_trace_new), (gst_alloc_trace_set_flags_all):
1984           Remove newlines at end of debug log strings.
1985
1986 2007-03-07  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
1987
1988         * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
1989         Only post bus message at max, once per buffer received.
1990
1991 2007-03-07  Wim Taymans  <wim@fluendo.com>
1992
1993         * docs/design/Makefile.am:
1994         * docs/design/part-synchronisation.txt:
1995         Add doc about synchronisation
1996
1997         * docs/design/draft-latency.txt:
1998         * docs/design/part-TODO.txt:
1999         * docs/design/part-clocks.txt:
2000         * docs/design/part-events.txt:
2001         * docs/design/part-gstbus.txt:
2002         * docs/design/part-gstpipeline.txt:
2003         * docs/design/part-live-source.txt:
2004         * docs/design/part-messages.txt:
2005         * docs/design/part-overview.txt:
2006         * docs/design/part-streams.txt:
2007         * docs/design/part-trickmodes.txt:
2008         Documentation updates.
2009
2010 2007-03-07  Jan Schmidt  <thaytan@mad.scientist.com>
2011
2012         * gstreamer.doap:
2013         Update the doap file.
2014
2015 2007-03-07  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
2016
2017         * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
2018         Rename non-perfect to imperfect for Mike and for the sanctity of the
2019         language.
2020         Also make sure bus message gets emitted for data-incontiguities.
2021
2022 2007-03-07  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
2023
2024         * plugins/elements/gstidentity.c: (gst_identity_check_perfect),
2025         (gst_identity_start):
2026         * plugins/elements/gstidentity.h:
2027         Emit bus message if check-perfect is true and we encounter a
2028         non-perfect stream between 2 consecutive buffers.
2029         Fixes #415394.
2030
2031 2007-03-07  Jan Schmidt  <thaytan@mad.scientist.com>
2032
2033         * configure.ac:
2034         Back to CVS
2035
2036 === release 0.10.12 ===
2037
2038 2007-03-07  Jan Schmidt <thaytan@mad.scientist.com>
2039
2040         * configure.ac:
2041           releasing 0.10.12, "Inevitable Demise"
2042
2043 2007-03-01  Jan Schmidt  <thaytan@mad.scientist.com>
2044
2045         * configure.ac:
2046          Version 0.10.11.2 (0.10.12 pre-release)
2047          Bump libtool versioning.
2048
2049 2007-03-01  Stefan Kost  <ensonic@users.sf.net>
2050
2051         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
2052           Log flow-names and not numbers.
2053
2054 2007-02-28  Thomas Vander Stichele  <thomas at apestaart dot org>
2055
2056         * configure.ac:
2057           Convert to new AG_GST style.
2058
2059 2007-02-28  Wim Taymans  <wim@fluendo.com>
2060
2061         * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency):
2062         Don't unref query twice.
2063
2064 2007-02-28  Wim Taymans  <wim@fluendo.com>
2065
2066         * gst/gstvalue.c: (gst_value_transform_object_string),
2067         (_gst_value_initialize):
2068         Implement GstObject -> string transform so we print object names
2069         when serializing GValues containing GstObjects.
2070
2071 2007-02-28  Wim Taymans  <wim@fluendo.com>
2072
2073         * docs/gst/gstreamer-sections.txt:
2074         Add new stuff to docs.
2075
2076 2007-02-28  Wim Taymans  <wim@fluendo.com>
2077
2078         * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
2079         (gst_base_sink_queue_object_unlocked), (gst_base_sink_send_event),
2080         (gst_base_sink_change_state):
2081         Improve latency query code.
2082         Don't leak latency events.
2083
2084         * tests/check/gst/gstbin.c: (GST_START_TEST):
2085         Improve debugging.
2086
2087 2007-02-28  Wim Taymans  <wim@fluendo.com>
2088
2089         * gst/gstelement.c: (gst_element_message_full),
2090         (gst_element_get_state_func):
2091         * gst/gstelement.h:
2092         Improve docs a little. Added Since: for new macro.
2093
2094         * gst/gstobject.c: (gst_object_sink):
2095         * gst/gstpipeline.c: (gst_pipeline_change_state),
2096         (gst_pipeline_set_new_stream_time):
2097         * gst/gstpipeline.h:
2098         Improve debugging and docs.
2099
2100         * gst/gstutils.c: (gst_element_state_change_return_get_name):
2101         Improve debugging.
2102
2103 2007-02-28  Wim Taymans  <wim@fluendo.com>
2104
2105         * gst/gstelement.c: (gst_element_message_full),
2106         (gst_element_set_locked_state), (gst_element_get_state_func),
2107         (gst_element_change_state):
2108         Handle INFO messages from the GST_ELEMENT_INFO macro as well.
2109         Documentation updates.
2110         Small code cleanups.
2111
2112         * gst/gstmessage.c: (gst_message_new_info),
2113         (gst_message_parse_info):
2114         * gst/gstmessage.h:
2115         API: gst_message_new_info()
2116         API: gst_message_parse_info()
2117         Add INFO message create and parse code.
2118
2119 2007-02-28  Wim Taymans  <wim@fluendo.com>
2120
2121         * gst/gstbin.c: (bin_query_min_max_init), (bin_query_latency_fold),
2122         (bin_query_latency_done):
2123         Also report the live parameter of a latency query.
2124
2125 2007-02-28  Thomas Vander Stichele  <thomas at apestaart dot org>
2126
2127         * tests/check/generic/states.c: (GST_START_TEST), (states_suite):
2128           Copy the current generic/states example from -base and adapt so
2129           we can use the exact same code everywhere.
2130           Check a STATES_IGNORE_ELEMENTS env var which can be used
2131           to ignore certain element factories for this test, which is
2132           what is being done in -base
2133         * tests/check/Makefile.am:
2134           Mention this environment variable.
2135
2136 2007-02-27  Wim Taymans  <wim@fluendo.com>
2137
2138         * docs/gst/gstreamer-sections.txt:
2139         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
2140         (gst_bus_timed_pop), (gst_bus_pop):
2141         * gst/gstbus.h:
2142         API: gst_bus_timed_pop()
2143         Implement gst_bus_timed_pop() to do a blocking timed wait for a
2144         message to arrive on the bus.
2145
2146         * tests/check/gst/gstbus.c: (GST_START_TEST), (pop_thread),
2147         (gst_bus_suite):
2148         Two unit tests for new _timed_pop() function.
2149
2150 2007-02-23  Wim Taymans  <wim@fluendo.com>
2151
2152         * gst/gstpipeline.c: (gst_pipeline_change_state),
2153         (gst_pipeline_provide_clock_func), (gst_pipeline_set_delay):
2154         Don't ref a NULL clock in _provide_clock_func().
2155         Don't allow an INVALID delay.
2156         Don't try to calculate base_time with an invalid start_time.
2157         Also distribute and notify a NULL clock when it was selected.
2158
2159         * tools/gst-launch.c: (event_loop):
2160         Don't crash when a NULL clock was selected in the pipeline.
2161
2162 2007-02-23  Tim-Philipp Müller  <tim at centricular dot net>
2163
2164         * docs/design/Makefile.am:
2165         * docs/design/draft-missing-plugins.txt:
2166         * docs/random/draft-missing-plugins.txt:
2167           Some small updates: update plugin system identifier prefix
2168           ('gstreamer.net' to 'gstreamer'), mention our new install
2169           API in libgstbaseutils rather than libgimme-codec, add
2170           reference to the online docs.
2171
2172 2007-02-21  Thomas Vander Stichele  <thomas at apestaart dot org>
2173
2174         * win32/common/config.h:
2175           Pretty sure Bill never made a powerpc version.  Powerpc hackers,
2176           use moap cl ci to only check in what is mentioned in the ChangeLog.
2177
2178 2007-02-21  Thomas Vander Stichele  <thomas at apestaart dot org>
2179
2180         * docs/gst/gstreamer-sections.txt:
2181         * gst/gstelement.h:
2182           Fix up documentation to link to the correct GstGError section.
2183           Add GST_ELEMENT_INFO macro since someone else added a Info message.
2184
2185 2007-02-21  Thomas Vander Stichele  <thomas at apestaart dot org>
2186
2187         * tools/gst-launch.c: (event_loop):
2188           Make sure that we actually show the important message part of a
2189           warning message.
2190           No need to check if the gerror is not NULL to free; first of all
2191           g_free accepts NULL; and second the default error handler would
2192           segfault if gerror was NULL.
2193
2194 2007-02-21  Wim Taymans  <wim@fluendo.com>
2195
2196         * docs/gst/gstreamer-sections.txt:
2197         Removed docs as well.
2198
2199 2007-02-21  Wim Taymans  <wim@fluendo.com>
2200
2201         * gst/gstmessage.c: (gst_message_parse_duration):
2202         * gst/gstmessage.h:
2203         Remove new messages for release.
2204
2205 2007-02-20  Wim Taymans  <wim@fluendo.com>
2206
2207         * docs/design/part-gstghostpad.txt:
2208         * gst/gstghostpad.c: (gst_ghost_pad_dispose),
2209         (gst_ghost_pad_new_full):
2210         Make the ghostpad a parent of the internal pad again for better backward
2211         compatibility. Don't write code that relies on this however.
2212
2213         * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_activate_push),
2214         (gst_pad_link_check_hierarchy):
2215         Require that parents should be GstElements in the hierarchy check.
2216
2217 2007-02-20  Wim Taymans  <wim@fluendo.com>
2218
2219         * gst/gstbin.c: (bin_replace_message), (gst_bin_add_func),
2220         (gst_bin_change_state_func), (bin_query_min_max_init),
2221         (bin_query_latency_fold), (bin_query_latency_done),
2222         (gst_bin_query):
2223         Improve debug info.
2224         Implement latency query.
2225
2226 2007-02-20  Wim Taymans  <wim@fluendo.com>
2227
2228         * docs/design/part-gstghostpad.txt:
2229         * gst/gstghostpad.c: (gst_ghost_pad_class_init),
2230         (gst_ghost_pad_internal_do_activate_push),
2231         (gst_ghost_pad_internal_do_activate_pull),
2232         (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
2233         (gst_ghost_pad_do_link), (gst_ghost_pad_dispose),
2234         (gst_ghost_pad_new_full), (gst_ghost_pad_set_target):
2235         Do not set the internal pad as a parent anymore so we can avoid
2236         hierarchy linking errors when the ghostpad has no parent yet. This also
2237         fixes failed activation because of unlinked internal pads, which in
2238         turn fixes the impossible case where you have to activate a pad before
2239         you can add it to a running element.
2240         Also fix the docs.
2241
2242         * gst/gstpad.c: (pre_activate), (post_activate),
2243         (gst_pad_set_active), (gst_pad_activate_pull),
2244         (gst_pad_activate_push), (gst_pad_check_pull_range):
2245         Add some more debug info.
2246         Mark activation mode in pre_activate so that we don't try to activate in
2247         endless loops. Fixes #385084.
2248
2249 2007-02-19  Wim Taymans  <wim@fluendo.com>
2250
2251         * libs/gst/base/gstbasetransform.c: (gst_base_transform_init),
2252         (gst_base_transform_check_get_range):
2253         Implement a checkgetrange function instead of relying on the default
2254         core behaviour that assumes we can operate in pull mode if we have a
2255         getrange function. First step at fixing #385084.
2256
2257 2007-02-15  Stefan Kost  <ensonic@users.sf.net>
2258
2259         * gst/gstchildproxy.h:
2260         * libs/gst/base/gstbasesink.h:
2261         * libs/gst/base/gstbasesrc.h:
2262         * libs/gst/base/gstbasetransform.h:
2263         More docs coverage and some ChangeLog surgery (add missing names)
2264
2265 2007-02-15  Wim Taymans  <wim@fluendo.com>
2266
2267         * docs/design/part-TODO.txt:
2268         * docs/design/part-activation.txt:
2269         * docs/design/part-block.txt:
2270         * docs/design/part-buffering.txt:
2271         * docs/design/part-clocks.txt:
2272         * docs/design/part-element-source.txt:
2273         * docs/design/part-events.txt:
2274         * docs/design/part-gstbin.txt:
2275         * docs/design/part-gstbus.txt:
2276         * docs/design/part-gstpipeline.txt:
2277         * docs/design/part-live-source.txt:
2278         * docs/design/part-messages.txt:
2279         * docs/design/part-overview.txt:
2280         * docs/design/part-qos.txt:
2281         * docs/design/part-query.txt:
2282         * docs/design/part-states.txt:
2283         * docs/design/part-trickmodes.txt:
2284         Some doc updates. Start renaming from stream_time to running_time where
2285         it was used wrongly.
2286
2287 2007-02-15  Wim Taymans  <wim@fluendo.com>
2288
2289         * libs/gst/base/gstbasesrc.c: (gst_base_src_default_query):
2290         Answer LATENCY query.
2291
2292 2007-02-15  Wim Taymans  <wim@fluendo.com>
2293
2294         * tests/check/gst/gstevent.c: (event_probe), (test_event),
2295         (GST_START_TEST):
2296         Improve debugging.
2297
2298 2007-02-15  Wim Taymans  <wim@fluendo.com>
2299
2300         * gst/gstpad.c: (gst_pad_get_internal_links_default),
2301         (gst_pad_dispatcher):
2302         Improve debugging of default pad dispatcher and query functions.
2303
2304 2007-02-15  Wim Taymans  <wim@fluendo.com>
2305
2306         * docs/gst/gstreamer-sections.txt:
2307         Remove old unused method.
2308
2309 2007-02-13  Wim Taymans  <wim@fluendo.com>
2310
2311         * tests/check/gst/gstsegment.c: (GST_START_TEST):
2312         Fix check
2313
2314 2007-02-13  Wim Taymans  <wim@fluendo.com>
2315
2316         * docs/design/part-seeking.txt:
2317         Some small update.
2318
2319         * gst/gstsegment.c: (gst_segment_set_seek):
2320         Revert old bogus change that should make seeking work again.
2321
2322 2007-02-13  Stefan Kost  <ensonic@users.sf.net>
2323
2324         * docs/random/ensonic/dynlink.txt:
2325         * docs/random/ensonic/interfaces.txt:
2326         * docs/random/ensonic/receipies.txt:
2327           Possible dynamic reconnection api, plus some type fixes the other two
2328           docs.
2329
2330 2007-02-13  Sebastian Dröge  <slomo@circular-chaos.org>
2331
2332         * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
2333         * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
2334         Also check for an absolute path following file:// in the filesrc
2335         element. Remove redundant check and call g_path_is_absolute() on the
2336         unescaped location.
2337
2338 2007-02-13  Stefan Kost  <ensonic@users.sf.net>
2339
2340         * docs/design/draft-klass.txt:
2341           Add existing category analysis.
2342           
2343         * gst/gstcaps.c:
2344           Fix doc example, framerate is a fraction.
2345
2346 2007-02-12  Stefan Kost  <ensonic@users.sf.net>
2347
2348         * configure.ac:
2349         * docs/gst/Makefile.am:
2350         * docs/gst/gstreamer-sections.txt:
2351         * docs/libs/Makefile.am:
2352           Erm, forgot a bunch of --extra-dir.
2353
2354 2007-02-12  Stefan Kost  <ensonic@users.sf.net>
2355
2356         * configure.ac:
2357         * docs/gst/Makefile.am:
2358         * docs/libs/Makefile.am:
2359         * docs/plugins/Makefile.am:
2360           Add crossreferences to glib/gobject docs.
2361
2362 2007-02-12  Wim Taymans  <wim@fluendo.com>
2363
2364         * docs/design/draft-latency.txt:
2365         Small update.
2366
2367         * docs/libs/gstreamer-libs-sections.txt:
2368         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
2369         (gst_base_sink_get_latency), (gst_base_sink_query_latency),
2370         (gst_base_sink_wait_clock), (gst_base_sink_send_qos),
2371         (gst_base_sink_perform_qos), (gst_base_sink_queue_object_unlocked),
2372         (gst_base_sink_chain_unlocked), (gst_base_sink_send_event),
2373         (gst_base_sink_get_position), (gst_base_sink_query),
2374         (gst_base_sink_change_state):
2375         * libs/gst/base/gstbasesink.h:
2376         API: gst_base_sink_query_latency() to let subclasses query the upstream
2377         latency.
2378         API: gst_base_sink_get_latency() to let subclasses query the configured
2379         latency in the sink.
2380         Implement query and set latency.
2381         Update some docs.
2382         As spotted by Will Newton <will dot newton at gmail dot com>: Make sure we
2383         don't continue preroll when we are flushing. Fixes #405284.
2384
2385         * tests/check/pipelines/stress.c: (change_state_timeout),
2386         (quit_timeout), (GST_START_TEST), (stress_suite):
2387         Test for #405284.
2388
2389 2007-02-09  Tim-Philipp Müller  <tim at centricular dot net>
2390
2391         Patch by: René Stadler <mail at renestadler de>
2392
2393         * docs/gst/gstreamer-sections.txt:
2394         * gst/gsttaglist.c: (_gst_tag_initialize):
2395         * gst/gsttaglist.h:
2396           API: add GST_TAG_REFERENCE_LEVEL (#403597).
2397
2398 2007-02-11  Stefan Kost  <ensonic@users.sf.net>
2399
2400         * docs/libs/Makefile.am:
2401           Fix path to core docs.
2402
2403         * gst/gstbin.c: (gst_bin_get_by_interface),
2404         (gst_bin_iterate_all_by_interface):
2405           Refix docs by also renaming 'interface' to 'iface' in implementation.
2406
2407         * docs/gst/gstreamer-sections.txt:
2408         * gst/gstcaps.c:
2409         * gst/gstchildproxy.c: (gst_child_proxy_base_init):
2410         * gst/gstchildproxy.h:
2411         * gst/gstelementfactory.c:
2412         * gst/gstpadtemplate.h:
2413         * libs/gst/controller/gstcontroller.c:
2414         (gst_controlled_property_new):
2415           Document more.
2416
2417 2007-02-10  Sébastien Moutte  <sebastien@moutte.net>
2418
2419         * gst/gstbin.h:(gst_bin_get_by_interface),
2420         (gst_bin_iterate_all_by_interface):
2421         Replace interface parameter name by iface as interface is 
2422         a reserved keyword in Visual Studio for C++ projects so it removes
2423         a build error for application developpers using VS.
2424         * plugins/elements/gstfilesrc.c:(gst_file_src_uri_set_uri):
2425         Fix a bug on Windows in uri format check. Now the prefix checked
2426         is file:// and next we check if the path after file:// is absolute.
2427         * win32/common/libgstbase.def:
2428         * win32/common/libgstdataprotocol.def:
2429         * win32/common/libgstgstreamer.def:
2430         Add new exported functions.
2431
2432 2007-02-09  Andy Wingo  <wingo@pobox.com>
2433
2434         * tests/check/pipelines/simple-launch-lines.c
2435         (simple_launch_lines_suite, test_tee): Disable tee test until I
2436         have time to fix it :-(
2437
2438         * tests/check/Makefile.am (noinst_HEADERS): 
2439         * tests/check/libs/libsabi.c: 
2440         * tests/check/libs/struct_ppc32.h: Add ABI checks for PPC32.
2441         * tests/check/gst/gstabi.c: 
2442         * tests/check/gst/struct_ppc32.h: Add ABI checks for PPC32.
2443
2444         * tests/check/pipelines/simple-launch-lines.c (test_tee): Add
2445         tests for push and pull tee behavior.
2446
2447         * plugins/elements/gsttee.h: 
2448         * plugins/elements/gsttee.c: Describe has-sink-loop better, and
2449         mark as deprecated as well as unimplemented. It was a crack idea.
2450         Add support for tee operating in pull mode, off by default.
2451
2452         * gst/gstregistryxml.c (load_feature, load_plugin): Drop some
2453         normal-case logs down to LOG, raise errors to WARNING.
2454         (gst_registry_xml_read_cache): Don't log before calling a function
2455         that logs.
2456
2457         * gst/gstregistry.c (gst_registry_finalize): Less debug on program
2458         exit (registry finalize).
2459         (gst_registry_add_plugin, gst_registry_add_feature): No need for a
2460         DEBUG log when we emit signals that people don't even have the
2461         chance to connect to.
2462         (gst_registry_scan_path_level): Less logging in the normal case.
2463
2464 2007-02-05  Sebastian Dröge  <slomo@circular-chaos.org>
2465
2466         Patch by: Michal Benes <michal dot benes at itonis dot tv>
2467
2468         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
2469         Correctly generate EOS for non-seekable files. We don't have a total
2470         length for them and would get an unexpected end of file if we only
2471         special-cased for regular files. (Fixes: #404569)
2472
2473 2007-02-05  Sebastian Dröge  <slomo@circular-chaos.org>
2474
2475         * tests/check/elements/filesrc.c: (GST_START_TEST),
2476         (filesrc_suite):
2477         Add unit test for the GstURIHandler interface in filesrc. This also
2478         tests the newly added file://localhost/foo/bar support.
2479
2480 2007-02-04  Tim-Philipp Müller  <tim at centricular dot net>
2481
2482         * gst/gstelementfactory.h:
2483           The klass string is not a hierarchy. Add reference to the design doc
2484           for more information and common types.
2485
2486 2007-02-02  Wim Taymans  <wim@fluendo.com>
2487
2488         * gst/gstquery.c: (gst_query_new_latency):
2489         Remove old structure field.
2490
2491 2007-02-02  Stefan Kost  <ensonic@users.sf.net>
2492
2493         * tools/gst-launch.1.in:
2494           Give example for network streaming (#351998)
2495
2496 2007-02-02  Wim Taymans  <wim@fluendo.com>
2497
2498         * docs/gst/gstreamer-sections.txt:
2499         Add docs for new methods.
2500
2501         * gst/gstevent.c: (gst_event_new_latency),
2502         (gst_event_parse_latency):
2503         * gst/gstevent.h:
2504         Add new LATENCY event to configure latency in a pipeline.
2505         API: gst_event_new_latency
2506         API: gst_event_parse_latency
2507
2508         * gst/gstmessage.c: (gst_message_new_buffering),
2509         (gst_message_new_lost_preroll), (gst_message_new_prerolled),
2510         (gst_message_new_latency), (gst_message_parse_buffering),
2511         (gst_message_parse_lost_preroll):
2512         * gst/gstmessage.h:
2513         Added messages used in draft-latency.
2514         API: gst_message_new_lost_preroll
2515         API: gst_message_parse_lost_preroll
2516         API: gst_message_new_prerolled
2517         API: gst_message_new_latency
2518
2519         * gst/gstquery.c: (gst_query_new_latency), (gst_query_set_latency),
2520         (gst_query_parse_latency):
2521         * gst/gstquery.h:
2522         Implemented new latency query as in design doc.
2523         API: gst_query_new_latency
2524         API: gst_query_set_latency
2525         API: gst_query_parse_latency
2526
2527 2007-02-02  Wim Taymans  <wim@fluendo.com>
2528
2529         * docs/design/draft-latency.txt:
2530         Slight redesign to allow for dynamic latency adjustments.
2531
2532         * docs/design/part-negotiation.txt:
2533         Fix some typos.
2534
2535 2007-02-02  Sebastian Dröge  <slomo@circular-chaos.org>
2536
2537         reviewed by: Wim Taymans <wim@fluendo.com>
2538
2539         * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
2540         * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
2541         Allow file://localhost/foo/bar URLs and correctly fail for every other
2542         hostname that one sets. This was gnomevfssrc is linked for those if
2543         installed as it can handle it (#403172)
2544
2545 2007-02-01  Sebastian Dröge  <slomo@circular-chaos.org>
2546
2547         reviewed by: Tim-Philipp Müller <tim at centricular dot net>
2548
2549         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
2550         (unref_data), (gst_collect_pads_add_pad_full):
2551         * libs/gst/base/gstcollectpads.h:
2552         Don't put the previously added destroy notify in the GstCollectData
2553         struct as all it's padding is already used and we don't want to break
2554         ABI. Instead put in the pad's GObject data for now. This should be
2555         cleaned up for 0.11 (#402393).
2556
2557 2007-02-01  Sebastian Dröge  <slomo@circular-chaos.org>
2558
2559         reviewed by: Wim Taymans <wim@fluendo.com>
2560
2561         * docs/libs/gstreamer-libs-sections.txt:
2562         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
2563         (unref_data), (gst_collect_pads_add_pad),
2564         (gst_collect_pads_add_pad_full):
2565         * libs/gst/base/gstcollectpads.h:
2566         API: Add function to specify a destroy notification for custom
2567         GstCollectData when adding new pads in GstCollectPads (#402393).
2568
2569 2007-02-01  Tim-Philipp Müller  <tim at centricular dot net>
2570
2571         * po/sv.po:
2572           Update Swedish translation (#378255).
2573
2574 2007-01-31  Stefan Kost  <ensonic@users.sf.net>
2575
2576         * docs/design/draft-klass.txt:
2577           Fix the previous change, this is a list of categories and not a hierarchy.
2578
2579 2007-01-31  Stefan Kost  <ensonic@users.sf.net>
2580
2581         * docs/design/draft-klass.txt:
2582           Add info about how to get a list of used classes.
2583
2584 2007-01-30  Tim-Philipp Müller  <tim at centricular dot net>
2585
2586         * plugins/elements/gsttypefindelement.c:
2587         (gst_type_find_element_chain_do_typefinding),
2588         (gst_type_find_element_change_state):
2589           Don't leak found caps in chain function (no idea why that never
2590           showed up as a leak anywhere).
2591
2592 2007-01-30  Stefan Kost  <ensonic@users.sf.net>
2593
2594         * gst/gstplugin.h:
2595           Fix and expand GstPluginDesc API docs.
2596
2597 2007-01-29  Stefan Kost  <ensonic@users.sf.net>
2598
2599         * gst/gstcaps.c:
2600         * gst/gstelementfactory.c:
2601         * gst/gstpadtemplate.h:
2602           api doc fixes
2603
2604         * libs/gst/controller/gstcontroller.c:
2605         (gst_controlled_property_new):
2606         * tests/examples/controller/audio-example.c:
2607           comment fixes
2608
2609 2007-01-29  Stefan Kost  <ensonic@users.sf.net>
2610
2611         * configure.ac:
2612           comment about refining the xml deps
2613
2614         * docs/manuals.mak:
2615           comments about moving away from jade for docs
2616         
2617         * gst/gst.c:
2618           recommit the ifdefs to use the binary registry
2619         
2620         * gst/gstbin.c: (gst_bin_change_state_func):
2621           this break is obsolete
2622
2623         * gst/gstelementfactory.h:
2624           better GST_ELEMENT_DETAILS docs, add comment about translation
2625
2626         * gst/gstinfo.h:
2627           remove eol slash
2628
2629         * gst/gstobject.c: (gst_signal_object_get_type):
2630           add G_UNLIKELY as usual
2631
2632         * gst/gstpad.c: (gst_pad_event_default):
2633           add fall trhu comment
2634
2635         * gst/gstregistrybinary.c: (gst_registry_binary_write),
2636         (gst_registry_binary_initialize_magic),
2637         (gst_registry_binary_save_string),
2638         (gst_registry_binary_save_pad_template),
2639         (gst_registry_binary_save_feature),
2640         (gst_registry_binary_save_plugin),
2641         (gst_registry_binary_write_cache),
2642         (gst_registry_binary_check_magic),
2643         (gst_registry_binary_load_pad_template),
2644         (gst_registry_binary_load_feature),
2645         (gst_registry_binary_load_plugin),
2646         (gst_registry_binary_read_cache):
2647           comment typo and formatting
2648
2649         * gst/gstutils.c: (gst_element_state_get_name),
2650         (gst_element_state_change_return_get_name):
2651           remove obsolete breaks
2652
2653         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
2654           add FIXME 0.11 and remove cpp comment
2655
2656 2007-01-29  Edward Hervey  <edward@fluendo.com>
2657
2658         * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
2659         Fix print statement in an even more portable way.
2660
2661 2007-01-29  Tim-Philipp Müller  <tim at centricular dot net>
2662
2663         * docs/gst/gstreamer-sections.txt:
2664         * gst/gstutils.h:
2665           API: add GST_ROUND_DOWN_* macros (#401781).
2666
2667 2007-01-27  Tim-Philipp Müller  <tim at centricular dot net>
2668
2669         * docs/gst/gstreamer.types.in:
2670         * gst/gstregistry.c: (gst_registry_class_init):
2671           Document registry signals and make gtk-doc pick them up (#401381).
2672
2673 2007-01-26  Tim-Philipp Müller  <tim at centricular dot net>
2674
2675         * docs/pwg/building-testapp.xml:
2676           Add some audioconverts and audioresample to the pipeline, and some
2677           more comments and error handling.
2678
2679 2007-01-26  Tim-Philipp Müller  <tim at centricular dot net>
2680
2681         * docs/manual/manual.xml:
2682         * docs/pwg/pwg.xml:
2683           Fix typo (#400987).
2684
2685 2007-01-26  Wim Taymans  <wim@fluendo.com>
2686
2687         * gst/gstcaps.c: (gst_static_caps_get):
2688         Init caps flags too.
2689
2690 2007-01-25  Sebastian Dröge  <slomo@circular-chaos.org>
2691
2692         Patch by: Jindrich Makovicka <jindrich.makovick at itonis dot tv>
2693
2694         * plugins/elements/gstfilesrc.c: (gst_file_src_start):
2695         If not using mmap'ed files try to seek to the end instead of the
2696         start to determine whether we can seek at all. This fixes the case
2697         of 2GB+ files over NFS, where seeks in the first 2GB can succeed but
2698         seeks for everything afterwards fail. Fixes #400656
2699
2700 2007-01-25  Wim Taymans  <wim@fluendo.com>
2701
2702         * gst/gstcaps.c: (_gst_caps_free), (gst_static_caps_get):
2703         Add some refcount debugging.
2704         Make gst_static_caps_get threadsafe, which is needed when autoplugging
2705         in multiple streaming threads.
2706
2707 2007-01-25  Wim Taymans  <wim@fluendo.com>
2708
2709         Patch by: David Schleef <ds at schleef dot org>
2710
2711         * docs/libs/gstreamer-libs-sections.txt:
2712         * libs/gst/base/gstadapter.c: (gst_adapter_copy):
2713         * libs/gst/base/gstadapter.h:
2714         API: gst_adapter_copy() that can reduce the amount of memcpy when
2715         getting data from the adapter. Fixes #388201.
2716
2717 2007-01-25  Edward Hervey  <edward@fluendo.com>
2718
2719         * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
2720         In print statements, "%x" is for guint. Fixes build on macosx.
2721
2722 2007-01-24  Edward Hervey  <edward@fluendo.com>
2723
2724         * plugins/elements/gstmultiqueue.c:
2725         (gst_multi_queue_loop):
2726         Small fix.
2727         (single_queue_overrun_cb), (single_queue_underrun_cb),
2728         (single_queue_check_full), (gst_single_queue_new):
2729         Implement single queue growth system.
2730         This uses the extra-size properties, and will grow single queues by
2731         that much if one goes full whereas there are others empty. This is
2732         called extra-mode in the code.
2733         When a single queue's levels go back below the initial max-size
2734         limits, it is no longer in extra-mode. This is to ensure we don't
2735         consume too much memory.
2736         Fixes #399875
2737
2738 2007-01-23  Tim-Philipp Müller  <tim at centricular dot net>
2739
2740         * gst/gst.c: (gst_init_get_option_group):
2741           Make warning about late g_thread_init() calls a bit more explicit,
2742           so that it's more obvious to application developers what they need
2743           to do if a user files a bug against their application.
2744
2745 2007-01-22  Edward Hervey  <edward@fluendo.com>
2746
2747         * plugins/elements/gstmultiqueue.c:
2748         (gst_multi_queue_src_activate_push), (gst_single_queue_new):
2749         Remove previous hack of unsetting the flushing flag for the source pad
2750         instead of activating it. Instead, fix the source pad activate function
2751         so that it no longer depends on having a parent set or not.
2752
2753 2007-01-22  Tim-Philipp Müller  <tim at centricular dot net>
2754
2755         Patch by: Carlos Sanmartin Dominguez <csanmartin@igalia.com>
2756
2757         * docs/manual/basics-bus.xml:
2758           Fix example code, gst_element_unref() doesn't exist any longer.
2759
2760 2007-01-21  Tim-Philipp Müller  <tim at centricular dot net>
2761
2762         Patch by: Mark Nauwelaerts <manauw at skynet be>
2763
2764         * gst/gstpad.c:
2765           Fix two docs typoes (#399094).
2766
2767 2007-01-19  Edward Hervey  <edward@fluendo.com>
2768
2769         * docs/faq/gst-uninstalled:
2770         Add gst-plugins-base/gst/utils/ to LD_LIBRARY_PATH so that plugins
2771         depending on libgstbaseutils can work in uninstalled environment.
2772
2773 2007-01-18  Stefan Kost  <ensonic@users.sf.net>
2774
2775         * gst/gsttaglist.h:
2776         * gst/gsttagsetter.c:
2777         Add more docs regarding tag merge-modes and when to send tags. Fix 'since'
2778         statement for new tag.
2779
2780 2007-01-17  Edward Hervey  <edward@fluendo.com>
2781
2782         * plugins/elements/gstmultiqueue.c: (gst_single_queue_new):
2783         When dynamically creating single queues, activate sinkpad before adding
2784         it.
2785         We should be doing the same thing for the source pad, but we can't
2786         since it would call a method which needs the parent to be set in order
2787         to work propertly. Instead of activating the source pad, we just unset
2788         the flushing flag, which is the minimal requirement for adding a pad
2789         to an element in a state greater than READY.
2790
2791 2007-01-17  Edward Hervey  <edward@fluendo.com>
2792
2793         * docs/faq/gst-uninstalled:
2794         Add DYLD_LIBRARY_PATH declarations so we can also use this script on
2795         Mac OS X.
2796
2797 2007-01-17  Tim-Philipp Müller  <tim at centricular dot net>
2798
2799         * tests/check/gst/gstabi.c:
2800         * tests/check/gst/struct_hppa.h:
2801         * tests/check/libs/libsabi.c:
2802         * tests/check/libs/struct_hppa.h:
2803           Add ABI structs for HPPA (see #393796).
2804
2805 2007-01-16  Tim-Philipp Müller  <tim at centricular dot net>
2806
2807         * libs/gst/check/gstcheck.c: (gst_check_abi_list):
2808           Actually write ABI structs to the file specified in the GST_ABI
2809           environment variable, as the message we print claims we would.
2810
2811 2007-01-15  Stefan Kost  <ensonic@users.sf.net>
2812
2813         * tests/check/gst/gsttask.c:
2814           Fix header comment.
2815
2816 2007-01-15  Stefan Kost  <ensonic@users.sf.net>
2817
2818         * gst/gsttaglist.c: (_gst_tag_initialize):
2819           Change tag type from STRING to DOUBLE. Apply ChangeLog surgery for my
2820           previous two entries.
2821
2822 2007-01-15  Stefan Kost  <ensonic@users.sf.net>
2823
2824         * docs/gst/gstreamer-sections.txt:
2825         * gst/gsttaglist.c: (_gst_tag_initialize):
2826         * gst/gsttaglist.h:
2827           Add tag support for beat-per-minute.
2828
2829 2007-01-15  Stefan Kost  <ensonic@users.sf.net>
2830
2831         * gst/gstregistrybinary.c: (gst_registry_binary_write),
2832         (gst_registry_binary_initialize_magic),
2833         (gst_registry_binary_save_string), (gst_registry_binary_make_data),
2834         (gst_registry_binary_save_pad_template),
2835         (gst_registry_binary_save_feature),
2836         (gst_registry_binary_save_plugin),
2837         (gst_registry_binary_write_cache),
2838         (gst_registry_binary_check_magic),
2839         (gst_registry_binary_load_pad_template),
2840         (gst_registry_binary_load_feature),
2841         (gst_registry_binary_load_plugin),
2842         (gst_registry_binary_read_cache):
2843         * gst/gstregistrybinary.h:
2844           Use glib types, cleanup comments, impement interfaces and uri-types.
2845
2846 2007-01-13  Andy Wingo  <wingo@pobox.com>
2847
2848         * gst/gstpad.c (gst_pad_get_range, gst_pad_pull_range): Allow
2849         getrange() to return buffers with other caps, while we fix
2850         demuxers and typefind, or otherwise change part-negotiation.txt.
2851
2852 2007-01-12  Andy Wingo  <wingo@pobox.com>
2853
2854         * libs/gst/base/gstbasetransform.c (gst_base_transform_activate):
2855         Factor start/stop into this private function instead of partially
2856         in activate functions and partially in the change_state function.
2857         Fixes setup before the element has changed from READY->PAUSED, as
2858         is the case in pull-mode pipelines.
2859         (gst_base_transform_sink_activate_push)
2860         (gst_base_transform_src_activate_pull): Refactor to use
2861         gst_base_transform_activate().
2862         (gst_base_transform_change_state): Removed, not needed any more.
2863
2864         * libs/gst/base/gstbasesink.c (gst_base_sink_negotiate_pull):
2865         Truncate before fixating.
2866         
2867         * libs/gst/base/gstbasesink.c (gst_base_sink_negotiate_pull):
2868         Don't set_caps() if the result of fixating is ANY, as it's not
2869         supported, and not necessary in the case of a link with no
2870         template caps on either side. Fixes tests/check/libs/basesrc in
2871         some pull-mode tests.
2872
2873         * libs/gst/base/gstbasetransform.c (_GstBaseTransformPrivate):
2874         (gst_base_transform_init, gst_base_transform_sink_activate_push)
2875         (gst_base_transform_src_activate_pull): 
2876         Track the activation mode.
2877         (gst_base_transform_setcaps): In pull mode, when activating the
2878         src pad, after activating the sink pad, activate the sink pad's
2879         peer, as discussed in part-negotiation.txt.
2880
2881         * libs/gst/base/gstbasesrc.h: 
2882         * libs/gst/base/gstbasesrc.c (gst_base_src_fixate): Add fixate
2883         vmethod, as in basesink.
2884
2885         * libs/gst/base/gstbasesink.h: Reformat docs, add fixate vmethod.
2886
2887         * libs/gst/base/gstbasesink.c (gst_base_sink_pad_setcaps): In pull
2888         mode, first proxy the setcaps to the peer pad.
2889         (gst_base_sink_pad_fixate): Add a fixate function that calls the
2890         new fixate vmethod.
2891         (gst_base_sink_default_activate_pull): Rename from
2892         gst_base_sink_activate_pull.
2893         (gst_base_sink_negotiate_pull): New function, performs negotiation
2894         in pull mode before calling ::activate_pull().
2895         (gst_base_sink_pad_activate_pull): Actually call the activate_pull
2896         vmethod instead of the default implementation. I have no idea how
2897         this worked before. Negotiate before calling activate_pull.
2898
2899         * gst/gstpad.c (gst_pad_activate_pull): Refuse to activate unlinked
2900         sink pads in pull mode. In addition to being correct, fixes
2901         filesrc ! decodebin ! identity ! fakesink.
2902         (gst_pad_get_range, gst_pad_pull_range): Don't call
2903         gst_pad_set_caps() if the caps changes; instead error out with
2904         GST_FLOW_NOT_NEGOTIATED, as discussed in part-negotiation.txt.
2905
2906 2007-01-12  Andy Wingo  <wingo@pobox.com>
2907
2908         * docs/design/part-negotiation.txt: Update with more policy.
2909
2910 2007-01-12  Tim-Philipp Müller  <tim at centricular dot net>
2911
2912         * libs/gst/check/gstbufferstraw.h:
2913         * libs/gst/check/gstcheck.h:
2914           Add G_BEGIN_DECLS and G_END_DECLS. Move GST_CHECK_MAIN where it
2915           belongs.
2916
2917 2007-01-12  Tim-Philipp Müller  <tim at centricular dot net>
2918
2919         * tests/check/Makefile.am:
2920         * tests/check/gst/.cvsignore:
2921         * tests/check/gst/gsttagsetter.c: (gst_dummy_enc_add_interfaces),
2922         (gst_dummy_enc_base_init), (gst_dummy_enc_class_init),
2923         (gst_dummy_enc_init), (tag_list_foreach), (tag_setter_list_length),
2924         (GST_START_TEST), (gst_tag_setter_suite):
2925           Add minimal unit test for beforementioned GstTagSetter bug.
2926
2927 2007-01-12  Tim-Philipp Müller  <tim at centricular dot net>
2928
2929         Patch by: René Stadler <mail at renestadler dot de>
2930
2931         * gst/gsttagsetter.c: (gst_tag_setter_merge_tags):
2932           gst_tag_list_merge() returns a new list, so it's not the best idea
2933           to ingore its return value. Effectively meant that tags could only
2934           be merged on a GstTagSetter once using _merge_tags(). Fixes #395554.
2935           Also add function guard to require a non-NULL taglist as input (has
2936           always been so due to gst_tag_list_copy(), just making it explicit).
2937
2938 2007-01-11  Tim-Philipp Müller  <tim at centricular dot net>
2939
2940         * docs/random/draft-missing-plugins.txt:
2941           Some additions: mention new API that is supposed to be used at the
2942           various stages; short blob about new gst-inspect introspection
2943           option; mention potential future problem with plugins that have
2944           a dynamic list of elements (such as ladspa, pitfdll, libvisual).
2945
2946 2007-01-11  Tim-Philipp Müller  <tim at centricular dot net>
2947
2948         * tools/gst-inspect.c:
2949         (print_plugin_automatic_install_info_codecs),
2950         (print_plugin_automatic_install_info_protocols),
2951         (print_plugin_automatic_install_info), (main):
2952         Add --print-plugin-auto-install-info option to gst-inspect, so we can
2953         introspect plugin files and get machine-parsable output that corresponds
2954         to the last bit of the missing-plugin installer string (small gotcha:
2955         doesn't take into account ranks).
2956
2957 2007-01-11  Stefan Kost  <ensonic@users.sf.net>
2958
2959         * configure.ac:
2960         * docs/gst/gstreamer-sections.txt:
2961         * gst/Makefile.am:
2962         * gst/gstregistry.c: (gst_registry_lookup_feature_locked),
2963         (gst_registry_lookup_locked):
2964         * gst/gstregistry.h:
2965         * gst/gstregistrybinary.c: (gst_registry_binary_write),
2966         (gst_registry_binary_initialize_magic),
2967         (gst_registry_binary_save_string),
2968         (gst_registry_binary_save_pad_template),
2969         (gst_registry_binary_save_feature),
2970         (gst_registry_binary_save_plugin),
2971         (gst_registry_binary_write_cache),
2972         (gst_registry_binary_check_magic),
2973         (gst_registry_binary_load_pad_template),
2974         (gst_registry_binary_load_feature),
2975         (gst_registry_binary_load_plugin),
2976         (gst_registry_binary_read_cache):
2977         * gst/gstregistrybinary.h:
2978         * gst/gstregistryxml.c: (load_feature),
2979         (gst_registry_xml_read_cache):
2980           commit binary registry (disabled by default, see #359653)
2981
2982 2007-01-11  Tim-Philipp Müller  <tim at centricular dot net>
2983
2984         * tests/check/gst/gstpad.c: (test_get_allowed_caps):
2985           Fix 'make check' too.
2986
2987 2007-01-10  Andy Wingo  <wingo@pobox.com>
2988
2989         * docs/design/part-negotiation.txt: Fix a typo, add a couple
2990         notes.
2991         
2992         * docs/design/part-negotiation.txt: Update with, um, one way that
2993         pull-mode negotiation might work?
2994
2995         * gst/gstpad.h: 
2996         * gst/gstpad.c (gst_pad_get_allowed_caps): Remove the restriction
2997         that the pad must be a src pad; makes sense to call it the other
2998         way in pull mode, and the logic is symmetric anyway.
2999
3000 2007-01-10  Tim-Philipp Müller  <tim at centricular dot net>
3001
3002         * plugins/elements/gstfilesink.c:
3003           Include <stdio.h> for fseeko().
3004
3005 2007-01-10  Wim Taymans  <wim@fluendo.com>
3006
3007         * gst/gstevent.c:
3008         * gst/gstevent.h:
3009         Reserve LATENCY event.
3010
3011 2007-01-09  Wim Taymans  <wim@fluendo.com>
3012
3013         * docs/design/draft-latency.txt:
3014         Updates.
3015
3016 2007-01-09  Wim Taymans  <wim@fluendo.com>
3017
3018         * docs/design/draft-latency.txt:
3019         Updates.
3020
3021         * gst/gstelement.h:
3022         * gst/gststructure.c:
3023         * gst/gsttrace.c:
3024         Small typo fixes.
3025
3026 2007-01-09  Tim-Philipp Müller  <tim at centricular dot net>
3027
3028         * tests/check/.cvsignore:
3029           Ignore test-registry.xml as well.
3030
3031 2007-01-09  Wim Taymans  <wim@fluendo.com>
3032
3033         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad):
3034         unref data at the end when we are done with the pad.
3035
3036 2007-01-08  Tim-Philipp Müller  <tim at centricular dot net>
3037
3038         * docs/gst/gstreamer-sections.txt:
3039         * gst/gst.c: (load_plugin_func), (scan_and_update_registry),
3040         (init_post), (gst_deinit), (gst_update_registry):
3041         * gst/gst.h:
3042           API: add gst_update_registry() (#391296).
3043
3044         * tests/check/Makefile.am:
3045         * tests/check/gst/gstregistry.c:
3046         * tests/check/gst/.cvsignore:
3047           Simple unit test for the above.
3048
3049 2007-01-08  Tim-Philipp Müller  <tim at centricular dot net>
3050
3051         * gst/gstregistry.c: (gst_registry_scan_path_level):
3052           Plugin extension on HP-UX is .sl, add that to the list of approved
3053           plugin extensions (see #393796).
3054
3055         * tests/check/gst/gstpad.c: (GST_START_TEST):
3056           ulong => gulong. Fixes compilation with HP-UX compiler.
3057
3058         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
3059           Fix compilation if valgrind headers are not available.
3060
3061 2007-01-07  Sébastien Moutte  <sebastien@moutte.net>
3062
3063         * win32/common/libgstreamer.def: 
3064           Add new exported function.
3065         * win32/vs6/libgstbase.dsp: 
3066           Add gstdataqueue.c to the build.
3067         * win32/vs6/libgstcoreelements.dsp:
3068           Add gstmultiqueue.c to the build.
3069         
3070 2007-01-06  Andy Wingo  <wingo@pobox.com>
3071
3072         * libs/gst/base/gstbasesink.h: New GstBaseSinkClass vmethod,
3073         activate_pull(), providing for a way to specialize the process of
3074         spawning a thread to pull on the sink pad. There is a default
3075         implementation.
3076
3077         * libs/gst/base/gstbasesink.c (gst_base_sink_pad_activate_pull)
3078         (gst_base_sink_pad_activate_push, gst_base_sink_pad_activate)
3079         (gst_base_sink_init): Renamed pad activation functions (inserting
3080         "_pad" in their names). Refactor to use the new activate_pull
3081         vmethod, as appropriate.
3082         (gst_base_sink_class_init, gst_base_sink_activate_pull): Set the
3083         default activate_pull function to start a task pulling from the
3084         sink pad, as before.
3085
3086         * gst/gstpad.c (gst_pad_get_range, gst_pad_pull_range): Set caps
3087         on the pads if necessary, as in push()/chain(). Update docs.
3088         Shouldn't affect existing pull() usage as it is currently only
3089         being used on buffers without caps.
3090
3091 2007-01-05  Tim-Philipp Müller  <tim at centricular dot net>
3092
3093         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
3094         (init_pre):
3095           Call g_thread_init() first thing in gst_init() / gst_check_init().
3096           When initialisation is done via gst_init_get_option_group() and
3097           GOption parsing, issue a warning if the GLib thread system has not
3098           been initialised yet by the time gst_init_get_option_group() is
3099           called, as it's quite likely other GLib functions such as
3100           g_option_context_new() have been called already then, and
3101           g_thread_init() must be called before any other GLib function. The
3102           application in question must be fixed in that case, since memory
3103           corruption might happen otherwise.
3104           We issue the warning because even if the GLib folks decide to work
3105           around the problem on their end in future, this is still an issue
3106           with all GLib versions >= 2.10.0, so we should warn until we depend
3107           on a GLib version we know to be safe.
3108           Update documentation as well.
3109           Closes bug #391278.
3110
3111 2007-01-05  Tim-Philipp Müller  <tim at centricular dot net>
3112
3113         * tools/gst-inspect.c: (main):
3114         * tools/gst-launch.c: (main):
3115         * tools/gst-typefind.c: (main):
3116         * tools/gst-xmlinspect.c: (main):
3117           Call g_thread_init() really really early, before any other GLib
3118           function (see #342564 and recent discussion on gtk-devel-list).
3119
3120 2007-01-05  Tim-Philipp Müller  <tim at centricular dot net>
3121
3122         Patch by: Vincent Torri  <vtorri at univ-evry dot fr>
3123
3124         * gst/gst_private.h:
3125         * gst/gstconfig.h.in:
3126         * gst/gstinfo.h:
3127           On win32, all the __declspec stuff for symbol exporting is
3128           apparently only needed with MSVC, but doesn't work with MingW.
3129           Fixes compilation with MingW and #391909.
3130
3131 2007-01-05  Tim-Philipp Müller  <tim at centricular dot net>
3132
3133         * libs/gst/base/gstbasesrc.c: (gst_base_src_activate_push):
3134           Change some GST_ERROR_OBJECT that aren't really errors to
3135           GST_WARNING_OBJECT in order to reduce terminal spam.
3136
3137 2007-01-04  Stefan Kost  <ensonic@users.sf.net>
3138
3139         * tests/check/Makefile.am:
3140           disable test again, as there seem to be still race problems
3141
3142 2007-01-04  Stefan Kost  <ensonic@users.sf.net>
3143
3144         * tests/check/Makefile.am:
3145         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
3146         (GST_START_TEST), (queue_suite):
3147           enable queue test again, add tests for the leaky behaviour
3148
3149 2007-01-02  Tim-Philipp Müller  <tim at centricular dot net>
3150
3151         * configure.ac:
3152         * tests/examples/Makefile.am:
3153           Compile adapter test/example only if the required headers are
3154           available (fixes #391915).
3155
3156 2007-01-01  David Schleef  <ds@schleef.org>
3157
3158         * gst/gstplugin.c:
3159           Restore the previous signal handler for SIGSEGV instead of
3160           setting to default, since we may have stolen it away from
3161           someone.  (i.e., Mono)
3162
3163 2006-12-26  Tim-Philipp Müller  <tim at centricular dot net>
3164
3165         * docs/random/draft-missing-plugins.txt:
3166           Some small additions and clarifications.
3167
3168 2006-12-26  Tim-Philipp Müller  <tim at centricular dot net>
3169
3170         * gst/gstregistryxml.c: (gst_registry_save_escaped):
3171           Make sure we don't pass non-UTF-8 strings to g_markup_escape(),
3172           since that can lead to random memory corruptions and crashes
3173           (may or may not be related to #383244, #386711, and #386711).
3174
3175 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
3176
3177         * tests/check/.cvsignore:
3178         * tests/check/Makefile.am:
3179           sync .cvsignome and CLEANFILES
3180
3181 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
3182
3183         * tests/check/Makefile.am:
3184           fix distcheck
3185
3186 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
3187
3188         * docs/design/part-states.txt:
3189           two tiny additional comments
3190         
3191         * gst/gststructure.c:
3192           doc fixing
3193
3194         * tests/check/Makefile.am:
3195         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
3196         (GST_START_TEST):
3197           disable test for now, unless it gets fixed
3198
3199 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
3200
3201         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
3202         (GST_START_TEST):
3203           fix race in underrun test
3204
3205 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
3206
3207         * tests/check/elements/.cvsignore:
3208           ignore more
3209
3210         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
3211         (GST_START_TEST):
3212           try to narrow test failure
3213
3214 2006-12-21  David Schleef  <ds@schleef.org>
3215
3216         * plugins/elements/gstfakesrc.c:
3217           Use g_random_int_range(), since it produces better random
3218           numbers in a range than almost-correct floating point code.
3219
3220 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
3221
3222         * libs/gst/check/gstcheck.c: (gst_check_setup_src_pad),
3223         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
3224         (gst_check_teardown_sink_pad):
3225           do not automatically (de)activate pads
3226
3227         * tests/check/Makefile.am:
3228         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
3229         (setup_queue), (cleanup_queue), (GST_START_TEST), (queue_suite):
3230           add new, yet simple tests for queue
3231
3232         * tests/check/elements/fakesrc.c: (cleanup_fakesrc):
3233         * tests/check/elements/fdsrc.c: (cleanup_fdsrc):
3234         * tests/check/elements/filesrc.c: (cleanup_filesrc),
3235         (GST_START_TEST):
3236         * tests/check/elements/identity.c: (cleanup_identity):
3237           consistent pad (de)activation
3238
3239 2006-12-20  Tim-Philipp Müller  <tim at centricular dot net>
3240
3241         Patch by: Sebastian Dröge  <slomo ubuntu com>
3242
3243         * libs/gst/base/gstcollectpads.c:
3244           Fix two doc typos (#387866).
3245
3246 2006-12-19  Tim-Philipp Müller  <tim at centricular dot net>
3247
3248         * docs/manual/advanced-dparams.xml:
3249           Fix typo (g_object_control_properties() doesn't exist).
3250
3251 2006-12-19  Edward Hervey  <edward@fluendo.com>
3252
3253         * gst/gstsegment.c: (gst_segment_set_seek):
3254         Fine tune the cases where the segment start/stop values are really
3255         updated.
3256         * tests/check/gst/gstsegment.c: (GST_START_TEST):
3257         Add tests for the return values of gst_segment_set_seek().
3258
3259 2006-12-19  Tim-Philipp Müller  <tim at centricular dot net>
3260
3261         * gst/gst.c:
3262           Docs typo fix.
3263
3264         * plugins/elements/gstqueue.c: (gst_queue_class_init),
3265         (gst_queue_init):
3266           Fix incorrect documentation and flesh it out a bit more.
3267           Set default values for the max properties on the GParamSpec as well,
3268           so it shows up correctly in gst-inspect.
3269
3270 2006-12-18  Stefan Kost  <ensonic@users.sf.net>
3271
3272         * plugins/elements/gstqueue.c: (queue_leaky_get_type):
3273           Correct docs of queue, add more detail and crosslink it more.
3274
3275 2006-12-16  Tim-Philipp Müller  <tim at centricular dot net>
3276
3277         * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
3278           Print additional debug info when the stream isn't perfectly
3279           timestamped; don't try to use invalid durations.
3280
3281 2006-12-16  Tim-Philipp Müller  <tim at centricular dot net>
3282
3283         * docs/design/Makefile.am:
3284           Dist new design docs.
3285
3286 2006-12-16  Wim Taymans  <wim@fluendo.com>
3287
3288         Patch by: Sjoerd Simons <sjoerd at luon dot net>
3289
3290         * libs/gst/base/gstcollectpads.c: (ref_data), (unref_data),
3291         (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
3292         (gst_collect_pads_stop), (gst_collect_pads_event),
3293         (gst_collect_pads_chain):
3294         * libs/gst/base/gstcollectpads.h:
3295         Add refcounting to the collectpads data so we can track when it's safe
3296         to free the data. Fixes #383382.
3297
3298 2006-12-15  Wim Taymans  <wim@fluendo.com>
3299
3300         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
3301         (gst_collect_pads_remove_pad):
3302         Automatically activate/deactivate pads when they are added to a
3303         started/stoped collectpads.
3304
3305 2006-12-15  Wim Taymans  <wim@fluendo.com>
3306
3307         * gst/gstelement.c: (gst_element_add_pad):
3308         * gst/gstghostpad.c: (gst_ghost_pad_new_full):
3309         * gst/gstpad.c: (gst_pad_init):
3310         Set pads to FLUSHING when they are created. Check, warn and fix when a
3311         demuxer adds an inactive pad to itself when running. Fixes #339326.
3312
3313 2006-12-15  Wim Taymans  <wim@fluendo.com>
3314
3315         * gst/gstelement.c: (gst_element_class_init),
3316         (gst_element_default_send_event), (gst_element_send_event),
3317         (gst_element_default_query), (gst_element_query):
3318         Expose default element send_event and query handling as vmethods that
3319         subclasses can chain up to.
3320
3321 2006-12-15  Wim Taymans  <wim@fluendo.com>
3322
3323         * gst/gstelement.c: (gst_element_set_state_func):
3324         Small documentation fixes.
3325
3326 2006-12-15  Wim Taymans  <wim@fluendo.com>
3327
3328         * docs/design/draft-latency.txt:
3329         Checked in draft for handling latency in pipelines.
3330
3331 2006-12-15  Thomas Vander Stichele  <thomas at apestaart dot org>
3332
3333         * Makefile.am:
3334         * gstreamer.doap:
3335         * gstreamer.spec.in:
3336           adding .doap file
3337
3338 2006-12-14  Tim-Philipp Müller  <tim at centricular dot net>
3339
3340         * gst/gst.c: (init_pre), (init_post):
3341           init_pre() and init_post() might be called via our GOptionGroup or
3342           from gst_init(), and we should skip both of them if we've already
3343           been initialised, otherwise we will init some things twice or add
3344           two default log functions.
3345
3346 2006-12-13  Edward Hervey  <edward@fluendo.com>
3347
3348         * docs/manual/basics-bus.xml:
3349         No, gst_main_loop does not exist. Its g_main_loop.
3350         Discovered by somebody who abused the copy-paste technique of coding :)
3351
3352 2006-12-13  Tim-Philipp Müller  <tim at centricular dot net>
3353
3354         * gst/gstghostpad.c:
3355           Log ghostpad debug stuff to the GST_PADS category as well rather
3356           than just to the default category.
3357
3358 2006-12-12  Tim-Philipp Müller  <tim at centricular dot net>
3359
3360         * configure.ac:
3361         * gst/gst.c: (init_pre):
3362           Add some basic system details such as OS and architecture
3363           to the debug output if possible, courtesy of uname().
3364
3365 2006-12-11  Tim-Philipp Müller  <tim at centricular dot net>
3366
3367         * docs/gst/running.xml:
3368           Document GST_REGISTRY_FORK and GST_DEBUG_NO_COLOR
3369           environment variables.
3370
3371 2006-12-09  Jan Schmidt  <thaytan@mad.scientist.com>
3372
3373         * tests/check/gst/gstbin.c: (GST_START_TEST):
3374         It is acceptable to have a refcount of 2 or 3 at this point in the
3375         test, because the pipeline might be just posting its state_change
3376         message. The next line then waits for that message to appear using
3377         bus_poll, so that should be fine too.
3378
3379 2006-12-09  Jan Schmidt  <thaytan@mad.scientist.com>
3380
3381         * gst/gst.c: (ensure_current_registry_forking):
3382         Ignore EINTR when reading from the child registry pipe.
3383         Explicitly ignore the return value from close, since it makes no
3384         difference.
3385
3386         * gst/gstminiobject.c: (gst_mini_object_ref),
3387         (gst_mini_object_unref):
3388         When debugging refcounts, check GST_IS_MINI_OBJECT and warn.
3389
3390         * gst/gstregistry.c: (_priv_gst_registry_remove_cache_plugins):
3391         When removing cached plugins, remove their features too, so they're
3392         not visible after they've disappeared.
3393
3394         * gst/gstutils.c: (prepare_link_maybe_ghosting):
3395         In the unlikely case that we are linking pads with no parents, don't
3396         crash trying to get the non-existent parent bin.
3397
3398         * gst/parse/grammar.y:
3399         Output debug in the PIPELINE category
3400
3401 2005-03-08  Wim Taymans  <wim@fluendo.com>
3402
3403         Patch by: René Stadler <mail at renestadler dot de>
3404
3405         * gst/gstclock.c: (gst_clock_new_periodic_id):
3406         Reject invalid clock times for interval of periodic ids.
3407         Fixes ##383506.
3408
3409 2006-12-07  Jan Schmidt  <thaytan@mad.scientist.com>
3410
3411         * gst/gstelementfactory.c: (gst_element_factory_create):
3412         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
3413         * gst/gsttypefindfactory.c: (gst_type_find_factory_call_function):
3414         * tools/gst-inspect.c: (print_element_info):
3415         Fix refcounting of gst_plugin_feature_load to match the docs. 
3416         Fixes: #380129
3417
3418 2006-12-07  Wim Taymans  <wim@fluendo.com>
3419
3420         * libs/gst/base/gstbasesink.c: (gst_base_sink_event),
3421         (gst_base_sink_get_position):
3422         Improve debugging of events.
3423
3424 2006-12-07  Wim Taymans  <wim@fluendo.com>
3425
3426         Patch by: René Stadler <mail at renestadler dot de>
3427
3428         * gst/gstclock.c: (gst_clock_id_wait):
3429         Make period ids add the interval to the origial requested time instead
3430         of the possibly updated time which can be wrong when there are multiple
3431         waiters for the same id. Fixes #382592.
3432
3433         * gst/gstsystemclock.c: (gst_system_clock_async_thread),
3434         (gst_system_clock_id_wait_jitter_unlocked),
3435         (gst_system_clock_id_wait_jitter):
3436         Fix restart in the async notify thread when an async entry is added to
3437         the front of the list. Fixes #381492. 
3438
3439         * tests/check/gst/gstsystemclock.c: (store_callback),
3440         (notify_callback), (GST_START_TEST), (gst_systemclock_suite):
3441         Added test for multiple async waits.
3442         Added test for async wait order.
3443
3444 2006-12-07  Wim Taymans  <wim@fluendo.com>
3445
3446         * gst/gstbin.c: (gst_bin_query):
3447         Add some more docs about the POSITION query.
3448
3449 2006-12-07  Jan Schmidt  <thaytan@mad.scientist.com>
3450
3451         * configure.ac:
3452         Bump version nano - back to CVS.
3453
3454 === release 0.10.11 ===
3455
3456 2006-12-06  Jan Schmidt <thaytan@mad.scientist.com>
3457
3458         * configure.ac:
3459           releasing 0.10.11, "Love never runs on time"
3460
3461 2006-12-01  Jan Schmidt  <thaytan@mad.scientist.com>
3462
3463         * win32/common/libgstbase.def:
3464         * win32/common/libgstreamer.def:
3465         * win32/vs8/libgstbase.vcproj:
3466         * win32/vs8/libgstcoreelements.vcproj:
3467         * win32/vs8/libgstreamer.vcproj:
3468         Fix compilation on win32 under VS8
3469         Patch by: Sergey Scobich <sergey dot scobich at gmail dot com>
3470         Partially fixes #381175
3471
3472 2006-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
3473
3474         * gst/gstvalue.c: (gst_value_compare_fraction):
3475         If someone is foolish enough to compare 2 fractions with denominator =
3476         0, return UNORDERED rather than aborting.
3477
3478 2006-11-28  Edward Hervey  <edward@fluendo.com>
3479
3480         * libs/gst/base/Makefile.am:
3481         * libs/gst/base/gstdataqueue.c: (gst_data_queue_get_type),
3482         (gst_data_queue_base_init), (gst_data_queue_class_init),
3483         (gst_data_queue_init), (gst_data_queue_new),
3484         (gst_data_queue_cleanup), (gst_data_queue_finalize),
3485         (gst_data_queue_locked_flush), (gst_data_queue_locked_is_empty),
3486         (gst_data_queue_locked_is_full), (gst_data_queue_flush),
3487         (gst_data_queue_is_empty), (gst_data_queue_is_full),
3488         (gst_data_queue_set_flushing), (gst_data_queue_push),
3489         (gst_data_queue_pop), (gst_data_queue_drop_head),
3490         (gst_data_queue_set_property), (gst_data_queue_get_property):
3491         * libs/gst/base/gstdataqueue.h:
3492         New GstDataQueue object for threadsafe queueing. Most useful for
3493         elements that need some queueing functionnality.
3494         * docs/libs/gstreamer-libs-docs.sgml:
3495         * docs/libs/gstreamer-libs-sections.txt:
3496         Insert documentation for GstDataQueue
3497         * plugins/elements/Makefile.am:
3498         * plugins/elements/gstelements.c:
3499         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_base_init),
3500         (gst_multi_queue_class_init), (gst_multi_queue_init),
3501         (gst_multi_queue_finalize), (gst_multi_queue_set_property),
3502         (gst_multi_queue_get_property), (gst_multi_queue_request_new_pad),
3503         (gst_multi_queue_release_pad), (gst_single_queue_push_one),
3504         (gst_multi_queue_item_destroy), (gst_multi_queue_item_new),
3505         (gst_multi_queue_loop), (gst_multi_queue_chain),
3506         (gst_multi_queue_sink_activate_push), (gst_multi_queue_sink_event),
3507         (gst_multi_queue_getcaps), (gst_multi_queue_bufferalloc),
3508         (gst_multi_queue_src_activate_push), (gst_multi_queue_acceptcaps),
3509         (gst_multi_queue_src_event), (gst_multi_queue_src_query),
3510         (wake_up_next_non_linked), (compute_next_non_linked),
3511         (single_queue_overrun_cb), (single_queue_underrun_cb),
3512         (single_queue_check_full), (gst_single_queue_new):
3513         * plugins/elements/gstmultiqueue.h:
3514         New multiqueue element, using GstDataQueue. Used for queuing multiple
3515         streams.
3516         Closes #344639 and #347785
3517
3518 2006-11-22  Stefan Kost  <ensonic@users.sf.net>
3519
3520         * docs/pwg/advanced-types.xml:
3521           add more missing type details
3522
3523         * tools/gst-run.c: (main):
3524           remove unused variable
3525
3526 2006-11-21  Stefan Kost  <ensonic@users.sf.net>
3527
3528         * docs/libs/Makefile.am:
3529         * docs/libs/gstreamer-libs.types:
3530           add types of base classes to enable gobject specific stuff in the docs
3531
3532         * docs/random/ensonic/embedded.txt:
3533           more ideas about isolating platform specific things
3534
3535 2006-11-20  Wim Taymans  <wim@fluendo.com>
3536
3537         Patch by: Sebastian Dröge <slomo at ubuntu dot com>
3538
3539         * libs/gst/check/gstcheck.h:
3540         Fix compilation and running against 0.9.4. Fixes #377332.
3541
3542 2006-11-20  Wim Taymans  <wim@fluendo.com>
3543
3544         * gst/gstsegment.c: (gst_segment_set_seek),
3545         (gst_segment_set_newsegment_full), (gst_segment_to_stream_time),
3546         (gst_segment_to_running_time):
3547         Fix boundary checking in to_running_time() and to_stream_time().
3548         Fixes #377183.
3549
3550         * tests/check/gst/gstsegment.c: (GST_START_TEST):
3551         stream and running time can now be calculated for the complete
3552         clipped segment.
3553
3554 2006-11-15  Tim-Philipp Müller  <tim at centricular dot net>
3555
3556         * gst/gstpad.c: (gst_pad_push_event):
3557           Can't access event structure after giving away ownership of
3558           the event.
3559
3560 2006-11-15  Stefan Kost  <ensonic@users.sf.net>
3561
3562         * docs/random/ensonic/embedded.txt:
3563         * docs/random/ensonic/profiling.txt:
3564         * docs/random/ensonic/receipies.txt:
3565           more thinking
3566
3567 2006-11-13  Wim Taymans  <wim@fluendo.com>
3568
3569         Patch by: Mark Nauwelaerts <manauw at skynet dot be>
3570
3571         * gst/gstpad.c:
3572         Fix documentation for gst_pad_dispatcher. Fixes #374475.
3573
3574 2006-11-13  Wim Taymans  <wim@fluendo.com>
3575
3576         Patch by: Jonathan Matthew <jonathan at kaolin dot wh9 dot net>
3577
3578         * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length):
3579         Store new length in segment duration so we don't keep on calling the
3580         potentially expensize get_size() call. Fixes #370865.
3581
3582 2006-11-10  Tim-Philipp Müller  <tim at centricular dot net>
3583
3584         Patch by: Sergey Scobich  <sergey.scobich at gmail com>
3585
3586         * win32/common/libgstreamer.def:
3587           Add two missing symbols (#366492).
3588
3589 2006-11-10  Jan Schmidt  <thaytan@mad.scientist.com>
3590
3591         * libs/gst/base/gstadapter.c: (gst_adapter_flush),
3592         (gst_adapter_take_buffer):
3593         Fix format string to use all its arguments.
3594         Remove useless >= check on a guint
3595
3596 2006-11-09  Jan Schmidt  <thaytan@mad.scientist.com>
3597
3598         * tests/examples/adapter/.cvsignore:
3599         Ignore build file as commanded by the build-bot
3600
3601 2006-11-09  Jan Schmidt  <thaytan@mad.scientist.com>
3602
3603         * tests/examples/adapter/Makefile.am:
3604         * tests/examples/adapter/adapter_test.c: (run_test_take),
3605         (run_test_take_buffer), (run_tests), (main):
3606
3607         Add new files from the previous commit
3608
3609 2006-11-09  Jan Schmidt  <thaytan@mad.scientist.com>
3610
3611         * Makefile.am:
3612         * configure.ac:
3613         * libs/gst/base/gstadapter.c: (gst_adapter_clear),
3614         (gst_adapter_push), (gst_adapter_peek_into), (gst_adapter_peek),
3615         (gst_adapter_flush), (gst_adapter_take), (gst_adapter_take_buffer):
3616         * libs/gst/base/gstadapter.h:
3617         * tests/check/libs/adapter.c: (create_and_fill_adapter),
3618         (GST_START_TEST), (gst_adapter_suite):
3619         * tests/examples/Makefile.am:
3620         Do some optimisation work in GstAdapter to avoid copies in more cases.
3621         It could still do slightly better by merging buffers when
3622         gst_buffer_is_span_fast is true, but is already faster. 
3623
3624         Also, avoid traversing a single-linked list to append each incoming 
3625         buffer inside the adapter.
3626
3627         Add simple test app that times the adapter behaviour in different
3628         situations, and extend the unit test to check that bytes enter and
3629         exit the adapter in their original order.
3630
3631 2006-11-08  Tim-Philipp Müller  <tim at centricular dot net>
3632
3633         * docs/random/draft-missing-plugins.txt:
3634           Update: use element message instead of adding a new message
3635           type to the core; don't provide GStreamer API to initiate the
3636           plugin download, just provide API to compose the strings needed
3637           and let an external libgimmestuff handle the rest.
3638
3639 2006-11-08  Jan Schmidt  <thaytan@mad.scientist.com>
3640
3641         * tools/gst-inspect.c: (print_element_properties_info):
3642         Print a string instead of 'unknown type' for GValueArray properties
3643
3644 2006-11-08  Christian F.K. Schaller  <christian@fluendo.com>
3645
3646         * docs/random/draft-missing-plugins.txt:
3647         More small fixes.
3648
3649 2006-11-07  Tim-Philipp Müller  <tim at centricular dot net>
3650
3651         * tests/examples/typefind/typefind.c: (type_found), (main):
3652           Make typefind element example work again (#371894); add a
3653           license header.
3654
3655 2006-11-07  Tim-Philipp Müller  <tim at centricular dot net>
3656
3657         * docs/random/draft-missing-plugins.txt:
3658           Commit initial draft about how to deal with missing plugins,
3659           needs work (API too).
3660
3661 2006-11-07  Stefan Kost  <ensonic@users.sf.net>
3662
3663         * docs/pwg/advanced-types.xml:
3664           documents the new caps elements (see #363118)
3665
3666 2006-11-06  Tim-Philipp Müller  <tim at centricular dot net>
3667
3668         * gst/gstplugin.c: (gst_plugin_load_file):
3669         * plugins/elements/gstfilesrc.c: (gst_mmap_buffer_finalize),
3670         (gst_file_src_map_region), (gst_file_src_start):
3671         * plugins/indexers/gstfileindex.c: (gst_file_index_load),
3672         (gst_file_index_commit):
3673           Use g_strerror() instead of strerror() - we want UTF-8.
3674
3675 2006-11-06  Tim-Philipp Müller  <tim at centricular dot net>
3676
3677         Patch by: Peter Kjellerstedt <pkj at axis com>
3678
3679         * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
3680           Another printf fix (#371493).
3681
3682 2006-11-06  Stefan Kost  <ensonic@users.sf.net>
3683
3684         * tests/check/gst/gsttag.c:
3685           relicence (okay with author=company)
3686
3687 2006-11-06  Stefan Kost  <ensonic@users.sf.net>
3688
3689         * gst/gstpad.c: (gst_pad_event_default_dispatch),
3690         (gst_pad_push_event):
3691           Enhance debug and improve docs
3692         
3693         * gst/gsturi.c:
3694           Fix docs
3695
3696 2006-11-06  Stefan Kost  <ensonic@users.sf.net>
3697
3698         * docs/random/ensonic/distributed.txt:
3699         * docs/random/ensonic/profiling.txt:
3700           more ideas
3701
3702 2006-11-06  Stefan Kost  <ensonic@users.sf.net>
3703
3704         * docs/gst/gstreamer-sections.txt:
3705           add new API and fix the build
3706           
3707         * gst/gstbin.c: (gst_bin_recalc_state):
3708         * gst/gstelement.c: (gst_element_message_full),
3709         (gst_element_get_state_func), (gst_element_set_state_func):
3710           use new API and improve logging
3711         
3712         * gst/gstutils.c: (gst_element_state_change_return_get_name):
3713         * gst/gstutils.h:
3714           API: add function to get StateChangereturn names to improve logs 
3715
3716 2006-11-04  Thomas Vander Stichele  <thomas at apestaart dot org>
3717
3718         * plugins/elements/gstfilesrc.c: (gst_file_src_start):
3719           I'm considering shooting the next person to put strerror stuff
3720           in the translateable part of the message.
3721
3722 2006-11-03  Wim Taymans  <wim@fluendo.com>
3723
3724         * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
3725         Get the type and printf conversion specifiers right.
3726
3727 2006-11-03  Wim Taymans  <wim@fluendo.com>
3728
3729         Patch by: Mark Nauwelaerts <manauw at skynet dot be>
3730
3731         * gst/gstpad.c: (gst_pad_init), (pre_activate),
3732         (gst_pad_set_blocked_async), (gst_pad_acceptcaps_default),
3733         (gst_pad_accept_caps), (handle_pad_block), (gst_pad_push_event):
3734         Some small cleanups. Improve debugging.
3735         * gst/gstpad.h:
3736         Signal all waiting threads with a broadcast instead of just one.
3737         Fixes #369942.
3738
3739 2006-11-03  Wim Taymans  <wim@fluendo.com>
3740
3741         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd),
3742         (gst_fd_src_create):
3743         Add some debugging. 
3744         Only update fd when it's different from the old.
3745
3746 2006-11-02  Tim-Philipp Müller  <tim at centricular dot net>
3747
3748         * plugins/elements/gstfilesrc.c: (gst_file_src_create_mmap):
3749           Printf fixes for PPC/OSX, take two (#369366).
3750
3751 2006-11-02  Tim-Philipp Müller  <tim at centricular dot net>
3752
3753         Based on patch by: Jan David Mol  <j.j.d.mol at tudelft nl>
3754
3755         * plugins/elements/gstfilesink.c: (gst_file_sink_class_init):
3756         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
3757         (gst_file_src_map_small_region), (gst_file_src_create_mmap):
3758           Printf fixes for gsize parameters on PPC/OSX (#369366). Also,
3759           don't cast to long long for portability reasons, but use
3760           GLib's types instead.
3761
3762 2006-10-30  Michael Smith  <msmith@fluendo.com>
3763
3764         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
3765           Get the arguments to lseek() the right way around.
3766           Fixes 367677.
3767
3768 2006-10-30  Wim Taymans  <wim@fluendo.com>
3769
3770         Patch by: gorshkov <gorshkov at oghma dot on dot ca>
3771
3772         * gst/gstinfo.h:
3773         _declspec should be __declspec (two underscores, not one). Fixes 366572.
3774
3775 2006-10-28  Tim-Philipp Müller  <tim at centricular dot net>
3776
3777         Patch by: Kjartan Maraas  <kmaraas at gnome org>
3778
3779         * docs/design/part-MT-refcounting.txt:
3780         * docs/random/wtay/capsnego2-docs:
3781         * gst/gstclock.c:
3782         * gst/gstxml.c:
3783           Typo fixes (#366212).
3784
3785 2006-10-28  Wim Taymans  <wim@fluendo.com>
3786
3787         Patch by: Sergey Scobich <sergey dot scobich at gmail dot com>
3788
3789         * gst/gst.c:
3790         * win32/common/libgstbase.def:
3791         * win32/common/libgstreamer.def:
3792         * win32/vs8/libgstbase.vcproj:
3793         * win32/vs8/libgstcontroller.vcproj:
3794         Add needed entries in .def files.
3795         Use HAVE_UNISTD_H.
3796         Rearrange def files in vs8 solutions. Fixes #366286.
3797
3798 2006-10-28  Tim-Philipp Müller  <tim at centricular dot net>
3799
3800         * win32/common/gstconfig.h:
3801           Add GST_SEGMENT_FORMAT and GST_USING_PRINTF_EXTENSION to the
3802           hand-made win32 gstconfig.h. Fixes #366321.
3803
3804 2006-10-27  Wim Taymans  <wim@fluendo.com>
3805
3806         * gst/gstghostpad.c: (gst_proxy_pad_do_acceptcaps),
3807         (gst_ghost_pad_new_full):
3808         Make acceptcaps return TRUE when we don't have a target, just like
3809         setcaps does.
3810
3811 2006-10-27  Wim Taymans  <wim@fluendo.com>
3812
3813         * libs/gst/base/gstbasetransform.c: (gst_base_transform_chain):
3814         Revert previous commit, 0 sized buffers are allowed. Reopens #363095.
3815
3816 2006-10-26  Tim-Philipp Müller  <tim at centricular dot net>
3817
3818         * gst/gststructure.c: (gst_structure_id_set_value):
3819           If someone tries to set a non-UTF8 string field on a structure,
3820           don't just print a warning, but also ignore the request and do
3821           not change/add that field to the structure.
3822
3823         * tests/check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
3824           Test for the above.
3825
3826 2006-10-25  David Schleef  <ds@schleef.org>
3827
3828         * gst/gstinfo.c:
3829           g_hash_table_insert() needs a cast to a non-const pointer duh.
3830
3831 2006-10-25  David Schleef  <ds@schleef.org>
3832
3833         * gst/gstinfo.c:
3834         * gst/gstinfo.h:
3835           Change name parameter of _gst_debug_register_funcptr to const
3836           to reflect the constness of its use in the function as well
3837           as to quiet a gcc warning.
3838
3839 2006-10-25  Edward Hervey  <edward@fluendo.com>
3840
3841         * libs/gst/base/gstbasetransform.c: (gst_base_transform_chain):
3842         Don't push the buffer if it's empty.
3843         Closes #363095
3844
3845 2006-10-24  Wim Taymans  <wim@fluendo.com>
3846
3847         * gst/gstevent.h:
3848         Add small comment.
3849
3850         * libs/gst/base/gstbasetransform.c:
3851         (gst_base_transform_sink_eventfunc):
3852         Debug segment values *after* updating them as this is more
3853         interesting.
3854
3855 2006-10-23  Wim Taymans  <wim@fluendo.com>
3856
3857         * docs/design/part-events.txt:
3858         Update some docs.
3859
3860         * docs/design/part-block.txt:
3861         * gst/gstpad.c: (gst_pad_is_blocking), (handle_pad_block),
3862         (gst_pad_push_event):
3863         Revert BLOCKING patch, it tries to be smart without really having a
3864         clear idea what or how. So, now we discard all FLUSHING events again on
3865         a blocking pad. Should fix gnonlin again.
3866
3867 2006-10-23  Wim Taymans  <wim@fluendo.com>
3868
3869         Patch by: Sergey Scobich <sergey dot scobich at gmail dot com>
3870
3871         * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
3872         (gst_base_src_start), (gst_base_src_activate_push):
3873         Make sure size is always initialized. Fixes #364388.
3874
3875 2006-10-20  Stefan Kost  <ensonic@users.sf.net>
3876
3877         * docs/random/ensonic/distributed.txt:
3878           add some ideas about doing distributed processing
3879
3880         * docs/random/ensonic/profiling.txt:
3881           get_rusage look promising
3882
3883 2006-10-18  Stefan Kost  <ensonic@users.sf.net>
3884
3885         * docs/manual/basics-helloworld.xml:
3886           Add a cast in example to fix compile warning
3887
3888 2006-10-18  Wim Taymans  <wim@fluendo.com>
3889
3890         * gst/gstsegment.c: (gst_segment_set_last_stop),
3891         (gst_segment_set_seek), (gst_segment_set_newsegment_full):
3892         Relax arg checking again, -1 is allowed.
3893
3894 2006-10-18  Wim Taymans  <wim@fluendo.com>
3895
3896         * gst/gstsegment.c: (gst_segment_set_last_stop),
3897         (gst_segment_set_seek), (gst_segment_set_newsegment_full):
3898         _set_last_stop() must be with a value != -1
3899         A _TYPE_SET to -1 means seek to 0.
3900         Calc last_stop correctly for negative rates.
3901         Make sure we work with positive durations when updating a segment.
3902
3903 2006-10-18  Wim Taymans  <wim@fluendo.com>
3904
3905         * docs/design/part-live-source.txt:
3906         * gst/gstclock.h:
3907         Small docs fixes.
3908
3909 2006-10-18  Tim-Philipp Müller  <tim at centricular dot net>
3910
3911         * gst/gstbuffer.h:
3912           Add an explicit cast to GstBuffer** to keep old code that added an
3913           explicit cast to GstMiniObject** for gst_mini_object_replace()
3914           compiling without warning.
3915
3916 2006-10-18  Stefan Kost  <ensonic@users.sf.net>
3917
3918         * gst/gstvalue.c: (gst_value_set_date), (gst_date_copy):
3919           check for validity of dates
3920
3921 2006-10-17  Tim-Philipp Müller  <tim at centricular dot net>
3922
3923         * docs/gst/gstreamer-sections.txt:
3924           Forgot this one, makes gtk-doc shut up.
3925
3926 2006-10-17  Tim-Philipp Müller  <tim at centricular dot net>
3927
3928         Patch by: Peter Kjellerstedt <pkj at axis com>
3929
3930         * gst/gstobject.h:
3931           Don't define xmlNodePtr to gpointer if the core was built with
3932           --disable-loadsave and --disable-registry, this will break
3933           applications that want to use libxml2 but are buildling against a
3934           core that doesn't use libxml2. Use an intermediary type GstXmlNodePtr
3935           instead so we don't have to mess with the libxml2 namespace
3936           (#361675).
3937
3938 2006-10-17  Tim-Philipp Müller  <tim at centricular dot net>
3939
3940         * gst/gstbuffer.h:
3941           Fix gst_buffer_replace() macro to avoid gst_mini_object_replace()-related
3942           type-punned pointer warnings.
3943
3944 2006-10-16  Tim-Philipp Müller  <tim at centricular dot net>
3945
3946         * gst/gstelement.h:
3947           Add casts to the correct return type to state <=> state transition
3948           macros.
3949
3950 2006-10-16  Stefan Kost  <ensonic@users.sf.net>
3951
3952         * docs/design/part-live-source.txt:
3953           describe howto handle latency
3954         
3955         * docs/random/ensonic/profiling.txt:
3956           more ideas
3957
3958         * tools/gst-plot-timeline.py:
3959           fix log parsing for solaris, remove unused function
3960
3961 2006-10-16  Wim Taymans  <wim@fluendo.com>
3962
3963         * docs/design/part-trickmodes.txt:
3964         * gst/gstevent.c:
3965         Update some docs regarding reverse playback.
3966
3967 2006-10-15  Tim-Philipp Müller  <tim at centricular dot net>
3968
3969         Patch by: Marcus Granado  <mrc dot gran at gmail com>
3970
3971         * win32/vs8/grammar.vcproj:
3972           Error out with a warning if glib-genmarshal.exe is not in path,
3973           instead of creating bogus gstmarshal.[ch] files. Fixes #361720.
3974
3975 2006-10-13  Wim Taymans  <wim@fluendo.com>
3976
3977         * gst/gstsegment.c: (gst_segment_set_seek):
3978         When seeking to stop -1, set last_stop (current position) to the
3979         duration of the segment.
3980
3981 2006-10-13  Wim Taymans  <wim@fluendo.com>
3982
3983         * gst/gstelement.h:
3984         Clarify _NO_PREROLL a bit more.
3985
3986         * gst/gstevent.c:
3987         Fix docs.
3988
3989         * gst/gstpad.c: (gst_pad_link_check_hierarchy),
3990         (gst_pad_get_caps_unlocked), (gst_pad_save_thyself),
3991         (handle_pad_block), (gst_pad_push_event), (gst_pad_send_event):
3992         Patch by: Yves Lefebvre <ivanohe at abacom dot com> Fix possible deadlock
3993         due to wrong locking order. Fixes #361769.
3994         Remove some redundant/misplaced checks in pad_block.
3995
3996         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
3997         For negative rates, count backwards from the duration.
3998
3999 2006-10-13  Tim-Philipp Müller  <tim at centricular dot net>
4000
4001         * gst/gsterror.c: (_gst_library_errors_init):
4002           Fix error message for GST_LIBRARY_ERROR_SETTINGS (feel free to come
4003           up with something better).
4004
4005 2006-10-12  Tim-Philipp Müller  <tim at centricular dot net>
4006
4007         * win32/vs6/libgstreamer.dsp:
4008         * win32/vs7/libgstreamer.vcproj:
4009         * win32/vs8/libgstreamer.vcproj:
4010           Don't reference glib-compat.c which is currently not used and not
4011           disted; add gstquark.c which was recently added. Fixes #361730.
4012
4013 2006-10-12  Tim-Philipp Müller  <tim at centricular dot net>
4014
4015         * win32/common/libgstbase.def:
4016         * win32/common/libgstcontroller.def:
4017         * win32/common/libgstreamer.def:
4018           Add gst_caps_merge() and a bunch of other recently-added functions.
4019           Fixes #361732.
4020
4021 2006-10-11  Wim Taymans  <wim@fluendo.com>
4022
4023         * docs/plugins/gstreamer-plugins.args:
4024         * docs/plugins/inspect/plugin-coreelements.xml:
4025         * docs/plugins/inspect/plugin-coreindexers.xml:
4026         Update element args.
4027
4028         * gst/gstsystemclock.c:
4029         Small comment update.
4030
4031         * plugins/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
4032         (gst_tee_request_new_pad), (gst_tee_release_pad),
4033         (gst_tee_buffer_alloc), (gst_tee_sink_activate_push),
4034         (gst_tee_sink_activate_pull):
4035         * plugins/elements/gsttee.h:
4036         Some tee loving:
4037         Add default property defines.
4038         Implement release pad function.
4039         Give properties better blubs etc.
4040         Activate pads before adding them to a running tee.
4041         Do simple buffer_alloc on the first requested pad.
4042         Post error when activation fails.
4043
4044 2006-10-11  Tim-Philipp Müller  <tim at centricular dot net>
4045
4046         * gst/gst.c: (ensure_current_registry_forking):
4047           Check return value of write() to make compiler happy.
4048
4049 2006-10-11  Wim Taymans  <wim@fluendo.com>
4050
4051         Patch by: Sjoerd Simons <sjoerd at luon dot net>
4052
4053         * plugins/elements/gstqueue.c: (gst_queue_chain):
4054         Recheck queue filledness after signalling the overrun when we're about
4055         to leak downstream because we released the lock when emitting the signal
4056         and the queue could be empty again. Fixes #352345.
4057
4058 2006-10-11  Tim-Philipp Müller  <tim at centricular dot net>
4059
4060         * libs/gst/controller/gstcontroller.c: (gst_controller_new_list):
4061           Fix refcounting here too, just like we did for _new_valist() a few
4062           days ago (#357180) (thanks to René Stadler). Also remove all those
4063           'Since: 0.9' from the gtk-doc blobs.
4064
4065         * tests/check/libs/controller.c: (controller_refcount_new_list),
4066         (gst_controller_suite):
4067           Unit test for the above.
4068
4069 2006-10-10  Wim Taymans  <wim@fluendo.com>
4070
4071         Patch by: Sebastien Cote <sebas642 at yahoo dot ca>
4072
4073         * gst/gstpad.c: (gst_pad_get_caps_unlocked),
4074         (gst_pad_save_thyself):
4075         Update some docs.
4076         Write pad direction in XML output. Fixes #345496.
4077
4078 2006-10-10  Wim Taymans  <wim@fluendo.com>
4079
4080         Patch by: René Stadler <mail at renestadler dot de>
4081
4082         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
4083         (gst_controller_new_list), (_gst_controller_dispose),
4084         (_gst_controller_finalize), (_gst_controller_class_init):
4085         Take ref to controlled object so that it cannot disappear. 
4086         Fixes #357432.
4087
4088 2006-10-10  Wim Taymans  <wim@fluendo.com>
4089
4090         * libs/gst/check/gstcheck.c: (gst_check_setup_src_pad),
4091         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
4092         (gst_check_teardown_sink_pad):
4093         Activate/deactivate pads in setup/teardown respectively.
4094
4095 2006-10-10  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
4096
4097         Patch by: Josep Torre Valles <josep@fluendo.com>
4098
4099         * gst/Makefile.am:
4100         Cast values when making gstenumtypes.h.  This pacifies Forte
4101         so it doesn't warn about the ~0 as GST_MESSAGE_ANY not fitting
4102         in the enumeration.
4103
4104 2006-10-09  Wim Taymans  <wim@fluendo.com>
4105
4106         * gst/gstevent.c: (gst_event_new_seek), (gst_event_parse_seek):
4107         Rename some more @cur to @start to fix docs. 
4108
4109         * gst/gstsegment.c: (gst_segment_set_seek):
4110         Fix typo.
4111         time and start must always stay in sync as defined in design doc.
4112
4113         * gst/gsttaglist.c: (gst_tag_list_is_empty):
4114         Rename param to fix docs.
4115
4116         * tests/check/gst/gstsegment.c: (GST_START_TEST):
4117         Check that start and time are in sync.
4118
4119         * tests/check/pipelines/parse-launch.c:
4120         (gst_parse_test_element_change_state):
4121         Activate pad before adding to the element.
4122
4123 2006-10-09  Wim Taymans  <wim@fluendo.com>
4124
4125         * docs/design/part-qos.txt:
4126         Fix typo.
4127
4128         * gst/gstevent.c:
4129         * gst/gstevent.h:
4130         Update seek event docs regarding negative rates.
4131         Rename @cur to @start. 
4132
4133         * gst/gstsegment.c: (gst_segment_set_seek):
4134         * gst/gstsegment.h:
4135         Update set_seek docs regarding negative rates.
4136         Correctly update last_stop to @stop when dealing with negative
4137         rates.
4138         Rename @cur to @start. 
4139
4140         * tests/check/gst/gstpad.c: (GST_START_TEST):
4141         Activate pads before trying to use them.
4142
4143         * tests/check/gst/gstsegment.c: (GST_START_TEST),
4144         (gst_segment_suite):
4145         Add simple check for segments and negative rates.
4146
4147 2006-10-09  Tim-Philipp Müller  <tim at centricular dot net>
4148
4149         * gst/gsttaglist.c: (gst_tag_list_is_empty):
4150         * gst/gsttaglist.h:
4151         * docs/gst/gstreamer-sections.txt:
4152           API: add gst_tag_list_is_empty() (#360467).
4153
4154         * tests/check/gst/gsttag.c: (GST_START_TEST):
4155           And a test case.
4156
4157 2006-10-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
4158
4159         * gst/gstmessage.h:
4160         Revert change from earlier wrt GST_MESSAGE_TYPE_ANY having
4161         a value that doesn't fit on enumeration.
4162
4163 2006-10-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
4164
4165         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
4166         Remove local debugging system and use Gstreamer's instead.
4167
4168 2006-10-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
4169
4170         Patch by: Josep Torre Valles <josep@fluendo.com>
4171
4172         * common/m4/gst-error.m4:
4173         Disable warning of statement not reached on Forte.
4174         * gst/gstmessage.h:
4175         Fix warning on Forte (value doesn't fit on enumeration).
4176         * libs/gst/base/gstbasesink.c: (gst_base_sink_chain_unlocked):
4177         Fix warning on Forte (value doesn't fit on enumeration).
4178         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
4179         DEBUG macro says it takes minimum of 2 args and so Forte
4180         complains about the use with just 1 arg.
4181         * plugins/elements/gstfdsink.c:
4182         * plugins/elements/gstfdsrc.c:
4183         * plugins/elements/gstfilesink.c:
4184         * plugins/elements/gstfilesrc.c:
4185         Use correct return type for the uri handler implementations.
4186
4187         All these fix warnings in Forte.  Fixes bug #360860.
4188
4189 2006-10-08  Tim-Philipp Müller  <tim at centricular dot net>
4190
4191         * gst/gstelement.h:
4192           gcc versions prior to gcc 3.3 apparently complain about a NULL printf
4193           format string, so don't use G_GNUC_PRINTF for those versions.
4194
4195 2006-10-07  Tim-Philipp Müller  <tim at centricular dot net>
4196
4197         * gst/gsttaglist.c: (gst_is_tag_list):
4198         * gst/gsttaglist.h:
4199           Minor fixes to GST_IS_TAG_LIST and gst_is_tag_list().
4200
4201         * tests/check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
4202           Small test for the above.
4203
4204 2006-10-07  Tim-Philipp Müller  <tim at centricular dot net>
4205
4206         * gst/gsttaglist.h:
4207           Less tabs, more spaces.
4208
4209 2006-10-06  Tim-Philipp Müller  <tim at centricular dot net>
4210
4211         * gst/gstinfo.h:
4212           Those two function declarations do actually belong there, revert
4213           commit from yesterday that turned them intro macros.
4214
4215 2006-10-06  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
4216
4217         Patch by: Josep Torre Valles <josep@fluendo.com>
4218
4219         * gst/gst.c: (gst_init_get_option_group):
4220         Fix empty declaration and type mismatch.
4221         * gst/gstbin.c: (gst_bin_change_state_func):
4222         Fix type mismatch.
4223         * gst/gstelement.c: (gst_element_continue_state),
4224         (gst_element_set_state_func), (gst_element_change_state),
4225         (gst_element_change_state_func):
4226         Fix type mismatches.
4227         * gst/gstinfo.c: (gst_debug_compare_log_function_by_func),
4228         (gst_debug_remove_log_function), (_gst_debug_nameof_funcptr):
4229         Cast as appropriate.
4230         * gst/gstobject.c: (gst_class_signal_connect):
4231         Cast as appropriate.  The function pointer parameter really
4232         has the wrong type but would break API if we change it.
4233         * gst/gstquery.c:
4234         Fix redefinition of _FILE_OFFSET_BITS caused on Solaris wrt
4235         order of including string.h.
4236         * gst/gstutils.c: (gst_element_state_get_name):
4237         Remove unreachable line.
4238         * gst/gstxml.c: (gst_xml_parse_doc):
4239         Fix type mismatch.
4240         All these caught by Forte.
4241
4242 2006-10-06  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
4243
4244         Patch by: Josep Torre Valles <josep@fluendo.com>
4245
4246         * common/m4/gst-error.m4:
4247         Fixed bug #360151.
4248         We need to disable warnings on Forte for empty declarations
4249         due to gst-indent adding ;s to lines that just use macros
4250         where the macro actually doesn't need a ; at end to end
4251         statement.
4252
4253 2006-10-06  Wim Taymans  <wim@fluendo.com>
4254
4255         * plugins/elements/gstfilesink.c: (gst_file_sink_open_file),
4256         (gst_file_sink_close_file), (gst_file_sink_event),
4257         (gst_file_sink_render):
4258         Add some FIXME for the NEWSEGMENT handling.
4259
4260 2006-10-05  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
4261
4262         * gst/parse/grammar.y:
4263         Remove static function gst_parse_element_lock as all it does
4264         is return.  Looks like cruft from 0.8.
4265
4266 2006-10-05  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
4267
4268         Patch by: Josep Torre Valles <josep@fluendo.com>
4269
4270         * common/m4/gst-error.m4:
4271         * configure.ac:
4272         * libs/gst/net/Makefile.am:
4273         Fix a compilation issue with Forte on Solaris.  inet_aton is in
4274         libresolv.
4275
4276 2006-10-05  Tim-Philipp Müller  <tim at centricular dot net>
4277
4278         * gst/gstpad.c: (pre_activate):
4279         * gst/gstregistry.c: (gst_registry_scan_path_level):
4280         * gst/gstregistryxml.c: (load_plugin):
4281         * libs/gst/controller/gstcontroller.c:
4282         (gst_controlled_property_set_interpolation_mode):
4283         * libs/gst/dataprotocol/dataprotocol.c:
4284         (gst_dp_packet_from_event_1_0):
4285         * libs/gst/net/gstnetclientclock.c:
4286         (gst_net_client_clock_observe_times):
4287         * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
4288           Printf fixes.
4289
4290 2006-10-05  Tim-Philipp Müller  <tim at centricular dot net>
4291
4292         * configure.ac:
4293         * docs/gst/gstreamer-sections.txt:
4294         * gst/gstconfig.h.in:
4295         * gst/gstelement.h:
4296         * gst/gstinfo.h:
4297           Add GST_USING_PRINTF_EXTENSION to gstconfig.h so that we know
4298           whether we can use G_GNUC_PRINTF in other header files and at
4299           least check the printf format/arguments of debug messages and
4300           GST_ELEMENT_ERROR messages when the printf extension is not
4301           being used.
4302           Replace more tabs with spaces in gstinfo.h and remove two spurious
4303           function declarations in GST_DISABLE_DEBUG part with macros.
4304
4305 2006-10-03  Tim-Philipp Müller  <tim at centricular dot net>
4306
4307         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_post):
4308           More docs for the sync-message signal (mention that it is not
4309           emitted by default); log message structures of messages posted on
4310           the bus as well.
4311
4312 2006-10-03  Jan Schmidt  <thaytan@mad.scientist.com>
4313
4314         * gst/gst.c: (ensure_current_registry_forking):
4315         Use a pipe pair to receive status results from the forked child, and
4316         ignore the result from waitpid. Fixes #355499
4317
4318 2006-10-02  Wim Taymans  <wim@fluendo.com>
4319
4320         * tests/check/gst/gstghostpad.c: (GST_START_TEST),
4321         (gst_ghost_pad_suite):
4322         Fix leak in check.
4323
4324 2006-10-02  Tim-Philipp Müller  <tim at centricular dot net>
4325
4326         * gst/gstpad.c:
4327           Add 'Since: 0.10.11' to gst_pad_is_blocking() gtk-doc blurb.
4328
4329 2006-10-02  Edward Hervey  <edward@fluendo.com>
4330
4331         * docs/design/part-block.txt:
4332         Further explain the use of flushing on blocked pads.
4333         * docs/gst/gstreamer-sections.txt:
4334         * gst/gstpad.c: (gst_pad_is_blocking), (handle_pad_block),
4335         (gst_pad_push_event):
4336         * gst/gstpad.h:
4337         Added new GstPadFlag : GST_PAD_BLOCKING.
4338         Adds the notion of pads really blocking, which enables to properly
4339         handle FLUSH_START/FLUSH_STOP events on blocked pads.
4340         Fixes #358999
4341         API: gst_pad_is_blocking()
4342         API: GST_PAD_IS_BLOCKING() macro
4343         API: GST_PAD_BLOCKING GstPadFlag
4344         
4345 2006-10-02  Wim Taymans  <wim@fluendo.com>
4346
4347         Patch by: mrcgran <mrc.gran at gmail dot com>
4348
4349         * gst/gstghostpad.c: (gst_proxy_pad_do_getcaps):
4350         Filter the proxied caps against the padtemplate if we have one.
4351
4352         * gst/gstquery.c: (gst_query_new_segment):
4353         Add include for gstinfo.h so that compilation with
4354         -DGST_DISABLE_GST_DEBUG works again. Fixes #358436.
4355
4356 2006-10-02  Wim Taymans  <wim@fluendo.com>
4357
4358         Patch by: Alessandro Decina  <alessandro at nnva org>
4359
4360         * plugins/elements/gstfilesink.c: (gst_file_sink_init),
4361         (gst_file_sink_set_location), (gst_file_sink_open_file),
4362         (gst_file_sink_close_file), (gst_file_sink_event),
4363         (gst_file_sink_render):
4364         Set file to NULL when closing filesink so that we can set a new filename
4365         in READY. Fixes #358613.
4366
4367 2006-10-02  Tim-Philipp Müller  <tim at centricular dot net>
4368
4369         Patch by: Alessandro Decina  <alessandro at nnva org>
4370
4371         * gst/gstevent.c: (_gst_event_copy):
4372           Fix gst_mini_object_make_writable() and gst_event_copy() for events
4373           with event structures by setting the parent refcount address of the
4374           copied structure to the address of the refcount member of the newly
4375           copied event rather than the address of the refcount member of the
4376           original event. Fixes #358737.
4377
4378         * tests/check/gst/gstevent.c: (GST_START_TEST):
4379           Unit test for the above.
4380
4381 2006-09-29  Stefan Kost  <ensonic@users.sf.net>
4382
4383         * docs/design/Makefile.am:
4384           Dist some more files.
4385
4386 2006-09-29  Tim-Philipp Müller  <tim at centricular dot net>
4387
4388         * tests/check/libs/controller.c: (GST_START_TEST),
4389         (gst_controller_suite):
4390           Add test for the previous fix; add some more tests
4391           for correct refcounting behaviour; fix a few leaks
4392           in test cases; call gst_controller_init() at start
4393           of all tests.
4394
4395 2006-09-29  Tim-Philipp Müller  <tim at centricular dot net>
4396
4397         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
4398         (gst_controller_set_from_list):
4399           Don't g_return_val_if_fail() on timed values with invalid timestamps
4400           inside a critical section without unlocking the mutex. Spotted by
4401           René Stadler. (#357617)
4402           Also, fix up refcounting properly: when returning an existing
4403           controller, we should increase the reference only once and not
4404           once per property and when trying to control a property again
4405           we should also increase the refcount.
4406
4407 2006-09-29  Wim Taymans  <wim@fluendo.com>
4408
4409         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
4410         * libs/gst/net/gstnettimeprovider.c:
4411         (gst_net_time_provider_thread):
4412         Stop reading commands when EOF as well.
4413
4414         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init):
4415         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init):
4416         * plugins/elements/gstidentity.c: (gst_identity_class_init):
4417         Unify description of the dump property.
4418
4419 2006-09-28  Jan Schmidt  <thaytan@mad.scientist.com>
4420
4421         * tests/examples/manual/.cvsignore:
4422         OK, so it's actually cvsignore that needs changing. Stop laughing.
4423
4424 2006-09-28  Jan Schmidt  <thaytan@mad.scientist.com>
4425
4426         * tests/examples/manual/Makefile.am:
4427         Gah, declare vars *before* using them
4428
4429 2006-09-28  Jan Schmidt  <thaytan@mad.scientist.com>
4430
4431         * gst/gst.c: (init_pre), (scan_and_update_registry),
4432         (ensure_current_registry_nonforking),
4433         (ensure_current_registry_forking), (ensure_current_registry),
4434         (init_post), (gst_debug_help), (gst_deinit):
4435         * gst/gst_private.h:
4436         * gst/gstregistry.c: (gst_registry_finalize),
4437         (gst_registry_remove_features_for_plugin_unlocked),
4438         (gst_registry_remove_plugin), (gst_registry_scan_path_level),
4439         (gst_registry_scan_path),
4440         (_priv_gst_registry_remove_cache_plugins),
4441         (_priv_gst_registry_cleanup):
4442         * gst/gstregistry.h:
4443         Re-commit the registry changes, along with an extra fix:
4444           When a cached plugin is encountered at a different file path,
4445           update the stored path in the registry cache so that the parent
4446           process knows where it actually is now when it re-reads the registry
4447           cache. Fixes the thing that broke distcheck with the previous commit.
4448
4449         * tests/check/Makefile.am:
4450         Clean up files named 'core' too when running make clean.
4451
4452         * tests/examples/manual/Makefile.am:
4453         Set up a registry path for running these tests, and clean it properly
4454         for distcheck.
4455
4456 2006-09-28  Jan Schmidt  <thaytan@mad.scientist.com>
4457
4458         * configure.ac:
4459         Don't pull in gmodule-2.0.pc as a dependency in our .pc files - we
4460         want gmodule-no-export-2.0.pc instead so that we don't drag in
4461         --export-dynamic on every project that links to GStreamer.
4462
4463         Also, make our export regex only match the start of symbols, rather 
4464         than any symbol that contains '_gst' somewhere.
4465
4466         * libs/gst/check/Makefile.am:
4467         The libgstcheck we build does however need export-dynamic, as it
4468         produces some symbols that don't match our _gst... style regex.
4469         Fixes: #318031
4470
4471 2006-09-27  Jan Schmidt  <thaytan@mad.scientist.com>
4472
4473         * gst/gst.c: (init_pre), (scan_and_update_registry),
4474         (ensure_current_registry_nonforking),
4475         (ensure_current_registry_forking), (ensure_current_registry),
4476         (init_post), (gst_debug_help), (gst_deinit):
4477         * gst/gst_private.h:
4478         * gst/gstregistry.c: (gst_registry_finalize),
4479         (gst_registry_remove_plugin), (gst_registry_scan_path_level),
4480         (gst_registry_scan_path), (_gst_registry_remove_cache_plugins),
4481         (_gst_registry_cleanup):
4482         * gst/gstregistry.h:
4483           Revert previous change until I figure out why it breaks distcheck.
4484
4485 2006-09-27  Jan Schmidt  <thaytan@mad.scientist.com>
4486
4487         * gst/gst.c: (init_pre), (scan_and_update_registry),
4488         (ensure_current_registry_nonforking),
4489         (ensure_current_registry_forking), (ensure_current_registry),
4490         (init_post), (gst_debug_help), (gst_deinit):
4491
4492           Make init_pre and init_post take the full complement of GOptionFunc
4493           args so they can return useful GErrors. Make the registry updating
4494           functions do so.
4495
4496           Call _priv_gst_registry_remove_cache_plugins after scanning files to
4497           ensure that the registry we're about to write out doesn't contain
4498           stale information about old-deleted plugin files.
4499
4500           Make _priv_gst_registry_remove_cache_plugins return a boolean so
4501           that deletion of plugin files is considered a registry change.
4502
4503         * gst/gst_private.h:
4504         * gst/gstregistry.c: (gst_registry_finalize),
4505         (gst_registry_remove_features_for_plugin_unlocked),
4506         (gst_registry_remove_plugin), (gst_registry_scan_path_level),
4507         (gst_registry_scan_path),
4508         (_priv_gst_registry_remove_cache_plugins),
4509         (_priv_gst_registry_cleanup):
4510         * gst/gstregistry.h:
4511         Rename _gst_registry_remove_cache_plugins and _gst_registry_cleanup
4512         by adding _priv prefix, so that they won't appear in the global
4513         symbol table. They still do atm though because of #318031. Move the
4514         prototypes to gst_private.h
4515
4516         When removing a plugin, remove all features for that plugin too. 
4517         Fixes #340878.
4518
4519 2006-09-27  Wim Taymans  <wim@fluendo.com>
4520
4521         * docs/random/moving-plugins:
4522         Make it clear that the "compiled-in descriptions" really mean
4523         the element details.
4524
4525         * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
4526         (gst_base_sink_wait_preroll):
4527         Update docs.
4528
4529         * docs/libs/gstreamer-libs-sections.txt:
4530         * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
4531         (gst_base_src_get_range), (gst_base_src_activate_push):
4532         * libs/gst/base/gstbasesrc.h:
4533         Added function to block while waiting for PLAYING, this function
4534         is used by live sources that block on the clock.
4535         API: gst_base_src_wait_playing()
4536
4537 2006-09-27  Tim-Philipp Müller  <tim at centricular dot net>
4538
4539         Patch by: Peter Kjellerstedt <pkj at axis com>
4540
4541         * Makefile.am:
4542           gst-element-check.m4 is generated and should therefore be
4543           copied from the build dir rather than the source dir (#357593).
4544           'make distcheck' hasn't noticed this because we were disting
4545           the file as well, so stop doing that.
4546
4547 2006-09-27  Tim-Philipp Müller  <tim at centricular dot net>
4548
4549         * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
4550           Add some tests for gst_caps_intersect().
4551
4552         * tools/gst-launch.c: (event_loop):
4553           Print all buffering percentages we get, even the 100% one.
4554
4555 2006-09-26  Wim Taymans  <wim@fluendo.com>
4556
4557         * tools/gst-inspect.c: (print_element_properties_info),
4558         (print_signal_info):
4559         Fix printing of flags to match the look of enums.
4560
4561 2006-09-25  Tim-Philipp Müller  <tim at centricular dot net>
4562
4563         * gst/gstelementfactory.c:
4564           Fix typo in docs blurb.
4565
4566 2006-09-25  Tim-Philipp Müller  <tim at centricular dot net>
4567
4568         * gst/gsturi.c: (search_by_entry):
4569           Don't assert/crash here if a uri handler doesn't return any
4570           supported protocols. The list of protocols could be generated
4571           dynamically at runtime or at plugin registration, and an error
4572           in the underlying library shouldn't be fatal (#353301).
4573
4574 2006-09-25  Tim-Philipp Müller  <tim at centricular dot net>
4575
4576         * gst/gstinfo.c:
4577           Fix warning if HAVE_PRINTF_EXTENSION is undefined
4578           (spotted by Peter Kjellerstedt).
4579
4580 2006-09-23  Wim Taymans  <wim@fluendo.com>
4581
4582         Based on patch by: Antoine Tremblay <hexa00 at gmail dot com>
4583
4584         * libs/gst/base/gstbasesrc.c:
4585         (gst_base_src_default_check_get_range), (gst_base_src_start),
4586         (gst_base_src_activate_push), (gst_base_src_activate_pull),
4587         (gst_base_src_change_state):
4588         Match _start/_stop calls in the activate functions. Remove redundant
4589         _stop call from the state change function. Fixes #356910.
4590         Turn failure DEBUG into ERROR. 
4591
4592 2006-09-22  Wim Taymans  <wim@fluendo.com>
4593
4594         * docs/design/part-buffering.txt:
4595         * gst/gstmessage.c: (gst_message_new_buffering),
4596         (gst_message_parse_buffering):
4597         Update docs about buffering.
4598
4599         * docs/design/part-trickmodes.txt:
4600         Fix typo.
4601
4602 2006-09-22  Stefan Kost  <ensonic@users.sf.net>
4603
4604         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
4605         (gst_controller_new_list):
4606           Ref instances when returning them again (fixes #357180)
4607
4608 2006-09-22  Tim-Philipp Müller  <tim at centricular dot net>
4609
4610         * gst/gstghostpad.c: (gst_ghost_pad_set_target):
4611           Don't forget to release proxy lock when there's an error.
4612
4613 2006-09-20  Jan Schmidt  <thaytan@mad.scientist.com>
4614
4615         * gst/gstcaps.h:
4616           Add extra initialisers for Caps things, to fix some plugin warnings
4617           when using -Wextra
4618
4619 2006-09-18  Wim Taymans  <wim@fluendo.com>
4620
4621         * gst/gstghostpad.c: (gst_ghost_pad_new_full):
4622           Also set template on the internal pad so that a getcaps from the 
4623           target pad returns the template caps.
4624
4625 2006-09-18  Wim Taymans  <wim@fluendo.com>
4626
4627         * gst/gstelement.c: (gst_element_post_message),
4628         (gst_element_dispose):
4629         Use _DEBUG_OBJECT some more.
4630
4631         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
4632         Avoid typechecks.
4633
4634         * tools/gst-launch.c: (main):
4635         If the toplevel element is not a GstPipeline, it must be put in a
4636         pipeline so that a bus and clock is selected.
4637
4638 2006-09-17  Tim-Philipp Müller  <tim at centricular dot net>
4639
4640         * libs/gst/base/gstbasesrc.c: (gst_base_src_default_query):
4641           JITTER, RATE, and LATENCY query should be handled by the
4642           default case and not by the CONVERT query code.
4643
4644 2006-09-17  Tim-Philipp Müller  <tim at centricular dot net>
4645
4646         * gst/gstformat.c: (gst_format_register):
4647           Fix locking order (must take lock before using n_values).
4648
4649         * gst/gstvalue.c: (gst_value_serialize_enum),
4650         (gst_value_deserialize_enum_iter_cmp),
4651         (gst_value_deserialize_enum):
4652           Fix serialisation/deserialisation of custom registered GstFormats.
4653
4654         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
4655           Unit test for custom format serialisation/deserialisation.
4656
4657 2006-09-17  Stefan Kost  <ensonic@users.sf.net>
4658
4659         * docs/pwg/building-boiler.xml:
4660         * plugins/elements/gstcapsfilter.c:
4661         More G_OBJECT macro fixing. Also Fix some details on the plugin-stamp
4662         section.
4663
4664 2006-09-16  Edward Hervey  <edward@fluendo.com>
4665
4666         * libs/gst/base/gstbasetransform.c:
4667         (gst_base_transform_buffer_alloc):
4668         Check if requested caps are the same as the sinks caps IF
4669         ->have_same_caps is TRUE. If they are not, act as if have_same_caps
4670         is FALSE.
4671         This fixes the renegotiation issues stated in #352827.
4672
4673 2006-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
4674
4675         * configure.ac:
4676         * docs/manual/advanced-autoplugging.xml:
4677         * tests/examples/Makefile.am:
4678         * tests/examples/manual/.cvsignore:
4679         * tests/examples/manual/Makefile.am:
4680         * tests/examples/manual/extract.pl:
4681           Extract the manual examples again like we used to do.
4682           Fix one of them.
4683
4684 2006-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
4685
4686         * win32/common/config.h:
4687           update for version
4688
4689 2006-09-16  Stefan Kost  <ensonic@users.sf.net>
4690
4691         * gst/gsterror.c:
4692           Documents how to receive errors.
4693
4694 2006-09-15  Wim Taymans  <wim@fluendo.com>
4695
4696         * tools/gst-launch.c: (sigint_handler_sighandler), (check_intr),
4697         (event_loop), (main):
4698         Added some comments here and there.
4699         Post an application message when an interrupt is caught instead of doing
4700         an uncontrolled state change.
4701         Clean up the event loop.
4702         Handle buffering messages, pause/resume the pipeline.
4703         Make shutdown because of an interrupt more reliable.
4704
4705 2006-09-15  Wim Taymans  <wim@fluendo.com>
4706
4707         * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
4708         (gst_base_sink_wait_preroll), (gst_base_sink_do_sync),
4709         (gst_base_sink_preroll_object):
4710         Make sure that our internal state is correct when we commit our state
4711         asynchronously. This solves a race where a state change to PLAYING
4712         could cause the sink to remain blocked in preroll in some situations.
4713
4714 2006-09-15  Wim Taymans  <wim@fluendo.com>
4715
4716         * tools/gst-inspect.c: (print_element_properties_info),
4717         (print_signal_info):
4718         List flags as hex so it's easier to deal with.
4719
4720 2006-09-15  Wim Taymans  <wim@fluendo.com>
4721
4722         * docs/libs/gstreamer-libs-sections.txt:
4723         * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_preroll),
4724         (gst_base_sink_do_sync):
4725         * libs/gst/base/gstbasesink.h:
4726         Expose logic to wait for preroll so that subclasses such as audiosink
4727         can also use this method.
4728         API: gst_base_sink_wait_preroll()
4729
4730 2006-09-15  Wim Taymans  <wim@fluendo.com>
4731
4732         * gst/gstobject.c: (gst_object_set_parent):
4733         * gst/gstpipeline.c: (do_pipeline_seek):
4734         Small cleanups in docs and code.
4735
4736         * gst/gstsegment.c: (gst_segment_clip):
4737         * tests/check/gst/gstsegment.c: (GST_START_TEST):
4738         if stop == start and start is in the segment, no clipping should be
4739         done. Also add a test for this.
4740
4741 2006-09-15  Wim Taymans  <wim@fluendo.com>
4742
4743         * docs/design/part-buffering.txt:
4744         * docs/gst/gstreamer-sections.txt:
4745         * gst/gstmessage.c: (gst_message_new_buffering),
4746         (gst_message_parse_buffering):
4747         * gst/gstmessage.h:
4748         Added methods to create and parse BUFFERING messages.
4749         Added preliminary docs about buffering.
4750         API: gst_message_new_buffering
4751         API: gst_message_parse_buffering
4752
4753 2006-09-06  Wim Taymans  <wim@fluendo.com>
4754
4755         * gst/gstbin.c:
4756         Update documentation.
4757
4758         * gst/gstelement.c: (gst_element_class_init),
4759         (gst_element_release_request_pad), (gst_element_set_clock),
4760         (gst_element_get_index), (gst_element_add_pad),
4761         (gst_element_remove_pad), (gst_element_get_random_pad),
4762         (gst_element_send_event), (gst_element_get_query_types),
4763         (gst_element_query), (gst_element_post_message),
4764         (gst_element_message_full), (gst_element_continue_state),
4765         (gst_element_lost_state), (gst_element_save_thyself),
4766         (gst_element_restore_thyself):
4767         Documentation updates.
4768         Rename last bit of the new-pad -> pad-added signal rename.
4769         Fix the case where an element query would only work if the source
4770         pad was linked.
4771         Avoid some useless type checking in message handling.
4772
4773         * gst/gstevent.c:
4774         * gst/gstevent.h:
4775         * gst/gstutils.c:
4776         Documentation updates.
4777
4778 2006-09-14  Thomas Vander Stichele  <thomas at apestaart dot org>
4779
4780         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
4781           add an INFO line for when we actually update the fd
4782
4783 2006-09-14  Thomas Vander Stichele  <thomas at apestaart dot org>
4784
4785         * configure.ac:
4786           back to TRUNK
4787
4788 === release 0.10.10 ===
4789
4790 2006-09-14  Thomas Vander Stichele <thomas at apestaart dot org>
4791
4792         * configure.ac:
4793           releasing 0.10.10, "Pais"
4794
4795 2006-09-05  Tim-Philipp Müller  <tim at centricular dot net>
4796
4797         * docs/manual/advanced-position.xml:
4798           Fix typo in sample code.
4799
4800 2006-09-05  Wim Taymans  <wim@fluendo.com>
4801
4802         * libs/gst/net/gstnetclientclock.c: (inet_aton),
4803         (gst_net_client_clock_init), (gst_net_client_clock_finalize),
4804         (gst_net_client_clock_do_select), (gst_net_client_clock_new):
4805         * libs/gst/net/gstnetclientclock.h:
4806         * libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send):
4807         * libs/gst/net/gstnettimepacket.h:
4808         * libs/gst/net/gstnettimeprovider.c: (inet_aton),
4809         (gst_net_time_provider_init), (gst_net_time_provider_finalize),
4810         (gst_net_time_provider_thread), (gst_net_time_provider_new):
4811         * libs/gst/net/gstnettimeprovider.h:
4812         Make stuff compile on windows. Fixes #345295.
4813
4814 2006-09-03  Tim-Philipp Müller  <tim at centricular dot net>
4815
4816         * gst/gst.c: (ensure_current_registry_forking):
4817           Print better details when child was terminated by signal.
4818
4819 2006-09-03  Tim-Philipp Müller  <tim at centricular dot net>
4820
4821         * gst/gstregistryxml.c: (gst_registry_xml_save_feature):
4822           Print a warning rather than g_assert() if a plugin feature
4823           is a URI handler but returns no protocols (#353976).
4824
4825 2006-09-02  Stefan Kost  <ensonic@users.sf.net>
4826
4827         * docs/random/moving-plugins:
4828         Fix two typos.         
4829
4830 2006-09-01  Tim-Philipp Müller  <tim at centricular dot net>
4831
4832         * gst/gstinfo.c: (_gst_debug_nameof_funcptr):
4833           Fix locking order, handle NULL function values properly.
4834
4835         * gst/gstinfo.h:
4836           Fix docs.
4837
4838         * gst/gstpad.c: (gst_pad_buffer_alloc_unchecked):
4839           Initialise variable before using it and fix debug statement to
4840           print the address of the function rather than the address of the
4841           variable on the stack holding the address of the function.
4842
4843 2006-09-01  Wim Taymans  <wim@fluendo.com>
4844
4845         * gst/gstghostpad.c: (gst_proxy_pad_do_event),
4846         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_chain),
4847         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
4848         (gst_proxy_pad_set_target_unlocked), (gst_ghost_pad_parent_set),
4849         (gst_ghost_pad_parent_unset),
4850         (gst_ghost_pad_internal_do_activate_push),
4851         (gst_ghost_pad_internal_do_activate_pull),
4852         (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
4853         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
4854         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
4855         (gst_ghost_pad_new_full), (gst_ghost_pad_new_no_target),
4856         (gst_ghost_pad_new), (gst_ghost_pad_new_from_template),
4857         (gst_ghost_pad_new_no_target_from_template),
4858         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
4859         More cleanups.
4860         Avoid needless typechecking in macros.
4861         Since the internal pad is always present and never changes, there is
4862         no need to locking or ref when retrieving it.
4863         Improve debugging a bit.
4864         Handle link errors when setting the target. Fixes #341029.
4865
4866 2006-09-01  Wim Taymans  <wim@fluendo.com>
4867
4868         * docs/libs/gstreamer-libs-sections.txt:
4869         * docs/plugins/gstreamer-plugins-sections.txt:
4870         Fix docs some more.
4871
4872         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
4873         (gst_collect_pads_event):
4874         * libs/gst/base/gstcollectpads.h:
4875         Documentation updates.
4876         Free queued buffer when removing a pad.
4877
4878 2006-08-31  Michael Smith  <msmith@fluendo.com>
4879
4880         * gst/gstutils.c: (gst_element_link_pads),
4881         (gst_element_link_pads_filtered):
4882           Ensure that we set a capsfilter to NULL if we failed to link it
4883           when doing filtered linking, to avoid criticals.
4884
4885           No need to check for unreffing srcpad, which is explicly NULLed
4886           above (a trivial code cleanup).
4887
4888 2006-08-31  Wim Taymans  <wim@fluendo.com>
4889
4890         * docs/design/part-gstghostpad.txt:
4891         Update ascii art in documentation.
4892
4893         * gst/gstghostpad.c: (gst_proxy_pad_do_internal_link),
4894         (gst_proxy_pad_set_target_unlocked), (gst_proxy_pad_init),
4895         (gst_ghost_pad_parent_set), (gst_ghost_pad_parent_unset),
4896         (gst_ghost_pad_internal_do_activate_push),
4897         (gst_ghost_pad_internal_do_activate_pull),
4898         (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
4899         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
4900         (gst_ghost_pad_dispose), (gst_ghost_pad_new_full),
4901         (gst_ghost_pad_set_target):
4902         Small cleanups and leak fixes.
4903         Remove some checks now that the internal pad is never NULL.
4904         Fix the case where linking pads without a target would create nasty
4905         criticals. Fixes #341029.
4906         Don't assign a GstPadLinkReturn to a gboolean and mess up the return
4907         value of _set_target().
4908
4909         * tests/check/gst/gstghostpad.c: (GST_START_TEST),
4910         (gst_ghost_pad_suite):
4911         Some more tests for creating and linking untargeted ghostpads.
4912
4913 2006-08-31  Edward Hervey  <edward@fluendo.com>
4914
4915         * docs/gst/gstreamer-sections.txt:
4916         * gst/gstghostpad.c: (gst_proxy_pad_do_getcaps),
4917         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target_unlocked),
4918         (gst_proxy_pad_dispose), (gst_ghost_pad_new_full),
4919         (gst_ghost_pad_new_no_target), (gst_ghost_pad_new),
4920         (gst_ghost_pad_new_from_template),
4921         (gst_ghost_pad_new_no_target_from_template):
4922         * gst/gstghostpad.h:
4923         Refactored *_new() functions.
4924         Templates are now used as a g_object_new() parameter.
4925         Use template in _do_getcaps() if we don't have a target.
4926         Small documentation cleanups.
4927         Added two new constructors:
4928         gst_ghost_pad_new_from_template()
4929         gst_ghost_pad_new_no_target_from_template()
4930         * tests/check/gst/gstghostpad.c: (GST_START_TEST),
4931         (gst_ghost_pad_suite):
4932         Added tests for new ghostpad instanciation functions.
4933
4934         API additions: gst_ghost_pad_new_from_template,
4935         gst_ghost_pad_new_no_target_from_template
4936
4937 2006-08-30  Stefan Kost  <ensonic@users.sf.net>
4938
4939         * docs/random/ensonic/profiling.txt:
4940           Ideas about qos profiling.
4941
4942 2006-08-29  Wim Taymans  <wim@fluendo.com>
4943
4944         * gst/gstcaps.c: (gst_caps_structure_is_subset_field):
4945         Code cleanups.
4946         Fix memleak.
4947
4948 2006-08-29  Tim-Philipp Müller  <tim at centricular dot net>
4949
4950         * gst/gstxml.c:
4951           Improve and detypofy docs.
4952
4953         * tests/check/Makefile.am:
4954         * tests/check/gst/.cvsignore:
4955         * tests/check/gst/gstxml.c: (GST_START_TEST), (gst_xml_suite):
4956           Add a basic test suite for GstXML.
4957
4958 2006-08-29  Wim Taymans  <wim@fluendo.com>
4959
4960         * gst/gstelement.c: (activate_pads), (clear_caps),
4961         (iterator_activate_fold_with_resync), (gst_element_pads_activate):
4962         Clear the pad caps when the element shut down all of the pads and
4963         is not streaming data that could modify the caps. 
4964         Fixes #352958.
4965
4966 2006-08-28  Michael Smith  <msmith@fluendo.com>
4967
4968         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
4969           Revert previous change; I misunderstood single-segment mode.
4970
4971 2006-08-28  Michael Smith  <msmith@fluendo.com>
4972
4973         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
4974           Unset DISCONT on buffers when using single-segment mode.
4975
4976 2006-08-28  Wim Taymans  <wim@fluendo.com>
4977
4978         * gst/gstcaps.c: (gst_caps_merge_structure):
4979         * gst/gstcaps.h:
4980         Fix docs and indentation again.
4981
4982         * tests/check/gst/gstquery.c: (GST_START_TEST):
4983         Fix leak in tests and add some more tests.
4984
4985 2006-08-28  Edward Hervey  <edward@fluendo.com>
4986
4987         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
4988         Inform GstSegment of the last stop position in order for the current
4989         segment to have a proper duration if it doesn't have a specific stop
4990         position from which a duration could be calculated.
4991         This bug was noticeable when a non-flushing, non-update new segment was
4992         followed by another segment (all buffers from the new segment were being
4993         dropped).
4994
4995 2006-08-28  Wim Taymans  <wim@fluendo.com>
4996
4997         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
4998         Small comment update.
4999
5000         * plugins/elements/gstidentity.c: (gst_identity_class_init),
5001         (gst_identity_transform_ip):
5002         Drop-probability is broken, mention this in the code with a 
5003         FIXME and also in the property description.
5004         Make silent also be silent about the drop messages.
5005
5006 2006-08-28  Tim-Philipp Müller  <tim at centricular dot net>
5007
5008         * docs/manual/appendix-win32.xml:
5009           Remove mention of popt, we don't depend on that any
5010           longer (#353136). Add some comments pointing out that
5011           this section is slightly outdated.
5012
5013 2006-08-28  Wim Taymans  <wim@fluendo.com>
5014
5015         Patch by: Torsten Schoenfeld <kaffeetisch at gmx dot de>
5016
5017         * gst/gstquery.c: (gst_query_new_segment):
5018         * tests/check/gst/gstquery.c: (GST_START_TEST):
5019         Initialize variables when creating a new segment query.
5020         Fixes #353121.
5021
5022 2006-08-28  Wim Taymans  <wim@fluendo.com>
5023
5024         Patch by: Torsten Schoenfeld <kaffeetisch at gmx dot de>
5025
5026         * gst/gstelement.c: (gst_element_get_bus):
5027         * tests/check/gst/gstelement.c: (GST_START_TEST):
5028         Check for NULL before _reffing the bus. Fixes #353122.
5029
5030 2006-08-25  Tim-Philipp Müller  <tim at centricular dot net>
5031
5032         * docs/manual/basics-bus.xml:
5033           Docs update: fix wrong callback return value explanation; add
5034           some lines about the implicit relationship between main loop
5035           and main context; remove duplicate main loop variable declaration.
5036
5037 2006-08-24  Tim-Philipp Müller  <tim at centricular dot net>
5038
5039         * tests/check/gst/gstcaps.c: (GST_START_TEST):
5040           Don't leak caps in unit test; add a few more simple
5041           checks. 
5042
5043 2006-08-24  Stefan Kost  <ensonic@users.sf.net>
5044
5045         * docs/gst/gstreamer-sections.txt:
5046         * gst/gstcaps.c: (gst_caps_structure_is_subset_field),
5047         (gst_caps_structure_is_subset), (gst_caps_merge),
5048         (gst_caps_merge_structure):
5049         * gst/gstcaps.h:
5050         * libs/gst/base/gstbasetransform.c:
5051         (gst_base_transform_transform_caps):
5052         * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
5053           implement caps merging (fixes #352580)
5054
5055 2006-08-23  Stefan Kost  <ensonic@users.sf.net>
5056
5057         * tools/Makefile.am:
5058         * tools/gst-plot-timeline.py:
5059           add debug-log plotting developer tool (#340674)
5060
5061 2006-08-23  Wim Taymans  <wim@fluendo.com>
5062
5063         * gst/gstpad.c: (gst_pad_start_task), (gst_pad_pause_task),
5064         (gst_pad_stop_task):
5065         Improve debugging for task functions.
5066
5067         * gst/gsttask.c: (gst_task_func), (gst_task_set_lock),
5068         (gst_task_start), (gst_task_pause), (gst_task_join):
5069         Make sure that the task function started and finished after a 
5070         join(). 
5071         Don't try to push the task function on the threadpool multiple
5072         times.
5073         Improve the g_warning message with some useful suggestions
5074         about how to fix the problem. 
5075
5076 2006-08-23  Wim Taymans  <wim@fluendo.com>
5077
5078         * gst/gstutils.c: (gst_pad_proxy_getcaps):
5079         Handle RESYNC correctly in _proxy_getcaps.
5080
5081 2006-08-21  Tim-Philipp Müller  <tim at centricular dot net>
5082
5083         * gst/gstxml.c: (gst_xml_dispose), (gst_xml_parse_file),
5084         (gst_xml_parse_memory), (gst_xml_get_element):
5085           Chain up to parent class in dispose function and also
5086           unref the elements in the toplevel_elements GList.
5087           Don't leak XmlDocPtr in _parse_file() and _parse_memory().
5088           Always return a reference in gst_xml_get_element() rather
5089           than only sometimes.
5090
5091         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
5092           Don't leak GstXml object.
5093
5094 2006-08-21  Stefan Kost  <ensonic@users.sf.net>
5095
5096         * docs/gst/gstreamer-sections.txt:
5097         * gst/gstcaps.c: (gst_structure_is_equal_foreach),
5098         (gst_caps_merge):
5099         * gst/gstcaps.h:
5100         * libs/gst/base/gstbasetransform.c:
5101         (gst_base_transform_transform_caps):
5102           API: Add gst_caps_merge() and use it in basetransform, fixes #345444
5103           in a better way
5104
5105 2006-08-21  Edward Hervey  <edward@fluendo.com>
5106
5107         * gst/gstxml.c: (gst_xml_class_init), (gst_xml_dispose):
5108         Implement GObject::dispose virtual method in GstXML so we can free the
5109         top_elements GList.
5110
5111 2006-08-21  Wim Taymans  <wim@fluendo.com>
5112
5113         * gst/gstbuffer.c: (gst_buffer_make_metadata_writable),
5114         (gst_buffer_create_sub):
5115         Copy duration/offset_end/caps when creating a subbuffer of the
5116         complete parent.
5117         Make the subbuffer read-only when we make the metadata writable for
5118         now. Fixes #351768.
5119
5120         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
5121         Added check for metadata copy when creating subbuffers.
5122
5123 2006-08-21  Edward Hervey  <edward@fluendo.com>
5124
5125         * libs/gst/base/gstbasetransform.c:
5126         (gst_base_transform_buffer_alloc):
5127         Only call downstream buffer_alloc if transform element is passthrough
5128         or always_in_place. Closes #350449.
5129
5130 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
5131
5132         * ChangeLog:
5133           ChangeLog surgery to add comments to previous changes
5134
5135 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
5136
5137         * gst/gst.c:
5138           Add comments
5139
5140         * gst/gstpad.c: (gst_pad_set_active):
5141           Be more verbose in the log
5142
5143         * libs/gst/base/gstbasetransform.c:
5144         (gst_base_transform_transform_caps):
5145           Simplify caps to get rid of duplicates, fixes #345444
5146
5147 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
5148
5149         * gst/gstvalue.c:
5150         * gst/gstvalue.h:
5151           Use these optimizations only internally.
5152
5153 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
5154
5155         * gst/gstvalue.c: (gst_value_compare_list),
5156         (gst_value_compare_fraction_range),
5157         (gst_value_intersect_fraction_fraction_range),
5158         (gst_value_intersect_fraction_range_fraction_range),
5159         (gst_value_subtract_fraction_fraction_range),
5160         (gst_value_subtract_fraction_range_fraction_range),
5161         (gst_value_get_compare_func), (gst_value_compare),
5162         (gst_value_compare_with_func):
5163         * gst/gstvalue.h:
5164           Saves the expensive lookup of the compare function in many cases
5165          (#345444)
5166
5167 2006-08-18  Edward Hervey  <edward@fluendo.com>
5168
5169         * tests/check/gst/gstinfo.c: (gst_info_suite):
5170         Disable test that require gstdebug if it wasn't built in core.
5171
5172 2006-08-18  Stefan Kost  <ensonic@users.sf.net>
5173
5174         * docs/random/ensonic/logging.txt:
5175           update ideas
5176           
5177         * gst/gstinfo.c: (gst_debug_log_default):
5178           reorder fields, save some columns, add optional color codes for log
5179           levels
5180
5181 2006-08-18  Stefan Kost  <ensonic@users.sf.net>
5182
5183         * docs/random/ensonic/logging.txt:
5184           add ideas about making the logs a bit more useful
5185
5186 2006-08-17  Tim-Philipp Müller  <tim at centricular dot net>
5187
5188         * docs/pwg/advanced-events.xml:
5189         * docs/pwg/titlepage.xml:
5190           Update for 0.10 API (#340627). Add myself
5191           to authors list.
5192
5193 2006-08-17  Tim-Philipp Müller  <tim at centricular dot net>
5194
5195         * docs/libs/gstreamer-libs-docs.sgml:
5196         * docs/libs/gstreamer-libs-sections.txt:
5197         * libs/gst/check/gstbufferstraw.c:
5198           Make gstcheck stuff show up in docs (still needs to
5199           be documented properly though).
5200
5201 2006-08-16  Jan Schmidt  <thaytan@mad.scientist.com>
5202
5203         * docs/gst/gstreamer-sections.txt:
5204         * gst/Makefile.am:
5205         * gst/gst.c: (init_post):
5206         * gst/gst_private.h:
5207         * gst/gstquark.c: (_priv_gst_quarks_initialize):
5208         * gst/gstquark.h:
5209         * gst/gstquery.c: (gst_query_new_position),
5210         (gst_query_set_position), (gst_query_parse_position),
5211         (gst_query_new_duration), (gst_query_set_duration),
5212         (gst_query_parse_duration), (gst_query_new_convert),
5213         (gst_query_set_convert), (gst_query_parse_convert),
5214         (gst_query_new_segment), (gst_query_set_segment),
5215         (gst_query_parse_segment), (gst_query_new_seeking),
5216         (gst_query_set_seeking), (gst_query_parse_seeking):
5217         Add internal helpers for pre-registering quarks from static strings
5218         and using the quark values directly instead of looking them up when
5219         creating and parsing queries. Can be used for event construction too.
5220         Closes #350432.
5221
5222 2006-08-16  Wim Taymans  <wim@fluendo.com>
5223
5224         * gst/gstbin.c:
5225         Fix bogus docs.
5226
5227 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
5228
5229         * gst/gstutils.c: (gst_util_set_value_from_string):
5230           Fix memleak (#351502).
5231
5232         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
5233           Add unit test for most of gst_util_set_value_from_string()
5234           (not that one would want to encourage use of this function).
5235
5236 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
5237
5238         * libs/gst/check/gstcheck.h:
5239           Use const gchar * variables in fail_unless_equals_string
5240           macro to avoid compiler warnings (and don't use tabs for
5241           indenting).
5242
5243 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
5244
5245         * tools/gst-launch.c: (print_tag):
5246           More space on the left for the tag names, to cater
5247           for the 'extended comment' tag (not touching the
5248           string for the first line since it's translated).
5249
5250 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
5251
5252         * libs/gst/check/gstcheck.h:
5253           Fix ASSERT_CRITICAL and ASSERT_WARNING macros to actually
5254           print something when they fail.
5255
5256 2006-08-14  Tim-Philipp Müller  <tim at centricular dot net>
5257
5258         * docs/gst/gstreamer-sections.txt:
5259         * gst/gsttaglist.c: (_gst_tag_initialize):
5260         * gst/gsttaglist.h:
5261           API: add GST_TAG_EXTENDED_COMMENT (#350935).
5262           Also change merge function for GST_TAG_COMMENT to
5263           use_first.
5264
5265 2006-08-14  Tim-Philipp Müller  <tim at centricular dot net>
5266
5267         * gst/gstinfo.c: (gst_debug_print_object):
5268           Make GST_PTR_FORMAT print messages as well.
5269
5270         * tests/check/gst/gstinfo.c: (printf_extension_log_func),
5271         (GST_START_TEST), (gst_info_suite):
5272           More tests.
5273
5274 2006-08-14  Edward Hervey  <edward@fluendo.com>
5275
5276         * gst/gstelementfactory.c: (gst_element_register):
5277         If the GstElementClass doesn't have a GstElementDetails with all fields
5278         filled up correctly (longname, description AND author), then error out
5279         nicely instead of crashing.
5280
5281 2006-08-14  Tim-Philipp Müller  <tim at centricular dot net>
5282
5283         * gst/gststructure.c:
5284           Fix typo in docs and re-wrap docs blurb to not exceed 80 chars/line.
5285
5286         * gst/gstvalue.h:
5287           Expand on the difference between arrays and lists as we use them.
5288           
5289 2006-08-14  Wim Taymans  <wim@fluendo.com>
5290
5291         * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
5292         If the parent state change function failed, don't assume we can safely
5293         stop the source, this will be done when the pads are deactivated.
5294
5295 2006-08-14  Wim Taymans  <wim@fluendo.com>
5296
5297         * gst/gstbuffer.c:
5298         * gst/gsttask.c: (gst_task_join):
5299         Small doc updates.
5300
5301         * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_activate_push),
5302         (gst_pad_stop_task):
5303         When pad (de)activation failed for some reason, restore the old
5304         activation mode and set the pad to flushing instead of assuming the
5305         pad is deactivated.
5306         If the _task_join() failed, reinstall the task on the pad so that it can
5307         be stopped later and return an error.
5308
5309 2006-08-11  Andy Wingo  <wingo@pobox.com>
5310
5311         * configure.ac:
5312         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packetizer_new):
5313         * tests/check/libs/gdp.c: (gst_dp_suite): GST_DISABLE_DEPRECATED
5314         is only for users of API that don't want to see deprecated
5315         functions in the headers; people that want to compile out
5316         deprecated code should pass -DGST_REMOVE_DEPRECATED into the
5317         CFLAGS. Fixes the build of multifdsink, or will soon..
5318
5319 2006-08-11  Wim Taymans  <wim@fluendo.com>
5320
5321         * docs/gst/gstreamer-sections.txt:
5322         Add GstClockClass vmethod docs.
5323
5324         * gst/gstcaps.h:
5325         Mark #endif with comment for associated #if
5326
5327         * gst/gstclock.c: (gst_clock_id_wait):
5328         * gst/gstclock.h:
5329         Add vmethod wait_jitter to avoid an unneeded _get_time() for
5330         most clock implementations.
5331         Document vmethods.
5332         Flesh out docs about resolution methods.
5333         API: GstClockClass::wait_jitter
5334
5335         * gst/gstsystemclock.c: (gst_system_clock_class_init),
5336         (gst_system_clock_async_thread),
5337         (gst_system_clock_id_wait_jitter_unlocked),
5338         (gst_system_clock_id_wait_jitter):
5339         Use base class wait_jitter variant for improved performance
5340         due to less clock polling.
5341
5342 2006-08-11  Edward Hervey  <edward@fluendo.com>
5343
5344         * gst/gst.c: (gst_init_check), (init_post):
5345         Set gst as being initialized before scanning/updating the registry,
5346         since there might be my python plugin loader that calls gst_init() and
5347         we don't want to loop back in.
5348         Closes #350879
5349
5350 2006-08-11  Wim Taymans  <wim@fluendo.com>
5351
5352         * docs/design/part-qos.txt:
5353         Bring docs in line with the code. Mostly the sign of the jitter was
5354         wrong in the docs. Fixes #349943.
5355
5356         * gst/gstclock.c:
5357         Fix the docs for the jitter.
5358
5359         * gst/gstevent.c: (gst_event_new_custom), (gst_event_new_tag),
5360         (gst_event_parse_tag), (gst_event_new_buffer_size),
5361         (gst_event_parse_buffer_size), (gst_event_parse_qos),
5362         (gst_event_new_seek), (gst_event_parse_seek),
5363         (gst_event_new_navigation):
5364         Make sure the GstStructure has no parent when creating custom
5365         events.
5366         Add some more argument checking so that we avoid 0.0 rates.
5367         Flesh out the docs for the QoS event some more.
5368
5369 2006-08-11  Wim Taymans  <wim@fluendo.com>
5370
5371         * docs/gst/gstreamer-sections.txt:
5372         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
5373         (ensure_current_registry_forking), (ensure_current_registry),
5374         (parse_one_option), (parse_goption_arg), (gst_deinit),
5375         (gst_registry_fork_is_enabled), (gst_registry_fork_set_enabled):
5376         * gst/gst.h:
5377         Doc updates.
5378         Added API and command line option to disable registry forking in
5379         addition to the environment variable.
5380         Constify some static arrays.
5381         Added some more debug.
5382         Don't deinit twice.
5383         API: gst_registry_fork_is_enabled()
5384         API: gst_registry_fork_set_enabled()
5385         API: --gst-disable-registry-fork command line option
5386         Fixes #348918.
5387
5388 2006-08-11  Tim-Philipp Müller  <tim at centricular dot net>
5389
5390         * gst/gst.c: (gst_init):
5391           Fix typo in error message.
5392
5393 2006-08-10  Stefan Kost  <ensonic@users.sf.net>
5394
5395         * libs/gst/controller/gstcontroller.h:
5396           fix ABI size-correction
5397
5398         * tests/check/libs/gdp.c: (gst_dp_suite):
5399           make tests that use deprecated API conditional
5400
5401 2006-08-10  Stefan Kost  <ensonic@users.sf.net>
5402
5403         * docs/libs/gstreamer-libs-sections.txt:
5404         * libs/gst/controller/gstcontroller.c:
5405         (_gst_controller_get_property), (_gst_controller_set_property),
5406         (_gst_controller_init), (_gst_controller_class_init):
5407         * libs/gst/controller/gstcontroller.h:
5408         * libs/gst/controller/gsthelper.c: (gst_object_get_control_rate),
5409         (gst_object_set_control_rate):
5410           API: add gst_object_{s,g}et_control_rate(), add private data section,
5411           fix docs
5412
5413         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packetizer_new):
5414         * libs/gst/dataprotocol/dataprotocol.h:
5415           add deprecation guards to make gtk-doc happy and allow disabling cruft
5416
5417 2006-08-09  Tim-Philipp Müller  <tim at centricular dot net>
5418
5419         * tests/check/Makefile.am:
5420         * tests/check/gst/.cvsignore:
5421           Let's enable the new unit test as well.
5422
5423 2006-08-08  Tim-Philipp Müller  <tim at centricular dot net>
5424
5425         * configure.ac:
5426         * docs/gst/gstreamer-sections.txt:
5427         * gst/gstconfig.h.in:
5428         * gst/gstinfo.c: (_gst_debug_init), (gst_debug_print_segment),
5429         (_gst_info_printf_extension_ptr),
5430         (_gst_info_printf_extension_segment):
5431           API: add GST_SEGMENT_FORMAT, which is a printf extension we
5432           register that lets us easily dump GstSegments into debug
5433           logs (#350419).
5434
5435         * tests/check/gst/gstinfo.c: (segment_printf_extension_log_func),
5436         (info_segment_format_printf_extension), (gst_info_suite):
5437           Add simple unit test that logs a bunch of different segments (not
5438           valgrinded at the moment because of leaks in
5439           gst_debug_add_log_function).
5440
5441 2006-08-09  Edward Hervey  <edward@fluendo.com>
5442
5443         * libs/gst/base/gstbasetransform.c:
5444         (gst_base_transform_buffer_alloc):
5445         Even if we can't figure out the proper format to request downstream,
5446         call buffer_alloc() downstream with the input parameters without setting
5447         the caps on the srcpad. This will force negotiation in the chain
5448         function.
5449         Closes #350449
5450
5451 2006-08-08  Edward Hervey  <edward@fluendo.com>
5452
5453         * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
5454         Unlinking from a pad without a target is now a perfectly valid case
5455         which should NOT raise an assertion.
5456         This case would happen if a linked ghostpad its target set to NULL after
5457         it was previously linked.
5458
5459 2006-08-08  Edward Hervey  <edward@fluendo.com>
5460
5461         * tests/check/libs/gdp.c:
5462         Also comment out the test (see below).
5463
5464 2006-08-08  Edward Hervey  <edward@fluendo.com>
5465
5466         * tests/check/libs/gdp.c: (gst_dp_suite):
5467         Use the architecture information from config.h and not gcc macros
5468         in order to properly disable a test that fails on PPC64.
5469
5470 2006-08-04  Tim-Philipp Müller  <tim at centricular dot net>
5471
5472         * gst/gstelement.c: (gst_element_remove_pad):
5473           Don't crash printing the warning if the pad has no parent.
5474
5475 2006-08-02  Wim Taymans  <wim@fluendo.com>
5476
5477         * libs/gst/dataprotocol/dataprotocol.c:
5478         (gst_dp_header_from_buffer_any), (gst_dp_packet_from_caps_any),
5479         (gst_dp_crc), (gst_dp_header_payload_length),
5480         (gst_dp_header_payload_type), (gst_dp_packet_from_event),
5481         (gst_dp_packet_from_event_1_0), (gst_dp_buffer_from_header),
5482         (gst_dp_caps_from_packet), (gst_dp_event_from_packet_0_2),
5483         (gst_dp_event_from_packet), (gst_dp_validate_header),
5484         (gst_dp_validate_payload):
5485         Make debug category static
5486         Constify the crc table.
5487         Do some more arg checking in public functions.
5488         Fix some docs and do some small cleanups.
5489
5490         * tests/check/libs/gdp.c: (GST_START_TEST), (gst_dp_suite):
5491         Add some more checks to see if GDP deals with bogus input.
5492
5493 2006-07-31  Wim Taymans  <wim@fluendo.com>
5494
5495         * gst/gstvalue.c: (gst_value_compare_list):
5496         Fix GstValueList comparison code. Fixes #347293.
5497
5498         * tests/check/gst/gstvalue.c: (GST_START_TEST):
5499         Check to test GstValueList comparison.
5500
5501 2006-07-31  Jan Schmidt  <thaytan@mad.scientist.com>
5502
5503         * gst/gstelementfactory.c: (gst_element_factory_create):
5504         Remove unnecessary ref/unref pair
5505
5506         * gst/parse/grammar.y:
5507         Make sure to free the parse buffer on all code paths.
5508         Move a g_free up to the error handler where it's easier to see.
5509
5510         * tests/check/gst/gstevent.c: (test_event):
5511         Extending timeout for downstream travelling events to 10 seconds to
5512         hopefully avoid intermittent failure on the buildbots.
5513
5514         * tests/check/pipelines/parse-launch.c: (run_delayed_test):
5515         Don't manually set the state of the src element - it will happen as a
5516         natural consequence of the pipeline changing state, and that way it
5517         will do it in the right order too.
5518
5519 2006-07-31  Wim Taymans  <wim@fluendo.com>
5520
5521         * libs/gst/base/gstbasetransform.c:
5522         (gst_base_transform_buffer_alloc):
5523         Use OBJECT_LOCK and refcounting to get the pad caps in the
5524         buffer_alloc function because the caps could change while we are
5525         busy with them. Fixes #349105
5526
5527 2006-07-31  Wim Taymans  <wim@fluendo.com>
5528
5529         * gst/gstutils.c: (gst_pad_get_fixed_caps_func):
5530         Protect _PAD_CAPS with OBJECT_LOCK.
5531
5532 2006-07-31  Wim Taymans  <wim@fluendo.com>
5533
5534         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
5535         (gst_pad_get_property), (gst_pad_activate_pull),
5536         (gst_pad_activate_push), (gst_pad_set_blocked_async),
5537         (gst_pad_set_activate_function),
5538         (gst_pad_set_activatepull_function),
5539         (gst_pad_set_activatepush_function), (gst_pad_set_chain_function),
5540         (gst_pad_set_getrange_function),
5541         (gst_pad_set_checkgetrange_function), (gst_pad_set_event_function),
5542         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
5543         (gst_pad_set_internal_link_function), (gst_pad_set_link_function),
5544         (gst_pad_set_unlink_function), (gst_pad_set_getcaps_function),
5545         (gst_pad_set_acceptcaps_function),
5546         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
5547         (gst_pad_set_bufferalloc_function), (gst_pad_link_check_hierarchy),
5548         (gst_pad_get_caps_unlocked), (gst_pad_get_caps),
5549         (gst_pad_peer_get_caps), (gst_pad_accept_caps),
5550         (gst_pad_peer_accept_caps), (gst_pad_set_caps),
5551         (gst_pad_configure_sink), (gst_pad_configure_src),
5552         (gst_pad_get_allowed_caps), (gst_pad_get_negotiated_caps),
5553         (gst_pad_buffer_alloc_unchecked), (gst_pad_alloc_buffer_full),
5554         (gst_pad_query), (gst_pad_load_and_link), (handle_pad_block),
5555         (gst_pad_chain_unchecked), (gst_pad_push), (gst_pad_get_range),
5556         (gst_pad_send_event):
5557         Use _DEBUG_OBJECT when it makes sense.
5558         Protect GST_PAD_CAPS with the OBJECT_LOCK.
5559         Small cleanups and code reflows.
5560         Avoid caps refcounting in _accept_caps.
5561         Refactor alloc_buffer so that the code performed on the peer is in a
5562         separate function. Also if the pad does not implement a buffer alloc
5563         function, we should still check if the pad is flushing before falling
5564         back to the default allocator.
5565
5566 2006-07-31  Jan Schmidt  <thaytan@mad.scientist.com>
5567
5568         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
5569         Make all uses of identity and fakesink have silent=true to avoid
5570         serialising every passing data structure, which is breaking tests
5571         on FC4 for some unknown reason.
5572
5573 2006-07-30  Stefan Kost  <ensonic@users.sf.net>
5574
5575         * gst/parse/Makefile.am:
5576         * gst/parse/grammar.y:
5577         * gst/parse/parse.l:
5578           Reverted previous patch as it required to bump the flex dependency to
5579           2.5.31, where fc4/5 seem to ship only the ancient 2.5.4a :(
5580
5581 2006-07-30  Stefan Kost  <ensonic@users.sf.net>
5582
5583         Patch by: Marc-Andre Lureau <marcandre.lureau@gmail.com>
5584
5585         * gst/parse/Makefile.am:
5586         * gst/parse/grammar.y:
5587         * gst/parse/parse.l:
5588           push & pop the state of the lexer for reentrant use case
5589           Fixes #349180
5590
5591 2006-07-29  Tim-Philipp Müller  <tim at centricular dot net>
5592
5593         * libs/gst/base/gstbasesrc.h:
5594           Note in the docs that the ::newsegment vfunc is not actually used by
5595           GstBaseSrc.
5596
5597 2006-07-28  Wim Taymans  <wim@fluendo.com>
5598
5599         * libs/gst/base/gstcollectpads.c:
5600         (gst_collect_pads_set_flushing_unlocked), (gst_collect_pads_pop),
5601         (gst_collect_pads_clear), (gst_collect_pads_flush),
5602         (gst_collect_pads_event), (gst_collect_pads_chain):
5603         When flushing a pad, also clear the queued buffer so that we don't
5604         accidentally use it when we shouldn't.
5605         Fix leaks by inreffing incomming buffer.
5606         Flush out queued buffers in case of errors.
5607         Fixes #347452.
5608
5609 2006-07-28  Wim Taymans  <wim@fluendo.com>
5610
5611         * docs/random/phonon-gst:
5612         Random notes about a Phonon backend.
5613
5614 2006-07-27  Jan Schmidt  <thaytan@mad.scientist.com>
5615
5616         * libs/gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
5617         Extra debug output
5618         * tests/check/libs/gdp.c: (gst_dp_suite):
5619         Take a whack at fixing the ppc compile using a different define to
5620         disable the broken test.
5621
5622         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
5623         Remove excess g_print()
5624
5625 2006-07-27  Jan Schmidt <thaytan@mad.scientist.com>
5626
5627         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe):
5628         Oops, meant to uncomment this line too to dampen the noise a bit.
5629
5630 2006-07-27  Jan Schmidt <thaytan@mad.scientist.com>
5631
5632         * gst/parse/grammar.y:
5633         * gst/parse/parse.l:
5634         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe),
5635         (GST_START_TEST), (parse_suite):
5636         Fix some of the leaks exposed by extending the parse-launch testsuite,
5637         and move the 3 I can't figure out into a separate test that won't run
5638         the pipelines unless the appropriate line is uncommented.
5639
5640 2006-07-27  Tim-Philipp Müller  <tim at centricular dot net>
5641
5642         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
5643           Requesting 0 bytes before the end of the file should result in
5644           FLOW_OK and an empty buffer, not FLOW_UNEXPECTED. Thank you
5645           unit test.
5646
5647 2006-07-27  Wim Taymans  <wim@fluendo.com>
5648
5649         * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_get_structure):
5650         Fix useless assert, a uint is always positive.
5651
5652         * gst/gststructure.c: (gst_structure_nth_field_name),
5653         (gst_structure_foreach), (gst_structure_map_in_place):
5654         Check input arguments for public functions to avoid obvious crashes.
5655
5656         * plugins/elements/gstfakesink.c: (gst_fake_sink_render):
5657         * plugins/elements/gstfakesink.h:
5658         Do less useless typechecking.
5659
5660 2006-07-27  Tim-Philipp Müller  <tim at centricular dot net>
5661
5662         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init):
5663           Do not use mmap() by default since there are a number of error
5664           conditions that we would like to handle in a non-fatal way that
5665           will result in a SIGBUS if we use mmap(). Examples: external
5666           devices (USB harddrive, portable music player) being unplugged
5667           while in use; file on mounted CD/DVD that can't be read because
5668           the medium is partly damaged. Fixes #348455 and #348475.
5669
5670 2006-07-27  Jan Schmidt  <thaytan@mad.scientist.com>
5671
5672         * gst/gstquery.h:
5673         Delete unused and misleading define of GST_QUERY_TYPE_RATE_DEN -
5674         rates are a gdouble
5675
5676 2006-07-26  Stefan Kost  <ensonic@users.sf.net>
5677
5678         * gst/gstregistry.c:
5679           Move big documentation comment into class section header, so that it
5680           appears in the API docs.
5681
5682 2006-07-26  Jan Schmidt  <thaytan@mad.scientist.com>
5683
5684         * docs/gst/gstreamer-sections.txt:
5685         Oops. Commit the docs additions too for new API.
5686         Also, remove the mention of the non-existent GST_QUERY_TYPE_RATE_DEN
5687
5688 2006-07-26  Jan Schmidt  <thaytan@mad.scientist.com>
5689
5690         * gst/gststructure.c: (gst_structure_id_set),
5691         (gst_structure_id_set_valist):
5692         * gst/gststructure.h:
5693         Add API for setting values into structures without performing
5694         a quark lookup, if the appropriate quark is already known.
5695
5696         API: gst_structure_id_set
5697         API: gst_structure_id_set_valist
5698
5699         * gst/parse/grammar.y:
5700         * gst/parse/parse.l:
5701         Remove some dead code shown by the coverage information.
5702         Don't throw a critical g_warning when encountering a syntax error,
5703         just warn and let the normal error path handle it.
5704
5705         * plugins/elements/gstelements.c:
5706         Bump the rank of filesink up to PRIMARY so that it is preferred over
5707         gnomevfssink for file:// sink uri's
5708
5709         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe),
5710         (GST_START_TEST), (run_delayed_test),
5711         (gst_parse_test_element_base_init),
5712         (gst_parse_test_element_class_init), (gst_parse_test_element_init),
5713         (gst_parse_test_element_change_state),
5714         (gst_register_parse_element), (parse_suite):
5715         Beef up the tests for parse syntax to check that more error cases
5716         fail as they are supposed to. Increases the test coverage a bit.
5717
5718 2006-07-26  Tim-Philipp Müller  <tim at centricular dot net>
5719
5720         * docs/manual/basics-elements.xml:
5721           Fix gst_element_link() example.
5722
5723         * gst/gstutils.c:
5724           Mention in API docs that one should usually gst_bin_add()
5725           elements to a bin or pipeline before doing the linking.
5726           
5727 2006-07-26  Wim Taymans  <wim@fluendo.com>
5728
5729         * gst/gstbuffer.c: (gst_buffer_get_type), (gst_buffer_new),
5730         (gst_subbuffer_get_type), (gst_buffer_create_sub):
5731         Avoid function call for known types by keeping the buffer and
5732         subbuffer GType global.
5733
5734         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
5735         Random silly optimisations in read() path.
5736
5737 2006-07-26  Jan Schmidt  <thaytan@mad.scientist.com>
5738
5739         * tools/gst-launch.c: (main):
5740           If the top-level of the parse is a normal bin, it doesn't do the
5741           right logic to run as a top-level element, so place it inside a
5742           pipeline.
5743
5744 2006-07-25  Tim-Philipp Müller  <tim at centricular dot net>
5745
5746         * plugins/elements/gstfilesrc.c: (gst_file_src_set_property):
5747           Remove superfluous g_object_notify() calls, GObject does
5748           that for us automatically.
5749
5750 2006-07-25  Stefan Kost  <ensonic@users.sf.net>
5751
5752         * gst/gstinfo.h:
5753           on Win32, use dllspec to export the debug category symbols
5754
5755 2006-07-24  Tim-Philipp Müller  <tim at centricular dot net>
5756
5757         * gst/gsttaglist.c: (_gst_tag_initialize):
5758           Allow more than one GST_TAG_IMAGE per taglist.
5759
5760 2006-07-24  Thomas Vander Stichele  <thomas at apestaart dot org>
5761
5762         * gst/gstminiobject.c:
5763           update docs
5764         * plugins/elements/gstfdsrc.c: (gst_fd_src_set_property),
5765         (gst_fd_src_create):
5766           log recurring events at LOG level
5767           add more debug for when the fd gets set
5768
5769 2006-07-21  Stefan Kost  <ensonic@users.sf.net>
5770
5771         * gst/gstparse.c: (gst_parse_launch):
5772           Also remove reentrance checks if flex is MT safe (#348179)
5773          Fix my empty ChangeLog entry below
5774
5775 2006-07-21  Andy Wingo  <wingo@pobox.com>
5776
5777         * docs/libs/gstreamer-libs-sections.txt: Attempt to pacify buildbot.
5778
5779         * libs/gst/check/Makefile.am
5780         (libgstcheck_@GST_MAJORMINOR@include_HEADERS)
5781         (libgstcheck_@GST_MAJORMINOR@_la_SOURCES): 
5782         * libs/gst/check/gstbufferstraw.h:
5783         * libs/gst/check/gstbufferstraw.c: Add some new hype testing
5784         functions, thus proving I am still a GStreamer haxor. OK I wrote
5785         them a long time ago, but anyways.
5786
5787 2006-07-21  Stefan Kost  <ensonic@users.sf.net>
5788
5789         * configure.ac:
5790         * gst/gstparse.c: (gst_parse_launch):
5791           Check for flex version and omit mutex if we have a MT save flex
5792           (fixes #348179)
5793
5794 2006-07-21  Wim Taymans  <wim@fluendo.com>
5795
5796         * gst/gstparse.c: (gst_parse_launch):
5797         Protect recursive calls to _parse with a recursive mutex
5798         and busy flag.
5799
5800 2006-07-21  Wim Taymans  <wim@fluendo.com>
5801
5802         * tests/check/gst/gstpad.c: (GST_START_TEST):
5803         Fix leak in test.
5804
5805 2006-07-20  Stefan Kost  <ensonic@users.sf.net>
5806
5807         * gst/gstparse.c: (gst_parse_launch):
5808           Do not hang on recursive usage of gst_parse_launch()
5809
5810 2006-07-20  Tim-Philipp Müller  <tim at centricular dot net>
5811
5812         * gst/gsttaglist.c:
5813           Add some more docs, comments and FIXME 0.11s here and there
5814           and also fix some typos.
5815
5816 2006-07-20  Tim-Philipp Müller  <tim at centricular dot net>
5817
5818         * gst/gstsegment.h:
5819           Convert tabs to spaces for better readability. 
5820
5821 2006-07-20  Edward Hervey  <edward@fluendo.com>
5822
5823         * tests/check/libs/gdp.c: (gst_dp_suite):
5824         the test_buffer test fails at line 140 on ppc64 at the following
5825         check:
5826         fail_unless (GST_BUFFER_FLAG_IS_SET (newbuffer,
5827                 GST_BUFFER_FLAG_IN_CAPS),
5828                 "GST_BUFFER_IN_CAPS flag should have been copied !");
5829         See bug #348114 for more details.
5830
5831 2006-07-19  Tim-Philipp Müller  <tim at centricular dot net>
5832
5833         * docs/pwg/advanced-scheduling.xml:
5834         * gst/gstpad.c:
5835           Fix typos (#348000).
5836
5837 2006-07-18  Tim-Philipp Müller  <tim at centricular dot net>
5838
5839         * docs/pwg/intro-basics.xml:
5840           Fix wrong links (#347927).
5841
5842 2006-07-18  Stefan Kost  <ensonic@users.sf.net>
5843
5844         * gst/gstregistry.h:
5845         * gst/gstregistryxml.c: (load_feature),
5846         (gst_registry_xml_read_cache), (gst_registry_xml_save_feature):
5847         * win32/common/config.h:
5848           make --disable-index work (#342564)
5849
5850 2006-07-18  Wim Taymans  <wim@fluendo.com>
5851
5852         Patch by: Peter Kjellerstedt <pkj at axis dot com>
5853
5854         * gst/Makefile.am:
5855         * gst/gsttrace.h:
5856         The attached patch adds two missing defines to gsttrace.h when tracing
5857         is disabled.  It also corrects one existing define.
5858         Fixes #347756.
5859
5860 2006-07-17  Wim Taymans  <wim@fluendo.com>
5861
5862         * docs/gst/gstreamer-sections.txt:
5863         * gst/gst.c: (gst_segtrap_is_enabled), (gst_segtrap_set_enabled):
5864         * gst/gst.h:
5865         * gst/gstplugin.c: (_gst_plugin_fault_handler_restore):
5866         Add two functions to check and change the SIGSEGV behaviour
5867         when loading plugins.
5868         Don't mess with the SIGSEGV handler when we were told not to.
5869         Fixes #347794.
5870         API: gst_segtrap_is_enabled
5871         API: gst_segtrap_set_enabled
5872
5873 2006-07-14  Wim Taymans  <wim@fluendo.com>
5874
5875         * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length):
5876         * tests/check/elements/filesrc.c: (GST_START_TEST):
5877         Revert fix for regression in #347408 after release.
5878
5879 2006-07-14  Tim-Philipp Müller  <tim at centricular dot net>
5880
5881         Patch by: Antoine Tremblay <hexa00 at gmail com>
5882
5883         * gst/gstutils.c: (gst_element_unlink):
5884           Free iterator when done (#347311).
5885
5886         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
5887           And add a test case for this.
5888
5889 2006-07-14  Jan Schmidt  <thaytan@mad.scientist.com>
5890
5891         * configure.ac:
5892         Bump nano back to CVS
5893
5894 === release 0.10.9 ===
5895
5896 2006-07-13  Jan Schmidt <thaytan@mad.scientist.com>
5897
5898         * configure.ac:
5899           releasing 0.10.9, "On the road again"
5900
5901 2006-07-13  Wim Taymans  <wim@fluendo.com>
5902
5903         * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length):
5904         * tests/check/elements/filesrc.c: (GST_START_TEST):
5905         Revert pull-0 fix for release. Disable check. Fixes #347408.
5906
5907 2006-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
5908
5909         * libs/gst/dataprotocol/dataprotocol.c:
5910         (gst_dp_event_from_packet_1_0):
5911           Fixes #347337: failure to deserialize event packets with
5912           empty payload (only event type)
5913
5914 2006-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
5915
5916         * gst/Makefile.am:
5917           do not install a .c file in the header directory
5918
5919 2006-07-13  Edward Hervey  <edward@fluendo.com>
5920
5921         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked):
5922         GhostPad no longer implicitely use the padtemplates of the targets.
5923         Fixes #347384
5924
5925 2006-07-11  Jan Schmidt  <thaytan@mad.scientist.com>
5926
5927         * gst/gstvalue.c: (gst_value_compare_list),
5928         (gst_value_compare_array), (_gst_value_initialize):
5929         * tests/check/gst/gstvalue.c: (GST_START_TEST):
5930         Make GstValueArray comparison be order dependent as designed.
5931         Add checks for value lists and value array comparisons.
5932         Fixes #347221
5933
5934 2006-07-11  Edward Hervey  <edward@fluendo.com>
5935
5936         * gst/gstbin.c: (activate_pads),
5937         (iterator_activate_fold_with_resync), (gst_bin_src_pads_activate),
5938         (gst_bin_change_state_func):
5939         (de)activate src pads before calling state_change on the childs.
5940         This is to avoid the case where a src ghostpad is blocked (holding the
5941         stream lock), which would block the deactivation of the ghostpad's
5942         target pad.
5943         * gst/gstghostpad.c: (gst_proxy_pad_do_query_type),
5944         (gst_proxy_pad_do_event), (gst_proxy_pad_do_query),
5945         (gst_proxy_pad_do_internal_link), (gst_proxy_pad_do_bufferalloc),
5946         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
5947         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
5948         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
5949         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target_unlocked),
5950         (gst_proxy_pad_set_target), (gst_proxy_pad_get_internal),
5951         (gst_proxy_pad_dispose), (gst_proxy_pad_init),
5952         (gst_ghost_pad_parent_set), (gst_ghost_pad_parent_unset),
5953         (gst_ghost_pad_class_init),
5954         (gst_ghost_pad_internal_do_activate_push),
5955         (gst_ghost_pad_internal_do_activate_pull),
5956         (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
5957         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
5958         (gst_ghost_pad_dispose), (gst_ghost_pad_new_no_target),
5959         (gst_ghost_pad_new), (gst_ghost_pad_set_target):
5960         GhostPads now create their internal GstProxyPad at creation (and not
5961         when they're linked, as it was being done previously).
5962         The internal and target pads are linked straight away.
5963         The data will also travel through the other pad in order to make
5964         pad blocking and probes non-hackish (the probe/block now really happens
5965         on the GhostPad and not on the target).
5966         * gst/gstpad.c: (gst_pad_set_blocked_async),
5967         (gst_pad_link_prepare), (gst_pad_push_event):
5968         Remove previous ghostpad cruft.
5969         * gst/gstutils.c: (gst_pad_add_data_probe),
5970         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
5971         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
5972         (gst_pad_remove_buffer_probe):
5973         Remove previous ghost pad cruft.
5974         Added more detailed debug statements.
5975         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
5976         Fix the testsuite for refcounting changes.
5977         The comments about who has references were correct, but the refcount
5978         being checked wasn't the same (!?!).
5979
5980         Fixes #341029
5981
5982 2006-07-10  Stefan Kost  <ensonic@users.sf.net>
5983
5984         * docs/gst/gstreamer-sections.txt:
5985         * gst/gstconfig.h.in:
5986         More docs for configuration options, add docs to gtk-doc.
5987
5988 2006-07-10  Stefan Kost  <ensonic@users.sf.net>
5989
5990         * gst/Makefile.am:
5991         * gst/gstconfig.h.in:
5992         * win32/common/config.h:
5993         Fix build when disabling tracing (fixes #344016). Also start to document
5994         the defines that disable the sub-systems.
5995
5996 2006-07-10  Edward Hervey  <edward@fluendo.com>
5997
5998         * gst/gst.c: (ensure_current_registry_forking):
5999         let's make valgrind happy...
6000
6001 2006-07-09  Wim Taymans  <wim@fluendo.com>
6002
6003         * gst/gstelement.c: (activate_pads),
6004         (iterator_activate_fold_with_resync), (gst_element_pads_activate):
6005         Better pad activation code: Reset the collect value too on resync.
6006         Add some comments.
6007
6008 2006-07-09  Wim Taymans  <wim@fluendo.com>
6009
6010         * gst/gstpad.c: (gst_pad_init), (gst_pad_activate_pull),
6011         (gst_pad_activate_push):
6012         Use some more macros where it makes sense.
6013         Allow pad mode switching instead of asserting. When a pad
6014         is activated in one mode and we activate it in another, 
6015         deactivate it first before activating it in a different mode.
6016         Fixes #329198.
6017
6018 2006-07-08  Andy Wingo  <wingo@pobox.com>
6019
6020         * tools/gst-launch.c (main): Handle err == NULL.
6021
6022         * gst/gst.c (init_post, ensure_current_registry)
6023         (ensure_current_registry_forking)
6024         (ensure_current_registry_nonforking): Reduce #ifdef ratnest by
6025         factoring out the registry scanning into separate functions. Don't
6026         fork for the rescan is GST_REGISTRY_FORK=no; useful in debugging.
6027         Better environment var name/interface suggestions accepted.
6028
6029 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
6030
6031         * gst/gstobject.c: (gst_object_set_name_default),
6032         (gst_object_set_name):
6033           Random micro-optimisation: don't use a hash table
6034           with strings as keys and the usual strdup/strcmp
6035           involved, but rather just use the GQuark of the
6036           type name as key, since it needs to be looked up
6037           anyway to get the type name string.
6038
6039         * tests/check/gst/gstobject.c: (GST_START_TEST):
6040           Fix various leaks.
6041
6042 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
6043
6044         * gst/gstbin.c: (compare_interface), (gst_bin_get_by_interface),
6045         (gst_bin_iterate_all_by_interface):
6046           Can't use GPOINTER_TO_INT and GINT_TO_POINTER with GTypes.
6047           GTypes are gulongs and thus the top 4 bytes might be cut
6048           off on some platforms when doing GPOINTER_TO_INT, leading
6049           to invalid GTypes and bad things happening (see RH bug #179654).
6050           Also add a check to make sure the type passed in is really
6051           an interface type.
6052
6053 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
6054
6055         * .cvsignore:
6056           Ignore more.
6057
6058 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
6059
6060         * Makefile.am:
6061         * configure.ac:
6062         * gst-element-check.m4:
6063         * gst-element-check.m4.in:
6064           Make gst-element-check-$VERSION.m4 call gst-inspect-$VERSION
6065           instead of the unversioned gst-inspect (#324176, #168659).
6066
6067 2006-07-06  Wim Taymans  <wim@fluendo.com>
6068
6069         * gst/gstmessage.h:
6070         Use a valid int for the _MESSAGE_ANY enum value to avoid compiler
6071         warnings.
6072
6073 2006-07-06  Wim Taymans  <wim@fluendo.com>
6074
6075         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
6076         (gst_base_src_wait), (gst_base_src_update_length),
6077         (gst_base_src_get_range), (gst_base_src_default_check_get_range),
6078         (gst_base_src_check_get_range), (gst_base_src_pad_check_get_range),
6079         (gst_base_src_loop), (gst_base_src_start),
6080         (gst_base_src_activate_pull):
6081         Update docs.
6082         blocksize == 0 now means the default blocksize when working in push
6083         based mode.
6084         Remove some pointless asserts in _wait function.
6085         Fix offset/length calculations and EOS handling. We can now pull 0
6086         bytes as well, which is allowed.
6087         use _check_get_range() to decide if we can operate in _pull based
6088         mode.
6089         Fix refcounting leak when check_get_range function was not 
6090         implemented.
6091         API GstBaseSrc::blocksize range can be 0 too now (default)
6092
6093         * tests/check/elements/filesrc.c: (GST_START_TEST),
6094         (filesrc_suite):
6095         Added check to test _get_range() behaviour.
6096
6097 2006-07-06  Wim Taymans  <wim@fluendo.com>
6098
6099         * gst/gstpad.c: (gst_pad_chain_unchecked), (gst_pad_chain),
6100         (gst_pad_push), (gst_pad_check_pull_range), (gst_pad_get_range),
6101         (gst_pad_pull_range):
6102         * gst/gstpad.h:
6103         Lots of comments and docs added to the pad functions.
6104         Flesh out the expected behaviour of the get_range() functions.
6105
6106 2006-07-06  Wim Taymans  <wim@fluendo.com>
6107
6108         * gst/gstbus.h:
6109         * gst/gstclock.h:
6110         * gst/gstevent.h:
6111         * gst/gstiterator.h:
6112         * gst/gstpad.h:
6113         * gst/gstplugin.h:
6114         * gst/gsttask.h:
6115         Remove comma at end of enumerator list. 
6116
6117 2006-07-05  Sebastien Moutte  <sebastien@moutte.net>
6118
6119         * win32/common/libgstbase.def:
6120         * win32/common/libgstdataprotocol.def:
6121         * win32/common/libsgtreamer.def:
6122         Add new exported functions.
6123
6124 2006-07-05  Wim Taymans  <wim@fluendo.com>
6125
6126         * libs/gst/base/gstpushsrc.c: (gst_push_src_check_get_range):
6127         Add some more docs here and there.
6128
6129 2006-07-05  Wim Taymans  <wim@fluendo.com>
6130
6131         * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_object),
6132         (gst_base_sink_loop), (gst_base_sink_get_position):
6133         When operating in pull mode update the offset so that we
6134         read sequentially.
6135
6136 2006-07-05  Wim Taymans  <wim@fluendo.com>
6137
6138         * gst/gstregistryxml.c: (read_string):
6139         Avoid strdup. (will happen in libxml, but hey!)
6140
6141         * gst/gsturi.c:
6142         Add some more docs.
6143
6144 2006-07-05  Wim Taymans  <wim@fluendo.com>
6145
6146         * gst/gstbuffer.c: (_gst_buffer_copy), (gst_buffer_create_sub):
6147         * tests/check/gst/gstbuffer.c: (GST_START_TEST),
6148         (gst_buffer_suite):
6149         No point in checking if the size of the subbuffer > 0, the
6150         code handles it correclty as demonstrated by unit test.
6151         Also add a unit test for the zero sized _new_and_alloc and
6152         _copy. Fixes #346663.
6153
6154 2006-07-05  Wim Taymans  <wim@fluendo.com>
6155
6156         * libs/gst/base/gstbasetransform.c:
6157         (gst_base_transform_prepare_output_buffer),
6158         (gst_base_transform_buffer_alloc),
6159         (gst_base_transform_handle_buffer):
6160         Make sure the buffer we pass to transform_ip has a refcount of
6161         1 and thus is writable. Fixes #343196
6162
6163 2006-07-04  Jan Schmidt  <thaytan@mad.scientist.com>
6164
6165         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
6166         (gst_file_src_init), (gst_file_src_set_property),
6167         (gst_file_src_get_property), (gst_file_src_map_region):
6168         * plugins/elements/gstfilesrc.h:
6169         Add "sequential" property, off by default, to use madvise and hint
6170         to the kernel that sequential access is desired.
6171         Touch all retrieved pages by default to ensure they are pulled
6172         into memory. (Closes #345720)
6173
6174 2006-07-03  Wim Taymans  <wim@fluendo.com>
6175
6176         * docs/design/part-block.txt:
6177         * docs/design/part-dynamic.txt:
6178         Small docs updates.
6179
6180 2006-07-03  Wim Taymans  <wim@fluendo.com>
6181
6182         * gst/gstcaps.c: (gst_caps_new_empty), (_gst_caps_free),
6183         (gst_caps_unref), (gst_static_caps_get),
6184         (gst_caps_append_structure):
6185         * gst/gstclock.c: (gst_clock_entry_new), (_gst_clock_id_free):
6186         Use GSlice when the glib we build against is >= 2.10
6187
6188 2006-07-03  Wim Taymans  <wim@fluendo.com>
6189
6190         * gst/gstelement.c: (gst_element_pads_activate):
6191         Small cleanup in pad activation code.
6192
6193 2006-07-03  Wim Taymans  <wim@fluendo.com>
6194
6195         Patch by: Peter Kjellerstedt <pkj at axis dot com>
6196
6197         * gst/gst-i18n-app.h:
6198         * gst/gst-i18n-lib.h:
6199         * tools/gst-inspect.c: (print_signal_info):
6200         The attached patch will make the inclusion of gettext.h unconditional in
6201         gst/gst-i18n-app.h and gst/gst-i18n-lib.h, and it will remove the inclusion of
6202         libintl.h in tools/gst-inspect.c.
6203         This allows use of --disable-nls again and fixes #344642.
6204
6205 2006-07-03  Edward Hervey  <edward@fluendo.com>
6206
6207         * gst/gstpad.c: (handle_pad_block), (gst_pad_push_event):
6208         Implement pad blocking on events according to part-block.txt.
6209         More comments on behaviour.
6210         * tests/check/gst/gstevent.c: (test_event):
6211         Send event to peer pad of blocked pad (else it will block).
6212
6213 2006-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
6214
6215         * libs/gst/check/gstcheck.c: (gst_check_message_error),
6216         (gst_check_run_suite):
6217           if we get the wrong message, give us the types as string
6218         * plugins/elements/gstfilesrc.c: (gst_file_src_start):
6219           Fix a translatable
6220         * tests/check/elements/filesrc.c: (GST_START_TEST):
6221           add a test for trying to open a non-existing file
6222
6223 2006-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
6224
6225         * tests/check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
6226           add a test for adding self
6227
6228 2006-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
6229
6230         * libs/gst/check/gstcheck.h:
6231           add some assert_ as alias for fail_unless_*
6232         * tests/check/gst/gst.c: (GST_START_TEST), (gst_suite):
6233           increase test coverage
6234
6235 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
6236
6237         * Makefile.am:
6238           include lcov.mak for lcov coverage generation
6239         * tools/Makefile.am:
6240           add to CLEANFILES
6241
6242 2006-07-02  Edward Hervey  <edward@fluendo.com>
6243
6244         * tests/check/elements/.cvsignore:
6245         moaping
6246
6247 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
6248
6249         * configure.ac:
6250           don't set CFLAGS and friends for gcov, done from GST_GCOV now
6251         * tests/check/Makefile.am:
6252           clean up gcov files
6253
6254 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
6255
6256         * gst/gstcaps.c: (gst_caps_remove_and_get_structure):
6257           remove gst_caps_simplify; it was not declared and not used
6258           and deprecated in 0.8
6259
6260 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
6261
6262         * docs/faq/gst-uninstalled:
6263           don't put empty paths on PYTHONPATH
6264         * docs/gst/gstreamer-sections.txt:
6265           remove some symbols that are not there
6266
6267 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
6268
6269         * gst/gstcaps.c: (gst_caps_compare_structures):
6270           whitespace fixes
6271         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
6272         * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
6273           add more tests
6274
6275 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
6276
6277         * libs/gst/dataprotocol/Makefile.am:
6278           build dataprotocol test by linking to the lib, instead of
6279           compiling the source, so we get coverage
6280         * tests/check/Makefile.am:
6281         * tests/check/elements/filesrc.c: (event_func), (setup_filesrc),
6282         (cleanup_filesrc), (GST_START_TEST), (filesrc_suite):
6283           add a test for filesrc
6284
6285 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
6286
6287         * tests/check/gst/gststructure.c: (GST_START_TEST),
6288         (gst_structure_suite):
6289           Push coverage from 59.04% to 70.00%
6290
6291 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
6292
6293         * tests/check/Makefile.am:
6294           gst-inspect every element; this makes sure that we also get
6295           coverage on element's get/set functions
6296
6297 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
6298
6299         * configure.ac:
6300           set CFLAGS and friends to -O0 if gcov is being used
6301           add GCOV LIBS
6302         * gst/Makefile.am:
6303         * libs/gst/base/Makefile.am:
6304         * libs/gst/check/Makefile.am:
6305         * libs/gst/controller/Makefile.am:
6306         * libs/gst/dataprotocol/Makefile.am:
6307         * libs/gst/net/Makefile.am:
6308         * plugins/elements/Makefile.am:
6309         * plugins/indexers/Makefile.am:
6310           add makefile rules to generate gcov data and clean up
6311         * tests/check/Makefile.am:
6312           add a coverage target that generates an html overview
6313           of coverage data
6314
6315 2006-07-01  Thomas Vander Stichele  <thomas at apestaart dot org>
6316
6317         * tests/check/elements/fakesink.c:
6318         * tests/check/elements/fakesrc.c:
6319         * tests/check/elements/fdsrc.c:
6320         * tests/check/elements/identity.c:
6321         * tests/check/generic/sinks.c: (gst_sinks_suite):
6322         * tests/check/generic/states.c:
6323         * tests/check/gst/gst.c:
6324         * tests/check/gst/gstabi.c:
6325         * tests/check/gst/gstbin.c:
6326         * tests/check/gst/gstbuffer.c: (gst_buffer_suite):
6327         * tests/check/gst/gstbus.c: (gst_bus_suite):
6328         * tests/check/gst/gstcaps.c: (GST_START_TEST):
6329         * tests/check/gst/gstelement.c:
6330         * tests/check/gst/gstevent.c: (gst_event_suite):
6331         * tests/check/gst/gstghostpad.c:
6332         * tests/check/gst/gstiterator.c: (gst_iterator_suite):
6333         * tests/check/gst/gstmessage.c: (gst_message_suite):
6334         * tests/check/gst/gstminiobject.c:
6335         * tests/check/gst/gstobject.c:
6336         * tests/check/gst/gstpad.c:
6337         * tests/check/gst/gstpipeline.c:
6338         * tests/check/gst/gstplugin.c:
6339         * tests/check/gst/gstquery.c: (gst_query_suite):
6340         * tests/check/gst/gstsegment.c: (gst_segment_suite):
6341         * tests/check/gst/gststructure.c:
6342         * tests/check/gst/gstsystemclock.c:
6343         * tests/check/gst/gsttag.c:
6344         * tests/check/gst/gsttask.c: (gst_task_suite):
6345         * tests/check/gst/gstutils.c:
6346         * tests/check/gst/gstvalue.c:
6347         * tests/check/libs/adapter.c:
6348         * tests/check/libs/basesrc.c:
6349         * tests/check/libs/collectpads.c:
6350         * tests/check/libs/controller.c:
6351         * tests/check/libs/gdp.c: (gst_dp_suite):
6352         * tests/check/libs/gstnetclientclock.c:
6353         * tests/check/libs/gstnettimeprovider.c:
6354         * tests/check/libs/libsabi.c: (libsabi_suite):
6355         * tests/check/libs/typefindhelper.c:
6356         * tests/check/pipelines/cleanup.c:
6357         * tests/check/pipelines/parse-launch.c:
6358         * tests/check/pipelines/simple-launch-lines.c:
6359         * tests/check/pipelines/stress.c: (stress_suite):
6360           use the new macro
6361
6362 2006-07-01  Thomas Vander Stichele  <thomas at apestaart dot org>
6363
6364         * libs/gst/check/gstcheck.c: (gst_check_run_suite):
6365         * libs/gst/check/gstcheck.h:
6366           create a macro and function so that the simple unit test
6367           case can be just one macro to create main()
6368
6369 2006-06-30  Tim-Philipp Müller  <tim at centricular dot net>
6370
6371         * gst/gstbin.c: (gst_bin_restore_thyself):
6372         * gst/gstxml.c: (gst_xml_make_element):
6373           Fix deserialisation from XML. Set parent manually
6374           instead of using gst_bin_add(), since gst_bin_add()
6375           will unlink all pads of the element being added.
6376           Fixes #341667.
6377
6378 2006-06-28  Tim-Philipp Müller  <tim at centricular dot net>
6379
6380         Patch by: Peter Kjellerstedt <pkj at axis com>
6381
6382         * gst/gst.c: (prepare_for_load_plugin_func), (split_and_iterate):
6383           Fix missing g_strdup() and double free when using the
6384           --gst-plugin-load command line option (#346097).
6385
6386 2006-06-23  Tim-Philipp Müller  <tim at centricular dot net>
6387
6388         * gst/gstinfo.c:
6389           Promote GST_DEBUG_CATEGORY_STATIC in example in docs.
6390
6391         * libs/gst/net/gstnetclientclock.c:
6392         * libs/gst/net/gstnettimeprovider.c:
6393           Use GST_DEBUG_CATEGORY_STATIC here too (#342503).
6394
6395 2006-06-23  Tim-Philipp Müller  <tim at centricular dot net>
6396
6397         * docs/manual/advanced-dataaccess.xml:
6398           Fix buffer probe example compilation in
6399           ADM (#345708).
6400         
6401 2006-06-22  Edward Hervey  <edward@fluendo.com>
6402
6403         * gst/gstelement.c: (gst_element_pads_activate):
6404         We need to deactivate src pads first and then sink pads.
6405         The reason is the src pads might be blocking while holding the streaming
6406         lock, so we need to deactivate them first so that deactivating the sink
6407         pads doesn't block (since it will require the streaming lock).
6408
6409 2006-06-22  Wim Taymans  <wim@fluendo.com>
6410
6411         * libs/gst/base/gstbasetransform.c:
6412         (gst_base_transform_buffer_alloc):
6413         Forgot to remove two unneeded unrefs.
6414         Simplify a check _is_equal allready checks the obvious case.
6415
6416 2006-06-22  Wim Taymans  <wim@fluendo.com>
6417
6418         * docs/design/part-block.txt:
6419         Some docs about what pad_block should do.
6420
6421 2006-06-22  Wim Taymans  <wim@fluendo.com>
6422
6423         * gst/gstcaps.c: (gst_caps_replace):
6424         Fix crasher when passed NULL. Doc clarification.
6425         Optimize for the trivial case.
6426
6427         * gst/gstpipeline.c: (gst_pipeline_change_state):
6428         Small cleanups.
6429
6430         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
6431         Small documentation cleanup.
6432
6433         * libs/gst/base/gstbasetransform.c:
6434         (gst_base_transform_buffer_alloc):
6435         Don't use silly gst_pad_get_negotiated_caps, GST_PAD_CAPS
6436         is what we need and it avoids a whole lot of redundant 
6437         refcount operations.
6438
6439 2006-06-22  Tim-Philipp Müller  <tim at centricular dot net>
6440
6441         Patch by: Philip Jägenstedt  <philip at lysator liu se>
6442
6443         * docs/manual/advanced-dataaccess.xml:
6444           Fix 'Embedding static elements' section to use
6445           GST_PLUGIN_DEFINE_STATIC (#345607).
6446
6447 2006-06-21  Tim-Philipp Müller  <tim at centricular dot net>
6448
6449         * tests/check/pipelines/simple-launch-lines.c: (test_stop_from_app):
6450           Attempt to 'fix' spuriously failing test case: it seems like the
6451           timeout of half a second is simply too small when the system is under
6452           load otherwise, and the timeout doesn't really seem to serve any
6453           particular purpose here. Give the pipeline a few seconds to preroll
6454           first, and then give it another half a second to go from PAUSED to
6455           PLAYING and marshal the message into the main thread.
6456
6457 2006-06-21  Tim-Philipp Müller  <tim at centricular dot net>
6458
6459         * tools/gst-feedback-m.m:
6460           Don't only use unversioned tools, try versioned tools as well
6461           (#345086).
6462
6463 2006-06-21  Tim-Philipp Müller  <tim at centricular dot net>
6464
6465         * gst/gstbus.c: (gst_bus_class_init):
6466           Fix some typos, make docs more explicit.
6467
6468 2006-06-20  Wim Taymans  <wim@fluendo.com>
6469
6470         * tests/check/gst/gstghostpad.c: (block_callback),
6471         (GST_START_TEST), (gst_ghost_pad_suite):
6472         Added some more ghostpad tests, mainly blocking
6473         and probes.
6474
6475 2006-06-16  Wim Taymans  <wim@fluendo.com>
6476
6477         * plugins/elements/gstfilesink.c: (gst_file_sink_open_file),
6478         (gst_file_sink_close_file), (gst_file_sink_do_seek),
6479         (gst_file_sink_event), (gst_file_sink_render):
6480         * plugins/elements/gstfilesink.h:
6481         Check if we can seek in the file instead of assuming
6482         we always can. Post an error when we are asked to seek in a
6483         non-seekable file (like a fifo). Fixes #343312.
6484         Some cleanups.
6485
6486 2006-06-16  Tim-Philipp Müller  <tim at centricular dot net>
6487
6488         * tools/gst-launch.1.in:
6489           Un-garble (fourcc) bit in filtered caps section.
6490
6491 2006-06-16  Tim-Philipp Müller  <tim at centricular dot net>
6492
6493         * docs/manual/advanced-autoplugging.xml:
6494         * docs/manual/basics-helloworld.xml:
6495         * docs/manual/highlevel-components.xml:
6496           Don't leak bus reference in sample code.
6497
6498 2006-06-15  Tim-Philipp Müller  <tim at centricular dot net>
6499
6500         * autogen.sh:
6501           Add default for new --enable-plugin-docs switch.
6502
6503         * configure.ac:
6504           Use new GST_PLUGIN_DOCS macro to check for pyxml etc.
6505           Fixes #344039.
6506
6507         * docs/Makefile.am:
6508           Use new ENABLE_PLUGIN_DOCS conditional.
6509
6510 2006-06-14  Wim Taymans  <wim@fluendo.com>
6511
6512         * gst/gstbin.c: (bin_query_duration_done), (gst_bin_query):
6513         Make it clear with a FIXME and a real define what the #if 0
6514         previously disabled.
6515
6516 2006-06-14  Wim Taymans  <wim@fluendo.com>
6517
6518         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
6519         (gst_base_sink_preroll_object), (gst_base_sink_get_position):
6520         * libs/gst/base/gstbasetransform.c:
6521         (gst_base_transform_sink_eventfunc):
6522         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
6523         Don't randomly and silently reset a segment when the format 
6524         changes as this is a bug somewhere upstream. Fixes #330379.
6525
6526 2006-06-14  Tim-Philipp Müller  <tim at centricular dot net>
6527
6528         Patch by: Wouter Paesen  <wouter at kangaroot net>
6529
6530         * libs/gst/controller/gstcontroller.c:
6531         (gst_controlled_property_new):
6532           Fix controlling of float properties (#344849).
6533
6534         * tests/check/libs/controller.c:
6535         (gst_test_mono_source_get_property),
6536         (gst_test_mono_source_set_property),
6537         (gst_test_mono_source_class_init), (GST_START_TEST):
6538           While we're at it, add some float stuff to unit test.
6539
6540 2006-06-13  Thomas Vander Stichele  <thomas at apestaart dot org>
6541
6542         * docs/README:
6543         * docs/images/gdp-header.svg:
6544           add a gdp image
6545         * docs/libs/Makefile.am:
6546         * docs/libs/gdp-header.png:
6547         * libs/gst/dataprotocol/dataprotocol.c:
6548           add it to the API docs
6549         * docs/manual/intro-motivation.xml:
6550           fix typo
6551
6552 2006-06-13  Tim-Philipp Müller  <tim at centricular dot net>
6553
6554         * gst/gst.c: (scan_and_update_registry), (init_post):
6555           If the fork()'ed child process can't write the updated registry cache
6556           file to disk for some reason, make it exit with a failure exit code,
6557           so that the parent can then re-scan the plugins itself and update the
6558           registry structures in memory and work with that (rather than failing
6559           when creating elements because seemingly no plugins are available).
6560           Refactor registry scanning code into separate function for this and
6561           also separate fork() and non-fork() code paths. Fixes #344748.
6562
6563 2006-06-13  Wim Taymans  <wim@fluendo.com>
6564
6565         * docs/manual/advanced-dataaccess.xml:
6566         Fix wrong PluginDesc. Fixes #344755.
6567
6568 2006-06-13  Tim-Philipp Müller  <tim at centricular dot net>
6569
6570         * gst/gstregistryxml.c: (gst_registry_xml_write_cache):
6571           Fix silly bug that prevented us from creating
6572           ~/.gstreamer-0.10 and writing the registry in one
6573           go (the first call to g_mkstemp() would overwrite the
6574           placeholder in the template string, so the second call
6575           to g_mkstemp() after creating the missing directory
6576           would then error out with 'invalid argument').
6577
6578 2006-06-13  Edward Hervey  <edward@fluendo.com>
6579
6580         * gst/gst.c: (init_post):
6581         Free string.
6582
6583 2006-06-13  Thomas Vander Stichele  <thomas at apestaart dot org>
6584
6585         * gst/glib-compat-private.h:
6586         * gst/glib-compat.c:
6587         * gst/glib-compat.h:
6588         * gst/gstvalue.c: (gst_value_serialize_flags):
6589           remove GLib 2.6 compatibility code
6590
6591 2006-06-12  Tim-Philipp Müller  <tim at centricular dot net>
6592
6593         * gst/parse/Makefile.am:
6594           Fix build with 'make -j N' even more (#340016).
6595
6596 2006-06-12  Wim Taymans  <wim@fluendo.com>
6597
6598         * docs/gst/gstreamer-sections.txt:
6599         Fix docs.
6600
6601 2006-06-12  Wim Taymans  <wim@fluendo.com>
6602
6603         * gst/gstsegment.c: (gst_segment_set_duration),
6604         (gst_segment_set_last_stop), (gst_segment_set_seek),
6605         (gst_segment_set_newsegment_full), (gst_segment_to_stream_time),
6606         (gst_segment_to_running_time), (gst_segment_clip):
6607         Use G_UNLIKELY to help the compiler a bit.
6608
6609 2006-06-12  Wim Taymans  <wim@fluendo.com>
6610
6611         Patch by: Stefan Kost <ensonic at sonicpulse dot de>
6612
6613         * gst/gstevent.c: (gst_event_get_type):
6614         * gst/gstmessage.c:
6615         * gst/gstpad.c: (gst_pad_chain_unchecked), (gst_pad_chain),
6616         (gst_pad_push):
6617         constify quark registration strings. Fixes #344115
6618         Avoid unneeded type checking is _pad_push() by internally
6619         calling gst_pad_chain_unchecked().
6620
6621 2006-06-12  Wim Taymans  <wim@fluendo.com>
6622
6623         * gst/gstbuffer.c: (gst_buffer_get_type), (gst_buffer_finalize),
6624         (_gst_buffer_copy), (gst_buffer_is_metadata_writable),
6625         (gst_subbuffer_finalize), (gst_buffer_create_sub),
6626         (gst_buffer_is_span_fast), (gst_buffer_span):
6627         Init _type for consistency.
6628         Use _FLAGS macro to avoid type check.
6629         Avoid unneeded type checks in subbufer code.
6630
6631 2006-06-12  Wim Taymans  <wim@fluendo.com>
6632
6633         * gst/gst.c: (gst_debug_help):
6634         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_list_free):
6635         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
6636         (gst_plugin_feature_list_free):
6637         * gst/gstregistry.c: (gst_registry_add_plugin),
6638         (gst_registry_add_feature), (gst_registry_plugin_filter),
6639         (gst_registry_feature_filter), (gst_registry_find_plugin),
6640         (gst_registry_find_feature), (gst_registry_get_plugin_list),
6641         (gst_registry_lookup_feature_locked), (gst_registry_lookup_locked):
6642         * gst/gstregistryxml.c: (load_feature),
6643         (gst_registry_xml_read_cache), (gst_registry_xml_write_cache):
6644         * gst/gstminiobject.c: (gst_mini_object_unref),
6645         (gst_mini_object_replace), (gst_value_mini_object_free),
6646         (gst_value_mini_object_copy):
6647         Use _CAST macros to avoid unneeded type checking.
6648         Added some more G_UNLIKELY.
6649
6650 2006-06-12  Wim Taymans  <wim@fluendo.com>
6651
6652         * gst/gstbuffer.h:
6653         Avoid unneeded type checking.
6654         API: GST_BUFFER_IS_DISCONT
6655
6656         * gst/gstminiobject.h:
6657         Avoid type check in flag accessor.
6658
6659         * gst/gstelementfactory.h:
6660         * gst/gstplugin.h:
6661         * gst/gstpluginfeature.h:
6662         Add _CAST macros.
6663         API: GST_ELEMENT_FACTORY_CAST
6664         API: GST_PLUGIN_CAST
6665         API: GST_PLUGIN_FEATURE_CAST
6666
6667 2006-06-12  Wim Taymans  <wim@fluendo.com>
6668
6669         * gst/gstobject.c: (gst_object_get_type), (gst_object_ref),
6670         (gst_object_unref):
6671         Add G_UNLIKELY in type registration.
6672         Avoid type check in _ref/_unref since that is also
6673         done in glib.
6674
6675 2006-06-12  Wim Taymans  <wim@fluendo.com>
6676
6677         * gst/gsterror.c: (gst_g_error_get_type):
6678         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
6679         (gst_static_pad_template_get_type):
6680         * gst/gsttaglist.c: (gst_tag_list_get_type):
6681         * gst/gsttagsetter.c: (gst_tag_setter_get_type):
6682         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type):
6683         * gst/gsturi.c: (gst_uri_handler_get_type):
6684         * gst/gstvalue.c: (gst_date_get_type):
6685         * gst/gstxml.c: (gst_xml_get_type):
6686         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_type),
6687         (gst_base_sink_preroll_object), (gst_base_sink_get_position):
6688         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_type):
6689         Add G_UNLIKELY in type registration.
6690
6691 2006-06-12  Wim Taymans  <wim@fluendo.com>
6692
6693         * tools/gst-inspect.c: (print_signal_info):
6694         Properly print enum values.
6695
6696 2006-06-12  Wim Taymans  <wim@fluendo.com>
6697
6698         * gst/gstinfo.c: (gst_debug_set_active),
6699         (gst_debug_category_set_threshold), (_gst_debug_nameof_funcptr):
6700         * gst/gstinfo.h:
6701         Add some G_[UN]LIKELY.
6702         Maintain __gst_debug_min to avoid formatting the arguments of
6703         debug messages that will be dropped anyway to avoid a lot of 
6704         overhead from the debugging system.
6705
6706 2006-06-11  Stefan Kost  <ensonic@users.sf.net>
6707
6708         * po/POTFILES.in:
6709         * po/POTFILES.skip:
6710           add missing files containing translatable strings, tell intltool about
6711           one exception
6712
6713 2006-06-11  Stefan Kost  <ensonic@users.sf.net>
6714
6715         * tests/check/libs/.cvsignore:
6716         add test-binary to ignore list
6717
6718 2006-06-11  Stefan Kost  <ensonic@users.sf.net>
6719
6720         * docs/libs/gstreamer-libs-docs.sgml:
6721         reorder (put dp into a chapter) and indent
6722
6723 2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
6724
6725         * configure.ac:
6726           back to HEAD
6727
6728 === release 0.10.8 ===
6729
6730 2006-06-10  Thomas Vander Stichele <thomas at apestaart dot org>
6731
6732         * configure.ac:
6733           releasing 0.10.8, "Soepeke, ik zie ou nog altijd nie"
6734
6735 2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
6736
6737         * gst/gst.c: (init_post):
6738           move pid declaration to declaration block
6739
6740 2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
6741
6742         * gst/gst.c: (init_post):
6743           use _exit() instead of exit() in our forked child; this ensures
6744           that none of the registered exit handlers from whatever is using
6745           GStreamer get executed.  This fixes gnome-mixer-applet failing
6746           to load, because ORBit would shut down.
6747           Spotted by: Edward Hervey  <edward@fluendo.com>
6748           Fix suggested by: Tim-Philipp Müller  <tim at centricular dot net>
6749           Fixes #344474
6750
6751 2006-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
6752
6753         * configure.ac:
6754           back to TRUNK
6755
6756 === release 0.10.7 ===
6757
6758 2006-06-09  Thomas Vander Stichele <thomas at apestaart dot org>
6759
6760         * configure.ac:
6761           releasing 0.10.7, "Soepeke, ik zie ou"
6762
6763 2006-06-07  Thomas Vander Stichele  <thomas at apestaart dot org>
6764
6765         * configure.ac:
6766         * po/af.po:
6767         * po/az.po:
6768         * po/bg.po:
6769         * po/ca.po:
6770         * po/cs.po:
6771         * po/de.po:
6772         * po/en_GB.po:
6773         * po/fr.po:
6774         * po/it.po:
6775         * po/nb.po:
6776         * po/nl.po:
6777         * po/ru.po:
6778         * po/sq.po:
6779         * po/sr.po:
6780         * po/sv.po:
6781         * po/tr.po:
6782         * po/uk.po:
6783         * po/vi.po:
6784         * po/zh_CN.po:
6785         * po/zh_TW.po:
6786         * win32/common/config.h:
6787           0.10.6.2 prerelease
6788
6789 2006-06-07  Wim Taymans  <wim@fluendo.com>
6790
6791         * gst/gstindex.c: (gst_index_gtype_resolver):
6792         * tools/gst-xmlinspect.c: (print_plugin_info):
6793         Fix leak spotted by coverity checker. Fixes #343827
6794         Fix another other leak found by paolo borelli.
6795
6796 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
6797
6798         * libs/gst/dataprotocol/dataprotocol.c:
6799         (gst_dp_header_from_buffer_any), (gst_dp_packet_from_caps_any),
6800         (gst_dp_version_get_type), (gst_dp_init),
6801         (gst_dp_header_from_buffer), (gst_dp_header_from_buffer_1_0),
6802         (gst_dp_packet_from_caps), (gst_dp_packet_from_caps_1_0),
6803         (gst_dp_packet_from_event), (gst_dp_packet_from_event_1_0),
6804         (gst_dp_event_from_packet_0_2), (gst_dp_event_from_packet_1_0),
6805         (gst_dp_event_from_packet), (gst_dp_packetizer_new),
6806         (gst_dp_packetizer_free):
6807         * libs/gst/dataprotocol/dataprotocol.h:
6808           API: add a GstDPPacketizer object, and create/free functions
6809           API: add GstDPVersion enum
6810           Add 1.0 event function that uses the string serialization
6811           Serialize more useful buffer flags
6812           Fixes #343988
6813
6814 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
6815
6816         * tests/check/Makefile.am:
6817         * tests/check/gst/gstabi.c:
6818         * tests/check/gst/struct_ppc64.h:
6819         * tests/check/libs/libsabi.c:
6820         * tests/check/libs/struct_ppc64.h:
6821           add ppc64 structure sizes
6822
6823 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
6824
6825         * tests/check/Makefile.am:
6826         * tests/check/gst/gstabi.c:
6827         * tests/check/gst/struct_x86_64.h:
6828         * tests/check/libs/libsabi.c:
6829         * tests/check/libs/struct_x86_64.h:
6830           generate and add structure size lists for x86_64
6831
6832 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
6833
6834         * libs/gst/check/gstcheck.c: (gst_check_abi_list):
6835         * libs/gst/check/gstcheck.h:
6836           factor out the method from tests that checks size of structures,
6837           and add code to generate the header containing these sizes
6838         * tests/check/gst/gstabi.c: (GST_START_TEST):
6839         * tests/check/gst/struct_i386.h:
6840         * tests/check/libs/libsabi.c: (GST_START_TEST):
6841         * tests/check/libs/struct_i386.h:
6842           use it
6843
6844 2006-06-06  Michael Smith  <msmith@fluendo.com>
6845
6846         * gst/gstsegment.h:
6847           Don't use c++-style comments, fixes #343929
6848
6849 2006-06-05  Edward Hervey  <edward@fluendo.com>
6850
6851         * gst/gst.c:
6852         plugin_paths is not used if we build without registry support.
6853
6854         * gst/gstsegment.c: (gst_segment_copy): 
6855         _copy() was always returning NULL...
6856
6857 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
6858
6859         * libs/gst/dataprotocol/dataprotocol.c:
6860         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
6861         (gst_dp_packet_from_event):
6862           factor out CRC code
6863
6864 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
6865
6866         * libs/gst/check/gstcheck.c: (gst_check_teardown_src_pad):
6867           make sure we unset caps
6868
6869 2006-06-02  Michael Smith  <msmith@fluendo.com>
6870
6871         * libs/gst/check/gstcheck.c: (gst_check_init),
6872         (gst_check_chain_func):
6873         * libs/gst/check/gstcheck.h:
6874           Add a cond/mutex to the check support lib, signal this whenever we
6875           add to the buffers list. This will allow tests to not busy-wait on
6876           the buffer-list.
6877
6878 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
6879
6880         * libs/gst/dataprotocol/dataprotocol.c:
6881         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
6882         (gst_dp_packet_from_event):
6883           factor out some common header init code
6884
6885 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
6886
6887         * docs/libs/gstreamer-libs-sections.txt:
6888         * docs/libs/tmpl/gstdataprotocol.sgml:
6889         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc):
6890         * libs/gst/dataprotocol/dataprotocol.h:
6891           API: make gst_dp_crc() public
6892
6893 2006-06-01  Stefan Kost  <ensonic@users.sf.net>
6894
6895         * plugins/indexers/gstindexers.c: (plugin_init):
6896         conditionally register fileindexer (fixes #343598)
6897
6898 2006-06-01  Stefan Kost  <ensonic@users.sf.net>
6899
6900         * gst/gsttagsetter.h:
6901         Can't cast ifaces to a class
6902
6903         * libs/gst/net/gstnetclientclock.h:
6904         * libs/gst/net/gstnettimeprovider.h:
6905         * plugins/elements/gstfakesink.h:
6906         * plugins/elements/gstfakesrc.h:
6907         * plugins/elements/gstfdsink.h:
6908         * plugins/elements/gstfdsrc.h:
6909         * plugins/elements/gstfilesink.h:
6910         * plugins/elements/gstfilesrc.h:
6911         * plugins/elements/gstidentity.h:
6912         * plugins/elements/gstqueue.h:
6913         * plugins/elements/gsttee.h:
6914         * plugins/indexers/gstfileindex.c:
6915         * plugins/indexers/gstmemindex.c:
6916         * tests/old/examples/plugins/example.h:
6917         Fix more gobject macros: obj<->klass, GstXXX<->GstXXXClass
6918
6919 2006-06-01  Thomas Vander Stichele  <thomas at apestaart dot org>
6920
6921         * libs/gst/dataprotocol/dataprotocol.c:
6922         (gst_dp_header_from_buffer):
6923           make sure we zero the whole ABI-compatible area
6924
6925 2006-06-01  Wim Taymans  <wim@fluendo.com>
6926
6927         Patch by: Alessandro Decina <alessandro at nnva dot org>
6928
6929         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_stop):
6930         Make sure the EOS flag is cleared from pads after a flush
6931         or stop. Fixes #343538.
6932
6933         * tests/check/libs/collectpads.c: (GST_START_TEST),
6934         (gst_collect_pads_suite):
6935         Added test for collectpads reusage after EOS.
6936
6937 2006-05-30  Sebastien Moutte  <sebastien@moutte.net>
6938
6939         * gst/gst.c:
6940          set #include <sys/wait.h> in a #ifdef #ifdef HAVE_FORK
6941         * win32/common/libgstbase.def:
6942          export gst_collect_pads_set_flushing
6943         * win32/common/libgstreamer.def:
6944          export gst_pad_set_acceptcaps_function, gst_structure_empty_new,
6945          gst_value_fraction_multiply
6946         * win32/vs6/gst_inspect.dsp:
6947          add a link to intl.lib
6948
6949 2006-05-30  Wim Taymans  <wim@fluendo.com>
6950
6951         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
6952         (gst_collect_pads_chain):
6953         Handle the case where a pad is removed from the collection
6954         that could cause the other pads to become collectable.
6955
6956 2006-05-30  Wim Taymans  <wim@fluendo.com>
6957
6958         * gst/gstelement.c:
6959         Clarify the use of _release_request_pad() and
6960         _get_request_pad() a bit better.
6961
6962         * libs/gst/base/gstadapter.c: (gst_adapter_peek),
6963         (gst_adapter_take_buffer):
6964         Fix some doc and comment typos.
6965
6966 2006-05-30  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
6967
6968         * docs/gst/gstreamer-sections.txt:
6969         * docs/libs/gstreamer-libs-sections.txt:
6970           add declared symbols
6971
6972 2006-05-30  Jan Schmidt  <thaytan@mad.scientist.com>
6973
6974         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
6975         Add debug that can be enabled using a #define at the top of the file,
6976         for dumping stats about how late/early we were when waking up from
6977         waiting on the clock.
6978
6979 2006-05-30  Wim Taymans  <wim@fluendo.com>
6980
6981         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_check_pads):
6982         When rebuilding the pad list, don't leak the previous list.
6983
6984 2006-05-30  Wim Taymans  <wim@fluendo.com>
6985
6986         Patch by: Lutz Mueller <lutz at topfrose dot de>
6987
6988         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
6989         (gst_base_src_get_query_types), (gst_base_src_update_length):
6990         Publish supported query types.
6991         Update last_stop field in get_range mode so the position
6992         query works. Fixes #342321.
6993
6994 2006-05-30  Tim-Philipp Müller  <tim at centricular dot net>
6995
6996         * docs/gst/gstreamer-sections.txt:
6997         * gst/gsttaglist.c: (_gst_tag_initialize):
6998         * gst/gsttaglist.h:
6999           API: add GST_TAG_PREVIEW_IMAGE (#343341).
7000
7001 2006-05-30  Wim Taymans  <wim@fluendo.com>
7002
7003         Patch by: Alessandro Decina <alessandro at nnva dot org>
7004
7005         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad):
7006         Unlock mutex when removing an unknown pad.
7007         Fixes #343334.
7008
7009         * tests/check/Makefile.am:
7010         * tests/check/libs/collectpads.c: (collected_cb), (push_buffer),
7011         (push_event), (setup), (teardown), (GST_START_TEST),
7012         (gst_collect_pads_suite), (main):
7013         Added collecpads check, disabled for now as check crashes for
7014         some reason.
7015
7016 2006-05-29  Wim Taymans  <wim@fluendo.com>
7017
7018         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize):
7019         Don't leak pads lists.
7020
7021 2006-05-29  Wim Taymans  <wim@fluendo.com>
7022
7023         * docs/libs/gstreamer-libs-sections.txt:
7024         * libs/gst/base/gstcollectpads.c:
7025         (gst_collect_pads_set_flushing_unlocked),
7026         (gst_collect_pads_set_flushing), (gst_collect_pads_start),
7027         (gst_collect_pads_stop):
7028         * libs/gst/base/gstcollectpads.h:
7029         API: gst_collect_pads_set_flushing()
7030         Added api to set the pads to flushing, useful for seeking
7031         code in elements using collectpads.
7032         Clear segment when receiving a flush.
7033
7034 2006-05-29  Tim-Philipp Müller  <tim at centricular dot net>
7035
7036         * gst/gst.c: (add_path_func), (init_post):
7037           Don't scan registry paths passed via --gst-plugin-path immediately
7038           (will crash, because absolutely nothing is set up and no types are
7039           registered etc.); do this later in init_post(). Fixes #343057.
7040
7041 2006-05-28  Thomas Vander Stichele  <thomas at apestaart dot org>
7042
7043         * gst/gst.c: (init_post):
7044           if we have fork, fork while reading/rebuilding the registry
7045           so the parent doesn't take the hit of having all plugins loaded
7046           in memory.  Fixes #342777.
7047         * configure.ac:
7048           Check if we have fork()
7049         * win32/common/config.h.in:
7050           no fork() on win32
7051
7052 2006-05-26  Jan Schmidt  <thaytan@mad.scientist.com>
7053
7054         * plugins/elements/gstelements.c:
7055         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
7056         (gst_file_src_init), (gst_file_src_set_property),
7057         (gst_file_src_get_property), (gst_file_src_start):
7058         * plugins/elements/gstfilesrc.h:
7059           API: GstFileSrc::use-mmap
7060
7061         Add a use-mmap property to enable easier testing of all code paths.
7062         Bump rank to PRIMARY, so filesrc is the preferred file reader and used
7063         in the absence of gnomevfssrc. (Closes #340501)
7064
7065 2006-05-26  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7066
7067         * tools/gst-inspect.c:
7068         Add missing include, removes warning of ngettext not being defined on
7069         some arches.
7070
7071 2006-05-26  Jan Schmidt  <thaytan@mad.scientist.com>
7072
7073         * gst/gstvalue.c: (gst_value_deserialize_fraction):
7074         Handle NULL input and output pointers silently as a failed conversion,
7075         rather than g_warnings.
7076
7077 2006-05-25  Wim Taymans  <wim@fluendo.com>
7078
7079         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_start):
7080         Initialize variable before using. Fixes #342820.
7081
7082 2006-05-24  Tim-Philipp Müller  <tim at centricular dot net>
7083
7084         * libs/gst/base/gsttypefindhelper.c: (buf_helper_find_peek):
7085           Fix off-by-one bug that would only allow peeks of N-1 bytes
7086           from the start even if the buffer to typefind on contains
7087           in fact N bytes of data (makes vorbis typefinding from a
7088           vorbis identification header buffer work).
7089
7090         * tests/check/Makefile.am:
7091         * tests/check/libs/.cvsignore:
7092         * tests/check/libs/typefindhelper.c: (GST_START_TEST),
7093         (gst_typefindhelper_suite), (main), (foobar_typefind),
7094         (plugin_init):
7095           Add very basic unit test for gst_type_find_helper_for_buffer()
7096           that checks for the problem fixed above.
7097
7098 2006-05-24  Thomas Vander Stichele  <thomas at apestaart dot org>
7099
7100         * tools/gst-inspect.c: (print_interfaces),
7101         (print_element_properties_info), (print_element_list), (main):
7102           add more translatable strings
7103
7104 2006-05-23  Tim-Philipp Müller  <tim at centricular dot net>
7105
7106         Patch by: Julien Moutte  <julien at moutte net>
7107
7108         * docs/gst/gstreamer-sections.txt:
7109           Make new GST_FLOW_IS_SUCCESS macro visible in docs.
7110           
7111         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init),
7112         (gst_fake_sink_preroll):
7113         * plugins/elements/gstfakesink.h:
7114           API: Add new GstFakeSink::preroll-handoff signal (#337100).
7115
7116 2006-05-23  Wim Taymans  <wim@fluendo.com>
7117
7118         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark):
7119         * gst/gstpad.h:
7120         Added _CUSTOM error and success GstFlowReturn that can be
7121         used be elements internally. 
7122         Added macro to check for SUCCESS flowreturns.
7123         API: GST_FLOW_CUSTOM_SUCCESS
7124         API: GST_FLOW_CUSTOM_ERROR
7125         API: GST_FLOW_IS_SUCCESS
7126
7127         * tests/check/gst/gstpad.c: (GST_START_TEST), (gst_pad_suite):
7128         Added check for GstFlowReturn sanity.
7129
7130 2006-05-23  Wim Taymans  <wim@fluendo.com>
7131
7132         Patch by: Mark Nauwelaerts <manauw at skynet dot be>
7133
7134         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
7135         (gst_collect_pads_event):
7136         clear/reset segment info in FLUSH_STOP.
7137         Fixes #336929.
7138
7139 2006-05-22  Stefan Kost  <ensonic@users.sf.net>
7140
7141         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_stop),
7142         (gst_collect_pads_check_collected):
7143         Flush queued buffer on _stop(), fixes playing again (#342454)
7144
7145 2006-05-22  Thomas Vander Stichele  <thomas at apestaart dot org>
7146
7147         * tests/check/gst/gststructure.c: (GST_START_TEST),
7148         (gst_structure_suite):
7149           add a test for a complete structure
7150
7151 2006-05-19  Tim-Philipp Müller  <tim at centricular dot net>
7152
7153         * docs/faq/developing.xml:
7154         * docs/faq/faq.xml:
7155         * docs/faq/troubleshooting.xml:
7156         * docs/faq/using.xml:
7157           Some minor FAQ updates that won't change the fact that
7158           our FAQ is badly structured, full of information hardly
7159           anyone new to GStreamer needs to know and lacking lots
7160           of information people constantly ask for.
7161           
7162 2006-05-19  Jan Schmidt  <thaytan@mad.scientist.com>
7163
7164         * gst/gstpad.c: (gst_pad_set_caps):
7165           Short-circuit gst_pad_set_caps if setting the existing
7166           caps pointer again, and avoid printing debug and 
7167           reffing/unreffing the caps.
7168
7169         * plugins/elements/gstqueue.c: (gst_queue_push_one):
7170           There's actually no need to set the caps before pushing -
7171           the acceptcaps method will handle it anyway.
7172
7173 2006-05-19  Tim-Philipp Müller  <tim at centricular dot net>
7174
7175         * docs/gst/gstreamer-sections.txt:
7176         * win32/common/libgstreamer.def:
7177         * gst/gstutils.c: (gst_element_seek_simple):
7178         * gst/gstutils.h:
7179           API: add gst_element_seek_simple() (#342238).
7180
7181 2006-05-18  Edward Hervey  <edward@fluendo.com>
7182
7183         * gst/gsttypefind.c: (gst_type_find_get_type):
7184         * gst/gsttypefind.h:
7185         Added GST_TYPE_TYPE_FIND and gst_type_find_get_type() so a GType gets
7186         registered for GstTypeFind pointers. This allows wrapping the structure
7187         in bindings (i.e. gst-python).
7188
7189 2006-05-18  Tim-Philipp Müller  <tim at centricular dot net>
7190
7191         * gst/gsttagsetter.c:
7192           Docs additions and fixes (see #339918).
7193
7194 2006-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
7195
7196         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
7197         The caps intersection algorithm can produce multiple copies of the
7198         caps. Until that is fixed, we need to simplify the result to be
7199         sure whether the allowed caps are fixed or not.
7200
7201         * plugins/elements/gstqueue.c: (gst_queue_init),
7202         (gst_queue_bufferalloc), (gst_queue_acceptcaps),
7203         (gst_queue_push_one):
7204         Proxied buffer alloc should not set the caps on the source pad.
7205         When pushing buffers, we always accept the caps change that triggers.
7206         This prevents negotiation errors caused by caps changing mid-stream 
7207         and then being refused on our source pad (because upstream is now
7208         refusing those caps).
7209
7210 2006-05-18  Tim-Philipp Müller  <tim at centricular dot net>
7211
7212         * tests/examples/helloworld/helloworld.c: (main):
7213           Must plug audioconvert and audioresample between decoder
7214           and audio sink.
7215
7216 2006-05-17  Jan Schmidt  <thaytan@mad.scientist.com>
7217
7218         * gst/gstregistryxml.c: (read_string), (load_pad_template),
7219         (load_feature), (load_plugin):
7220         Allow empty strings for some of the plugin fields so we don't 
7221         drop valid plugin entries that were written out correctly
7222         (Fixes #341479)
7223
7224 2006-05-17  Sebastien Moutte  <sebastien@moutte.net>
7225         
7226         * gst/gstregistryxml.c: (gst_registry_xml_write_cache):
7227           Use g_remove and g_rename instead of remove and rename that don't 
7228           handle utf8 characters. rename was failing for users who had specific
7229           characters in their name then the registry was built at each 
7230           gstreamer init.
7231         * win32/vs6/gst_inspect.dsp:
7232         * win32/vs6/gst_launch.dsp:
7233         * win32/vs6/libgstbase.dsp:
7234         * win32/vs6/libgstcoreelements.dsp:
7235         * win32/vs6/libgstreamer.dsp:
7236           Use a debug version of libxml2 (libxml2D.lib,libxml2D.dll) for DEBUG 
7237           build of libgstreamer and clean unused libraries in projects link 
7238           settings.
7239
7240 2006-05-17  Edward Hervey  <edward@fluendo.com>
7241
7242         * plugins/elements/gstqueue.c: (gst_queue_push_one):
7243         The queue is not responsible for pushing an EOS when receiving a fatal
7244         flow error. It's up to the real element driving the pipeline to do that.
7245
7246 2006-05-16  Edward Hervey  <edward@fluendo.com>
7247
7248         * plugins/elements/gstqueue.c: (gst_queue_push_one):
7249         The queue was posting a non-needed GST_MESSAGE_ERROR when pushing a
7250         buffer returned a fatal error. It should just send an EOS and stop
7251         its task.
7252         Upstream elements will then properly receive the GST_FLOW_UNEXPECTED
7253         when pushing buffers on the queue and will be able to handle the event.
7254
7255 2006-05-16  Tim-Philipp Müller  <tim at centricular dot net>
7256
7257         * docs/manual/basics-bins.xml:
7258         * docs/manual/basics-init.xml:
7259           Fix typos and minor errors in sample code (#341856).
7260
7261 2006-05-16  Wim Taymans  <wim@fluendo.com>
7262
7263         * docs/design/part-qos.txt:
7264         Fix indexes in formulas to make more sense.
7265
7266 2006-05-15  Wim Taymans  <wim@fluendo.com>
7267
7268         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
7269         Don't report POSITION based on clock time if sync is
7270         disabled in a sink.
7271
7272 2006-05-15  Tim-Philipp Müller  <tim at centricular dot net>
7273
7274         * gst/gstobject.h:
7275           Add cast to make compiler happy - refcount variable was a gint
7276           in GstObject but is a guint in GObject and g_atomic_int_get()
7277           wants a gint *.
7278
7279 2006-05-15  Thomas Vander Stichele  <thomas at apestaart dot org>
7280
7281         * gst/parse/Makefile.am:
7282           chain commands using &&, which also makes parallel make work
7283
7284 2006-05-14  Tim-Philipp Müller  <tim at centricular dot net>
7285
7286         * docs/gst/gstreamer-sections.txt:
7287         * gst/gstevent.c:
7288         * gst/gstevent.h:
7289         * gst/gstmessage.h:
7290           Minor docs fixes.
7291
7292 === release 0.10.6 ===
7293
7294 2006-05-14  Jan Schmidt <thaytan@mad.scientist.com>
7295
7296         * configure.ac:
7297           releasing 0.10.6, "Take the cannoli"
7298
7299 2006-05-13  Tim-Philipp Müller  <tim at centricular dot net>
7300
7301         * tools/gst-launch.c: (print_tag):
7302           Fix use of uninitialized variable in the hypothetical
7303           case that some broken plugin creates a GST_TAG_IMAGE
7304           tag containing a NULL buffer (#341667).
7305
7306 2006-05-12  Tim-Philipp Müller  <tim at centricular dot net>
7307
7308         * tools/gst-launch.c: (print_tag):
7309           Print something more intelligible for image tags when
7310           using the -t switch (#341556).
7311
7312 2006-05-12  Thomas Vander Stichele  <thomas at apestaart dot org>
7313
7314         * Makefile.am:
7315           updates for win32
7316         * configure.ac:
7317           define GST_MAJORMINOR so we have it available in win32/common/config.h
7318           Possibly remove it from our Makefile.am files later
7319         * win32/common/config.h:
7320         * win32/common/config.h.in:
7321           added GST_MAJORMINOR
7322         * win32/common/gstenumtypes.c: (register_gst_resource_error):
7323         * win32/common/gstversion.h:
7324           updated
7325
7326 2006-05-12  Sebastien Moutte  <sebastien@moutte.net>
7327
7328         * win32/MANIFEST:
7329           Update win32 files listing.
7330         * win32/common/gstversion.h:
7331           Add GST_MAJORMINOR definition.
7332         * win32/common/libgstreamer.def:
7333           Add new exported functions.
7334           
7335 2006-05-12  Michael Smith  <msmith@fluendo.com>
7336
7337         * gst/gstplugin.c: (gst_plugin_load_file):
7338           If an so file has no plugin entry point, unload the module.
7339
7340 2006-05-11  Wim Taymans  <wim@fluendo.com>
7341
7342         * plugins/elements/gstqueue.c: (gst_queue_chain), (gst_queue_loop),
7343         (gst_queue_set_property):
7344         Don't forget to signal the _chain or _loop function 
7345         when the queue size or thresholds change since that might
7346         cause them to make progres again.
7347
7348 2006-05-11  Stefan Kost  <ensonic@users.sf.net>
7349
7350         * gst/gstclock.c: (gst_clock_class_init):
7351         * gst/gstindex.c: (gst_index_class_init):
7352         * gst/gstobject.c: (gst_object_class_init):
7353         * gst/gstpad.c: (gst_pad_class_init):
7354         * gst/gstpipeline.c: (gst_pipeline_class_init):
7355         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
7356         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init):
7357         * libs/gst/base/gstbasetransform.c:
7358         (gst_base_transform_class_init):
7359         * libs/gst/net/gstnetclientclock.c:
7360         (gst_net_client_clock_class_init):
7361         * libs/gst/net/gstnettimeprovider.c:
7362         (gst_net_time_provider_class_init):
7363         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init):
7364         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init):
7365         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init):
7366         * plugins/elements/gstfdsink.c: (gst_fd_sink_class_init):
7367         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
7368         * plugins/elements/gstfilesink.c: (gst_file_sink_class_init):
7369         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init):
7370         * plugins/elements/gstidentity.c: (gst_identity_class_init):
7371         * plugins/elements/gsttee.c: (gst_tee_class_init):
7372         * tests/old/examples/plugins/example.c: (gst_example_class_init):
7373         * tests/old/testsuite/threads/signals.c: (gst_test_class_init):
7374           G_OBJECT_CLASS macro usage batch cleanup, fixes #337747 for core
7375
7376 2006-05-11  Wim Taymans  <wim@fluendo.com>
7377
7378         * gst/gstbuffer.c: (_gst_buffer_initialize):
7379         Register subbufer along with the buffer type so that
7380         it does not accidentally gets registered from N
7381         different streaming threads in a non threadsafe way.
7382
7383 2006-05-10  Tim-Philipp Müller  <tim at centricular dot net>
7384
7385         * gst/gstbuffer.h:
7386         * gst/gstevent.h:
7387         * gst/gstmessage.h:
7388           Make gtk-doc generate docs for our inlined gst_buffer_ref(),
7389           gst_event_ref() and gst_message_ref() functions again
7390           (ugly hack, please do fix if there's a better way besides
7391           overrides.txt, which doesn't seem to work).
7392
7393 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
7394
7395         * libs/gst/check/gstcheck.h:
7396           add an assert for setting state to avoid lots of repetitive code
7397           in the future
7398
7399 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
7400
7401         * gst/gstvalue.c: (gst_value_serialize_flags):
7402           fix a leak if no flags are set
7403         * tests/check/gst/gstvalue.c: (GST_START_TEST):
7404           fix leak in tests
7405
7406 2006-05-10  Tim-Philipp Müller  <tim at centricular dot net>
7407
7408         * docs/manual/basics-pads.xml:
7409           Expand a bit on caps and filtered links and update
7410           examples that were still using the no longer existing
7411           gst_pad_link_filtered() (#338206).
7412
7413 2006-05-10  Wim Taymans  <wim@fluendo.com>
7414
7415         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
7416         (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
7417         (gst_collect_pads_set_flushing), (gst_collect_pads_start),
7418         (gst_collect_pads_stop):
7419         * libs/gst/base/gstcollectpads.h:
7420         No need to call _stop in _finalize.
7421         Iterate the main pad list in _finalize.
7422         Added some more debug.
7423         Free lists and data in the right order.
7424         Also free data whem doing _remove_pad when stopped for
7425         backward compatibility protect ::started with PAD_LOCK as
7426         well.
7427
7428 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
7429
7430         * gst/gststructure.c: (gst_structure_gtype_from_abbr),
7431         (gst_structure_parse_value):
7432           add some comments
7433           rename a method so that it actually says what it does better
7434
7435 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
7436
7437         * gst/gstevent.c: (_gst_event_initialize):
7438         * gst/gstformat.c: (_gst_format_initialize):
7439           make sure some essential types used by events are registered
7440           as part of gst_init()
7441         * gst/gstvalue.c: (gst_value_serialize_flags):
7442           if no flags are set, serialize them to a value that represents NONE
7443           so that deserializing them works
7444         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
7445           add tests for serialization and deserialization of flags
7446
7447 2006-05-10  Wim Taymans  <wim@fluendo.com>
7448
7449         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_collect),
7450         (gst_collect_pads_collect_range), (gst_collect_pads_available),
7451         (gst_collect_pads_check_pads), (gst_collect_pads_check_collected),
7452         (gst_collect_pads_event), (gst_collect_pads_chain):
7453         Update docs.
7454         Better debug info.
7455         Catch and return errors from the collect function
7456         Refuse data on eos pads.
7457
7458 2006-05-10  Edward Hervey  <edward@fluendo.com>
7459
7460         * gst/gstinterface.h:
7461         GST_IMPLEMENTS_INTERFACE and GST_IS_IMPLEMENTS_INTERFACE use the normal
7462         GInterface type checking.
7463         They were previously using non-defined macros.
7464
7465 2006-05-09  Wim Taymans  <wim@fluendo.com>
7466
7467         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_init),
7468         (gst_collect_pads_finalize), (gst_collect_pads_add_pad),
7469         (gst_collect_pads_remove_pad), (gst_collect_pads_set_flushing),
7470         (gst_collect_pads_start), (gst_collect_pads_stop),
7471         (gst_collect_pads_peek), (gst_collect_pads_pop),
7472         (gst_collect_pads_available), (gst_collect_pads_read),
7473         (gst_collect_pads_flush), (gst_collect_pads_check_pads),
7474         (gst_collect_pads_is_collected), (gst_collect_pads_event),
7475         (gst_collect_pads_chain):
7476         * libs/gst/base/gstcollectpads.h:
7477         Clean up the mess that is collectpads, add comments and
7478         FIXMEs where needed.
7479         Maintain a separate pad list so we can add pads while
7480         collecting the other ones. For this we need a new separate 
7481         lock (see comics).
7482         Fix memory leak in finalize.
7483         Refactor some weird code to set/unset pad flushing flags, mark
7484         with comments.
7485         Don't crash in _available, _read, _flush when we're EOS.
7486
7487         * tests/check/libs/.cvsignore:
7488         Ignore adapter check binary.
7489
7490 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
7491
7492         * gst/gstindex.c: (gst_index_resolver_get_type):
7493         * plugins/elements/gstfakesink.c:
7494         (gst_fake_sink_state_error_get_type):
7495         * plugins/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
7496         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type):
7497         * plugins/elements/gstqueue.c: (queue_leaky_get_type):
7498           Const-ify GEnumValue arrays.
7499
7500 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
7501
7502         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
7503           Add test case for flags + gst_buffer_make_metadata_writable().
7504
7505 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
7506
7507         * gst/gstbuffer.c: (gst_buffer_make_metadata_writable):
7508           gst_buffer_make_metadata_writable() should maintain the
7509           buffer flags (those that make sense at least) (see #340859).
7510
7511 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
7512
7513         * tools/gst-inspect.c:
7514         * tools/gst-launch.c:
7515         * tools/gst-typefind.c:
7516         * tools/gst-xmlinspect.c:
7517         * tools/tools.h:
7518           Fix up includes: need to include stdlib.h in tools.h for exit().
7519
7520 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
7521
7522         * gst/gsttaglist.c: (_gst_tag_initialize):
7523         * gst/gsttaglist.h:
7524           API: add GST_TAG_IMAGE tag (#340721).
7525
7526 2006-05-08  Wim Taymans  <wim@fluendo.com>
7527
7528         * gst/gstquery.c:
7529         Added some docs for the segment query.
7530
7531 2006-05-08  Wim Taymans  <wim@fluendo.com>
7532
7533         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
7534         (gst_base_src_loop), (gst_base_src_change_state):
7535         Always push non-flushing serialized events in the streaming 
7536         thread.
7537
7538 2006-05-08  Thomas Vander Stichele  <thomas at apestaart dot org>
7539
7540         * gst/gsterror.c: (_gst_stream_errors_init):
7541           Add a missing error string.
7542
7543 2006-05-08  Jan Schmidt  <thaytan@mad.scientist.com>
7544
7545         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment):
7546         Add applied_rate to the debug
7547
7548         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
7549         Copy applied_rate into the outgoing NEWSEGMENT event
7550
7551 2006-05-08  Wim Taymans  <wim@fluendo.com>
7552
7553         Patch by: Philippe Rouquier <philippero at libertysurf dot fr>
7554
7555         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_flushing),
7556         (gst_base_sink_change_state):
7557         call ::unlock before taking the PREROLL_LOCK so we can safely
7558         handle elements that lock in ::render.
7559         Fixes #340174.
7560
7561 2006-05-08  Edward Hervey  <edward@fluendo.com>
7562
7563         * autogen.sh: (CONFIGURE_DEF_OPT): 
7564         Darwin's libtoolize is in fact called glibtoolize.
7565         Adding glibtoolize to the list of accepted names for libtoolize.
7566
7567 2006-05-08  Wim Taymans  <wim@fluendo.com>
7568
7569         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
7570         Unify error handling, don't post an error message
7571         when a push() returns EOS but perform our normal EOS
7572         handling code. Fixes #340772.
7573
7574 2006-05-08  Wim Taymans  <wim@fluendo.com>
7575
7576         * docs/design/part-overview.txt:
7577         Make upsteam/downstream concepts more clear.
7578         Give an example of serialized/non-serialized events.
7579
7580         * docs/design/part-events.txt:
7581         * docs/design/part-streams.txt:
7582         Mention applied_rate.
7583
7584         * docs/design/part-trickmodes.txt:
7585         Mention applied rate, flesh out some more use cases.
7586
7587         * gst/gstevent.c: (gst_event_new_new_segment),
7588         (gst_event_parse_new_segment), (gst_event_new_new_segment_full),
7589         (gst_event_parse_new_segment_full), (gst_event_new_tag),
7590         (gst_event_parse_tag), (gst_event_new_buffer_size),
7591         (gst_event_parse_buffer_size), (gst_event_new_qos),
7592         (gst_event_parse_qos), (gst_event_parse_seek),
7593         (gst_event_new_navigation):
7594         * gst/gstevent.h:
7595         Add applied_rate field to NEWSEGMENT event.
7596         API: gst_event_new_new_segment_full()
7597         API: gst_event_parse_new_segment_full()
7598
7599         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_seek),
7600         (gst_segment_set_newsegment), (gst_segment_set_newsegment_full),
7601         (gst_segment_to_stream_time), (gst_segment_to_running_time):
7602         * gst/gstsegment.h:
7603         Add applied_rate to GstSegment structure.
7604         Make calculation of stream_time and running_time more correct
7605         wrt rate/applied_rate.
7606         Add some more docs.
7607         API: GstSegment::applied_rate field
7608         API: gst_segment_set_newsegment_full();
7609
7610         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
7611         (gst_base_sink_get_sync_times), (gst_base_sink_get_position):
7612         * libs/gst/base/gstbasetransform.c:
7613         (gst_base_transform_sink_eventfunc),
7614         (gst_base_transform_handle_buffer):
7615         Parse and use applied_rate in the GstSegment field.
7616
7617         * tests/check/gst/gstevent.c: (GST_START_TEST):
7618         Add check for applied_rate field.
7619
7620         * tests/check/gst/gstsegment.c: (GST_START_TEST),
7621         (gstsegments_suite):
7622         Add more checks for various GstSegment operations.
7623
7624 2006-05-08  Wim Taymans  <wim@fluendo.com>
7625
7626         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
7627         (gst_base_sink_do_sync), (gst_base_sink_chain_unlocked),
7628         (gst_base_sink_get_position), (gst_base_sink_change_state):
7629         Store the sync time of the buffer end position separatly in a
7630         new variable eos_rtime so we can properly sync the EOS event.
7631         Fixes #340697.
7632         Fix the docs for gst_base_sink_set_qos_enabled().
7633         Don't set segment start to invalid value when we receive a 
7634         non TIME newsegment.
7635         get closer to handling position reporting for negative rates 
7636         correctly.
7637
7638 2006-05-07  Stefan Kost  <ensonic@users.sf.net>
7639
7640         * gst/gstcaps.c:
7641         Docs about how to print caps for debug purposes.
7642
7643         * gst/gstpadtemplate.c: (gst_static_pad_template_get):
7644         use gst_caps_make_writable instead of gst_caps_copy, Fixes #340608
7645
7646 2006-05-07  Stefan Kost  <ensonic@users.sf.net>
7647
7648         * gst/gstelement.c:
7649           use full enum names and preprend a '%' in docs strings to make recent 
7650           gtk-doc turn that into a link
7651
7652 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
7653
7654         * docs/manual/basics-bins.xml:
7655         * docs/manual/basics-bus.xml:
7656         * docs/manual/basics-pads.xml:
7657           Some typo fixes, some additions, some clarifications. 
7658
7659 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
7660
7661         * tools/gst-inspect.c: (main):
7662         * tools/gst-launch.c: (main):
7663         * tools/gst-run.c: (main):
7664         * tools/gst-typefind.c: (main):
7665         * tools/gst-xmlinspect.c: (main):
7666           Use the string passed to g_option_context_new() for
7667           what it's intended for - the program name is already
7668           printed elsewhere.
7669
7670 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
7671
7672         * tools/Makefile.am:
7673         * tools/gst-inspect.c: (main):
7674         * tools/gst-launch.c: (main):
7675         * tools/gst-xmlinspect.c: (main):
7676         * tools/tools.h:
7677           Add back --version command line option (#340460).
7678
7679         * tools/gst-typefind.c: (have_type_handler), (typefind_file), (main):
7680           Add --version option and use GOption for argument parsing; refactor a
7681           bit; accept directories as arguments and recurse into them; lastly,
7682           print a decent error message when things go wrong.
7683
7684 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
7685
7686         * docs/manual/basics-bins.xml:
7687         Don't mention GstThread (#340611)
7688         * docs/manual/basics-elements.xml:
7689         Update link to GObject tutorial (#340607)
7690         
7691 2006-05-05  Wim Taymans  <wim@fluendo.com>
7692
7693         * gst/gstbuffer.h:
7694         * gst/gstminiobject.c:
7695         Add note about refcounting and miniobject/buffer writeability
7696         to docs. Fixes #340604
7697
7698         * gst/gstelementfactory.h:
7699         Added some explanation about @klass.
7700
7701 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
7702
7703         * docs/manual/intro-motivation.xml:
7704         * docs/manual/manual.xml:
7705         Avoid CORBA & Bonobo references (#340598)
7706
7707 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
7708
7709         * docs/manual/basics-bus.xml:
7710         * docs/manual/basics-pads.xml:
7711         Fix up some inaccuracies and omissions (#340609)
7712         
7713 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
7714
7715         * gst/gstghostpad.c:
7716           Small typo in docs (#340625)
7717
7718 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
7719
7720         * gst/parse/Makefile.am:
7721           Make 'make -j' proof (see #340698).
7722
7723 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
7724
7725         * configure.ac:
7726           Require GLib-2.8 here as well.
7727
7728 2006-05-05  Wim Taymans  <wim@fluendo.com>
7729
7730         * gst/glib-compat.c:
7731         * gst/gst.c: (init_pre):
7732         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
7733         (gst_object_unref), (gst_object_replace), (gst_object_dispose),
7734         (gst_object_dispatch_properties_changed):
7735         * gst/gstobject.h:
7736         * gst/gstregistryxml.c: (gst_registry_xml_read_cache):
7737         * gst/gststructure.c: (gst_structure_set_valist):
7738         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
7739         Remove pre glib2.8 compatibility, fixes #340508
7740
7741 2006-05-04  Tim-Philipp Müller  <tim at centricular dot net>
7742
7743         * gst/gsttaglist.h:
7744           Mention type of tags in doc blurbs.
7745
7746 2006-05-04  Jan Schmidt  <thaytan@mad.scientist.com>
7747
7748         * gst/gstpad.c: (gst_pad_init), (gst_pad_configure_sink),
7749         (gst_pad_configure_src), (gst_pad_push):
7750         Restore acceptcaps checking behaviour now that good plugins have
7751         been released.
7752
7753 2006-05-04  Tim-Philipp Müller  <tim at centricular dot net>
7754
7755         Patch by: James Andrewartha <trs80 at tartarus uwa edu au>
7756
7757         * gst/gst.c:
7758         * gst/gstbus.c:
7759         * gst/gstclock.c:
7760         * gst/gstevent.c:
7761         * gst/gstformat.c:
7762         * gst/gstmessage.c:
7763         * gst/gstparse.c:
7764         * gst/gstquery.c:
7765         * gst/gstutils.c:
7766         * gst/parse/Makefile.am:
7767         * libs/gst/base/gstadapter.c:
7768         * libs/gst/base/gstbasesrc.c:
7769         * libs/gst/base/gstpushsrc.c:
7770         * libs/gst/base/gsttypefindhelper.c:
7771         * plugins/elements/gstfakesrc.c:
7772         * plugins/elements/gstidentity.c:
7773           Make sure gstprivate.h and/or config.h are
7774           always included first, otherwise some of our
7775           defines (like _FILE_OFFSET_BITS) might be
7776           redefined in the system headers. Fixes build
7777           on opensolaris (#340016).
7778
7779 2006-05-04  Wim Taymans  <wim@fluendo.com>
7780
7781         * docs/libs/gstreamer-libs-sections.txt:
7782         API: addition: gst_adapter_take_buffer()
7783         
7784         * libs/gst/base/gstadapter.c: (gst_adapter_push),
7785         (gst_adapter_peek), (gst_adapter_take), (gst_adapter_take_buffer),
7786         (gst_adapter_available_fast):
7787         * libs/gst/base/gstadapter.h:
7788         Prepare for optimizing the hell out of this hugely inefficient
7789         piece of code. 
7790         Added gst_adapter_take_buffer() so we can at least start thinking
7791         about subbuffering and merging.
7792         Added some comments.
7793
7794         * tests/check/Makefile.am:
7795         * tests/check/libs/adapter.c: (GST_START_TEST),
7796         (gst_adapter_suite), (main):
7797         Added GstAdapter check.
7798
7799 2006-05-04  Wim Taymans  <wim@fluendo.com>
7800
7801         * docs/design/part-overview.txt:
7802         Fix some typos, add blurb about buffer flags.
7803
7804 2006-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
7805
7806         * docs/libs/gstreamer-libs-sections.txt:
7807           make sure GstBaseTransformClass shows up in the docs
7808         * libs/gst/base/gstbasetransform.c:
7809         * libs/gst/base/gstbasetransform.h:
7810           move docs so gtk-doc picks it up now
7811
7812 2006-05-02  Stefan Kost  <ensonic@users.sf.net>
7813
7814         * docs/libs/gstreamer-libs-sections.txt:
7815           add missing symbols to docs
7816
7817 2006-05-02  Stefan Kost  <ensonic@users.sf.net>
7818
7819         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
7820           back out the newsegment handling change, see #340060 for ongoing
7821           discussion
7822
7823 2006-04-30  Tim-Philipp Müller  <tim at centricular dot net>
7824
7825         * tools/gst-run.c: (get_candidates), (main):
7826           Fix wrong g_file_test() usage (see glib docs for why it doesn't
7827           work); fix typo in error message. Fixes #340079.
7828
7829 2006-04-29  Thomas Vander Stichele  <thomas at apestaart dot org>
7830
7831         * common/Makefile.am:
7832         * docs/Makefile.am:
7833         * docs/faq/Makefile.am:
7834         * docs/gst/Makefile.am:
7835         * docs/libs/Makefile.am:
7836         * docs/manual/Makefile.am:
7837         * docs/plugins/Makefile.am:
7838         * docs/pwg/Makefile.am:
7839         * docs/slides/Makefile.am:
7840         * docs/upload.mak:
7841         * common/upload.mak:
7842           move upload.mak to common
7843
7844 2006-04-29  Thomas Vander Stichele  <thomas at apestaart dot org>
7845
7846         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
7847           add more asserts on refcounts
7848           do more cleanup at end of tests
7849           fix test leaks showing in FC5
7850
7851 2006-04-29  Stefan Kost  <ensonic@users.sf.net>
7852
7853         * plugins/elements/gsttypefindelement.c:
7854         (gst_type_find_element_handle_event):
7855         reverted wrong change and reflowed code to avoid others falling into
7856         this trap
7857
7858 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
7859
7860         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
7861           fix changelog entry about last collectpads change,
7862           add notes about proper fix
7863
7864 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
7865
7866         * gst/gst.c:
7867         * gst/gstregistry.c: (gst_registry_scan_path_level),
7868         (gst_registry_scan_path):
7869         * gst/gstregistry.h:
7870           only write out registry if it has changed, fixes #338339
7871
7872 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
7873
7874         * gst/gstbin.c:
7875         * gst/gstpipeline.c:
7876         * plugins/elements/gstcapsfilter.c:
7877         * plugins/elements/gstfakesink.c:
7878         * plugins/elements/gstfakesrc.c:
7879         * plugins/elements/gstfdsink.c:
7880         * plugins/elements/gstfdsrc.c:
7881         * plugins/elements/gstfilesink.c:
7882         * plugins/elements/gstfilesrc.c:
7883         * plugins/elements/gstidentity.c:
7884         * plugins/elements/gstqueue.c:
7885         * plugins/elements/gsttee.c:
7886         * plugins/elements/gsttypefindelement.c:
7887         (gst_type_find_element_handle_event):
7888           make GstElementDetails const
7889
7890 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
7891
7892         * libs/gst/base/gstbasesink.c: (gst_base_sink_event):
7893         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
7894         (gst_collect_pads_is_collected), (gst_collect_pads_event):
7895           more detailed debug and formatting cleanup,
7896           forward newsegments to src-pad (so that e.g. adder not eats them)
7897
7898 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
7899
7900         * gst/gstutils.c: (gst_element_link_pads):
7901           cleanup double code
7902
7903 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
7904
7905         * libs/gst/controller/gstcontroller.c:
7906         (gst_controller_sync_values):
7907           some little tuning
7908         * tests/check/libs/controller.c: (GST_START_TEST),
7909         (gst_controller_suite):
7910           a new test for live value handling
7911
7912 2006-04-28  Wim Taymans  <wim@fluendo.com>
7913
7914         * gst/gstutils.c: (push_and_ref):
7915         Added some more docs.
7916         Fix refcount issue whith gst_element_found_tags() helper 
7917         function. Fixes #338335
7918
7919         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
7920         Added testsuite for gst_element_found_tags().
7921
7922 2006-04-28  Michael Smith  <msmith@fluendo.com>
7923
7924         * gst/gstvalue.c: (gst_value_serialize_flags):
7925           Avoid NULL dereference when trying to serialize flags containing
7926           invalid values.
7927
7928 2006-04-28  Michael Smith  <msmith@fluendo.com>
7929
7930         * plugins/elements/gsttypefindelement.c:
7931         (gst_type_find_element_handle_event):
7932           If we get EOS before any data is accumulated, don't use
7933           uninitialised local variables.
7934
7935 2006-04-28  Michael Smith  <msmith@fluendo.com>
7936
7937         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
7938         (gst_dp_event_from_packet):
7939           Fixes in reading/writing events over GDP (not currently used?) - 
7940           dereferencing NULL events for unknown/invalid event types, memory
7941           leak, and change g_warning to GST_WARNING.
7942
7943 2006-04-28  Wim Taymans  <wim@fluendo.com>
7944
7945         * libs/gst/base/gstbasesink.c: (gst_base_sink_is_too_late),
7946         (gst_base_sink_do_render_stats), (gst_base_sink_render_object),
7947         (gst_base_sink_get_position), (gst_base_sink_change_state):
7948         When frame dropping is enabled, we should not ignore frames
7949         without a duration.
7950         Update some documentation.
7951
7952 2006-04-28  Wim Taymans  <wim@fluendo.com>
7953
7954         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
7955         (gst_base_src_send_event), (gst_base_src_change_state):
7956         Documentation updates.
7957
7958 2006-04-28  Wim Taymans  <wim@fluendo.com>
7959
7960         * plugins/elements/gstfdsink.c: (gst_fd_sink_render),
7961         (gst_fd_sink_check_fd), (gst_fd_sink_update_fd):
7962         handle EAGAIN, EINTR and short writes correctly. Also clean
7963         up some error cases, avoid a deadlock on bad file descriptors and
7964         use GST_DEBUG_OBJECT.
7965         Fixes #339843
7966
7967 2006-04-28  Wim Taymans  <wim@fluendo.com>
7968
7969         * gst/gstvalue.c: (gst_value_serialize_buffer),
7970         (gst_value_deserialize_buffer):
7971         Don't try to serialize a GValue with a NULL buffer. 
7972         Fixes #339821.
7973
7974         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
7975         Added check for serialisation of NULL buffers.
7976
7977 2006-04-28  Wim Taymans  <wim@fluendo.com>
7978
7979         * gst/gstminiobject.c: (gst_value_take_mini_object):
7980         Taking a NULL miniobject is valid, fix the case where
7981         we try to unref the NULL miniobject.
7982
7983 2006-04-28  Wim Taymans  <wim@fluendo.com>
7984
7985         Patch by: Stefan Kost <ensonic at sonicpulse dot de>
7986
7987         * gst/gstbin.c: (gst_bin_handle_message_func):
7988         Update docs.
7989         Don't leak bin refcount when a state recalc is
7990         in progress and we delay another one #339808.
7991
7992 2006-04-28  Wim Taymans  <wim@fluendo.com>
7993
7994         * docs/design/part-TODO.txt:
7995         Mention QoS as an ongoing work item.
7996
7997         * docs/design/part-buffering.txt:
7998         New doc about buffering that needs to be fleshed out
7999         at some point.
8000
8001         * docs/design/part-qos.txt:
8002         More QoS policy for decoders/demuxers/transforms
8003
8004         * docs/design/part-trickmodes.txt:
8005         Small update.
8006
8007 2006-04-28  Thomas Vander Stichele  <thomas at apestaart dot org>
8008
8009         * configure.ac:
8010           back to HEAD
8011
8012 === release 0.10.5 ===
8013
8014 2006-04-28  Thomas Vander Stichele <thomas at apestaart dot org>
8015
8016         * configure.ac:
8017           releasing 0.10.5, "Fogo"
8018
8019 2006-04-22  Thomas Vander Stichele  <thomas at apestaart dot org>
8020
8021         patch by: Wim Taymans
8022
8023         * gst/gstpad.c: (gst_pad_init), (gst_pad_configure_sink),
8024         (gst_pad_configure_src), (gst_pad_push):
8025         * gst/gstpipeline.c: (gst_pipeline_init):
8026           Fix internal data flow errors.  Fixes #338711.
8027
8028 2006-04-12  Wim Taymans  <wim@fluendo.com>
8029
8030         * tests/check/gst/gstelement.c: (GST_START_TEST):
8031         Don't leak the factory.
8032
8033 2006-04-12  Thomas Vander Stichele  <thomas at apestaart dot org>
8034
8035         * configure.ac:
8036         * win32/common/config.h:
8037           prerelease
8038
8039 2006-04-12  Tim-Philipp Müller  <tim at centricular dot net>
8040
8041         * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
8042         (gst_controller_unset_all):
8043           Free allocated GstTimedValues when freeing list nodes.
8044           Should fix leaks 'make check-valgrind' complains about.
8045
8046         * win32/common/libgstcontroller.def:
8047           Add gst_controller_unset_all.
8048
8049 2006-04-11  Stefan Kost  <ensonic@users.sf.net>
8050
8051         * docs/libs/gstreamer-libs-sections.txt:
8052         * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
8053         (gst_controller_unset_all):
8054         * libs/gst/controller/gstcontroller.h:
8055         API: Added new method gst_controller_unset_all()
8056         fixed gst_controller_unset()
8057         * tests/check/libs/controller.c: (GST_START_TEST),
8058         (gst_controller_suite):
8059         Added two testcases for new and fixed method
8060
8061 2006-04-11  Tim-Philipp Müller  <tim at centricular dot net>
8062
8063         * libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send):
8064           MSG_DONTWAIT is not defined on Cygwin, so work
8065           around that (fixes #317048).
8066           
8067 2006-04-11  Wim Taymans  <wim@fluendo.com>
8068
8069         * gst/gstelementfactory.c: (gst_element_register),
8070         (gst_element_factory_create), (gst_element_factory_make):
8071         Some cleanups.
8072         Fixed a FIXME.
8073         Updated docs (Fixes #131079)
8074
8075         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
8076         Small cleanups.
8077
8078         * tests/check/gst/gstelement.c: (GST_START_TEST),
8079         (gst_element_suite):
8080         Added testcase for elementfactory class field.
8081
8082 2006-04-10  Wim Taymans  <wim@fluendo.com>
8083
8084         * gst/gstsegment.c:
8085         Added some more docs.
8086
8087         * libs/gst/base/gstbasesink.c: (gst_base_sink_perform_qos),
8088         (gst_base_sink_reset_qos):
8089         Calculate more accurate rate values.
8090
8091 2006-04-09  Sebastien Moutte  <sebastien@moutte.net>
8092
8093         * gst/gst_private.h:
8094           add a new #ifdef to use __declspec(dllimport) only for
8095           other modules and not for gstreamer core
8096         * gst/gstbasesink.c: (gst_base_sink_perform_qos):
8097           use gst_guint64_to_gdouble for conversion
8098         * win32/common/libgstreamer.def:
8099           add new exported functions
8100         * win32/vs6/gst_inspect.dsp:
8101         * win32/vs6/gst_launch.dsp:
8102         * win32/vs6/libgstbase.dsp:
8103         * win32/vs6/libgstcontroller.dsp:
8104         * win32/vs6/libgstcoreelements.dsp:
8105         * win32/vs6/libgstdataprotocol.dsp:
8106         * win32/vs6/libgstnet.dsp:
8107           update project files
8108
8109 2006-04-08  Stefan Kost  <ensonic@users.sf.net>
8110
8111         * gst/gstbuffer.c: (gst_subbuffer_class_init):
8112         * gst/gstclock.c: (gst_clock_class_init):
8113         * gst/gstelement.c: (gst_element_class_init):
8114         * gst/gstindex.c: (gst_index_class_init):
8115         * gst/gstindexfactory.c: (gst_index_factory_class_init):
8116         * gst/gstobject.c: (gst_object_class_init),
8117         (gst_signal_object_class_init):
8118         * gst/gstpad.c: (gst_pad_class_init):
8119         * gst/gstpadtemplate.c: (gst_pad_template_class_init):
8120         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init):
8121         * gst/gstregistry.c: (gst_registry_class_init):
8122         * gst/gstsystemclock.c: (gst_system_clock_class_init):
8123         * gst/gsttask.c: (gst_task_class_init):
8124         * gst/gstxml.c: (gst_xml_class_init):
8125         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
8126         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
8127         (gst_base_src_loop):
8128         * libs/gst/controller/gstcontroller.c:/
8129         (_gst_controller_class_init):
8130         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
8131         * plugins/indexers/gstfileindex.c: (gst_file_index_class_init):
8132         * plugins/indexers/gstmemindex.c: (gst_mem_index_class_init):
8133         * tests/old/examples/plugins/example.c: (gst_example_class_init):
8134         * tests/old/testsuite/threads/signals.c: (gst_test_class_init):
8135         Fix #337365 (g_type_class_ref <-> g_type_class_peek_parent)
8136
8137 2006-04-08  Tim-Philipp Müller  <tim at centricular dot net>
8138
8139         * gst/gstpad.c: (gst_pad_link):
8140           Must set peer pads before calling the link function, otherwise
8141           a task started from a link function might get a flow-not-linked
8142           result when trying to push because the other thread where the
8143           linking happens hasn't had a chance to set the peers yet. This
8144           might happen for example when a queue gets linked to a downstream
8145           element, as queue starts a streaming task when its source pad
8146           gets linked. Happens in real life when playing back flac/musepack
8147           files in playbin (#332390).
8148           
8149 2006-04-08  Stefan Kost  <ensonic@users.sf.net>
8150
8151         * gst/gstindex.h:
8152         * gst/gstxml.h:
8153         * libs/gst/base/gstadapter.h:
8154         * libs/gst/base/gstbasesink.h:
8155         * libs/gst/base/gstbasesrc.h:
8156         * libs/gst/base/gstbasetransform.h:
8157         * libs/gst/base/gstcollectpads.h:
8158         * libs/gst/base/gstpushsrc.h:
8159         Fix broken GObject macros
8160
8161 2006-04-07  Wim Taymans  <wim@fluendo.com>
8162
8163         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
8164         Initialize start and stop times, thanks valgrind.
8165
8166 2006-04-07  Wim Taymans  <wim@fluendo.com>
8167
8168         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
8169         Be a bit nicer to badly behaving upstream elements that expect
8170         us to deal with non TIME segments and timestamps (such as fakesrc
8171         in the testsuite).
8172
8173 2006-04-07  Wim Taymans  <wim@fluendo.com>
8174
8175         * gst/gstbus.c:
8176         Small documentation clarification about the signal watch.
8177
8178         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
8179         (gst_base_sink_wait_clock), (gst_base_sink_do_sync),
8180         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
8181         (gst_base_sink_do_render_stats), (gst_base_sink_render_object),
8182         (gst_base_sink_get_position_last),
8183         (gst_base_sink_get_position_paused), (gst_base_sink_change_state):
8184         Convert and store timestamps in stream time and running time, the
8185         raw timestamps are not useful, also document this better.
8186         Use different window sizes for good and bad QoS observations so
8187         we react to badness a little quicker.
8188         Keep track of the amount of rendered and dropped buffers.
8189         Send QoS timestamps in running time.
8190
8191         * libs/gst/base/gstbasetransform.c:
8192         (gst_base_transform_sink_eventfunc),
8193         (gst_base_transform_handle_buffer):
8194         Compare QoS timestamps against running time.
8195
8196 2006-04-06  Tim-Philipp Müller  <tim at centricular dot net>
8197
8198         * gst/gstpad.c:
8199           Typo fixes in docs.
8200
8201 2006-04-06  Michael Smith  <msmith@fluendo.com>
8202
8203         * gst/gstpad.c: (gst_pad_set_property):
8204           Use g_value_get_object() instead of g_value_dup_gst_object(),
8205           to avoid double-reffing the pad template (which we then sink,
8206           so this worked previously if (and only if) the pad template
8207           was floating.
8208
8209         * gst/gstpadtemplate.c: (gst_pad_template_init),
8210         (gst_pad_template_pad_created):
8211           Never return floating references to pad templates, create
8212           them as initially-sunken.
8213
8214           Document an extra function (and make this stop sinking our
8215           pad template, since that is now guaranteed to do nothing,
8216           since we created it sunken).
8217
8218         * gst/gstghostpad.c:
8219           Fix docs typo.
8220
8221 2006-04-06  Tim-Philipp Müller  <tim at centricular dot net>
8222
8223         * gst/gstinfo.c: (__gst_in_valgrind):
8224           Add some newlines.
8225
8226         * plugins/elements/gsttypefindelement.c:
8227         (gst_type_find_element_chain):
8228           Don't leak buffer caps.
8229
8230 2006-04-06  Michael Smith  <msmith@fluendo.com>
8231
8232         * gst/parse/grammar.y:
8233           Fix a leak in parse-launch for any source-or-sink named element 
8234           references used.
8235
8236         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe):
8237           Unref the pipeline if it exists after we've failed parsing.
8238
8239 2006-04-05  Michael Smith  <msmith@fluendo.com>
8240
8241         * gst/gstpipeline.c: (gst_pipeline_init):
8242           When we create a pipeline bus, initially create it in flushing mode.
8243           Fixes leaks in at least one test, and makes a new pipeline work the
8244           same as one that has gone to READY and then back to NULL.
8245
8246         * gst/gstelement.c:
8247           Typo fix in docs.
8248
8249 2006-04-05  Michael Smith  <msmith@fluendo.com>
8250
8251         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
8252           Unref a pad we reffed.
8253         * tests/check/gst/gstutils.c: (GST_START_TEST):
8254           Unref bins
8255
8256 2006-04-05  Michael Smith  <msmith@fluendo.com>
8257
8258         * gst/gstquery.c: (gst_query_set_formats),
8259         (gst_query_set_formatsv):
8260           Fix leaking GValues in queries, as shown by valgrind/testsuite.
8261
8262 2006-04-05  Michael Smith  <msmith@fluendo.com>
8263
8264         * tests/check/generic/sinks.c: (GST_START_TEST):
8265           Fix a variety of memleaks in sinks check, which are only sometimes 
8266           shown by running the tests under valgrind (weird?).
8267
8268 2006-04-05  Jan Schmidt  <thaytan@mad.scientist.com>
8269
8270         * docs/version.entities.in:
8271           Fix the substituted entity name after thomas' changes on the
8272           weekend.
8273
8274 2006-04-05  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
8275
8276         * gst/gstinfo.c: (__gst_in_valgrind): Use printf instead of
8277         VALGRIND_PRINTF
8278         
8279 2006-04-05  Andy Wingo  <wingo@pobox.com>
8280
8281         * gst/gstpad.c (gst_pad_set_blocked_async): More debug.
8282
8283         * libs/gst/base/gstbasetransform.c
8284         (gst_base_transform_sink_eventfunc): When resetting our segment on
8285         FLUSH_STOP, also update the flag saying we haven't seen a
8286         newsegment.
8287
8288 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
8289
8290         Patch by: Paolo Borelli  <pborelli at katamail dot com>
8291
8292         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
8293         (gst_plugin_check_license):
8294           minor clean-ups: G_DEFINE_TYPE already takes care of the
8295           parent_class stuff, no need to do it twice. Mark array of
8296           license strings as constant. (#337103)
8297           
8298 2006-04-04  Michael Smith  <msmith@fluendo.com>
8299
8300         * tools/gst-inspect.c: (print_element_list):
8301           Free the right plugin list; fixes a memory leak.
8302
8303 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
8304
8305         Patch by: Mark Nauwelaerts  <manauw at skynet dot be>
8306
8307         * plugins/elements/gstfilesink.c: (gst_file_sink_render):
8308           Don't error out on empty buffers (#336945).
8309           
8310 2006-04-04  Jan Schmidt  <thaytan@mad.scientist.com>
8311
8312         * docs/libs/gstreamer-libs-sections.txt:
8313         * gst/gsttaglist.c:
8314         * libs/gst/base/gstbasesink.c:
8315         * libs/gst/base/gstbasesink.h:
8316         * libs/gst/base/gstbasesrc.c:
8317         * libs/gst/base/gstbasesrc.h:
8318           Documentation updates. Make BaseSink and BaseSrc docs contain the
8319           class structure so that people can actually see the prototypes for
8320           virtual functions they're supposed to be overriding.
8321
8322 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
8323
8324         * plugins/elements/gsttypefindelement.c:
8325         (gst_type_find_element_chain):
8326           More debug info; when skipping typefinding, send cached
8327           events in all cases.
8328
8329 2006-04-01  Thomas Vander Stichele  <thomas at apestaart dot org>
8330
8331         * configure.ac:
8332           use new AS_VERSION and AS_NANO macros
8333         * gst/gst-i18n-lib.h:
8334         * gst/gst.c:
8335         * gst/gsterror.c:
8336         * gst/gstversion.h.in:
8337         * win32/common/config.h:
8338         * win32/common/config.h.in:
8339           update accordingly
8340
8341 2006-03-31  Michael Smith  <msmith@fluendo.com>
8342
8343         * plugins/elements/gsttypefindelement.c:
8344         (gst_type_find_element_chain):
8345           Do not typefind content if the buffers already have caps.
8346           Neccesary for icydemux (#333657), and the right thing to do anyway.
8347
8348 2006-03-30  Wim Taymans  <wim@fluendo.com>
8349
8350         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
8351         (gst_base_sink_finalize), (gst_base_sink_set_qos_enabled),
8352         (gst_base_sink_is_qos_enabled), (gst_base_sink_do_sync),
8353         (gst_base_sink_record_qos_observation),
8354         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
8355         (gst_base_sink_is_too_late), (gst_base_sink_render_object),
8356         (gst_base_sink_change_state):
8357         More QoS measurements as described in the design doc.
8358         Get rid of ringbuffer with observations, running average is
8359         more simple and equally good.
8360         Calculates valid proportion now.
8361         Added beginning of flood measurement.
8362
8363 2006-03-29  Wim Taymans  <wim@fluendo.com>
8364
8365         * docs/design/part-qos.txt:
8366         * gst/gstclock.c:
8367         Small documentation updates and additions.
8368
8369 2006-03-29  Wim Taymans  <wim@fluendo.com>
8370
8371         * libs/gst/base/gstbasesrc.c: (gst_base_src_finalize),
8372         (gst_base_src_send_event), (gst_base_src_loop),
8373         (gst_base_src_change_state):
8374         Perform the EOS logic when we reach the segment stop position.
8375         Fix compilation on gcc4.1
8376
8377 2006-03-29  Wim Taymans  <wim@fluendo.com>
8378
8379         Patch by: Tommi Myöhänen <ext-tommi dot myohanen at nokia dot com>
8380
8381         * plugins/elements/gstqueue.c: (gst_queue_init),
8382         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
8383         (gst_queue_set_property):
8384         * plugins/elements/gstqueue.h:
8385         In queue, when EOS is received, if minimum threshold > max_size -
8386         current_level, there is chance that queue blocks forever in conditional
8387         item del wait. This is because the queue is not emptied completely due
8388         to minimum threshold.  Here is another approach. Instead of setting
8389         cur_levels to max in EOS, just zero all minimum threshold levels. This
8390         should make sure that queue gives out all data. When going to READY
8391         (stop) state, just reset the original minimum threshold levels.
8392         Fixes #336336.
8393
8394 2006-03-29  Tim-Philipp Müller  <tim at centricular dot net>
8395
8396         * plugins/elements/gsttypefindelement.c: (stop_typefinding),
8397         (gst_type_find_element_handle_event),
8398         (gst_type_find_element_send_cached_events),
8399         (gst_type_find_element_change_state):
8400         * plugins/elements/gsttypefindelement.h:
8401           When typefinding is done in push mode, we should cache
8402           events we receive during typefinding instead of just
8403           dropping them (e.g. newsegment, custom events from
8404           dvdreadsrc etc.) and then send them out once we've
8405           determined the type of the stream (and decodebin
8406           has had a chance to plug in a decoder/demuxer).
8407           
8408 2006-03-27  Wim Taymans  <wim@fluendo.com>
8409
8410         * docs/design/part-qos.txt:
8411         First QoS ideas.
8412
8413 2006-03-27  Wim Taymans  <wim@fluendo.com>
8414
8415         Inspired by a patch of: Lutz Mueller <lutz at topfrose dot de>
8416
8417         * libs/gst/base/gstbasesrc.c: (gst_base_src_finalize),
8418         (gst_base_src_send_event), (gst_base_src_change_state):
8419         Handle element seek correctly when we are streaming.
8420         Fixes #326998.
8421
8422 2006-03-24  Michael Smith  <msmith@fluendo.com>
8423
8424         * docs/faq/gst-uninstalled:
8425           Set up LD_LIBRARY_PATH to point at all the gstreamer libs. This will
8426           allow you to correctly run intalled applications built against old 
8427           core, using plugins that require updated core (e.g. running
8428           installed totem against a full uninstalled gstreamer stack)
8429
8430 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
8431
8432         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
8433         more debug details
8434
8435 2006-03-24  Wim Taymans  <wim@fluendo.com>
8436
8437         * docs/gst/gstreamer-sections.txt:
8438         Rearrange the order of the methods so that related methods
8439         are grouped together in sections.
8440
8441 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
8442
8443         * gst/gstelement.c:
8444           Little clarification in the docs
8445
8446 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
8447
8448         * docs/README:
8449         formatting fix
8450         * plugins/elements/gstidentity.c:
8451         * plugins/elements/gstqueue.c:
8452         * plugins/elements/gsttee.c:
8453         * plugins/elements/gsttypefindelement.c:
8454         GST_ELEMENT_DETAILS formatting
8455
8456 2006-03-24  Wim Taymans  <wim@fluendo.com>
8457
8458         * libs/gst/base/gstbasesink.h:
8459         Only add fields, not insert or we break ABI.
8460
8461 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
8462
8463         * win32/common/libgstbase.def:
8464         * win32/common/libgstreamer.def:
8465           Update, add recently added functions.
8466
8467 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
8468
8469         * docs/gst/gstreamer-sections.txt:
8470         * gst/gstutils.c: (gst_pad_query_peer_position),
8471         (gst_pad_query_peer_duration), (gst_pad_query_peer_convert):
8472         * gst/gstutils.h:
8473           API: add some new utility functions:
8474            - gst_pad_query_peer_position()
8475            - gst_pad_query_peer_duration()
8476            - gst_pad_query_peer_convert()
8477           
8478 2006-03-23  Wim Taymans  <wim@fluendo.com>
8479
8480         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
8481         (gst_base_sink_init), (gst_base_sink_finalize),
8482         (gst_base_sink_set_qos_enabled), (gst_base_sink_is_qos_enabled),
8483         (gst_base_sink_set_property), (gst_base_sink_get_property),
8484         (gst_base_sink_commit_state), (gst_base_sink_get_sync_times),
8485         (gst_base_sink_wait_clock), (gst_base_sink_do_sync),
8486         (gst_base_sink_add_qos_observation), (gst_base_sink_send_qos),
8487         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
8488         (gst_base_sink_is_too_late), (gst_base_sink_render_object),
8489         (gst_base_sink_preroll_object), (gst_base_sink_event),
8490         (gst_base_sink_chain_unlocked), (gst_base_sink_get_position_last),
8491         (gst_base_sink_get_position_paused), (gst_base_sink_get_position),
8492         (gst_base_sink_query), (gst_base_sink_change_state):
8493         Decouple max-lateness and the fact that QoS messages are generated
8494         with a new property (qos).
8495         added API: GstBaseSink::async_play()
8496         Add vmethod so subclasses can be notified of ASYNC playing
8497         state changes.
8498         Collect timestamp start and stop to report better current
8499         position in EOS/PLAYING/PAUSED/READY/NULL.
8500         Refactor QoS/frame dropping and other measurements.
8501         API: GstBaseSrc::qos
8502         Fixes #326311
8503
8504         * libs/gst/base/gstbasesink.h:
8505         Added Private struct.
8506         API: gst_base_sink_set_qos_enabled()
8507         API: gst_base_sink_is_qos_enabled()
8508
8509 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
8510
8511         * gst/gstregistryxml.c: (gst_registry_xml_read_cache):
8512           If compiling against GLib-2.8 or newer, try to read the
8513           registry file using GMappedFile first before falling back
8514           to fopen() + fread() (#332151).
8515
8516 2006-03-22  Wim Taymans  <wim@fluendo.com>
8517
8518         * gst/gstinfo.c: (gst_debug_set_active),
8519         (gst_debug_category_set_threshold):
8520         Disable debugging unless explicitly activated.
8521         Fixes #335480.
8522
8523 2006-03-22  Wim Taymans  <wim@fluendo.com>
8524
8525         * gst/gstelement.c: (gst_element_set_locked_state),
8526         (gst_element_dispose):
8527         Cleanup the error case.
8528
8529         * gst/gstobject.c: (gst_object_dispose):
8530         print a critical when some object was disposed with
8531         a parent, also revive the object since it might
8532         crash the parent.
8533
8534 2006-03-22  Tim-Philipp Müller  <tim at centricular dot net>
8535
8536         * tools/gst-launch.1.in:
8537           Fix another typo.
8538
8539 2006-03-21  Thomas Vander Stichele  <thomas at apestaart dot org>
8540
8541         * configure.ac:
8542         * tests/check/Makefile.am:
8543           disable some tests when we don't have a registry
8544         * tests/check/gst/gstutils.c: (gst_utils_suite):
8545           don't build the part that needs parsing
8546
8547 2006-03-21  Thomas Vander Stichele  <thomas at apestaart dot org>
8548
8549         * gst/Makefile.am
8550         * tests/examples/Makefile.am:
8551           fix --disable-parse build
8552
8553 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
8554
8555         * tools/gst-feedback.1.in:
8556           Fix typo: s/feeback/feedback/ (#133494).
8557
8558 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
8559
8560         * tools/Makefile.am:
8561         * tools/gst-launch.1.in:
8562           Add FILES section and correct entry about GST_REGISTRY_PATH
8563           environment variable (#133495; #133494).
8564
8565 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
8566
8567         * tools/Makefile.am:
8568         * tools/gst-md5sum.1.in:
8569         * tools/gst-md5sum.c:
8570           Remove gst-md5sum and man page (the md5sink element
8571           required was removed ages ago)
8572
8573 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
8574
8575         * gst/gststructure.c: (gst_structure_id_set_value):
8576           Make sure that string fields in structures/taglists
8577           contain valid UTF-8 - we don't want to pass rubbish to
8578           applications because of a buggy plugin (cp. #334167).
8579
8580 2006-03-21  Edward Hervey  <edward@fluendo.com>
8581
8582         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
8583         (gst_bin_handle_message_func):
8584         * gst/gstclock.c: (gst_clock_dispose), (gst_clock_set_master):
8585         * gst/gstelement.c: (gst_element_set_clock), (gst_element_dispose),
8586         (gst_element_set_bus_func):
8587         * gst/gstghostpad.c: (gst_proxy_pad_dispose):
8588         * gst/gstminiobject.c: (gst_value_set_mini_object),
8589         (gst_value_take_mini_object):
8590         * gst/gstpad.c: (gst_pad_set_pad_template):
8591         * gst/gstpipeline.c: (gst_pipeline_dispose),
8592         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
8593         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop),
8594         (gst_collect_pads_chain):
8595         * libs/gst/net/gstnettimeprovider.c:
8596         (gst_net_time_provider_set_property):
8597         Series of fixes for dereferenced pointers that gcc 4.1 complains about.
8598         It's in fact all issues with gst_*object_replace().
8599
8600 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
8601
8602         Patch by: Loïc Minier  <lool + gnome at via dot ecp dot fr>
8603         
8604         * pkgconfig/gstreamer-check-uninstalled.pc.in:
8605         * pkgconfig/gstreamer-check.pc.in:
8606           Use @CHECK_LIBS@ here instead of hard-coding -lcheck (#334109).
8607
8608 2006-03-21  Edward Hervey  <edward@fluendo.com>
8609
8610         * gst/gstbuffer.h:
8611         * gst/gstevent.h:
8612         * gst/gstmessage.h:
8613         gst_[buffer|event|message]_ref() macros are replaced by a static
8614         inline functions because gcc-4.1 will about if the return value
8615         isn't used.
8616         * tests/check/gst/gstevent.c: (event_probe):
8617         gst_event_ref now has to be given a GstEvent* , fix check accordingly.
8618
8619 2006-03-20  Jan Schmidt  <thaytan@mad.scientist.com>
8620
8621         * gst/gstutils.h:
8622         Add G_UNLIKELY to our boilerplate to optimise the 'already registered
8623         the type' case. (Closes: #335195 for now). In the future, when we
8624         depend on GLib 2.10, we could also intern the type name using
8625         g_intern_static_string()
8626
8627 2006-03-20  Wim Taymans  <wim@fluendo.com>
8628
8629         * gst/gstbin.c: (gst_bin_handle_message_func),
8630         (bin_query_max_init), (bin_query_position_fold),
8631         (bin_query_position_done), (gst_bin_query):
8632         Position query should also take max of all streams.
8633
8634 2006-03-20  Wim Taymans  <wim@fluendo.com>
8635
8636         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
8637         (gst_fake_src_finalize):
8638         Fix leaks in fakesrc.
8639
8640         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
8641         Fix leaks in the testcase.
8642
8643 2006-03-19  Sebastien Moutte  <sebastien@moutte.net>
8644
8645         * gst/gst_private.h:
8646           add win32 specific import decoration(__declspec(dllimport)) 
8647           for all extern GstDebugCategory * variables
8648         * win32/common/libgstbase.def:
8649         * win32/common/libgstcontroller.def:
8650         * win32/common/libgstreamer.def:
8651           Add some exports, remove empty lines
8652         * win32/common/libgstdataprotocol.def:
8653         * win32/common/libgstdataprotocol.dsp:
8654         * win32/common/libgstnet.def:
8655         * win32/common/libgstnet.dsp:
8656           new project files and exportation files added
8657         
8658 2006-03-19  Wim Taymans  <wim@fluendo.com>
8659
8660         * tests/check/libs/basesrc.c: (eos_event_counter):
8661         Use proper return value for probe.
8662
8663 2006-03-17  Wim Taymans  <wim@fluendo.com>
8664
8665         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_alloc_buffer_full),
8666         (gst_pad_push):
8667         Don't leak buffers, caps and pads on negotiation errors.
8668
8669 2006-03-16  Stefan Kost  <ensonic@users.sf.net>
8670
8671         * docs/faq/cvs.xml:
8672         * docs/faq/dependencies.xml:
8673         * docs/faq/developing.xml:
8674         * docs/faq/faq.xml:
8675         * docs/faq/general.xml:
8676         * docs/faq/getting.xml:
8677         * docs/faq/legal.xml:
8678         * docs/faq/troubleshooting.xml:
8679         * docs/faq/using.xml:
8680         Faq review and update.
8681
8682 2006-03-16  Jan Schmidt  <thaytan@mad.scientist.com>
8683
8684         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_alloc_buffer_full),
8685         (gst_pad_push):
8686         Don't pound the cpu to pieces by checking get_caps when accept_caps
8687         is called with the same caps as the pad already has.
8688         Use GST_DEBUG_OBJECT when outputting caps change information.
8689
8690 2006-03-15  Wim Taymans  <wim@fluendo.com>
8691
8692         * gst/gstclock.c: (gst_clock_class_init):
8693         Fix docs.
8694
8695 2006-03-15  Jan Schmidt  <thaytan@mad.scientist.com>
8696
8697         * gst/gstbuffer.h:
8698         Documentation fix.
8699
8700         * gst/gstpad.c: (gst_pad_init), (gst_pad_acceptcaps_default),
8701         (gst_pad_accept_caps), (gst_pad_configure_sink),
8702         (gst_pad_configure_src), (gst_pad_chain), (gst_pad_push):
8703         Make the default acceptcaps behaviour be to check the requested 
8704         caps against the gst_pad_get_caps output. 
8705
8706         Ensure that gst_pad_accept_caps is used to check caps when a pad
8707         doesn't have a setcaps function, so that pads automatically refuse 
8708         caps that they don't allow in their pad template. (Fixes #332986)
8709
8710         When a buffer with attached caps is pushed, ensure that the source 
8711         pad receives those caps even if the element didn't call
8712         gst_pad_set_caps first.
8713
8714 2006-03-15  Wim Taymans  <wim@fluendo.com>
8715
8716         * libs/gst/base/gstadapter.c:
8717         Add some docs.
8718
8719 2006-03-15  Tim-Philipp Müller  <tim at centricular dot net>
8720
8721         * win32/common/libgstbase.def:
8722         * win32/common/libgstcontroller.def:
8723         * win32/common/libgstreamer.def:
8724           Add a whole bunch of missing functions (#334434).
8725
8726 2006-03-14  Wim Taymans  <wim@fluendo.com>
8727
8728         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
8729         (gst_base_sink_get_sync_times), (gst_base_sink_wait_clock),
8730         (gst_base_sink_do_sync), (gst_base_sink_do_qos):
8731         Better debug info when we receive a segment event.
8732         Reorganize a bit so we can pass the get_times() results around.
8733         Use the segment format when calculating the running time.
8734         Don't do QoS is sync is disabled or we have no clock or the
8735         element does not want us to sync to the clock.
8736         Don't drop buffers if QoS is disabled for now.
8737
8738 2006-03-14  Wim Taymans  <wim@fluendo.com>
8739
8740         * gst/gstclock.c: (gst_clock_class_init), (do_linear_regression):
8741         Marked the stats property as unimplemented so people don't get
8742         wild ideas.
8743         Add debug message when regression goes wrong.
8744         Added some more docs.
8745
8746 2006-03-14  Wim Taymans  <wim@fluendo.com>
8747
8748         * gst/gstsegment.c: (gst_segment_to_stream_time):
8749         Return correct return type in case of errors.
8750
8751 2006-03-14  Wim Taymans  <wim@fluendo.com>
8752
8753         * gst/gstformat.c: (gst_format_get_name), (gst_format_to_quark):
8754           Don't segfault on invalid formats.
8755
8756 2006-03-14  Tim-Philipp Müller  <tim at centricular dot net>
8757
8758         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
8759           Can't use gst_segment_to_running_time() when the segment
8760           is not in GST_TIME_FORMAT (like with filesink, for example).
8761           Stops flac encoding pipelines from spewing critical warnings
8762           at EOS (#331248).
8763           
8764 2006-03-14  Tim-Philipp Müller  <tim at centricular dot net>
8765
8766         * gst/gstpipeline.c: (gst_pipeline_class_init):
8767           Add 'Since: 0.10.5' to gtk-doc blurb for added property.
8768
8769         * plugins/elements/gsttypefindelement.c:
8770         (gst_type_find_element_handle_event):
8771           Don't try to typefind empty streams.
8772
8773 2006-03-14  Wim Taymans  <wim@fluendo.com>
8774
8775         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync),
8776         (gst_base_sink_do_qos):
8777         Separate QoS calculation.
8778         Only drop buffers when lateness is bigger than the 
8779         duration of the buffer.
8780
8781 2006-03-13  Wim Taymans  <wim@fluendo.com>
8782
8783         * gst/gstpipeline.c: (gst_pipeline_set_property),
8784         (gst_pipeline_get_property), (do_pipeline_seek),
8785         (gst_pipeline_change_state), (gst_pipeline_set_delay),
8786         (gst_pipeline_get_delay):
8787         Don't deadlock when reading properties.
8788
8789 2006-03-13  Wim Taymans  <wim@fluendo.com>
8790
8791         * libs/gst/base/gstbasetransform.c:
8792         (gst_base_transform_class_init), (gst_base_transform_init),
8793         (gst_base_transform_sink_event),
8794         (gst_base_transform_sink_eventfunc),
8795         (gst_base_transform_src_event), (gst_base_transform_src_eventfunc),
8796         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
8797         (gst_base_transform_set_property),
8798         (gst_base_transform_get_property),
8799         (gst_base_transform_change_state), (gst_base_transform_update_qos),
8800         (gst_base_transform_set_qos_enabled),
8801         (gst_base_transform_is_qos_enabled):
8802         * libs/gst/base/gstbasetransform.h:
8803         Make basetransform virtual method for src events too.
8804         Handle QOS in basetransform.
8805         API: gst_base_transform_update_qos()
8806         API: gst_base_transform_set_qos_enabled()
8807         API: gst_base_transform_is_qos_enabled()
8808
8809 2006-03-13  Wim Taymans  <wim@fluendo.com>
8810
8811         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
8812         (gst_base_sink_do_sync):
8813         Small cleanups.
8814         Use QOS debug category.
8815
8816 2006-03-13  Wim Taymans  <wim@fluendo.com>
8817
8818         * plugins/elements/gstqueue.c:
8819         Very small doc update.
8820
8821 2006-03-13  Wim Taymans  <wim@fluendo.com>
8822
8823         * gst/gst_private.h:
8824         * gst/gstinfo.c: (_gst_debug_init):
8825         Added QOS debug category
8826
8827 2006-03-13  Wim Taymans  <wim@fluendo.com>
8828
8829         * docs/gst/gstreamer-sections.txt:
8830         * gst/gstbin.c: (bin_bus_handler), (gst_bin_handle_message_func):
8831         * gst/gstbin.h:
8832         * gst/gstbus.c: (gst_bus_class_init):
8833         * gst/gstbus.h:
8834         * gst/gstclock.c:
8835         * gst/gstelement.c: (gst_element_set_locked_state):
8836         * gst/gstsegment.c:
8837         Documentation updates.
8838
8839         * gst/gstpipeline.c: (gst_pipeline_get_type),
8840         (gst_pipeline_class_init), (gst_pipeline_init),
8841         (gst_pipeline_dispose), (gst_pipeline_set_property),
8842         (gst_pipeline_get_property), (do_pipeline_seek),
8843         (gst_pipeline_send_event), (gst_pipeline_change_state),
8844         (gst_pipeline_provide_clock_func), (gst_pipeline_set_delay),
8845         (gst_pipeline_get_delay):
8846         * gst/gstpipeline.h:
8847         Added methods for setting the delay.
8848         API: gst_pipeline_set_delay()
8849         API: gst_pipeline_get_delay()
8850         Add pipeline debug category
8851         Various cleanups.
8852         Updated docs.
8853         Don't reset stream time when seek failed.
8854
8855 2006-03-13  Wim Taymans  <wim@fluendo.com>
8856
8857         * docs/design/draft-klass.txt:
8858         * docs/design/part-clocks.txt:
8859         * docs/design/part-events.txt:
8860         * docs/design/part-gstbin.txt:
8861         * docs/design/part-gstpipeline.txt:
8862         * docs/design/part-messages.txt:
8863         * docs/design/part-negotiation.txt:
8864         * docs/design/part-overview.txt:
8865         * docs/design/part-preroll.txt:
8866         * docs/design/part-seeking.txt:
8867         * docs/design/part-states.txt:
8868         * docs/design/part-streams.txt:
8869         Documentation updates.
8870
8871 2006-03-12  Julien MOUTTE  <julien@moutte.net>
8872
8873         * gst/gsttaglist.c: Fix rubbish docs that are encouraging
8874         us to leak strings...
8875
8876 2006-03-12  Thomas Vander Stichele  <thomas at apestaart dot org>
8877
8878         * libs/gst/net/gstnettimeprovider.c:
8879           fix docs
8880         * win32/common/config.h:
8881           update
8882
8883 2006-03-12  Tim-Philipp Müller  <tim at centricular dot net>
8884
8885         Patch by: Julio M. Merino Vidal <jmmv at netbsd org>
8886
8887         * configure.ac:
8888           Don't check for libgnomeui (leftover from old examples
8889           that aren't built or disted any longer) (#334303).
8890           
8891 2006-03-11  Tim-Philipp Müller  <tim at centricular dot net>
8892
8893         * plugins/elements/gstfdsink.c: (gst_fd_sink_render):
8894         * plugins/elements/gstfilesink.c: (gst_file_sink_render):
8895           Emit RESOURCE_NO_SPACE_LEFT error here as well when
8896           there's no space left on the device.
8897
8898 2006-03-10  Tim-Philipp Müller  <tim at centricular dot net>
8899
8900         * gst/gstclock.h:
8901           Fix GST_CLOCK_TIME_IS_VALID signedness issues - we need
8902           to cast the input to GstClockTime before comparing with
8903           another GstClockTime value.
8904
8905 2006-03-10  Thomas Vander Stichele  <thomas at apestaart dot org>
8906
8907         * configure.ac:
8908           back to trunk
8909
8910 === release 0.10.4 ===
8911
8912 2006-03-10  Thomas Vander Stichele <thomas at apestaart dot org>
8913
8914         * configure.ac:
8915           releasing 0.10.4, "Light"
8916
8917 2006-03-10  Michael Smith  <msmith@fluendo.com>
8918
8919         * libs/gst/dataprotocol/dataprotocol.c:
8920           Fix docs for dataprocotol to not get the return types completely
8921           wrong for a few functions.
8922
8923 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
8924
8925         * docs/gst/gstreamer-sections.txt:
8926         * gst/gstpipeline.c: (gst_pipeline_class_init),
8927         (gst_pipeline_init), (gst_pipeline_set_property),
8928         (gst_pipeline_get_property), (gst_pipeline_change_state),
8929         (gst_pipeline_set_auto_flush_bus),
8930         (gst_pipeline_get_auto_flush_bus):
8931         * gst/gstpipeline.h:
8932           Add new API: gst_pipeline_set_auto_flush_bus() and
8933           gst_pipeline_get_auto_flush_bus() to disable automatic
8934           flushing of the pipeline's GstBus when going from READY
8935           to NULL state (#332045).
8936
8937 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
8938
8939         * docs/gst/gstreamer-sections.txt:
8940         * gst/gsturi.c: (gst_uri_has_protocol):
8941         * gst/gsturi.h:
8942            Add new API: gst_uri_has_protocol() (#333779).
8943
8944 2006-03-09  Wim Taymans  <wim@fluendo.com>
8945
8946         * gst/gstclock.c: (gst_clock_entry_new),
8947         (gst_clock_id_compare_func), (gst_clock_id_wait),
8948         (gst_clock_id_wait_async), (gst_clock_id_unschedule),
8949         (gst_clock_init), (gst_clock_get_internal_time),
8950         (gst_clock_set_master), (do_linear_regression),
8951         (gst_clock_add_observation), (gst_clock_set_property):
8952         * gst/gstclock.h:
8953         Review docs.
8954         Small cleanups.
8955         Fix a possible segfault when the window-size is made smaller.
8956         Calculate jitter before performing the clock wait. Ideally
8957         the clock implementation should calculate jitter but we need
8958         API breakage for that.
8959
8960         * gst/gstsystemclock.c: (gst_system_clock_init):
8961         Docs review.
8962         
8963         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync):
8964         Remove leftover else
8965
8966         * tests/check/gst/gstsystemclock.c: (GST_START_TEST),
8967         (gst_systemclock_suite):
8968         Added check to test GST_CLOCK_DIFF.
8969
8970 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
8971
8972         * libs/gst/base/gsttypefindhelper.c: (helper_find_get_length),
8973         (gst_type_find_helper_get_range):
8974           If we are provided with the size, we should implement
8975           GstTypeFind::get_length, so that typefind functions who
8976           want to can actually peek at the middle of a file.
8977
8978 2006-03-08  Tim-Philipp Müller  <tim at centricular dot net>
8979
8980         * docs/manual/advanced-dataaccess.xml:
8981           Add some very very basic error checking.
8982
8983         * docs/pwg/appendix-checklist.xml:
8984           Some updates to the list of things to check when writing an element.
8985
8986 2006-03-08  Wim Taymans  <wim@fluendo.com>
8987
8988         * docs/design/part-element-transform.txt:
8989         Added some docs about the design of tranform elements.
8990
8991         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
8992         (gst_base_src_loop), (gst_base_src_change_state):
8993         Mark buffers with the DISCONT flag.
8994
8995 2006-03-08  Michael Smith  <msmith@fluendo.com>
8996
8997         * gst/gstregistry.h:
8998         * gst/gstregistryxml.c: (gst_registry_save),
8999         (gst_registry_save_escaped), (gst_registry_xml_save_caps),
9000         (gst_registry_xml_save_pad_template),
9001         (gst_registry_xml_save_feature), (gst_registry_xml_save_plugin),
9002         (gst_registry_xml_write_cache):
9003           Rewrite registry-saving to avoid race conditions and check for
9004           failed writes.
9005
9006 2006-03-08  Wim Taymans  <wim@fluendo.com>
9007
9008         * libs/gst/base/gstbasetransform.c:
9009         (gst_base_transform_transform_caps),
9010         (gst_base_transform_transform_size),
9011         (gst_base_transform_prepare_output_buffer),
9012         (gst_base_transform_get_unit_size),
9013         (gst_base_transform_buffer_alloc),
9014         (gst_base_transform_handle_buffer),
9015         (gst_base_transform_change_state):
9016         Cleanups, separate normal flow from errors, add sensible
9017         DEBUG lines.
9018         Don't try to renegotiate when allocating an output buffer.
9019         Also copy DISCONT buffer flag when copying a buffer.
9020         Reset the transform after we finish streaming, not during.
9021
9022 2006-03-08  Wim Taymans  <wim@fluendo.com>
9023
9024         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync):
9025         Use last buffer timestamp in qos message.
9026
9027 2006-03-07  Wim Taymans  <wim@fluendo.com>
9028
9029         Patch by: Christophe Fergeau
9030
9031         * docs/pwg/advanced-tagging.xml:
9032         * docs/pwg/building-pads.xml:
9033           fixes #333416
9034
9035 2006-03-07  Wim Taymans  <wim@fluendo.com>
9036
9037         * docs/libs/gstreamer-libs-sections.txt:
9038         Added basesink new methods.
9039
9040         * gst/gstevent.c:
9041         * gst/gstevent.h:
9042         Docs updates. Flesh out the QoS docs.
9043
9044         * libs/gst/base/gstadapter.c:
9045         Small doc clarification about ownership and flushing.
9046
9047         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_sync),
9048         (gst_base_sink_get_sync), (gst_base_sink_set_max_lateness),
9049         (gst_base_sink_get_max_lateness), (gst_base_sink_set_property),
9050         (gst_base_sink_get_property), (gst_base_sink_do_sync):
9051         * libs/gst/base/gstbasesink.h:
9052         API additions: 
9053         Added new methods to allow subclass to control max-lateness 
9054         and sync.
9055         Generate very basic QoS events based on last sync observation.
9056         Updated docs, fix typo, added some QoS blurb.
9057
9058         * libs/gst/base/gstbasesrc.c:
9059         Remove obsolete _get_state() calls from docs.
9060
9061 2006-03-07  Wim Taymans  <wim@fluendo.com>
9062
9063         * docs/libs/gstreamer-libs-sections.txt:
9064         * libs/gst/base/gstbasetransform.h:
9065         API addition: Fix #333669, Add pad accessor defines for GstBaseTransform
9066         Fix docs for GstBaseSrc.
9067
9068 2006-03-07  Wim Taymans  <wim@fluendo.com>
9069
9070         * docs/gst/gstreamer-sections.txt:
9071         * gst/gstbuffer.h:
9072         * gst/gstvalue.c:
9073         * libs/gst/base/gstbasetransform.h:
9074         Small documentation fixes.
9075
9076 2006-03-07  Tim-Philipp Müller  <tim at centricular dot net>
9077
9078         * gst/gstvalue.c:
9079           Document thread-unsafety of gst_value_register_foo_func()
9080           when used at the same time as gst_value_foo() (#322628).
9081
9082 2006-03-07  Tim-Philipp Müller  <tim at centricular dot net>
9083
9084         * libs/gst/base/gstpushsrc.c: (gst_push_src_class_init),
9085         (gst_push_src_check_get_range):
9086           Push sources don't support pull mode by default.
9087
9088 2006-03-06  Tim-Philipp Müller  <tim at centricular dot net>
9089
9090         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
9091         (gst_base_src_init), (gst_base_src_pad_check_get_range),
9092         (gst_base_src_default_check_get_range):
9093         * libs/gst/base/gstbasesrc.h:
9094           API addition:  Add ::check_get_range() vfunc to GstBaseSrc (#332611),
9095           provide default implementation, and rename
9096           gst_base_src_check_get_range() to
9097           gst_base_src_pad_check_get_range() for clarity.
9098
9099 2006-03-06  Wim Taymans  <wim@fluendo.com>
9100
9101         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
9102         Make property overridable.
9103
9104 2006-03-06  Wim Taymans  <wim@fluendo.com>
9105
9106         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
9107         (gst_base_sink_init), (gst_base_sink_set_property),
9108         (gst_base_sink_get_property), (gst_base_sink_do_sync):
9109         * libs/gst/base/gstbasesink.h:
9110         API addition: Make max-lateness a property.
9111
9112 2006-03-06  Wim Taymans  <wim@fluendo.com>
9113
9114         * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_clock),
9115         (gst_base_sink_do_sync), (gst_base_sink_render_object):
9116         Don't ever draw a frame that is >10ms late.
9117
9118 2006-03-06  Michael Smith  <msmith@fluendo.com>
9119
9120         * gst/gstmessage.c: (_gst_message_copy):
9121           When copying a message, set the parent_refcount of the enclosed
9122           structure to point at the copy, not the original message.
9123
9124 2006-03-06  Tim-Philipp Müller  <tim at centricular dot net>
9125
9126         Patch by: Christophe Fergeau
9127
9128         * gst/gstutils.h:
9129           Do proper cast here to make GST_BOILERPLATE_WITH_INTERFACE
9130           usable in c++ code (#333417)
9131
9132 2006-03-06  Thomas Vander Stichele  <thomas at apestaart dot org>
9133
9134         * gst/gstclock.h:
9135           Show GST_CLOCK_TIME_NONE as 99:99:99.999999999
9136
9137 2006-03-05  Tim-Philipp Müller  <tim at centricular dot net>
9138
9139         * libs/gst/base/gstbasetransform.c:
9140         (gst_base_transform_transform_caps):
9141           Make sure caps are writable before passing them to
9142           gst_caps_append().
9143
9144 2006-03-04  Tim-Philipp Müller  <tim at centricular dot net>
9145
9146         * gst/gsterror.h:
9147           Fix some minor docs errors.
9148
9149 2006-03-04  Tim-Philipp Müller  <tim at centricular dot net>
9150
9151           Patch by: Ross Burton <ross at burtonini dot com>
9152
9153         * gst/gsterror.c: (_gst_resource_errors_init):
9154         * gst/gsterror.h:
9155           Add GST_RESOURCE_ERROR_NO_SPACE_LEFT (for #333352;
9156
9157 2006-03-03  Jan Schmidt  <thaytan@mad.scientist.com>
9158
9159         * gst/gst.c:
9160         Add a check and output a g_warning when GStreamer is built
9161         against GLib 2.6 but running against 2.8 or higher, and vice 
9162         versa. (Closes: #323542)
9163
9164 2006-03-03  Jan Schmidt  <thaytan@mad.scientist.com>
9165
9166         * gst/parse/parse.l:
9167           Commit patch for parse_launch syntax from #331255. Removes 
9168           support for quoted strings and mimetypes when writing filtered 
9169           caps. See the bug report for more details - I'm pretty sure this
9170           obscure feature is not in use by _anyone_ anywhere.
9171
9172           With this simple change, the size of the gstreamer.so here 
9173           drops from 2193KB to 1565KB.
9174
9175 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
9176
9177         * plugins/elements/gsttypefindelement.h:
9178         * plugins/elements/gsttypefindelement.c:
9179         (gst_type_find_element_src_event), (start_typefinding),
9180         (stop_typefinding), (gst_type_find_element_handle_event),
9181         (gst_type_find_element_chain),
9182         (gst_type_find_element_chain_do_typefinding):
9183           Use gst_type_find_helper_for_buffer() for chain-based
9184           typefinding.
9185
9186 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
9187
9188         * plugins/elements/gsttypefindelement.c:
9189         (gst_type_find_element_class_init),
9190         (gst_type_find_element_set_property),
9191         (gst_type_find_element_get_property):
9192           Deprecate "maximum" property (not only was it only taken into
9193           account for typefinding in push-mode anyway, it also was never
9194           actually possible to set it in the first place because the
9195           property was registered with the numeric property ID for the
9196           "minimum" property). Register "maximum" property correctly,
9197           for the sake of future copy'n'pasters. Remove some cruft
9198           from property get/set functions.
9199
9200 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
9201
9202         * plugins/elements/gsttypefindelement.c:
9203         (gst_type_find_element_activate):
9204           Use gst_type_find_helper_get_range() here, so we
9205           can honour the "minimum" property and also emit
9206           the signal with the correct probability of the found caps.
9207
9208 2006-03-02  Tim-Philipp Müller  <tim at centricular dot net>
9209
9210         * docs/libs/gstreamer-libs-sections.txt:
9211         * libs/gst/base/gsttypefindhelper.c: (helper_find_peek),
9212         (helper_find_suggest), (gst_type_find_helper_get_range),
9213         (gst_type_find_helper):
9214         * libs/gst/base/gsttypefindhelper.h:
9215           New API: gst_type_find_helper_get_range() (#333042).
9216
9217 2006-03-02  Michael Smith  <msmith@fluendo.com>
9218
9219         * gst/gstregistryxml.c: (load_feature):
9220           Asserting on a failure to read part of the registry is Not Cool.
9221           Just log a warning and return NULL (which is already handled)
9222
9223 2006-02-28  Sebastien Moutte  <sebastien@moutte.net>
9224
9225         * win32/common/libgstbase.def:
9226           added export of gst_type_find_helper_for_buffer
9227         * win32/common/libgstbase.def:
9228           added some exports : gst_bin_iterate_elements, gst_iterator_resync,
9229           gst_ghost_pad_get_target
9230
9231 2006-02-28  Wim Taymans  <wim@fluendo.com>
9232
9233         * docs/design/draft-klass.txt:
9234         We use Filter now.
9235         Added Connector to mark elements that are only used to
9236         allow pipeline connections.
9237         Moved Debug to extra feature since most of them are 
9238         functionally something else.
9239
9240 2006-02-28  Wim Taymans  <wim@fluendo.com>
9241
9242         * docs/design/draft-klass.txt:
9243         Some updates and clarifications.
9244
9245 2006-02-28  Wim Taymans  <wim@fluendo.com>
9246
9247         * docs/design/draft-klass.txt:
9248         Proposal for klass field values.
9249
9250         * docs/design/part-streams.txt:
9251         Start of a doc describing stream anatomy.
9252
9253 2006-02-28  Wim Taymans  <wim@fluendo.com>
9254
9255         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_handle_message_func):
9256         Help the compiler a bit with type registration.
9257         Use existing forward cod path instead of duplicating it when 
9258         handling a message.
9259         
9260         * gst/gstbus.c: (gst_bus_get_type):
9261         * gst/gstcaps.c: (gst_caps_get_type), (gst_static_caps_get_type):
9262         * gst/gstchildproxy.c: (gst_child_proxy_get_type):
9263         * gst/gstclock.c: (gst_clock_get_type):
9264         * gst/gstelement.c: (gst_element_get_type),
9265         * gst/gstelementfactory.c: (gst_element_factory_get_type):
9266         * gst/gstindexfactory.c: (gst_index_factory_get_type):
9267         * gst/gstminiobject.c: (gst_mini_object_get_type):
9268         * gst/gstpad.c: (gst_pad_get_type):
9269         * gst/gstsegment.c: (gst_segment_get_type):
9270         * gst/gststructure.c: (gst_structure_get_type):
9271         * gst/gstsystemclock.c: (gst_system_clock_get_type):
9272         * gst/gsttask.c: (gst_task_get_type), (gst_task_join):
9273         * gst/gstvalue.c:
9274         Help compiler with type registration.
9275
9276         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event):
9277         Small doc update.
9278
9279 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
9280
9281         * plugins/elements/gsttypefindelement.c:
9282         (gst_type_find_element_handle_event):
9283           When we get an EOS event and have not found a type yet
9284           (most likely because we had not yet accumulated
9285           TYPE_FIND_MIN_SIZE of data yet), try to determine the
9286           type given the data we have so far. Fixes typefinding
9287           for very short streams again, most notably quicktime
9288           redirections as used on Apple's trailer site (#331701).
9289
9290 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
9291
9292         * libs/gst/base/gsttypefindhelper.c: (type_find_factory_rank_cmp),
9293         (gst_type_find_helper):
9294           Try typefinding factories with the highest rank first.
9295
9296 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
9297
9298         * docs/libs/gstreamer-libs-docs.sgml:
9299         * docs/libs/gstreamer-libs-sections.txt:
9300         * libs/gst/base/gsttypefindhelper.c:
9301           Add section for typefind helper and add documentation
9302           for the old and the new function.
9303
9304 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
9305
9306         * libs/gst/base/gsttypefindhelper.c: (buf_helper_find_peek),
9307         (buf_helper_find_suggest), (type_find_factory_rank_cmp),
9308         (gst_type_find_helper_for_buffer):
9309         * libs/gst/base/gsttypefindhelper.h:
9310           New API: gst_type_find_helper_for_buffer() (#332723).
9311           
9312 2006-02-27  Michael Smith  <msmith@fluendo.com>
9313
9314         Patch by: Loïc Minier
9315
9316         * configure.ac:
9317         * docs/Makefile.am:
9318         * docs/slides/Makefile.am:
9319           prevent CVS directories getting disted.
9320
9321 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
9322
9323         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref):
9324           Use the REFCOUNTING category for caps refcounting.
9325           
9326 2006-02-26  Tim-Philipp Müller  <tim at centricular dot net>
9327
9328         * plugins/elements/gsttypefindelement.c: (stop_typefinding):
9329           This should be 0 not GST_CLOCK_TIME_NONE (see #331701).
9330
9331 2006-02-26  Tim-Philipp Müller  <tim at centricular dot net>
9332
9333         * plugins/elements/gsttypefindelement.c:
9334         (gst_type_find_element_activate):
9335           Use gst_pad_check_pull_range() before _activate_pull()
9336           to avoid unnecessary open/close (see #331690).
9337
9338 2006-02-24  Tim-Philipp Müller  <tim at centricular dot net>
9339
9340         * gst/gstutils.c:
9341           Docs enhancement: make it crystal clear what the
9342           gst_pad_add_*_probe() callbacks should look like.
9343
9344 2006-02-24  Tim-Philipp Müller  <tim at centricular dot net>
9345
9346         * libs/gst/base/gstbasesrc.c:
9347           Document how applications can stop recording from
9348           live sources (see #330996).
9349
9350 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
9351
9352         * tests/check/Makefile.am:
9353         * tests/check/libs/basesrc.c: (eos_event_counter),
9354         (basesrc_eos_events_pull), (basesrc_eos_events_push),
9355         (basesrc_eos_events_push_live_op), (basesrc_eos_events_pull_live_op),
9356         (gst_basesrc_suite), (main):
9357           ... and add some tests for the base source EOS stuff.
9358
9359 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
9360
9361         * tests/check/gst/gstutils.c: (test_buffer_probe_n_times):
9362           Test case originally showed the problem fixed below,
9363           but was then amended. Add checks back at the place
9364           where they used to be.
9365
9366 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
9367
9368         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
9369         (gst_base_src_init), (gst_base_src_loop),
9370         (gst_base_src_activate_push), (gst_base_src_activate_pull),
9371         (gst_base_src_change_state):
9372         * libs/gst/base/gstbasesrc.h:
9373           Don't unconditionally send EOS when going from PAUSED to
9374           READY state, esp. make sure we don't send two EOS events
9375           in some cases (e.g. one when reaching EOS and one when
9376           going from PAUSED to READY). Also, we don't want to send
9377           EOS events when operating in pull mode. However, we do
9378           want to send an EOS event when shutting down a live
9379           source explicitly, for example (fixes #330996).
9380           
9381 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
9382
9383         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
9384           Update src->read_position after a seek when not using mmap.
9385           Fixes #332277, patch by: Renchi Raju <renchi gmail com>
9386
9387 2006-02-21  Jan Schmidt  <thaytan@mad.scientist.com>
9388
9389         * gst/Makefile.am:
9390         * gst/gstparse.h:
9391         * gst/gstutils.c:
9392         * gst/gstutils.h:
9393         Make things work with --disable-parse as they do with 
9394         --disable-load-save - the symbols involved disappear, but the
9395         header is still installed and GST_DISABLE_PARSE is included via
9396         gstconfig.h
9397
9398 2006-02-20  Julien MOUTTE  <julien@moutte.net>
9399
9400         * libs/gst/base/gstbasetransform.c:
9401         (gst_base_transform_change_state): Fix a stupid bug. I was 
9402         sure I compiled that.
9403
9404 2006-02-20  Julien MOUTTE  <julien@moutte.net>
9405
9406         * gst/gstpad.c: (gst_pad_set_blocked_async):
9407         * gst/gstutils.c: (gst_pad_add_data_probe),
9408         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
9409         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
9410         (gst_pad_remove_buffer_probe): Make those function act on the
9411         ghostpad target when it's a ghostpad. (Closes #331727)
9412
9413 2006-02-20  Julien MOUTTE  <julien@moutte.net>
9414
9415         * libs/gst/base/gstbasetransform.c:
9416         (gst_base_transform_change_state): Make basetransform reusable.
9417         (Closes #331898)
9418
9419 2006-02-20  Jan Schmidt  <thaytan@mad.scientist.com>
9420
9421         * docs/random/release:
9422         Move the current documentation of how to do a release to the top
9423         of the file.
9424
9425         * gst/gstbin.c: (gst_bin_class_init),
9426         (gst_bin_handle_message_func):
9427         Allow multiple state-recalculation threads. (Closes #328873)
9428
9429 2006-02-19  Julien MOUTTE  <julien@moutte.net>
9430
9431         * gst/gstinfo.h: Add GST_STR_NULL to the second string.
9432         * gst/gstpad.c: (gst_pad_set_event_function),
9433         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
9434         (gst_pad_set_getcaps_function): GST_DEBUG_PAD_NAME evaluates to
9435         2 strings. You can't use the STR_NULL macro on that.
9436
9437 2006-02-19  Sebastien Moutte <sebastien@moutte.net>
9438
9439         * gst/gstpad.c: (gst_pad_set_event_function),
9440         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
9441         (gst_pad_set_getcaps_function)
9442         * gst/parse/grammar.y: (gst_parse_found_pad), (gst_parse_perform_delayed_link)
9443           Fixed NULL pointer used in GST_CAT_DEBUG using GST_STR_NULL macro
9444           So now, we can use --gst-debug-level=5 on Windows
9445         * win32/common/libgstcontroller.def:
9446           Added export of gst_controller_init
9447         * win32/vs6/libgstcontroller.dsp:
9448           Fixed Release post build configuration
9449
9450 2006-02-17  Wim Taymans  <wim@fluendo.com>
9451
9452         * tests/check/gst/gstquery.c: (GST_START_TEST):
9453         Added another check.
9454
9455 2006-02-15  Tim-Philipp Müller  <tim at centricular dot net>
9456
9457         * plugins/elements/gsttypefindelement.c: (find_peek):
9458           We can do peeks at non-zero offsets, as long as they
9459           fall within the buffer we have.
9460
9461 2006-02-15  Jan Schmidt  <thaytan@mad.scientist.com>
9462
9463         * tests/check/Makefile.am:
9464         * tests/check/pipelines/parse-launch.c: (setup_pipeline),
9465         (expected_fail_pipe), (check_pipeline_runs), (GST_START_TEST),
9466         (parse_suite), (main):
9467           Add testsuite for parse launch syntax
9468
9469 2006-02-14  Tim-Philipp Müller  <tim at centricular dot net>
9470
9471         * plugins/elements/gsttypefindelement.c:
9472         (gst_type_find_element_chain):
9473           When typefinding is unsuccessful in the chain function, don't
9474           error out immediately. Only error out with NO_CAPS_FOUND if
9475           the amount of data is at least MAX_TYPEFIND_SIZE bytes,
9476           otherwise simply wait for more data so we can try typefinding
9477           again with more data later. Also, don't attempt to typefind
9478           if we have less than MIN_TYPEFIND_SIZE data available. Overall,
9479           this should improve typefinding from network sources where the
9480           size of the first buffer can be somewhat random.
9481
9482 2006-02-14  Wim Taymans  <wim@fluendo.com>
9483
9484         * docs/gst/gstreamer-sections.txt:
9485         * gst/gstpadtemplate.c:
9486         * gst/gstpadtemplate.h:
9487         Fix padtemplate docs, fixes #328805.
9488
9489 2006-02-14  Wim Taymans  <wim@fluendo.com>
9490
9491         * tools/gst-launch.c: (main):
9492         NO_PREROLL is not an ERROR so don't send confusing messages
9493         to the user.
9494
9495 2006-02-14  Wim Taymans  <wim@fluendo.com>
9496
9497         Patch by: Torsten Schoenfeld
9498
9499         * gst/gstregistry.c: (gst_registry_get_default),
9500         (_gst_registry_cleanup):
9501         Protect default registry with lock and ref/sink it.
9502         Fixes #324818
9503
9504 2006-02-14  Wim Taymans  <wim@fluendo.com>
9505
9506         * gst/gstbuffer.c:
9507         * gst/gstquery.c: (gst_query_list_add_format),
9508         (gst_query_set_formatsv), (gst_query_parse_formats_length),
9509         (gst_query_parse_formats_nth):
9510         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
9511         Docs fixes.
9512
9513 2006-02-14  Wim Taymans  <wim@fluendo.com>
9514
9515         * docs/gst/gstreamer-sections.txt:
9516         Reworked query docs.
9517
9518         * gst/gstquery.c: (gst_query_new_formats),
9519         (gst_query_list_add_format), (gst_query_set_formats),
9520         (gst_query_set_formatsv), (gst_query_parse_formats_length),
9521         (gst_query_parse_formats_nth):
9522         * gst/gstquery.h:
9523         Flesh out formats query, added some new methods.
9524         Fix part of #324398.
9525
9526         * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite):
9527         Added query creation tests.
9528
9529 2006-02-14  Jan Schmidt  <thaytan@mad.scientist.com>
9530
9531         * gst/gstpad.c: (fixate_value):
9532         Add a default fixation for fraction lists.
9533
9534 2006-02-13  Wim Taymans  <wim@fluendo.com>
9535
9536         * gst/gsttask.c: (gst_task_init), (gst_task_func),
9537         (gst_task_set_lock), (gst_task_start), (gst_task_pause),
9538         (gst_task_join):
9539         * gst/gsttask.h:
9540         Detect and warn for obvious deadlocks. fixes #320340
9541         Fix error case where lock was not released.
9542
9543         * tests/check/Makefile.am:
9544         * tests/check/gst/gsttask.c: (task_func2), (GST_START_TEST),
9545         (task_func), (gst_element_suite), (main):
9546         Add task check.
9547
9548 2006-02-13  Wim Taymans  <wim@fluendo.com>
9549
9550         * docs/gst/gstreamer-sections.txt:
9551         * gst/gstbus.c:
9552         Add new functions to docs.
9553
9554 2006-02-13  Wim Taymans  <wim@fluendo.com>
9555
9556         * docs/design/part-TODO.txt:
9557         Updated TODO list, basesrc supports seeking to non-bytes
9558         formats.
9559
9560         * docs/design/part-element-sink.txt:
9561         Update docs.
9562
9563         * gst/gstbin.c: (bin_replace_message),
9564         (gst_bin_handle_message_func):
9565         * gst/gstbus.c: (gst_bus_post), (gst_bus_pop):
9566         * gst/gstevent.c: (gst_event_finalize):
9567         * gst/gstpad.c: (gst_pad_event_default_dispatch),
9568         (gst_pad_send_event):
9569         Use shiny new _TYPE_NAME macros.
9570
9571         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
9572         Move debug statement up.
9573
9574         * gst/gstelement.c: (gst_element_set_locked_state):
9575         Add some debugging.
9576
9577 2006-02-13  Tim-Philipp Müller  <tim at centricular dot net>
9578
9579         * docs/gst/gstreamer-sections.txt:
9580         * gst/gstmessage.h:
9581         * gst/gstquery.h:
9582           New API: add GST_MESSAGE_TYPE_NAME and GST_QUERY_TYPE_NAME
9583           macros (#330906). Also, document the already existing
9584           GST_QUERY_TYPE macro.
9585
9586 2006-02-13  Wim Taymans  <wim@fluendo.com>
9587
9588         * tests/check/gst/gstutils.c: (data_probe), (buffer_probe),
9589         (event_probe), (GST_START_TEST):
9590         Only events up to the pipeline EOS are counted, there are
9591         some more when going to NULL currently which we don't care
9592         about for now.
9593
9594 2006-02-13  Wim Taymans  <wim@fluendo.com>
9595
9596         * gst/gstpad.c: (gst_pad_send_event):
9597         Correctly check flushing and emit probes. fixes #330125
9598
9599 2006-02-10  Andy Wingo  <wingo@pobox.com>
9600
9601         * gst/gstbus.c (gst_bus_class_init): Declare our private data
9602         structure.
9603         (gst_bus_init): Cache the location of the private data in the
9604         instance structure.
9605         (gst_bus_enable_sync_message_emission) 
9606         (gst_bus_disable_sync_message_emission): Implement new public
9607         functions.
9608         (gst_bus_post): Emit the sync-message signal if the user asked for
9609         it. Fixes #330684.
9610
9611         * gst/gstbus.h (GstBus): Use a padding pointer to cache the
9612         location of the bus-private structure.
9613         (gst_bus_enable_sync_message_emission)
9614         (gst_bus_disable_sync_message_emission): API addition
9615
9616 2006-02-10  Jan Schmidt  <thaytan@mad.scientist.com>
9617
9618         Patch by: Vincent Torri
9619
9620         * docs/pwg/building-boiler.xml:
9621         PWG patch from #326800
9622
9623 2006-02-09  Tim-Philipp Müller  <tim at centricular dot net>
9624
9625         * configure.ac:
9626         * docs/Makefile.am:
9627         * docs/design/Makefile.am:
9628           Dist design docs.
9629
9630 2006-02-08  Jan Schmidt  <thaytan@mad.scientist.com>
9631
9632         * configure.ac:
9633           back to CVS
9634
9635 === release 0.10.3 ===
9636
9637 2006-02-08  Jan Schmidt <thaytan@mad.scientist.com>
9638
9639         * configure.ac:
9640           releasing 0.10.3, "Like a virgin"
9641
9642 2006-02-08  Jan Schmidt  <thaytan@mad.scientist.com>
9643
9644         * configure.ac:
9645           2nd prerelease of 0.10.3
9646           Bump libtool versioning.
9647
9648 2006-02-07  Andy Wingo  <wingo@pobox.com>
9649
9650         * libs/gst/base/gstcollectpads.c (gst_collect_pads_chain): Only
9651         update last_stop if we're in TIME format and the timestamp is
9652         valid.
9653
9654         * libs/gst/base/gstcollectpads.c (gst_collect_pads_event) 
9655         * libs/gst/base/gstbasetransform.c (gst_base_transform_eventfunc): 
9656         * libs/gst/base/gstbasesink.c (gst_base_sink_configure_segment):
9657         If we get a new newsegment with a different format, adapt
9658         accordingly.
9659
9660         * gst/gstclock.c (gst_clock_set_calibration): Accept a numerator
9661         of 0. Not a problem, really.
9662
9663         * libs/gst/base/gstbasesink.c (gst_base_sink_chain_unlocked): Only
9664         warn if sync=true.
9665
9666 2006-02-06  Jan Schmidt  <thaytan@mad.scientist.com>
9667
9668         * configure.ac:
9669           Prelease of 0.10.3
9670
9671 2006-02-06  Sebastien Moutte  <sebastien@moutte.net>
9672
9673         * win32/vs7:
9674           project files updated to the default vs7 configuration
9675         * win32/common/libgstbase.def:
9676         * win32/common/libgstreamer.def:
9677           added new symbols,
9678           removed empty lines,
9679           sorted all exported symbols alphabetically
9680         * win32/common/dirent.c:
9681         * win32/common/dirent.h:
9682         * win32/common/gchar.h:
9683           use windows line end.
9684           
9685 2006-02-06  Tim-Philipp Müller  <tim at centricular dot net>
9686
9687         * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
9688           Send EOS event when stopping.
9689
9690 2006-02-06  Tim-Philipp Müller  <tim at centricular dot net>
9691
9692         * docs/README:
9693           Tell folks what to do if the plugin-foobar.xml file
9694           hasn't been generated for a newly-added plugin.
9695
9696 2006-02-05  Julien MOUTTE  <julien@moutte.net>
9697
9698         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
9699         (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
9700         (gst_collect_pads_start), (gst_collect_pads_stop),
9701         (gst_collect_pads_event): Collectpads now holds a reference
9702         to the GstPad that was added. Indeed we don't want to look
9703         at pads that might just go away with no warning...
9704
9705 2006-02-05  Julien MOUTTE  <julien@moutte.net>
9706
9707         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
9708         (gst_collect_pads_start), (gst_collect_pads_stop),
9709         (gst_collect_pads_event), (gst_collect_pads_chain):
9710         * libs/gst/base/gstcollectpads.h: Handle flush. Adapted from
9711         Mark Nauwelaerts's patch on bug #328491.
9712
9713 2006-02-04  Tim-Philipp Müller  <tim at centricular dot net>
9714
9715         * tests/check/gst/gstutils.c: (test_parse_bin_from_description),
9716         (gst_utils_suite):
9717           Add some simple tests for gst_parse_bin_from_description() and
9718           gst_bin_find_unconnected_pad() (#329069).
9719
9720 2006-02-04  Tim-Philipp Müller  <tim at centricular dot net>
9721
9722         * tools/gst-launch.c: (event_loop), (main):
9723           Catch errors during preroll (#320084).
9724
9725 2006-02-03  Tim-Philipp Müller  <tim at centricular dot net>
9726
9727         * plugins/elements/gsttypefindelement.c:
9728         (gst_type_find_element_activate):
9729           Post TYPE_NOT_FOUND error message when typefinding
9730           is unsuccessful in the activate function as well.
9731
9732 2006-02-02  Wim Taymans  <wim@fluendo.com>
9733
9734         * docs/design/part-element-sink.txt:
9735         Updated doc.
9736
9737 2006-02-02  Wim Taymans  <wim@fluendo.com>
9738
9739         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync),
9740         (gst_base_sink_render_object),
9741         (gst_base_sink_queue_object_unlocked):
9742         Only keep track of prerollable items when we are 
9743         prerolling.
9744         Before rendering after preroll, always check if we
9745         have queued items.
9746         Added some more debugging.
9747
9748 2006-02-02  Wim Taymans  <wim@fluendo.com>
9749
9750         * gst/gstelement.c: (gst_element_continue_state),
9751         (gst_element_set_state_func), (gst_element_change_state):
9752         Fixed #326576, been running this for quite some time with
9753         no regressions at all.
9754
9755 2006-02-02  Wim Taymans  <wim@fluendo.com>
9756
9757         * common/gst.supp:
9758         Added more suppressions
9759
9760 2006-02-02  Wim Taymans  <wim@fluendo.com>
9761
9762         * docs/design/part-element-sink.txt:
9763         Updated document.
9764
9765         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
9766         (gst_base_sink_finalize), (gst_base_sink_preroll_queue_flush),
9767         (gst_base_sink_configure_segment), (gst_base_sink_commit_state),
9768         (gst_base_sink_get_sync_times), (gst_base_sink_wait_clock),
9769         (gst_base_sink_do_sync), (gst_base_sink_render_object),
9770         (gst_base_sink_preroll_object),
9771         (gst_base_sink_queue_object_unlocked),
9772         (gst_base_sink_queue_object), (gst_base_sink_event),
9773         (gst_base_sink_chain_unlocked), (gst_base_sink_chain),
9774         (gst_base_sink_loop), (gst_base_sink_activate_pull),
9775         (gst_base_sink_get_position), (gst_base_sink_change_state):
9776         * libs/gst/base/gstbasesink.h:
9777         Totally refactored matching the design doc.
9778         Use two segments, one to clip incomming buffers and another to
9779         perform sync.
9780         Handle queueing correctly, bypass the queue when playing.
9781         Make EOS cancelable.
9782         Handle errors correctly when operating in pull based mode.
9783
9784         * tests/check/elements/fakesink.c: (GST_START_TEST),
9785         (fakesink_suite):
9786         Added new check for sinks.
9787
9788 2006-02-02  Wim Taymans  <wim@fluendo.com>
9789
9790         * gst/gstsegment.c: (gst_segment_clip):
9791         No reason to refuse to clip when start == -1
9792
9793 2006-02-02  Stefan Kost  <ensonic@users.sf.net>
9794
9795         * docs/README:
9796         * docs/manual/intro-basics.xml:
9797         * docs/manual/intro-preface.xml:
9798         * docs/manual/manual.xml:
9799         * docs/pwg/advanced-dparams.xml:
9800         * docs/pwg/intro-basics.xml:
9801         * docs/pwg/intro-preface.xml:
9802         * docs/pwg/pwg.xml:
9803           describe dparams (controller) for plugins
9804           unify docs a little more
9805
9806 2006-02-02  Tim-Philipp Müller  <tim at centricular dot net>
9807
9808         * docs/gst/gstreamer-sections.txt:
9809         * gst/gstutils.c: (element_find_unconnected_pad),
9810         (gst_bin_find_unconnected_pad), (gst_parse_bin_from_description):
9811         * gst/gstutils.h:
9812           Add new API: gst_parse_bin_from_description() and
9813           gst_bin_find_unconnected_pad() (#329069).
9814
9815 2006-02-01  Stefan Kost  <ensonic@users.sf.net>
9816
9817         * docs/manual/README:
9818           uncover a nasty detail of the docs build
9819
9820 2006-01-31  Wim Taymans  <wim@fluendo.com>
9821
9822         * gst/gstbin.c: (bin_remove_messages), (bin_query_duration_done):
9823         Don't cache duration messages if we're not going to use or
9824         free them.
9825
9826 2006-01-31  Stefan Kost  <ensonic@users.sf.net>
9827
9828         * docs/manual/advanced-dparams.xml:
9829         * docs/pwg/advanced-dparams.xml:
9830           more dparam docs
9831         * gst/gstindex.c:
9832           fix docs
9833         * libs/gst/controller/lib.c: (gst_controller_init):
9834           init just once
9835
9836 2006-01-31  Thomas Vander Stichele  <thomas at apestaart dot org>
9837
9838         * gst/gstelement.c: (gst_element_message_full):
9839           also show file/line/func if no additional debug was given
9840
9841 2006-01-31  Sebastien Moutte  <sebastien@moutte.net>
9842         
9843         * win32/vs7/grammar.vcproj:
9844           activate copy of autogenerated files for Release mode
9845
9846 2006-01-30  Sebastien Moutte  <sebastien@moutte.net>
9847         
9848         * win32/common/libgstreamer.def:
9849           export gst_value_compare
9850
9851 2006-01-30  Jan Schmidt  <thaytan@mad.scientist.com>
9852
9853         * plugins/elements/Makefile.am:
9854         * plugins/elements/gstelements.c:
9855         * plugins/elements/gstfdsink.c: (_do_init),
9856         (gst_fd_sink_base_init), (gst_fd_sink_class_init),
9857         (gst_fd_sink_init), (gst_fd_sink_dispose), (gst_fd_sink_query),
9858         (gst_fd_sink_render), (gst_fd_sink_check_fd), (gst_fd_sink_start),
9859         (gst_fd_sink_stop), (gst_fd_sink_unlock), (gst_fd_sink_update_fd),
9860         (gst_fd_sink_set_property), (gst_fd_sink_uri_get_type),
9861         (gst_fd_sink_uri_get_protocols), (gst_fd_sink_uri_get_uri),
9862         (gst_fd_sink_uri_set_uri), (gst_fd_sink_uri_handler_init):
9863         * plugins/elements/gstfdsink.h:
9864         Port fdsink to 0.10 (patch by Philippe Rouquier) (Fixes #325490)
9865
9866 2006-01-30  Stefan Kost  <ensonic@users.sf.net>
9867
9868         * docs/manual/advanced-dparams.xml:
9869           describe controller
9870         * docs/manual/advanced-position.xml:
9871         * docs/manual/basics-init.xml:
9872         * docs/manual/manual.xml:
9873         * docs/manual/titlepage.xml:
9874         * docs/pwg/pwg.xml:
9875         * docs/pwg/titlepage.xml:
9876           cleanup xml (more to come)
9877         * libs/gst/controller/gstcontroller.c:
9878           fix typo
9879
9880 2006-01-30  Sebastien Moutte  <sebastien@moutte.net>
9881         
9882         * win32/vs6/grammar.dsp:
9883           add autogen of gstmarshal.c,h for Release mode
9884                 
9885 2006-01-30  Wim Taymans  <wim@fluendo.com>
9886
9887         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
9888         (gst_base_sink_preroll_queue_empty), (gst_base_sink_commit_state),
9889         (gst_base_sink_handle_object), (gst_base_sink_event),
9890         (gst_base_sink_is_prerolled), (gst_base_sink_wait),
9891         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
9892         (gst_base_sink_handle_buffer), (gst_base_sink_set_flushing),
9893         (gst_base_sink_deactivate), (gst_base_sink_activate),
9894         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
9895         (gst_base_sink_query), (gst_base_sink_change_state):
9896         Basesink cleanups, remove some old code.
9897         Handle the case where a subclass can preroll in the render
9898         method (mostly audiosinks).
9899         Handle more events.
9900         Remove some locks around variables that are now protected
9901         with the PREROLL_LOCK (clock_id, flushing, ..).
9902         Optimize position query some more, do correct locking.
9903         Remove old code to push queue in state change, this is not
9904         needed anymore since preroll blocks on all prerollable items 
9905         now.
9906         Almost implemented as described in design doc.
9907
9908 2006-01-30  Wim Taymans  <wim@fluendo.com>
9909
9910         * tests/check/gst/gstbin.c: (GST_START_TEST):
9911         Wait for refcount to settle down before checking.
9912
9913 2006-01-30  Wim Taymans  <wim@fluendo.com>
9914
9915         * docs/design/part-element-sink.txt:
9916         Pseudo code overview of desired sink behaviour regarding
9917         preroll.
9918
9919 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
9920         * win32/vs6/grammar.dsp:
9921           fix some bugs in Release mode for autogenerated files
9922                 
9923 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
9924         * win32/common/libgstbase.def:
9925         * win32/common/libgstreamer.def:
9926           export some new symbols: gst_base_src_set_format,
9927           gst_iterator_next, gst_structure_set_valist
9928
9929 2006-01-29  Julien MOUTTE  <julien@moutte.net>
9930
9931         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked):
9932         Set pad functions unconditionally. Fixes #329105.
9933
9934 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
9935         * win32/vs8:
9936           add vs8 project files created by Sergey Scobich
9937
9938 2006-01-28  Jan Schmidt  <thaytan@mad.scientist.com>
9939
9940         * gst/gstutils.c: (gst_element_unlink_pads):
9941         Don't leak pad references.
9942
9943         * tests/check/elements/fakesink.c: (GST_START_TEST):
9944         * tests/check/generic/sinks.c: (GST_START_TEST):
9945         * tests/check/generic/states.c: (GST_START_TEST):
9946         * tests/check/gst/gstbin.c: (GST_START_TEST):
9947         * tests/check/gst/gstcaps.c: (GST_START_TEST):
9948         * tests/check/gst/gstelement.c: (GST_START_TEST):
9949         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
9950         * tests/check/gst/gstiterator.c: (GST_START_TEST):
9951         * tests/check/gst/gstvalue.c: (GST_START_TEST):
9952         Fix a bunch of leaks. Make generic/sinks.c
9953         use a bit less cpu by slowing the buffer rate
9954         between fakesrc and fakesink.
9955         
9956 2006-01-27  Stefan Kost  <ensonic@users.sf.net>
9957         * gst/gstcaps.c:
9958         * gst/gstelement.c: (gst_element_send_event):
9959         * gst/gstevent.c:
9960         * gst/gstinfo.c:
9961         * gst/gstiterator.c:
9962         * gst/gstiterator.h:
9963         * gst/gstpad.c: (gst_pad_send_event):
9964         * gst/gststructure.c:
9965         * gst/gsturi.c:
9966         * gst/gstutils.c:
9967         * gst/gstvalue.c:
9968         * libs/gst/base/gstadapter.c:
9969           doc fixes, to link to function, just write gst_cool_function(), don't
9970           prefix with '#'
9971
9972 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
9973
9974         * plugins/elements/gsttee.c: (gst_tee_do_push),
9975         (gst_tee_handle_buffer):
9976         Always prefer an actual return value from a src
9977         pad in place of NOT_LINKED. This means we return
9978         WRONG_STATE when all src pads are WRONG_STATE
9979         instead of NOT_LINKED.
9980
9981         Lock when replacing the last message to prevent
9982         racing with the get_property method.
9983
9984         Add debug output
9985
9986 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
9987
9988         * tests/check/Makefile.am:
9989         * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite),
9990         (main):
9991         Add a very simple check that should have caught the memleak I fixed
9992         last night (if not for the slice allocator hiding it)
9993
9994 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
9995
9996         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
9997         (gst_bin_remove_func), (gst_bin_handle_message_func),
9998         (bin_query_duration_fold), (bin_query_generic_fold):
9999         Clean up references to the clock provider when disposed or when
10000         handling a clock-lost message from it.
10001
10002         Unref sinks when performing a query via gst_iterator_fold, as the
10003         gst_bin_iterate_sinks iterator refs each item. (Fixes #323874)
10004
10005         * gst/gstclock.c: (gst_clock_class_init), (gst_clock_dispose),
10006         (gst_clock_set_master):
10007         Drop our reference to the master clock, if any, when we are disposed.
10008
10009         * gst/gsttypefindfactory.c: (gst_type_find_factory_dispose):
10010         Chain up in dispose. 
10011
10012 2006-01-26  Wim Taymans  <wim@fluendo.com>
10013
10014         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
10015         Add some debugging.
10016
10017 2006-01-26  Julien MOUTTE  <julien@moutte.net>
10018
10019         * plugins/elements/gsttee.c: (gst_tee_do_push),
10020         (gst_tee_handle_buffer): Apply patch from #328715. Tee now
10021         handles pad being NOT_LINKED or in WRONG_STATE.
10022
10023 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
10024
10025         * win32/MANIFEST:
10026           more updating
10027
10028 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
10029
10030         * win32/MANIFEST:
10031           remove obsolete entry
10032
10033 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
10034
10035         * docs/gst/gstreamer-sections.txt:
10036         * gst/gstbin.c: (bin_element_is_src), (src_iterator_filter),
10037         (gst_bin_iterate_sources), (gst_bin_send_event):
10038         * gst/gstbin.h:
10039         * gst/gstelement.c: (gst_element_send_event):
10040         * gst/gstevent.c:
10041         * gst/gstpad.c: (gst_pad_send_event):
10042           added code for downstream events, reviewed docs in gstevent.c
10043
10044 2006-01-25  Julien MOUTTE  <julien@moutte.net>
10045
10046         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
10047         We only query position using the clock in the playing state.
10048         Query peer in the other cases.
10049         * win32/common/config.h: Updates.
10050
10051 2006-01-24  Wim Taymans  <wim@fluendo.com>
10052
10053         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
10054         A clock entry that is scheduled for the exact time of the
10055         clock is still in time.
10056
10057         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
10058         (gst_base_sink_do_sync):
10059         Add some more debug info.
10060
10061 2006-01-23  Sebastien Moutte  <sebastien@moutte.net>
10062
10063         * win32/vs7:
10064           Add new vs7 project files and solution.
10065
10066 2006-01-23  Sebastien Moutte  <sebastien@moutte.net>
10067
10068         * win32/vs7:
10069           all files removed as they were out-dated.
10070
10071 2006-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
10072
10073         * docs/random/release:
10074           update notes
10075         * gst/gstbin.c: (gst_bin_init):
10076         * gst/gstbus.c: (gst_bus_new):
10077         * gst/gstbus.h:
10078         * gst/gstpipeline.c: (gst_pipeline_init):
10079           use gst_bus_new(), improve logging, fix docs
10080         * win32/common/config.h:
10081           update for cvs build
10082
10083 2006-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
10084
10085         * autogen.sh:
10086           up required version of automake to 1.7
10087
10088 2006-01-20  Sebastien Moutte  <sebastien@moutte.net>
10089
10090         * win32/common/libgstreamer.def:
10091           export gst_buffer_is_metadata_writable
10092
10093 2006-01-20  Tim-Philipp Müller  <tim at centricular dot net>
10094
10095         * docs/gst/gstreamer-sections.txt:
10096         * gst/gstevent.h:
10097           Add gst_event_replace() (#327001)
10098
10099 2006-01-20  Wim Taymans  <wim@fluendo.com>
10100
10101         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
10102         Make it actually compile too..
10103
10104 2006-01-20  Wim Taymans  <wim@fluendo.com>
10105
10106         * gst/gstcaps.c:
10107         Clarify behaviour of _is_equal() when passing NULL parameters.
10108
10109         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
10110         (gst_pad_set_caps):
10111         Cleanups. Don't unref NULL caps.
10112         When setting the same caps, protect caps of the pad with
10113         proper lock.
10114         Use full functionality of _is_equal() when comparing caps.
10115
10116 2006-01-20  Jan Schmidt  <thaytan@mad.scientist.com>
10117
10118         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
10119         Don't loop infinitely if there are no buffers to present. Partially
10120         fixes #327197, but collectpads is just broken for reusing elements
10121         to do multiple encodes atm.
10122
10123 2006-01-20  Jan Schmidt  <thaytan@mad.scientist.com>
10124
10125         * tools/gst-inspect.c: (print_element_features):
10126         * tools/gst-xmlinspect.c: (main):
10127         URL_HANDLER is not a plugin feature we can search for in
10128         the registry.
10129
10130 2006-01-19  Edward Hervey  <edward@fluendo.com>
10131
10132         * gst/gstelement.c: (gst_element_pads_activate): 
10133         When activating, do src pads first, then sink pads.
10134         When de-activating, do sink pads first, then src pads.
10135
10136 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
10137
10138         * docs/gst/gstreamer-sections.txt:
10139         Add gst_index_add_associationv to the docs
10140
10141 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
10142
10143         * gst/gstevent.c:
10144           Fix docs typo
10145
10146         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event),
10147         (gst_queue_chain), (gst_queue_push_one), (gst_queue_loop):
10148           Do some refactoring. Doesn't actually change functionality,
10149           but makes landing the DRAIN event easier later.
10150
10151 2006-01-19  Tim-Philipp Müller  <tim at centricular dot net>
10152
10153         * docs/pwg/advanced-scheduling.xml:
10154           Update from 0.9.x to 0.10 API and make example a bit
10155           clearer.
10156
10157 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
10158
10159         * docs/gst/gstreamer-sections.txt:
10160         Add gst_buffer_(is|make)_metadata_writable methods.
10161
10162 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
10163
10164         * docs/design/part-sparsestreams.txt:
10165         Update sparse streams doc, hopefully for greater clarity
10166
10167 2006-01-18  Jan Schmidt  <thaytan@mad.scientist.com>
10168
10169         * docs/design/part-events.txt:
10170         Remove mention of FILLER events.
10171         Add DRAIN event.
10172
10173         * docs/design/part-sparsestreams.txt:
10174         Write some things about using NEWSEGMENT to keep sparse streams
10175         flowing.
10176
10177 2006-01-18  Tim-Philipp Müller  <tim at centricular dot net>
10178
10179         * gst/gstbin.c: (gst_bin_dispose):
10180           Guard gst_object_unref call against a NULL object (dispose
10181           can theoretically be called multiple times).
10182           
10183 2006-01-18  Wim Taymans  <wim@fluendo.com>
10184
10185         * gst/gstbin.c: (gst_bin_element_set_state):
10186         * gst/gstclock.c: (gst_clock_id_wait):
10187         Added some more debug info.
10188
10189         * libs/gst/base/gstadapter.c:
10190         Added more docs.
10191
10192         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
10193         (gst_base_sink_do_sync), (gst_base_sink_chain):
10194         Added some comments.
10195
10196 2006-01-18  Wim Taymans  <wim@fluendo.com>
10197
10198         * tests/check/Makefile.am:
10199         * tests/check/elements/fakesink.c: (chain_async_buffer),
10200         (chain_async), (chain_async_return), (GST_START_TEST),
10201         (fakesink_suite), (main):
10202         Added fakesink test that checks prerolling and clipping
10203         behaviour.
10204
10205         * tests/check/gst/gstutils.c: (GST_START_TEST):
10206         Make check run faster so that buildbots don't timeout.
10207
10208 2006-01-18  Wim Taymans  <wim@fluendo.com>
10209
10210         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
10211         (gst_base_sink_do_sync):
10212         Some cleanups.
10213         When the sink finishes blocking on the preroll buffer, it can
10214         immediatly render it instead of rendering when the next buffer
10215         arrives.
10216
10217 2006-01-18  Wim Taymans  <wim@fluendo.com>
10218
10219         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_property),
10220         (gst_base_sink_get_property), (gst_base_sink_do_sync),
10221         (gst_base_sink_chain):
10222         Small cleanups.
10223         GST_ELEMENT_CLOCK and sync are protected with LOCK.
10224         Don't store _last_stop if the buffer is dropped.
10225
10226 2006-01-18  Tim-Philipp Müller  <tim at centricular dot net>
10227
10228         * plugins/elements/gsttypefindelement.c:
10229         (gst_type_find_element_class_init):
10230           'have-type' signal needs to be G_SIGNAL_RUN_FIRST, as it is the
10231           object method handler that sets the caps on the pad and we want
10232           that to happen before we emit the signal (fixes e.g. feeding a
10233           plain text file to decodebin).
10234
10235 2006-01-18  Christian Schaller  <Christian@fluendo.com>
10236
10237         * gst/gstplugin.c: Add MPL and Proprietary as license options
10238
10239 2006-01-18  Andy Wingo  <wingo@pobox.com>
10240
10241         * gst/gstindex.h (gst_index_add_associationv): Add to header. The
10242         symbol was exported before, it appears this was just an oversight.
10243         Fixes #168703.
10244         Patch by: Torsten Schoenfeld <kaffeetisch at gmx.de>
10245
10246         * gst/gstindex.c (gst_index_add_associationv): Changed int in
10247         prototype to gint. OK since this prototype was not in the header.
10248
10249 2006-01-17  Andy Wingo  <wingo@pobox.com>
10250
10251         * gst/gstregistry.c (_gst_registry_remove_cache_plugins): Lock the
10252         registry while we remove plugins.
10253
10254         * tools/gst-inspect.c (print_element_info): Don't unref the
10255         factory arg, that should be the responsibility of whatever code
10256         received the ref. Fixes a double-free when called from
10257         print_element_list via gst-inspect-0.10 -a. Fixes #327324.
10258         (main): Unref the factory if we have one.
10259         (print_element_list): No change -- relies on the
10260         plugin_feature_list_free to free the list of features.
10261
10262 2006-01-17  Jan Schmidt  <thaytan@mad.scientist.com>
10263
10264         * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
10265         (gst_buffer_make_metadata_writable):
10266         * gst/gstbuffer.h:
10267         * libs/gst/base/gstbasetransform.c:
10268         (gst_base_transform_prepare_output_buf):
10269         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
10270         * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
10271           Replace gst_buffer_(make|is)_metadata_writable patch now
10272           that the release is out.
10273
10274 2006-01-17  Andy Wingo  <wingo@pobox.com>
10275
10276         * gst/gstregistry.c: Reflow design comment. Update so as to speak
10277         in the present tense without reference to versions.
10278
10279         * gst/gstregistry.c (gst_registry_add_plugin)
10280         (gst_registry_remove_plugin, gst_registry_remove_feature)
10281         (gst_registry_find_feature, gst_registry_get_feature_list)
10282         (gst_registry_get_plugin_list, gst_registry_lookup_feature)
10283         (gst_registry_lookup, gst_registry_scan_path)
10284         (_gst_registry_remove_cache_plugins)
10285         (gst_registry_get_feature_list_by_plugin): Add argument
10286         validation.
10287
10288 === release 0.10.2 ===
10289
10290 2006-01-16  Thomas Vander Stichele <thomas at apestaart dot org>
10291
10292         * configure.ac:
10293           releasing 0.10.2, "If man is five"
10294
10295 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
10296
10297         * gst/gstbuffer.c:
10298         * gst/gstbuffer.h:
10299         * libs/gst/base/gstbasetransform.c:
10300         (gst_base_transform_prepare_output_buf):
10301         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
10302         * tests/check/gst/gstbuffer.c: (gst_test_suite):
10303           Back out patch until after the release.
10304
10305 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
10306
10307         * gst/gstminiobject.c:
10308           Spelling fix in docs.
10309         * ChangeLog - remove conflict indicator
10310
10311 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
10312
10313         Reviewed By: Andy Wingo
10314
10315         * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
10316         (gst_buffer_make_metadata_writable):
10317         * gst/gstbuffer.h:
10318           Add gst_buffer_(is|make)_metadata_writable as analogues of
10319           gst_buffer_(is|make)_writable.
10320
10321         * libs/gst/base/gstbasetransform.c:
10322         (gst_base_transform_prepare_output_buf):
10323         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
10324           Use name gst_buffer_(is|make)_metadata_writable functions.
10325
10326         * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
10327           Test gst_buffer_(is|make)_metadata_writable
10328         
10329           (Closes: #324162)
10330
10331 2006-01-14  Thomas Vander Stichele  <thomas at apestaart dot org>
10332
10333         * docs/manual/Makefile.am:
10334           don't do parallel make
10335         * configure.ac:
10336           AC_SUBST HOST_CPU
10337         * win32/common/config.h.in:
10338           add generations for HOST_CPU and GST_MAJORMINOR
10339         * win32/common/config.h:
10340           commit generated result
10341
10342 2006-01-13  Tim-Philipp Müller  <tim at centricular dot net>
10343
10344         * docs/manual/appendix-integration.xml:
10345           Update GNOME integration section to use gst_init_get_option_group()
10346           instead of the old popt stuff (#322911). Also, GNOME applications
10347           should  now use gconf*sink and gconf*src instead of the old gconf
10348           helper lib we had.
10349
10350 2006-01-13  Stefan Kost  <ensonic@users.sf.net>
10351
10352
10353         * docs/gst/gstreamer-docs.sgml:
10354         * docs/gst/gstreamer-sections.txt:
10355         * docs/libs/gstreamer-libs-sections.txt:
10356           add new API entries to the docs
10357         * libs/gst/controller/Makefile.am:
10358         * libs/gst/controller/gstcontroller.c:
10359         * libs/gst/controller/gstcontroller.h:
10360         * libs/gst/controller/gstcontrollerprivate.h:
10361         * libs/gst/controller/gsthelper.c:
10362         * libs/gst/controller/gstinterpolation.c:
10363           move private structs to private header
10364         * po/README:
10365           gstreamer-0.7 -> gstreamer-0.10
10366         * tests/check/libs/struct_i386.h:
10367           remove private structs
10368
10369 2006-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
10370
10371         * plugins/indexers/Makefile.am:
10372           Fixes as part of #317048
10373
10374 2006-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
10375
10376         * plugins/indexers/Makefile.am:
10377           fix #316086 - compilation when mmap is missing
10378
10379 2006-01-12  Sebastien Moutte  <sebastien@moutte.net>
10380
10381         * libs/gst/base/gstbasesink.c:
10382           *cur = (now - base) * basesink->segment.abs_rate + time; replaced by 
10383           *cur = gst_guint64_to_gdouble(now - base) * basesink->segment.abs_rate + time; for vs6
10384         * win32/common/config.h:
10385           added some defines GST_MAJORMINOR and HOST_CPU
10386         * win32/common/libgstbase.def:
10387         * win32/common/libgstreamer.def:
10388           added some exported functions.
10389
10390 2006-01-12  Stefan Kost  <ensonic@users.sf.net>
10391
10392         * libs/gst/controller/gstcontroller.c:
10393         (gst_controlled_property_set_interpolation_mode),
10394         (gst_controlled_property_new):
10395         * libs/gst/controller/gstcontroller.h:
10396         * libs/gst/controller/gstinterpolation.c:
10397         (interpolate_none_get_string_value_array):
10398           make G_TYPE_STRING controlable
10399
10400 2006-01-12  Stefan Kost  <ensonic@users.sf.net>
10401
10402         * tools/README:
10403         * tools/gst-feedback.1.in:
10404         * tools/gst-inspect.1.in:
10405         * tools/gst-launch.1.in:
10406         * tools/gst-md5sum.1.in:
10407         * tools/gst-typefind.1.in:
10408         * tools/gst-xmlinspect.1.in:
10409         * tools/gst-xmllaunch.1.in:
10410           cleanup man-pages, remove reference to gst-register, document env-vars
10411
10412 2006-01-12  Jan Schmidt  <thaytan@mad.scientist.com>
10413
10414         * gst/gstbuffer.c: (gst_buffer_span):
10415           gst_buffer_span should copy the timestamp of the first buffer
10416           if they were both originally overlapping subbuffers of the 
10417           same parent, using the same logic as the 'slow copy' case.
10418
10419 2006-01-11  Jan Schmidt  <thaytan@mad.scientist.com>
10420
10421         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop):
10422           Need to awaken ALL the pads when we pop a buffer, otherwise
10423           collectpads only works when there is 2 input streams.
10424
10425 2006-01-11  Stefan Kost  <ensonic@users.sf.net>
10426
10427         * docs/random/ensonic/media-device-daemon.txt:
10428           more ideas (dbus)
10429         * gst/gstbuffer.c:
10430           fix doc example, add clarification
10431         * tools/gst-launch.1.in:
10432           add initial info about GST_PLUGIN_PATH, needs more work
10433
10434 2006-01-11  Tim-Philipp Müller  <tim at centricular dot net>
10435
10436         * docs/manual/basics-bins.xml:
10437         * docs/manual/basics-elements.xml:
10438         * docs/manual/intro-basics.xml:
10439           Some more minor docs additions and updates.
10440
10441 2006-01-11  Wim Taymans  <wim@fluendo.com>
10442
10443         * docs/manual/basics-bins.xml:
10444         * docs/manual/basics-elements.xml:
10445         Some small fixes as pointed out by Ser-ver on IRC.
10446
10447 2006-01-10  Edward Hervey  <edward@fluendo.com>
10448
10449         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
10450         Set the buffer offset/offset_end to GST_CLOCK_TIME_NONE when using
10451         the single-segment mode.
10452
10453 2006-01-10  Brian Cameron  <brian dot cameron at sun dot com>
10454
10455         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
10456
10457         * libs/gst/base/gstbasesrc.c: (gst_base_src_init),
10458         (gst_base_src_perform_seek), (gst_base_src_send_event),
10459         (gst_base_src_set_property), (gst_base_src_get_property),
10460         (gst_base_src_loop), (gst_base_src_start),
10461         (gst_base_src_activate_push):
10462         * libs/gst/base/gstbasesrc.h:
10463           Name (private) union; makes Sun's Forte compiler happy (#324900).
10464
10465 2006-01-09  Tim-Philipp Müller  <tim at centricular dot net>
10466
10467         * README:
10468           gst-register is gone.
10469
10470 2006-01-07  Thomas Vander Stichele  <thomas at apestaart dot org>
10471
10472         * gst/gstvalue.c: (_gst_value_initialize):
10473           make the G_TYPE_DATE instantiation work if debug is disabled
10474
10475 2006-01-06  Tim-Philipp Müller  <tim at centricular dot net>
10476
10477         * gst/gstmessage.c: (gst_message_parse_tag),
10478         (gst_message_parse_error), (gst_message_parse_warning):
10479           Don't crash when return location for error/warning debug
10480           string is NULL; add fact that return locations can be
10481           NULL to docs where appropriate.
10482
10483 2006-01-05  Wim Taymans  <wim@fluendo.com>
10484
10485         * gst/gstplugin.c: (gst_plugin_load_file):
10486         Replace strdup by g_strdup.
10487
10488 2006-01-05  Thomas Vander Stichele  <thomas at apestaart dot org>
10489
10490         * docs/pwg/advanced-types.xml:
10491           fix doc borkage
10492
10493 2006-01-05  Thomas Vander Stichele  <thomas at apestaart dot org>
10494
10495         submitted by: Abel Cheung
10496
10497         * po/LINGUAS:
10498         * po/zh_TW.po:
10499           Added Chinese (traditional) translation
10500
10501 2006-01-04  Wim Taymans  <wim@fluendo.com>
10502
10503         * docs/manual/basics-pads.xml:
10504         * docs/plugins/Makefile.am:
10505         * docs/plugins/gstreamer-plugins-docs.sgml:
10506         * docs/plugins/gstreamer-plugins-sections.txt:
10507         * docs/pwg/advanced-clock.xml:
10508         * docs/pwg/advanced-scheduling.xml:
10509         * docs/pwg/advanced-types.xml:
10510         * plugins/elements/gstfdsink.c:
10511         * plugins/elements/gstfdsrc.c:
10512         * plugins/elements/gstfdsrc.h:
10513         * plugins/elements/gstidentity.c: (gst_identity_class_init):
10514         * plugins/elements/gstidentity.h:
10515         * plugins/elements/gstqueue.h:
10516         * plugins/elements/gsttee.c:
10517         * plugins/elements/gsttee.h:
10518         * plugins/elements/gsttypefindelement.c:
10519         (gst_type_find_element_class_init):
10520         * plugins/elements/gsttypefindelement.h:
10521         Small updates to various docs.
10522         Added core plugins to docs.
10523
10524 2006-01-03  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
10525
10526         * common/gst.supp:
10527           add a suppression for liboil's uninitialized variable
10528
10529 2006-01-02  James Livingston  <jrl at ids dot org dot au>
10530
10531         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
10532
10533         * gst/gstutils.h:
10534           Add prototype for _get_type() function to GST_BOILERPLATE_FULL
10535           macro, so that gcc doesn't complain if the -Wmissing-prototypes
10536           compiler switch is being used (#325429).
10537
10538 2005-12-29  Tim-Philipp Müller  <tim at centricular dot net>
10539
10540         * gst/gstbin.c: (gst_bin_query):
10541           Disable duration query caching in bins until it gets
10542           fixed (see #324807).
10543
10544 2005-12-27  Tim-Philipp Müller  <tim at centricular dot net>
10545
10546         * tools/gst-inspect.c: (print_element_properties_info):
10547           Handle properties of POINTER and BOXED type.
10548
10549 2005-12-27  Tim-Philipp Müller  <tim at centricular dot net>
10550
10551         * gst/gst.c: (init_post):
10552           Init tags stuff and some other things before loading
10553           any static plugins (there may be other static plugins
10554           than just the GStreamer ones, and they may want to
10555           register their own tags or formats or whatever, and
10556           preferably without segfaulting).
10557
10558         * plugins/elements/gstqueue.c: (gst_queue_handle_src_query):
10559           Print at least a warning in the debug logs if we drop a
10560           query just because we don't know how to adjust the value
10561           in the particular format.
10562
10563 2005-12-24  David Schleef  <ds@schleef.org>
10564
10565         * tools/gstreamer-completion:
10566           Replacement for gst-complete written in sh and sed.  Only
10567           completes names of features, but that's 90% of what I want
10568           it for.  Properties are not available in registry.xml.  (Maybe
10569           they should be...)
10570
10571 === release 0.10.1 ===
10572
10573 2005-12-23  Thomas Vander Stichele <thomas at apestaart dot org>
10574
10575         * configure.ac:
10576           releasing 0.10.1, "Nollaig chridheil"
10577
10578 2005-12-22  Tim-Philipp Müller  <tim at centricular dot net>
10579
10580         * docs/faq/cvs.xml:
10581           Add missing quote, should be make ERROR_CFLAGS="".
10582
10583 2005-12-20  Wim Taymans  <wim@fluendo.com>
10584
10585         * docs/design/part-trickmodes.txt:
10586         More documentation on trickmodes.
10587
10588 2005-12-20  Edward Hervey  <edward@fluendo.com>
10589
10590         * gst/gstcaps.c: (gst_static_caps_get_type):
10591         * gst/gstcaps.h:
10592           API addition: GST_TYPE_STATIC_CAPS
10593         Added gpointer GType for GstStaticCaps so we can wrap them in bindings.
10594         * gst/gstpadtemplate.c: (gst_static_pad_template_get_type):
10595         * gst/gstpadtemplate.h:
10596           API addition: GST_TYPE_STATIC_PAD_TEMPLATE
10597         Added gpointer GType for GstStaticPadTemplate so we can wrap them in
10598         bindings.
10599
10600 2005-12-18  Wim Taymans  <wim@fluendo.com>
10601
10602         * libs/gst/base/gstadapter.c:
10603         * libs/gst/base/gstadapter.h:
10604         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
10605         (gst_base_sink_get_position):
10606         * libs/gst/base/gstbasesink.h:
10607         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
10608         (gst_base_src_default_query), (gst_base_src_default_do_seek),
10609         (gst_base_src_do_seek), (gst_base_src_perform_seek),
10610         (gst_base_src_send_event), (gst_base_src_update_length),
10611         (gst_base_src_get_range), (gst_base_src_loop),
10612         (gst_base_src_start):
10613         * libs/gst/base/gstbasesrc.h:
10614         * libs/gst/base/gstbasetransform.h:
10615         * libs/gst/base/gstcollectpads.h:
10616         * libs/gst/base/gstpushsrc.c:
10617         * libs/gst/base/gstpushsrc.h:
10618         * libs/gst/dataprotocol/dataprotocol.c:
10619         * libs/gst/dataprotocol/dataprotocol.h:
10620         * libs/gst/net/gstnetclientclock.h:
10621         * libs/gst/net/gstnettimeprovider.h:
10622         Documentation updates.
10623
10624 2005-12-18  Tim-Philipp Müller  <tim at centricular dot net>
10625
10626         * docs/manual/basics-helloworld.xml:
10627           Remove superfluous closing bracket in helloworld example.
10628
10629 2005-12-17  Tim-Philipp Müller  <tim at centricular dot net>
10630
10631         * tools/gst-launch.1.in:
10632           Update gst-launch man page; add a section with useful
10633           environment variables. Fixes #323882.
10634
10635 2005-12-16  Stefan Kost  <ensonic@users.sf.net>
10636
10637         * gst/gst.c:
10638         * gst/gst_private.h:
10639           change some char* into char[]
10640
10641 2005-12-16  Wim Taymans  <wim@fluendo.com>
10642
10643         * gst/gstregistryxml.c: (load_feature):
10644         Cleanups.
10645         Don't use g_object_unref on GstObjects so that we avoid
10646         leaks on unsafe glibs.
10647
10648 2005-12-16  Wim Taymans  <wim@fluendo.com>
10649
10650         * gst/gstbin.c: (gst_bin_recalc_state):
10651         Small doc updates.
10652
10653 2005-12-16  Wim Taymans  <wim@fluendo.com>
10654
10655         * common/check.mak:
10656         Added make forever target for check.
10657
10658 2005-12-16  Thomas Vander Stichele  <thomas at apestaart dot org>
10659
10660         * gst/gst.c: (init_post):
10661           make the registry cache file HOST_CPU-dependent
10662
10663 2005-12-16  Andy Wingo  <wingo@pobox.com>
10664
10665         * plugins/elements/gstbufferstore.c
10666         (gst_buffer_store_cleared_func): Pay attention to g_list_append
10667         return value.
10668
10669         * tests/check/gst/gstobject.c
10670         (test_fake_object_name_threaded_unique): Pay attention to
10671         g_list_sort return value.
10672
10673 2005-12-16  Tim-Philipp Müller  <tim at centricular dot net>
10674
10675         * tools/gst-feedback-m.m:
10676           Update for 0.9/0.10 (fixes #323870).
10677
10678 2005-12-15  Tim-Philipp Müller  <tim at centricular dot net>
10679
10680         * gst/gstminiobject.c: (gst_value_mini_object_lcopy):
10681           Fix lcopy for mini objects, the mini object needs to be ref'ed.
10682           
10683         * tests/check/gst/gstminiobject.c: (my_foo_init),
10684         (my_foo_get_property), (my_foo_set_property), (my_foo_class_init),
10685         (test_value_collection), (gst_mini_object_suite):
10686           Add test to ensure refcounts end up as expected when passing
10687           GstMiniObjects through g_object_get() and g_object_set().
10688
10689 2005-12-14  Julien MOUTTE  <julien@moutte.net>
10690
10691         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
10692         (gst_collect_pads_remove_pad), (gst_collect_pads_is_collected),
10693         (gst_collect_pads_event), (gst_collect_pads_chain): Refactoring
10694         of collectpads. This version removes a lot of races without
10695         touching API/ABI. Yay !
10696
10697 2005-12-14  Jan Schmidt  <thaytan@mad.scientist.com>
10698
10699         * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_link_prepare):
10700           Don't allow activation of a srcpad in pull_range if it has no
10701           getrange function.
10702           Change some debug statements to be a little clearer
10703
10704         * plugins/elements/gsttypefindelement.c:
10705         (gst_type_find_handle_src_query):
10706           Check that we have a peer before executing queries thereupon.
10707
10708         * tests/examples/metadata/read-metadata.c: (message_loop):
10709           Use gst_bus_pop instead of gst_bus_poll when we just want it to
10710           immediately return us any available message with 0 timeout.
10711
10712 2005-12-12  Michael Smith  <msmith@fluendo.com>
10713
10714         * gst/gsttypefindfactory.c: (gst_type_find_factory_call_function):
10715           Don't unref factories after calling them.
10716         * libs/gst/base/gsttypefindhelper.c: (gst_type_find_helper):
10717         * plugins/elements/gsttypefindelement.c:
10718         (gst_type_find_element_chain):
10719           Free lists of factories after using them. Fixing typefinding memory
10720           leaks.
10721
10722 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
10723
10724         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
10725         (gst_plugin_feature_load):
10726           more meaningful debug output
10727         * configure.ac:
10728         * tests/Makefile.am:
10729         * tests/old/examples/Makefile.am:
10730           make make distcheck happy again
10731
10732 2005-12-12  Tim-Philipp Müller  <tim at centricular dot net>
10733
10734         * plugins/elements/gsttypefindelement.c: (stop_typefinding):
10735           Catch the special case where we are operating chain-based,
10736           but the downstream peer pad has no chain function. Emit a
10737           custom error message in this case instead of letting the
10738           core generate one implying that this is some sort of core
10739           bug. It's not, it just means that whatever got plugged
10740           into the pipeline downstream when we announced the type
10741           can only operate pull-based, while our source can only
10742           operate push-based (e.g. http://foo/bar.mov ! qtdemux ! ...)
10743           Error string has not been marked for translation yet, as
10744           it probably needs some more work first.
10745
10746         (gst_type_find_element_get_best_possibility):
10747           Add helper function to find the best of all available
10748           found possibilities that qualify given the min. threshold.
10749
10750         (gst_type_find_element_handle_event):
10751           Fix the case where we get an EOS while still in TYPEFIND
10752           mode (we want to chose the best of all possible types,
10753           not just the first type that happens to be in our unsorted
10754           list of possible types).
10755
10756         (gst_type_find_element_chain):
10757           Make sure we return GST_FLOW_ERROR when we errored out
10758           in stop_typefinding(); also, don't just find the best of
10759           all found type entries and then use the last examined
10760           type entry, but actually use the best entry.
10761
10762 2005-12-12  Tim-Philipp Müller  <tim at centricular dot net>
10763
10764         * tests/examples/typefind/typefind.c: (type_found):
10765         * tests/examples/xml/runxml.c: (xml_loaded):
10766           More gcc4 fixes and a mem leak fix.
10767
10768 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
10769
10770         * tests/examples/xml/createxml.c: (object_saved):
10771           gcc 4 fixes
10772
10773 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
10774
10775         * tests/Makefile.am:
10776           enable the examples even more
10777
10778 2005-12-12  Andy Wingo  <wingo@pobox.com>
10779
10780         * libs/gst/net/gstnettimeprovider.c
10781         (gst_net_time_provider_class_init, gst_net_time_provider_init)
10782         (gst_net_time_provider_set_property)
10783         (gst_net_time_provider_get_property):
10784         API addition: Export "active" as a GObject property.
10785         (gst_net_time_provider_thread): Only respond to time queries if
10786         the time provider is active.
10787
10788         * libs/gst/net/gstnettimeprovider.h: Add an "active" boolean to
10789         NetTimeProvider, preserving binary compat.
10790
10791 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
10792
10793         * tests/examples/controller/audio-example.c: (main):
10794         * tests/examples/launch/Makefile.am:
10795           convert comments again
10796
10797 2005-12-12  Wim Taymans  <wim@fluendo.com>
10798
10799         * libs/gst/base/gstpushsrc.c:
10800         Fix typo.
10801
10802 2005-12-12  Wim Taymans  <wim@fluendo.com>
10803
10804         * docs/libs/gstreamer-libs-sections.txt:
10805         Added new symbol to docs.
10806
10807         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
10808         (gst_base_src_init), (gst_base_src_set_format),
10809         (gst_base_src_default_query), (gst_base_src_query),
10810         (gst_base_src_default_do_seek), (gst_base_src_do_seek),
10811         (gst_base_src_perform_seek), (gst_base_src_send_event),
10812         (gst_base_src_default_event), (gst_base_src_event_handler),
10813         (gst_base_src_set_property), (gst_base_src_get_property),
10814         (gst_base_src_wait), (gst_base_src_do_sync),
10815         (gst_base_src_update_length), (gst_base_src_get_range),
10816         (gst_base_src_check_get_range), (gst_base_src_loop),
10817         (gst_base_src_default_negotiate), (gst_base_src_start),
10818         (gst_base_src_activate_push), (gst_base_src_activate_pull),
10819         (gst_base_src_change_state):
10820         * libs/gst/base/gstbasesrc.h:
10821         Implement seeking to other formats than _BYTES.
10822         Implement more seeking methods correctly.
10823         Doc updates.
10824         Added query vmethod.
10825         Added do_seek vmethod to make life easier for subclasses
10826         when seeking.
10827         API addition: gst_base_src_set_format()
10828
10829 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
10830
10831         * tests/examples/Makefile.am:
10832           added that too
10833
10834 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
10835
10836         * configure.ac:
10837         * docs/random/ensonic/media-device-daemon.txt:
10838         * tests/examples/controller/.cvsignore:
10839         * tests/examples/controller/Makefile.am:
10840         * tests/examples/controller/audio-example.c: (main):
10841         * tests/examples/helloworld/.cvsignore:
10842         * tests/examples/helloworld/Makefile.am:
10843         * tests/examples/helloworld/helloworld.c: (event_loop), (main):
10844         * tests/examples/launch/.cvsignore:
10845         * tests/examples/launch/Makefile.am:
10846         * tests/examples/launch/mp3parselaunch.c: (event_loop), (main):
10847         * tests/examples/metadata/.cvsignore:
10848         * tests/examples/metadata/Makefile.am:
10849         * tests/examples/metadata/read-metadata.c: (message_loop),
10850         (make_pipeline), (print_tag), (main):
10851         * tests/examples/queue/.cvsignore:
10852         * tests/examples/queue/Makefile.am:
10853         * tests/examples/queue/queue.c: (event_loop), (main):
10854         * tests/examples/typefind/.cvsignore:
10855         * tests/examples/typefind/Makefile.am:
10856         * tests/examples/typefind/typefind.c: (type_found), (event_loop),
10857         (main):
10858         * tests/examples/xml/.cvsignore:
10859         * tests/examples/xml/Makefile.am:
10860         * tests/examples/xml/createxml.c: (object_saved), (main):
10861         * tests/examples/xml/runxml.c: (xml_loaded), (event_loop), (main):
10862         * tests/old/examples/Makefile.am:
10863         * tests/old/examples/TODO:
10864         * tests/old/examples/controller/.cvsignore:
10865         * tests/old/examples/controller/Makefile.am:
10866         * tests/old/examples/controller/audio-example.c:
10867         * tests/old/examples/helloworld/.cvsignore:
10868         * tests/old/examples/helloworld/Makefile.am:
10869         * tests/old/examples/helloworld/helloworld.c:
10870         * tests/old/examples/launch/.cvsignore:
10871         * tests/old/examples/launch/Makefile.am:
10872         * tests/old/examples/launch/mp3parselaunch.c:
10873         * tests/old/examples/launch/mp3play:
10874         * tests/old/examples/manual/Makefile.am:
10875         * tests/old/examples/metadata/Makefile.am:
10876         * tests/old/examples/metadata/read-metadata.c:
10877         * tests/old/examples/queue/.cvsignore:
10878         * tests/old/examples/queue/Makefile.am:
10879         * tests/old/examples/queue/queue.c:
10880         * tests/old/examples/typefind/.cvsignore:
10881         * tests/old/examples/typefind/Makefile.am:
10882         * tests/old/examples/typefind/typefind.c:
10883         * tests/old/examples/xml/.cvsignore:
10884         * tests/old/examples/xml/Makefile.am:
10885         * tests/old/examples/xml/createxml.c:
10886         * tests/old/examples/xml/runxml.c:
10887           applied some simple fixing to some examples
10888           re-enabled the working examples
10889
10890 2005-12-12  Wim Taymans  <wim@fluendo.com>
10891
10892         * gst/gstsegment.c: (gst_segment_init),
10893         (gst_segment_set_last_stop), (gst_segment_set_seek),
10894         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
10895         (gst_segment_to_running_time):
10896         Added more documentation.
10897         Make sure the last_pos value is updated properly.
10898         Make sure to_stream_time and to_running_time don't
10899         operate on wrong values.
10900
10901         * tests/check/gst/gstsegment.c: (GST_START_TEST):
10902         Update check.
10903
10904 2005-12-12  Michael Smith  <msmith@fluendo.com>
10905
10906         * plugins/elements/gsttypefindelement.c: (free_entry),
10907         (gst_type_find_element_chain):
10908           Now that we're not leaking factories, make sure we keep references
10909           to them while we need them.
10910
10911 2005-12-12  Thomas Vander Stichele  <thomas at apestaart dot org>
10912
10913         * tests/check/gst/struct_i386.h:
10914           ifdef out the XML structs
10915
10916 2005-12-12  Thomas Vander Stichele  <thomas at apestaart dot org>
10917
10918         * gst/gstvalue.c: (gst_value_transform_double_fraction):
10919           floor is not needed, F is always positive; this obviates the
10920           need for adding -lm when building without libxml
10921
10922 2005-12-12  Wim Taymans  <wim@fluendo.com>
10923
10924         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
10925         Take current playback rate into account when reporting
10926         the position.
10927
10928 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
10929
10930         * docs/manual/mime-world.fig:
10931           Let's try this again, this time with a file that is
10932           actually in XFig format.
10933
10934 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
10935
10936         * docs/manual/mime-world.fig:
10937           Add audioconvert element to diagram so that it
10938           matches the text and the code (fixes #319526).
10939
10940 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
10941
10942         * docs/pwg/building-chainfn.xml:
10943         * docs/pwg/building-pads.xml:
10944         * docs/pwg/building-state.xml:
10945         * docs/pwg/other-source.xml:
10946           Update state change stuff for 0.10 (fixes #322969).
10947
10948 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
10949
10950         * docs/manual/advanced-dataaccess.xml:
10951         * docs/manual/appendix-checklist.xml:
10952         * docs/manual/appendix-programs.xml:
10953         * docs/manual/basics-pads.xml:
10954         * docs/manual/highlevel-components.xml:
10955         * docs/manual/manual.xml:
10956           Update for 0.10: s/0.9/0.10/; s/audioscale/audiorsample/;
10957           add converters in front of pipelines; remove curly
10958           brackets for threads stuff, they no longer exist; use
10959           GST_TYPE_FRACTION for framerates; update some pieces of
10960           code to 0.10, but there's plenty more to do.
10961
10962         * docs/manual/appendix-porting.xml:
10963           Expand on asynchroneous state changes; s/0.9/0.10/;
10964           mention disappearance of gst_init_get_popt_table()
10965           (fixes #322916).
10966
10967 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
10968
10969         * docs/faq/using.xml:
10970           Spider no longer exists, and neither does gst-launch-ext.
10971           Update examples to use decodebin and playbin and put
10972           converters in front of sinks (fixes #323726).
10973
10974 2005-12-09  Michael Smith  <msmith@fluendo.com>
10975
10976         * plugins/elements/gsttypefindelement.c: (find_peek),
10977         (gst_type_find_element_chain):
10978           Fix leaking element factories in typefinding.
10979           Fix problem where we forgot about a probable type on non-seekable
10980           files, and thus later mis-typefound it.
10981
10982 2005-12-09  Michael Smith  <msmith@fluendo.com>
10983
10984         * common/m4/gst-makecontext.m4:
10985         * common/m4/gst-mcsc.m4:
10986         * configure.ac:
10987         * win32/common/config.h:
10988         * win32/common/config.h.in:
10989           Remove makecontext stuff; not used in 0.10 and causes problems on
10990           HPUX according to bug #322441
10991
10992 2005-12-07  Wim Taymans  <wim@fluendo.com>
10993
10994         * tests/check/Makefile.am:
10995         * tests/check/libs/libsabi.c: (GST_START_TEST), (gstabi_suite),
10996         (main):
10997         * tests/check/libs/struct_i386.h:
10998         Added ABI check for libs
10999
11000 2005-12-07  Wim Taymans  <wim@fluendo.com>
11001
11002         * tests/check/Makefile.am:
11003         And add the struct_i386.h to dist.
11004
11005 2005-12-07  Wim Taymans  <wim@fluendo.com>
11006
11007         * tests/check/Makefile.am:
11008         * tests/check/gst/.cvsignore:
11009         * tests/check/gst/gstabi.c: (GST_START_TEST), (gstabi_suite),
11010         (main):
11011         * tests/check/gst/struct_i386.h:
11012         Added check for ABI compatibility.
11013
11014 2005-12-07  Wim Taymans  <wim@fluendo.com>
11015
11016         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
11017         (gst_fake_src_get_times), (gst_fake_src_create):
11018         Fix broken sync option, fixes #323259
11019
11020 2005-12-07  Wim Taymans  <wim@fluendo.com>
11021
11022         * gst/gstbuffer.c:
11023         Small docs update.
11024
11025         * gst/gstcaps.c: (gst_caps_is_equal):
11026         Don't assert on NULL <--> X. Fixes #323260
11027
11028         * gst/gstminiobject.c: (gst_mini_object_replace):
11029         If we're doing atomic operations, we might just as well use
11030         the proper way to get an atomic pointer.
11031
11032         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
11033         Clean up debugging.
11034
11035 2005-12-07  Michael Smith  <msmith@fluendo.com>
11036
11037         * gst/parse/grammar.y:
11038           Remove handling of { } for threads.
11039
11040 2005-12-06  David Schleef  <ds@schleef.org>
11041
11042         * libs/gst/base/gstbasetransform.c: speling fix.
11043
11044 2005-12-06  Thomas Vander Stichele  <thomas at apestaart dot org>
11045
11046         * docs/libs/tmpl/gstdataprotocol.sgml:
11047         * docs/random/omega/testing/gstobject.c:
11048         * gst/gst.c:
11049         * gst/gstclock.c:
11050         * gst/gstelement.c:
11051         * gst/gstelementfactory.c:
11052         * gst/gsterror.c:
11053         * gst/gstevent.c:
11054         * gst/gstghostpad.c:
11055         * gst/gstinfo.c:
11056         * gst/gstpadtemplate.c:
11057         * gst/gstregistryxml.c:
11058         * gst/gsttaglist.c:
11059         * gst/gsttagsetter.c:
11060         * gst/gsttypefind.c:
11061         * gst/gstvalue.c:
11062         * libs/gst/base/gstbasesrc.c:
11063         * libs/gst/net/gstnetclientclock.c:
11064         * libs/gst/net/gstnettimeprovider.c:
11065         * plugins/elements/gstfakesrc.c:
11066         * plugins/elements/gstfdsrc.c:
11067         * plugins/elements/gstfilesrc.c:
11068         * plugins/elements/gstidentity.c:
11069         * plugins/elements/gstqueue.c:
11070         * plugins/elements/gsttypefindelement.c:
11071         * plugins/indexers/gstfileindex.c:
11072         * plugins/indexers/gstmemindex.c:
11073         * tests/check/gst/gsttag.c:
11074         * tests/old/examples/cutter/cutter.c:
11075         * tests/old/examples/mixer/mixer.c:
11076         * tests/old/examples/xml/runxml.c: (main):
11077         * tests/old/testsuite/caps/normalisation.c:
11078         * tests/old/testsuite/debug/global.c:
11079         * tests/old/testsuite/parse/parse1.c:
11080         * tools/gst-xmlinspect.c:
11081         * win32/common/dirent.c:
11082           expand tabs
11083
11084 === release 0.10.0 ===
11085
11086 2005-12-05  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
11087
11088         * configure.ac:
11089           releasing 0.10.0, "Maroilles"
11090
11091 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
11092
11093         submitted by: Funda Wang <fundawang@linux.net.cn>
11094
11095         * po/LINGUAS:
11096         * po/zh_CN.po:
11097           added Chinese (Traditional) translation
11098
11099 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
11100
11101         * docs/gst/gstreamer-sections.txt:
11102         * docs/libs/tmpl/gstdataprotocol.sgml:
11103         * docs/random/thomasvs/TODO:
11104         * gst/gstutils.c:
11105         * gst/gstutils.h:
11106           fix docs
11107
11108 2005-12-05  Andy Wingo  <wingo@pobox.com>
11109
11110         patch by: Wim Taymans <wim@fluendo.com>
11111
11112         * libs/gst/base/gstbasetransform.c
11113         (gst_base_transform_prepare_output_buf)
11114         (gst_base_transform_buffer_alloc):
11115         * plugins/elements/gstqueue.c (gst_queue_bufferalloc): Call
11116         alloc_buffer_and_set_caps.
11117
11118         * gst/gstpad.c (gst_pad_alloc_buffer): Changed to not call
11119         set_caps on the source pad.
11120         (gst_pad_alloc_buffer_and_set_caps): New function, does what
11121         alloc_buffer used to do. Fixes #322874.
11122
11123         * docs/gst/gstreamer-sections.txt: 
11124         * docs/design/part-negotiation.txt: 
11125         * docs/pwg/advanced-negotiation.xml: Update for the alloc_buffer
11126         changes.
11127
11128 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
11129
11130         patch by: Sebastien Moutte
11131
11132         * win32/MANIFEST:
11133         * win32/common/config.h.in:
11134         * win32/vs6/libgstcontroller.dsp:
11135           win32 build fixes
11136
11137 2005-12-05  Wim Taymans  <wim@fluendo.com>
11138
11139         * gst/gstcaps.c: (gst_caps_is_equal):
11140         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
11141         (gst_fake_src_create):
11142         Back out previous code changes, leave doc updates, file bugs 
11143         instead. 
11144
11145 2005-12-05  Wim Taymans  <wim@fluendo.com>
11146
11147         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
11148         (gst_fake_src_get_times), (gst_fake_src_create):
11149         * plugins/elements/gstfakesrc.h:
11150         Fix broken sync code.
11151
11152 2005-12-05  Wim Taymans  <wim@fluendo.com>
11153
11154         * gst/gstcaps.c: (gst_caps_is_equal):
11155         Comparing NULL against !NULL yields different caps, not a
11156         failure.
11157
11158 2005-12-05  Wim Taymans  <wim@fluendo.com>
11159
11160         * gst/gstpipeline.c:
11161         Fix small typo in docs.
11162
11163 2005-12-05  Andy Wingo  <wingo@pobox.com>
11164
11165         patch by: Thomas Vander Stichele  <thomas at apestaart dot org>
11166
11167         * gst/gst.c (init_post): remove hard-coded 0.9 location for
11168         registries/plugins with a MAJORMINOR one.
11169         (plugin_desc): Rename library from gstcoreleements to
11170         staticelements. Fixes #323222.
11171
11172 2005-12-05  Tim-Philipp Müller  <tim at centricular dot net>
11173
11174         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init):
11175           Change debug category to 'collectpads' from 'collect_pads'
11176           (fixes #323250).
11177
11178 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
11179
11180         patch by: Sebastien Moutte
11181
11182         * libs/gst/controller/gstinterpolation.c:
11183           use convert function for uint64/double
11184         * win32/vs6/libgstcontroller.dsp:
11185           link to GLib
11186
11187 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
11188
11189         * gst/gstutils.c: (gst_util_guint64_to_gdouble),
11190         (gst_util_gdouble_to_guint64), (gst_util_uint64_scale_int64):
11191         * gst/gstutils.h:
11192         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
11193           add tests that seem to show that the guint64/gdouble conversions
11194           are correct.
11195
11196 2005-12-02  Wim Taymans  <wim@fluendo.com>
11197
11198         * gst/gstregistry.c: (gst_registry_add_path):
11199         * gst/gstregistry.h:
11200         * gst/gstregistryxml.c:
11201         Fix docs again.
11202
11203 2005-12-02  Wim Taymans  <wim@fluendo.com>
11204
11205         * gst/gstutils.c: (gst_util_uint64_scale_int64),
11206         (gst_util_uint64_scale_int):
11207         Small cleanup.
11208
11209         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object):
11210         Add debug log line.
11211
11212         * libs/gst/base/gstbasetransform.c: (gst_base_transform_event):
11213         Add FIXME.
11214
11215 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
11216
11217         * win32/MANIFEST:
11218         * win32/common/config.h:
11219         * win32/vs6/gstreamer.dsw:
11220         * win32/vs6/libgstcoreelements.dsp:
11221         * win32/vs6/libgstelements.dsp:
11222           renamed core elements plugin
11223
11224 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
11225
11226         * tools/gst-run.c: (compare_major_minor), (find_highest_version),
11227         (get_candidates):
11228           do piece-wise major/minor comparison so 0.9 < 0.10
11229           also allow .exe extensions for tools
11230
11231 2005-12-02  Michael Smith  <msmith@fluendo.com>
11232
11233         * gst/gst.c:
11234           Escape a % to make gtkdoc happier; bug 322958.
11235
11236 === release 0.9.7 ===
11237
11238 2005-12-01  Thomas Vander Stichele <thomas (at) apestaart (dot) org>
11239
11240         * configure.ac:
11241           releasing 0.9.7, "My Dog Has No Nose"
11242
11243 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
11244
11245         * common/gst-xmlinspect.py:
11246         * configure.ac:
11247         * docs/libs/tmpl/gstdataprotocol.sgml:
11248         * docs/random/release:
11249         * po/af.po:
11250         * po/az.po:
11251         * po/bg.po:
11252         * po/ca.po:
11253         * po/cs.po:
11254         * po/de.po:
11255         * po/en_GB.po:
11256         * po/fr.po:
11257         * po/it.po:
11258         * po/nb.po:
11259         * po/nl.po:
11260         * po/ru.po:
11261         * po/sq.po:
11262         * po/sr.po:
11263         * po/sv.po:
11264         * po/tr.po:
11265         * po/uk.po:
11266         * po/vi.po:
11267         * win32/common/config.h:
11268         * win32/common/config.h.in:
11269         * win32/vs6/gst_inspect.dsp:
11270         * win32/vs6/gst_launch.dsp:
11271         * win32/vs6/libgstbase.dsp:
11272         * win32/vs6/libgstelements.dsp:
11273         * win32/vs6/libgstreamer.dsp:
11274         * win32/vs7/GStreamer.vcproj:
11275         * win32/vs7/gst-inspect.vcproj:
11276         * win32/vs7/gst-launch.vcproj:
11277         * win32/vs7/libgstbase.vcproj:
11278           bump GST_MAJORMINOR to 0.10
11279           reset libtool version
11280
11281 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
11282
11283         * po/LINGUAS:
11284         * po/bg.po:
11285           Added Bulgarian translation by (Alexander Shopov)
11286
11287 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
11288
11289         * tests/check/gst/gstplugin.c:
11290           fix test
11291
11292 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
11293
11294         * common/gst-xmlinspect.py:
11295         * common/gtk-doc-plugins.mak:
11296         * configure.ac:
11297         * docs/Makefile.am:
11298         * docs/gst/Makefile.am:
11299         * docs/gst/gstreamer-docs.sgml:
11300         * docs/gst/gstreamer-sections.txt:
11301         * docs/gst/gstreamer.types:
11302         * docs/gst/gstreamer.types.in:
11303         * docs/plugins/Makefile.am:
11304         * docs/plugins/gstreamer-plugins-docs.sgml:
11305         * docs/plugins/gstreamer-plugins-sections.txt:
11306         * docs/plugins/gstreamer-plugins.types:
11307         * docs/plugins/inspect.stamp:
11308         * docs/plugins/inspect/plugin-coreelements.xml:
11309         * docs/plugins/inspect/plugin-coreindexers.xml:
11310         * docs/plugins/scanobj-build.stamp:
11311         * gstreamer.spec.in:
11312         * plugins/elements/Makefile.am:
11313         * plugins/elements/gstelements.c:
11314         * plugins/elements/gstfakesink.c:
11315         * plugins/elements/gstfakesrc.c:
11316         * plugins/elements/gstfilesink.c:
11317         * plugins/elements/gstfilesrc.c:
11318         * plugins/elements/gstqueue.c:
11319         * plugins/indexers/Makefile.am:
11320         * plugins/indexers/gstindexers.c:
11321           document core plugins in a separate document just like all the
11322           others
11323           rename these plugins to something starting with core
11324
11325 2005-12-01  Andy Wingo  <wingo@pobox.com>
11326
11327         * gst/gstevent.h (struct _GstEvent): Meant to remove the extra
11328         padding here before, but it missed the commit.
11329
11330 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
11331
11332         * libs/gst/controller/gstinterpolation.c:
11333           whitespace prices have crashed, we should feel free to use some now
11334           use gst_guint64_to_gdouble
11335
11336 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
11337
11338         * libs/gst/controller/gstcontroller.c:
11339         * libs/gst/controller/gsthelper.c:
11340         * libs/gst/controller/gstinterpolation.c:
11341         * libs/gst/controller/lib.c:
11342           wrap config.h include
11343
11344 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
11345
11346         * docs/gst/gstreamer-sections.txt:
11347           update docs
11348
11349 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
11350
11351         * plugins/elements/gstelements.c:
11352         * plugins/elements/gstfdsink.c: (gst_fd_sink__base_init),
11353         (gst_fd_sink__class_init), (gst_fd_sink__init),
11354         (gst_fd_sink__chain), (gst_fd_sink__set_property),
11355         (gst_fd_sink__get_property):
11356         * plugins/elements/gstfdsink.h:
11357         * plugins/elements/gstfdsrc.c: (_do_init), (gst_fd_src_base_init),
11358         (gst_fd_src_class_init), (gst_fd_src_init), (gst_fd_src_dispose),
11359         (gst_fd_src_update_fd), (gst_fd_src_start), (gst_fd_src_stop),
11360         (gst_fd_src_unlock), (gst_fd_src_set_property),
11361         (gst_fd_src_get_property), (gst_fd_src_create),
11362         (gst_fd_src_is_seekable), (gst_fd_src_get_size),
11363         (gst_fd_src_uri_get_type), (gst_fd_src_uri_get_protocols),
11364         (gst_fd_src_uri_get_uri), (gst_fd_src_uri_set_uri),
11365         (gst_fd_src_uri_handler_init):
11366         * plugins/elements/gstfdsrc.h:
11367         * plugins/elements/gstqueue.c: (gst_queue_get_type):
11368           more anal cleanup
11369
11370 2005-11-30  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
11371
11372         * docs/gst/Makefile.am:
11373         * docs/gst/gstreamer.types.in:
11374         * gst/Makefile.am:
11375           fix the docs build
11376
11377 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
11378
11379         * configure.ac:
11380         * gst/Makefile.am:
11381         * gst/gst.c:
11382         * gst/gstplugin.h:
11383         * gst/gstregistry.h:
11384         * tests/benchmarks/complexity.c:
11385         * tests/benchmarks/mass-elements.c:
11386         * tests/check/Makefile.am:
11387         * tools/Makefile.am:
11388         * tools/gst-inspect.c:
11389         * tools/gst-xmlinspect.c:
11390           various fixes to make
11391           --disable-nls --disable-registry --disable-loadsave
11392           --disable-parse --disable-gst-debug
11393           work and get the core .so down to 360444 bytes after stripping
11394
11395 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
11396
11397         * Makefile.am:
11398         * configure.ac:
11399           descend into tests
11400         * docs/random/thomasvs/TODO:
11401         * tests/Makefile.am:
11402         * tests/README:
11403           add a README
11404
11405 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
11406
11407         * win32/GStreamer.vcproj:
11408         * win32/MANIFEST:
11409         * win32/Makefile:
11410         * win32/Makefile.inspect:
11411         * win32/Makefile.launch:
11412         * win32/Makefile.register:
11413         * win32/README.txt:
11414         * win32/gst-inspect.vcproj:
11415         * win32/gst-launch.vcproj:
11416         * win32/gst-register.vcproj:
11417         * win32/gstelements.vcproj:
11418         * win32/gstgetbits.def:
11419         * win32/gstgetbits.vcproj:
11420         * win32/gstreamer-dbg.def:
11421         * win32/gstreamer.def:
11422         * win32/libgstbase.def:
11423         * win32/libgstbase.vcproj:
11424         * win32/link_oldruntime.c:
11425         * win32/mman.c:
11426         * win32/mman.h:
11427         * win32/mman.inl:
11428         * win32/msvc71.sln:
11429           move even more stuff, win32/ is nice and clean now
11430
11431 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
11432
11433         * libs/gst/control/.cvsignore:
11434         * win32/MANIFEST:
11435         * win32/config.h:
11436         * win32/dirent.c:
11437         * win32/dirent.h:
11438         * win32/gstbytestream.def:
11439         * win32/gstbytestream.vcproj:
11440         * win32/gstconfig.h:
11441         * win32/gstenumtypes.c:
11442         * win32/gstenumtypes.h:
11443         * win32/gstoptimalscheduler.vcproj:
11444         * win32/gstversion.h:
11445         * win32/gtchar.h:
11446         * win32/testsuite/bins.vcproj:
11447         * win32/testsuite/bytestream.vcproj:
11448         * win32/testsuite/caps.vcproj:
11449         * win32/testsuite/cleanup.vcproj:
11450         * win32/testsuite/clock.vcproj:
11451         * win32/testsuite/debug.vcproj:
11452         * win32/testsuite/dlopen.vcproj:
11453         * win32/testsuite/dynparams.vcproj:
11454         * win32/testsuite/elements.vcproj:
11455         * win32/testsuite/ghostpads.vcproj:
11456         * win32/testsuite/indexers.vcproj:
11457         * win32/testsuite/negotiation.vcproj:
11458         * win32/testsuite/parse.vcproj:
11459         * win32/testsuite/plugin.vcproj:
11460         * win32/testsuite/refcounting.vcproj:
11461         * win32/testsuite/schedulers.vcproj:
11462         * win32/testsuite/states.vcproj:
11463         * win32/testsuite/tags.vcproj:
11464         * win32/testsuite/threads.vcproj:
11465           remove old win32 stuff that isn't maintained and should be
11466           reorganized
11467
11468 2005-11-30  Andy Wingo  <wingo@pobox.com>
11469
11470         * configure.ac (GST_PKG_DEPS): Revert previous patch, makes
11471         loading the gst.interfaces python module bork.
11472
11473         * configure.ac (GST_PKG_DEPS): Use gmodule-no-export-2.0.pc,
11474         available since GLib 2.2. Fixes #318031.
11475
11476 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
11477
11478         * Makefile.am:
11479         * check/.cvsignore:
11480         * check/Makefile.am:
11481         * check/elements/.cvsignore:
11482         * check/elements/fakesrc.c:
11483         * check/elements/fdsrc.c:
11484         * check/elements/identity.c:
11485         * check/generic/.cvsignore:
11486         * check/generic/states.c:
11487         * check/gst-libs/.cvsignore:
11488         * check/gst-libs/controller.c:
11489         * check/gst-libs/gdp.c:
11490         * check/gst/.cvsignore:
11491         * check/gst/capslist.h:
11492         * check/gst/gst.c:
11493         * check/gst/gstbin.c:
11494         * check/gst/gstbuffer.c:
11495         * check/gst/gstbus.c:
11496         * check/gst/gstcaps.c:
11497         * check/gst/gstelement.c:
11498         * check/gst/gstevent.c:
11499         * check/gst/gstghostpad.c:
11500         * check/gst/gstiterator.c:
11501         * check/gst/gstmessage.c:
11502         * check/gst/gstminiobject.c:
11503         * check/gst/gstobject.c:
11504         * check/gst/gstpad.c:
11505         * check/gst/gstpipeline.c:
11506         * check/gst/gstplugin.c:
11507         * check/gst/gstsegment.c:
11508         * check/gst/gststructure.c:
11509         * check/gst/gstsystemclock.c:
11510         * check/gst/gsttag.c:
11511         * check/gst/gstutils.c:
11512         * check/gst/gstvalue.c:
11513         * check/net/.cvsignore:
11514         * check/net/gstnetclientclock.c:
11515         * check/net/gstnettimeprovider.c:
11516         * check/pipelines/.cvsignore:
11517         * check/pipelines/cleanup.c:
11518         * check/pipelines/simple_launch_lines.c:
11519         * check/pipelines/stress.c:
11520         * check/states/.cvsignore:
11521         * check/states/sinks.c:
11522         * configure.ac:
11523         * examples/Makefile.am:
11524         * examples/appreader/.cvsignore:
11525         * examples/appreader/Makefile.am:
11526         * examples/appreader/appreader.c:
11527         * examples/controller/.cvsignore:
11528         * examples/controller/Makefile.am:
11529         * examples/controller/audio-example.c:
11530         * examples/cutter/.cvsignore:
11531         * examples/cutter/Makefile.am:
11532         * examples/cutter/cutter.c:
11533         * examples/cutter/cutter.h:
11534         * examples/events/Makefile.am:
11535         * examples/events/seek.c:
11536         * examples/helloworld/.cvsignore:
11537         * examples/helloworld/Makefile.am:
11538         * examples/helloworld/helloworld.c:
11539         * examples/helloworld2/.cvsignore:
11540         * examples/helloworld2/Makefile.am:
11541         * examples/helloworld2/helloworld2.c:
11542         * examples/launch/.cvsignore:
11543         * examples/launch/Makefile.am:
11544         * examples/launch/mp3parselaunch.c:
11545         * examples/launch/mp3play:
11546         * examples/manual/.cvsignore:
11547         * examples/manual/Makefile.am:
11548         * examples/manual/extract.pl:
11549         * examples/metadata/Makefile.am:
11550         * examples/metadata/read-metadata.c:
11551         * examples/mixer/.cvsignore:
11552         * examples/mixer/Makefile.am:
11553         * examples/mixer/mixer.c:
11554         * examples/mixer/mixer.h:
11555         * examples/pingpong/.cvsignore:
11556         * examples/pingpong/Makefile.am:
11557         * examples/pingpong/pingpong.c:
11558         * examples/plugins/.cvsignore:
11559         * examples/plugins/Makefile.am:
11560         * examples/plugins/example.c:
11561         * examples/plugins/example.h:
11562         * examples/pwg/.cvsignore:
11563         * examples/pwg/Makefile.am:
11564         * examples/pwg/extract.pl:
11565         * examples/queue/.cvsignore:
11566         * examples/queue/Makefile.am:
11567         * examples/queue/queue.c:
11568         * examples/queue2/.cvsignore:
11569         * examples/queue2/Makefile.am:
11570         * examples/queue2/queue2.c:
11571         * examples/queue3/.cvsignore:
11572         * examples/queue3/Makefile.am:
11573         * examples/queue3/queue3.c:
11574         * examples/queue4/.cvsignore:
11575         * examples/queue4/Makefile.am:
11576         * examples/queue4/queue4.c:
11577         * examples/retag/.cvsignore:
11578         * examples/retag/Makefile.am:
11579         * examples/retag/retag.c:
11580         * examples/retag/transcode.c:
11581         * examples/thread/.cvsignore:
11582         * examples/thread/Makefile.am:
11583         * examples/thread/thread.c:
11584         * examples/typefind/.cvsignore:
11585         * examples/typefind/Makefile.am:
11586         * examples/typefind/typefind.c:
11587         * examples/xml/.cvsignore:
11588         * examples/xml/Makefile.am:
11589         * examples/xml/createxml.c:
11590         * examples/xml/runxml.c:
11591         * tests/Makefile.am:
11592         * tests/check/Makefile.am:
11593         * testsuite/.cvsignore:
11594         * testsuite/Makefile.am:
11595         * testsuite/Rules:
11596         * testsuite/caps/.cvsignore:
11597         * testsuite/caps/Makefile.am:
11598         * testsuite/caps/app_fixate.c:
11599         * testsuite/caps/audioscale.c:
11600         * testsuite/caps/caps.c:
11601         * testsuite/caps/caps.h:
11602         * testsuite/caps/caps_strings:
11603         * testsuite/caps/compatibility.c:
11604         * testsuite/caps/deserialize.c:
11605         * testsuite/caps/enumcaps.c:
11606         * testsuite/caps/eratosthenes.c:
11607         * testsuite/caps/filtercaps.c:
11608         * testsuite/caps/fixed.c:
11609         * testsuite/caps/fraction-convert.c:
11610         * testsuite/caps/fraction-multiply-and-zero.c:
11611         * testsuite/caps/intersect2.c:
11612         * testsuite/caps/intersection.c:
11613         * testsuite/caps/normalisation.c:
11614         * testsuite/caps/random.c:
11615         * testsuite/caps/renegotiate.c:
11616         * testsuite/caps/sets.c:
11617         * testsuite/caps/simplify.c:
11618         * testsuite/caps/string-conversions.c:
11619         * testsuite/caps/structure.c:
11620         * testsuite/caps/subtract.c:
11621         * testsuite/caps/union.c:
11622         * testsuite/debug/.cvsignore:
11623         * testsuite/debug/Makefile.am:
11624         * testsuite/debug/category.c:
11625         * testsuite/debug/commandline.c:
11626         * testsuite/debug/global.c:
11627         * testsuite/debug/output.c:
11628         * testsuite/debug/printf_extension.c:
11629         * testsuite/dlopen/.cvsignore:
11630         * testsuite/dlopen/Makefile.am:
11631         * testsuite/dlopen/dlopen_gst.c:
11632         * testsuite/dlopen/loadgst.c:
11633         * testsuite/elements/.cvsignore:
11634         * testsuite/elements/Makefile.am:
11635         * testsuite/elements/gst-inspect-check.in:
11636         * testsuite/elements/struct_i386.h:
11637         * testsuite/elements/struct_size.c:
11638         * testsuite/indexers/.cvsignore:
11639         * testsuite/indexers/Makefile.am:
11640         * testsuite/indexers/cache1.c:
11641         * testsuite/indexers/indexdump.c:
11642         * testsuite/parse/.cvsignore:
11643         * testsuite/parse/Makefile.am:
11644         * testsuite/parse/parse1.c:
11645         * testsuite/parse/parse2.c:
11646         * testsuite/plugin/.cvsignore:
11647         * testsuite/plugin/Makefile.am:
11648         * testsuite/plugin/README:
11649         * testsuite/plugin/dynamic.c:
11650         * testsuite/plugin/linked.c:
11651         * testsuite/plugin/loading.c:
11652         * testsuite/plugin/registry.c:
11653         * testsuite/plugin/static.c:
11654         * testsuite/plugin/static2.c:
11655         * testsuite/plugin/testplugin.c:
11656         * testsuite/plugin/testplugin2.c:
11657         * testsuite/plugin/testplugin2_s.c:
11658         * testsuite/plugin/testplugin_s.c:
11659         * testsuite/refcounting/.cvsignore:
11660         * testsuite/refcounting/Makefile.am:
11661         * testsuite/refcounting/bin.c:
11662         * testsuite/refcounting/element.c:
11663         * testsuite/refcounting/element_pad.c:
11664         * testsuite/refcounting/mainloop.c:
11665         * testsuite/refcounting/mem.c:
11666         * testsuite/refcounting/mem.h:
11667         * testsuite/refcounting/object.c:
11668         * testsuite/refcounting/pad.c:
11669         * testsuite/refcounting/sched.c:
11670         * testsuite/refcounting/thread.c:
11671         * testsuite/states/.cvsignore:
11672         * testsuite/states/Makefile.am:
11673         * testsuite/states/bin.c:
11674         * testsuite/states/locked.c:
11675         * testsuite/states/parent.c:
11676         * testsuite/threads/.cvsignore:
11677         * testsuite/threads/159566.c:
11678         * testsuite/threads/159852.c:
11679         * testsuite/threads/Makefile.am:
11680         * testsuite/threads/queue.c:
11681         * testsuite/threads/signals.c:
11682         * testsuite/threads/staticrec.c:
11683         * testsuite/threads/thread.c:
11684         * testsuite/threads/threadb.c:
11685         * testsuite/threads/threadc.c:
11686         * testsuite/threads/threadd.c:
11687         * testsuite/threads/threade.c:
11688         * testsuite/threads/threadf.c:
11689         * testsuite/threads/threadg.c:
11690         * testsuite/threads/threadh.c:
11691         * testsuite/threads/threadi.c:
11692           move all of these under tests
11693
11694 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
11695
11696         * configure.ac:
11697         * tests/Makefile.am:
11698           fix distcheck
11699
11700 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
11701
11702         * docs/gst/gstreamer-sections.txt:
11703         * tests/sched/.cvsignore:
11704         * tests/sched/Makefile.am:
11705         * tests/sched/cases/(fs-fs).xml:
11706         * tests/sched/cases/(fs-i-fs).xml:
11707         * tests/sched/cases/(fs-i-i-fs).xml:
11708         * tests/sched/cases/(fs-i-q[i-fs]).xml:
11709         * tests/sched/dynamic-pipeline.c:
11710         * tests/sched/interrupt1.c:
11711         * tests/sched/interrupt2.c:
11712         * tests/sched/interrupt3.c:
11713         * tests/sched/runtestcases:
11714         * tests/sched/runxml.c:
11715         * tests/sched/sched-stress.c:
11716         * tests/sched/sort.c:
11717         * tests/sched/testcases:
11718         * tests/sched/testcases1.tc:
11719         * tests/seeking/.cvsignore:
11720         * tests/seeking/Makefile.am:
11721         * tests/seeking/seeking1.c:
11722         * tests/threadstate/.cvsignore:
11723         * tests/threadstate/Makefile.am:
11724         * tests/threadstate/test1.c:
11725         * tests/threadstate/test2.c:
11726         * tests/threadstate/threadstate1.c:
11727         * tests/threadstate/threadstate2.c:
11728         * tests/threadstate/threadstate3.c:
11729         * tests/threadstate/threadstate4.c:
11730         * tests/threadstate/threadstate5.c:
11731           remove obsolete tests
11732         * configure.ac:
11733         * tests/bench-complexity.scm:
11734         * tests/bench-mass_elements.scm:
11735         * tests/complexity.c:
11736         * tests/complexity.gnuplot:
11737         * tests/instantiate/.cvsignore:
11738         * tests/instantiate/Makefile.am:
11739         * tests/instantiate/caps.c:
11740         * tests/mass_elements.c:
11741         * tests/network-clock-utils.scm:
11742         * tests/network-clock.scm:
11743         * tests/plot-data:
11744         First pass at cleaning up tests/ dir before moving the rest
11745         Combined with CVS surgery
11746
11747 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
11748
11749         * po/POTFILES.in:
11750           queue has moved, update
11751
11752 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
11753
11754         * docs/gst/gstreamer-sections.txt:
11755           remove double entries from the docs
11756         * gst/gst_private.h:
11757         * gst/gstinfo.c: (_gst_debug_init):
11758           remove the THREAD debug category
11759         * gst/Makefile.am:
11760         * gst/gstqueue.c:
11761         * gst/gstqueue.h:
11762         * docs/gst/gstreamer.types:
11763         * plugins/elements/gstqueue.c: (gst_queue_get_type),
11764         (gst_queue_init), (gst_queue_finalize), (gst_queue_change_state):
11765           completely move queue and fix up debugging categories
11766
11767 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
11768
11769         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
11770           make initialization portable, using LL is not
11771
11772 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
11773
11774         * win32/common/gstconfig.h:
11775           add large padding
11776
11777 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
11778
11779         * win32/common/libgstreamer.def:
11780           rename symbols; sort base section
11781
11782 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
11783
11784         * gst/gstclock.c: (do_linear_regression):
11785           remove crack non-portable handrolled DEBUG macro
11786
11787 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
11788
11789         * docs/random/release:
11790           update notes
11791         * win32/common/gstenumtypes.c: (register_gst_object_flags),
11792         (gst_object_flags_get_type), (register_gst_bin_flags),
11793         (gst_bin_flags_get_type), (register_gst_buffer_flag),
11794         (gst_buffer_flag_get_type), (register_gst_bus_flags),
11795         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
11796         (gst_bus_sync_reply_get_type), (register_gst_caps_flags),
11797         (gst_caps_flags_get_type), (register_gst_clock_return),
11798         (gst_clock_return_get_type), (register_gst_clock_entry_type),
11799         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
11800         (gst_clock_flags_get_type), (register_gst_state),
11801         (gst_state_get_type), (register_gst_state_change_return),
11802         (gst_state_change_return_get_type), (register_gst_state_change),
11803         (gst_state_change_get_type), (register_gst_element_flags),
11804         (gst_element_flags_get_type), (register_gst_core_error),
11805         (gst_core_error_get_type), (register_gst_library_error),
11806         (gst_library_error_get_type), (register_gst_resource_error),
11807         (gst_resource_error_get_type), (register_gst_stream_error),
11808         (gst_stream_error_get_type), (register_gst_event_type_flags),
11809         (gst_event_type_flags_get_type), (register_gst_event_type),
11810         (gst_event_type_get_type), (register_gst_seek_type),
11811         (gst_seek_type_get_type), (register_gst_seek_flags),
11812         (gst_seek_flags_get_type), (register_gst_format),
11813         (gst_format_get_type), (register_gst_index_certainty),
11814         (gst_index_certainty_get_type), (register_gst_index_entry_type),
11815         (gst_index_entry_type_get_type),
11816         (register_gst_index_lookup_method),
11817         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
11818         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
11819         (gst_index_resolver_method_get_type), (register_gst_index_flags),
11820         (gst_index_flags_get_type), (register_gst_debug_level),
11821         (gst_debug_level_get_type), (register_gst_debug_color_flags),
11822         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
11823         (gst_iterator_result_get_type), (register_gst_iterator_item),
11824         (gst_iterator_item_get_type), (register_gst_message_type),
11825         (gst_message_type_get_type), (register_gst_mini_object_flags),
11826         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
11827         (gst_pad_link_return_get_type), (register_gst_flow_return),
11828         (gst_flow_return_get_type), (register_gst_activate_mode),
11829         (gst_activate_mode_get_type), (register_gst_pad_direction),
11830         (gst_pad_direction_get_type), (register_gst_pad_flags),
11831         (gst_pad_flags_get_type), (register_gst_pad_presence),
11832         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
11833         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
11834         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
11835         (gst_plugin_error_get_type), (register_gst_plugin_flags),
11836         (gst_plugin_flags_get_type), (register_gst_rank),
11837         (gst_rank_get_type), (register_gst_query_type),
11838         (gst_query_type_get_type), (register_gst_tag_merge_mode),
11839         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
11840         (gst_tag_flag_get_type), (register_gst_task_state),
11841         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
11842         (gst_alloc_trace_flags_get_type),
11843         (register_gst_type_find_probability),
11844         (gst_type_find_probability_get_type), (register_gst_uri_type),
11845         (gst_uri_type_get_type), (register_gst_parse_error),
11846         (gst_parse_error_get_type):
11847         * win32/common/gstenumtypes.h:
11848         * win32/common/gstversion.h:
11849           update visual studio generated files
11850
11851 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
11852
11853         * win32/vs6/libgstbase.dsp:
11854         * win32/vs6/libgstelements.dsp:
11855           update project files for new locations
11856
11857 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
11858
11859         * Makefile.am:
11860           remove some files
11861         * README:
11862           reinstate and update
11863         * DEVEL:
11864         * REQUIREMENTS:
11865           removed
11866         * LICENSE:
11867         * docs/random/LICENSE:
11868           moved to random
11869
11870 2005-11-30  Edward Hervey  <edward@fluendo.com>
11871
11872         * gst/gsttypefind.c: (gst_type_find_register):
11873         * gst/gsttypefind.h:
11874         * gst/gsttypefindfactory.c: (gst_type_find_factory_init),
11875         (gst_type_find_factory_dispose):
11876         * gst/gsttypefindfactory.h:
11877         Fix memory leak in GstTypeFindFactory.
11878
11879 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
11880
11881         * gst/gst.c:
11882         * plugins/elements/Makefile.am:
11883         * plugins/elements/gstelements.c:
11884         * plugins/elements/gstqueue.c:
11885           move queue from core to the elements plugin
11886
11887 2005-11-29  Andy Wingo  <wingo@pobox.com>
11888
11889         * libs/gst/base/gstbasetransform.h: 
11890         * libs/gst/base/gstbasesrc.h: 
11891         * libs/gst/base/gstbasesink.h: en-LARGE the padding.
11892
11893         * gst/gstconfig.h.in (GST_PADDING_LARGE): New define, the number
11894         of pointers by which to pad very extensible base classes (like the
11895         ones in libs/gst/base).
11896
11897 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
11898
11899         * docs/gst/gstreamer-docs.sgml:
11900         * docs/gst/gstreamer-sections.txt:
11901         * docs/libs/gstreamer-libs-docs.sgml:
11902         * docs/libs/gstreamer-libs-sections.txt:
11903           moving documentation from core to lib
11904
11905 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
11906
11907         * check/Makefile.am:
11908         * configure.ac:
11909         * docs/gst/Makefile.am:
11910         * gst/Makefile.am:
11911         * gst/base/.cvsignore:
11912         * gst/base/Makefile.am:
11913         * gst/base/README:
11914         * gst/base/gstadapter.c:
11915         * gst/base/gstadapter.h:
11916         * gst/base/gstbasesink.c:
11917         * gst/base/gstbasesink.h:
11918         * gst/base/gstbasesrc.c:
11919         * gst/base/gstbasesrc.h:
11920         * gst/base/gstbasetransform.c:
11921         * gst/base/gstbasetransform.h:
11922         * gst/base/gstcollectpads.c:
11923         * gst/base/gstcollectpads.h:
11924         * gst/base/gstpushsrc.c:
11925         * gst/base/gstpushsrc.h:
11926         * gst/base/gsttypefindhelper.c:
11927         * gst/base/gsttypefindhelper.h:
11928         * gst/check/Makefile.am:
11929         * gst/check/gstcheck.c:
11930         * gst/check/gstcheck.h:
11931         * gst/net/Makefile.am:
11932         * gst/net/gstnet.h:
11933         * gst/net/gstnetclientclock.c:
11934         * gst/net/gstnetclientclock.h:
11935         * gst/net/gstnettimepacket.c:
11936         * gst/net/gstnettimepacket.h:
11937         * gst/net/gstnettimeprovider.c:
11938         * gst/net/gstnettimeprovider.h:
11939         * libs/gst/Makefile.am:
11940         * libs/gst/base/Makefile.am:
11941         * libs/gst/base/gstbasetransform.c:
11942         * libs/gst/check/Makefile.am:
11943         * plugins/elements/Makefile.am:
11944         * po/POTFILES.in:
11945           CVS surgery + support to move base, check, and net out of gst
11946           and into libs/gst
11947
11948 2005-11-29  Andy Wingo  <wingo@pobox.com>
11949
11950         * gst/gstevent.h (struct _GstEvent): Only one pointer of padding.
11951
11952         * gst/gststructure.h (struct _GstStructure): Only one pointer of
11953         padding.
11954
11955         * gst/gstquery.h (struct _GstQuery): Only one pointer of padding.
11956
11957         * gst/gstpluginfeature.h: Remove a comment in PluginFeature.
11958
11959         * gst/gstplugin.h (struct _GstPluginClass): Add some padding.
11960
11961         * gst/gstobject.h: (struct _GstObject): Only one pointer of
11962         padding; reduces object size by about 30%. We don't expect
11963         anything else to go into gstobject.
11964
11965         * gst/gstminiobject.h (struct _GstMiniObject)
11966         (struct _GstMiniObjectClass): Only one pointer of padding; the
11967         payload is only a pointer and two ints anyway. For the class there
11968         are only two methods as well.
11969         
11970         * gst/gstelement.h (struct _GstElementClass): Removed
11971         the state_changed signal callback, it is not used.
11972
11973 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
11974
11975         * docs/gst/gstreamer.types:
11976           fix includes, though they are a little dinky
11977
11978 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
11979
11980         * check/Makefile.am:
11981           look in the right place for elements, a lot more chance of
11982           success
11983         * gst/Makefile.am:
11984           remove indexers and elements subdirs
11985         * plugins/Makefile.am:
11986           make indexers conditional
11987
11988 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
11989
11990         * Makefile.am:
11991         * configure.ac:
11992         * plugins/elements/Makefile.am:
11993         * plugins/elements/gstcapsfilter.c:
11994         * plugins/elements/gstfilesink.c:
11995         * plugins/elements/gstfilesrc.c:
11996         * plugins/elements/gstidentity.c:
11997         * plugins/indexers/Makefile.am:
11998           do CVS surgery and related build fixery to move elements
11999           and indexers in a new gstreamer/plugins directory, out of the
12000           gst/ directory
12001
12002 2005-11-29  Andy Wingo  <wingo@pobox.com>
12003
12004         * check/Makefile.am:
12005         * pkgconfig/gstreamer-net-uninstalled.pc.in:
12006         * pkgconfig/gstreamer-net.pc.in:
12007         * gst/net/Makefile.am: Rename gstnet-tempname to gstnet. Fixes
12008         #322257.
12009
12010 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
12011
12012         * tools/Makefile.am:
12013         * tools/gst-complete.1.in:
12014         * tools/gst-complete.c:
12015         * tools/gst-compprep.1.in:
12016         * tools/gst-compprep.c:
12017           removing -compprep and -complete
12018
12019 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
12020
12021         * gst/gstevent.c: (gst_event_new_new_segment),
12022         (gst_event_parse_new_segment):
12023         * gst/gstevent.h:
12024           fix #320529 - clean up new_segment API and structure.
12025           Let's hope everyone was using the methods, and not the structure.
12026
12027 2005-11-29  Edward Hervey  <edward@fluendo.com>
12028
12029         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
12030         (gst_base_sink_event), (gst_base_sink_do_sync),
12031         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
12032         Properly handle non GST_FORMAT_TIME segment
12033         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
12034         Properly handle non GST_FORMAT_TIME segment
12035         * gst/gstsegment.c:
12036         This function is valid if the accumulator is 0 and the format
12037         is different from the requested format.
12038         
12039 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
12040
12041         * docs/gst/gstreamer-sections.txt:
12042         Add gst_query_new_seeking and gst_query_parse_seeking to the
12043         docs.
12044
12045 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
12046
12047         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
12048           Treat a pad alloc with new caps the same as if we were not
12049           negotiated, in order to allow a changing upstream output
12050           to produce a new format of data.
12051
12052 2005-11-29  Edward Hervey  <edward@fluendo.com>
12053
12054         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
12055         (gst_base_transform_event), (gst_base_transform_eventfunc):
12056         The event virtual method is now properly implemented, with a default
12057         handler
12058         Sub classes should call the parent_class event method. They should
12059         return FALSE if they had a problem handling the given event, or don't
12060         want GstBaseTransform to send that even downstream
12061         * gst/elements/gstidentity.c: (gst_identity_class_init),
12062         (gst_identity_init), (gst_identity_event),
12063         (gst_identity_transform_ip), (gst_identity_set_property),
12064         (gst_identity_get_property):
12065         * gst/elements/gstidentity.h:
12066         Added the single-segment boolean property.
12067         If set to TRUE, it will output a single segment of data, starting from
12068         0, will eat up all incoming newsegment, and modify the timestamp of the
12069         buffers accordingly
12070
12071 2005-11-29  Tim-Philipp Müller  <tim at centricular dot net>
12072
12073         * gst/gstghostpad.c: (gst_proxy_pad_get_target):
12074           Don't ref NULL target pad (#322751). Improve docs.
12075
12076 2005-11-29  Michael Smith  <msmith@fluendo.com>
12077
12078         * gst/gstregistryxml.c: (load_plugin):
12079           Don't crash if we failed to load a feature from a plugin. 
12080
12081 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
12082
12083         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
12084         (GST_START_TEST):
12085           use more check API and less GLib API
12086
12087 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
12088
12089         * Makefile.am:
12090           don't run checks if we don't have check
12091         * common/check.mak:
12092           remove the registry when running make torture
12093         * docs/gst/gstreamer-sections.txt:
12094           remove second multiply
12095         * gst/gstqueue.c: (gst_queue_loop):
12096           fix a compile warning when disabling debug
12097
12098 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
12099
12100         * gst/gstinfo.h:
12101         Hey! Let's print the pad name if the pointer != NULL instead
12102         of when it == NULL :-)
12103
12104 2005-11-28  Wim Taymans  <wim@fluendo.com>
12105
12106         * check/gst/gstutils.c: (GST_START_TEST):
12107         Updated check, add some scaling accuracy checking code.
12108
12109         * gst/gstutils.c: (gst_util_div128_64),
12110         (gst_util_uint64_scale_int64), (gst_util_uint64_scale),
12111         (gst_util_uint64_scale_int):
12112         Fix 6 times faster division code. Optimize for common 
12113         1/1 and less common X/1 cases.
12114
12115 2005-11-28  Wim Taymans  <wim@fluendo.com>
12116
12117         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
12118         More checks.
12119
12120         * gst/gstclock.c: (gst_clock_finalize), (gst_clock_set_master),
12121         (do_linear_regression), (gst_clock_add_observation):
12122         Cleanups.
12123         Release lock when the clock cannot be slaved.
12124         Catch the case where the regression returned an invalid denominator.
12125
12126         * gst/gstutils.c: (gst_util_div128_64_iterate),
12127         (gst_util_div128_64), (gst_util_uint64_scale_int64),
12128         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
12129         Add protentially more performant non-iterative 128/64 divide function
12130         that unfortunatly does not work yet.
12131         Shortcut the trivial 0/X = 0 case.
12132         Remove the warnings on overflow.
12133
12134 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
12135
12136         * gst/gstplugin.c: (gst_plugin_register_func):
12137           everything causing a plugin not to load should be at least a WARNING
12138
12139 2005-11-28  Stefan Kost  <ensonic@users.sf.net>
12140
12141         * docs/random/ensonic/dparams.txt:
12142           some TODOs for the next dev cycle
12143         * libs/gst/controller/gstcontroller.c:
12144         (gst_controlled_property_set_interpolation_mode),
12145         (gst_controlled_property_new):
12146         * libs/gst/controller/gstcontroller.h:
12147           use base type to assign acccessor functions
12148
12149 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
12150
12151         * check/Makefile.am:
12152         Oops, that should have been top_srcdir
12153
12154 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
12155
12156         * check/Makefile.am:
12157         * check/elements/fdsrc.c: (GST_START_TEST):
12158         Use a cmdline define to specify the location of a file to use for
12159         testing, to avoid breaking distcheck.
12160
12161 2005-11-28  Andy Wingo  <wingo@pobox.com>
12162
12163         * gst/gstpad.c (fixate_value): Use array functions for arrays.
12164
12165 2005-11-28  Edward Hervey  <edward@fluendo.com>
12166
12167         * tools/gst-launch.c: (main):
12168         Clarify the output strings, makes it easier to translate.
12169         Fixes #322626
12170
12171 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
12172
12173         * gst/Makefile.am:
12174           don't try and build net if we don't even have <sys/socket.h>
12175
12176 2005-11-27  Jan Schmidt  <thaytan@mad.scientist.com>
12177
12178         * check/Makefile.am:
12179         * check/elements/fdsrc.c: (event_func), (setup_fdsrc),
12180         (cleanup_fdsrc), (GST_START_TEST), (fdsrc_suite), (main):
12181           Add tests for fdsrc seekability
12182
12183         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
12184         (gst_fdsrc_init), (gst_fdsrc_update_fd), (gst_fdsrc_start),
12185         (gst_fdsrc_set_property), (gst_fdsrc_is_seekable),
12186         (gst_fdsrc_get_size), (gst_fdsrc_uri_set_uri):
12187         * gst/elements/gstfdsrc.h:
12188           fdsrc should not be a 'live' source.
12189           Implement seeking on seekable fd's.
12190
12191         * gst/gstquery.c: (gst_query_new_seeking),
12192         (gst_query_parse_seeking):
12193         * gst/gstquery.h:
12194           Implement SEEKING query functions: 
12195             *_new_seeking and *_parse_seeking
12196
12197 2005-11-27  Stefan Kost  <ensonic@users.sf.net>
12198
12199         * gst/gstelement.c: (gst_element_dispose):
12200           don't loop forever
12201
12202         * gst/gstiterator.c:
12203         * gst/gststructure.c:
12204           doc fixes
12205
12206         * libs/gst/controller/gstcontroller.c:
12207         (gst_controlled_property_set_interpolation_mode):
12208         * libs/gst/controller/gstcontroller.h:
12209         * libs/gst/controller/gstinterpolation.c:
12210         (interpolate_none_get_enum_value_array):
12211           support controlling enums
12212
12213 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
12214
12215         * gst/gstvalue.c:
12216           Improve documentation for gst_value_union().
12217
12218         * gst/gstvalue.h:
12219           Change return value for union, intersect and subtract functions
12220           from gint to gboolean.
12221
12222 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
12223
12224         * gst/gstvalue.c: (gst_value_serialize_any_list),
12225         (gst_value_transform_any_list_string),
12226         (gst_value_deserialize_list), (gst_value_deserialize_array),
12227         (gst_value_set_int_range), (gst_value_deserialize_int_range),
12228         (gst_value_set_double_range), (gst_value_deserialize_double_range),
12229         (gst_value_set_fraction_range_full),
12230         (gst_value_deserialize_fraction_range),
12231         (gst_value_deserialize_caps), (gst_value_deserialize_buffer),
12232         (gst_value_deserialize_boolean),
12233         (gst_value_deserialize_int_helper), (gst_value_deserialize_double),
12234         (gst_value_serialize_float), (gst_value_deserialize_float),
12235         (gst_string_wrap), (gst_value_deserialize_string),
12236         (gst_value_deserialize_enum), (gst_value_deserialize_flags),
12237         (gst_value_union_int_range_int_range),
12238         (gst_value_intersect_int_range_int_range),
12239         (gst_value_intersect_double_range_double_range),
12240         (gst_value_create_new_range), (gst_value_subtract_int_range_int),
12241         (gst_value_subtract_int_range_int_range),
12242         (gst_value_subtract_double_double_range),
12243         (gst_value_subtract_double_range_double_range),
12244         (gst_value_deserialize_fraction):
12245         * gst/gstvalue.h:
12246           Use gint, gdouble and gchar in our API instead of int, double and
12247           char (and make usage in gstvalue.c more consistent).
12248
12249 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
12250
12251         * check/Makefile.am:
12252         * libs/gst/controller/Makefile.am:
12253         * libs/gst/dataprotocol/Makefile.am:
12254           fix up Makefile.am and remove GST_ENABLE_NEW
12255
12256 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
12257
12258         * configure.ac:
12259         * gst/Makefile.am:
12260         * gst/base/Makefile.am:
12261         * gst/check/Makefile.am:
12262         * gst/elements/Makefile.am:
12263         * gst/net/Makefile.am:
12264           update LDFLAGS use some more
12265
12266 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
12267
12268         * common/m4/gst-doc.m4:
12269           Fixes #312589
12270
12271 2005-11-26  Edward Hervey  <edward@fluendo.com>
12272
12273         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
12274         This shouldn't issue a g_warning since it returns NULL if it
12275         couldn't find the plugin, and all functions using this behave
12276         properly on a NULL return. Switching to a GST_WARNING.
12277
12278 2005-11-25  Jan Schmidt  <thaytan@mad.scientist.com>
12279
12280         * gst/gstbin.c: (gst_bin_handle_message_func):
12281         Don't leak clock messages.
12282
12283 2005-11-25  Wim Taymans  <wim@fluendo.com>
12284
12285         * gst/gstutils.c: (gst_util_uint64_scale_int64),
12286         (gst_util_uint64_scale_int):
12287         Optimisations, remove unneeded vars.
12288
12289 2005-11-25  Wim Taymans  <wim@fluendo.com>
12290
12291         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
12292         Added more checks for the high precision uint64 cases.
12293
12294         * gst/gstutils.c: (gst_util_uint64_scale_int64),
12295         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
12296         Implement high precision (guint64 * guint64) / guint64.
12297
12298 2005-11-24  Wim Taymans  <wim@fluendo.com>
12299
12300         * gst/base/gstbasesrc.c: (gst_base_src_query):
12301         Fix wrong percentage query.
12302
12303         * gst/gstutils.c: (gst_util_uint64_scale),
12304         (gst_util_uint64_scale_int):
12305         Add some more common cases that can be handled 
12306         efficiently to _scale.
12307
12308 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
12309
12310         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST),
12311         (gst_mini_object_suite):
12312           don't use check calls from threads; check probably isn't
12313           threadsafe and using a lock to make it threadsafe would
12314           defeat the purpose of this check
12315         * gst/check/gstcheck.c:
12316         * gst/check/gstcheck.h:
12317           use GST_DEBUG some more
12318
12319 2005-11-24  Wim Taymans  <wim@fluendo.com>
12320
12321         * gst/gstutils.c: (gst_util_uint64_scale),
12322         (gst_util_uint64_scale_int):
12323         Chain trivial case to _scale_int.
12324
12325 2005-11-24  Wim Taymans  <wim@fluendo.com>
12326
12327         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
12328         Added test for scaling.
12329
12330         * gst/gstclock.h:
12331         Small doc fix.
12332
12333         * gst/gstutils.c: (gst_util_uint64_scale_int):
12334         Implemented high precision scaling code.
12335
12336 2005-11-24  Stefan Kost  <ensonic@users.sf.net>
12337
12338         * gst/gstinfo.h:
12339           do not crash on pad==NULL
12340
12341 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
12342
12343         Patch by: Stefan Kost
12344
12345         * common/gtk-doc.mak:
12346         * docs/gst/Makefile.am:
12347         * docs/libs/Makefile.am:
12348           Fix distcheck issues for the libraries docs build
12349           Closes #319599.
12350
12351 2005-11-24  Michael Smith <msmith@fluendo.com>
12352
12353         * docs/manual/basics-helloworld.xml:
12354           Fix bug #315027: memory leak in example code in docs.
12355
12356 2005-11-24  Michael Smith <msmith@fluendo.com>
12357
12358         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
12359           Unlock the PREROLL_LOCK in a failure case.
12360
12361 2005-11-24  Wim Taymans  <wim@fluendo.com>
12362
12363         * docs/gst/gstreamer-sections.txt:
12364         * gst/base/gstadapter.h:
12365         * gst/base/gstbasesink.h:
12366         * gst/base/gstbasesrc.h:
12367         * gst/base/gstbasetransform.h:
12368         * gst/base/gstpushsrc.h:
12369         * gst/elements/gstfakesink.h:
12370         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type):
12371         * gst/elements/gstfakesrc.h:
12372         * gst/elements/gstfilesink.h:
12373         * gst/elements/gstfilesrc.h:
12374         * gst/gst.c:
12375         * gst/gstbin.c:
12376         * gst/gstbuffer.c: (_gst_buffer_copy):
12377         * gst/gstbus.h:
12378         * gst/gstcaps.c:
12379         * gst/gstchildproxy.c:
12380         * gst/gstclock.c:
12381         * gst/gstelement.c:
12382         * gst/gstelementfactory.c:
12383         * gst/gstelementfactory.h:
12384         * gst/gstevent.c:
12385         * gst/gstghostpad.h:
12386         * gst/gstindex.h:
12387         * gst/gstinterface.h:
12388         * gst/gstminiobject.c:
12389         * gst/gstminiobject.h:
12390         * gst/gstpad.c:
12391         * gst/gstpad.h:
12392         * gst/gstpadtemplate.h:
12393         * gst/gstpipeline.h:
12394         * gst/gstpluginfeature.h:
12395         * gst/gstquery.h:
12396         * gst/gstqueue.h:
12397         * gst/gsttaglist.c:
12398         * gst/gsttaglist.h:
12399         * gst/gsttagsetter.c:
12400         * gst/gsttagsetter.h:
12401         * gst/gsttrace.c:
12402         * gst/gsttrace.h:
12403         * gst/gsttypefind.h:
12404         * gst/gsturi.h:
12405         * gst/gstvalue.c:
12406         * gst/net/gstnetclientclock.c:
12407         * gst/net/gstnetclientclock.h:
12408         * gst/net/gstnettimepacket.c:
12409         * gst/net/gstnettimeprovider.c:
12410         * gst/net/gstnettimeprovider.h:
12411         Doc fixes.
12412
12413 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
12414
12415         * configure.ac: back to HEAD
12416
12417 === release 0.9.6 ===
12418
12419 2005-11-23  Thomas Vander Stichele <thomas at apestaart dot org>
12420
12421         * configure.ac:
12422           releasing 0.9.6, "Always On Time"
12423
12424 2005-11-23  Wim Taymans  <wim@fluendo.com>
12425
12426         * docs/gst/gstreamer-sections.txt:
12427         * gst/glib-compat.c:
12428         * gst/gsttagsetter.c:
12429         * gst/gstvalue.c:
12430         * gst/net/gstnetclientclock.c:
12431         * gst/net/gstnettimepacket.h:
12432         Doc updates.
12433
12434 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
12435
12436         * docs/faq/using.xml:
12437         * docs/libs/tmpl/gstcontrol.sgml:
12438         * docs/manual/advanced-dparams.xml:
12439         * docs/manual/appendix-checklist.xml:
12440         * docs/manual/basics-elements.xml:
12441         * docs/pwg/other-source.xml:
12442         * docs/random/moving-plugins:
12443         * gst/gstpad.c:
12444         * tools/gst-launch.1.in:
12445           remove mentions of sinesrc
12446
12447 2005-11-23  Michael Smith <msmith@fluendo.com>
12448
12449         * docs/gst/gstreamer-sections.txt:
12450           Update for new API and API changes.
12451         * gst/gstobject.h:
12452           Documentation fix: GST_TRYLOCK -> GST_OBJECT_TRYLOCK
12453         * gst/gstvalue.c:
12454           Documentation typo fix.
12455         * gst/net/gstnettimepacket.c:
12456           Documentation fixes for arguments.
12457
12458 2005-11-23  Jan Schmidt  <thaytan@mad.scientist.com>
12459
12460         * gst/gststructure.c: (gst_structure_get_fraction),
12461         (gst_structure_parse_value),
12462         (gst_structure_fixate_field_nearest_fraction):
12463         * gst/gststructure.h:
12464         * gst/gstutils.c: (gst_util_uint64_scale_int):
12465         * gst/gstutils.h:
12466         * scripts/update-funcnames:
12467         API Changes. 
12468         Rename gst_util_clock_time_scale to gst_util_uint64_scale_int
12469         Make gst_structure_fixate_field_nearest_fraction take a numerator
12470         and denominator argument instead of a GValue
12471         add gst_structure_get_fraction helper function.
12472
12473 2005-11-23  Wim Taymans  <wim@fluendo.com>
12474
12475         * docs/design/part-TODO.txt:
12476         Update TODO.
12477
12478         * gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
12479         * gst/net/gstnetclientclock.h:
12480         Use parent fields for timeout and window_size.
12481
12482 2005-11-23  Andy Wingo  <wingo@pobox.com>
12483
12484         * check/net/gstnetclientclock.c (test_functioning): Adjust to
12485         rate_num/rate_denom change.
12486
12487         * gst/net/gstnetclientclock.c
12488         (gst_net_client_clock_observe_times): Take the SLAVE_LOCK not the
12489         OBJECT_LOCK. Don't call add_observation with the lock.
12490
12491         * gst/gstclock.c (gst_clock_init): Initialize the rate as a
12492         fraction.
12493         (gst_clock_adjust_unlocked): Adjust using uint64_scale and the
12494         rate fraction.
12495         (gst_clock_set_calibration, gst_clock_get_calibration): Change to
12496         deal with rate as a fraction whose numerator and denominator are
12497         GstClockTime values.
12498         (gst_clock_set_master): Only use the OBJECT_LOCK to set the
12499         master; the other fields are protected by the SLAVE_LOCK.
12500         (do_linear_regression): Note that this must be called with the
12501         SLAVE_LOCK.
12502         (gst_clock_add_observation): Take the SLAVE_LOCK, not the
12503         OBJECT_LOCK. Call set_calibration instead of touching the
12504         variables directly.
12505         (gst_clock_set_property, gst_clock_get_property): Protect
12506         master/slave parameters with the SLAVE_LOCK.
12507
12508         * gst/gstclock.h (GstClock): Remove rate, add rate_numerator and
12509         rate_denominator. PR3C1S3. Add a new lock, the SLAVE_LOCK, and
12510         note that all of the instance variables that add_observation and
12511         the set_master functions use are protected by that lock and not
12512         the OBJECT_LOCK.
12513         (GST_CLOCK_SLAVE_LOCK, GST_CLOCK_SLAVE_UNLOCK): New macros.
12514
12515         * gst/gstclock.c (gst_clock_add_observation): No longer requires
12516         the caller to take the object lock.
12517
12518 2005-11-23  Wim Taymans  <wim@fluendo.com>
12519
12520         * gst/gsterror.c: (_gst_core_errors_init):
12521         * gst/gsterror.h:
12522         Add error for clock stuff.
12523
12524         * gst/gstpipeline.c: (gst_pipeline_change_state),
12525         (gst_pipeline_set_clock):
12526         Post clock error when clock cannot be used in a pipeline.
12527
12528 2005-11-23  Stefan Kost  <ensonic@users.sf.net>
12529
12530         * docs/gst/gstreamer-sections.txt:
12531           make two symbols from gstinfo private for the docs
12532         * gst/base/gstcollectpads.h:
12533         * gst/gstutils.c:
12534           fix doc typos, update docs
12535
12536 2005-11-22  Wim Taymans  <wim@fluendo.com>
12537
12538         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
12539         (gst_base_sink_wait), (gst_base_sink_do_sync),
12540         (gst_base_sink_handle_event):
12541         * gst/base/gstbasesink.h:
12542         No need to store the clock, the parent element class already
12543         has it.
12544
12545         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_add_func):
12546         Updates for clock_set returning a gboolean
12547
12548         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_wait),
12549         (gst_clock_id_wait_async), (gst_clock_class_init),
12550         (gst_clock_init), (gst_clock_finalize),
12551         (gst_clock_get_internal_time), (gst_clock_get_time),
12552         (gst_clock_slave_callback), (gst_clock_set_master),
12553         (gst_clock_get_master), (do_linear_regression),
12554         (gst_clock_add_observation), (gst_clock_set_property),
12555         (gst_clock_get_property):
12556         * gst/gstclock.h:
12557         Implement master/slave. When setting a clock as a slave, a
12558         periodic timeout is scheduled to sample master and slave times.
12559         Then the slave clock is recalibrated to match offset and rate
12560         of the master clock.
12561         Update logging a bit.
12562         Add flag so that a clock can state that is cannot be slaved to
12563         another clock.
12564
12565         * gst/gstelement.c: (gst_element_set_clock):
12566         * gst/gstelement.h:
12567         The set clock returns a gboolean for when an element cannot
12568         deal with the selected clock in the pipeline. 
12569
12570         * gst/gstpipeline.c: (gst_pipeline_change_state),
12571         (gst_pipeline_set_clock):
12572         * gst/gstpipeline.h:
12573         Handle the case where the selected clock cannot be set on
12574         the pipeline.
12575
12576         * gst/net/gstnetclientclock.c: (gst_net_client_clock_class_init),
12577         (gst_net_client_clock_init), (gst_net_client_clock_finalize),
12578         (gst_net_client_clock_set_property),
12579         (gst_net_client_clock_get_property),
12580         (gst_net_client_clock_observe_times):
12581         * gst/net/gstnetclientclock.h:
12582         Use regression code in GstClock parent, remove duplicated
12583         functionality.
12584
12585 2005-11-22  Michael Smith <msmith@fluendo.com>
12586
12587         * gst/gstutils.c: (gst_util_clock_time_scale):
12588         * gst/gstutils.h:
12589         * docs/gst/gstreamer-sections.txt:
12590           Rename method to have extra underscore.
12591
12592 2005-11-22  Thomas Vander Stichele  <thomas at apestaart dot org>
12593
12594         * gst/elements/Makefile.am:
12595         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type):
12596         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
12597         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
12598         (gst_fake_src_init), (gst_fake_src_prepare_buffer),
12599         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size):
12600         * gst/elements/gstfakesrc.h:
12601         * gst/gstqueue.c: (queue_leaky_get_type):
12602           correctly fix GEnumValues so that nick is the short lowercase
12603           dashed tag
12604         * tools/gst-inspect.c: (print_element_properties_info):
12605           also show the nick, since it's useful to use from parse_launch
12606           syntax
12607           Fixes #322139
12608
12609 2005-11-22  Michael Smith <msmith@fluendo.com>
12610
12611         * gst/gstutils.c: (gst_util_clocktime_scale):
12612         * gst/gstutils.h:
12613         * docs/gst/gstreamer-sections.txt:
12614           Add util method for scaling a clocktime by a fraction. Useful 
12615           implementation is left as an exercise for the reader.
12616
12617 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
12618
12619         * gst/gstvalue.c: (gst_value_collect_fraction_range):
12620         If needed, allocate storage in the destination value during
12621         collection.
12622
12623 2005-11-22  Edward Hervey  <edward@fluendo.com>
12624
12625         * docs/gst/gstreamer-sections.txt:
12626         * gst/Makefile.am:
12627         * gst/gst.h:
12628         * gst/gsturitype.c:
12629         * gst/gsturitype.h:
12630         * gst/gstutils.c: (gst_util_set_object_arg):
12631         * tools/gst-compprep.c: (main):
12632         * tools/gst-inspect.c: (print_element_properties_info):
12633         Removed GstURI, closes bug #321061
12634
12635 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
12636
12637         * check/gst/gststructure.c: (GST_START_TEST):
12638         * gst/gststructure.c: (gst_structure_parse_value):
12639           Oops, broke automatic string type parsing.
12640           Add a test to catch it in future.
12641
12642 2005-11-22  Andy Wingo  <wingo@pobox.com>
12643
12644         * gst/gsttagsetter.c (gst_tag_setter_get_tag_merge_mode) 
12645         (gst_tag_setter_set_tag_merge_mode, gst_tag_setter_get_tag_list):
12646         Actually rename the function implementations. Grr.
12647
12648 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
12649
12650         * check/gst/capslist.h:
12651           Comment test cases
12652         * check/gst/gststructure.c: (GST_START_TEST),
12653         (gst_structure_suite):
12654           Test automatic value type detection in gst_structure_from_string.
12655         * gst/gststructure.c: (gst_structure_parse_value):
12656           Add fraction as a type we try and guess automatically in
12657           caps/structure strings.
12658
12659 2005-11-22  Andy Wingo  <wingo@pobox.com>
12660
12661         patch by: Torsten Schoenfeld <kaffeetisch gmx de>
12662
12663         * gst/gsttagsetter.h:
12664         * gst/gsttagsetter.c: (gst_tag_setter_merge_tags)
12665         (gst_tag_setter_add_tags, gst_tag_setter_add_tag_values)
12666         (gst_tag_setter_add_tag_valist)
12667         (gst_tag_setter_add_tag_valist_values): Renamed from _merge, _add,
12668         _add_values, _add_valist, and _add_valist_values. Since this is an
12669         interface the function suffixes should be more explicit so
12670         language binding don't end up with element.add_valist ->
12671         gst_tag_setter_add_valist, for example. Fixes #322069.
12672
12673 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
12674
12675         * check/gst/gstcaps.c: (GST_START_TEST):
12676           Extend caps string tests to check that a caps to string
12677           conversion is reversible and produces the same caps.
12678
12679         * gst/gststructure.c: (gst_structure_value_get_generic_type):
12680           Output "fraction" as the generic type fraction range, so caps
12681           serialisation and deserialisation works.
12682         * check/gst/capslist.h:
12683         * gst/gstvalue.c: (gst_value_deserialize_fraction):
12684           Support 'MIN' and 'MAX' for deserialising fractions.
12685
12686 2005-11-22  Andy Wingo  <wingo@pobox.com>
12687
12688         * gst/gstevent.h (gst_event_new_new_segment)
12689         (gst_event_parse_new_segment, gst_event_new_buffer_size)
12690         (gst_event_parse_buffer_size, gst_ghost_pad_new_no_target):
12691         Renamed from *_newsegment, *_buffersize, *_notarget.
12692
12693         * scripts/update-funcnames: New script, performs the changes
12694         listed above.
12695
12696 2005-11-22  Wim Taymans  <wim@fluendo.com>
12697
12698         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
12699         Make sure the GstFlowReturn is returned.
12700
12701         * gst/gstbus.c: (gst_bus_add_signal_watch_full),
12702         (gst_bus_add_signal_watch):
12703         * gst/gstbus.h:
12704         add gst_bus_add_signal_watch_full.
12705
12706         * gst/gstplugin.c: (gst_plugin_load_file):
12707         Small style cleanup.
12708
12709 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
12710
12711         * check/gst/gstevent.c: (test_event), (GST_START_TEST):
12712           Block the fakesrc srcpad when we send an event, to avoid
12713           contention on the stream_lock causing random test failures.
12714
12715 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
12716
12717         * check/gst/gstvalue.c: (GST_START_TEST):
12718         * gst/gstvalue.c: (gst_value_fraction_subtract):
12719           Fix subtraction.
12720
12721 2005-11-22  Stefan Kost  <ensonic@users.sf.net>
12722
12723         * gst/gst.h:
12724           include "gstchildproxy.h"
12725         * gst/gstchildproxy.h:
12726         * libs/gst/controller/gstcontroller.h:
12727           use G_GNUC_NULL_TERMINATED
12728
12729 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
12730
12731         * check/gst/capslist.h:
12732         * check/gst/gstcaps.c: (GST_START_TEST):
12733         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
12734         * gst/gststructure.c: (gst_structure_parse_range),
12735         (gst_structure_fixate_field_nearest_fraction):
12736         * gst/gststructure.h:
12737         * gst/gstvalue.c: (gst_value_init_fraction_range),
12738         (gst_value_free_fraction_range), (gst_value_copy_fraction_range),
12739         (gst_value_collect_fraction_range),
12740         (gst_value_lcopy_fraction_range), (gst_value_set_fraction_range),
12741         (gst_value_set_fraction_range_full),
12742         (gst_value_get_fraction_range_min),
12743         (gst_value_get_fraction_range_max),
12744         (gst_value_serialize_fraction_range),
12745         (gst_value_transform_fraction_range_string),
12746         (gst_value_compare_fraction_range),
12747         (gst_value_deserialize_fraction_range),
12748         (gst_value_intersect_fraction_fraction_range),
12749         (gst_value_intersect_fraction_range_fraction_range),
12750         (gst_value_subtract_fraction_fraction_range),
12751         (gst_value_subtract_fraction_range_fraction),
12752         (gst_value_subtract_fraction_range_fraction_range),
12753         (gst_value_collect_fraction), (gst_value_fraction_multiply),
12754         (gst_value_fraction_subtract), (gst_value_deserialize_fraction),
12755         (gst_value_transform_string_fraction), (_gst_value_initialize):
12756         * gst/gstvalue.h:
12757           Implement fraction ranges and extend GstFraction to support
12758           arithmetic subtraction, as well as deserialization from integer
12759           strings such as "100"
12760           Add a testsuite as for int and double range set operations
12761
12762 2005-11-21  Andy Wingo  <wingo@pobox.com>
12763
12764         * gst/gsttaglist.h: 
12765         * gst/gstcaps.h: 
12766         * gst/gststructure.h: Add glib-compat.h.
12767
12768 2005-11-21  Wim Taymans  <wim@fluendo.com>
12769
12770         * gst/gstbin.c: (gst_bin_change_state_func):
12771         Fix for #321595
12772
12773 2005-11-21  Wim Taymans  <wim@fluendo.com>
12774
12775         * gst/gstsegment.h:
12776         And add a nice define too.
12777
12778 2005-11-21  Wim Taymans  <wim@fluendo.com>
12779
12780         * gst/gstsegment.c: (gst_segment_copy), (gst_segment_get_type),
12781         (gst_segment_new), (gst_segment_free), (gst_segment_init),
12782         (gst_segment_set_duration), (gst_segment_set_last_stop),
12783         (gst_segment_set_seek), (gst_segment_set_newsegment),
12784         (gst_segment_to_stream_time), (gst_segment_to_running_time),
12785         (gst_segment_clip):
12786         * gst/gstsegment.h:
12787         Make binding friendly.
12788
12789 2005-11-21  Andy Wingo  <wingo@pobox.com>
12790
12791         * gst/gsttagsetter.h: 
12792         * gst/gsttaglist.h: 
12793         * gst/gststructure.h: 
12794         * gst/gstcaps.h: 
12795         * gst/gstutils.h: Sprinkle NULL_TERMINATED to taste. Fixes
12796         #319940.
12797
12798         * gst/gsterror.c (_gst_core_errors_init):
12799         * gst/gsterror.h (GST_CORE_ERROR_MISSING_PLUGIN): New error
12800         category.
12801
12802         * gst/Makefile.am (gst_headers): Add glib-compat.h.
12803         (noinst_HEADERS): noinst the -private.
12804
12805 2005-11-21  Michael Smith <msmith@fluendo.com>
12806
12807         * gst/gstplugin.h:
12808         * gst/gstregistry.h:
12809           Remove unimplemented declarations for which we can see no sensible
12810           use.
12811
12812 2005-11-21  Andy Wingo  <wingo@pobox.com>
12813
12814         * gst/gst.h: Include glib-compat.h.
12815
12816         * gst/glib-compat.h: Add G_GNUC_NULL_TERMINATED.
12817
12818         * gst/glib-compat.c: Include the public and the private header.
12819
12820         * gst/glib-compat-private.h: Copied here from glib-compat.h.
12821
12822         * gst/gstvalue.c: 
12823         * gst/gstpad.c: 
12824         * gst/gstregistryxml.c: s/glib-compat/glib-compat-private/.
12825
12826         * check/gst/gstevent.c (create_custom_events): Check that
12827         FLUSH_STOP is serialized.
12828
12829         * check/elements/identity.c (event_func): 
12830         * check/elements/fakesrc.c (event_func): No stream lock, the core
12831         takes it.
12832
12833         * gst/base/gstbasetransform.c (gst_base_transform_event): No more
12834         stream lock taking, yay.
12835
12836         * gst/gstevent.h (GST_EVENT_FLUSH_STOP): Marked as serialized to
12837         ensure that core takes the stream lock.
12838
12839         * gst/base/gstbasesrc.c (gst_base_src_do_seek): Update for stream
12840         lock name change.
12841
12842         * gst/base/gstbasesink.c (gst_base_sink_event): No need to take
12843         the stream lock for EOS, NEWSEGMENT, or FLUSH_STOP, the core does
12844         it already. For the flush start we do take it though so we get the
12845         right preroll state change messages.
12846
12847         * gst/gstqueue.c (gst_queue_sink_activate_push): No need to take
12848         the stream lock here, the core does it for us.
12849
12850         * gst/gstpad.h (GST_PAD_GET_STREAM_LOCK): Renamed from
12851         GST_STREAM_GET_LOCK.
12852         (GST_PAD_STREAM_LOCK, GST_PAD_STREAM_TRYLOCK) 
12853         (GST_PAD_STREAM_UNLOCK, GST_PAD_STREAM_UNLOCK_FULL) 
12854         (GST_PAD_STREAM_LOCK_FULL): Renamed from GST_STREAM_*.
12855         (GST_PAD_GET_PREROLL_LOCK): Renamed from GST_PREROLL_GET_LOCK.
12856         (GST_PAD_PREROLL_LOCK, GST_PAD_PREROLL_TRYLOCK) 
12857         (GST_PAD_PREROLL_UNLOCK): Renamed from GST_PREROLL_*.
12858
12859         * gst/gstpad.c: Update for stream lock name change.
12860
12861         * gst/base/gstbasesink.c: Update for preroll lock name change.
12862
12863 2005-11-21  Wim Taymans  <wim@fluendo.com>
12864
12865         * gst/gstclock.c: (gst_clock_init), (gst_clock_set_master),
12866         (gst_clock_get_master):
12867         * gst/gstclock.h:
12868         * gst/gstsystemclock.c: (gst_system_clock_init):
12869         Convert Clock flags to object flags.
12870         Added methods to manage master/slave clocks.
12871
12872 2005-11-21  Wim Taymans  <wim@fluendo.com>
12873
12874         * check/gst/gstsegment.c: (GST_START_TEST):
12875         * docs/design/part-TODO.txt:
12876         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
12877         (gst_base_sink_event), (gst_base_sink_do_sync),
12878         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
12879         (gst_base_sink_query), (gst_base_sink_change_state):
12880         * gst/base/gstbasesink.h:
12881         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
12882         (gst_base_src_default_newsegment),
12883         (gst_base_src_configure_segment), (gst_base_src_do_seek),
12884         (gst_base_src_get_range), (gst_base_src_loop),
12885         (gst_base_src_change_state):
12886         * gst/base/gstbasesrc.h:
12887         * gst/base/gstbasetransform.c:
12888         (gst_base_transform_prepare_output_buf),
12889         (gst_base_transform_event), (gst_base_transform_change_state):
12890         * gst/base/gstbasetransform.h:
12891         * gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
12892         (gst_collect_pads_event):
12893         * gst/base/gstcollectpads.h:
12894         * gst/elements/gstfakesrc.c: (gst_fake_src_init),
12895         (gst_fake_src_create):
12896         * gst/elements/gstfakesrc.h:
12897         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
12898         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
12899         (gst_segment_set_last_stop), (gst_segment_set_seek),
12900         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
12901         (gst_segment_to_running_time), (gst_segment_clip):
12902         * gst/gstsegment.h:
12903         More segment updates, replace code in plugins with segment
12904         helper functions.
12905
12906 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
12907
12908         * gst/elements/gstfdsrc.c: (gst_fdsrc_uri_set_uri):
12909         Don't ignore sscanf results
12910
12911 2005-11-21  Andy Wingo  <wingo@pobox.com>
12912
12913         * gst/gstpad.h (GST_IS_PAD_FAST): Removed.
12914
12915         * *.h:
12916         * *.c: Ran scripts/update-macros. Oh yes.
12917
12918         * gst/gstobject.h (GST_OBJECT_GET_LOCK, GST_OBJECT_LOCK)
12919         (GST_OBJECT_TRYLOCK, GST_OBJECT_UNLOCK): Renamed from
12920         GST_GET_LOCK, etc.
12921
12922         * scripts/update-macros: New script. Run it on your files to
12923         change GST_LOCK to GST_OBJECT_LOCK, and the same for UNLOCK as
12924         well.
12925
12926 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
12927
12928         * docs/gst/Makefile.am:
12929         * docs/gst/gstreamer-docs.sgml:
12930         * docs/gst/gstreamer-sections.txt:
12931         * docs/gst/gstreamer.types:
12932         * gst/gstinfo.h:
12933           more docs fixes, add new api to the docs
12934
12935 2005-11-21  Andy Wingo  <wingo@pobox.com>
12936
12937         * gst/gstbin.c (gst_bin_remove_func): Wim claims I can remove this
12938         state_broadcast call.
12939
12940         * gst/gstsegment.c (gst_segment_init): Initialize abs_rate.
12941
12942 2005-11-21  Julien MOUTTE  <julien@moutte.net>
12943
12944         * gst/gstvalue.c: (gst_value_intersect_array): Fix wrong
12945         function calls for arrays.
12946
12947 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
12948
12949         * docs/random/ensonic/media-device-daemon.txt:
12950           wild idea, can this be done?
12951         * docs/gst/gstreamer-sections.txt:
12952         * gst/gsterror.h:
12953         * gst/gstfilter.c:
12954         * gst/gstfilter.h:
12955         * gst/gstplugin.h:
12956         * gst/gstpluginfeature.c:
12957         * gst/gsttrace.c:
12958         * gst/gstvalue.c:
12959         * gst/gstvalue.h:
12960           doc fixes and additions
12961
12962 2005-11-21  Andy Wingo  <wingo@pobox.com>
12963
12964         * gst/base/gstbasesrc.c (GST_LIVE_BROADCAST, GST_LIVE_SIGNAL) 
12965         (GST_LIVE_TIMED_WAIT, GST_LIVE_WAIT, GST_LIVE_GET_COND) 
12966         (GST_LIVE_UNLOCK, GST_LIVE_TRYLOCK, GST_LIVE_LOCK) 
12967         (GST_LIVE_GET_LOCK): Moved here from gstbasesrc.h. They are
12968         private to the basesrc implementation.
12969
12970         * gst/gstpad.c (gst_pad_send_event): Doc more. Take stream lock on
12971         behalf of event function if necessary. It should no longer be
12972         necessary to take the stream lock in pad's event functions. Fixes
12973         #320299.
12974
12975 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
12976         * docs/gst/gstreamer-sections.txt:
12977         * gst/gststructure.c: (gst_structure_fixate_field_nearest_int),
12978         (gst_structure_fixate_field_nearest_double),
12979         (gst_structure_fixate_field_boolean):
12980         * gst/gststructure.h:
12981         * win32/common/libgstreamer.def:
12982         * win32/gstreamer.def:
12983
12984         Rename gst_caps_structure_fixate_* to gst_structure_fixate_*
12985         (#322027)
12986
12987 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
12988
12989         * gst/elements/gstfdsrc.c: (_do_init), (gst_fdsrc_class_init),
12990         (gst_fdsrc_init), (gst_fdsrc_dispose), (gst_fdsrc_set_property),
12991         (gst_fdsrc_uri_get_type), (gst_fdsrc_uri_get_protocols),
12992         (gst_fdsrc_uri_get_uri), (gst_fdsrc_uri_set_uri),
12993         (gst_fdsrc_uri_handler_init):
12994         * gst/elements/gstfdsrc.h:
12995           Port fd:// URI handler from 0.8 to fdsrc
12996
12997 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
12998
12999         * gst/gstvalue.c: (gst_value_transform_fourcc_string),
13000         (gst_value_serialize_fourcc):
13001         * gst/gstvalue.h:
13002           Drop leading '%' from GST_FOURCC_FORMAT, thus making it
13003           consistent with our other format defines (#320324).
13004
13005 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
13006
13007         * gst/gstvalue.c: (gst_value_is_fixed):
13008           Revert previous commit. Value lists are by definition
13009           not fixed, as they are a list of possible values.
13010
13011 2005-11-21  Andy Wingo  <wingo@pobox.com>
13012
13013         * gst/gstevent.h (GST_EVENT_FILLER): Removed. Can be added back
13014         during the stable series if we need it. Fixes #319178.
13015
13016         * gst/gstevent.c (gst_event_new_filler): Removed.
13017
13018         * check/gst/gstevent.c: Update comment about filler events.
13019
13020 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
13021
13022         * gst/gstvalue.c: (gst_value_is_fixed):
13023           Should handle both value arrays and value lists.
13024
13025 2005-11-21  Andy Wingo  <wingo@pobox.com>
13026
13027         patch by: Alessandro Dessina <alessandro nnva org>
13028
13029         * gst/gstvalue.c (gst_value_is_fixed): Use gst_value_array
13030         functions to access arrays. Fixes #321962.
13031
13032 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
13033
13034         * docs/gst/gstreamer.types:
13035           gst_collectpads_get_type => gst_collect_pads_get_type.
13036           
13037         * gst/base/gstbasetransform.c:
13038           Remove unused SIGNAL_HANDOFF enum.
13039
13040 2005-11-21  Andy Wingo  <wingo@pobox.com>
13041
13042         * gst/gstevent.h (GstEventTypeFlags): New data type, the flags of
13043         the event type (upstream, downstream, serialized). Renamed
13044         GST_EVDIR_* and GST_EVSER to GST_EVENT_TYPE_*.
13045         (GstEventType): Use GstEventTypeFlags. Rename CUSTOM_UP to
13046         CUSTOM_UPSTREAM, CUSTOM_DS to CUSTOM_DOWNSTREAM, etc.
13047
13048         * gst/gstevent.c: Update for new CUSTOM event names.
13049
13050         * check/gst/gstevent.c: Update check for new CUSTOM event names.
13051
13052         * gst/gstevent.h:
13053         * gst/gstevent.c (gst_event_type_get_flags): New function. Fixes
13054         bug #319392.
13055
13056 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
13057
13058         * docs/gst/gstreamer-sections.txt:
13059         * win32/common/libgstbase.def:
13060         * win32/libgstbase.def:
13061         * gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
13062         (gst_collect_pads_class_init), (gst_collect_pads_init),
13063         (gst_collect_pads_finalize), (gst_collect_pads_new),
13064         (gst_collect_pads_set_function), (gst_collect_pads_add_pad),
13065         (gst_collect_pads_remove_pad), (gst_collect_pads_is_active),
13066         (gst_collect_pads_collect), (gst_collect_pads_collect_range),
13067         (gst_collect_pads_start), (gst_collect_pads_stop),
13068         (gst_collect_pads_peek), (gst_collect_pads_pop),
13069         (gst_collect_pads_available), (gst_collect_pads_read),
13070         (gst_collect_pads_flush), (gst_collect_pads_event),
13071         (gst_collect_pads_chain):
13072         * gst/base/gstcollectpads.h:
13073           Rename gst_collecpads_foo() => gst_collect_pads_foo(). Document
13074           unimplemented functions as unimplemented. Add padding to
13075           GstCollectData. (#320766, #320423)
13076
13077 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
13078
13079         * gst/gstmessage.c:
13080           Improve docs for DURATION message (usage of duration parameter)
13081           (#320113)
13082
13083 2005-11-20  Wim Taymans  <wim@fluendo.com>
13084
13085         * check/Makefile.am:
13086         * check/gst/gstsegment.c: (GST_START_TEST), (gstevents_suite),
13087         (main):
13088         * gst/Makefile.am:
13089         * gst/gst.h:
13090         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
13091         (gst_segment_set_seek), (gst_segment_set_newsegment),
13092         (gst_segment_to_stream_time), (gst_segment_to_running_time),
13093         (gst_segment_clip):
13094         * gst/gstsegment.h:
13095         Added segment helper structure and methods. Not fully implemented
13096         yet.
13097         Added segment check.
13098
13099 2005-11-20  Jan Schmidt  <thaytan@mad.scientist.com>
13100
13101         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
13102           Add a deserialisation test for fractions
13103         * examples/metadata/read-metadata.c: (message_loop),
13104         (make_pipeline), (main):
13105           Fix up metadata reading sample.
13106         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
13107           Debug format fix
13108         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
13109           Don't try and fixate empty caps
13110         * gst/gst_private.h:
13111           Wrap in G_BEGIN_DECLS/G_END_DECLS
13112         * gst/gstvalue.c: (gst_value_collect_fraction),
13113         (gst_value_set_fraction), (gst_value_get_fraction_denominator),
13114         (gst_value_transform_string_fraction),
13115         (gst_value_compare_fraction):
13116           Add some extra guards to ensure that we don't end up 
13117           with an invalid denominator of 0 in a gstfraction and
13118           that fractions always get reduced.
13119
13120 2005-11-20  Wim Taymans  <wim@fluendo.com>
13121
13122         * docs/gst/gstreamer-sections.txt:
13123         * gst/gstbuffer.h:
13124         * gst/gstelement.c:
13125         * gst/gstformat.c:
13126         * gst/gstformat.h:
13127         * gst/gstindex.h:
13128         * gst/gstquery.c:
13129         * gst/gstquery.h:
13130         * gst/gstvalue.c:
13131         Doc fixes.
13132
13133 2005-11-20  Wim Taymans  <wim@fluendo.com>
13134
13135         * docs/design/part-TODO.txt:
13136         * gst/gstcaps.h:
13137         Make a proper enum of the flag.
13138
13139 2005-11-19  Wim Taymans  <wim@fluendo.com>
13140
13141         * docs/design/part-TODO.txt:
13142         * gst/gstformat.c: (_gst_format_initialize), (gst_format_get_name),
13143         (gst_format_to_quark), (gst_format_register):
13144         * gst/gstformat.h:
13145         * gst/gstquery.c: (_gst_query_initialize),
13146         (gst_query_type_get_name), (gst_query_type_to_quark),
13147         (gst_query_type_register):
13148         * gst/gstquery.h:
13149         Add type to quark and type to string conversions.
13150
13151 2005-11-19  Andy Wingo  <wingo@pobox.com>
13152
13153         * gst/gstbuffer.h (GST_BUFFER_FLAG_ORIGINAL): Removed. Fixes
13154         #320097.
13155
13156 2005-11-19  Wim Taymans  <wim@fluendo.com>
13157
13158         * docs/design/part-TODO.txt:
13159         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
13160         (gst_bin_add_func), (gst_bin_remove_func), (bin_bus_handler),
13161         (gst_bin_handle_message_func):
13162         * gst/gstbin.h:
13163         Make message handling overridable.
13164
13165 2005-11-19  Andy Wingo  <wingo@pobox.com>
13166
13167         * gst/gstpad.h (GST_PAD_IS_USABLE): Removed. Fixes #321235.
13168
13169         * gst/gstclock.h:
13170         * gst/gstclock.c (GstClock, GstClockClass): Change resolution to
13171         be a GstClockTime.
13172         (gst_clock_set_resolution, gst_clock_get_resolution): Resolution
13173         is a GstClockTime. Fixes #321710.
13174
13175         * gst/gstclock.h (GstClock): Remove offset property. Add
13176         internal_calibration and external_calibration. Fix padding. Pad
13177         also by GstClockTime so we don't run into problems.
13178
13179         * gst/gstclock.c (gst_clock_set_rate_offset): Remove.
13180         (gst_clock_get_rate_offset): Remove.
13181         (gst_clock_set_time_adjust): Remove. Fixes #321712.
13182
13183         * gst/gstutils.h:
13184         * gst/gstutils.c (g_static_rec_cond_wait)
13185         (g_static_rec_cond_timed_wait): Removed, no longer needed.
13186
13187         * gst/gstbin.c: Remove terrible continue_state prototype.
13188
13189         * gst/gstelement.h (gst_element_continue_state): Make public.
13190
13191         * gst/gstelement.h:
13192         * gst/gstelement.c (gst_element_commit_state): Removed, replaced
13193         by continue_state. Fixes #319389.
13194
13195         * gst/gstindex.h (GstIndexFilter): Actually pass on the user_data.
13196         Really fixes #168438. However I don't see anywhere where the
13197         filter function is called... stupid GStreamer...
13198         
13199         * gst/gstindex.h (GstIndex): Add field for user_data_destroy. We
13200         don't have a dispose function, so it won't get called when the
13201         object is unreffed, but oh well!
13202
13203         * gst/gstindex.c (gst_index_set_filter_full): New API function,
13204         allows a destroy function to be set so user_data can be freed.
13205         Fixes #168438.
13206         (gst_index_set_filter): Call gst_index_set_filter_full.
13207
13208         * check/gst/gstvalue.c (test_string): Add test for bug #165650.
13209
13210         * gst/gstvalue.c (gst_string_wrap): Trying to serialize a NULL
13211         string should produce an error, given the lack of a way to
13212         represent NULL strings. Fixes #165650.
13213         
13214         * gst/gstvalue.h: 
13215         * gst/gstvalue.c (gst_value_array_append_value) 
13216         (gst_value_array_prepend_value, gst_value_array_get_size) 
13217         (gst_value_array_get_value): New API, copied from
13218         gst_value_list_*, only operates on arrays.
13219         (gst_value_list_append_value, gst_value_list_prepend_value) 
13220         (gst_value_list_concat, gst_value_list_get_size) 
13221         (gst_value_list_get_value): Only operate on lists. Fixes #156633.
13222
13223         * gst/gstvalue.c (gst_value_init_list_or_array): Renamed from
13224         init_list, because it works on both.
13225         (copy_garray_of_gstvalue): Renamed from gst_value_list_copy_array.
13226         (gst_value_copy_list_or_array): Renamed from copy_list.
13227         (gst_value_free_list_or_array): Renamed from free_list.
13228         (gst_value_collect_list_or_array): Renamed from collect_list.
13229         (gst_value_lcopy_list_or_array): Renamed from lcopy_list.
13230         (gst_value_list_or_array_peek_pointer): Renamed from
13231         list_peek_pointer.
13232         (_gst_value_array_value_table, _gst_value_list_value_table):
13233         Update value table functions.
13234         (gst_value_compare_list_or_array): Renamed from compare_list.
13235
13236         * gsttaglist.h: Whoops, foreach function returns void. Also fix
13237         some constness.
13238
13239         * gst/gsttaglist.c:
13240         * gst/gsttaglist.h (gst_tag_list_foreach): Operates on a const
13241         GstTagList*. Fixes #143472.
13242
13243         * gst/gststructure.h: Clarify what the foreach/map functions can
13244         or can't do to their arguments.
13245
13246 2005-11-18  Wim Taymans  <wim@fluendo.com>
13247
13248         * gst/gstclock.c: (gst_clock_set_calibration),
13249         (gst_clock_get_calibration):
13250         Doc and API fixes.
13251         Calibration can be set with internal time equal to current
13252         internal time too.
13253
13254 2005-11-18  Thomas Vander Stichele  <thomas at apestaart dot org>
13255
13256         * gst/gsterror.c:
13257         * gst/gsterror.h:
13258           document
13259
13260 2005-11-18  Andy Wingo  <wingo@pobox.com>
13261
13262         * configure.ac: 
13263         * pkgconfig/gstreamer-net.pc.in:
13264         * pkgconfig/gstreamer-net-uninstalled.pc.in:
13265         * pkgconfig/Makefile.am: Add net pkgconfig files.
13266
13267 2005-11-18  Stefan Kost  <ensonic@users.sf.net>
13268
13269         * gst/gstcaps.c:
13270         * gst/gstghostpad.c:
13271         * gst/gsttrace.c:
13272         * gst/gstvalue.c:
13273         * gst/gstvalue.h:
13274           docs fixes
13275
13276 2005-11-18  Andy Wingo  <wingo@pobox.com>
13277
13278         * gst/net/gstnetclientclock.c: Turn off debugging.
13279
13280         * check/net/gstnetclientclock.c (test_functioning): Assert that the
13281         times connverge somewhat. Can't make a real test.
13282
13283         * gst/net/gstnetclientclock.c (do_linear_regression): Use all
13284         integer arithmetic. Return the minimum of the domain, which can be
13285         set as "internal" for gst_clock_set_calibration.
13286         (gst_net_client_clock_observe_times): Call _set_calibration.
13287         (gst_net_client_clock_new): Call _set_calibration instead of
13288         rate_offset.
13289
13290         * check/net/gstnetclientclock.c (test_functioning): Use the right
13291         adjustment api.
13292
13293         * gst/gstclock.h:
13294         * gst/gstclock.c (gst_clock_get_calibration) 
13295         (gst_clock_set_calibration): New functions, obsolete the ones I
13296         added yesterday. Doh. Precision issues mean we have to extrapolate
13297         from a point in the more recent past than 1970.
13298         (gst_clock_get_rate_offset, gst_clock_set_rate_offset): Mark as
13299         obsolete.
13300         (gst_clock_adjust_unlocked): Use the right calibration data.
13301
13302 2005-11-18  Edward Hervey  <edward@fluendo.com>
13303
13304         * gst/base/gstbasesink.c: (gst_base_sink_change_state): 
13305         Also reset the ->current_* values in READY->PAUSED
13306
13307 2005-11-18  Andy Wingo  <wingo@pobox.com>
13308
13309         * gst/net/gstnetclientclock.c (gst_net_client_clock_thread):
13310         Whoops, check the right fd. Also add some debugging.
13311         (gst_net_client_clock_observe_times): Adjust for int64 offset.
13312         (do_linear_regression): Add a crapload of debugging. Subtract off
13313         the minimum values from the input series to discard unneeded bits.
13314         Use only int arithmetic. There is still double arithmetic when
13315         calculating the intercept that needs fixing. Return boolean to
13316         indicate success; FALSE would mean the domain or range is too
13317         great. Still needs fixes.
13318
13319 2005-11-18  Wim Taymans  <wim@fluendo.com>
13320
13321         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
13322         For the current position in stream time, we need to subtract
13323         accumulated time.
13324         
13325         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
13326         Release lock before calling the callback function of async
13327         entries.
13328
13329 2005-11-18  Andy Wingo  <wingo@pobox.com>
13330
13331         * gst/net/gstnetclientclock.c (gst_net_client_clock_class_init):
13332         Port goes all the way to MAXUINT16.
13333
13334         * gst/net/gstnettimeprovider.c: Make the port range the same as
13335         for the kernel: 0 assigns, otherwise ports are less than
13336         MAXUINT16.
13337
13338         * check/net/gstnettimeprovider.c: Adapt for 0 == kernel assigns
13339         port change.
13340
13341         * check/net/gstnetclientclock.c (test_functioning): Add the start
13342         of another test. 
13343
13344 2005-11-18  Wim Taymans  <wim@fluendo.com>
13345
13346         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
13347         (gst_bin_remove_func), (bin_bus_handler):
13348         * gst/gstbin.h:
13349         Removing a clock provider from a bin, triggers a clock lost message
13350         so that a new clock will be selected.
13351         Adding a clock to a bin triggers a clock provider message.
13352         Make sure we reselect a clock when we received a clock lost message.
13353         Keep a reference to the element that provided the clock.
13354
13355 2005-11-18  Andy Wingo  <wingo@pobox.com>
13356
13357         * gst/net/gstnetclientclock.c (gst_net_client_clock_new): Adjust
13358         the clock initially so it produces values around the base time.
13359         (gst_net_client_clock_class_init): Typo fix.
13360         (gst_net_client_clock_thread): Add note on when the socket gets
13361         closed.
13362
13363 2005-11-17  Wim Taymans  <wim@fluendo.com>
13364
13365         * gst/net/gstnetclientclock.c: (gst_net_client_clock_finalize):
13366         Free remote and local time arrays.
13367
13368 2005-11-17  Wim Taymans  <wim@fluendo.com>
13369
13370         * gst/net/gstnetclientclock.c: (do_linear_regression),
13371         (gst_net_client_clock_do_select), (gst_net_client_clock_thread):
13372         Fix compilation, uninitialized vars and a forgotten continue.
13373
13374 2005-11-17  Andy Wingo  <wingo@pobox.com>
13375
13376         * check/Makefile.am (check_PROGRAMS): 
13377         * check/net/gstnetclientclock.c: Add a most minimal test for the
13378         net client clock. More to come later.
13379
13380         * gst/net/gstnet.h: 
13381         * gst/net/Makefile.am: Add netclientclock.
13382
13383         * gst/net/gstnetclientclock.h:
13384         * gst/net/gstnetclientclock.c: New files, implement an untested
13385         GstClock that takes its time from a network time provider.
13386         Implements the algorithm in network-clock.scm.
13387
13388         * tests/network-clock.scm (*window-size*): Rename from
13389         *queue-length*.
13390         * tests/network-clock.scm (network-time): 
13391         * tests/network-clock-utils.scm (q-push): Update callers.
13392
13393 2005-11-17  Wim Taymans  <wim@fluendo.com>
13394
13395         * gst/gstbin.c: (gst_bin_provide_clock_func),
13396         (gst_bin_sort_iterator_new):
13397         And unref the child too..
13398
13399 2005-11-17  Wim Taymans  <wim@fluendo.com>
13400
13401         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
13402         (gst_bin_sort_iterator_new), (gst_bin_iterate_sorted):
13403         Refactor the sort iterator so it can be used while holding the
13404         LOCK too.
13405         Make clock selection select a clock closest to the source.
13406
13407 2005-11-17  Michael Smith <msmith@fluendo.com>
13408
13409         * gst/gstclock.c: (gst_clock_init), (gst_clock_adjust_unlocked),
13410         (gst_clock_set_rate_offset), (gst_clock_get_rate_offset):
13411         * gst/gstclock.h:
13412           Anonymous structs are a gcc (and some other compilers) extension, so
13413           don't use them. Since this is only for ABI-compatibility, and our
13414           API/ABI freeze is over in a few days, this whole thing will only
13415           last a few days, so don't bother trying to think up a meaningful
13416           name for the struct.
13417
13418 2005-11-17  Andy Wingo  <wingo@pobox.com>
13419
13420         * gst/gstclock.h (GstClock): Add rate and offset properties,
13421         preserving ABI stability. Add rate/offset accessors. Will file bug
13422         for the freeze break.
13423
13424         * gst/gstclock.c (gst_clock_adjust_unlocked): Implement using rate
13425         and offset, trying to keep precision and avoiding
13426         underflow/overflow.
13427         (gst_clock_set_rate_offset, gst_clock_get_rate_offset): New
13428         functions. Make gst_clock_set_time_adjust obsolete.
13429         (gst_clock_set_time_adjust): Note that this function is obsolete.
13430         Will file bug soon.
13431
13432         * gst/base/gstbasetransform.h: Make the ABI-stability hack
13433         greppable by using GST_PADDING-1+1.
13434
13435 2005-11-17  Torsten Schoenfeld  <kaffeetisch at gmx dot net>
13436
13437         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
13438
13439         * gst/gstmessage.c: (gst_message_parse_clock_lost):
13440           Assertion should check for CLOCK_LOST, not NEW_CLOCK (#321648).
13441
13442         * gst/gstpadtemplate.h:
13443         * gst/gstpluginfeature.h:
13444           Don't use c++ style comments in headers (#321638).
13445
13446 2005-11-16  Andy Wingo  <wingo@pobox.com>
13447
13448         * gst/net/gstnettimepacket.c (gst_net_time_packet_send): Free
13449         buffer.
13450
13451         * check/net/gstnettimeprovider.c: Check to see that the time
13452         provider actually provides times. Works, yo!
13453
13454 2005-11-16  Wim Taymans  <wim@fluendo.com>
13455
13456         * check/Makefile.am:
13457         Enable more tests.
13458
13459         * check/elements/fakesrc.c: (GST_START_TEST):
13460         Set element to NULL before disposing it.
13461
13462 2005-11-16  Andy Wingo  <wingo@pobox.com>
13463
13464         * gst/net/Makefile.am:
13465         * gst/net/gstnet.h:
13466         * gst/net/gstnettimeprovider.c: 
13467         * gst/net/gstnettimeprovider.h: Use the timepacket stuff in the
13468         provider, include it from gstnet.h, and add it to the build.
13469
13470         * gst/net/gstnettimepacket.h: 
13471         * gst/net/gstnettimepacket.c: New files, abstracts out the packet
13472         sending and receiving.
13473
13474 2005-11-16  Wim Taymans  <wim@fluendo.com>
13475
13476         * check/Makefile.am:
13477         Enable valgrind check.
13478
13479         * gst/elements/gstfakesrc.c: (gst_fake_src_alloc_parent),
13480         (gst_fake_src_alloc_buffer):
13481         Fix memleak.
13482
13483 2005-11-16  Wim Taymans  <wim@fluendo.com>
13484
13485         * gst/net/gstnettimeprovider.c: (gst_net_time_provider_finalize):
13486         Call parent finalize too.
13487
13488 2005-11-16  Wim Taymans  <wim@fluendo.com>
13489
13490         * check/Makefile.am:
13491         Enable valgrind check that should work fine now.
13492
13493         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
13494         * gst/gstqueue.c: (gst_queue_init):
13495         Fix memleaks in pad allocation.
13496
13497 2005-11-16  Andy Wingo  <wingo@pobox.com>
13498
13499         * gst/net/Makefile.am:
13500         * gst/net/gstnet.h: New part of core to hold network elements and
13501         objects. Put in core because it exposes API that applications want
13502         to use. The library is named libgstnet-tempname right now because
13503         of the existing libgstnet in gst-plugins-base. Solution is
13504         probably to rename the one in plugins-base; will file a bug for
13505         the freeze break.
13506
13507         * gst/net/gstnettimeprovider.c: 
13508         * gst/net/gstnettimeprovider.h: New object to export a GstClock's
13509         get_time call over the network.
13510
13511         * configure.ac: 
13512         * gst/Makefile.am (lib_LTLIBRARIES): Add gstnet to the build.
13513
13514         * check/Makefile.am:
13515         * check/net/gstnettimeprovider.c: A most minimal test suite. Will
13516         get additions shortly.
13517
13518 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
13519
13520         * gst/gstpad.c: (gst_pad_new_from_static_template):
13521         * gst/gstpad.h:
13522           add gst_pad_new_from_static_template functions
13523         * gst/check/gstcheck.c: (gst_check_setup_src_pad),
13524         (gst_check_setup_sink_pad):
13525         * gst/elements/gsttee.c: (gst_tee_init):
13526           and use them
13527
13528 2005-11-16  Wim Taymans  <wim@fluendo.com>
13529
13530         * gst/gstpad.c: (gst_pad_pause_task):
13531         Removed warning, it's not really an error either.
13532
13533 2005-11-16  Wim Taymans  <wim@fluendo.com>
13534
13535         * gst/base/gstbasetransform.c:
13536         (gst_base_transform_prepare_output_buf),
13537         (gst_base_transform_event):
13538         Check if the caps are NULL, this can happen if the element
13539         is shutting down and the pad caps are set to NULL.
13540
13541 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
13542
13543         * gst/elements/gsttee.c: (gst_tee_init):
13544           fix pad template leak in tee
13545
13546 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
13547
13548         * gst/glib-compat.c: (g_value_dup_gst_object):
13549         * gst/glib-compat.h:
13550         * gst/gstpad.c: (gst_pad_set_property):
13551           use gst_object_ref when setting the pad template; this will
13552           trigger the pad template leaks on GLib 2.6 and the slaves
13553
13554 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
13555
13556         * gst/glib-compat.c: (gst_flags_get_first_value):
13557         * gst/glib-compat.h:
13558         * gst/gstregistryxml.c:
13559           remove functions copied from GLib 2.6
13560
13561 2005-11-16  Michael Smith <msmith@fluendo.com>
13562
13563         * gst/Makefile.am:
13564           Don't link against VALGRIND_LIBS. That was always the wrong thing to
13565           do, but only breaks with newer valgrind versions. We're not a
13566           valgrind tool, we have no link-time dependencies on libcoregrind.
13567
13568 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
13569
13570         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
13571           some debug changes
13572         * gst/gstmessage.h:
13573           typo fixes
13574
13575 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
13576
13577         * gst/base/gstbasesrc.c: (gst_base_src_init):
13578         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
13579         * gst/gstqueue.c: (gst_queue_init):
13580         * gst/gstregistryxml.c: (load_feature):
13581           Revert all these unrefs, they don't even pass make check !
13582
13583 2005-11-15  Johan Dahlin  <johan@gnome.org>
13584
13585         * gst/base/gstbasesrc.c: (gst_base_src_init):
13586         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
13587         * gst/gstqueue.c: (gst_queue_init): 
13588         Free pad templates, fixes a couple of leaks.
13589
13590 2005-11-15  Daniel Fischer  <dan at f3c dot com>
13591
13592         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
13593
13594         * gst/gstpad.c: (gst_pad_get_property):
13595           GST_PAD_PAD_TEMPLATE(pad) gets the pad template, while
13596           GST_PAD_TEMPLATE(pad) does a cast. We want the former here.
13597           (#321452)
13598
13599 2005-11-15  Wim Taymans  <wim@fluendo.com>
13600
13601         * gst/gstevent.c:
13602         Small doc update.
13603
13604 2005-11-15  Andy Wingo  <wingo@pobox.com>
13605
13606         * gst/gstelement.c (gst_element_set_base_time): Add debugging.
13607
13608         * gst/gstpipeline.c (gst_pipeline_set_new_stream_time): Document
13609         using GST_CLOCK_TIME_NONE to disable base time management.
13610         (do_pipeline_seek, gst_pipeline_change_state): Don't reset stream
13611         time if it was NONE before.
13612         (gst_pipeline_change_state): Only munge the base time if
13613         stream_time != GST_CLOCK_TIME_NONE.
13614
13615         * check/gst/gstpipeline.c (test_base_time): Punt around the
13616         problem of the probe not being called, because that's not the
13617         issue I'm looking at. Add a check that setting stream_time to NONE
13618         disables base time management.
13619         
13620 2005-11-15  Wim Taymans  <wim@fluendo.com>
13621
13622         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
13623         segment_stop == -1 at startup.
13624
13625         * gst/base/gstbasetransform.c: (gst_base_transform_event),
13626         (gst_base_transform_change_state):
13627         Init segment values at start.
13628
13629 2005-11-15  Wim Taymans  <wim@fluendo.com>
13630
13631         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
13632         0 segment values are 0 in any format.
13633
13634         * gst/base/gstbasetransform.c: (gst_base_transform_event):
13635         * gst/base/gstbasetransform.h:
13636         Parse newsegment correctly in basetransform
13637
13638         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
13639         Sync to clock using updated segment values.
13640
13641 2005-11-15  Andy Wingo  <wingo@pobox.com>
13642
13643         * check/gst/gstpipeline.c (test_base_time): Add check that the
13644         base time and stream time are reset correctly.
13645
13646 2005-11-15  Wim Taymans  <wim@fluendo.com>
13647
13648         * docs/design/part-TODO.txt:
13649         Some more TODO items.
13650
13651 2005-11-15  Andy Wingo  <wingo@pobox.com>
13652
13653         * gst/elements/gstfakesrc.c (gst_fake_src_create): It's not an
13654         error if the user selected "no clock" as the clocking method.
13655
13656         * check/gst/gstpipeline.c (test_base_time): New test for buffer
13657         timestamps with live capture.
13658
13659         * gst/elements/gstfakesrc.c (gst_fake_src_create): If the datarate
13660         is 0 but we are a live source, timestamp the buffers using the
13661         element's clock.
13662
13663 2005-11-14  Stefan Kost  <ensonic@users.sf.net>
13664
13665         * docs/gst/gstreamer-sections.txt:
13666         * gst/gsterror.c:
13667         * gst/gstghostpad.c:
13668         * gst/gstobject.h:
13669         * gst/gstxml.c:
13670           more section docs
13671
13672 2005-11-14  Wim Taymans  <wim@fluendo.com>
13673
13674         * common/gst.supp:
13675           add suppressions from Wim's Debian machine
13676
13677 2005-11-14  Thomas Vander Stichele  <thomas at apestaart dot org>
13678
13679         * common/gst.supp:
13680           add suppressions from Andy's AMD64 Ubuntu machine
13681
13682 2005-11-14  Andy Wingo  <wingo@pobox.com>
13683
13684         * gst/gstpad.c (gst_pad_set_active): Change docs; parent's
13685         STATE_LOCK not necessary. Fixes #311489.
13686
13687         * gst/gsterror.c (FILE_A_BUG): Be polite *and* helpful. Fixes
13688         #305291.
13689
13690         * gst/gstindex.c (gst_index_add_object): Note in the docs that
13691         this function is not implemented.
13692
13693 2005-11-14  Julien MOUTTE  <julien@moutte.net>
13694
13695         * gst/base/gstbasetransform.c:
13696         (gst_base_transform_prepare_output_buf):
13697         Ref the source pad caps while we need them.
13698         Fixes (#321386)
13699
13700 2005-11-11  Wim Taymans  <wim@fluendo.com>
13701
13702         * docs/gst/gstreamer-sections.txt:
13703         Added some docs for GstCollectData.
13704
13705         * gst/base/gstadapter.c:
13706         Some small code example fix.
13707
13708         * gst/base/gstcollectpads.c:
13709         * gst/base/gstcollectpads.h:
13710         Document some more.
13711
13712 2005-11-11  Thomas Vander Stichele  <thomas at apestaart dot org>
13713
13714         * configure.ac: back to HEAD
13715
13716 === release 0.9.5 ===
13717
13718 2005-11-11  Thomas Vander Stichele <thomas at apestaart dot org>
13719
13720         * configure.ac:
13721           releasing 0.9.5, "Bike Lunch Day"
13722
13723 2005-11-11  Wim Taymans  <wim@fluendo.com>
13724
13725         * gst/gstbuffer.c: (_gst_buffer_copy):
13726         Copy more flags.
13727
13728         * gst/gstcaps.c: (gst_caps_is_equal):
13729         Fix some docs.
13730         Make _is_equal fast in the trivial cases.
13731
13732         * gst/gstminiobject.c:
13733         * gst/gstminiobject.h:
13734         More docs. Spifify .h file.
13735
13736         * gst/gstutils.c:
13737         Small doc update.
13738
13739 2005-11-11  Wim Taymans  <wim@fluendo.com>
13740
13741         * gst/base/gstbasetransform.c:
13742         (gst_base_transform_prepare_output_buf),
13743         (gst_base_transform_handle_buffer):
13744         Small cleanups.
13745         If we're processing a buffer and need to allocate an output
13746         buffer, we cannot accept a format change. If we did get a 
13747         format change, we have to alloc a buffer ourselves of the 
13748         right size.
13749
13750 2005-11-11  Wim Taymans  <wim@fluendo.com>
13751
13752         * gst/gstpad.c: (gst_pad_get_caps), (gst_pad_peer_get_caps):
13753         While checking the flag for reentrancy in the gstcaps function
13754         is nice to detect recursive invocations, it also makes it 
13755         impossible to call getcaps from multiple threads, which must be
13756         possible. So, checking for recursive calls has to go.
13757
13758 2005-11-11  Michael Smith <msmith@fluendo.com>
13759
13760         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
13761           Don't sync on buffers that fall partially outside our current
13762           segment. Prevents an assertion failure/abort playing some files.
13763
13764 2005-11-10  Andy Wingo  <wingo@pobox.com>
13765
13766         * check/gst/gstbin.c (test_message_state_changed_children): Style
13767         fix..
13768
13769         * gst/gstbus.c (poll_destroy, poll_func, gst_bus_poll): Implement
13770         gst_bus_poll with the signal watch. Ensures that poll and a signal
13771         watch see the same messages.
13772
13773         * check/gst/gstbus.c (test_watch_with_poll): New test, checks that
13774         a poll and a watch at the same time get the same messages.
13775
13776 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
13777
13778         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps):
13779         * gst/gstcaps.c: (gst_caps_intersect):
13780           Don't call gst_caps_do_simplify - it doesn't respect order of caps
13781           and it's not needed.
13782
13783 2005-11-10  Wim Taymans  <wim@fluendo.com>
13784
13785         * docs/design/part-TODO.txt:
13786         Updated todo.
13787
13788 2005-11-10  Wim Taymans  <wim@fluendo.com>
13789
13790         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
13791         * gst/base/gstbasesrc.c: (gst_base_src_wait),
13792         (gst_base_src_do_sync), (gst_base_src_get_range):
13793         Implement clock sync in base class.
13794
13795 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
13796
13797         patch by: Tim-Philipp Müller <tim at centricular dot net>
13798
13799         * gst/gststructure.c: (gst_structure_parse_field),
13800         (gst_structure_from_string):
13801           Forward-port a 0.8 patch to handle escaped spaces in structure string,
13802           so that gst_parse_launch() can deal with spaces in filtered link
13803           caps (fixes #164479)
13804         * check/gst/capslist.h:
13805         * check/gst/gststructure.c: (GST_START_TEST):
13806           add unit tests for this change
13807
13808 2005-11-10  Wim Taymans  <wim@fluendo.com>
13809
13810         * docs/gst/gstreamer-sections.txt:
13811         * gst/gstelement.c:
13812         * gst/gstelement.h:
13813         Fix docs, move some STATE macros to private.
13814
13815 2005-11-10  Wim Taymans  <wim@fluendo.com>
13816
13817         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
13818         Added check for bug #317341
13819
13820         * gst/gstbuffer.c:
13821         * gst/gstbuffer.h:
13822         Some more spiffifying.
13823
13824         * gst/gstghostpad.c: (gst_ghost_pad_do_link):
13825         Call peer linkfunction if we are a source pad. Totally fixes
13826         #317341
13827
13828         * gst/gstpad.c:
13829         Update docs, source pads should call the peer linkfunction
13830         so they can atomically perform the pad link.
13831
13832 2005-11-09  Wim Taymans  <wim@fluendo.com>
13833
13834         * gst/gstbuffer.c:
13835         * gst/gstbuffer.h:
13836         Uber-spiffy-spiffify some more.
13837
13838 2005-11-09  Tim-Philipp Müller  <tim at centricular dot net>
13839
13840         * gst/base/gstcollectpads.c: (gst_collectpads_add_pad):
13841         * gst/elements/gstfilesink.c: (gst_file_sink_init):
13842         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
13843         * gst/gstghostpad.c: (gst_ghost_pad_set_internal),
13844         (gst_ghost_pad_init), (gst_ghost_pad_new_notarget):
13845         * gst/gstpad.c: (gst_pad_init):
13846           Use GST_DEBUG_FUNCPTR() more extensively.
13847
13848 2005-11-09  Wim Taymans  <wim@fluendo.com>
13849
13850         * gst/gstobject.c: (gst_object_class_init):
13851         * gst/gstobject.h:
13852         Documentation fixes.
13853
13854 2005-11-09  Edward Hervey  <edward@fluendo.com>
13855
13856         * gst/gsttypefindfactory.c:
13857         Fix docs.
13858         
13859 2005-11-09  Edward Hervey  <edward@fluendo.com>
13860
13861         * gst/base/gsttypefindhelper.c:
13862         * gst/gsttypefind.c:
13863         * gst/gsttypefind.h:
13864         Fix docs.
13865
13866 2005-11-09  Wim Taymans  <wim@fluendo.com>
13867
13868         * gst/gstiterator.c:
13869         Fix revision data.
13870
13871         * gst/gsttask.c:
13872         * gst/gsttask.h:
13873         Fix docs.
13874
13875 2005-11-09  Wim Taymans  <wim@fluendo.com>
13876
13877         * gst/gstevent.h:
13878         * gst/gsturi.h:
13879         Fix docs.
13880
13881 2005-11-09  Wim Taymans  <wim@fluendo.com>
13882
13883         * docs/gst/gstreamer-sections.txt:
13884         Moved the message async delivery private lock and cond
13885         to the private section.
13886
13887         * gst/gstmessage.c:
13888         * gst/gstmessage.h:
13889         Fixed docs.
13890
13891 2005-11-09  Edward Hervey  <edward@fluendo.com>
13892
13893         * docs/gst/gstreamer-sections.txt:
13894         * gst/gsturi.c:
13895         * gst/gsturi.h:
13896         Document GstURIHandler
13897
13898 2005-11-09  Wim Taymans  <wim@fluendo.com>
13899
13900         * gst/gstiterator.c: (gst_iterator_fold), (gst_iterator_foreach),
13901         (gst_iterator_find_custom):
13902         * gst/gstiterator.h:
13903         Fix iterator docs.
13904
13905 2005-11-09  Wim Taymans  <wim@fluendo.com>
13906
13907         * gst/gstbin.h:
13908         Document another field.
13909
13910         * gst/gststructure.c:
13911         * gst/gststructure.h:
13912         Document.
13913
13914 2005-11-09  Wim Taymans  <wim@fluendo.com>
13915
13916         * gst/gstbin.h:
13917         Documented structs.
13918
13919 2005-11-09  Wim Taymans  <wim@fluendo.com>
13920
13921         * docs/gst/gstreamer-sections.txt:
13922         Added some new macros.
13923
13924         * gst/gstclock.c:
13925         * gst/gstclock.h:
13926         * gst/gstobject.h:
13927         Docs updates.
13928
13929 2005-11-09  Wim Taymans  <wim@fluendo.com>
13930
13931         * docs/design/part-TODO.txt:
13932         Some more items for the TODO
13933
13934         * gst/gstcaps.c:
13935         * gst/gstcaps.h:
13936         Document GstCaps.
13937
13938 2005-11-09  Andy Wingo  <wingo@pobox.com>
13939
13940         * gst/base/gstbasesink.c: Add the beginning of docs here -- have
13941         to work on something else now tho...
13942
13943         * gst/base/gstadapter.c: More adapter docs.
13944
13945         * gst/elements/gstfilesink.c (gst_file_sink_start) 
13946         (gst_file_sink_stop): New functions, replace the state change
13947         handler.
13948         (gst_file_sink_class_init): Hook up the start and stop functions.
13949         (gst_file_sink_base_init): Don't set the state change handler any
13950         more. It was a bit ugly too, being set from here...
13951         (gst_file_sink_get_property, gst_file_sink_set_property):
13952         Cleanups...
13953         (gst_file_sink_set_location): More robust check that doesn't call
13954         GST_STATE. Ugggggg.
13955
13956 2005-11-08  Tim-Philipp Müller  <tim at centricular dot net>
13957
13958         * gst/base/gstbasetransform.c: (gst_base_transform_event):
13959           Hold STREAM_LOCK while pushing newsegment or tag events as well.
13960
13961 2005-11-08  Wim Taymans  <wim@fluendo.com>
13962
13963         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
13964         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
13965         (gst_base_sink_chain), (gst_base_sink_change_state):
13966         * gst/base/gstbasesink.h:
13967         * gst/base/gstbasesrc.h:
13968         * gst/gstelement.h:
13969         * gst/gstevent.h:
13970         Avoid excessive typechecking in macros.
13971
13972         * gst/gstminiobject.c: (gst_mini_object_get_type),
13973         (gst_mini_object_init), (gst_mini_object_new),
13974         (gst_mini_object_free):
13975         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
13976         (gst_object_finalize):
13977         Remove cruft code, optimize alloc_trace.
13978
13979 2005-11-07  Thomas Vander Stichele  <thomas at apestaart dot org>
13980
13981         * docs/faq/gst-uninstalled:
13982           fix up PS1 for systems that try to reset it
13983
13984 2005-11-07  Wim Taymans  <wim@fluendo.com>
13985
13986         * gst/base/gstbasesrc.c: (gst_base_src_init),
13987         (gst_base_src_get_range):
13988         Set the segment_end to -1 initially. Fixed typefind.
13989
13990 2005-11-07  Tim-Philipp Müller  <tim at centricular dot net>
13991
13992         * gst/base/gstadapter.c:
13993           Debug category should be 'adapter', not 'GstAdapter'.
13994           
13995         * gst/base/gstcollectpads.c: (gst_collectpads_base_init),
13996         (gst_collectpads_class_init), (gst_collectpads_init),
13997         (gst_collectpads_peek), (gst_collectpads_pop),
13998         (gst_collectpads_event), (gst_collectpads_chain):
13999           Add debug category and some debugging output. Use boilerplate
14000           macros. Remove some extraneous words from docs.
14001
14002 2005-11-05  Andy Wingo  <wingo@pobox.com>
14003
14004         * gst/base/gstpushsrc.c: Shorten by 30% via use of boilerplate
14005         macro.
14006
14007 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
14008
14009         * docs/gst/gstreamer-sections.txt:
14010         * gst/gstcaps.h:
14011         * gst/gstinfo.c:
14012         * gst/gstminiobject.h:
14013         * gst/gstobject.h:
14014         * gst/gstutils.h:
14015           more docs added
14016
14017 2005-11-04  Wim Taymans  <wim@fluendo.com>
14018
14019         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
14020         Small update to stop at the configured segment_end
14021         position.
14022
14023 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
14024
14025         * gst/gstregistry.c:
14026         * gst/gstregistry.h:
14027           added missing docs
14028
14029 2005-11-04  Edward Hervey  <edward@fluendo.com>
14030
14031         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
14032         Check if we are doing a segment seek and have arrived at the
14033         end of that segment.
14034
14035 2005-11-04  Wim Taymans  <wim@fluendo.com>
14036
14037         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_sync_handler):
14038         Don't leak a mutex unlock in case of an error.
14039
14040         * gst/gstbus.h:
14041         Doc fixes.
14042
14043 2005-11-04  Wim Taymans  <wim@fluendo.com>
14044
14045         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_init),
14046         (gst_bus_post):
14047         Get the context to wake up only once.
14048
14049 2005-11-03  Wim Taymans  <wim@fluendo.com>
14050
14051         * check/states/sinks.c: (GST_START_TEST):
14052         Uncomment fixed check.
14053
14054         * docs/design/part-TODO.txt:
14055         Updated TODO.
14056
14057         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
14058         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
14059         (gst_base_sink_get_position):
14060         If we are going to PLAYING, post the right pending state
14061         when we post the intermediate paused message.
14062
14063         * gst/gstelement.c: (gst_element_continue_state),
14064         (gst_element_set_state_func), (gst_element_change_state):
14065         Don't post state changes that were between the same state
14066         and were not ASYNC.
14067
14068 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
14069
14070         * docs/gst/gstreamer-sections.txt:
14071         * gst/gstcaps.h:
14072         * gst/gstinfo.c:
14073         * gst/gstminiobject.h:
14074         * gst/gstobject.h:
14075         * gst/gstutils.h:
14076           more docs and doc style fixes
14077
14078 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
14079
14080         * docs/gst/gstreamer-sections.txt:
14081         * gst/gstelement.c:
14082         * gst/gstminiobject.c:
14083         doc fixes
14084
14085 2005-11-03  Andy Wingo  <wingo@pobox.com>
14086
14087         * check/states/sinks.c (test_livesrc_sink): Add checks that the
14088         state-changed messages actually have the right order and the right
14089         values.
14090
14091 2005-11-03  Wim Taymans  <wim@fluendo.com>
14092
14093         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
14094         Added some more checks. Specifically the case where NO_PREROLL
14095         elements are in the pipeline.
14096
14097         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
14098         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
14099         (gst_base_sink_get_position):
14100         Post READY->PAUSED state change messages too.
14101         Fix bug where VOID was posted as pending state...
14102
14103         * gst/gstbin.c: (gst_bin_recalc_state):
14104         use _element_continue_state() to continue the state change.
14105
14106         * gst/gstelement.c: (gst_element_continue_state),
14107         (gst_element_commit_state), (gst_element_set_state_func),
14108         (gst_element_change_state), (gst_element_change_state_func):
14109         Lots of state change cleanups, assign the STATE_RETURN in
14110         a new continue_state() function that also propagates the
14111         last return value from a state change to the app.
14112         Update some debug statements with proper category.
14113
14114 2005-11-03  Wim Taymans  <wim@fluendo.com>
14115
14116         * docs/design/part-events.txt:
14117         * docs/design/part-gstpipeline.txt:
14118         * docs/design/part-messages.txt:
14119         * docs/design/part-overview.txt:
14120         * docs/design/part-seeking.txt:
14121         * docs/design/part-states.txt:
14122         * docs/design/part-trickmodes.txt:
14123         * docs/manual/advanced-position.xml:
14124         Small docs updates.
14125
14126         * gst/gstobject.h:
14127         People think !! is ugly, this looks better.
14128
14129         * gst/gstpad.c: (gst_pad_set_blocked_async):
14130         Remove !! since it's fixed elsewhere now.
14131
14132 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
14133
14134         * gst/gstminiobject.h:
14135         * gst/gstobject.h:
14136           Add !! to _FLAG_IS_SET macros to make the result boolean.
14137
14138 2005-11-03  Edward Hervey  <edward@fluendo.com>
14139
14140         * gst/gstpad.c: (gst_pad_set_blocked_async):
14141         comparing a flag and a gboolean rarely returns coherent results...
14142         Added two characters (!!) to make that work correctly.
14143         
14144 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
14145
14146         * gst/gstbus.c: (gst_bus_class_init):
14147           Fix some typos.
14148           
14149         * gst/gstqueue.c: (gst_queue_loop):
14150           Don't assume a miniobject that isn't a buffer is an
14151           event (it could be that there is a refcounting
14152           problem somewhere and the pointer is stale and
14153           refers to an already destroyed miniobject).
14154
14155 2005-11-03  Julien MOUTTE  <julien@moutte.net>
14156
14157         * gst/gstpad.c: (gst_pad_alloc_buffer): Fix some typos.
14158
14159 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
14160
14161         * docs/manual/advanced-position.xml:
14162           Update seek example and explanations to current 0.9 API.
14163
14164         * gst/elements/gsttypefindelement.c:
14165         (gst_type_find_element_activate):
14166           Remove FIXME comment now that the found caps
14167           are unreffed.
14168
14169 2005-11-03  Thomas Vander Stichele  <thomas at apestaart dot org>
14170
14171         * gst/gstregistryxml.c: (load_feature):
14172           Add another GST_STR_NULL instance
14173
14174 2005-11-02  Edward Hervey  <edward@fluendo.com>
14175
14176         * gst/gstpad.c: (handle_pad_block):
14177         Follow-up to Wim's patch, solves deadlock for blocked and flushing pads
14178         
14179 2005-11-02  Wim Taymans  <wim@fluendo.com>
14180
14181         * gst/gstbin.c:
14182         Fix typo in docs.
14183
14184         * gst/gstelement.c: (gst_element_commit_state):
14185         Remove unused value.
14186
14187         * gst/gstiterator.c:
14188         Mention that the returned element is reffed in the docs.
14189
14190 2005-11-02  Wim Taymans  <wim@fluendo.com>
14191
14192         * gst/gstpad.c: (gst_pad_alloc_buffer), (handle_pad_block),
14193         (gst_pad_push), (gst_pad_push_event):
14194         Unlock blocked pads when they are flushed.
14195
14196 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
14197
14198         * docs/README:
14199         * docs/gst/gstreamer-sections.txt:
14200         * gst/gstbin.c:
14201           doc updates
14202         * gst/gstregistry.c: (gst_registry_scan_path_level):
14203           fix for a nasty little missed situation where an installed plug-in
14204           which was in the cache did not get overridden by an uninstalled one
14205           which was earlier in the plugin path because the newly created plugin
14206           for the uninstalled one (not in the registry) didn't get its
14207           ->registered set to TRUE
14208
14209 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
14210
14211         * gst/base/gstcollectpads.c: (gst_collectpads_set_function),
14212         (gst_collectpads_add_pad), (gst_collectpads_remove_pad),
14213         (gst_collectpads_is_active), (gst_collectpads_collect),
14214         (gst_collectpads_collect_range), (gst_collectpads_start),
14215         (gst_collectpads_stop), (gst_collectpads_peek),
14216         (gst_collectpads_pop), (gst_collectpads_available),
14217         (gst_collectpads_read), (gst_collectpads_flush):
14218           Guard public API with assertions.
14219         
14220         * gst/gstpad.c:
14221           Fix docs for gst_pad_set_link_function().
14222
14223 2005-11-02  Johan Dahlin  <johan@gnome.org>
14224
14225         * gst/elements/gsttypefindelement.c (gst_type_find_element_activate): 
14226         Unref found_caps after we used it.
14227
14228 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
14229
14230         * gst/base/gstcollectpads.c: (gst_collectpads_peek):
14231           Don't try to ref NULL.
14232
14233 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
14234
14235         * win32/common/config.h.in:
14236           provide a GST_FUNCTION that just gives a string for now
14237
14238 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
14239
14240         * win32/common/gstenumtypes.c: (register_gst_object_flags),
14241         (gst_object_flags_get_type), (register_gst_bin_flags),
14242         (gst_bin_flags_get_type), (register_gst_buffer_flag),
14243         (gst_buffer_flag_get_type), (register_gst_bus_flags),
14244         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
14245         (gst_bus_sync_reply_get_type), (register_gst_clock_return),
14246         (gst_clock_return_get_type), (register_gst_clock_entry_type),
14247         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
14248         (gst_clock_flags_get_type), (register_gst_state),
14249         (gst_state_get_type), (register_gst_state_change_return),
14250         (gst_state_change_return_get_type), (register_gst_state_change),
14251         (gst_state_change_get_type), (register_gst_element_flags),
14252         (gst_element_flags_get_type), (register_gst_core_error),
14253         (gst_core_error_get_type), (register_gst_library_error),
14254         (gst_library_error_get_type), (register_gst_resource_error),
14255         (gst_resource_error_get_type), (register_gst_stream_error),
14256         (gst_stream_error_get_type), (register_gst_event_type),
14257         (gst_event_type_get_type), (register_gst_seek_type),
14258         (gst_seek_type_get_type), (register_gst_seek_flags),
14259         (gst_seek_flags_get_type), (register_gst_format),
14260         (gst_format_get_type), (register_gst_index_certainty),
14261         (gst_index_certainty_get_type), (register_gst_index_entry_type),
14262         (gst_index_entry_type_get_type),
14263         (register_gst_index_lookup_method),
14264         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
14265         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
14266         (gst_index_resolver_method_get_type), (register_gst_index_flags),
14267         (gst_index_flags_get_type), (register_gst_debug_level),
14268         (gst_debug_level_get_type), (register_gst_debug_color_flags),
14269         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
14270         (gst_iterator_result_get_type), (register_gst_iterator_item),
14271         (gst_iterator_item_get_type), (register_gst_message_type),
14272         (gst_message_type_get_type), (register_gst_mini_object_flags),
14273         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
14274         (gst_pad_link_return_get_type), (register_gst_flow_return),
14275         (gst_flow_return_get_type), (register_gst_activate_mode),
14276         (gst_activate_mode_get_type), (register_gst_pad_direction),
14277         (gst_pad_direction_get_type), (register_gst_pad_flags),
14278         (gst_pad_flags_get_type), (register_gst_pad_presence),
14279         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
14280         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
14281         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
14282         (gst_plugin_error_get_type), (register_gst_plugin_flags),
14283         (gst_plugin_flags_get_type), (register_gst_rank),
14284         (gst_rank_get_type), (register_gst_query_type),
14285         (gst_query_type_get_type), (register_gst_tag_merge_mode),
14286         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
14287         (gst_tag_flag_get_type), (register_gst_task_state),
14288         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
14289         (gst_alloc_trace_flags_get_type),
14290         (register_gst_type_find_probability),
14291         (gst_type_find_probability_get_type), (register_gst_uri_type),
14292         (gst_uri_type_get_type), (register_gst_parse_error),
14293         (gst_parse_error_get_type):
14294         * win32/common/gstversion.h:
14295           update win32 copies
14296
14297 2005-11-01  Luca Ognibene  <luogni@tin.it>
14298
14299         * gst/gst.c:
14300           fix docs. popt is dead, long live GOption.
14301
14302 2005-10-31  Wim Taymans  <wim@fluendo.com>
14303
14304         * gst/gstbuffer.h:
14305         Small doc fix.
14306
14307 2005-10-31  Andy Wingo  <wingo@pobox.com>
14308
14309         * Boo!
14310
14311         * gst/gstqueue.c (gst_queue_chain): Fix downstream leaky mode.
14312
14313         * gst/gstobject.c (gst_object_dispatch_properties_changed): No
14314         need to serialize property notifications on GLib 2.8. GLib 2.6 has
14315         the possibility of deadlocks here if code calling notify() or
14316         set() has a lock that can be taken in another notify handler (ABBA
14317         with class lock and e.g. python GIL state lock).
14318
14319 2005-10-28  Julien MOUTTE  <julien@moutte.net>
14320
14321         * gst/gstbus.c: Doc updates.
14322
14323 2005-10-28  Wim Taymans  <wim@fluendo.com>
14324
14325         * docs/design/part-TODO.txt:
14326         * gst/gstiterator.c:
14327         * gst/gstsystemclock.c:
14328         * gst/gstsystemclock.h:
14329         Doc updates.
14330
14331 2005-10-28  Edward Hervey  <edward@fluendo.com>
14332
14333         * docs/gst/gstreamer-docs.sgml:
14334         * docs/gst/gstreamer-sections.txt:
14335         the GstURIType documentation page is private, it only defines GstURIType
14336         which should be defined in the GstURIHandler page
14337         
14338 2005-10-28  Thomas Vander Stichele  <thomas at apestaart dot org>
14339
14340         * gst/gstbin.c: (gst_bin_class_init):
14341         * gst/gstbin.h:
14342         * gst/gstutils.c:
14343         Documentation updates.
14344
14345 2005-10-28  Wim Taymans  <wim@fluendo.com>
14346
14347         * docs/gst/gstreamer-sections.txt:
14348         * gst/gstclock.c:
14349         * gst/gstclock.h:
14350         Documented the clocks.
14351
14352 2005-10-28  Stefan Kost  <ensonic@users.sf.net>
14353
14354         * docs/gst/gstreamer-sections.txt:
14355           move some macros to private sections
14356         * gst/gstminiobject.c:
14357         * gst/gstminiobject.h:
14358           add descriptions provided by ds and some more
14359         * gst/gstpad.h:
14360           mark macro as to be removed
14361
14362 2005-10-28  Wim Taymans  <wim@fluendo.com>
14363
14364         * docs/design/part-TODO.txt:
14365         Add an item to TODO.
14366
14367         * gst/gstiterator.c: (gst_iterator_fold),
14368         (gst_iterator_find_custom):
14369         * gst/gstiterator.h:
14370         Add iterator docs.
14371
14372 2005-10-28  Wim Taymans  <wim@fluendo.com>
14373
14374         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
14375         (gst_base_transform_init):
14376         Don't leak class.
14377
14378         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_loop):
14379         An EOS event marks the queue as completely filled.
14380
14381 2005-10-27  Wim Taymans  <wim@fluendo.com>
14382
14383         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
14384         (gst_base_sink_do_sync), (gst_base_sink_get_position):
14385         Some more debugging.
14386
14387         * gst/base/gstbasetransform.c: (gst_base_transform_finalize),
14388         (gst_base_transform_init), (gst_base_transform_buffer_alloc),
14389         (gst_base_transform_event), (gst_base_transform_getrange),
14390         (gst_base_transform_chain):
14391         * gst/base/gstbasetransform.h:
14392         Fix debugging,
14393         Protect transform and concurrent buffer alloc with a new lock.
14394         Try not to break ABI/API.
14395
14396 2005-10-27  Wim Taymans  <wim@fluendo.com>
14397
14398         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
14399         (gst_base_src_init), (gst_base_src_query),
14400         (gst_base_src_default_newsegment),
14401         (gst_base_src_configure_segment), (gst_base_src_do_seek),
14402         (gst_base_src_send_event), (gst_base_src_event_handler),
14403         (gst_base_src_pad_get_range), (gst_base_src_loop),
14404         (gst_base_src_unlock), (gst_base_src_default_negotiate),
14405         (gst_base_src_start), (gst_base_src_deactivate),
14406         (gst_base_src_activate_push), (gst_base_src_change_state):
14407         Move some stuff around and cleanup things.
14408
14409 2005-10-27  Tim-Philipp Müller  <tim at centricular dot net>
14410
14411         * gst/base/gstbasesrc.c: (gst_base_src_query):
14412           Add missing break statements.
14413
14414 2005-10-27  Wim Taymans  <wim@fluendo.com>
14415
14416         * check/gst/gstbin.c: (GST_START_TEST):
14417         An extra refcount is taken in basesrc.
14418
14419         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
14420         (gst_base_src_get_range), (gst_base_src_pad_get_range),
14421         (gst_base_src_loop):
14422         Small cleanups, check for flushing after being unlocked from the 
14423         LIVE_LOCK. take refcounts correctly (not yet everywhere).
14424         Don't send out EOS when going to READY.
14425
14426 2005-10-27  Wim Taymans  <wim@fluendo.com>
14427
14428         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
14429         (gst_base_sink_get_position):
14430         Some more debug.
14431
14432         * gst/gstbin.c: (message_check), (bin_replace_message),
14433         (bin_remove_messages), (is_eos), (gst_bin_add_func),
14434         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
14435         (bin_query_duration_init), (bin_query_duration_fold),
14436         (bin_query_duration_done), (bin_query_generic_fold),
14437         (gst_bin_query):
14438         * tools/gst-launch.c: (main):
14439         Remove old option.
14440
14441 2005-10-26  Stefan Kost  <ensonic@users.sf.net>
14442
14443         * examples/controller/audio-example.c: (main):
14444         * examples/queue/queue.c: (event_loop):
14445         * gst/base/gstbasetransform.h:
14446         * gst/gstelement.c: (gst_element_send_event):
14447         * gst/gstevent.h:
14448         * gst/gstpad.c: (gst_pad_send_event):
14449           fixing examples
14450           fixing docs typos
14451           changing log priority in error situations
14452
14453 2005-10-25  Wim Taymans  <wim@fluendo.com>
14454
14455         * gst/gstbin.c: (message_check), (bin_replace_message),
14456         (bin_remove_messages), (is_eos), (gst_bin_add_func),
14457         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
14458         (bin_query_duration_init), (bin_query_duration_fold),
14459         (bin_query_duration_done), (bin_query_generic_fold),
14460         (gst_bin_query):
14461         Some doc and debug updates.
14462         Cache previously requested query DURATION for speed. invalidate
14463         cached duration if element posts a DURATION message.
14464
14465 2005-10-25  Wim Taymans  <wim@fluendo.com>
14466
14467         * docs/design/part-TODO.txt:
14468         Update TODO.
14469
14470         * gst/gstbin.c: (message_check), (bin_replace_message),
14471         (bin_remove_messages), (is_eos), (gst_bin_add_func),
14472         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
14473         (bin_query_duration_init), (bin_query_duration_fold),
14474         (bin_query_duration_done), (bin_query_generic_fold),
14475         (gst_bin_query):
14476         Handle SEGMENT_START/DONE messages correctly.
14477         More evolved query algorithm that handles duration queries
14478         correctly.
14479
14480         * gst/gstelement.c: (gst_element_send_event), (gst_element_query),
14481         (gst_element_get_state_func), (gst_element_abort_state),
14482         (gst_element_commit_state), (gst_element_lost_state):
14483         Some more debugging.
14484
14485         * gst/gstmessage.h:
14486         Added doc.
14487
14488 2005-10-25  Wim Taymans  <wim@fluendo.com>
14489
14490         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
14491         Don't use invalid stream_time.
14492
14493         * gst/gstevent.c: (gst_event_new_newsegment):
14494         stream_time in newsegment cannot be undefined.
14495
14496 2005-10-24  Wim Taymans  <wim@fluendo.com>
14497
14498         * gst/gstbus.c:
14499         Doc fix.
14500
14501         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
14502         (gst_queue_loop):
14503         Fix potential deadlock when QUEUE_LOCK is taken before STREAM_LOCK.
14504
14505 2005-10-24  Stefan Kost  <ensonic@users.sf.net>
14506
14507         * docs/libs/tmpl/gstdparam.sgml:
14508         * docs/libs/tmpl/gstdplinint.sgml:
14509         * docs/libs/tmpl/gstdpman.sgml:
14510         * docs/libs/tmpl/gstdpsmooth.sgml:
14511         * docs/libs/tmpl/gstunitconvert.sgml:
14512           these are obsolete
14513
14514 2005-10-24  Thomas Vander Stichele  <thomas at apestaart dot org>
14515
14516         * configure.ac:
14517           back to HEAD
14518
14519 === release 0.9.4 ===
14520
14521 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
14522
14523         * configure.ac:
14524           releasing 0.9.4, "Tyrannosaurus Rex"
14525
14526 2005-10-23  Tim-Philipp Müller  <tim at centricular dot net>
14527
14528         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
14529         (gst_file_sink_get_current_offset):
14530           Use fseeko() and ftello() if available. When falling back on
14531           lseek() to get the current offset, fflush() first to make sure
14532           everything is up-to-date and we get the right offset.
14533
14534 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
14535
14536         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
14537         * gst/base/gstbasesrc.c: (gst_base_src_loop):
14538         * gst/gsterror.c: (_gst_stream_errors_init):
14539         * gst/gsterror.h:
14540         * gst/gstqueue.c: (gst_queue_loop):
14541         * po/POTFILES.in:
14542           remove prematurely added error category and clean up the instances
14543
14544 2005-10-21  Wim Taymans  <wim@fluendo.com>
14545
14546         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
14547         (gst_base_sink_get_position), (gst_base_sink_query),
14548         (gst_base_sink_change_state):
14549         Simply set the right flag when going to playing, that's all
14550         we need to do instead of calling a function inside the object
14551         lock (that could take the lock as well and deadlock)
14552
14553 2005-10-21  Wim Taymans  <wim@fluendo.com>
14554
14555         * gst/base/gstbasesrc.c: (gst_base_src_do_seek),
14556         (gst_base_src_loop):
14557         Don't warn, the peer element knows what to do best when
14558         the seek failed, it might try something else.
14559
14560 2005-10-21  Wim Taymans  <wim@fluendo.com>
14561
14562         * gst/base/gstbasesrc.c: (gst_base_src_init),
14563         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
14564         Fix seeking.
14565
14566 2005-10-21  Wim Taymans  <wim@fluendo.com>
14567
14568         * docs/design/part-segments.txt:
14569         More docs.
14570
14571         * gst/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
14572         Correctly set caps, even on the subbufer.
14573
14574 2005-10-21  Wim Taymans  <wim@fluendo.com>
14575
14576         * docs/gst/gstreamer-docs.sgml:
14577         * docs/gst/gstreamer-sections.txt:
14578         * gst/gstelement.h:
14579         * gst/gstevent.c:
14580         * gst/gstevent.h:
14581         * gst/gstmessage.h:
14582         * gst/gstpad.h:
14583         * gst/gstparse.h:
14584         * gst/gsttask.c: (gst_task_finalize), (gst_task_func):
14585         * gst/gsttask.h:
14586         * gst/gstutils.c:
14587         * gst/gstutils.h:
14588         And 2% more doc coverage.
14589
14590 2005-10-21  Andy Wingo  <wingo@pobox.com>
14591
14592         * gst/base/gstbasesrc.c (gst_base_src_query): Clean up percent
14593         position reporting.
14594
14595 2005-10-20  Wim Taymans  <wim@fluendo.com>
14596
14597         * gst/gsterror.c: (gst_error_get_message):
14598         * gst/gstparse.h:
14599         * gst/gstquery.h:
14600         * gst/gststructure.c:
14601         * gst/gsttrace.c:
14602         * gst/gstutils.c:
14603         More docs.
14604
14605 2005-10-20  Wim Taymans  <wim@fluendo.com>
14606
14607         * gst/gstbuffer.h:
14608         * gst/gstpad.c:
14609         * gst/gstparse.c:
14610         Another 1% more coverage.
14611
14612 2005-10-20  Wim Taymans  <wim@fluendo.com>
14613
14614         * docs/gst/gstreamer-sections.txt:
14615         * gst/gstelement.c: (gst_element_get_state_func),
14616         (gst_element_abort_state), (gst_element_commit_state),
14617         (gst_element_lost_state):
14618         * gst/gstevent.h:
14619         * gst/gstquery.c: (gst_query_set_position),
14620         (gst_query_parse_position), (gst_query_set_duration),
14621         (gst_query_parse_duration), (gst_query_new_convert):
14622         * gst/gstutils.c:
14623         Yay! 1% more docs coverage.
14624
14625 2005-10-20  Wim Taymans  <wim@fluendo.com>
14626
14627         * gst/gstpad.h:
14628         * gst/gstquery.c: (gst_query_set_position),
14629         (gst_query_parse_position), (gst_query_set_duration),
14630         (gst_query_parse_duration), (gst_query_new_convert):
14631         * gst/gstquery.h:
14632         * gst/gstutils.c: (gst_element_query_convert):
14633         * gst/gstutils.h:
14634         Docs and consistency fixes.
14635
14636 2005-10-20  Wim Taymans  <wim@fluendo.com>
14637
14638         * gst/gsttask.c:
14639         * gst/gsttask.h:
14640         More docs.
14641
14642 2005-10-20  Wim Taymans  <wim@fluendo.com>
14643
14644         * gst/gstbin.c: (message_check), (bin_replace_message),
14645         (bin_remove_messages), (is_eos), (gst_bin_add_func),
14646         (update_degree), (gst_bin_sort_iterator_next),
14647         (gst_bin_change_state_func), (gst_bin_dispose), (bin_bus_handler):
14648         Reworked the message handling a bit, cache the messages instead of
14649         only the senders. alows us to do more in the future.
14650
14651 2005-10-20  Wim Taymans  <wim@fluendo.com>
14652
14653         * docs/design/part-TODO.txt:
14654         Update TODO
14655
14656         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
14657         (gst_base_sink_query):
14658         Don't use clock time to report position when in EOS.
14659
14660 2005-10-20  Tim-Philipp Müller  <tim at centricular dot net>
14661
14662         * tools/gst-inspect.c: (print_interfaces),
14663         (print_element_properties_info), (print_element_info):
14664           Fix interface output with gst-inspect -a; don't print
14665           newlines after double/float properties.
14666
14667 2005-10-20  Wim Taymans  <wim@fluendo.com>
14668
14669         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
14670         (gst_base_sink_query):
14671         Speed up current position calculation.
14672
14673         * gst/base/gstbasesrc.c: (gst_base_src_query),
14674         (gst_base_src_default_newsegment):
14675         Correctly set stream position in newsegment.
14676
14677         * gst/gstbin.c: (gst_bin_add_func), (add_to_queue),
14678         (update_degree), (gst_bin_sort_iterator_next),
14679         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free):
14680         * gst/gstmessage.c: (gst_message_new_custom):
14681         Clean up debugging info
14682
14683         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
14684         (gst_queue_loop), (gst_queue_handle_src_query):
14685         Pause task faster.
14686
14687 2005-10-19  Wim Taymans  <wim@fluendo.com>
14688
14689         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
14690         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
14691         Fix query handling again.
14692
14693 2005-10-19  Wim Taymans  <wim@fluendo.com>
14694
14695         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
14696         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
14697         * gst/base/gstbasesrc.c: (gst_base_src_query):
14698         * gst/elements/gstfilesink.c: (gst_file_sink_query):
14699         * gst/elements/gsttypefindelement.c:
14700         (gst_type_find_handle_src_query), (find_element_get_length),
14701         (gst_type_find_element_activate):
14702         API change fix.
14703
14704         * gst/gstquery.c: (gst_query_new_position),
14705         (gst_query_set_position), (gst_query_parse_position),
14706         (gst_query_new_duration), (gst_query_set_duration),
14707         (gst_query_parse_duration), (gst_query_set_segment),
14708         (gst_query_parse_segment):
14709         * gst/gstquery.h:
14710         Bundling query position/duration is not a good idea since duration
14711         does not change much and we don't want to recalculate it for every
14712         position query, so they are separated again..
14713         Base value in segment query is not needed.
14714
14715         * gst/gstqueue.c: (gst_queue_handle_src_query):
14716         * gst/gstutils.c: (gst_element_query_position),
14717         (gst_element_query_duration), (gst_pad_query_position),
14718         (gst_pad_query_duration):
14719         * gst/gstutils.h:
14720         Updates for query API change.
14721         Added some docs here and there.
14722
14723 2005-10-19  Thomas Vander Stichele  <thomas at apestaart dot org>
14724
14725         * check/gst/gstbin.c: (GST_START_TEST):
14726         * check/gst/gstghostpad.c: (GST_START_TEST):
14727         * check/pipelines/cleanup.c: (GST_START_TEST):
14728           wait on thread to die so we can check refcount correctly
14729
14730 2005-10-18  Wim Taymans  <wim@fluendo.com>
14731
14732         * check/pipelines/stress.c: (GST_START_TEST):
14733         Make check a little more time consuming.
14734
14735 2005-10-18  Wim Taymans  <wim@fluendo.com>
14736
14737         * check/Makefile.am:
14738         * check/pipelines/stress.c: (GST_START_TEST),
14739         (simple_launch_lines_suite), (main):
14740         Small state change torture test.
14741
14742         * docs/design/part-states.txt:
14743         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
14744         (gst_base_sink_handle_object), (gst_base_sink_event), (do_playing),
14745         (gst_base_sink_change_state):
14746         Never take state lock from streaming thread, clean up ugly
14747         hacks. Unfortunatly core does not yet support nice ways to
14748         async commit state.
14749         
14750         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_recalc_state),
14751         (bin_bus_handler):
14752         Start state recalc if a STATE_DIRTY message is posted, but only
14753         on the toplevel bin.
14754
14755         * gst/gstelement.c: (gst_element_sync_state_with_parent),
14756         (gst_element_get_state_func), (gst_element_abort_state),
14757         (gst_element_commit_state), (gst_element_lost_state),
14758         (gst_element_set_state_func), (gst_element_change_state):
14759         * gst/gstelement.h:
14760         State variables are now protected with the LOCK, the state
14761         lock is only used to serialize _set_state().
14762
14763 2005-10-18  Wim Taymans  <wim@fluendo.com>
14764
14765         * check/gst/gstbin.c: (GST_START_TEST):
14766         * check/gst/gstmessage.c: (GST_START_TEST):
14767         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
14768         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_recalc_func),
14769         (bin_bus_handler):
14770         * gst/gstelement.c: (gst_element_abort_state),
14771         (gst_element_commit_state), (gst_element_lost_state):
14772         * gst/gstmessage.c: (gst_message_new_state_changed),
14773         (gst_message_new_state_dirty), (gst_message_new_segment_start),
14774         (gst_message_new_segment_done), (gst_message_new_duration),
14775         (gst_message_parse_state_changed),
14776         (gst_message_parse_segment_start),
14777         (gst_message_parse_segment_done), (gst_message_parse_duration):
14778         * gst/gstmessage.h:
14779         * tools/gst-launch.c: (event_loop):
14780         Seriously, this is better than a previous commit as we only need
14781         to notify the fact that an element changed state in a streaming
14782         thread, marking the state of the parents dirty, hence the 
14783         STATE_DIRTY message instead of abusing a boolean in a STATE_CHANGE
14784         message.
14785
14786 2005-10-18  Wim Taymans  <wim@fluendo.com>
14787
14788         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
14789         (gst_bin_recalc_func):
14790         * gst/gstelement.c: (gst_element_set_clock),
14791         (gst_element_abort_state), (gst_element_lost_state):
14792         Cleanups, prepare for state change fixes.
14793
14794 2005-10-18  Wim Taymans  <wim@fluendo.com>
14795
14796         * gst/gstbin.h:
14797         * gst/gstelement.c: (gst_element_class_init),
14798         (gst_element_set_state), (gst_element_set_state_func):
14799         * gst/gstelement.h:
14800         Pending ABI changes.
14801         GThreadPool in GstBinClass to monitor async state changes.
14802         state_cookie in GstElement to detect concurrent gst/set state.
14803         set_state is now virtual too in case a very complicated element
14804         has to be constructed.
14805
14806 2005-10-18  Wim Taymans  <wim@fluendo.com>
14807
14808         * check/gst/gstbin.c: (GST_START_TEST):
14809         * check/gst/gstmessage.c: (GST_START_TEST):
14810         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
14811         * gst/gstbin.c: (bin_bus_handler):
14812         * gst/gstelement.c: (gst_element_commit_state),
14813         (gst_element_lost_state):
14814         * gst/gstmessage.c: (gst_message_new_state_changed),
14815         (gst_message_new_segment_start), (gst_message_new_segment_done),
14816         (gst_message_new_duration), (gst_message_parse_state_changed),
14817         (gst_message_parse_segment_start),
14818         (gst_message_parse_segment_done), (gst_message_parse_duration):
14819         * gst/gstmessage.h:
14820         * tools/gst-launch.c: (event_loop):
14821         Make messages future proof.
14822         state-change gets a flag if it was a message comming from the
14823         streaming thread.
14824         segment-start/stop can also be specified in other formats.
14825         A message to notify an app that a pipeline changed playback 
14826         duration.
14827         Also fix a GstMessage leak in -launch
14828
14829 2005-10-18  Andy Wingo  <wingo@pobox.com>
14830
14831         * gst/gstelement.c (gst_element_dispose): More helpful message.
14832
14833 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
14834
14835         reviewed by: <delete if not using a buddy>
14836
14837         * common/gtk-doc.mak:
14838
14839 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
14840
14841         * gst/gstregistry.c: (gst_registry_scan_path_level):
14842           unref a plug-in we get that was already initialized
14843
14844 2005-10-18  Stefan Kost  <ensonic@users.sf.net>
14845
14846         * docs/gst/gstreamer-sections.txt:
14847         * docs/libs/gstreamer-libs-sections.txt:
14848         * gst/gstelement.h:
14849           add new api entries
14850           hide internal macro
14851
14852 2005-10-17  Andy Wingo  <wingo@pobox.com>
14853
14854         * gst/base/gstcollectpads.c (gst_collectpads_chain): Slight
14855         cleanup.
14856
14857         * gst/Makefile.am (gstenumtypes.c): Threadsafe now.
14858
14859         * gst/gstevent.c (gst_event_new, gst_event_finalize): LOG.
14860
14861         * gst/gstelement.c (gst_element_get_state_func): s/INFO/DEBUG/.
14862         (gst_element_get_state_func): Better debug message.
14863         (gst_element_commit_state): s/INFO/DEBUG/.
14864         (gst_element_lost_state, gst_element_change_state): 
14865
14866         * gst/gstmessage.c (gst_message_init): s/INFO/LOG/.
14867         (gst_message_new_custom): s/INFO/LOG/.
14868
14869 2005-10-17  Michael Smith <msmith@fluendo.com>
14870
14871         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
14872           Check if end time is valid using end time, not start time.
14873
14874 2005-10-17  Stefan Kost  <ensonic@users.sf.net>
14875
14876         * check/gst-libs/controller.c: (GST_START_TEST),
14877         (gst_controller_suite):
14878         * libs/gst/controller/gstcontroller.c:
14879         (gst_controlled_property_set_interpolation_mode):
14880         * libs/gst/controller/gstcontroller.h:
14881         * libs/gst/controller/gstinterpolation.c:
14882         * testsuite/controller/.cvsignore:
14883         * testsuite/controller/Makefile.am:
14884         * testsuite/controller/interpolator.c:
14885           merge controller testsuites
14886           fix broken tests
14887           remove mem-chunk from docs
14888
14889 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
14890
14891         * gst/gstmemchunk.c:
14892         * gst/gstmemchunk.h:
14893         * gst/gsttrashstack.c:
14894         * gst/gsttrashstack.h:
14895           out.  get out.  you're fired.  to the Attic !
14896
14897 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
14898
14899         * gst/gstcaps.c: (gst_caps_intersect):
14900           fix signedness issues in a (hopefully) correct way
14901         * gst/gstelement.c: (gst_element_pads_activate):
14902           some debugging
14903         * gst/gstobject.c: (gst_object_set_parent):
14904           some debugging
14905
14906 2005-10-17  Julien MOUTTE  <julien@moutte.net>
14907
14908         * gst/gstvalue.h: Fix prototypes.
14909
14910 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
14911
14912         * docs/gst/gstreamer-sections.txt:
14913         * gst/gst.c: (gst_version_string):
14914         * gst/gst.h:
14915         * gst/gstversion.h.in:
14916         * win32/common/libgstreamer.def:
14917           add gst_version_string ()
14918
14919 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
14920
14921         * configure.ac:
14922           clean up further
14923         * gst/gst.c: (init_post):
14924         * win32/common/config.h.in:
14925           it's PLUGINDIR now
14926         * gst/gstcaps.c: (gst_caps_intersect):
14927           use gint64, the range could be bigger than a guint
14928
14929 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
14930
14931         * gst/gstclock.h:
14932           document potential problem in 2038
14933
14934 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
14935
14936         * gst/gstcaps.c: (gst_caps_intersect):
14937           Fix guint j diving under 0
14938
14939 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
14940
14941         * configure.ac:
14942         * win32/common/config.h:
14943         * win32/common/config.h.in:
14944           check for process.h, declares getpid() on Windows
14945         * gst/gstinfo.c:
14946           include process.h if we have it
14947         * gst/gstmemchunk.c: (populate), (gst_mem_chunk_new):
14948         * gst/gstmemchunk.h:
14949           fix signedness issues
14950         * win32/common/libgstreamer.def:
14951           fix get_type's
14952
14953 2005-10-16  Julien MOUTTE  <julien@moutte.net>
14954
14955         * gst/gstcaps.c: (gst_caps_intersect): Fix a bad bug with a simple
14956         fix. Because of unsigned ints, caps intersection was going nuts and
14957         trying to access structures with G_MAXUINT index. That fixes
14958         videotestsrc ! ffmpegcolorspace ! fakesink
14959         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked): logs
14960         consistency.
14961
14962 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
14963
14964         * configure.ac:
14965           use the gettext macro
14966         * gst/elements/gstelements.c:
14967         * gst/gst.c:
14968         * gst/indexers/gstindexers.c:
14969           update for GST_PACKAGE_NAME, GST_PACKAGE_ORIGIN
14970         * win32/common/config.h:
14971           updated config.h
14972         * win32/common/config.h.in:
14973           add the template to generate config.h
14974         * win32/common/gstenumtypes.c:
14975         * win32/common/gstversion.h:
14976           updated copies
14977
14978 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
14979
14980         * gst/gst.c: (gst_version):
14981         * gst/gstversion.h.in:
14982           add the nano
14983
14984 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
14985
14986         * gst/gstevent.h:
14987           Oops, add missing closing bracket.
14988
14989 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
14990
14991         * configure.ac:
14992           use common m4's for argument checking
14993
14994 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
14995
14996         * docs/gst/gstreamer-sections.txt:
14997         * gst/gstevent.h:
14998           Add GST_EVENT_TYPE_NAME() macro.
14999
15000 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
15001
15002         * gst/gstinfo.c:
15003         * gst/gstpluginfeature.c:
15004         * gst/gsttask.c:
15005           privatize more symbols
15006
15007 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
15008
15009         * configure.ac:
15010           add srcdir, builddir includes to GST_ALL_CFLAGS, since
15011           everything that uses GStreamer API should have the includes
15012
15013 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
15014
15015         * docs/gst/gstreamer-sections.txt:
15016         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
15017         * gst/gstvalue.h:
15018           give each value a _get_type, removes the DATA exports
15019
15020 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
15021
15022         * gst/gst.c:
15023         * gst/gst.h:
15024           remove _gst_registry_auto_load, not used anymore
15025         * gst/gstbin.c: (gst_bin_get_type):
15026         * gst/gstbin.h:
15027         * gst/gstelement.c: (gst_element_get_type):
15028         * gst/gstelement.h:
15029         * gst/gstobject.c: (gst_object_get_type):
15030         * gst/gstobject.h:
15031         * gst/gstpad.c: (gst_pad_get_type):
15032         * gst/gstpad.h:
15033           make _get_type functions similar, fixes data export from library
15034
15035 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
15036
15037         * configure.ac:
15038           correctly make conditionals
15039         * gst/elements/Makefile.am:
15040         * gst/elements/gstelements.c:
15041           fix typo causing fdsrc not to build
15042
15043 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
15044
15045         * testsuite/Makefile.am:
15046         * testsuite/bytestream/.cvsignore:
15047         * testsuite/bytestream/Makefile.am:
15048         * testsuite/bytestream/filepadsink.c:
15049         * testsuite/bytestream/gstbstest.c:
15050         * testsuite/bytestream/test1.c:
15051         * testsuite/bytestream/testfile1:
15052         * testsuite/caps/normalisation.c:
15053         * testsuite/caps/random.c: (main):
15054         * testsuite/cleanup/.cvsignore:
15055         * testsuite/cleanup/Makefile.am:
15056         * testsuite/cleanup/cleanup1.c:
15057         * testsuite/cleanup/cleanup2.c:
15058         * testsuite/cleanup/cleanup3.c:
15059         * testsuite/cleanup/cleanup4.c:
15060         * testsuite/cleanup/cleanup5.c:
15061         * testsuite/controller/interpolator.c:
15062         * testsuite/debug/printf_extension.c: (main):
15063         * testsuite/elements/tee.c:
15064         * testsuite/negotiation/.cvsignore:
15065         * testsuite/negotiation/Makefile.am:
15066         * testsuite/negotiation/pad_link.c:
15067         * testsuite/pad/Makefile.am:
15068         * testsuite/pad/chainnopull.c:
15069         * testsuite/pad/getnopush.c:
15070         * testsuite/pad/link.c:
15071         * testsuite/refcounting/sched.c: (create_pipeline):
15072         * testsuite/registry/Makefile.am:
15073         * testsuite/registry/gst-print-formats.c:
15074         * testsuite/schedulers/.cvsignore:
15075         * testsuite/schedulers/142183-2.c:
15076         * testsuite/schedulers/142183.c:
15077         * testsuite/schedulers/143777-2.c:
15078         * testsuite/schedulers/143777.c:
15079         * testsuite/schedulers/147713.c:
15080         * testsuite/schedulers/147819.c:
15081         * testsuite/schedulers/147894-2.c:
15082         * testsuite/schedulers/147894.c:
15083         * testsuite/schedulers/Makefile.am:
15084         * testsuite/schedulers/group_link.c:
15085         * testsuite/schedulers/queue_link.c:
15086         * testsuite/schedulers/relink.c:
15087         * testsuite/schedulers/unlink.c:
15088         * testsuite/schedulers/unref.c:
15089         * testsuite/schedulers/useless_iteration.c:
15090         * testsuite/states/bin.c:
15091           clean out/remove some stuff from the testsuite directories
15092
15093 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
15094
15095         * configure.ac:
15096           check for some headers
15097         * gst/elements/Makefile.am:
15098         * gst/elements/gstelements.c:
15099           don't compile fdsrc without sys/socket.h
15100         * gst/indexers/Makefile.am:
15101         * gst/indexers/gstindexers.c: (plugin_init):
15102           don't compile fileindex without mmap
15103
15104 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
15105
15106         * configure.ac:
15107           reorganize
15108           clean up
15109           document more
15110           remove cruft
15111         * check/Makefile.am:
15112         * docs/gst/Makefile.am:
15113         * examples/helloworld/Makefile.am:
15114         * gst/Makefile.am:
15115         * gst/base/Makefile.am:
15116         * gst/check/Makefile.am:
15117         * gst/elements/Makefile.am:
15118         * gst/indexers/Makefile.am:
15119         * gst/parse/Makefile.am:
15120         * libs/gst/controller/Makefile.am:
15121         * libs/gst/dataprotocol/Makefile.am:
15122         * examples/helloworld/helloworld.c: (event_loop):
15123           compile fixes, though it's not being compiled currently
15124
15125 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
15126
15127         * check/gst/gsttag.c: (test_date_tags), (gst_tag_suite):
15128           Add some simple tests for the new taglist date API.
15129
15130 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
15131
15132         * gst/elements/gstfakesink.c: (gst_fake_sink_render):
15133         * gst/elements/gstfakesrc.c: (gst_fake_src_create):
15134           Beautify 'last-message' output: print 'none' for buffer timestamps
15135           and durations if none is set; improve alignment with next messages.
15136
15137 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
15138
15139         * gst/gstpluginfeature.c: (gst_plugin_feature_check_version):
15140         * gst/gstpluginfeature.h:
15141         * gst/gstregistry.c: (gst_default_registry_check_feature_version):
15142         * gst/gstregistry.h:
15143         * docs/gst/gstreamer-sections.txt:
15144           Add new API to check plugin feature version requirements.
15145
15146         * check/gst/gstplugin.c: (test_version_checks), (gst_plugin_suite):
15147           Some basic tests for the above.         
15148
15149 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
15150
15151         * gst/gststructure.c: (gst_structure_to_string):
15152           guard against NULL printf - happens when for example
15153           a message structure with GstClock gets serialized
15154
15155 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
15156
15157         * gst/base/gstcollectpads.c: (gst_collectpads_event):
15158           Fix presumable copy'n'pasto.
15159
15160 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
15161
15162         * gst/elements/gstfakesrc.h:
15163         * gst/elements/gstfilesrc.c: (gst_file_src_create_read):
15164         * gst/elements/gsttypefindelement.c:
15165           fix some signedness
15166         * gst/elements/gstfilesink.c: (gst_file_sink_render):
15167           I wonder if this could actually write +2GB files before
15168
15169 2005-10-13  Andy Wingo  <wingo@pobox.com>
15170
15171         * libs/gst/dataprotocol/dataprotocol.c (gst_dp_packet_from_caps):
15172         Fix Timmeke Waymans bug.
15173         (gst_dp_caps_from_packet): Make sure we pass a NUL-terminated
15174         string of the proper length to gst_caps_from_string. There's a
15175         potential for, before this fix, that this could cause someone
15176         connecting over the network to cause a segfault if the payload is
15177         not NUL-terminated.
15178
15179 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
15180
15181         * docs/design/draft-push-pull.txt:
15182         * docs/design/part-overview.txt:
15183         * docs/random/TODO-pre-0.9:
15184         * docs/random/old/ChangeLog.gstreamer:
15185         * gst/base/gstpushsrc.c:
15186         * gst/gstclock.c:
15187           fixed typos
15188
15189 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
15190
15191         * gst/glib-compat.c: (gst_flags_get_first_value):
15192         * gst/glib-compat.h:
15193         * gst/gstvalue.c: (gst_value_deserialize_int_helper),
15194         (gst_value_compare_double), (gst_value_serialize_flags):
15195           GLib 2.6 g_flags_get_first_value has a bug that triggers an
15196           infinite loop
15197
15198 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
15199
15200         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
15201         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
15202           fix up debugging
15203         * tools/gst-launch.c: (event_loop):
15204           print out clock nicely
15205
15206 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
15207
15208         * docs/gst/gstreamer-sections.txt:
15209         * gst/gsttaglist.h:
15210         * gst/gsttaglist.c: (_gst_tag_initialize), (gst_tag_list_get_date),
15211         (gst_tag_list_get_date_index):
15212           Added gst_tag_list_get_date() and gst_tag_list_get_date_index().
15213           GST_TAG_DATE now has a tag type of GST_TYPE_DATE (#170777).
15214
15215 2005-10-13  Julien MOUTTE  <julien@moutte.net>
15216
15217         * gst/base/gstcollectpads.c: (gst_collectpads_event),
15218         (gst_collectpads_chain):
15219         * gst/base/gstcollectpads.h: Handle newsegment and store informations
15220         in CollectData.
15221
15222 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
15223
15224         * docs/gst/gstreamer-sections.txt:
15225         * gst/gst.c:
15226         * gst/gsterror.h:
15227         * tools/gst-inspect.c: (main):
15228         * tools/gst-launch.c: (main):
15229         * tools/gst-run.c: (main):
15230         * tools/gst-xmlinspect.c: (main):
15231           fix GOption context leaks
15232           doc fixes
15233
15234 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
15235
15236         * gst/gstbus.c:
15237           use HAVE_UNISTD_H
15238         * win32/common/config.h:
15239           update config
15240         * win32/vs6/grammar.dsp:
15241         * win32/vs6/libgstelements.dsp:
15242         * win32/vs6/libgstreamer.dsp:
15243           update vs6 files
15244
15245 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
15246
15247         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
15248         * gst/base/gstbasesrc.c: (gst_base_src_query):
15249           fix more guint64<->gdouble conversions
15250
15251 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
15252
15253         * Makefile.am:
15254           add win32-update target
15255         * win32/common/gstconfig.h:
15256         * win32/common/gstenumtypes.c:
15257         * win32/common/gstenumtypes.h:
15258         * win32/common/gstversion.h:
15259           add files that visual studio can't generate
15260
15261 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
15262
15263         * Makefile.am:
15264           add a win32-update target
15265         * configure.ac:
15266
15267 2005-10-12  Wim Taymans  <wim@fluendo.com>
15268
15269         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
15270         (reset_degree), (gst_bin_dispose), (bin_bus_handler):
15271         * gst/gstelement.c: (gst_element_commit_state),
15272         (gst_element_set_state):
15273         Protect flags with proper lock.
15274         unref provided cached clock in dispose.
15275
15276 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
15277
15278         * gst/gst.c:
15279         * gst/gstminiobject.h:
15280         * gst/gstpad.h:
15281         * win32/gstenumtypes.c: (gst_mini_object_flags_get_type):
15282           removed unused flags from miniobject
15283           doc fixes
15284
15285 2005-10-12  Wim Taymans  <wim@fluendo.com>
15286
15287         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
15288         (gst_file_sink_event), (gst_file_sink_render):
15289         Flush before seeking.
15290
15291 2005-10-12  Andy Wingo  <wingo@pobox.com>
15292
15293         * gst/gst.c (gst_init_check): Ignore unknown options, as has
15294         always been the case.
15295
15296 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
15297
15298         * check/gst/gstbin.c: (GST_START_TEST):
15299         * docs/gst/gstreamer-sections.txt:
15300         * gst/base/gstbasesink.c: (gst_base_sink_init):
15301         * gst/base/gstbasesrc.c: (gst_base_src_init),
15302         (gst_base_src_get_range), (gst_base_src_check_get_range),
15303         (gst_base_src_start), (gst_base_src_stop):
15304         * gst/base/gstbasesrc.h:
15305         * gst/elements/gstfakesrc.c: (gst_fake_src_set_property):
15306         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
15307         (bin_element_is_sink), (reset_degree), (gst_bin_element_set_state),
15308         (bin_bus_handler):
15309         * gst/gstbin.h:
15310         * gst/gstbuffer.h:
15311         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_flushing):
15312         * gst/gstbus.h:
15313         * gst/gstelement.c: (gst_element_is_locked_state),
15314         (gst_element_set_locked_state), (gst_element_commit_state),
15315         (gst_element_set_state):
15316         * gst/gstelement.h:
15317         * gst/gstindex.c: (gst_index_init):
15318         * gst/gstindex.h:
15319         * gst/gstminiobject.h:
15320         * gst/gstobject.c: (gst_object_init), (gst_object_sink),
15321         (gst_object_set_parent):
15322         * gst/gstobject.h:
15323         * gst/gstpad.c: (gst_pad_set_blocked_async), (gst_pad_is_blocked),
15324         (gst_pad_get_caps_unlocked), (gst_pad_set_caps):
15325         * gst/gstpad.h:
15326         * gst/gstpadtemplate.h:
15327         * gst/gstpipeline.c: (gst_pipeline_provide_clock_func),
15328         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
15329         * gst/gstpipeline.h:
15330         * gst/indexers/gstfileindex.c: (gst_file_index_load),
15331         (gst_file_index_commit):
15332         * testsuite/bytestream/filepadsink.c: (gst_fp_sink_init):
15333         * testsuite/pad/link.c: (gst_test_src_init),
15334         (gst_test_filter_init), (gst_test_sink_init):
15335         * testsuite/states/locked.c: (main):
15336           renamed GST_FLAGS macros to GST_OBJECT_FLAGS
15337           moved bitshift from macro to enum definition
15338
15339 2005-10-12  Wim Taymans  <wim@fluendo.com>
15340
15341         * gst/base/gstbasesink.c: (gst_base_sink_handle_buffer):
15342         * gst/elements/gstfilesink.c: (gst_file_sink_event),
15343         (gst_file_sink_render):
15344         Some more debugging info.
15345
15346 2005-10-12  Wim Taymans  <wim@fluendo.com>
15347
15348         * docs/design/part-states.txt:
15349         * tools/gst-launch.c: (main):
15350         Some doc updates.
15351         Revert non-intentional change.
15352
15353 2005-10-12  Wim Taymans  <wim@fluendo.com>
15354
15355         * check/gst/gstbin.c: (GST_START_TEST):
15356         * check/gst/gstelement.c: (GST_START_TEST):
15357         * check/gst/gstevent.c: (GST_START_TEST), (test_event):
15358         * check/gst/gstghostpad.c: (GST_START_TEST):
15359         * check/gst/gstpipeline.c: (GST_START_TEST):
15360         * check/pipelines/simple_launch_lines.c: (run_pipeline):
15361         * check/states/sinks.c: (GST_START_TEST):
15362         * gst/elements/gsttypefindelement.c: (stop_typefinding):
15363         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
15364         (gst_bin_remove_func), (gst_bin_get_state_func),
15365         (gst_bin_recalc_state), (gst_bin_change_state_func),
15366         (bin_bus_handler):
15367         * gst/gstelement.c: (gst_element_get_state_func),
15368         (gst_element_get_state), (gst_element_abort_state),
15369         (gst_element_commit_state), (gst_element_set_state),
15370         (gst_element_change_state), (gst_element_change_state_func):
15371         * gst/gstelement.h:
15372         * gst/gstpipeline.c: (gst_pipeline_class_init), (do_pipeline_seek),
15373         (gst_pipeline_provide_clock_func):
15374         * gst/gstutils.c: (gst_element_link_pads_filtered):
15375         * tools/gst-launch.c: (main):
15376         * tools/gst-typefind.c: (main):
15377         Use GstClockTime in _get_state() instead of GTimeVal.
15378         Remove old code in gstutils.c
15379
15380 2005-10-12  Andy Wingo  <wingo@pobox.com>
15381
15382         * gst/gstregistry.h (gst_registry_scan_paths): Not implemented, so
15383         removed.
15384
15385         * gst/gstpad.c (gst_pad_pause_task): Actually return FALSE if
15386         there is no task. Shouldn't affect any code, as nothing in our
15387         plugins checks this return value.
15388         (gst_pad_stop_task): Also take the stream lock if the pad has no
15389         task. Docs updated.
15390
15391 2005-10-12  Wim Taymans  <wim@fluendo.com>
15392
15393         * gst/gstpad.c: (pre_activate), (post_activate),
15394         (gst_pad_activate_pull), (gst_pad_activate_push):
15395         Cleanup activation code. Reset old state if
15396         activation failed.
15397
15398 2005-10-12  Wim Taymans  <wim@fluendo.com>
15399
15400         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
15401         (gst_base_sink_change_state):
15402         No need to prerol after receiving EOS.
15403
15404         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
15405         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler):
15406         * gst/elements/gstidentity.c: (gst_identity_event):
15407         Print events more verbosely.
15408
15409 2005-10-12  Wim Taymans  <wim@fluendo.com>
15410
15411         * check/Makefile.am:
15412         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
15413         * check/states/sinks2.c:
15414         Moved sinks2 testcode in sinks check.
15415
15416         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
15417         (gst_bin_remove_func), (gst_bin_recalc_state),
15418         (gst_bin_change_state_func), (bin_bus_handler):
15419         Fix potential race condition when _get_state() iterated over an
15420         ASYNC element right before it posted a state completion.
15421
15422         * gst/gstclock.h:
15423         Do proper cast here.
15424
15425         * gst/gstevent.c: (gst_event_new_newsegment),
15426         (gst_event_parse_newsegment):
15427         A playback rate of 0.0 is not allowed.
15428
15429 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
15430
15431         * win32/common/config.h:
15432         * win32/common/dirent.c: (_topendir), (_treaddir), (_tclosedir),
15433         (_trewinddir), (_ttelldir), (_tseekdir):
15434         * win32/common/dirent.h:
15435         * win32/common/gtchar.h:
15436         * win32/common/libgstbase.def:
15437         * win32/common/libgstreamer.def:
15438         * win32/vs6/grammar.dsp:
15439         * win32/vs6/gst_inspect.dsp:
15440         * win32/vs6/gst_launch.dsp:
15441         * win32/vs6/gstreamer.dsw:
15442         * win32/vs6/libgstbase.dsp:
15443         * win32/vs6/libgstelements.dsp:
15444         * win32/vs6/libgstreamer.dsp:
15445           Visual Studio 6 project files, and a new common directory.
15446           Phear.
15447
15448 2005-10-11  Wim Taymans  <wim@fluendo.com>
15449
15450         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
15451         (gst_base_sink_do_sync), (gst_base_sink_query),
15452         (gst_base_sink_change_state):
15453         * gst/base/gstbasesink.h:
15454         Correctly parse newsegment info.
15455
15456 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
15457
15458         * gst/gst.c: (init_post):
15459           split plugin paths correctly
15460
15461 2005-10-11  Wim Taymans  <wim@fluendo.com>
15462
15463         * check/gst/gstevent.c: (GST_START_TEST):
15464         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
15465         (gst_base_sink_change_state):
15466         * gst/base/gstbasesrc.c: (gst_base_src_default_newsegment):
15467         * gst/base/gstbasetransform.c: (gst_base_transform_event):
15468         * gst/elements/gstfilesink.c: (gst_file_sink_event):
15469         * gst/gstevent.c: (gst_event_new_newsegment),
15470         (gst_event_parse_newsegment):
15471         * gst/gstevent.h:
15472         Added extra flag to newsegment for future API freeze.
15473         Updated check and base elements.
15474
15475 2005-10-11  Julien MOUTTE  <julien@moutte.net>
15476
15477         * gst/base/gstcollectpads.c: (gst_collectpads_init),
15478         (gst_collectpads_add_pad), (gst_collectpads_pop),
15479         (gst_collectpads_event), (gst_collectpads_chain):
15480         * gst/base/gstcollectpads.h: Handle EOS correctly.
15481
15482 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
15483
15484         * tools/gst-launch.c: (main):
15485           more null protecting
15486
15487 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
15488
15489         * gst/gst-i18n-lib.h:
15490           check for ENABLE_NLS, not GETTEXT_PACKAGE
15491         * gst/gstregistry.c: (gst_registry_add_plugin),
15492         (gst_registry_scan_path_level),
15493         (_gst_registry_remove_cache_plugins):
15494           protect possibly NULL strings
15495         * gst/parse/types.h:
15496           config.h already included before
15497         * tools/gst-inspect.c: (main):
15498           sys/wait.h also doesn�t exist on mingw, so change the ifdef check
15499           check for ENABLE_NLS, not GETTEXT_PACKAGE
15500         * tools/gst-launch.c: (main):
15501           check for ENABLE_NLS, not GETTEXT_PACKAGE
15502
15503 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
15504
15505         * configure.ac:
15506           if we don't have glib, fail before testing 2.8
15507         * gst/base/gstbasetransform.c: (gst_base_transform_change_state):
15508           fix a leak, should fix plugins-base testsuite
15509
15510 2005-10-11  Andy Wingo  <wingo@pobox.com>
15511
15512         * gst/gstpad.c (pre_activate): Renamed from pre_activate_switch,
15513         take the mode we're going to as an arg. Go head and set the mode
15514         and flushing flags now, so that if the activate function starts a
15515         thread all the flags will be in the right state.
15516         (post_activate): Renamed also. Just handle making sure streaming
15517         finishes for the deactivation case, and setting the deactivated
15518         mode.
15519         (gst_pad_set_active): Complain loudly if deactivation fails.
15520         (gst_pad_activate_pull): Adapt to pre/post_activate changes.
15521         (gst_pad_activate_push): Adapt to pre/post_activate changes,
15522         remove the terrible hack.
15523
15524 2005-10-11  Wim Taymans  <wim@fluendo.com>
15525
15526         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
15527         (is_eos), (gst_bin_add_func), (gst_bin_remove_func),
15528         (gst_bin_recalc_state), (gst_bin_change_state_func),
15529         (gst_bin_dispose), (bin_bus_handler):
15530         * gst/gstbin.h:
15531         Prepare to make current EOS message queue more generic.
15532         Fix some typos.
15533
15534         * gst/gstevent.c: (gst_event_new_newsegment),
15535         (gst_event_parse_newsegment):
15536         * gst/gstevent.h:
15537         Rename base to stream_time.
15538
15539         * gst/gstmessage.h:
15540         Fix typo in docs.
15541
15542 2005-10-11  Wim Taymans  <wim@fluendo.com>
15543
15544         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
15545         (gst_bin_add_func), (gst_bin_remove_func), (gst_bin_recalc_state),
15546         (gst_bin_change_state_func), (bin_bus_handler):
15547         * gst/gstbin.h:
15548         Work on proper clock selection.
15549
15550 2005-10-11  Edward Hervey  <edward@fluendo.com>
15551
15552         * libs/gst/controller/gstcontroller.c: (gst_controller_remove_properties_list): 
15553         * libs/gst/controller/gstcontroller.h:
15554         Added GList* version of _remove_properties() in order to be able to wrap
15555         it in bindings.
15556
15557 2005-10-11  Wim Taymans  <wim@fluendo.com>
15558
15559         * docs/design/part-states.txt:
15560         Some more docs.
15561
15562         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_recalc_state),
15563         (gst_bin_change_state_func), (bin_bus_handler):
15564         Doc updates. Don't distribute the same clock over and over again.
15565
15566         * gst/gstclock.c:
15567         * gst/gstclock.h:
15568         Doc updates.
15569
15570         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark),
15571         (gst_pad_get_type), (gst_pad_push), (gst_pad_push_event),
15572         (gst_pad_send_event):
15573         * gst/gstpad.h:
15574         Make probe emission threadsafe again.
15575         Register quarks and move _get_name() from utils.
15576         Doc updates.
15577
15578         * gst/gstpipeline.c: (gst_pipeline_class_init),
15579         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
15580         Only redistribute the clock of it changed.
15581
15582         * gst/gstsystemclock.h:
15583         Doc updates. 
15584
15585         * gst/gstutils.c:
15586         * gst/gstutils.h:
15587         Moved the _flow_get_name() to GstPad.
15588
15589 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
15590
15591         * check/gst-libs/gdp.c: (GST_START_TEST):
15592         * check/gst/gstcaps.c: (GST_START_TEST):
15593         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc),
15594         (gst_dp_dump_byte_array), (gst_dp_header_from_buffer),
15595         (gst_dp_packet_from_caps):
15596           fix more valgrind warnings before turning up the heat
15597
15598 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
15599
15600         * gst/parse/grammar.y:
15601           some cleanup before the hacking
15602
15603 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
15604
15605         * gst/base/gstbasesrc.c: (gst_base_src_query):
15606           use conversions
15607         * gst/gstutils.c: (gst_guint64_to_gdouble),
15608         (gst_gdouble_to_guint64), (gst_util_uint64_scale):
15609         * gst/gstutils.h:
15610           externalize, basesrc uses it
15611           obviously the implementation needs testing
15612
15613 2005-10-10  Wim Taymans  <wim@fluendo.com>
15614
15615         * tests/sched/Makefile.am:
15616         * tests/sched/sort.c: (make_pipeline1), (make_pipeline2),
15617         (make_pipeline3), (make_pipeline4), (print_elem), (main):
15618
15619 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
15620
15621         * gst/gstutils.c: (guint64_to_gdouble), (gst_util_uint64_scale):
15622           apparently converting from guint64 to double is not implemented
15623           on MSVC
15624
15625 2005-10-10  Wim Taymans  <wim@fluendo.com>
15626
15627         * check/Makefile.am:
15628         * check/generic/states.c: (GST_START_TEST):
15629         * check/gst/gstbin.c: (GST_START_TEST):
15630         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
15631         * check/states/sinks.c: (GST_START_TEST):
15632         * check/states/sinks2.c: (GST_START_TEST), (gst_object_suite),
15633         (main):
15634         Check fixes, use API as stated in design docs, remove hacks.
15635
15636         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
15637         (gst_base_sink_change_state):
15638         Catch stopping our task while we're shutting down.
15639
15640         * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
15641         (gst_bin_remove_func), (gst_bin_get_state_func),
15642         (gst_bin_recalc_state), (gst_bin_change_state_func),
15643         (bin_bus_handler):
15644         * gst/gstbin.h:
15645         * gst/gstelement.c: (gst_element_init),
15646         (gst_element_get_state_func), (gst_element_abort_state),
15647         (gst_element_commit_state), (gst_element_lost_state),
15648         (gst_element_set_state), (gst_element_change_state),
15649         (gst_element_change_state_func):
15650         * gst/gstelement.h:
15651         New state change algorithm (see #318116)
15652
15653         * gst/gstpipeline.c: (gst_pipeline_class_init),
15654         (gst_pipeline_init), (gst_pipeline_set_property),
15655         (gst_pipeline_get_property), (do_pipeline_seek),
15656         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
15657         * gst/gstpipeline.h:
15658         Remove crude state change hacks.
15659
15660         * gst/gstutils.h:
15661         Remove crude hacks.
15662
15663         * tools/gst-launch.c: (main):
15664         Fixes for state change. Needs some more work to fully use the
15665         new stuff.
15666
15667 2005-10-10  Andy Wingo  <wingo@pobox.com>
15668
15669         * tests/Makefile.am (noinst_PROGRAMS): No more init.c.
15670
15671         * gst/gst.c (G_OPTION_FLAG_NO_ARG): Apparently GLib 2.8 requires
15672         this flag, but it's not even in GLib 2.6. Odd. Hack around the
15673         issue.
15674
15675 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
15676
15677         * gst/gstiterator.c: (gst_iterator_new):
15678           Fix my previous commit: GTypes passed to gst_iterator_new()
15679           can be fundamental types.
15680
15681 2005-10-10  Wim Taymans  <wim@fluendo.com>
15682
15683         * gst/gstelement.c: (gst_element_iterate_pad_list),
15684         (gst_element_iterate_pads), (gst_element_iterate_src_pads),
15685         (gst_element_iterate_sink_pads):
15686         Use src/sink pads lists for the respective iterators instead
15687         of filtering.
15688
15689 2005-10-10  Andy Wingo  <wingo@pobox.com>
15690
15691         Merged in popt removal + GOption addition patch from Ronald, bug
15692         #169772.
15693
15694         * docs/gst/gstreamer-sections.txt: Add STATE_(UN)LOCK_FULL, move
15695         GstElement macros around, remove popt-related symbols, add goption
15696         stuff.
15697
15698         * configure.ac: Remove popt checks, require GLib 2.6 for GOption.
15699         
15700         * docs/gst/Makefile.am:
15701         * docs/libs/Makefile.am: No POPT_CFLAGS.
15702         
15703         * examples/manual/Makefile.am:
15704         * docs/manual/basics-init.xml: Doc updates with an example.
15705         
15706         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
15707         (gst_init), (parse_one_option), (parse_goption_arg):
15708         * gst/gst.h: Removed gst_init_with_popt_table and friends. Took a
15709         bit of hand merging and debugging to get the GOption stuff working
15710         tho.
15711         
15712         * tests/Makefile.am:
15713         * tools/Makefile.am:
15714         * tools/gst-inspect.c: (main):
15715         * tools/gst-launch.c: (main):
15716         * tools/gst-run.c: (main):
15717         * tools/gst-xmlinspect.c: (main): Thanks Ronald!
15718
15719 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
15720
15721         * gst/gstiterator.c: (gst_iterator_new):
15722           Add assertions to make sure passed GType is likely to really
15723           be a GType (as the compiler won't catch it if the size and
15724           GType arguments get mixed up, see #318447).
15725
15726 2005-10-10  Josef Zlomek  <josef dot zlomek at xeris dot cz>
15727
15728         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
15729
15730         * gst/gstbin.c: (gst_bin_iterate_sorted):
15731           Pass GType and size arguments to gst_iterator_new() in the right
15732           order (maybe we should make _new() take the GType as first argument
15733           just like _new_list()?) (#318447).
15734           
15735
15736 2005-10-10  Wim Taymans  <wim@fluendo.com>
15737
15738         * gst/gstelement.c: (gst_element_finalize):
15739         And free the GStaticRecMutex too
15740
15741 2005-10-10  Andy Wingo  <wingo@pobox.com>
15742
15743         * gst/gstelement.c (gst_element_init, gst_element_finalize):
15744         Allocate and free the mutex properly.
15745
15746         * gst/gstelement.h (GST_STATE_UNLOCK_FULL, GST_STATE_LOCK_FULL):
15747         New macros.
15748         (GstElement): The state_lock is now recursive. Rebuild your
15749         plugins, suckers. Old macros adapted.
15750
15751         * docs/gst/gstreamer-sections.txt: Doc updates.
15752
15753         * gst/gstutils.h:
15754         * gst/gstutils.c (g_static_rec_cond_timed_wait) 
15755         (g_static_rec_cond_wait): Ported from state changes patch, while
15756         we wait on bug #317802 to be solved in a well-distributed GLib.
15757
15758         * gst/gstelement.c (gst_element_change_state_func): Renamed from
15759         gst_element_change_state, variable name changes.
15760         (gst_element_change_state): Split out of gst_element_set_state in
15761         preparation for the state change merge. Doesn't pay attention to
15762         the 'transition' argument.
15763         (gst_element_set_state): Updates, hopefully purely cosmetic.
15764         (gst_element_sync_state_with_parent): MT-safety. Ported from the
15765         state change patch.
15766         (gst_element_get_state_func): Renamed from get_state, cosmetic
15767         changes.
15768
15769 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
15770
15771         * gst/elements/gstelements.c:
15772         * win32/GStreamer.vcproj:
15773         * win32/config.h:
15774         * win32/dirent.c: (_tseekdir):
15775         * win32/gst-inspect.vcproj:
15776         * win32/gst-launch.vcproj:
15777         * win32/gstconfig.h:
15778         * win32/gstelements.vcproj:
15779         * win32/gstenumtypes.c: (gst_object_flags_get_type):
15780         * win32/gstreamer.def:
15781         * win32/msvc71.sln:
15782           updates for the win32 build (patch from Sebastien Moutte)
15783
15784 2005-10-10  Andy Wingo  <wingo@pobox.com>
15785
15786         * gst/gstbin.c (gst_bin_get_state_func): Renamed from
15787         gst_bin_get_state, cleaned up (but no logic changes).
15788         (bin_element_is_sink): Comment updates.
15789         (sink_iterator_filter): Remove needless cast.
15790         (gst_bin_iterate_sinks): Doc update.
15791         (gst_bin_change_state_func): Renamed from gst_bin_change_state,
15792         cleaned up (but no logic changes).
15793
15794         * check/states/sinks.c (test_src_sink): Cleanups from the state
15795         change patch.
15796         (test_livesrc_sink): Sync on the state.
15797
15798         * check/pipelines/simple_launch_lines.c (run_pipeline): Merge from
15799         the state change patch.
15800
15801         * check/gst/gstghostpad.c (test_ghost_pads): Merge from the state
15802         change patch.
15803
15804         * check/gst/gstbin.c: Merge in some style fixes and additional
15805         checks from Wim's state change patch.
15806
15807 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
15808
15809         * gst/base/gsttypefindhelper.c: (helper_find_peek),
15810         (gst_type_find_helper):
15811           Check whether we have the requested data already in our list of
15812           cached buffers before pulling a new buffer; also make the buffer
15813           list a GSList. Speeds up typefinding by ca. 5-10% altogether.
15814
15815 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
15816
15817         * gst/gstcaps.c:
15818         * gst/gstevent.c:
15819           doc updates
15820         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
15821           don't use long long, it's not portable.  Replacing with
15822           gint64 seems to work; let's hope no skeletons fall out of the closet.
15823
15824 2005-10-10  Andy Wingo  <wingo@pobox.com>
15825
15826         * autogen.sh (CONFIGURE_DEF_OPT): No more --plugin-buiddir, yay
15827
15828 2005-10-09  Stefan Kost  <ensonic@users.sf.net>
15829
15830         * docs/gst/gstreamer-sections.txt:
15831         * gst/gstevent.c:
15832         * gst/gstevent.h:
15833         * gst/gstinfo.c:
15834         * gst/gstinfo.h:
15835         * gst/gstmessage.c: (gst_message_parse_state_changed):
15836         * gst/gstpad.c:
15837         * gst/gstpad.h:
15838           more docs, fix compilation
15839
15840 2005-10-09  Philippe Khalaf <burger@speedy.org>
15841         * gst/gstmessage.c:
15842           Fixed a few forgotten variables on previous commit
15843
15844 2005-10-09  Tim-Philipp Müller  <tim at centricular dot net>
15845
15846         * gst/base/gsttypefindhelper.c: (helper_find_peek):
15847           Fix evil typefind crasher: getrange() might return a short
15848           buffer at the end of a file, but gst_type_find_peek() must
15849           either return the full data as requested or NULL, but
15850           never a short buffer.
15851
15852 2005-10-09  Thomas Vander Stichele  <thomas at apestaart dot org>
15853
15854         * gst/gstmessage.c: (gst_message_new_state_changed),
15855         (gst_message_parse_state_changed):
15856         * gst/gstmessage.h:
15857           don't use "new", it's a C++ keyword
15858
15859 2005-10-08  Wim Taymans  <wim@fluendo.com>
15860
15861         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_query):
15862         * gst/gstelement.c: (gst_element_post_message):
15863         * gst/gstpipeline.c: (gst_pipeline_change_state):
15864         Small docs and debug updates.
15865
15866 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
15867
15868         * docs/gst/gstreamer-sections.txt:
15869         * gst/gstelementfactory.c:
15870         * gst/gstevent.c:
15871         * gst/gsttaglist.c:
15872           more docs
15873
15874 2005-10-08  Wim Taymans  <wim@fluendo.com>
15875
15876         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_change_state),
15877         (gst_bin_dispose), (bin_bus_handler):
15878         Fix typos, add comments.
15879         Clear EOS list when going to PAUSED from any direction and do it
15880         in a threadsafe way.
15881         Get base time in a threadsafe way too.
15882         Fix confusing debug in the change_state function.
15883         Various other small cleanups.
15884         
15885         * gst/gstelement.c: (gst_element_post_message):
15886         Fix very verbose bus posting code.
15887
15888         * gst/gstpipeline.c: (gst_pipeline_class_init),
15889         (gst_pipeline_set_property), (gst_pipeline_get_property),
15890         (gst_pipeline_change_state):
15891         Small ARG_ -> PROP_ cleanup
15892
15893 2005-10-08  Wim Taymans  <wim@fluendo.com>
15894
15895         * gst/gstbin.c: (is_eos), (bin_bus_handler):
15896         Do a less CPU demanding EOS check because we can.
15897
15898 2005-10-08  Wim Taymans  <wim@fluendo.com>
15899
15900         * libs/gst/dataprotocol/dataprotocol.c:
15901         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
15902         (gst_dp_packet_from_event):
15903         * libs/gst/dataprotocol/dataprotocol.h:
15904         * libs/gst/dataprotocol/dp-private.h:
15905         It's about time we bump the version number.
15906         Since event types don't fit in the guint8 anymore describing
15907         the payload type, make payload type 16 bits wide.
15908
15909 2005-10-08  Wim Taymans  <wim@fluendo.com>
15910
15911         * docs/design/part-TODO.txt:
15912         * docs/design/part-clocks.txt:
15913         * docs/design/part-events.txt:
15914         * docs/design/part-gstbin.txt:
15915         * docs/design/part-gstelement.txt:
15916         * docs/design/part-gstpipeline.txt:
15917         * docs/design/part-live-source.txt:
15918         * docs/design/part-messages.txt:
15919         * docs/design/part-overview.txt:
15920         * docs/design/part-states.txt:
15921         Many doc updates.
15922
15923 2005-10-08  Wim Taymans  <wim@fluendo.com>
15924
15925         * gst/gstevent.c:
15926         * gst/gstevent.h:
15927         Fix event quark registration.
15928         Add some space between events so we can insert them in the
15929         right groups.
15930
15931 2005-10-08  Wim Taymans  <wim@fluendo.com>
15932
15933         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
15934         (gst_base_sink_handle_buffer):
15935         Better log message.
15936
15937         * gst/gstbus.h:
15938         * gst/gstelement.h:
15939         More docs.
15940
15941         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
15942         (gst_queue_set_property), (gst_queue_get_property):
15943         * gst/gstqueue.h:
15944         Remove old unused properties.
15945
15946 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
15947         * docs/gst/gstreamer-sections.txt:
15948         * gst/gstmessage.c:
15949         * gst/gstmessage.h:
15950         * gst/gstminiobject.c:
15951         * gst/gstminiobject.h:
15952         * gst/gstobject.h:
15953         * gst/gstpad.h:
15954         * gst/gstutils.h:
15955           lots of new docs and doc fixes
15956
15957 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
15958
15959         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_load_file):
15960         * gst/gstplugin.h:
15961         * gst/gstregistry.c: (gst_registry_lookup_locked),
15962         (gst_registry_scan_path_level):
15963         * gst/gstregistryxml.c: (load_plugin):
15964           Only ever load one plugin for a given plugin basename.
15965           This ensures correct overriding of GST_PLUGIN_PATH over
15966           GST_PLUGIN_SYSTEM_PATH and of home dir plugins over
15967           system installed plugins.
15968
15969 2005-10-08  Wim Taymans  <wim@fluendo.com>
15970
15971         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
15972         (gst_base_sink_do_sync), (gst_base_sink_handle_buffer):
15973         Prepare for doing QOS.
15974
15975 2005-10-08  Wim Taymans  <wim@fluendo.com>
15976
15977         * check/gst/gstbin.c: (GST_START_TEST):
15978         * check/pipelines/cleanup.c: (GST_START_TEST):
15979         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
15980         Allow new clock message too.
15981
15982 2005-10-08  Wim Taymans  <wim@fluendo.com>
15983
15984         * gst/gstmessage.c: (gst_message_new_error),
15985         (gst_message_new_warning), (gst_message_new_tag),
15986         (gst_message_new_state_changed), (gst_message_new_clock_provide),
15987         (gst_message_new_clock_lost), (gst_message_new_new_clock),
15988         (gst_message_new_segment_start), (gst_message_new_segment_done),
15989         (gst_message_parse_state_changed),
15990         (gst_message_parse_clock_provide), (gst_message_parse_clock_lost),
15991         (gst_message_parse_new_clock):
15992         * gst/gstmessage.h:
15993         Also carry the clock in question.
15994
15995 2005-10-08  Wim Taymans  <wim@fluendo.com>
15996
15997         * gst/gstmessage.c: (gst_message_new_custom),
15998         (gst_message_new_eos), (gst_message_new_error),
15999         (gst_message_new_warning), (gst_message_new_tag),
16000         (gst_message_new_state_changed), (gst_message_new_clock_provide),
16001         (gst_message_new_new_clock), (gst_message_new_segment_start),
16002         (gst_message_new_segment_done), (gst_message_parse_state_changed),
16003         (gst_message_parse_clock_provide), (gst_message_parse_new_clock):
16004         * gst/gstmessage.h:
16005         Clean up.
16006         Added clock related messages.
16007
16008         * gst/gstpipeline.c: (gst_pipeline_change_state):
16009         Post message when the clock changed.
16010
16011         * tools/gst-launch.c: (event_loop):
16012         Print new clock.
16013
16014 2005-10-08  Tim-Philipp Müller  <tim at centricular dot net>
16015
16016         * tools/gst-inspect.c: (print_element_properties_info):
16017           Can't pass NULL strings to g_print() on windows.
16018
16019 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
16020
16021         * docs/Makefile.am:
16022         * docs/gst/Makefile.am:
16023         * docs/gst/gstreamer-docs.sgml:
16024         * docs/gst/running.xml:
16025         * docs/version.entities.in:
16026           add a chapter on running GStreamer.
16027           document GST_DEBUG and GST_PLUGIN* env vars
16028
16029 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
16030
16031         * Makefile.am:
16032           remove include dir
16033         * configure.ac:
16034           remove PLUGINS_BUILDDIR stuff
16035         * gst/gst.c: (init_post):
16036           reorder parsing of GST_PLUGIN_PATH and GST_PLUGIN_SYSTEM_PATH
16037         * idiottest.mak:
16038           remove, it was condescending and not needed
16039
16040 2005-10-08  Wim Taymans  <wim@fluendo.com>
16041
16042         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
16043         (gst_base_sink_handle_object), (gst_base_sink_event),
16044         (gst_base_sink_wait), (gst_base_sink_handle_event),
16045         (gst_base_sink_change_state):
16046         * gst/base/gstbasesink.h:
16047         Repost EOS message while going to PLAYING if still EOS.
16048         Make sure that when receiving a FLUSH_START we don't attempt
16049         to sync on the clock anymore.
16050
16051 2005-10-08  Wim Taymans  <wim@fluendo.com>
16052
16053         * tools/gst-launch.c: (event_loop):
16054         Better message printout.
16055
16056 2005-10-08  Wim Taymans  <wim@fluendo.com>
16057
16058         * gst/gstbin.c: (gst_bin_child_proxy_get_child_by_index),
16059         (gst_bin_child_proxy_get_children_count):
16060         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
16061         (gst_child_proxy_lookup), (gst_child_proxy_get_property),
16062         (gst_child_proxy_get_valist), (gst_child_proxy_set_property),
16063         (gst_child_proxy_set_valist):
16064         * gst/parse/grammar.y:
16065         Make ChildProxy threadsafe and fix mem leaks.
16066
16067 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
16068
16069         * gst/gst.c: (init_post):
16070           debug the GST_PLUGIN_ env vars
16071
16072 2005-10-08  Wim Taymans  <wim@fluendo.com>
16073
16074         * check/gst/gstbin.c: (GST_START_TEST):
16075         * check/gst/gstmessage.c: (GST_START_TEST):
16076         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
16077         * gst/gstelement.c: (gst_element_commit_state),
16078         (gst_element_lost_state):
16079         * gst/gstmessage.c: (gst_message_new_state_changed),
16080         (gst_message_parse_state_changed):
16081         * gst/gstmessage.h:
16082         * tools/gst-launch.c: (event_loop):
16083         Added extra field to STATE_CHANGE message with the pending
16084         state, which will be different from the new state soon.
16085
16086 2005-10-08  Wim Taymans  <wim@fluendo.com>
16087
16088         * gst/gstbus.c: (gst_bus_pop):
16089         * gst/gstclock.c:
16090         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
16091         Small cleanups and doc updates.
16092
16093 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
16094
16095         * gst/gst.c: (init_pre):
16096         * gst/gstbin.c: (gst_bin_add_func):
16097           log distributing clocks and base time
16098         * gst/gstregistry.c: (gst_registry_add_plugin),
16099         (gst_registry_scan_path_level), (gst_registry_scan_path):
16100           clean up the debugging output a little
16101         * gst/gstutils.c: (gst_element_state_get_name):
16102           warn about a memleak (I've actually seen this be used, though
16103           it was probably a bug)
16104
16105 2005-10-07  Wim Taymans  <wim@fluendo.com>
16106
16107         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
16108         (gst_base_src_init), (gst_base_src_default_newsegment),
16109         (gst_base_src_newsegment), (gst_base_src_do_seek),
16110         (gst_base_src_loop), (gst_base_src_start):
16111         * gst/base/gstbasesrc.h:
16112         Make the newsegment event customizable by subclasses.
16113
16114 2005-10-07  Wim Taymans  <wim@fluendo.com>
16115
16116         * gst/gstevent.c: (gst_event_new_buffersize),
16117         (gst_event_parse_buffersize):
16118         * gst/gstevent.h:
16119         New event for future idea.
16120
16121 2005-10-07  Andy Wingo  <wingo@pobox.com>
16122
16123         * gst/gstelement.c (gst_element_post_message): Doc update.
16124
16125         * docs/gst/gstreamer-sections.txt: Update.
16126
16127         * gst/gstmessage.c (gst_message_new_application): Made into a
16128         function like honest API calls.
16129         (gst_message_new_element): New message type.
16130
16131         * gst/gstmessage.h (enum): Add GST_MESSAGE_ELEMENT type.
16132
16133         * check/elements/fakesrc.c (test_no_preroll): New check, checks
16134         that setting a live fakesrc to PAUSED returns NO_PREROLL both
16135         times.
16136
16137         * gst/base/gstbasesrc.c (gst_base_src_change_state): Allow a
16138         NO_PREROLL from gst_element_change_state to fall through.
16139
16140 2005-10-07  Wim Taymans  <wim@fluendo.com>
16141
16142         * gst/gstghostpad.c: (gst_ghost_pad_get_internal),
16143         (gst_ghost_pad_do_activate_push):
16144         Activating a ghostpad with no internal pad in push mode
16145         is ok.
16146
16147 2005-10-07  Thomas Vander Stichele  <thomas at apestaart dot org>
16148
16149         * gst/gstobject.h:
16150           there's no point in wrapping FLAG_SET/_UNSET in STMT macros.
16151           Fixes compilation on Windows.
16152
16153 2005-10-07  Michael Smith <msmith@fluendo.com>
16154
16155         * tools/gst-inspect.c:
16156           Print out feature and plugin count at the end when printing out
16157           all features.
16158
16159 2005-10-04  Michael Smith <msmith@fluendo.com>
16160
16161         * gst/gsterror.c: (_gst_stream_errors_init):
16162           Add another error string used in a few existing plugins.
16163
16164         * gst/gstplugin.c:
16165         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
16166         * tools/gst-inspect.c: (print_element_info):
16167           When a feature disappears from a plugin (and the feature exists in
16168           the cached registry file), things went horribly wrong. This isn't a
16169           complete fix, we should actually be removing the 'missing' features
16170           from the features list when we load the actual plugin. That's not
16171           yet implemented. 
16172
16173 2005-10-04  Johan Dahlin  <johan@gnome.org>
16174
16175         * check/gst/gstiterator.c: (GST_START_TEST):
16176         * gst/gstbin.c: (gst_bin_iterate_elements),
16177         (gst_bin_iterate_recurse), (gst_bin_iterate_sorted):
16178         * gst/gstelement.c: (gst_element_iterate_pads):
16179         * gst/gstformat.c: (gst_format_iterate_definitions):
16180         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
16181         (gst_iterator_new_list), (gst_iterator_filter):
16182         * gst/gstiterator.h:
16183         * gst/gstquery.c: (gst_query_type_iterate_definitions):
16184         Add a GType to GstIterator, update callsites and tests.
16185
16186 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
16187
16188         * gst/gstpad.c: (gst_pad_event_default_dispatch):
16189           give events a chance to be handled by event probes when the pad
16190           is not linked
16191
16192 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
16193
16194         * gst/gstevent.c: (gst_event_type_get_name),
16195         (gst_event_type_to_quark), (gst_event_finalize), (gst_event_new):
16196         * gst/gstevent.h:
16197           add string representations for event types
16198
16199 2005-10-06  Wim Taymans  <wim@fluendo.com>
16200
16201         * gst/elements/gstfilesink.c: (gst_file_sink_close_file):
16202         Don't use NULL pointers.
16203
16204 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
16205
16206         * gst/gst_private.h:
16207         * gst/gstbus.c:
16208         * gst/gstelement.c:
16209         * gst/gstinfo.c:
16210         * gst/gstpluginfeature.c:
16211           widen the debug category in output to fit the biggest one we have
16212           add a bus category and use it
16213           play with the colors
16214           fix up some categories
16215
16216 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
16217
16218         * gst/gstghostpad.c: (gst_ghost_pad_internal_do_activate_push):
16219           add push activation of sink ghost pads.
16220           Andye, please verify
16221
16222 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
16223
16224         * gst/gstutils.c: (gst_element_link_pads):
16225           fix a bug in the case where neither element has a pad
16226         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
16227           add a test for that case
16228
16229 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
16230
16231         * gst/gstpad.c: (gst_pad_push), (gst_pad_push_event):
16232           emit have-data before checking for peers.  This allows
16233           for probe handlers to connect elements.  This helps autopluggers.
16234         * check/gst/gstpad.c: (GST_START_TEST), (_probe_handler),
16235         (gst_pad_suite):
16236           add six checks, linked/unlinked with no/true/false probe
16237
16238 2005-10-04  Wim Taymans  <wim@fluendo.com>
16239
16240         * gst/elements/gstfakesink.c: (gst_fake_sink_get_property),
16241         (gst_fake_sink_event), (gst_fake_sink_preroll),
16242         (gst_fake_sink_render), (gst_fake_sink_change_state):
16243         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler),
16244         (gst_fake_src_get_property), (gst_fake_src_create),
16245         (gst_fake_src_stop):
16246         * gst/elements/gstidentity.c: (gst_identity_stop):
16247         Protect last_message with lock.
16248
16249 2005-10-04  Edward Hervey  <edward@fluendo.com>
16250
16251         * gst/gstformat.h: 
16252         Added precision in the comments for GST_FORMAT_DEFAULT
16253
16254 2005-10-04  Tim-Philipp Müller  <tim at centricular dot net>
16255
16256         * tools/gst-launch.c: (main):
16257           Don't try to run erroneous pipelines.
16258
16259 2005-10-04  Julien MOUTTE  <julien@moutte.net>
16260
16261         * gst/gstbus.c: We don't need this header.
16262
16263 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
16264
16265         * configure.ac:
16266           back to development
16267
16268 === release 0.9.3 ===
16269
16270 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
16271
16272         * README:
16273         * configure.ac:
16274           Releasing 0.9.3, "Unregistered"
16275
16276 2005-10-03  Andy Wingo  <wingo@pobox.com>
16277
16278         * gst/gstpad.c (gst_pad_activate_push): There is a race condition
16279         whereby calling a pad's activatepush() function can start a thread
16280         that starts to push or pull before the pad gets the FLUSHING flag
16281         unset. Hack around it by holding the stream lock until the flag is
16282         set. Need to replace this with a proper solution. Together with
16283         the ghost pad fixes, this fixes mp3 playing/tagreading.
16284
16285         * docs/design/part-gstghostpad.txt: Add a note about activation of
16286         proxy pads outside of ghost pads.
16287
16288         * gst/gstghostpad.c: Implement the ghost pad activation design.
16289
16290 2005-10-02  Andy Wingo  <wingo@pobox.com>
16291
16292         * gst/gstobject.h (GST_OBJECT_REFCOUNT_VALUE): Just use the int.
16293         It is volatile, after all.
16294
16295         * docs/design/part-gstghostpad.txt: Flesh out activation with
16296         ghost pads.
16297
16298         * gst/base/gstbasesrc.c (gst_base_src_init): Use
16299         GST_DEBUG_FUNCPTR.
16300
16301 2005-10-02  Tim-Philipp Müller  <tim at centricular dot net>
16302
16303         * configure.ac:
16304           Fix (unused) AM_CONDITIONAL tests.
16305
16306 2005-10-01  Alessandro Decina  <alessandro at nnva dot org>
16307
16308         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
16309
16310         * gst/gstutils.c: (gst_pad_query_convert):
16311           Add assertion that makes sure src_val is >=0, just like
16312           gst_query_new_convert() has. (#315895)
16313
16314 2005-09-30  Edward Hervey  <edward@fluendo.com>
16315
16316         * gst/elements/gsttee.c: (gst_tee_do_push), (gst_tee_handle_buffer):
16317         Let's not iterate pads we're not interested in, it avoids getting 
16318         sky-high refcounts on sinkpad.
16319
16320 2005-09-30  Wim Taymans  <wim@fluendo.com>
16321
16322         * gst/gstelement.c: (gst_element_set_state),
16323         (gst_element_change_state):
16324         Small tweak, element in ASYNC remains ASYNC.
16325
16326 2005-09-30  Wim Taymans  <wim@fluendo.com>
16327
16328         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
16329         Only error is an error.
16330
16331         * gst/gstbin.c: (gst_bin_change_state):
16332         Better debugging.
16333
16334         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_chain):
16335         Also call pad_block in pad alloc.
16336
16337         * gst/gstutils.c: (gst_flow_get_name):
16338         Better debugging.
16339
16340 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
16341
16342         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
16343         (gst_base_src_get_range):
16344           Fix documentation typos. Add some more debug info.
16345
16346 2005-09-29  David Schleef  <ds@schleef.org>
16347
16348         * gst/gstplugin.c: (gst_plugin_load_file): Make some error messages
16349           more end-user friendly.
16350         * tools/gst-inspect.c: (main): Check if command-line argument is
16351           a file and attempt to load that file as a plugin.
16352
16353 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
16354
16355         * check/gst/gstbin.c:
16356         * check/states/sinks.c:
16357           fix tests for the new warning
16358         * check/gst/gstpipeline.c:
16359           add a test for pipeline and bus interaction
16360         * gst/gstelement.c:
16361           elements should be NULL if they get disposed; add a warning if not
16362
16363 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
16364
16365         * gst/gstobject.c:
16366           for 2.6 refcounting, make debug log more correct by printing
16367           the actual refcounts at the time of swap (Wim)
16368
16369 2005-09-29  Andy Wingo  <wingo@pobox.com>
16370
16371         * gst/gstbus.c (gst_bus_remove_signal_watch): New function,
16372         removes signal watches previously added via
16373         gst_bus_add_signal_watch.
16374         (gst_bus_add_signal_watch): Don't return the source id, just store
16375         it on the bus if there wasn't an id already.
16376
16377         * gst/gstbus.h (GstBus): Add a couple new fields. API changes for
16378         add_signal_watch and remove_signal_watch.
16379
16380 2005-09-29  Edward Hervey  <edward@fluendo.com>
16381
16382         * libs/gst/controller/gstcontroller.c: (gst_controller_new_list): 
16383         Better if we actually iterate the list :)
16384
16385 2005-09-29  Wim Taymans  <wim@fluendo.com>
16386
16387         * check/gst/gstbin.c: (GST_START_TEST):
16388         Change for new bus API.
16389
16390         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
16391         (send_messages), (GST_START_TEST), (gstbus_suite):
16392         Change for new bus signal API.
16393
16394         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_have_pending),
16395         (gst_bus_source_prepare), (gst_bus_source_check),
16396         (gst_bus_create_watch), (gst_bus_add_watch_full),
16397         (gst_bus_add_watch), (gst_bus_poll), (gst_bus_async_signal_func),
16398         (gst_bus_sync_signal_handler), (gst_bus_add_signal_watch):
16399         * gst/gstbus.h:
16400         Remove support for multiple GSources operating on different
16401         message types as it is too complex and unneeded when using
16402         signals.
16403         Added support for receiving signals from the bus.
16404
16405 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
16406
16407         * docs/libs/tmpl/gstdataprotocol.sgml:
16408         * docs/manual/advanced-dataaccess.xml:
16409         * gst/elements/gstcapsfilter.c:
16410         * gst/gstutils.c:
16411           rename filter-caps to caps property
16412
16413 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
16414
16415         * gst/gstvalue.c: (gst_value_deserialize_fraction):
16416           More robust fraction string parsing.
16417
16418         * docs/pwg/appendix-porting.xml:
16419           Mention gst_pad_use_explicit_caps() => gst_pad_use_fixed_caps()
16420
16421 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
16422
16423         * gst/gstcaps.c: (gst_caps_do_simplify):
16424           Thou shalt not free a structure and then continue using it
16425           in the next loop iteration.
16426
16427         * check/gst/gstcaps.c: (check_fourcc_list), (test_simplify),
16428         (gst_caps_suite):
16429           Add test case for caps simplification.
16430
16431 2005-09-29  Wim Taymans  <wim@fluendo.com>
16432
16433         * check/gst/gstbin.c: (GST_START_TEST):
16434         Oops.
16435
16436 2005-09-29  Wim Taymans  <wim@fluendo.com>
16437
16438         * check/gst/gstbin.c: (GST_START_TEST):
16439         Add bus to bin.
16440
16441         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
16442         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
16443         (find_element), (gst_bin_sort_iterator_next),
16444         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
16445         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
16446         (gst_bin_change_state), (gst_bin_dispose):
16447         A bin does not have a bus, it gets the bus from the parent.
16448
16449         * gst/gstelement.c: (gst_element_requires_clock),
16450         (gst_element_provides_clock), (gst_element_is_indexable),
16451         (gst_element_is_locked_state), (gst_element_change_state),
16452         (gst_element_set_bus_func):
16453         Small cleanups.
16454
16455         * gst/gstpipeline.c: (gst_pipeline_class_init),
16456         (gst_pipeline_init), (gst_pipeline_provide_clock_func):
16457         The pipeline provides a bus.
16458
16459 2005-09-28  Johan Dahlin  <johan@gnome.org>
16460
16461         * gst/gstmessage.c (gst_message_parse_state_changed): Use
16462         gst_structure_get_enum instead of gst_structure_get_int
16463
16464         * gst/gststructure.c (gst_structure_get_enum): Impl.
16465
16466         * gst/gststructure.h (gst_structure_get_enum): Add
16467
16468         * docs/gst/gstreamer-sections.txt: Ditto
16469
16470         * gst/gstmessage.c (gst_message_new_state_changed): Use
16471         GST_TYPE_STATE instead of G_TYPE_INT, mainly for language bindings
16472         which does introspection.
16473         Reviewed by Christian Schaller
16474
16475 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
16476
16477         * gst/gstinfo.c: (gst_debug_log_default):
16478           don't do dummy g_strdup()s
16479         * libs/gst/controller/gstcontroller.c:
16480         (on_object_controlled_property_changed),
16481         (gst_controlled_property_new), (gst_controller_new_valist),
16482         (gst_controller_new_list),
16483         (gst_controller_remove_properties_valist), (gst_controller_set),
16484         (gst_controller_get), (gst_controller_sync_values),
16485         (gst_controller_get_value_array), (_gst_controller_class_init),
16486         (gst_controller_get_type):
16487         * libs/gst/controller/gstcontroller.h:
16488         * libs/gst/controller/gstinterpolation.c:
16489         (gst_controlled_property_find_timed_value_node):
16490           convert // to /**/ comments
16491
16492 2005-09-28  Wim Taymans  <wim@fluendo.com>
16493
16494         * gst/gstbus.c: (marshal_VOID__MINIOBJECT), (gst_bus_class_init),
16495         (gst_bus_post), (poll_func), (gst_bus_async_signal_func),
16496         (gst_bus_sync_signal_handler):
16497         * gst/gstbus.h:
16498         Added async-message and sync-message signals to the bus.
16499         Added helper BusFunc to emit signals for all posted messages.
16500
16501         * gst/gstmessage.c: (gst_message_type_get_name),
16502         (gst_message_type_to_quark), (gst_message_get_type):
16503         * gst/gstmessage.h:
16504         Register quarks for message names.
16505
16506 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
16507
16508         * docs/libs/gstreamer-libs-sections.txt:
16509         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
16510         (gst_controller_new_list):
16511         * libs/gst/controller/gstcontroller.h:
16512           added another constructor for language bindings
16513
16514 2005-09-28  Thomas Vander Stichele  <thomas at apestaart dot org>
16515
16516         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
16517           add another check
16518         * gst/gstbus.c:
16519           add some doc
16520         * gst/gstinfo.c: (_gst_debug_init):
16521           slightly more readable color for refcount debugging
16522
16523 2005-09-28  Wim Taymans  <wim@fluendo.com>
16524
16525         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
16526         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
16527         (find_element), (gst_bin_sort_iterator_next),
16528         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
16529         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
16530         (gst_bin_change_state), (gst_bin_dispose):
16531         Small doc fixes. get_clock -> provide_clock.
16532
16533         * gst/gstelement.c: (gst_element_class_init),
16534         (gst_element_provides_clock), (gst_element_provide_clock),
16535         (gst_element_get_clock), (gst_element_commit_state),
16536         (gst_element_lost_state):
16537         * gst/gstelement.h:
16538         Make get/set_clock() symetric. Add provide_clock vmethod since
16539         that is actually what this function does.
16540
16541         * gst/gstpipeline.c: (gst_pipeline_class_init),
16542         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func),
16543         (gst_pipeline_get_clock):
16544         get_clock -> provide_clock.
16545
16546 2005-09-28  Andy Wingo  <wingo@pobox.com>
16547
16548         * gst/base/gstbasesrc.c (gst_base_src_unlock): Comment a bit in
16549         lieu of real docs...
16550
16551         * gst/elements/gstfdsrc.c: Cleaned up a bit.
16552
16553 2005-09-28  Tim-Philipp Müller  <tim at centricular dot net>
16554
16555         * gst/elements/gstcapsfilter.c:
16556         * gst/elements/gstfakesink.c:
16557         * gst/elements/gstfakesrc.c:
16558         * gst/elements/gstfdsink.c:
16559         * gst/elements/gstfdsrc.c:
16560         * gst/elements/gstfilesink.c:
16561         * gst/elements/gstfilesrc.c:
16562         * gst/elements/gstidentity.c:
16563         * gst/elements/gsttee.c:
16564         * gst/elements/gsttypefindelement.c:
16565           Make element details static.
16566
16567 2005-09-28  Wim Taymans  <wim@fluendo.com>
16568
16569         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
16570         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
16571         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
16572         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
16573         (gst_bin_change_state), (gst_bin_dispose):
16574         Some documentation updates.
16575         Clean up dispose handlers.
16576
16577         * gst/gstobject.c: (gst_object_ref), (gst_object_unref):
16578         * gst/gstpad.c: (gst_pad_dispose):
16579         Clean up dispose handler.
16580
16581         * gst/gstpipeline.c: (gst_pipeline_change_state):
16582         Removed spurious UNLOCK.
16583
16584 2005-09-27  Stefan Kost  <ensonic@users.sf.net>
16585
16586         * docs/gst/gstreamer-sections.txt:
16587         * gst/base/gstbasesrc.h:
16588         * gst/gstelement.h:
16589         * gst/gstevent.h:
16590         * gst/gstobject.h:
16591         * gst/gstpad.h:
16592         * gst/gstpipeline.c:
16593         * gst/gstpipeline.h:
16594         * gst/gstutils.h:
16595         * gst/gstxml.h:
16596           added two new functions to the docs
16597                 documents all undocumented GstXXXFlags
16598                 completed some incomplete docs 
16599
16600 2005-09-27  Thomas Vander Stichele  <thomas at apestaart dot org>
16601
16602         * gst/gstbin.c: (gst_bin_dispose):
16603         * gst/gstelement.c: (gst_element_dispose):
16604           remove now useless and leaky resurrection code in dispose
16605         * gst/base/gstbasesrc.c: (gst_base_src_init):
16606         * gst/gstelementfactory.c: (gst_element_factory_create):
16607         * gst/gstobject.c: (gst_object_set_parent):
16608           add some debugging
16609
16610 2005-09-27  Wim Taymans  <wim@fluendo.com>
16611
16612         * docs/design/part-TODO.txt:
16613         Update TODO.
16614
16615         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
16616         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
16617         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
16618         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
16619         (gst_bin_change_state):
16620         * gst/gstelement.h:
16621         Remove element variable, we keep element info in the iterator now.
16622
16623 2005-09-27  Andy Wingo  <wingo@pobox.com>
16624
16625         * libs/gst/dataprotocol/dataprotocol.c: Fix error-checking return
16626         values.
16627
16628 2005-09-27  Wim Taymans  <wim@fluendo.com>
16629
16630         * check/gst/gstbin.c: (GST_START_TEST):
16631         Enable check that works now.
16632
16633         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
16634         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
16635         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
16636         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
16637         (gst_bin_change_state):
16638         * gst/gstbin.h:
16639         Redid the state change algorithm using a topological sort algo.
16640         Handles all cases correctly.
16641         Exposed iterator for state change order.
16642
16643         * gst/gstelement.h:
16644         Temp storage for state changes. Need to get rid of this soon.
16645
16646 2005-09-27  Wim Taymans  <wim@fluendo.com>
16647
16648         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_do_push):
16649         * gst/gstutils.c: (intersect_caps_func), (gst_pad_proxy_getcaps),
16650         (link_fold_func), (gst_pad_proxy_setcaps):
16651         Leak fixes, the fold functions need to unref the passed object and
16652         _get_parent_*() returns ref to parent.
16653
16654 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
16655
16656         * check/gst/gstbuffer.c: (test_make_writable):
16657           Plug leak in test case and fix 'make check-valgrind'
16658
16659 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
16660
16661         * gst/gstbuffer.c: (gst_subbuffer_init):
16662           Set READONLY flag on subbuffers, so that gst_buffer_make_writable()
16663           works correctly in all circumstances (we could have just copied
16664           the parent buffer's readonly flag, but conceptually it seems
16665           cleaner to mark all subbuffers as read-only). (based on patch
16666           by Alessandro Decina, #314710).
16667         
16668         * check/gst/gstbuffer.c: (create_read_only_buffer),
16669         (test_make_writable), (test_subbuffer_make_writable),
16670         (gst_test_suite):
16671           Add some tests for gst_buffer_make_writable().
16672
16673 2005-09-27  Wim Taymans  <wim@fluendo.com>
16674
16675         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_change_state):
16676         use gst_object_has_ancestor().
16677
16678         * gst/gstobject.c: (gst_object_has_ancestor):
16679         * gst/gstobject.h:
16680         gst_object_has_ancestor() copied from gstbin.c as it is a
16681         useful function.
16682
16683         * tests/instantiate/create.c: (create_all_elements):
16684         * tests/lat.c: (handoff_src), (handoff_sink):
16685         * tests/sched/runxml.c: (main):
16686         * tests/seeking/seeking1.c: (main):
16687         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
16688         (main):
16689         Fix compilation of some tests.
16690
16691 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
16692
16693         * gst/gsterror.h:
16694           Remove comment. GST_TYPE_G_ERROR is here to stay,
16695           G_TYPE_ERROR has been WONTFIX'ed by the GLib folks
16696           (#316961, #300610).
16697
16698 2005-09-26  Wim Taymans  <wim@fluendo.com>
16699
16700         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
16701         Added check that shows error in state change order.
16702
16703 2005-09-26  Wim Taymans  <wim@fluendo.com>
16704
16705         * gst/gstbin.c: (gst_bin_change_state):
16706         Make state change function use 3 queues again, we were
16707         adding elements in the wrong order.
16708
16709         * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
16710         Some debug info,
16711
16712         * gst/gstpad.c: (gst_pad_dispose):
16713         Added some debug info first.
16714
16715 2005-09-26  Tim-Philipp Müller  <tim at centricular dot net>
16716
16717         * docs/design/draft-push-pull.txt:
16718         * docs/design/part-events.txt:
16719         * docs/design/part-overview.txt:
16720         * docs/design/part-scheduling.txt:
16721           Replace all _pull_region() with _pull_range()
16722           
16723 2005-09-26  Andy Wingo  <wingo@pobox.com>
16724
16725         * gst/gstvalue.c (_gst_value_initialize): Better fakeout.
16726
16727         * check/gst-libs/controller.c: Update for controller api change.
16728
16729         * configure.ac: 
16730         * tests/Makefile.am:
16731         * tests/memchunk: Remove memchunk benchmark stuff, this is taken
16732         over by GLib bug 118439.
16733         
16734         * gst/base/gstbasesink.c (gst_base_sink_wait): Factor out the wait
16735         routines to a function.
16736
16737         * docs/libs/gstreamer-libs-sections.txt: I am a good person today.
16738
16739         * libs/gst/controller/gsthelper.c:
16740         * libs/gst/controller/gstcontroller.h (gst_controller_sync_values)
16741         (gst_object_sync_values): Renamed from sink_values. Ugh.
16742
16743         * libs/gst/controller/gsthelper.c: Update for __gst_controller_key.
16744
16745         * libs/gst/controller/gstcontroller.c (__gst_controller_key):
16746         Renamed from controller_key, as it is exported.
16747
16748         * gst/gstvalue.c (_gst_value_initialize): Fake out the compiler.
16749
16750 2005-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>
16751
16752         * gst/Makefile.am:
16753         * gst/gst.h:
16754         * gst/gstpad.h:
16755         * gst/gstpadtemplate.h:
16756         * gst/gstquery.c:
16757         * gst/gstquery.h:
16758         * gst/gstqueryutils.c:
16759         * gst/gstqueryutils.h:
16760           remove queryutils headers after moving the two used functions
16761           to gstquery.  also fixes build problem for gstsiddec
16762
16763 2005-09-26  Michael Smith <msmith@fluendo.com>
16764
16765         * tools/gst-launch.1.in:
16766         Correct documentation in manpage of debug syntax
16767
16768 2005-09-26  Wim Taymans  <wim@fluendo.com>
16769
16770         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
16771         (gst_base_src_is_seekable), (gst_base_src_change_state):
16772         Some more debugging info.
16773
16774 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
16775
16776         * docs/gst/gstreamer-sections.txt:
16777         * gst/base/gstbasetransform.h:
16778         * gst/gstindex.h:
16779           added more docs
16780
16781 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
16782
16783         * docs/gst/.cvsignore:
16784         * docs/gst/tmpl/.cvsignore:
16785         * docs/gst/tmpl/gstpipeline.sgml:
16786         * docs/gst/tmpl/gstplugin.sgml:
16787         * gst/gstpipeline.c:
16788         * gst/gstplugin.c:
16789         * gst/gstplugin.h:
16790           inlined the last two docs files
16791           removed the tmpl directory from cvs (no more conflicts here!)
16792
16793 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
16794
16795         * docs/gst/gstreamer-sections.txt:
16796         * docs/gst/tmpl/.cvsignore:
16797         * docs/gst/tmpl/gstpad.sgml:
16798         * docs/gst/tmpl/gstpadtemplate.sgml:
16799         * gst/Makefile.am:
16800         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
16801         (gst_pad_finalize), (gst_pad_set_pad_template):
16802         * gst/gstpad.h:
16803         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
16804         (gst_pad_template_class_init), (gst_pad_template_init),
16805         (gst_pad_template_dispose), (name_is_valid),
16806         (gst_static_pad_template_get), (gst_pad_template_new),
16807         (gst_static_pad_template_get_caps), (gst_pad_template_get_caps),
16808         (gst_pad_template_pad_created):
16809         * gst/gstpadtemplate.h:
16810           inlined two more docs
16811           factored gstpadtemplate out of gstpad
16812
16813 2005-09-24  Tim-Philipp Müller  <tim at centricular dot net>
16814
16815         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
16816         (test_children_state_change_order_semi_sink):
16817           Fix test case: we can't rely on a fixed state change order when
16818           going from READY => PAUSED because the sink might commit its 
16819           new state first when the first buffer created by the source 
16820           reaches the sink before the source has finished its change state.
16821           (Test case still fails at times, see #316856, comment 5 onwards)
16822
16823 2005-09-24  Wim Taymans  <wim@fluendo.com>
16824
16825         * docs/design/part-events.txt:
16826         * docs/design/part-gstbus.txt:
16827         * docs/design/part-gstpipeline.txt:
16828         * docs/design/part-messages.txt:
16829         * docs/design/part-overview.txt:
16830         * docs/design/part-segments.txt:
16831         * gst/gstbin.c:
16832         * gst/gstbuffer.c:
16833         * gst/gstclock.c:
16834         * gst/gstelement.c:
16835         * gst/gstevent.c:
16836         * gst/gstfilter.c:
16837         * gst/gstiterator.c:
16838         Various documentation updates.
16839
16840 2005-09-24  Thomas Vander Stichele  <thomas at apestaart dot org>
16841
16842         * gst/gstclock.h:
16843           Well, that's embarassing.  Luckily we weren't using
16844           GST_CLOCK_DIFF anywhere.
16845
16846 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
16847
16848         * common/gtk-doc.mak:
16849           don't fail on building XML, FC4 slave shows a bunch of doc
16850           missing bits that I don't get
16851         * gst/gstpad.c:
16852         * gst/gstpipeline.c:
16853         * gst/gststructure.c:
16854           some doc updates
16855
16856 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
16857
16858         * docs/design/part-gstbin.txt:
16859         * docs/design/part-gstbus.txt:
16860         * gst/gstbus.c:
16861           Add blurb about how the bus goes into flushing mode and
16862           drops all messages when its bin goes from READY into NULL 
16863           state.
16864
16865 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
16866
16867         * docs/gst/gstreamer-sections.txt:
16868         * gst/gststructure.c: (gst_structure_get_clock_time):
16869         * gst/gststructure.h:
16870           add a method to get a GstClockTime out of a structure
16871
16872 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
16873
16874         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
16875         (test_children_state_change_order_semi_sink), (gst_bin_suite):
16876           Added test to check state change order in bins (can still be made
16877           to fail here under heavy disk load; bails out with 'Push on pad
16878           fakesink:sink0, but it was not activated in push mode').
16879
16880         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_change_state):
16881           Fix state change order when there is only a semi sink (#316856)
16882
16883         * gst/gstbus.c: (gst_bus_class_init):
16884           Use _class_peek_parent(), not _class_ref(); fix docs to say
16885           'default main context' instead of 'mainloop' where that is
16886           what's meant.
16887
16888         * gst/gstelement.c: (gst_element_commit_state),
16889         (gst_element_set_state):
16890           Fix typos in debug messages
16891
16892 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
16893
16894         * docs/README:
16895         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_chain):
16896         * gst/gstpluginfeature.c:
16897         * gst/gstutils.c:
16898           various doc updates
16899         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
16900           change an assert into an error until it gets fixed properly
16901
16902 2005-09-23  Stefan Kost  <ensonic@users.sf.net>
16903
16904         * docs/gst/gstreamer-sections.txt:
16905         * docs/gst/tmpl/.cvsignore:
16906         * docs/gst/tmpl/gstelement.sgml:
16907         * docs/gst/tmpl/gstinfo.sgml:
16908         * docs/gst/tmpl/gstobject.sgml:
16909         * gst/gstelement.c:
16910         * gst/gstelement.h:
16911         * gst/gstinfo.c:
16912         * gst/gstinfo.h:
16913         * gst/gstobject.c: (gst_object_class_init):
16914         * gst/gstobject.h:
16915           inlined 3 more biiiig doc files and added some missing docs on the fly
16916
16917 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
16918
16919         * check/gst/.cvsignore:
16920         * check/gst/gstplugin.c: (GST_START_TEST), (gst_plugin_suite):
16921         * gst/gstregistryxml.c: (load_plugin),
16922         (gst_registry_xml_save_plugin):
16923           put back source in registry.  add checks for find_plugin.
16924         * testsuite/states/bin.c: (assert_state), (empty_bin),
16925         (test_adding_one_element), (main):
16926         * testsuite/states/locked.c: (main):
16927           some compile/run fixes
16928
16929 2005-09-22  Thomas Vander Stichele  <thomas at apestaart dot org>
16930
16931         * check/gst/gstvalue.c: (GST_START_TEST):
16932           fix leaks in the test itself
16933
16934 2005-09-22  Wim Taymans  <wim@fluendo.com>
16935
16936         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
16937         (gst_base_sink_send_event), (gst_base_sink_peer_query),
16938         (gst_base_sink_query):
16939         Prepare for more accurate position reporting and query
16940         handling.
16941
16942         * gst/gstelement.c: (gst_element_send_event),
16943         (gst_element_set_state):
16944         Add some comment.
16945
16946 2005-09-22  Wim Taymans  <wim@fluendo.com>
16947
16948         * gst/gstquery.c: (gst_query_new_segment), (gst_query_set_segment),
16949         (gst_query_parse_segment):
16950         * gst/gstquery.h:
16951         More documentation.
16952         Add segment query for future use.
16953
16954 2005-09-22  Wim Taymans  <wim@fluendo.com>
16955
16956         * gst/gstbin.c: (gst_bin_add_func):
16957         Some more debug info.
16958
16959         * gst/gstelement.c: (gst_element_send_event):
16960         Simplify send_event
16961
16962         * gst/gstelement.h:
16963         Don't know how flags got broken.
16964
16965         * gst/gstquery.h:
16966         Added new query.
16967
16968 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
16969
16970         * check/gst/gstvalue.c: (test_date), (gst_value_suite):
16971           Add simplistic test suite for GST_TYPE_DATE serialisation and
16972           deserialisation.
16973
16974 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
16975
16976         * docs/gst/gstreamer-sections.txt:
16977         * gst/gststructure.c: (gst_structure_set_valist),
16978         (gst_structure_get_date):
16979         * gst/gststructure.h:
16980         * gst/gstvalue.c: (gst_value_set_date), (gst_value_get_date),
16981         (gst_date_copy), (gst_value_compare_date),
16982         (gst_value_serialize_date), (gst_value_deserialize_date),
16983         (gst_value_transform_date_string),
16984         (gst_value_transform_string_date), (_gst_value_initialize):
16985         * gst/gstvalue.h:
16986           Add GST_TYPE_DATE, a boxed type that wraps GDate, and the usual
16987           bunch of utility functions along with a hack that checks that
16988           developers don't accidentally use G_TYPE_DATE where GST_TYPE_DATE
16989           is required. Part of the grand scheme in #170777.
16990
16991 2005-09-22  Andy Wingo  <wingo@pobox.com>
16992
16993         * gst/gstconfig.h.in: Psych out gtk-doc.
16994
16995         * docs/gst/gstreamer-sections.txt: Add GST_HAVE_GLIB_2_8.
16996
16997         * check/Makefile.am (check_PROGRAMS): Add gstplugin to the tests.
16998
16999         * tools/gst-inspect.c (print_element_list): Plug some
17000         inconsequential leaks.
17001
17002         * gst/gstregistry.c (gst_registry_get_default): Doc.
17003
17004         * check/gst/gstplugin.c: 
17005         * gst/gsttypefindfactory.c (gst_type_find_factory_call_function):
17006         * gst/gstelementfactory.c (gst_element_factory_create): 
17007         * gst/gstindexfactory.c (gst_index_factory_create): Update for
17008         refcount changes.
17009
17010         * gst/gstpluginfeature.c (gst_plugin_feature_list_free): Doc.
17011         (gst_plugin_feature_load): Doc, don't eat refs.
17012
17013         * gst/gstplugin.c (gst_plugin_load): Doc, don't eat refs.
17014         (gst_plugin_list_free): Doc.
17015         (gst_plugin_load_file): Doc updates.
17016
17017         * gst/gstbuffer.c (gst_buffer_get_caps): Like all our _get
17018         accessors returning refcounted objects, return a ref.
17019
17020         * check/gst/gstbuffer.c (GST_START_TEST): Use refcount-idempotent
17021         accessor for caps. IDEMPOTENCE. Oh yes.
17022
17023 2005-09-21  Francis Labonte  <francis_labonte at hotmail dot com>
17024
17025         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
17026
17027         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
17028         (_gst_debug_register_funcptr):
17029           Add mutex to serialise access to the hash table with
17030           the function pointer => function name string mapping;
17031           make that hash table static scope (#316809).
17032
17033         * gst/registries/.cvsignore:
17034           Remove left-over file.
17035
17036 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
17037
17038         * docs/pwg/appendix-porting.xml:
17039           And something about newsegment events and caps-on-buffers to
17040           the porting guide (feel free to improve).
17041
17042 2005-09-21  Andy Wingo  <wingo@pobox.com>
17043
17044         * check/gst/gstutils.c (test_buffer_probe_n_times): Add tests for
17045         data and event probes on the same pad.
17046         (test_buffer_probe_once): Test that removing probes from within
17047         the probe functions works.
17048
17049 2005-09-21  Andy Wingo  <wingo@pobox.com>
17050
17051         * check/gst/gstutils.c: New file.
17052         (test_buffer_probe_n_times): A simple buffer probe test. More to
17053         come, foolios.
17054
17055         * gst/gstutils.c (gst_pad_add_buffer_probe): Connect to
17056         have-data::buffer, not have-data.
17057         (gst_pad_add_event_probe): Likewise for have-data::event.
17058         (gst_pad_add_data_probe): More docs. The part about 'resolving the
17059         peer' isn't quite right yet though.
17060         (gst_pad_remove_buffer_probe, gst_pad_remove_event_probe) 
17061         (gst_pad_remove_data_probe): Change to take the guint handler_id
17062         as their arg, not the function+data, which is more glib-like.
17063
17064         * gst/gstpad.c (gst_pad_emit_have_data_signal): Add a detail to
17065         the signal emission to indicate if the data is a buffer or an
17066         event.
17067         (gst_pad_get_type): Initialize buffer and event quarks.
17068         (gst_pad_class_init): have-data is now a detailed signal, yes it
17069         is.
17070
17071 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
17072
17073         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
17074         * gst/gstutils.c: (gst_util_set_value_from_string),
17075         (gst_util_set_object_arg):
17076           Don't put functional code in g_return_if_fail() or
17077           g_return_val_if_fail() statements, otherwise things will 
17078           break when G_DISABLE_CHECKS is defined during compilation.
17079
17080 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
17081
17082         * docs/gst/tmpl/.cvsignore:
17083         * docs/gst/tmpl/gstvalue.sgml:
17084         * gst/gstvalue.c:
17085         * gst/gstvalue.h:
17086           inlied another one and added  some obvious docs
17087
17088 2005-09-21  Wim Taymans  <wim@fluendo.com>
17089
17090         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
17091         (gst_fdsrc_init), (gst_fdsrc_start), (gst_fdsrc_stop),
17092         (gst_fdsrc_unlock), (gst_fdsrc_set_property),
17093         (gst_fdsrc_get_property), (gst_fdsrc_create):
17094         * gst/elements/gstfdsrc.h:
17095         Properly implement fdsrc. Removed signal and timeout,
17096         better implemented somewhere else.
17097
17098 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
17099
17100         * docs/gst/tmpl/.cvsignore:
17101         * docs/gst/tmpl/gstimplementsinterface.sgml:
17102         * gst/gstinterface.c:
17103           inlined more docs
17104
17105 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
17106
17107         * docs/gst/gstreamer-sections.txt:
17108         * docs/gst/tmpl/.cvsignore:
17109         * docs/gst/tmpl/gstenumtypes.sgml:
17110           remove obsolete doc file
17111
17112 2005-09-21  David Schleef  <ds@schleef.org>
17113
17114         * gst/gstelementfactory.c: (gst_element_factory_make): Drink a
17115         little beer, fix a little leak.
17116
17117 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
17118
17119         * docs/gst/gstreamer-docs.sgml:
17120         * docs/gst/gstreamer-sections.txt:
17121         * docs/gst/tmpl/.cvsignore:
17122         * gst/Makefile.am:
17123         * gst/gst.h:
17124         * gst/gstbin.c:
17125         * gst/gstelement.h:
17126         * gst/gstindex.c: (gst_index_class_init):
17127         * gst/gstindex.h:
17128         * gst/gstindexfactory.c: (gst_index_factory_get_type),
17129         (gst_index_factory_class_init), (gst_index_factory_init),
17130         (gst_index_factory_finalize), (gst_index_factory_new),
17131         (gst_index_factory_destroy), (gst_index_factory_find),
17132         (gst_index_factory_create), (gst_index_factory_make):
17133         * gst/gstindexfactory.h:
17134         * gst/gstpluginfeature.c:
17135         * gst/gstpluginfeature.h:
17136         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
17137           more docs inlined, splitted gstindex.{c,h}
17138
17139 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
17140
17141         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
17142           fix a leak
17143
17144 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
17145
17146         * gst/elements/gstfilesink.c: (gst_file_sink_init):
17147           Set sync to FALSE by default.
17148
17149 2005-09-20  Wim Taymans  <wim@fluendo.com>
17150
17151         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
17152         (gst_base_sink_init):
17153         Make sync property settable from subclass.
17154
17155         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
17156         (gst_fake_sink_change_state):
17157         Set sync to FALSE by default.
17158
17159 2005-09-20  Wim Taymans  <wim@fluendo.com>
17160
17161         * gst/gstbus.c: (poll_func), (poll_timeout), (gst_bus_poll):
17162         * tools/gst-launch.c: (main):
17163         The timeout handler should have lower priority than the source
17164         so we don't timeout before popping a message with 0 timeout.
17165         Dump error messages after failed state change.
17166
17167 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
17168
17169         * tools/gst-inspect.c: (print_element_properties_info):
17170           Fix two typos.
17171
17172 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
17173
17174         * check/gst/gstevent.c:
17175         * gst/elements/gstfakesink.c:
17176         * gst/elements/gstfakesink.h:
17177           remove the sync property from fakesink.
17178           has the side effect of setting sync TRUE
17179           for fakesink, which is a change.  Anyone who knows how
17180           to fix this nicely in a GObject-y way, feel free.
17181
17182 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
17183
17184         * docs/gst/gstreamer-docs.sgml:
17185           remove probe refsection
17186
17187 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
17188
17189         * check/Makefile.am:
17190           disable valgrinding the controller test again
17191         * docs/gst/gstreamer-sections.txt:
17192           update for api-changes
17193
17194 2005-09-20  Wim Taymans  <wim@fluendo.com>
17195
17196         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
17197         (gst_base_sink_set_property), (gst_base_sink_get_property),
17198         (gst_base_sink_do_sync):
17199         * gst/base/gstbasesink.h:
17200         Added sync property to basesink to disable clock sync.
17201
17202 2005-09-20  Andy Wingo  <wingo@pobox.com>
17203
17204         * gst/gstelementfactory.c (gst_element_factory_create): Avoid
17205         eating the caller's refcount.
17206
17207         * gst/gstobject.h (GST_OBJECT_REFCOUNT) 
17208         (GST_OBJECT_REFCOUNT_VALUE): Conditionally fondle the right
17209         refcount.
17210
17211         * gst/gstconfig.h.in (GST_HAVE_GLIB_2_8):
17212         * configure.ac (GST_HAVE_GLIB_2_8_DEFINE): Make the availability
17213         of GLib 2.8 public, so we can know which refcount to check in
17214         tests.
17215
17216         * gst/gstobject.c: Use the GST_HAVE_GLIB_2_8 define.
17217         (gst_object_init): Only set the gst refcount if we're going ahead
17218         with the refcount hack.
17219
17220 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
17221
17222         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
17223         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
17224           more leaks plumbed, added more debug-logging
17225         * gst/gstmacros.h:
17226           whitespace fix
17227
17228 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
17229
17230         * gst/gstmessage.c:
17231           remove include of gstmemchunk.h
17232
17233 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
17234
17235         * gst/gstclock.c: (_gst_clock_id_free):
17236           Commit from the Political Party For More Atomic CVS Commits,
17237           so that people don't waste too much of their day fishing
17238           out obvious leaks out of massive commits.
17239           Oh, and fix a pretty damn obvious leak in the memchunk
17240           removal code.
17241
17242 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
17243
17244         * check/Makefile.am:
17245         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
17246           plug mem-leak, re-add to valgrindable tests
17247
17248 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
17249
17250         * gst/gstplugin.h:
17251           unbreak the build for those who have chronic arthritis
17252           and typing "make check" is just too taxing on the hands
17253
17254 2005-09-20  Andy Wingo  <wingo@pobox.com>
17255
17256         * gst/gst.h: Re-add marshal to gst.h's include list -- if we
17257         really want it out, you should fix plugins at the same time.
17258
17259 2005-09-19  Stefan Kost  <ensonic@users.sf.net>
17260
17261         * configure.ac:
17262         * docs/gst/gstreamer-sections.txt:
17263         * gst/gstobject.c:
17264           added missing symbols to api docs
17265           disable ref-count hack if we have glib >= 2.8
17266
17267 2005-09-19  David Schleef  <ds@schleef.org>
17268
17269         * docs/gst/Makefile.am: Ignore a few more internal headers
17270         * docs/gst/gstreamer-docs.sgml: Remove old sections
17271         * docs/gst/gstreamer-sections.txt: Remove old sections
17272         * docs/gst/tmpl/gstobject.sgml: update
17273         * docs/gst/tmpl/gstplugin.sgml: update
17274         * docs/gst/tmpl/gstpluginfeature.sgml: update
17275         * docs/random/ds/0.9-suggested-changes: update.
17276         * gst/Makefile.am: remove memchunk and trashstack, since they're
17277           not used.
17278         * gst/gst.c: (gst_deinit): rename gst_registry_deinit to _cleanup
17279         * gst/gst.h: don't include some headers
17280         * gst/gstchildproxy.c: add gstmarshal.h
17281         * gst/gstclock.c: Don't use memchunks
17282         * gst/gstminiobject.c: Add some docs
17283         * gst/gstobject.c: remove DESTROYED flag, since it's redundant
17284         * gst/gstobject.h: same
17285         * gst/gstplugin.c: include gstmacros.h
17286         * gst/gstplugin.h: don't include gstmacros.h, since it's private
17287         * gst/gstquery.c: don't use memchunks
17288         * gst/gstregistry.c: rename gst_registry_deinit()
17289         * gst/gstregistry.h: same
17290
17291 2005-09-19  David Schleef  <ds@schleef.org>
17292
17293         * docs/libs/gstreamer-libs-docs.sgml: Remove docs for getbits
17294         * docs/libs/gstreamer-libs-sections.txt:
17295         * docs/libs/tmpl/gstgetbits.sgml:
17296         * docs/libs/tmpl/gstputbits.sgml:
17297
17298 2005-09-19  Tim-Philipp Müller  <tim at centricular dot net>
17299
17300         * win32/gstenumtypes.c:
17301         * win32/gstenumtypes.h:
17302           Update.
17303
17304 2005-09-19  Wim Taymans  <wim@fluendo.com>
17305
17306         * gst/gstpipeline.c: (do_pipeline_seek), (gst_pipeline_send_event):
17307         Automatically PAUSE and RESUME a pipeline when a flushing seek
17308         is performed.
17309
17310 2005-09-19  Andy Wingo  <wingo@pobox.com>
17311
17312         * gst/gstregistry.h: Spacing fixen.
17313
17314 2005-09-19  Wim Taymans  <wim@fluendo.com>
17315
17316         * gst/base/gstbasesrc.c: (gst_base_src_change_state):
17317         Handle state change failure more correctly.
17318
17319 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
17320
17321         * check/Makefile.am:
17322         * check/pipelines/cleanup.c: (run_pipeline):
17323         * check/pipelines/simple_launch_lines.c: (run_pipeline),
17324         (GST_START_TEST):
17325           enable cleanup again after fixing the leak
17326         * docs/README:
17327           some more info on docs
17328
17329 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
17330
17331         * check/Makefile.am:
17332           re-enable tests now that leaks are plugged
17333         * check/gst/gst.c:
17334         * check/gst/gstbin.c:
17335         * check/gst/gstpipeline.c:
17336           add some more tests while fixing leaks
17337         * common/check.mak:
17338           make sure binaries are uptodate when valgrinding/gdbing
17339         * gst/gst.c:
17340         * gst/gstelementfactory.c:
17341           remove a ref too many, and add a FIXME for when we get
17342           round to disposing of classes
17343         * gst/gstplugin.c:
17344           fix the refcounting when loading a plugin from a file and
17345           the code pretends that the pointer is the same even though
17346           of course it can change
17347         * gst/gstpluginfeature.c:
17348           unref plugins marked cached (a bit confusing as a name)
17349           as the docs state should be done
17350           various doc additions to explain refcounting
17351         * gst/gstregistry.c:
17352         * gst/gstregistryxml.c:
17353           debugging
17354
17355 2005-09-19  Wim Taymans  <wim@fluendo.com>
17356
17357         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
17358         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
17359         (send_messages), (GST_START_TEST), (gstbus_suite):
17360         * check/gst/gstpipeline.c: (GST_START_TEST):
17361         * check/pipelines/cleanup.c: (run_pipeline):
17362         * check/pipelines/simple_launch_lines.c: (run_pipeline),
17363         (GST_START_TEST):
17364         * gst/gstbus.c: (gst_bus_have_pending), (gst_bus_source_prepare),
17365         (gst_bus_source_check), (gst_bus_source_dispatch),
17366         (gst_bus_create_watch), (gst_bus_add_watch_full),
17367         (gst_bus_add_watch), (poll_func), (poll_timeout), (gst_bus_poll):
17368         * gst/gstbus.h:
17369         * tools/gst-launch.c: (event_loop):
17370         * tools/gst-md5sum.c: (event_loop):
17371         GstBusHandler -> GstBusFunc, return value has the same meaning as
17372         any other GSource (FALSE == remove source).
17373         _add_watch() and _add_watch_full() now take a MessageType mask to
17374         only handle specific types of messages.
17375         _poll() returns the GstMessage instead of the message type to avoid
17376         race conditions.
17377         _have_pending() takes a MessageType mask now too.
17378         Added testsuite for multiple bus watches.
17379         Fix testsuites and applications for new bus API.
17380
17381 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
17382
17383         * check/Makefile.am:
17384           mark a bunch of the tests as to fix until we fix them
17385
17386 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
17387
17388         * common/check.mak:
17389           use GST_PLUGIN settings for valgrind tests as well, so we're
17390           valgrinding the correct thing
17391         * gst/gst.c: (init_post):
17392           plug another leak
17393
17394 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
17395
17396         * gst/gst.c: (init_post), (gst_deinit):
17397         * gst/gstelementfactory.c: (gst_element_factory_class_init),
17398         (gst_element_factory_finalize), (gst_element_factory_cleanup):
17399         * gst/gstindex.c: (gst_index_factory_class_init),
17400         (gst_index_factory_finalize):
17401         * gst/gstobject.c: (gst_object_dispose):
17402         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
17403         (gst_plugin_load_file), (gst_plugin_desc_free):
17404         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init),
17405         (gst_plugin_feature_finalize):
17406         * gst/gstregistry.c: (gst_registry_class_init),
17407         (gst_registry_init), (gst_registry_finalize),
17408         (gst_registry_get_default), (gst_registry_deinit):
17409         * gst/gstregistry.h:
17410         * gst/gstregistryxml.c: (load_feature), (load_plugin):
17411           various cleanups and memleak plugging.  make valgrind is happy now.
17412
17413 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
17414
17415         * common/check.mak:
17416           add a check-valgrind target
17417
17418 2005-09-18  David Schleef  <ds@schleef.org>
17419
17420         * tools/gst-inspect.c: Revert the GOption code.
17421
17422 2005-09-17  David Schleef  <ds@schleef.org>
17423
17424         * check/Makefile.am: Fix environment variables.
17425         * check/gst/gstplugin.c: Fix for API changes.
17426         * tools/gst-inspect.c: Fix for API changes.
17427         * tools/gst-xmlinspect.c: Fix for API changes.
17428         * gst/gstelementfactory.c:
17429         * gst/gstplugin.c:
17430         * gst/gstplugin.h:
17431         * gst/gstpluginfeature.c:
17432         * gst/gstpluginfeature.h:
17433         * gst/gstregistry.c:
17434         * gst/gstregistry.h:
17435         * gst/gstregistryxml.c:
17436         * gst/gsttypefind.c:
17437         * gst/gsttypefindfactory.c:
17438         * gst/indexers/gstfileindex.c:
17439         * gst/indexers/gstmemindex.c:
17440         * gst/schedulers/Makefile.am:
17441           Change registry to keep track of both plugins and features,
17442           removing the feature tracking from plugins themselves.
17443
17444 2005-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
17445
17446         * check/Makefile.am:
17447         * tools/gst-register.1.in:
17448           remove gst-register
17449
17450 2005-09-15  David Schleef  <ds@schleef.org>
17451
17452         * check/gst/gstplugin.c:
17453         * gst/gstelementfactory.c:
17454         * gst/gstplugin.c:
17455         * gst/gstpluginfeature.c:
17456         * gst/gstregistry.c:
17457           Getting tired of debugging.  Disabled all the unreffing of
17458           plugins and features, which fixes the segfaults, but of
17459           course leaks like crazy.  At least playbin works.
17460
17461 2005-09-15  David Schleef  <ds@schleef.org>
17462
17463         * check/gst/gstplugin.c: (register_check_elements),
17464         (GST_START_TEST), (peek), (suggest), (gst_plugin_suite):
17465         More testing
17466         * gst/elements/gsttypefindelement.c: Fix refcounting.
17467         * gst/gsttypefind.c:
17468         * gst/gsttypefindfactory.c:
17469         * gst/gsttypefindfactory.h:
17470
17471 2005-09-15  David Schleef  <ds@schleef.org>
17472
17473         * gst/gstindex.c: get refcounting correct.
17474         * gst/gstregistry.c: Handle the case where a feature/plugin is
17475           not found.
17476
17477 2005-09-15  David Schleef  <ds@schleef.org>
17478
17479         * check/Makefile.am:
17480         * check/gst/gstplugin.c: Add test
17481         * gst/gstplugin.c: Fix problems noticed by testsuite
17482         * gst/gstplugin.h:
17483         * gst/gstregistry.c: 
17484         * gst/gstregistry.h:
17485
17486 2005-09-15  David Schleef  <ds@schleef.org>
17487
17488         * gst/gstplugin.c: Implement semi-decent recounting and locking
17489           in plugins and plugin features.
17490         * gst/gstplugin.h:
17491         * gst/gstpluginfeature.c:
17492         * gst/gstpluginfeature.h:
17493         * gst/gstregistry.c:
17494
17495 2005-09-15  Michael Smith <msmith@fluendo.com>
17496
17497         * gst/gstregistry.c: (gst_registry_get_feature_list):
17498           Implement this. Makes oggdemux work; decodebin still broken.
17499
17500 2005-09-14  David Schleef  <ds@schleef.org>
17501
17502         * configure.ac: Add -no-undefined to GST_PLUGIN_LDFLAGS (bug
17503           #316076)
17504         * gst/base/Makefile.am: Add -no-undefined to LDFLAGS for libs
17505         * gst/check/Makefile.am:
17506         * libs/gst/controller/Makefile.am:
17507         * libs/gst/dataprotocol/Makefile.am:
17508
17509 2005-09-14  David Schleef  <ds@schleef.org>
17510
17511         * configure.ac: Remove getbits library.  Nothing uses it, and
17512           it should be in something like liboil if someone did want
17513           to use it.
17514         * libs/gst/Makefile.am:
17515         * libs/gst/getbits/Makefile.am:
17516         * libs/gst/getbits/gbtest.c:
17517         * libs/gst/getbits/getbits.c:
17518         * libs/gst/getbits/getbits.h:
17519         * libs/gst/getbits/gstgetbits_generic.c:
17520         * libs/gst/getbits/gstgetbits_i386.s:
17521         * libs/gst/getbits/gstgetbits_inl.h:
17522
17523 2005-09-14  David Schleef  <ds@schleef.org>
17524
17525         * gst/Makefile.am: Dist glib-compat.h
17526
17527 2005-09-14  David Schleef  <ds@schleef.org>
17528
17529         * configure.ac: Remove gst/registries, since it's no longer used.
17530         * gst/registries/Makefile.am:
17531         * gst/registries/gstlibxmlregistry.c:
17532         * gst/registries/gstlibxmlregistry.h:
17533         * gst/registries/gstxmlregistry.c:
17534         * gst/registries/gstxmlregistry.h:
17535         * gst/registries/registrytest.c:
17536
17537 2005-09-14  David Schleef  <ds@schleef.org>
17538
17539         * gst/glib-compat.h:
17540         * gst/gstregistryxml.c:
17541           Convergence is near.  Seriously.
17542
17543 2005-09-14  David Schleef  <ds@schleef.org>
17544
17545         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
17546         * gst/glib-compat.h:
17547           Attempt #4 to appease the buildbots.
17548
17549 2005-09-14  David Schleef  <ds@schleef.org>
17550
17551         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
17552           Attempt #3.
17553
17554 2005-09-14  David Schleef  <ds@schleef.org>
17555
17556         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
17557         Attempt #2.
17558
17559 2005-09-14  David Schleef  <ds@schleef.org>
17560
17561         * gst/Makefile.am: Oh yeah, libgstreamer.so needs to contain
17562           the new functions.
17563
17564 2005-09-14  David Schleef  <ds@schleef.org>
17565
17566         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
17567         * gst/glib-compat.h: Add some functions that are in newer versions
17568           of glib than we care to require.
17569         * gst/gstregistryxml.c: Use them.
17570
17571 2005-09-14  David Schleef  <ds@schleef.org>
17572
17573         * po/POTFILES.in: remove gst-register.c
17574
17575 2005-09-14  David Schleef  <ds@schleef.org>
17576
17577         * docs/gst/gstreamer-docs.sgml:
17578         * docs/gst/gstreamer-sections.txt:
17579         * docs/gst/gstreamer.types:
17580         * docs/gst/tmpl/gstelement.sgml:
17581         * docs/gst/tmpl/gstplugin.sgml:
17582         * docs/gst/tmpl/gstpluginfeature.sgml:
17583           Documentation updates for registry changes.
17584
17585 2005-09-14  David Schleef  <ds@schleef.org>
17586
17587         * gst/gstregistryxml.c: Copy g_mkdir_with_parent() from glib,
17588           because we don't require glib-2.8.
17589
17590 2005-09-14  David Schleef  <ds@schleef.org>
17591
17592         * gst/gstregistryxml.c: Added.  Essentially moved out of the
17593           registries directory.
17594
17595 2005-09-14  David Schleef  <ds@schleef.org>
17596
17597         * check/Makefile.am:
17598         * check/generic/states.c:
17599         * gst/Makefile.am:
17600         * gst/gst.c:
17601         * gst/gst.h:
17602         * gst/gst_private.h:
17603         * gst/gstelementfactory.c:
17604         * gst/gstindex.c:
17605         * gst/gstinfo.c:
17606         * gst/gstplugin.c:
17607         * gst/gstplugin.h:
17608         * gst/gstpluginfeature.c:
17609         * gst/gstpluginfeature.h:
17610         * gst/gstregistry.c:
17611         * gst/gstregistry.h:
17612         * gst/gstregistrypool.c: remove
17613         * gst/gstregistrypool.h: remove
17614         * gst/gsttypefind.c:
17615         * gst/gsttypefindfactory.c:
17616         * gst/gsturi.c:
17617         * tools/Makefile.am:
17618         * tools/gst-compprep.c:
17619         * tools/gst-inspect.c:
17620         * tools/gst-register.c: remove
17621         * tools/gst-xmlinspect.c:
17622           Registry rewrite.  Changes registry from being a file created
17623           by a tool into a simple cache file created automatically by 
17624           libgstreamer.  Removed gst-register (because it's no longer
17625           needed).  Remove registry pools, because we only have one
17626           registry implementation (XML).  Fix up other subsystems as
17627           necessary.
17628
17629 2005-09-13  Michael Smith <msmith@fluendo.com>
17630
17631         * gst/gstconfig.h.in:
17632           Don't Use windows linking attributes for MinGW. Fixes #316157
17633
17634 2005-09-13  Thomas Vander Stichele  <thomas at apestaart dot org>
17635
17636         * gst/gstutils.c: (set_state_async_thread_func),
17637         (gst_element_set_state_async):
17638           Apparently people think it's better if this function doesn't
17639           try to set the state to whatever state was asked for on the first
17640           call to this function for any object.  Seriously.
17641
17642 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
17643
17644         * check/gst/gstpipeline.c: (GST_START_TEST):
17645         * docs/gst/gstreamer-sections.txt:
17646         * gst/gstutils.c: (set_state_async_thread_func),
17647         (gst_element_set_state_async):
17648         * gst/gstutils.h:
17649           add a "gst_element_set_state_async" method that
17650           sets the state and starts a thread to make sure the state
17651           change completes as best as it can
17652
17653 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
17654
17655         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
17656           codify design+behaviour in testsuite after discussion
17657
17658 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
17659
17660         * docs/gst/tmpl/gstelement.sgml:
17661         * docs/manual/appendix-quotes.xml:
17662           add a quote
17663         * gst/gstelement.c: (gst_element_set_state):
17664           add some debug
17665
17666 2005-09-12  Jan Schmidt  <thaytan@mad.scientist.com>
17667
17668         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
17669         (gst_base_transform_prepare_output_buf),
17670         (gst_base_transform_handle_buffer):
17671         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip),
17672         (gst_capsfilter_prepare_buf):
17673           Remove the requirement for sub-classes to call the parent
17674           implementation of prepare_output_buffer with a wrapper function.
17675           
17676         * gst/gsttaglist.h:
17677         * gst/gsttagsetter.h:
17678           Fix #define wrapper
17679
17680 2005-09-11  Stefan Kost  <ensonic@users.sf.net>
17681
17682         * docs/gst/gstreamer-sections.txt:
17683           more doc cleanups
17684
17685 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
17686
17687         * docs/gst/gstreamer-sections.txt:
17688         * docs/gst/tmpl/gstelement.sgml:
17689         * docs/gst/tmpl/gstplugin.sgml:
17690         * gst/gstminiobject.c:
17691         * gst/gstvalue.h:
17692           docs now stop throwing warnings
17693
17694 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
17695
17696         * docs/gst/gstreamer-sections.txt:
17697         * docs/gst/gstreamer.types:
17698         * docs/gst/tmpl/gstpad.sgml:
17699         * docs/gst/tmpl/gsttypes.sgml:
17700         * gst/base/gstadapter.h:
17701         * gst/base/gstbasesink.h:
17702         * gst/base/gstbasesrc.h:
17703         * gst/gstbin.h:
17704         * gst/gstbuffer.h:
17705         * gst/gstbus.h:
17706         * gst/gstcaps.h:
17707         * gst/gstclock.h:
17708         * gst/gstelement.h:
17709         * gst/gstevent.h:
17710         * gst/gstmessage.h:
17711         * gst/gstpad.h:
17712         * gst/gststructure.c:
17713         * gst/registries/gstlibxmlregistry.h:
17714           various documentation fixes
17715
17716 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
17717
17718         * docs/gst/gstreamer-sections.txt:
17719         * docs/gst/tmpl/gstvalue.sgml:
17720           rearrange gstvalue section
17721         * gst/gstutils.c: (gst_element_state_get_name):
17722           NONE -> VOID
17723         * gst/gstvalue.c: (_gst_value_initialize):
17724         * gst/gstvalue.h:
17725           doc updates
17726
17727 2005-09-10  Jan Schmidt  <thaytan@mad.scientist.com>
17728
17729         * check/gst-libs/controller.c:
17730           Header include fix.
17731         * gst/base/gstbasetransform.c:
17732         (gst_base_transform_default_prepare_buf),
17733         (gst_base_transform_handle_buffer):
17734         * gst/base/gstbasetransform.h:
17735           Some more basetransform changes and fixes to enable sub-classes
17736           that modify buffer metadata only.
17737         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
17738         (gst_capsfilter_init), (gst_capsfilter_transform_ip),
17739         (gst_capsfilter_prepare_buf):
17740           If the output pad has fixed allowed caps and input buffers 
17741           don't have any, set the fixed caps on outgoing buffers.
17742
17743 2005-09-09  Jan Schmidt  <thaytan@mad.scientist.com>
17744         * check/elements/identity.c: (GST_START_TEST):
17745           Make the error a little clearer when the test fails because
17746           identity made a copy of the buffer.
17747         * docs/gst/gstreamer-sections.txt:
17748           New symbols in gstbasetransform.h
17749         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
17750         (gst_base_transform_init), (gst_base_transform_transform_size),
17751         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
17752         (gst_base_transform_default_prepare_buf),
17753         (gst_base_transform_get_unit_size),
17754         (gst_base_transform_buffer_alloc),
17755         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
17756         (gst_base_transform_change_state),
17757         (gst_base_transform_set_passthrough),
17758         (gst_base_transform_set_in_place),
17759         (gst_base_transform_is_in_place):
17760         * gst/base/gstbasetransform.h:
17761           Change BaseTransform to separate in_place operate from same_caps
17762           output. in_place implies that the element can perform the transform
17763           on incoming buffers in-place, even if the caps on the output are
17764           different.
17765           Sub-class elements can now implement special buffer allocation
17766           methods for outgoing buffers if they wish to.
17767           Big documentation addition.
17768         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip):
17769         * gst/elements/gstelements.c:
17770           Changes for basetransform modifications.
17771         * gst/elements/Makefile.am:
17772         * gst/elements/gstfdsrc.c: (gst_fdsrc_init), (gst_fdsrc_create):
17773           Compile fix. Extra debug output.
17774
17775 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
17776
17777         * check/gst/gstpad.c: (GST_START_TEST), (name_is_valid),
17778         (gst_pad_suite):
17779           add tests for valid pad naming
17780         * gst/check/gstcheck.c: (gst_check_log_message_func),
17781         (gst_check_log_critical_func):
17782           add ASSERT_WARNING
17783           remove printing of code, it is fragile when the code contains
17784           % and the line number is enough info
17785         * gst/check/gstcheck.h:
17786         * gst/gstpad.c: (gst_pad_template_new):
17787           fix memleaks
17788
17789 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
17790
17791         * configure.ac:
17792           say what CHECK flags we use
17793         * docs/libs/gstreamer-libs.types:
17794         * libs/gst/controller/Makefile.am:
17795         * libs/gst/controller/gst-controller.c:
17796         * libs/gst/controller/gst-controller.h:
17797         * libs/gst/controller/gst-helper.c:
17798         * libs/gst/controller/gst-interpolation.c:
17799         * libs/gst/controller/gstcontroller.c:
17800         * libs/gst/controller/gsthelper.c:
17801         * libs/gst/controller/gstinterpolation.c:
17802         * tools/gst-inspect.c: (print_plugin_info):
17803           we don't use dashes in header names
17804
17805 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
17806
17807         * check/Makefile.am:
17808         * check/gst/.cvsignore:
17809         * check/gst/gstpipeline.c: (pop_messages), (GST_START_TEST),
17810         (gst_pipeline_suite), (main):
17811           adding a test for pipelines and state changes
17812         * gst/gstutils.c: (get_state_func):
17813           add some debugging
17814         * gstreamer.spec.in:
17815           fix up spec file
17816
17817 2005-09-08  Michael Smith <msmith@fluendo.com>
17818
17819         * gst/elements/gstfilesrc.c: (gst_file_src_map_region),
17820         (gst_file_src_map_small_region), (gst_file_src_create_mmap),
17821         (gst_file_src_is_seekable), (gst_file_src_get_size),
17822         (gst_file_src_start):
17823         * gst/elements/gstfilesrc.h:
17824           Various fixes for unseekable, unmmapable, and non-normal files, so
17825           that fallback to read() rather than mmap() works.
17826         * gst/gstevent.c: (gst_event_new_newsegment):
17827           Allow newsegment events with segment_start == segment_end, as will
17828           correctly happen if you use filesrc on a zero-size file, for
17829           example.
17830
17831 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
17832
17833         * gst/gstplugin.c: (gst_plugin_load_file):
17834           Call g_module_close when we don't load the module
17835
17836         * gst/registries/gstlibxmlregistry.c:
17837         (gst_xml_registry_get_property):
17838           Port leak fix from 0.8
17839
17840 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
17841
17842         * docs/gst/gstreamer-docs.sgml:
17843         * docs/gst/tmpl/.cvsignore:
17844         * docs/gst/tmpl/gsttrace.sgml:
17845         * docs/gst/tmpl/gsttrashstack.sgml:
17846         * gst/Makefile.am:
17847         * gst/gst.h:
17848         * gst/gstelement.h:
17849         * gst/gstevent.h:
17850         * gst/gstmessage.c:
17851         * gst/gstmessage.h:
17852         * gst/gsttag.c:
17853         * gst/gsttag.h:
17854         * gst/gsttaginterface.c:
17855         * gst/gsttaginterface.h:
17856         * gst/gsttaglist.c:
17857         * gst/gsttaglist.h:
17858         * gst/gsttagsetter.c:
17859         * gst/gsttagsetter.h:
17860         * gst/gsttrace.c:
17861         * gst/gsttrace.h:
17862         * gst/gsttrashstack.c:
17863           renamed gsttag -> gsttaglist, gsttaginterface -> gsttagsetter
17864           inlined docs for gsttrace, gsttrashstack
17865
17866 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
17867
17868         * gst/Makefile.am:
17869         * gst/elements/gstbufferstore.h:
17870         * gst/elements/gsttypefindelement.c:
17871         * gst/elements/gsttypefindelement.h:
17872         * gst/gst.h:
17873         * gst/gsttypefind.c:
17874         * gst/gsttypefind.h:
17875         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type),
17876         (gst_type_find_factory_class_init), (gst_type_find_factory_init),
17877         (gst_type_find_factory_dispose),
17878         (gst_type_find_factory_unload_thyself),
17879         (gst_type_find_load_plugin), (gst_type_find_factory_get_list),
17880         (gst_type_find_factory_get_caps),
17881         (gst_type_find_factory_get_extensions),
17882         (gst_type_find_factory_call_function):
17883         * gst/gsttypefindfactory.h:
17884         * gst/registries/gstlibxmlregistry.c:
17885         * gst/registries/gstxmlregistry.c:
17886           splitted gsttypefind into gsttypefind, gsttypefindfactory
17887
17888 2005-09-07  Andy Wingo  <wingo@pobox.com>
17889
17890         * gst/base/gstbasesink.c (gst_base_sink_activate_pull): Fix a race
17891         condition whereby the pad's task function is entered before the
17892         pad_mode variable was set.
17893
17894 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
17895
17896         * gst/gstpad.c: (gst_pad_alloc_buffer):
17897           Catch misbehaving pad_alloc functions that don't
17898           set up caps and do it for them.
17899
17900 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
17901
17902         * check/pipelines/simple_launch_lines.c: (run_pipeline):
17903           test for pipe!=NULL
17904         * docs/gst/tmpl/.cvsignore:
17905         * docs/gst/tmpl/gstmemchunk.sgml:
17906         * docs/gst/tmpl/gstparse.sgml:
17907         * docs/gst/tmpl/gsttaglist.sgml:
17908         * docs/gst/tmpl/gsttagsetter.sgml:
17909         * docs/gst/tmpl/gsttypefind.sgml:
17910         * docs/gst/tmpl/gsttypefindfactory.sgml:
17911         * gst/gstmemchunk.c:
17912         * gst/gstparse.c:
17913         * gst/gsttag.c:
17914         * gst/gsttaginterface.c:
17915         * gst/gsttypefind.c:
17916         * gst/gsttypefind.h:
17917           inlined more docs
17918
17919 === release 0.9.2 ===
17920
17921 2005-09-06  Thomas Vander Stichele  <thomas at apestaart dot org>
17922
17923         * NEWS:
17924         * RELEASE:
17925         * configure.ac:
17926           releasing 0.9.2, "South"
17927
17928 2005-09-05  Andy Wingo  <wingo@pobox.com>
17929
17930         * gst/registries/gstxmlregistry.h:
17931         * gst/registries/gstxmlregistry.c: Um... resurrect...
17932         
17933         * gst/registries/gstxmlregistry.h:
17934         * gst/registries/gstxmlregistry.c: and update to newer API.
17935         Incidentally they should be a bit faster now that they don't have
17936         to parse the caps.
17937         
17938 2005-09-05  Andy Wingo  <wingo@pobox.com>
17939
17940         * gst/registries/gstxmlregistry.h:
17941         * gst/registries/gstxmlregistry.c: Remove from CVS, they were
17942         replaced by the libxml registry a while back
17943
17944 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
17945
17946         * docs/gst/tmpl/gstplugin.sgml:
17947         * gst/elements/gstelements.c:
17948         * gst/gst.c:
17949         * gst/gstplugin.c: (gst_plugin_register_func),
17950         (gst_plugin_desc_copy), (gst_plugin_desc_free),
17951         (gst_plugin_get_source):
17952         * gst/gstplugin.h:
17953         * gst/registries/gstlibxmlregistry.c: (load_plugin),
17954         (gst_xml_registry_save_plugin):
17955         * gst/registries/gstxmlregistry.c: (gst_xml_registry_parse_plugin),
17956         (gst_xml_registry_save_plugin):
17957         * tools/gst-inspect.c: (print_plugin_info):
17958           add a "source" plugin description field, to represent the source
17959           module this plugin is a part of.  By default GST_PLUGIN_DEFINE
17960           will set it to PACKAGE, which is automake's idea of the name of
17961           the source project.
17962
17963 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
17964
17965         * Makefile.am:
17966         * autogen.sh:
17967         * configure.ac:
17968         * docs/Makefile.am:
17969         * docs/faq/Makefile.am:
17970         * docs/gst/tmpl/gstelement.sgml:
17971         * docs/gst/tmpl/gsttypes.sgml:
17972         * docs/htmlinstall.mak:
17973         * docs/manual/Makefile.am:
17974         * docs/pwg/Makefile.am:
17975           reorganize doc build a little
17976           split out docbook and gtk-doc stuff
17977           have two separate --enable's and enable them through autogen
17978           but disable by default in configure (to be similar to other
17979           projects)
17980         * gstreamer.spec.in:
17981           clean up docs install
17982         * po/af.po:
17983         * po/az.po:
17984         * po/ca.po:
17985         * po/cs.po:
17986         * po/de.po:
17987         * po/en_GB.po:
17988         * po/fr.po:
17989         * po/it.po:
17990         * po/nb.po:
17991         * po/nl.po:
17992         * po/ru.po:
17993         * po/sq.po:
17994         * po/sr.po:
17995         * po/sv.po:
17996         * po/tr.po:
17997         * po/uk.po:
17998         * po/vi.po:
17999           translation updates
18000
18001 2005-09-03  Tim-Philipp Müller  <tim at centricular dot net>
18002
18003         * gst/base/gstbasesink.c: (gst_base_sink_pad_buffer_alloc):
18004           Add comment.
18005           
18006         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
18007         (gst_fake_sink_change_state):
18008           Make state change function thread-safe.
18009           
18010         * gst/gstpad.c: (gst_pad_alloc_buffer):
18011           Set offset on generic buffer allocated by fallback.
18012
18013 2005-09-03  Stefan Kost  <ensonic@users.sf.net>
18014
18015         * docs/gst/gstreamer-sections.txt:
18016         * docs/gst/tmpl/gstelement.sgml:
18017         * gst/gstpad.c:
18018         * libs/gst/controller/gst-controller.c:
18019         (gst_controlled_property_set_interpolation_mode),
18020         (gst_controlled_property_new),
18021         (gst_controller_find_controlled_property):
18022          run the wingo-magic script against the docs
18023
18024 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
18025
18026         * docs/gst/gstreamer-docs.sgml:
18027         * docs/gst/gstreamer-sections.txt:
18028         * docs/gst/tmpl/.cvsignore:
18029         * docs/gst/tmpl/gstelementdetails.sgml:
18030         * docs/gst/tmpl/gstelementfactory.sgml:
18031         * gst/gst.c:
18032         * gst/gstbus.c:
18033         * gst/gstelementfactory.c:
18034         * gst/gstelementfactory.h:
18035           merged elementdetails docs into elementfactory docs
18036           inlined both
18037
18038 2005-09-02  Andy Wingo  <wingo@pobox.com>
18039
18040         * gst/gstelement.h: Add magical pixie dust to make glib-mkenums
18041         consider this enum an enum and not a flags.
18042
18043 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
18044
18045         * docs/gst/gstreamer-docs.sgml:
18046         * docs/gst/tmpl/.cvsignore:
18047         * docs/gst/tmpl/gstghostpad.sgml:
18048         * docs/gst/tmpl/gstiterator.sgml:
18049         * docs/gst/tmpl/gstmacros.sgml:
18050         * docs/gst/tmpl/gstrealpad.sgml:
18051         * docs/gst/tmpl/gstregistry.sgml:
18052         * docs/gst/tmpl/gstregistrypool.sgml:
18053         * docs/gst/tmpl/gststructure.sgml:
18054         * docs/gst/tmpl/gstsystemclock.sgml:
18055         * docs/gst/tmpl/gsttrace.sgml:
18056         * gst/gstghostpad.c:
18057         * gst/gstmacros.h:
18058         * gst/gstmemchunk.c:
18059         * gst/gstmemchunk.h:
18060         * gst/gstqueue.c:
18061         * gst/gstregistry.c:
18062         * gst/gstregistrypool.c:
18063         * gst/gststructure.c:
18064         * gst/gstsystemclock.c:
18065           more docs inlined
18066
18067 2005-09-02  Andy Wingo  <wingo@pobox.com>
18068
18069         * gst/gstelement.h (GstState): Renamed from GstElementState,
18070         changed to be a normal enum instead of flags.
18071         (GstStateChangeReturn): Renamed from GstElementStateReturn, names
18072         munged to be GST_STATE_CHANGE_*.
18073         (GST_STATE_CHANGE): Renamed from GST_STATE_TRANSITION, updated to
18074         work with the new state representation.
18075         (GstStateChange): New enumeration of possible state transitions.
18076         Replaces GST_STATE_FOO_TO_BAR with GST_STATE_CHANGE_FOO_TO_BAR.
18077         (GstElementClass::change_state): Pass the GstStateChange along as
18078         an argument. Helps language bindings, so they don't have to use
18079         tricky lock-needing macros like GST_STATE_CHANGE ().
18080
18081         * scripts/update-states (file): New script. Run it on a file to
18082         update it for state naming and API changes. Updates files in
18083         place.
18084
18085         * All files updated for the new API.
18086
18087 2005-09-02  Thomas Vander Stichele  <thomas at apestaart dot org>
18088
18089         * gst/gsttrace.c: (gst_trace_flush), (gst_trace_text_flush):
18090         * gst/gstutils.c: (gst_util_set_value_from_string),
18091         (gst_util_set_object_arg):
18092           fix a bunch of unchecked return values
18093         * tools/gst-complete.c: (main):
18094         * gstreamer.spec.in:
18095           clean up a little
18096
18097 2005-09-01  Wim Taymans  <wim@fluendo.com>
18098
18099         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
18100         (gst_base_sink_event), (gst_base_sink_do_sync),
18101         (gst_base_sink_handle_event):
18102         * gst/base/gstbasesink.h:
18103         Handle newsegments more correctly.
18104
18105         * gst/gstbus.c:
18106         Fix docs.
18107
18108         * gst/gstevent.c: (gst_event_new_newsegment):
18109         A newsegment cannot have a start_time of -1
18110
18111 2005-09-01  Tim-Philipp Müller  <tim at centricular dot net>
18112
18113         * win32/gstenumtypes.c:
18114         * win32/gstenumtypes.h:
18115           Update
18116
18117 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
18118
18119         * libs/gst/controller/gst-controller.c:
18120         (gst_controlled_property_set_interpolation_mode),
18121         (gst_controlled_property_new):
18122          fixed boolean again
18123
18124 2005-08-31  Thomas Vander Stichele  <thomas at apestaart dot org>
18125
18126         * docs/faq/gst-uninstalled:
18127           add -good
18128         * gst/gstevent.c:
18129         * gst/gstevent.h:
18130           remove wrong docs
18131         * gst/gstutils.c: (gst_element_link_filtered):
18132         * gst/gstutils.h:
18133           add gst_element_link_filtered
18134
18135 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
18136
18137         * docs/gst/gstreamer-docs.sgml:
18138         * docs/gst/gstreamer-sections.txt:
18139         * docs/gst/tmpl/.cvsignore:
18140         * docs/gst/tmpl/gsterror.sgml:
18141         * docs/gst/tmpl/gstfilter.sgml:
18142         * docs/gst/tmpl/gsturihandler.sgml:
18143         * docs/gst/tmpl/gsturitype.sgml:
18144         * docs/gst/tmpl/gstutils.sgml:
18145         * docs/gst/tmpl/gstxml.sgml:
18146         * gst/gsterror.c:
18147         * gst/gsterror.h:
18148         * gst/gstfilter.c:
18149         * gst/gsturi.c:
18150         * gst/gsturitype.c:
18151         * gst/gstutils.c:
18152         * gst/gstxml.c:
18153           inlined more docs, fixed double id-ref
18154
18155 2005-08-31  Wim Taymans  <wim@fluendo.com>
18156
18157         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
18158         (gst_base_transform_handle_buffer):
18159         Passthrough elements don't need the caps as they don't care.
18160
18161 2005-08-31  Wim Taymans  <wim@fluendo.com>
18162
18163         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
18164         (gst_base_transform_handle_buffer), (gst_base_transform_chain):
18165         Don't leak refcounts on buffers.
18166
18167 2005-08-31  Wim Taymans  <wim@fluendo.com>
18168
18169         * gst/base/gstbasetransform.c: (gst_base_transform_configure_caps),
18170         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
18171         (gst_base_transform_chain), (gst_base_transform_change_state):
18172         * gst/base/gstbasetransform.h:
18173         Handle the case where we are not negotiated more gracefully.
18174
18175 2005-08-31  Tim-Philipp Müller  <tim at centricular dot net>
18176
18177         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_init),
18178         (gst_file_src_map_region):
18179           Set READONLY flag on mmap'ed buffers, otherwise
18180           gst_buffer_make_writable() won't work properly (#314708).
18181
18182 2005-08-31  Wim Taymans  <wim@fluendo.com>
18183
18184         * gst/base/gstbasetransform.c: (gst_base_transform_handle_buffer):
18185         passthrough elements can even do inplace on non writable
18186         buffers (as they don't touch them).
18187
18188 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
18189
18190         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
18191         (gst_test_mono_source_set_property),
18192         (gst_test_mono_source_class_init), (GST_START_TEST),
18193         (gst_controller_suite):
18194           more tests (hehe I have the most)
18195         * gst/gstbus.c:
18196           describe popping messages whenusing mulltiple sources
18197         * libs/gst/controller/gst-controller.c:
18198         (gst_controlled_property_set_interpolation_mode),
18199         (gst_controlled_property_new):
18200         * libs/gst/controller/gst-controller.h:
18201         * libs/gst/controller/gst-interpolation.c:
18202           implement boolean properties
18203
18204 2005-08-31  Wim Taymans  <wim@fluendo.com>
18205
18206         * gst/gstminiobject.c: (gst_mini_object_ref):
18207         Cannot assert that the refcount has to be positive
18208         since a disposed object can be resurrected.
18209
18210 2005-08-31  Wim Taymans  <wim@fluendo.com>
18211
18212         * gst/gstpad.c: (gst_pad_init):
18213         Revert change, need to first fix badly behaving 
18214         apps.
18215
18216 2005-08-30  Wim Taymans  <wim@fluendo.com>
18217
18218         * check/elements/fakesrc.c: (setup_fakesrc):
18219         * check/elements/identity.c: (setup_identity):
18220         Activate pads before using them.
18221
18222 2005-08-30  Wim Taymans  <wim@fluendo.com>
18223
18224         * gst/base/gstadapter.c: (gst_adapter_flush):
18225         Flushing out 0 bytes is ok for this function.
18226
18227         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
18228         no newsegment gives a warning and sets the start/stop to 
18229         invalid.
18230
18231         * gst/base/gstbasetransform.c: (gst_base_transform_change_state),
18232         (gst_base_transform_set_passthrough):
18233         Some debug info.
18234
18235         * gst/gstminiobject.c: (gst_mini_object_ref):
18236         Check refcount here too.
18237
18238         * gst/gstpad.c: (gst_pad_init):
18239         Pads are initially flushing and refusing data.
18240
18241         * gst/gstutils.c: (gst_element_link_pads_filtered):
18242         When adding a capsfilter element make sure it has the
18243         same state as the parent bin.
18244
18245 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
18246
18247         * docs/gst/tmpl/.cvsignore:
18248         * docs/gst/tmpl/gstformat.sgml:
18249         * docs/gst/tmpl/gstversion.sgml:
18250         * gst/gstbus.h:
18251         * gst/gstformat.c:
18252         * gst/gstformat.h:
18253         * gst/gstversion.h.in:
18254           more docs and two more inlined
18255
18256 2005-08-30  Wim Taymans  <wim@fluendo.com>
18257
18258         * gst/elements/gstfilesink.c: (gst_file_sink_class_init):
18259         Don't sync to clock.
18260
18261 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
18262
18263         * docs/gst/gstreamer-sections.txt:
18264           ultral33t func10ns deserve to appear in the docs actually
18265         * docs/gst/tmpl/.cvsignore:
18266         * docs/gst/tmpl/gstcompat.sgml:
18267         * docs/gst/tmpl/gstconfig.sgml:
18268         * gst/check/gstcheck.c:
18269         * gst/gstcompat.h:
18270         * gst/gstconfig.h.in:
18271           inlined more docs
18272
18273 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
18274
18275         * docs/gst/tmpl/.cvsignore:
18276         * docs/gst/tmpl/gstquery.sgml:
18277         * docs/gst/tmpl/gstutils.sgml:
18278         * gst/gstquery.c:
18279         * gst/gstquery.h:
18280           inlined and extended docs
18281
18282 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
18283
18284         * check/gst-libs/controller.c: (GST_START_TEST),
18285         (gst_controller_suite):
18286           more tests
18287         * docs/gst/tmpl/gstutils.sgml:
18288         * docs/libs/gstreamer-libs-sections.txt:
18289         * docs/libs/tmpl/gstdataprotocol.sgml:
18290           include path fixes
18291         * examples/controller/audio-example.c: (main):
18292           controller example works now
18293         * gst/gstclock.h:
18294           doc fixes
18295         * tools/gst-inspect.c: (print_element_properties_info):
18296           show param spec flags
18297
18298 2005-08-29  Andy Wingo  <wingo@pobox.com>
18299
18300         * gst/gstutils.c (gst_util_uint64_scale): New 3733t funct10n.
18301
18302 2005-08-28  Andy Wingo  <wingo@pobox.com>
18303
18304         * gst/gstutils.h (GST_BOILERPLATE_FULL): Prototype instance_init
18305         as having two arguments instead of just one. Allows superclasses
18306         to access information on subclasses -- see the terrible for() loop
18307         in gtype.c:g_type_create_instance for the reason why. All callers
18308         changed.
18309
18310 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
18311
18312         * docs/design/part-messages.txt:
18313           update info
18314         * docs/gst/tmpl/.cvsignore:
18315         * docs/gst/tmpl/gstcaps.sgml:
18316         * docs/gst/tmpl/gstclock.sgml:
18317         * gst/gstbus.c:
18318         * gst/gstcaps.c:
18319         * gst/gstcaps.h:
18320         * gst/gstclock.c:
18321         * gst/gstclock.h:
18322         * gst/gstmessage.c:
18323           added descriptions for bus and message
18324           inline caps and clock docs
18325
18326 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
18327
18328         * gst/gstmessage.c:
18329         * gst/gstmessage.h:
18330           doc fixes
18331
18332 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
18333
18334         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
18335           fix div-by-zero
18336
18337 2005-08-26  Andy Wingo  <wingo@pobox.com>
18338
18339         * check/pipelines/simple_launch_lines.c (run_pipeline): Check
18340         element_set_state's return val.
18341         (test_2_elements): Add test that's been disabled for months.
18342
18343         * gst/elements/gstfakesink.c: Cleanups. Add can-activate-push and
18344         can-activate-pull properties.
18345
18346         * gst/elements/gstfakesrc.c: Cleanups. Add can-activate-push and
18347         can-activate-pull properties. Implement is_seekable so fakesrc can
18348         operate in pull mode.
18349
18350         * gst/base/gstbasesink.c (GstBaseSink): Remove has-loop, has-chain
18351         properties.
18352         (gst_base_sink_activate, gst_base_sink_activate_pull)
18353         (gst_base_sink_activate_push): Make activation mode choosing work.
18354         Cleanups.
18355         (gst_base_sink_chain, gst_base_sink_loop): Assert activation mode
18356         is right. Make pull mode work. Post an eos before pausing in pull
18357         mode.
18358         (gst_base_sink_change_state): Pay attention to the core's
18359         change_state() return val.
18360         
18361         * gst/base/gstbasesrc.c (GstBaseSrc): Remove has-loop,
18362         has-getrange properties. Cleanups.
18363         
18364         * gst/base/gstbasesrc.h (GstBaseSrc): Remove has_loop,
18365         has_getrange and replace with can_activate_pull and
18366         can_activate_push.
18367
18368         * gst/base/gstbasesink.h (GstBaseSink): Rearrange fields, add
18369         locking comments. Remove has_loop, has_chain and replace with
18370         can_activate_pull and can_activate_push.
18371
18372 2005-08-26  Jan Schmidt  <thaytan@mad.scientist.com>
18373
18374         * configure.ac:
18375         * examples/Makefile.am:
18376         * examples/metadata/Makefile.am:
18377         * examples/metadata/read-metadata.c: (message_loop),
18378         (have_pad_handler), (make_pipeline), (print_tag), (main):
18379           Add metadata reading example that loops over a list of filenames,
18380           dumping any tags found.
18381
18382         * gst/gstbus.c: (gst_bus_dispose):
18383         * gst/gstelement.c: (gst_element_dispose):
18384           Release a few potentially-held references in dispose.
18385
18386 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
18387
18388         * docs/gst/tmpl/gstminiobject.sgml:
18389           do *not* add tmpl/*.sgml files to CVS!
18390
18391 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
18392
18393         * libs/gst/bytestream/.cvsignore:
18394         * libs/gst/bytestream/Makefile.am:
18395         * libs/gst/bytestream/adapter.c:
18396         * libs/gst/bytestream/adapter.h:
18397         * libs/gst/bytestream/bytestream.c:
18398         * libs/gst/bytestream/bytestream.h:
18399         * libs/gst/bytestream/filepad.c:
18400         * libs/gst/bytestream/filepad.h:
18401           removing obsolete files
18402
18403 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
18404
18405         * docs/gst/gstreamer-docs.sgml:
18406         * docs/libs/gstreamer-libs-docs.sgml:
18407           disabed additional index entries again, as this makes docs-gen just
18408           slow and they aren't useful yet
18409         * docs/libs/gstreamer-libs-sections.txt:
18410           little -section.txt cleanup for libs
18411
18412 2005-08-26  Thomas Vander Stichele  <thomas at apestaart dot org>
18413
18414         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
18415         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size),
18416           fix up some debugging
18417         (gst_base_transform_get_unit_size),
18418         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
18419         (gst_base_transform_handle_buffer):
18420         * gst/base/gstbasetransform.h:
18421           handle and store timed NEWSEGMENT events so that subclasses that
18422           calculate time by counting samples have a segment_start time they
18423           need to add to their timestamps - see audioresample
18424
18425 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
18426
18427         * gst/gstbin.h:
18428           removed ';' from the end of macro defs
18429         * docs/gst/gstreamer-docs.sgml:
18430         * docs/gst/gstreamer-sections.txt:
18431         * docs/gst/tmpl/.cvsignore:
18432         * gst/gstbus.h:
18433         * gst/gstelement.c: (gst_element_class_init),
18434         (gst_element_set_state), (activate_pads),
18435         (gst_element_save_thyself):
18436         * gst/gstevent.c: (gst_event_new_newsegment):
18437         * gst/gstevent.h:
18438         * gst/gstiterator.c:
18439         * gst/gstiterator.h:
18440         * gst/gstpad.c:
18441         * gst/gstprobe.h:
18442         * gst/gstutils.c: (gst_pad_query_convert):
18443         * gst/gstutils.h:
18444           fixed parameter name mismatches between source, header and docs
18445           added some more docs, resolved the last batch of unused elements in
18446           docs (now someone needs to doc them)
18447
18448 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
18449
18450         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_rebuild):
18451         * gst/registries/gstxmlregistry.c: (gst_xml_registry_rebuild):
18452           don't walk through the plugins backwards.  Where is all this
18453           reversed logic coming from ?
18454
18455 2005-08-25  Wim Taymans  <wim@fluendo.com>
18456
18457         * gst/base/gstbasetransform.c: (gst_base_transform_init),
18458         (gst_base_transform_transform_size),
18459         (gst_base_transform_configure_caps),
18460         (gst_base_transform_get_unit_size),
18461         (gst_base_transform_buffer_alloc),
18462         (gst_base_transform_change_state):
18463         * gst/base/gstbasetransform.h:
18464         Cache caps unit_size.
18465         Make sure we cannot negotiate up and downstream at the
18466         same time.
18467
18468 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
18469
18470         * gst/gst.c: (init_pre), (init_post):
18471           register the installed plugin path after the env var
18472         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_save):
18473         * gst/registries/gstxmlregistry.c: (gst_xml_registry_save):
18474           don't reverse order of paths; conserve the order of GST_PLUGIN_PATH
18475           directories, so the tests can prefer uninstalled over installed
18476
18477 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
18478
18479         * gst/base/gstbasetransform.h:
18480           comment
18481         * gst/gstpad.c:
18482           add to docs
18483
18484 2005-08-25  Wim Taymans  <wim@fluendo.com>
18485
18486         * gst/gstbin.c: (bin_bus_handler):
18487         Be a bit more conservative about the posted message.
18488         
18489         * gst/gstbus.c: (gst_bus_post):
18490         Some cleanups, warn wrong return values.
18491
18492 2005-08-25  Jan Schmidt  <thaytan@mad.scientist.com>
18493
18494         * check/gst/gstbin.c: (GST_START_TEST):
18495         * gst/gstbin.c: (bin_bus_handler):
18496         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
18497         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
18498         (gst_message_new_warning), (gst_message_new_tag),
18499         (gst_message_new_state_changed), (gst_message_new_segment_start),
18500         (gst_message_new_segment_done), (gst_message_new_custom):
18501         * gst/gstmessage.h:
18502         * tools/gst-launch.c: (event_loop):
18503         * tools/gst-md5sum.c: (event_loop):
18504           Revert unpopular change for GST_MESSAGE_SRC to GObject.
18505
18506 2005-08-25  Wim Taymans  <wim@fluendo.com>
18507
18508         * check/generic/states.c: (GST_START_TEST):
18509         Cleanup can be done at the end.
18510
18511         * gst/gsttask.c: (gst_task_get_type), (gst_task_finalize),
18512         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
18513         (gst_task_get_state), (gst_task_start), (gst_task_pause):
18514         Oh boy.. Thanks for finding this, Thomas. 
18515
18516 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
18517
18518         * docs/gst/gstreamer.types:
18519           added missing types
18520
18521 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
18522
18523         * docs/gst/gstreamer-docs.sgml:
18524         * docs/gst/gstreamer-sections.txt:
18525         * docs/gst/tmpl/.cvsignore:
18526         * gst/gstbin.c:
18527         * gst/gstiterator.c:
18528         * gst/gstutils.c:
18529         * gst/registries/gstxmlregistry.h:
18530           added missing classes and symbols (123 more to go)
18531           removed removed symbols from section file
18532           fixed many doc-comments
18533
18534 2005-08-24  Wim Taymans  <wim@fluendo.com>
18535
18536         * check/generic/states.c: (GST_START_TEST):
18537         Make sure all tasks are stopped.
18538
18539         * check/gst/gstbin.c: (GST_START_TEST):
18540         Unref after usage for proper valgrinding.
18541
18542         * gst/gstpad.c: (gst_pad_finalize), (gst_pad_stop_task):
18543         Really wait for the task to stop before destroying the
18544         mutex.
18545
18546         * gst/gstqueue.c: (gst_queue_sink_activate_push),
18547         (gst_queue_src_activate_push):
18548         Small cleanups. Don't stop the task when we did not start
18549         it.
18550
18551         * gst/gsttask.c: (gst_task_get_type), (gst_task_init),
18552         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
18553         (gst_task_get_state), (gst_task_start), (gst_task_pause),
18554         (gst_task_join):
18555         * gst/gsttask.h:
18556         Protect the stream lock with the object lock.
18557         Disallow setting the stream lock when running.
18558         Add cleanup_all to wait for the threadpool to finish.
18559         Remove code to autoallocate a mutex if none was provided.
18560         Add _join() to wait for a task to stop.
18561         Protect the thread pool with a global lock.
18562
18563 2005-08-24  Wim Taymans  <wim@fluendo.com>
18564
18565         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
18566         (gst_base_sink_get_times), (gst_base_sink_do_sync),
18567         (gst_base_sink_handle_buffer), (gst_base_sink_change_state):
18568         * gst/base/gstbasesink.h:
18569         Handle newsegment events correctly.
18570         Drop buffers out of the segment range.
18571
18572 2005-08-22  Andy Wingo  <wingo@pobox.com>
18573
18574         * gst/gstutils.h (GST_BOILERPLATE_WITH_INTERFACE): New ghetto
18575         macro, implements an interface and gstimplementsinterface for a
18576         new type.
18577
18578 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
18579
18580         * check/Makefile.am:
18581         * check/generic/states.c: (GST_START_TEST), (states_suite), (main):
18582           add a test that does a bunch of state changes on elements
18583           needs some fixing for valgrind
18584         * check/states/sinks.c: (gst_object_suite):
18585           whitespace
18586         * gst/gstcaps.h:
18587           add prototype for gst_caps_is_equal_fixed
18588         * gst/gstplugin.c:
18589         * gst/gstregistrypool.c:
18590           doc fixes
18591
18592 2005-08-24  Andy Wingo  <wingo@pobox.com>
18593
18594         * gst/gstquery.c (gst_query_new_convert): Spew if we try to
18595         convert a negative value. Doesn't make much sense. Mostly this is
18596         here to force callers to ensure -1 maps to -1.
18597
18598 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
18599
18600         * docs/pwg/advanced-types.xml:
18601           Well done to Michael for catching my deliberate introduction
18602           of this spelling mistake. 
18603         * gst/gstbin.c: (gst_bin_remove_func), (bin_bus_handler):
18604         * gst/gstelement.h:
18605           Add GST_ELEMENT_UNPARENTING to prevent races so that we can
18606           unlink pads before removing the element from the bin.
18607
18608 2005-08-24  Andy Wingo  <wingo@pobox.com>
18609
18610         * gst/gst.c (parse_debug_list): Accept e.g. GST_DEBUG=4 to mean
18611         the same thing as GST_DEBUG=*:4.
18612         (parse_debug_level, parse_debug_category): New helper parsers.
18613
18614 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
18615
18616         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
18617         (gst_base_transform_transform_size), (gst_base_transform_getcaps),
18618         (gst_base_transform_setcaps), (gst_base_transform_get_unit_size),
18619         (gst_base_transform_buffer_alloc),
18620         (gst_base_transform_handle_buffer):
18621           use gboolean return values and pointers to size so we can use the
18622           full GST_BUFFER_SIZE range (guint) for buffer sizes
18623           use GstPadDirection for transform_caps
18624         * gst/base/gstbasetransform.h:
18625           rename get_size to get_unit_size since that's what it is
18626         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_caps):
18627           use GstPadDirection for transform_caps
18628         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
18629         * gst/gstutils.h:
18630           cleanup and debugging
18631
18632 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
18633
18634         * gst/gstelement.c: (gst_element_class_init),
18635         (gst_element_set_state), (activate_pads),
18636         (gst_element_save_thyself):
18637         * tools/gst-compprep.c: (main):
18638         * tools/gst-inspect.c: (print_element_properties_info):
18639         * tools/gst-xmlinspect.c: (print_element_properties):
18640           Fixed long standing mem-leak
18641
18642 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
18643
18644         * check/gst/gstbin.c: (GST_START_TEST):
18645         * gst/gstbin.c: (bin_bus_handler):
18646         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
18647         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
18648         (gst_message_new_warning), (gst_message_new_tag),
18649         (gst_message_new_state_changed), (gst_message_new_segment_start),
18650         (gst_message_new_segment_done), (gst_message_new_custom):
18651         * gst/gstmessage.h:
18652         * tools/gst-launch.c: (event_loop):
18653         * tools/gst-md5sum.c: (event_loop):
18654           Change GST_MESSAGE_SRC to be a GObject rather than a GstObject, so
18655           that applications can sensibly post custom messages with references
18656           to their own objects.
18657
18658 2005-08-24  Andy Wingo  <wingo@pobox.com>
18659
18660         * gst/gstpad.c (gst_pad_fixate_caps): Check if the caps is fixed
18661         already.
18662
18663 2005-08-24  Wim Taymans  <wim@fluendo.com>
18664
18665         * gst/base/gstbasetransform.c: (gst_base_transform_init),
18666         (gst_base_transform_transform_caps),
18667         (gst_base_transform_transform_size),
18668         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
18669         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
18670         (gst_base_transform_handle_buffer):
18671         * gst/base/gstbasetransform.h:
18672         Many fixes and new features added by Thomas. Can now also do
18673         transforms with variable sizes and a custom fixate_caps function.
18674
18675 2005-08-24  Wim Taymans  <wim@fluendo.com>
18676
18677         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
18678         Some debugging.
18679
18680         * gst/gstclock.h:
18681         Cast to ClockTime before formatting to time.
18682
18683         * gst/gstutils.h:
18684         Cleanups.
18685
18686 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
18687
18688         * check/gst-libs/controller.c: (GST_START_TEST),
18689         (gst_controller_suite):
18690         * docs/gst/tmpl/gstcaps.sgml:
18691         * docs/gst/tmpl/gstghostpad.sgml:
18692         * docs/gst/tmpl/gstquery.sgml:
18693         * docs/gst/tmpl/gstutils.sgml:
18694         * libs/gst/controller/gst-helper.c: (gst_object_set_controller),
18695         (gst_object_sink_values), (gst_object_get_value_arrays),
18696         (gst_object_get_value_array):
18697           gracefully handle helper method calls to objects that are not beeing
18698           controlled, added test case for that          
18699
18700 2005-08-23  Wim Taymans  <wim@fluendo.com>
18701
18702         * gst/gstevent.c: (_gst_event_copy), (gst_event_new_custom),
18703         (gst_event_new_newsegment), (gst_event_parse_newsegment),
18704         (gst_event_new_tag), (gst_event_parse_tag), (gst_event_new_qos),
18705         (gst_event_parse_qos), (gst_event_new_seek),
18706         (gst_event_parse_seek):
18707         * gst/gstevent.h:
18708         Some more debugging output and doc cleanups.
18709
18710         * gst/gstqueue.c: (gst_queue_handle_sink_event):
18711         Fix possible deadlock.
18712
18713 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
18714
18715         * docs/gst/gstreamer-docs.sgml:
18716         * docs/gst/gstreamer-sections.txt:
18717         * docs/gst/gstreamer.types:
18718         * docs/gst/tmpl/.cvsignore:
18719         * gst/gstbin.h:
18720         * gst/gstbus.c:
18721         * gst/gstelement.c:
18722         * gst/gstevent.h:
18723           added 100 symbols from gstreamer-unused.txt to the right sections
18724           fixed more broken comments
18725           added GstBus to docs
18726
18727 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
18728
18729         * docs/gst/gstreamer-sections.txt:
18730         * docs/gst/tmpl/.cvsignore:
18731         * docs/gst/tmpl/gstbin.sgml:
18732         * docs/gst/tmpl/gstbuffer.sgml:
18733         * gst/base/gstbasesrc.c:
18734         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
18735         * gst/gstbuffer.c:
18736         * gst/gstbuffer.h:
18737         * tools/gst-launch.1.in:
18738           inlined more doc comments, added missing comments and fixed comments
18739           fixed typos
18740
18741 2005-08-23  Thomas Vander Stichele  <thomas at apestaart dot org>
18742
18743         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
18744           some debugging
18745         * gst/gstcaps.h:
18746           whitespace fixes
18747         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_alloc_buffer):
18748           more debugging
18749         * gst/gststructure.c: (gst_caps_structure_fixate_field_boolean):
18750         * gst/gststructure.h:
18751           add a fixate function for booleans; add a FIXME that these func
18752           names should probably be gst_structure_fixate_*
18753
18754 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
18755
18756         * docs/gst/gstreamer-docs.sgml:
18757         * docs/gst/gstreamer-sections.txt:
18758         * gst/Makefile.am:
18759         * gst/gstbin.c: (gst_bin_get_type),
18760         (gst_bin_child_proxy_get_child_by_index),
18761         (gst_bin_child_proxy_get_children_count),
18762         (gst_bin_child_proxy_init):
18763         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
18764         (gst_child_proxy_get_child_by_index),
18765         (gst_child_proxy_get_children_count), (gst_child_proxy_lookup),
18766         (gst_child_proxy_get_property), (gst_child_proxy_get_valist),
18767         (gst_child_proxy_get), (gst_child_proxy_set_property),
18768         (gst_child_proxy_set_valist), (gst_child_proxy_set),
18769         (gst_child_proxy_child_added), (gst_child_proxy_child_removed),
18770         (gst_child_proxy_base_init), (gst_child_proxy_get_type):
18771         * gst/gstchildproxy.h:
18772         * gst/parse/grammar.y:
18773         * tools/gst-inspect.c: (print_interfaces),
18774         (print_element_properties_info), (print_element_info):
18775           ported gstchildproxy over from 0.8
18776           ported gst-inspect fixes and enhancements over from 0.8
18777
18778 2005-08-22  Wim Taymans  <wim@fluendo.com>
18779
18780         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
18781         (gst_base_transform_handle_buffer):
18782         Also call the transform function if we have ANY caps.
18783
18784         * gst/gstpipeline.c: (gst_pipeline_set_new_stream_time):
18785         Fix debug info.
18786
18787 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
18788
18789         * gst/base/gstbasesrc.c: (gst_base_src_event_handler)
18790           Don't pretend to handle seek events if the source is not seekable
18791
18792 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
18793
18794         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
18795           Remove extra parameter to debug output
18796
18797         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
18798         (gst_base_src_do_seek), (gst_base_src_activate_push):
18799           Fix seek event handling.
18800
18801         * gst/gstpipeline.c: (gst_pipeline_change_state):
18802         * gst/gstqueue.c: (gst_queue_handle_sink_event),
18803         (gst_queue_src_activate_push):
18804           Don't start the src pad task on FLUSH_STOP if the pad
18805           isn't linked.
18806           Debug changes.
18807
18808 2005-08-22  Wim Taymans  <wim@fluendo.com>
18809
18810         * check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
18811         Added check for gst_static_caps_get() refcounting.
18812
18813 2005-08-22  Wim Taymans  <wim@fluendo.com>
18814
18815         * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_to_string):
18816         Make _static_caps_get() refcounting sane.
18817         
18818         * gst/gstelement.c: (gst_element_set_state):
18819         Add g_return_val_if_fail() to protect against segfaults.
18820
18821 2005-08-22  Stefan Kost  <ensonic@users.sf.net>
18822
18823         * docs/gst/tmpl/gstevent.sgml:
18824         * gst/gstevent.c:
18825         * gst/gstevent.h:
18826           inlined remaining docs, added missing doc comments
18827
18828 2005-08-22  Thomas Vander Stichele  <thomas at apestaart dot org>
18829
18830         * check/gst/gstbin.c: (GST_START_TEST):
18831           since we don't know when preroll is done, use refcount range
18832           check for the sink
18833         * gst/check/gstcheck.h:
18834           add macro for checking refcount range
18835
18836 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
18837
18838         * check/Makefile.am:
18839           clean up environment for when registry gets built versus
18840           when actual tests are run; valgrind seems to not report
18841           leaks if GST_PLUGIN_PATH is set to some specific values
18842         * check/gst/gstbin.c: (GST_START_TEST):
18843           add more refcounting checks; maybe this exposes a
18844           preroll lock bug ?
18845         * common/check.mak:
18846         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
18847         * gst/check/gstcheck.h:
18848         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_get_state),
18849         (gst_bin_change_state):
18850         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_chain):
18851           add/fix debugging/whitespace
18852
18853 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
18854
18855         * check/gst/gstevent.c: (event_probe), (test_event),
18856         (GST_START_TEST):
18857          Er, don't call gst_bin_watch_for_state_change you idiot.
18858
18859 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
18860
18861         * check/Makefile.am:
18862           Use CHECK_CFLAGS and CHECK_LIBS
18863         * check/gst/gstevent.c: (event_probe), (test_event),
18864         (GST_START_TEST):
18865           Don't leak events.
18866         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
18867         (gst_base_src_start), (gst_base_src_stop),
18868         (gst_base_src_activate_push), (gst_base_src_activate_pull),
18869         (gst_base_src_change_state):
18870           Sprinkle gst_base_src_stop liberally around error paths to fix
18871           problems reusing a source after failed state changes.
18872         * gst/base/gsttypefindhelper.c: (helper_find_peek),
18873         (helper_find_suggest), (gst_type_find_helper):
18874           Extra debug output. Don't segfault on GST_PAD_GETRANGEFUNC = NULL
18875         * gst/gstevent.h:
18876         * docs/gst/tmpl/gstevent.sgml:
18877           Migrate part of the docs from the SGML file. Wait for ensonic to
18878           tell me how I did it wrong ;)
18879         * tools/gst-typefind.c: (main):
18880           Extra robustness to state changes between files.
18881
18882 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
18883
18884         * check/Makefile.am:
18885           don't valgrind the controller test - it's leaking - Stefan, HELP
18886         * gst/check/gstcheck.c: (gst_check_message_error),
18887         (gst_check_chain_func), (gst_check_setup_element),
18888         (gst_check_teardown_element), (gst_check_setup_src_pad),
18889         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
18890         (gst_check_teardown_sink_pad):
18891         * gst/check/gstcheck.h:
18892           add a bunch of methods to set up elements, and src and sink pads
18893         * check/elements/fakesrc.c: (setup_fakesrc), (cleanup_fakesrc):
18894         * check/elements/identity.c: (setup_identity), (cleanup_identity),
18895         (GST_START_TEST):
18896           use them
18897         * gst/gstmessage.c:
18898         * gst/gsttag.h:
18899           whitespace/doc fixes
18900
18901 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
18902
18903         * gst/gstelement.h:
18904           make GST_ELEMENT_ERROR not do GST_ERROR_OBJECT - these errors should
18905           be handled by the application and not always printed as well
18906
18907 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
18908
18909         * check/Makefile.am:
18910           set GST_TOOLS_DIR
18911         * gst/check/gstcheck.c: (gst_check_message_error):
18912         * gst/check/gstcheck.h:
18913           add a fail_unless_equals_int
18914           add fail_unless for error messages
18915
18916 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
18917
18918         * check/Makefile.am:
18919         * check/gst.supp:
18920         * common/Makefile.am:
18921         * common/check.mak:
18922         * common/gst.supp:
18923           factor out some of the common stuff so we can use it
18924
18925 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
18926
18927         * check/Makefile.am:
18928         * check/gst/gstiterator.c: (GST_START_TEST):
18929         * check/gst/gstsystemclock.c: (GST_START_TEST),
18930         (gst_systemclock_suite):
18931         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
18932         * gst/gstclock.c:
18933           valgrind more tests
18934
18935 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
18936
18937         * check/elements/.cvsignore:
18938         * check/elements/gstfakesrc.c:
18939           rename to name of element
18940         * check/elements/identity.c: (chain_func), (event_func),
18941         (setup_identity), (cleanup_identity), (GST_START_TEST),
18942         (identity_suite), (main):
18943           add a test for identity
18944         * check/Makefile.am:
18945         * pkgconfig/Makefile.am:
18946         * pkgconfig/gstreamer-check.pc.in:
18947         * pkgconfig/gstreamer-check-uninstalled.pc.in:
18948         * gst/check:
18949         * gst/Makefile.am:
18950         * configure.ac:
18951           move the check stuff to a library that gets installed
18952         * check/gst-libs/controller.c: (GST_START_TEST):
18953         * check/gst-libs/gdp.c:
18954         * check/gst/gst.c: (GST_START_TEST):
18955         * check/gst/gstbin.c:
18956         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
18957         * check/gst/gstbus.c:
18958         * check/gst/gstcaps.c: (GST_START_TEST):
18959         * check/gst/gstelement.c:
18960         * check/gst/gstghostpad.c:
18961         * check/gst/gstiterator.c:
18962         * check/gst/gstmessage.c:
18963         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST):
18964         * check/gst/gstobject.c:
18965         * check/gst/gstpad.c: (GST_START_TEST):
18966         * check/gst/gststructure.c: (GST_START_TEST):
18967         * check/gst/gstsystemclock.c: (GST_START_TEST),
18968         (gst_systemclock_suite):
18969         * check/gst/gsttag.c: (gst_tag_suite):
18970         * check/gst/gstvalue.c:
18971         * check/pipelines/cleanup.c:
18972         * check/pipelines/simple_launch_lines.c:
18973         * check/states/sinks.c:
18974           change include statement
18975
18976         * docs/gst/gstreamer-sections.txt:
18977         * docs/gst/tmpl/gstpad.sgml:
18978           document more pad stuff
18979         * gst/gstminiobject.c: (gst_mini_object_ref),
18980         (gst_mini_object_unref):
18981           debug refcounting
18982
18983 2005-08-19  Stefan Kost  <ensonic@users.sf.net>
18984
18985         * docs/gst/tmpl/gst.sgml:
18986         * gst/gst.c:
18987           eliminate another tmpl file, fix spelling in the long-description
18988
18989 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
18990
18991         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
18992         (test_event), (timediff), (gstevents_suite):
18993           Should fix build on 64-bit arch's
18994
18995 2005-08-18  Andy Wingo  <wingo@pobox.com>
18996
18997         Make sure that when a pipeline goes to PLAYING, that data has
18998         actually hit the sink.
18999
19000         * check/states/sinks.c (test_sink): A sink that doesn't get any
19001         data shouldn't return SUCCESS for going to either PLAYING or
19002         PAUSED. Test also the return values on the way back down.
19003
19004         * gst/gstelement.c (gst_element_set_state): When changing the
19005         state of an element currently changing state asynchronously, go to
19006         lost-state after commiting the pending state. Makes future calls
19007         to get_state continue to return ASYNC.
19008
19009         * gst/base/gstbasesink.c (gst_base_sink_change_state): Return
19010         ASYNC when going to PLAYING if we still don't have preroll, as can
19011         happen with live sources.
19012
19013 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
19014
19015         * docs/pwg/advanced-types.xml:
19016           Hack long paragraph into 2 chunks as a workaround for buggy
19017           jadetex version in sid and breezy that loops infinitely and
19018           eats all RAM.
19019
19020 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
19021
19022         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
19023         (test_event), (timediff), (gstevents_suite):
19024           Provide more error margin in clock measurements to allow for 
19025           g_get_current_time inaccuracies.
19026
19027 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
19028
19029         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
19030         (test_event), (timediff), (gstevents_suite):
19031            Fix error message output so I might be able to tell why the
19032            test works here but fails on the build farm.
19033
19034 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
19035
19036         * check/Makefile.am:
19037         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
19038         (test_event), (timediff), (gstevents_suite), (main):
19039           I wrote a test!
19040
19041         * docs/design/part-seeking.txt:
19042           Spelling correction
19043
19044         * docs/gst/tmpl/gstevent.sgml:
19045         * docs/gst/tmpl/gstfakesrc.sgml:
19046           Docs updates.
19047
19048         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
19049           Treat a buffer-without-newsegment the same as a receiving 
19050           a newsegment not in time format, and disable syncing to the clock
19051           with a warning.
19052
19053         * gst/gstbus.c: (gst_bus_set_sync_handler):
19054           Assert if anyone tries to replace the existing sync_handler for bus, 
19055           as only the owner should be setting it.
19056
19057         * gst/gstevent.h:
19058           Have a fixed set of custom event enums with events identified by
19059           their structure name (as in 0.8), rather than a free-for-all
19060           allowing collisions between enum values from different plugins.
19061
19062         * gst/gstpad.c: (gst_pad_class_init):
19063           Docs change.
19064           
19065         * gst/gstqueue.c: (gst_queue_handle_sink_event):
19066           Handle out-of-band downstream events from the sending thread.
19067
19068 2005-08-17  Andy Wingo  <wingo@pobox.com>
19069
19070         * gst/gstpipeline.c (gst_pipeline_change_state): Interpret
19071         play-timeout==0 to mean no timeout at all. In that case, don't
19072         bother with a get_state or a warning, just return directly, even
19073         if it's ASYNC.
19074
19075         * gst/base/gstbasetransform.c: Debug changes.
19076
19077         * gst/gstutils.h:
19078         * gst/gstutils.c (gst_bin_watch_for_state_change): Add function to
19079         ensure bins post state change messages. A bit of a hack but I can't
19080         think of a way to avoid it.
19081
19082         * check/gst/gstbin.c (test_watch_for_state_change): Added test.
19083
19084 2005-08-16  Andy Wingo  <wingo@pobox.com>
19085
19086         * gst/base/gstadapter.h:
19087         * gst/base/gstadapter.c (gst_adapter_take): New function, like
19088         peek() but you own the data. Not terribly efficient atm.
19089
19090 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
19091
19092         * gst/gstutils.c: (gst_element_found_tags_for_pad), (push_and_ref),
19093         (gst_element_found_tags):
19094         * gst/gstutils.h:
19095           Add two utility functions for tag handling.
19096
19097 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
19098
19099         * docs/manual/advanced-dataaccess.xml:
19100         * docs/manual/basics-helloworld.xml:
19101           Fix docs to use _bin_add() before _link(), which fixes the examples
19102           with recent core versions (reported by Madhan Raj M
19103           <raj_madan@rediffmail.com>, #313199).
19104
19105 2005-08-16  Wim Taymans  <wim@fluendo.com>
19106
19107         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
19108         Added subtract checks.
19109
19110         * docs/design/part-events.txt:
19111         Some more docs about newsegment
19112
19113         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
19114         Fix FIXME
19115
19116         * gst/gstcaps.c: (gst_caps_to_string):
19117         Add comments, cleanups.
19118         
19119         * gst/gstelement.c: (gst_element_save_thyself):
19120         cleanups
19121         
19122         * gst/gstvalue.c: (gst_value_collect_int_range),
19123         (gst_string_unwrap), (gst_value_union_int_int_range),
19124         (gst_value_union_int_range_int_range),
19125         (gst_value_intersect_int_int_range),
19126         (gst_value_intersect_int_range_int_range),
19127         (gst_value_intersect_double_double_range),
19128         (gst_value_intersect_double_range_double_range),
19129         (gst_value_intersect_list), (gst_value_subtract_int_int_range),
19130         (gst_value_subtract_int_range_int),
19131         (gst_value_subtract_double_range_double),
19132         (gst_value_subtract_double_range_double_range),
19133         (gst_value_subtract_from_list), (gst_value_subtract_list),
19134         (gst_value_can_compare), (gst_value_compare_fraction):
19135         Cleanups, add comments, remove unneeded asserts.
19136
19137 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
19138
19139         * tools/gst-launch.c: (event_loop):
19140           don't convert NULL structures to strings
19141
19142 2005-08-15  Stefan Kost  <ensonic@users.sf.net>
19143
19144         * docs/gst/gstreamer-sections.txt:
19145           made some defines private
19146         * docs/gst/tmpl/gstconfig.sgml:
19147         * docs/gst/tmpl/gstqueue.sgml:
19148         * docs/gst/tmpl/gsttaglist.sgml:
19149         * docs/gst/tmpl/gsttypes.sgml:
19150         * docs/gst/tmpl/gstutils.sgml:
19151         * docs/pwg/appendix-porting.xml:
19152         * gst/base/gstbasesink.h:
19153         * gst/base/gstbasesrc.c:
19154         * gst/base/gstbasesrc.h:
19155         * gst/elements/gstfakesink.c: (gst_fake_sink_class_init):
19156         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init):
19157         * gst/gstelement.c: (gst_element_class_init):
19158         * gst/gstpad.c: (gst_pad_class_init):
19159         * gst/gstqueue.c: (gst_queue_class_init):
19160         * gst/gstxml.c: (gst_xml_class_init):
19161           documented all undocumented signal inline
19162         * libs/gst/controller/gst-controller.h:
19163           added padding
19164
19165 2005-08-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
19166
19167         * docs/pwg/appendix-porting.xml:
19168           Document _set_link_function -> _set_setcaps_function.
19169
19170 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
19171
19172         * check/Makefile.am:
19173           add a .check target for running the check
19174         * check/gst-libs/controller.c: (GST_START_TEST):
19175           cosmetic fixups
19176         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
19177           complete checks for gstbuffer; would be nice if I could get the
19178           gcov stuff to work so I can see if I actually completed gstbuffer.c
19179         * check/gstcheck.h:
19180           add ASSERT_BUFFER_REFCOUNT
19181
19182 2005-08-13  Tim-Philipp Müller  <tim at centricular dot net>
19183
19184         * docs/gst/gstreamer-sections.txt:
19185         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
19186         * gst/gsttag.h:
19187           Add GST_TAG_LANGUAGE_CODE as we have in 0.8, and don't
19188           spew out a warning if a tag that is already registered
19189           is re-registered, unless it is re-registered with a 
19190           different type (#308438).
19191
19192 2005-08-12  Tim-Philipp Müller  <tim at centricular dot net>
19193
19194         * docs/pwg/appendix-porting.xml:
19195         * docs/pwg/building-state.xml:
19196           Add some paragraphs about state changes in 0.9 to the PWG
19197           and the porting guide, in particular about the new meaning
19198           of GST_STATE_PAUSED and how to write state change functions
19199           with concurrent access by multiple threads in mind.
19200
19201 2005-08-11  Stefan Kost  <ensonic@users.sf.net>
19202
19203         * docs/gst/gstreamer-docs.sgml:
19204         * docs/libs/gstreamer-libs-docs.sgml:
19205           added deprecation and since indexes
19206         * libs/gst/controller/gst-controller.c:
19207         * libs/gst/controller/gst-helper.c:
19208           added since tags
19209
19210
19211 2005-08-11  Wim Taymans  <wim@fluendo.com>
19212
19213         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked),
19214         (gst_proxy_pad_set_target), (gst_proxy_pad_get_target),
19215         (gst_proxy_pad_dispose), (gst_ghost_pad_do_activate_push),
19216         (gst_ghost_pad_do_link), (gst_ghost_pad_set_internal),
19217         (gst_ghost_pad_new_notarget), (gst_ghost_pad_get_target),
19218         (gst_ghost_pad_set_target):
19219         Actually implement (re)setting the target on a ghostpad
19220         as described in the docs.
19221
19222 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
19223
19224         * gst/gst.c: (gst_init_check_with_popt_table), (init_pre):
19225           Check whether GST_DEBUG_NO_COLOR environment variable is
19226           set and disable coloured debug output if that is the case.
19227
19228 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
19229
19230         * gst/base/gsttypefindhelper.c: (helper_find_peek),
19231         (gst_type_find_helper):
19232           The memory returned by gst_type_find_peek() needs to
19233           stay valid until the end of a typefind function, and
19234           typefind functions may keep results from different 
19235           offsets around, so we can't just unref the buffer from
19236           the previous _peek(), but have to save all buffers 
19237           returned by _peek() until typefinding is done and only
19238           free them then.
19239
19240 2005-08-09  Tim-Philipp Müller  <tim at centricular dot net>
19241
19242         * docs/gst/gstreamer-sections.txt:
19243         * gst/gstutils.h:
19244           New macros: GST_ROUND_UP_2() through GST_ROUND_UP_64().
19245
19246 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
19247
19248         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
19249           Fix a pretty good memleak.
19250
19251 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
19252
19253         * gst/gstiterator.h:
19254           Fix wrong include and 'make distcheck'.
19255
19256 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
19257
19258         * gst/gstbin.c: (bin_bus_handler):
19259           Use gst_element_post_message() instead.
19260
19261 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
19262
19263         * gst/base/gstadapter.h:
19264         * gst/base/gstbasesink.h:
19265         * gst/base/gstbasesrc.h:
19266         * gst/base/gstbasetransform.h:
19267         * gst/base/gstcollectpads.h:
19268         * gst/base/gstpushsrc.h:
19269         * gst/gstiterator.h:
19270           Add padding to our base elements' class and instance structs and
19271           to GstIterator (you will need to rebuild all plugins and apps!)
19272
19273 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
19274
19275         * gst/gstbin.c: (bin_bus_handler):
19276           Make default message forwarding from child->bus to bin->bus
19277           threadsafe and make it not emit warnings if the parent has no bus.
19278
19279 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
19280
19281         * gst/gstelement.c: (activate_pads):
19282           On paused->ready, set pad->caps to NULL, as is the documented
19283           behaviour in this state change. Fixes playback of series of
19284           media files when visualization is enabled in Totem.
19285
19286 2005-08-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
19287
19288         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
19289           Allow NULL as filter-caps (which means "any").
19290
19291 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
19292
19293         * docs/libs/gstreamer-libs-sections.txt:
19294         * libs/gst/controller/gst-controller.c:
19295         * libs/gst/controller/gst-controller.h:
19296         * libs/gst/controller/gst-helper.c:
19297           adding more entries to the docs and fix small doc-bugs
19298
19299 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
19300
19301         * docs/gst/gstreamer-docs.sgml:
19302         * docs/gst/gstreamer-sections.txt:
19303         * docs/gst/gstreamer.types:
19304         * docs/gst/tmpl/gstbasesink.sgml:
19305         * docs/gst/tmpl/gstbasesrc.sgml:
19306         * docs/gst/tmpl/gstbasetransform.sgml:
19307         * docs/gst/tmpl/gstfakesrc.sgml:
19308         * gst/base/gstcollectpads.c:
19309         * gst/base/gstcollectpads.h:
19310         * libs/gst/controller/gst-controller.c:
19311         * libs/gst/controller/gst-controller.h:
19312         * libs/gst/controller/gst-helper.c:
19313         * libs/gst/controller/gst-interpolation.c:
19314         * libs/gst/controller/lib.c:
19315           added long/short desc for controller docs
19316           added collectpads base class docs
19317           added correct includes to base-class docs
19318
19319 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
19320
19321         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
19322         (gst_test_mono_source_set_property),
19323         (gst_test_mono_source_class_init), (GST_START_TEST),
19324         (gst_controller_suite):
19325         * docs/gst/gstreamer-docs.sgml:
19326         * docs/gst/gstreamer-sections.txt:
19327         * docs/gst/gstreamer.types:
19328         * docs/libs/gstreamer-libs-docs.sgml:
19329         * docs/libs/gstreamer-libs-sections.txt:
19330         * gst/base/gstadapter.c:
19331         * libs/gst/controller/gst-controller.c:
19332         (gst_controlled_property_new), (gst_controlled_property_free),
19333         (gst_controller_new_valist),
19334         (gst_controller_remove_properties_valist),
19335         (gst_controller_sink_values), (_gst_controller_finalize):
19336         * libs/gst/controller/gst-controller.h:
19337         * libs/gst/controller/gst-helper.c:
19338         (gst_object_control_properties), (gst_object_uncontrol_properties),
19339         (gst_object_get_controller), (gst_object_set_controller),
19340         (gst_object_sink_values), (gst_object_get_value_arrays),
19341         (gst_object_get_value_array):
19342           more tests (and fixes) for the controller
19343           more docs for the controller
19344           integrated companies docs for the adapter 
19345
19346 2005-08-05  Thomas Vander Stichele  <thomas at apestaart dot org>
19347
19348         * check/elements/gstfakesrc.c: (setup_fakesrc), (cleanup_fakesrc),
19349         (GST_START_TEST), (fakesrc_suite):
19350           add tests for sizetype
19351
19352 2005-08-04  Andy Wingo  <wingo@pobox.com>
19353
19354         * gst/elements/gstcapsfilter.c: Reimplement using basetransform,
19355         fixes buffer_alloc proxying among other things.
19356
19357         * gst/base/gstbasetransform.c:
19358         * gst/base/gstbasetransform.h:
19359         Revert patch to gstbasetransform from 7-28 removing
19360         delay_configure.
19361
19362         * gst/base/gstbasetransform.h (GstBaseTransformClass.get_size):
19363         * gst/base/gstbasetransform.c (gst_base_transform_get_size):
19364         Semantics changed, should return not the size of the output buffer
19365         but the byte size of a buffer with a given caps.
19366
19367         * gst/base/gstbasetransform.c (gst_base_transform_getcaps): Better
19368         debug object.
19369         (gst_base_transform_configure_caps): Don't set out_size here: (in,
19370         out) are not the pad caps until setcaps finishes.
19371         (gst_base_transform_buffer_alloc): Proxy the buffer_alloc for the
19372         not-in-place case as well. Deal with changing from in-place to
19373         not-in-place within calling pad_alloc_buffer. Still a bit
19374         concerned about the overhead here...
19375
19376 2005-08-03  Andy Wingo  <wingo@pobox.com>
19377
19378         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): Not
19379         fixating is an error.
19380
19381 2005-08-04  Edward Hervey  <edward@fluendo.com>
19382
19383         * gst/base/gstadapter.h: 
19384         Added gst_adapter_get_type() to the header
19385
19386 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
19387
19388         * check/Makefile.am:
19389         * check/gst-libs/controller.c:
19390         * libs/gst/controller/gst-controller.c:
19391         (gst_controller_new_valist):
19392           added check test suite for the controller
19393         * gst/base/gstpushsrc.c:
19394           fixed a doc typo
19395
19396 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
19397
19398         * docs/gst/Makefile.am:
19399         * docs/gst/gstreamer-docs.sgml:
19400         * docs/gst/gstreamer-sections.txt:
19401         * docs/gst/gstreamer.types:
19402         * docs/gst/tmpl/gstfakesrc.sgml:
19403         * gst/base/README:
19404         * gst/base/gstbasesink.c:
19405         * gst/base/gstbasesink.h:
19406         * gst/base/gstbasesrc.c:
19407         * gst/base/gstbasesrc.h:
19408         * gst/base/gstbasetransform.c:
19409         * gst/base/gstpushsrc.c:
19410         * gst/base/gstpushsrc.h:
19411           add short/long description docs to base classes
19412           add pushsrc to the docs
19413           remove consolidated doc fragments
19414
19415 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
19416
19417         * configure.ac:
19418         * docs/libs/Makefile.am:
19419         * docs/libs/gstreamer-libs-docs.sgml:
19420         * docs/libs/gstreamer-libs-sections.txt:
19421         * docs/libs/gstreamer-libs.types:
19422         * examples/Makefile.am:
19423         * examples/controller/.cvsignore:
19424         * examples/controller/Makefile.am:
19425         * examples/controller/audio-example.c: (main):
19426         * libs/gst/Makefile.am:
19427         * libs/gst/controller/.cvsignore:
19428         * libs/gst/controller/Makefile.am:
19429         * libs/gst/controller/gst-controller.c:
19430         (on_object_controlled_property_changed), (gst_timed_value_compare),
19431         (gst_timed_value_find),
19432         (gst_controlled_property_set_interpolation_mode),
19433         (gst_controlled_property_new), (gst_controlled_property_free),
19434         (gst_controller_find_controlled_property),
19435         (gst_controller_new_valist), (gst_controller_new),
19436         (gst_controller_remove_properties_valist),
19437         (gst_controller_remove_properties), (gst_controller_set),
19438         (gst_controller_set_from_list), (gst_controller_unset),
19439         (gst_controller_get), (gst_controller_get_all),
19440         (gst_controller_sink_values), (gst_controller_get_value_arrays),
19441         (gst_controller_get_value_array),
19442         (gst_controller_set_interpolation_mode),
19443         (_gst_controller_finalize), (_gst_controller_init),
19444         (_gst_controller_class_init), (gst_controller_get_type):
19445         * libs/gst/controller/gst-controller.h:
19446         * libs/gst/controller/gst-helper.c: (g_object_control_properties),
19447         (g_object_uncontrol_properties), (g_object_get_controller),
19448         (g_object_set_controller), (g_object_sink_values),
19449         (g_object_get_value_arrays), (g_object_get_value_array):
19450         * libs/gst/controller/gst-interpolation.c:
19451         (gst_controlled_property_find_timed_value_node),
19452         (interpolate_none_get), (interpolate_trigger_get),
19453         (interpolate_trigger_get_value_array):
19454         * libs/gst/controller/lib.c: (gst_controller_init):
19455         * pkgconfig/Makefile.am:
19456         * pkgconfig/gstreamer-control-uninstalled.pc.in:
19457         * pkgconfig/gstreamer-control.pc.in:
19458         * testsuite/Makefile.am:
19459         * testsuite/controller/.cvsignore:
19460         * testsuite/controller/Makefile.am:
19461         * testsuite/controller/interpolator.c: (main):
19462           added controller code
19463           removed dparam pc files
19464
19465 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
19466         * gst/base/gstcollectpads.c: (gst_collectpads_finalize),
19467         (gst_collectpads_stop):
19468           Broadcast the condition when shutting down, to make sure we wake all
19469           threads up. Shut down pads on finalize, for safety.
19470
19471 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
19472         * gst/base/gstbasetransform.c: (gst_base_transform_init),
19473         (gst_base_transform_handle_buffer),
19474         (gst_base_transform_change_state):
19475           Handle PAUSED->READY->PAUSED transition after negotiation
19476           occurred already.
19477         * gst/gstmessage.c: (gst_message_init):
19478           Extra piece of debug for new messages.
19479
19480 2005-08-01  Stefan Kost  <ensonic@users.sf.net>
19481
19482         * configure.ac:
19483         * docs/gst/tmpl/gstbasesrc.sgml:
19484         * docs/gst/tmpl/gstelement.sgml:
19485         * docs/gst/tmpl/gstevent.sgml:
19486         * docs/gst/tmpl/gstfakesrc.sgml:
19487         * docs/gst/tmpl/gstformat.sgml:
19488         * docs/gst/tmpl/gstghostpad.sgml:
19489         * docs/gst/tmpl/gstpad.sgml:
19490         * docs/gst/tmpl/gstquery.sgml:
19491         * docs/gst/tmpl/gststructure.sgml:
19492         * docs/gst/tmpl/gsttaglist.sgml:
19493         * docs/gst/tmpl/gstvalue.sgml:
19494         * docs/libs/gstreamer-libs-docs.sgml:
19495         * docs/libs/gstreamer-libs-sections.txt:
19496         * docs/libs/gstreamer-libs.types:
19497         * libs/gst/Makefile.am:
19498         * libs/gst/control/.cvsignore:
19499         * libs/gst/control/Makefile.am:
19500         * libs/gst/control/control.c:
19501         * libs/gst/control/control.h:
19502         * libs/gst/control/dparam.c:
19503         * libs/gst/control/dparam.h:
19504         * libs/gst/control/dparam_smooth.c:
19505         * libs/gst/control/dparam_smooth.h:
19506         * libs/gst/control/dparamcommon.h:
19507         * libs/gst/control/dparammanager.c:
19508         * libs/gst/control/dparammanager.h:
19509         * libs/gst/control/dplinearinterp.c:
19510         * libs/gst/control/dplinearinterp.h:
19511         * libs/gst/control/unitconvert.c:
19512         * libs/gst/control/unitconvert.h:
19513         * testsuite/Makefile.am:
19514         * testsuite/dynparams/.cvsignore:
19515         * testsuite/dynparams/Makefile.am:
19516         * testsuite/dynparams/dparamstest.c:
19517         * tools/Makefile.am:
19518         * tools/gst-inspect.c: (print_element_info), (main):
19519         * tools/gst-xmlinspect.c: (print_element_info), (main):
19520           deactivate and remove dparams (libgstcontrol)
19521
19522 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
19523
19524         * gst/elements/gsttypefindelement.c:
19525         (gst_type_find_element_have_type), (gst_type_find_element_init),
19526         (stop_typefinding), (gst_type_find_element_handle_event),
19527         (gst_type_find_element_chain), (gst_type_find_element_getrange):
19528         * gst/elements/gsttypefindelement.h:
19529           Set caps on all outgoing buffers, not just the first one.
19530
19531 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
19532
19533         * gst/elements/gsttypefindelement.c:
19534         (gst_type_find_element_have_type),
19535         (gst_type_find_element_check_set_buffer_caps),
19536         (gst_type_find_element_init), (stop_typefinding),
19537         (gst_type_find_element_handle_event),
19538         (gst_type_find_element_chain), (gst_type_find_element_getrange):
19539         * gst/elements/gsttypefindelement.h:
19540           Set caps on first outgoing buffer when we've found the type.
19541
19542 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
19543
19544         * docs/gst/gstreamer-docs.sgml:
19545         * docs/gst/gstreamer-sections.txt:
19546         * docs/gst/tmpl/gstscheduler.sgml:
19547         * docs/gst/tmpl/gstschedulerfactory.sgml:
19548           Remove some old cruft from docs.
19549
19550 2005-07-31  Tim-Philipp Müller  <tim at centricular dot net>
19551
19552         * gst/gstpad.h:
19553           Fix inline docs for GstPadLinkReturn.
19554           
19555         * gst/gststructure.c: (gst_structure_has_name):
19556         * gst/gststructure.h:
19557         * docs/gst/gstreamer-sections.txt:
19558           New API: gst_structure_has_name().
19559
19560 2005-07-30  Tim-Philipp Müller  <tim at centricular dot net>
19561
19562         * configure.ac:
19563           Use AC_SYS_LARGEFILE, which will set _FILE_OFFSET_BITS=64
19564           and _LARGEFILE_SOURCE in config.h as required. Do not 
19565           export those flags in our .pc files any longer (#142209).
19566
19567           Remove unused GST_DISABLE_OMEGA_COTHREADS stuff.
19568
19569         * gst/elements/gstfilesink.c: (gst_file_sink_class_init),
19570         (gst_file_sink_do_seek), (gst_file_sink_event),
19571         (gst_file_sink_get_current_offset), (gst_file_sink_render):
19572           Redo seek/tell calls with large file support in mind; add some
19573           debugging messages; add log message that tells us when large
19574           file support is unavailable or not enabled for some reason.
19575
19576         * gst/elements/gstfilesrc.c: (gst_file_src_class_init):
19577           Add log message that tells us when large file support 
19578           is unavailable or not enabled for some reason.
19579
19580 2005-07-29  Wim Taymans  <wim@fluendo.com>
19581
19582         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
19583         Added test for removing an element with ghostpad from a bin.
19584         Fixed test as current implementation does the right thing.
19585
19586         * gst/gstghostpad.c: (gst_proxy_pad_class_init),
19587         (gst_proxy_pad_do_query_type), (gst_proxy_pad_do_event),
19588         (gst_proxy_pad_do_query), (gst_proxy_pad_do_internal_link),
19589         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_activate),
19590         (gst_proxy_pad_do_activatepull), (gst_proxy_pad_do_activatepush),
19591         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
19592         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
19593         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
19594         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target),
19595         (gst_proxy_pad_get_target), (gst_proxy_pad_init),
19596         (gst_proxy_pad_dispose), (gst_proxy_pad_finalize),
19597         (gst_ghost_pad_class_init), (gst_ghost_pad_do_activate_push),
19598         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
19599         (gst_ghost_pad_set_internal), (gst_ghost_pad_dispose),
19600         (gst_ghost_pad_new_notarget), (gst_ghost_pad_new),
19601         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
19602         * gst/gstghostpad.h:
19603         Clean up ghostpads, remove properties for internal stuff.
19604         Make threadsafe.
19605         Fix refcounting.
19606         Prepare for switching targets, not all use cases work yet.
19607
19608 2005-07-29  Wim Taymans  <wim@fluendo.com>
19609
19610         * docs/design/part-gstghostpad.txt:
19611         Small update.
19612
19613         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
19614         (gst_bin_remove_func):
19615         Unlinking pads while holding the bin LOCK is not a good
19616         idea.
19617
19618         * gst/gstpad.c: (gst_pad_class_init),
19619         (gst_pad_link_check_hierarchy), (gst_pad_get_caps_unlocked),
19620         (gst_pad_accept_caps), (gst_pad_set_caps), (gst_pad_send_event):
19621         No prob setting template after creating the pad.
19622
19623 2005-07-29  Jan Schmidt  <thaytan@mad.scientist.com>
19624
19625         * gst/gstbus.c: (gst_bus_set_flushing), (gst_bus_pop),
19626         (gst_bus_peek), (gst_bus_source_dispatch),
19627         (gst_bus_add_watch_full), (poll_handler), (poll_timeout),
19628         (poll_destroy), (poll_destroy_timeout), (gst_bus_poll):
19629           gst_bus_poll may be called from other threads. Handle
19630           this nicely by not making poll_data disappear off the
19631           stack once gst_bus_poll returns.
19632           gst_bus_peek now increments the refcount on the returned
19633           message.
19634
19635 2005-07-29  Wim Taymans  <wim@fluendo.com>
19636
19637         * docs/design/part-gstghostpad.txt:
19638         Overview of current GhostPad datastructures and use
19639         cases for changing the target.
19640
19641 2005-07-28  Wim Taymans  <wim@fluendo.com>
19642
19643         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
19644         Added checks for hierarchy consistency whan adding linked
19645         elements to bins.
19646
19647         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
19648         Added check to test element scheduling without bin/pipeline.
19649
19650         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
19651         First add elements to bin, then link.
19652         
19653         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
19654         (gst_bin_remove_func):
19655         Unlink pads from elements added/removed from bin to maintain
19656         hierarchy consistency.
19657
19658 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
19659
19660         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
19661         (gst_base_transform_handle_buffer):
19662         * gst/base/gstbasetransform.h:
19663           Remove broken delay_configure (fixes renegotiation of software
19664           scaling pipelines); remove some leftover printf()s.
19665
19666 2005-07-28  Wim Taymans  <wim@fluendo.com>
19667
19668         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
19669         Added some more tests for wrong hierarchy
19670
19671         * docs/design/part-overview.txt:
19672         Some updates.
19673
19674         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_dispose):
19675         Cleanups.
19676
19677         * gst/gstelement.c: (gst_element_remove_pad), (gst_element_seek),
19678         (gst_element_dispose):
19679         Some more cleanups.
19680
19681         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
19682         (gst_pad_link_check_hierarchy), (gst_pad_link_prepare),
19683         (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
19684         (gst_pad_set_caps), (gst_pad_send_event):
19685         Check for correct hierarchy when linking pads. Moving to
19686         strict requirement for ghostpads when linking elements in
19687         different bins.
19688
19689         * gst/gstpad.h:
19690         Clean ups. Added WRONG_HIERARCHY return value.
19691
19692 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
19693
19694         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
19695           Better debug if no transform is possible.
19696
19697 2005-07-27  Wim Taymans  <wim@fluendo.com>
19698
19699         * docs/random/wtay/network-transp:
19700         Some old doc I had.
19701
19702 2005-07-27  Wim Taymans  <wim@fluendo.com>
19703
19704         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
19705         (gst_dp_event_from_packet):
19706         Fix serialization of seek events.
19707
19708 2005-07-27  Wim Taymans  <wim@fluendo.com>
19709
19710         * check/gst-libs/gdp.c: (GST_START_TEST):
19711         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
19712         Fix compilation and fix event serialization.
19713
19714 2005-07-27  Wim Taymans  <wim@fluendo.com>
19715
19716         * CHANGES-0.9:
19717         * docs/design/part-TODO.txt:
19718         * docs/design/part-events.txt:
19719         Some docs updates
19720
19721         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
19722         (gst_base_sink_event), (gst_base_sink_do_sync),
19723         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
19724         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
19725         (gst_base_src_do_seek), (gst_base_src_event_handler),
19726         (gst_base_src_loop):
19727         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
19728         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
19729         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
19730         (gst_base_transform_event), (gst_base_transform_handle_buffer),
19731         (gst_base_transform_set_passthrough),
19732         (gst_base_transform_is_passthrough):
19733         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
19734         * gst/elements/gstfilesink.c: (gst_file_sink_event):
19735         Event updates.
19736
19737         * gst/gstbuffer.h:
19738         Use faster casts.
19739
19740         * gst/gstelement.c: (gst_element_seek):
19741         * gst/gstelement.h:
19742         Update gst_element_seek.
19743
19744         * gst/gstevent.c: (gst_event_finalize), (_gst_event_copy),
19745         (gst_event_new), (gst_event_new_custom), (gst_event_get_structure),
19746         (gst_event_new_flush_start), (gst_event_new_flush_stop),
19747         (gst_event_new_eos), (gst_event_new_newsegment),
19748         (gst_event_parse_newsegment), (gst_event_new_tag),
19749         (gst_event_parse_tag), (gst_event_new_filler), (gst_event_new_qos),
19750         (gst_event_parse_qos), (gst_event_new_seek),
19751         (gst_event_parse_seek), (gst_event_new_navigation):
19752         * gst/gstevent.h:
19753         Make GstEvent use GstStructure. Add parsing code, make sure the
19754         API is sufficiently generic.
19755         Mark possible directions of events and serialization.
19756
19757         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize),
19758         (_gst_message_copy), (gst_message_new_segment_start),
19759         (gst_message_new_segment_done), (gst_message_new_custom),
19760         (gst_message_parse_segment_start),
19761         (gst_message_parse_segment_done):
19762         Small cleanups.
19763
19764         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
19765         (gst_pad_set_caps), (gst_pad_send_event):
19766         Update for new events. 
19767         Catch events sent in wrong directions.
19768
19769         * gst/gstqueue.c: (gst_queue_link_src),
19770         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
19771         (gst_queue_handle_src_query):
19772         Event updates.
19773
19774         * gst/gsttag.c:
19775         * gst/gsttag.h:
19776         Remove event code from this file.
19777
19778         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
19779         (gst_dp_event_from_packet):
19780         Event updates.
19781
19782 2005-07-27  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
19783
19784         * gst/base/gstbasetransform.c: (gst_base_transform_getcaps),
19785         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
19786         (gst_base_transform_get_size), (gst_base_transform_handle_buffer):
19787           Make debugging actually useful.
19788
19789 2005-07-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
19790
19791         * gst/gstpad.c: (fixate_value), (gst_pad_default_fixate),
19792         (gst_pad_fixate_caps):
19793           Implement default fixation once again, so that gst_pad_fixate()
19794           actually does anything at all. This probably needs to be some
19795           sort of a last resort, and use profile-based fixation first, but
19796           since that doesn't exist yet, this is the best we have. Fixes
19797           visualization in Totem.
19798
19799 2005-07-22  Wim Taymans  <wim@fluendo.com>
19800
19801         * docs/design/part-events.txt:
19802         Small update.
19803
19804         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
19805         (gst_base_sink_do_sync), (gst_base_sink_activate_push),
19806         (gst_base_sink_activate_pull):
19807         Some more comments.
19808
19809         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init),
19810         (gst_fake_src_create):
19811         Fix handoff marshall.
19812
19813         * gst/elements/gstidentity.c: (gst_identity_class_init),
19814         (gst_identity_transform_ip):
19815         We're a real inplace element.
19816
19817         * gst/gstbus.c: (gst_bus_post):
19818         Added some comments.
19819
19820         * tests/lat.c: (fakesrc), (fakesink), (simple), (queue), (main):
19821         * tests/muxing/case1.c: (main):
19822         * tests/sched/dynamic-pipeline.c: (main):
19823         * tests/sched/interrupt1.c: (main):
19824         * tests/sched/interrupt2.c: (main):
19825         * tests/sched/interrupt3.c: (main):
19826         * tests/sched/runxml.c: (main):
19827         * tests/sched/sched-stress.c: (main):
19828         * tests/seeking/seeking1.c: (event_received), (main):
19829         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
19830         (main):
19831         * tests/threadstate/threadstate3.c: (main):
19832         * tests/threadstate/threadstate4.c: (main):
19833         * tests/threadstate/threadstate5.c: (main):
19834         Fix the tests.
19835
19836 2005-07-21  Wim Taymans  <wim@fluendo.com>
19837
19838         * docs/design/part-seeking.txt:
19839         Some small additions.
19840
19841         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
19842         (gst_base_sink_get_times), (gst_base_sink_do_sync),
19843         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
19844         * gst/base/gstbasesink.h:
19845         discont values are gint64, handle the math correctly.
19846
19847         * gst/base/gstbasesrc.c: (gst_base_src_loop):
19848         Make the basesrc report error if the source pad is not linked.
19849
19850         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
19851         (gst_queue_loop), (gst_queue_handle_src_query),
19852         (gst_queue_src_activate_push):
19853         Make queue collect data even if the srcpad is not linked.
19854         Start pushing out data as soon as it is linked.
19855
19856         * gst/gstutils.c: (gst_element_unlink), (gst_flow_get_name):
19857         * gst/gstutils.h:
19858         Added gst_flow_get_name() to ease error reporting.
19859
19860 2005-07-20  Wim Taymans  <wim@fluendo.com>
19861
19862         * gst/gstmessage.c: (gst_message_new_segment_start),
19863         (gst_message_new_segment_done), (gst_message_parse_segment_start),
19864         (gst_message_parse_segment_done):
19865         * gst/gstmessage.h:
19866         Added a bunch of messages for advanced seeking.
19867
19868         * gst/parse/grammar.y:
19869         * libs/gst/control/dparammanager.c: (gst_dpman_set_parent),
19870         (gst_dpman_state_changed):
19871         Fix some new-pad -> pad-added signals
19872
19873 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
19874
19875         * docs/manual/appendix-porting.xml:
19876         * docs/pwg/appendix-porting.xml:
19877           Document new-pad/state-change signal renames and the FixedList
19878           type rename.
19879
19880 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
19881
19882         * docs/manual/advanced-autoplugging.xml:
19883         * docs/manual/basics-helloworld.xml:
19884         * docs/manual/basics-pads.xml:
19885         * docs/random/ds/0.9-suggested-changes:
19886         * gst/gstelement.c: (gst_element_class_init), (gst_element_seek):
19887         * gst/gstelement.h:
19888         * gst/gstevent.h:
19889         * gst/gstformat.h:
19890         * gst/gstquery.h:
19891         * gst/gststructure.c: (gst_structure_value_get_generic_type),
19892         (gst_structure_parse_array), (gst_structure_parse_value):
19893         * gst/gstvalue.c: (gst_type_is_fixed),
19894         (gst_value_list_prepend_value), (gst_value_list_append_value),
19895         (gst_value_list_get_size), (gst_value_list_get_value),
19896         (gst_value_transform_array_string), (gst_value_serialize_array),
19897         (gst_value_deserialize_array), (gst_value_intersect_array),
19898         (gst_value_is_fixed), (_gst_value_initialize):
19899         * gst/gstvalue.h:
19900           GstElement::new-pad -> pad-added, GstElement::state-change ->
19901           state-changed, GstValueFixedList -> GstValueArray, add format and
19902           flags as their own arguments in gst_element_seek() (should improve
19903           "bindeability"), remove function generators since they don't work
19904           under a whole bunch of compilers (they were deprecated already
19905           anyway).
19906
19907 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
19908
19909         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
19910         (_gst_debug_register_funcptr):
19911         * gst/gstinfo.h:
19912           Fix illegal cast on some platforms (#309253).
19913
19914 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
19915
19916         * gst/gstmessage.c: (gst_message_new_custom):
19917         * gst/gstmessage.h:
19918           Add _new_custom, make _new_application a macro to _new_custom.
19919
19920 2005-07-20  Wim Taymans  <wim@fluendo.com>
19921
19922         * gst/base/gstbasesrc.c: (gst_base_src_init),
19923         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
19924         * gst/base/gstbasesrc.h:
19925         Add a gboolean to decide when to push out a discont.
19926
19927         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
19928         (gst_queue_loop), (gst_queue_handle_src_query),
19929         (gst_queue_sink_activate_push), (gst_queue_src_activate_push),
19930         (gst_queue_set_property), (gst_queue_get_property):
19931         Some cleanups.
19932
19933         * tests/threadstate/threadstate1.c: (main):
19934         Make a thread test compile and run... very silly..
19935
19936
19937 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
19938
19939         * docs/manual/appendix-porting.xml:
19940           Mention removal of libgstgconf-0.9.la and existence of gconf
19941           elements.
19942
19943 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
19944
19945         * docs/pwg/advanced-clock.xml:
19946         * docs/pwg/appendix-porting.xml:
19947         * docs/pwg/intro-preface.xml:
19948         * docs/pwg/other-base.xml:
19949         * docs/pwg/other-manager.xml:
19950         * docs/pwg/other-nton.xml:
19951         * docs/pwg/other-ntoone.xml:
19952         * docs/pwg/other-oneton.xml:
19953         * docs/pwg/pwg.xml:
19954           Document base classes, update sections of n-to-1 and 1-to-n (muxer,
19955           demuxer), remove n-to-n (was never written), fix some code examples
19956           and links and update the porting section to include all this.
19957
19958 2005-07-19  Wim Taymans  <wim@fluendo.com>
19959
19960         * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_sink_event),
19961         (gst_queue_chain), (gst_queue_loop), (gst_queue_handle_src_event),
19962         (gst_queue_handle_src_query), (gst_queue_sink_activate_push),
19963         (gst_queue_src_activate_push), (gst_queue_change_state),
19964         (gst_queue_get_property):
19965         * gst/gstqueue.h:
19966         Propagate GstFlowReturn more intelligently upstream and output
19967         an ERROR/EOS when streaming stopped due to fatal error.
19968
19969 2005-07-19  Wim Taymans  <wim@fluendo.com>
19970
19971         * tools/gst-launch.c: (check_intr), (event_loop), (main):
19972         Don't block forever for the state change to complete, the
19973         pipeline already did with a sensible timeout.
19974
19975 2005-07-19  Wim Taymans  <wim@fluendo.com>
19976
19977         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
19978         Make sure we never call the create function is we
19979         got deactivated.
19980
19981 2005-07-19  Andy Wingo  <wingo@pobox.com>
19982
19983         * gst/parse/parse.l: Attempt to solve bug #172815.
19984
19985 2005-07-19  Wim Taymans  <wim@fluendo.com>
19986
19987         * docs/design/part-clocks.txt:
19988         * docs/design/part-events.txt:
19989         * gst/base/gstbasesrc.c: (gst_base_src_do_seek):
19990         Small docs updates.
19991         Only update the seeking values when we are not
19992         busy streaming.
19993
19994 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
19995
19996         * gst/base/gstbasesrc.c: (gst_base_src_loop):
19997           Oops, ignore the result of gst_pad_push_event here.
19998
19999 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
20000
20001         * gst/base/gstbasesrc.c: (gst_base_src_loop),
20002         (gst_base_src_activate_push):
20003           Send discont event from the loop function, as pads
20004           aren't activated yet in the activate_push handler.
20005
20006         * gst/gstbin.c: (bin_bus_handler):
20007           Don't leak element name.
20008
20009 2005-07-18  Andy Wingo  <wingo@pobox.com>
20010
20011         * configure.ac: Use AS_LIBTOOL_TAGS.
20012
20013 2005-07-18  Wim Taymans  <wim@fluendo.com>
20014
20015         * docs/gst/gstreamer.types:
20016         Remove deleted types.
20017
20018 2005-07-18  Wim Taymans  <wim@fluendo.com>
20019
20020         * check/elements/gstfakesrc.c: (GST_START_TEST):
20021         * configure.ac:
20022         * gst/Makefile.am:
20023         * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
20024         (init_popt_callback):
20025         * gst/gst.h:
20026         * gst/gst_private.h:
20027         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_add_func),
20028         (gst_bin_remove_func), (gst_bin_get_state), (gst_bin_change_state):
20029         * gst/gstbin.h:
20030         * gst/gstbus.h:
20031         * gst/gstconfig.h.in:
20032         * gst/gstelement.c: (gst_element_class_init),
20033         (gst_element_set_base_time), (gst_element_get_base_time),
20034         (iterator_fold_with_resync), (gst_element_change_state),
20035         (gst_element_dispose), (gst_element_get_bus):
20036         * gst/gstelement.h:
20037         * gst/gstelementfactory.h:
20038         * gst/gsterror.c: (_gst_core_errors_init):
20039         * gst/gsterror.h:
20040         * gst/gstevent.h:
20041         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
20042         * gst/gstindex.c:
20043         * gst/gstinfo.c: (_gst_debug_init):
20044         * gst/gstmessage.c: (_gst_message_copy):
20045         * gst/gstmessage.h:
20046         * gst/gstminiobject.h:
20047         * gst/gstobject.c:
20048         * gst/gstobject.h:
20049         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
20050         (gst_pad_set_caps), (gst_pad_start_task), (gst_pad_stop_task):
20051         * gst/gstpad.h:
20052         * gst/gstparse.h:
20053         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
20054         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
20055         (gst_pipeline_get_last_stream_time):
20056         * gst/gstpipeline.h:
20057         * gst/gstpluginfeature.h:
20058         * gst/gstquery.h:
20059         * gst/gstscheduler.c:
20060         * gst/gstscheduler.h:
20061         * gst/gststructure.h:
20062         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
20063         (gst_task_finalize), (gst_task_func), (gst_task_create),
20064         (gst_task_set_lock), (gst_task_get_state), (gst_task_start),
20065         (gst_task_stop), (gst_task_pause):
20066         * gst/gsttask.h:
20067         * gst/gsttypefind.h:
20068         * gst/gsttypes.h:
20069         * gst/registries/gstlibxmlregistry.c: (load_feature),
20070         (gst_xml_registry_load), (gst_xml_registry_save_feature):
20071         * gst/registries/gstxmlregistry.c:
20072         (gst_xml_registry_start_element), (gst_xml_registry_save_feature):
20073         * gst/schedulers/threadscheduler.c:
20074         * libs/gst/control/dparammanager.h:
20075         * tools/gst-inspect.c: (print_element_list),
20076         (print_plugin_features), (print_element_features):
20077         * tools/gst-xmlinspect.c: (print_element_list),
20078         (print_plugin_info), (main):
20079         Removed plugable schedulers.
20080         Removed Scheduler/Manager from elements.
20081         Removed gsttypes.h, rearranged includes.
20082         Removed dependency pad<->element, element<>pipeline, and
20083         various others,  fix includes.
20084         implement gst_pad_get_parent() with gst_object_get_parent()
20085         Make GstTask sefcontained.
20086         Fix _get_state() on GstBin, it did not return ASYNC with a 0
20087         timeout.
20088         Fix endless loop in iterator_fold_with_resync.
20089
20090
20091 2005-07-18  Wim Taymans  <wim@fluendo.com>
20092
20093         * gst/Makefile.am:
20094         * gst/gstarch.h:
20095         Remove old file.
20096
20097 2005-07-18  Wim Taymans  <wim@fluendo.com>
20098
20099         * gst/Makefile.am:
20100         No more cothreads.h
20101
20102 2005-07-18  Wim Taymans  <wim@fluendo.com>
20103
20104         * gst/cothreads.c:
20105         * gst/cothreads.h:
20106         Let's remove these.
20107
20108 2005-07-18  Wim Taymans  <wim@fluendo.com>
20109
20110         * docs/design/part-dynamic.txt:
20111         * docs/design/part-events.txt:
20112         * docs/design/part-seeking.txt:
20113         Some more docs in the works.
20114
20115         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
20116         (gst_base_transform_getcaps), (gst_base_transform_configure_caps),
20117         (gst_base_transform_setcaps), (gst_base_transform_get_size),
20118         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
20119         (gst_base_transform_handle_buffer),
20120         (gst_base_transform_sink_activate_push),
20121         (gst_base_transform_src_activate_pull),
20122         (gst_base_transform_set_passthrough),
20123         (gst_base_transform_is_passthrough):
20124         Refcounting fixes.
20125
20126         * gst/gstbus.c: (gst_bus_source_dispatch), (gst_bus_poll):
20127         Cleanups.
20128
20129         * gst/gstevent.c: (gst_event_finalize):
20130         Set SRC to NULL.
20131
20132         * gst/gstutils.c: (gst_element_unlink),
20133         (gst_pad_get_parent_element), (gst_pad_proxy_getcaps),
20134         (gst_pad_proxy_setcaps):
20135         * gst/gstutils.h:
20136         Add _get_parent_element() to get a pads parent as an element.
20137
20138 2005-07-18  Wim Taymans  <wim@fluendo.com>
20139
20140         * check/gst/gstbin.c: (GST_START_TEST):
20141         Remove bogus test.
20142
20143 2005-07-18  Wim Taymans  <wim@fluendo.com>
20144
20145         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
20146         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
20147         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
20148         (gst_base_sink_event), (gst_base_sink_do_sync),
20149         (gst_base_sink_chain), (gst_base_sink_loop),
20150         (gst_base_sink_deactivate), (gst_base_sink_activate_push),
20151         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
20152         Refcounting fixes.
20153         Fix logic for returning ASYNC when not prerolled.
20154
20155 2005-07-18  Wim Taymans  <wim@fluendo.com>
20156
20157         * gst/gstqueue.c: (gst_queue_handle_sink_event):
20158         Fix nasty refcount bug.
20159
20160 2005-07-16 Philippe Khalaf <burger@speedy.org>
20161
20162         * gst/elements/gstfdsrc.c:
20163         * gst/elements/gstfdsrc.h:
20164         * gst/elements/gstelements.c:
20165         * gst/elements/Makefile.am:
20166         Ported fdsrc to 0.9.
20167
20168 2005-07-16  Wim Taymans  <wim@fluendo.com>
20169
20170         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
20171         (gst_base_sink_do_sync):
20172         Fix compile error.
20173
20174 2005-07-16  Wim Taymans  <wim@fluendo.com>
20175
20176         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
20177         (gst_base_sink_event), (gst_base_sink_get_times),
20178         (gst_base_sink_do_sync), (gst_base_sink_change_state):
20179         * gst/base/gstbasesink.h:
20180         Store and use discont values when syncing buffers as described
20181         in design docs.
20182         
20183         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
20184         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start),
20185         (gst_base_src_activate_push):
20186         Push discont event when starting.
20187
20188         * gst/elements/gstidentity.c: (gst_identity_transform):
20189         Small cleanups.
20190
20191         * gst/gstbin.c: (gst_bin_change_state):
20192         Small cleanups in base_time  distribution.
20193
20194         * gst/gstelement.c: (gst_element_set_base_time),
20195         (gst_element_get_base_time), (gst_element_change_state):
20196         * gst/gstelement.h:
20197         Added methods for the base_time of the element.
20198         Some MT fixes.
20199
20200         * gst/gstpipeline.c: (gst_pipeline_send_event),
20201         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
20202         (gst_pipeline_get_last_stream_time):
20203         * gst/gstpipeline.h:
20204         MT fixes.
20205         Handle seeking as described in design doc, remove stream_time
20206         hack.
20207         Cleanups clock and stream_time selection code. Added accessors
20208         for the stream_time.
20209         
20210
20211 2005-07-16  Andy Wingo  <wingo@pobox.com>
20212
20213         * gst/gsterror.c (_gst_core_errors_init): Use the magic word
20214         (#305291).
20215
20216 2005-07-16  Wim Taymans  <wim@fluendo.com>
20217
20218         * check/gst/gstbin.c: (GST_START_TEST):
20219         Make elements silent as the deep_notify refs the
20220         parent, which might make the test fail.
20221
20222         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
20223         Don't hold the lock for too long.
20224
20225 2005-07-16  Tim-Philipp Müller  <tim at centricular dot net>
20226
20227         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
20228           Don't unref the caps we passed to gst_caps_make_writable() after
20229           passing them. gst_caps_make_writable() will do that for us.
20230
20231 2005-07-15  Andy Wingo  <wingo@pobox.com>
20232
20233         * gst/gstcaps.h (gst_caps_is_simple): Removed deprecated macro
20234         (#157311).
20235
20236         * gst/elements/gstidentity.c (marshal_VOID__MINIOBJECT): Write our
20237         own marshalling function for the handoff signal. Properly type the
20238         buffer as a buffer. Fixes some warnings. Should do a more general
20239         solution.
20240         (gst_identity_class_init): Plug into the right marshaller.
20241
20242 2005-07-15  Wim Taymans  <wim@fluendo.com>
20243
20244         * docs/design/part-TODO.txt:
20245         * docs/design/part-clocks.txt:
20246         * docs/design/part-element-sink.txt:
20247         * docs/design/part-events.txt:
20248         * docs/design/part-gstpipeline.txt:
20249         Updated docs, mostly DISCONT related.
20250
20251 2005-07-15  Tim-Philipp Müller  <tim at centricular dot net>
20252
20253         * docs/pwg/building-pads.xml:
20254           s/GST_PAD_LINK_REFUSED/FALSE/ in gst_my_filter_setcaps()
20255
20256 2005-07-15  Andy Wingo  <wingo@pobox.com>
20257
20258         * tools/gst-typefind.c: Update, add copyright block.
20259
20260         * gst/base/gstbasesrc.c (gst_base_src_default_negotiate):
20261         Normalize and truncate caps before fixation.
20262
20263         * gst/gstcaps.h:
20264         * gst/gstcaps.c (gst_caps_truncate): New function, destructively
20265         discards all but the first structure from its argument.
20266
20267 2005-07-15  Wim Taymans  <wim@fluendo.com>
20268
20269         * gst/base/gstbasetransform.c: (gst_base_transform_init),
20270         (gst_base_transform_transform_caps), (gst_base_transform_getcaps),
20271         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
20272         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
20273         (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
20274         (gst_base_transform_chain), (gst_base_transform_change_state),
20275         (gst_base_transform_set_passthrough),
20276         (gst_base_transform_is_passthrough):
20277         * gst/base/gstbasetransform.h:
20278         Make passthrough work using the bufferpools.
20279         Changed API a bit, subclasses have to write into a buffer
20280         provided by the base class.
20281         More debug info in nego functions.
20282         
20283         * gst/elements/gstidentity.c: (gst_identity_init),
20284         (gst_identity_transform):
20285         Port to new base class.
20286
20287 2005-07-15  Wim Taymans  <wim@fluendo.com>
20288
20289         * gst/gstmessage.c: (gst_message_new_state_changed):
20290         * tools/gst-launch.c: (event_loop), (main):
20291         Totally dump messages in -launch with the -m option.
20292         Fix message name for State messages,
20293
20294 2005-07-14  Wim Taymans  <wim@fluendo.com>
20295
20296         * gst/base/gstbasesrc.c: (gst_base_src_loop):
20297         Post error messages on errors.
20298
20299 2005-07-14  Wim Taymans  <wim@fluendo.com>
20300
20301         * gst/gstcaps.c: (gst_caps_do_simplify):
20302         Remove debug info.
20303
20304         * gst/gsterror.h:
20305         Define error for stream stopped.
20306
20307         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
20308         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange):
20309         Do proper return values.
20310
20311         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
20312         (gst_pad_set_caps), (gst_pad_chain), (gst_pad_push),
20313         (gst_pad_get_range):
20314         Better return values.
20315
20316         * gst/gstpad.h:
20317         Reorganise return values, add macro to check for fatal errors.
20318
20319         * gst/gstqueue.c: (gst_queue_chain):
20320         Return proper GstFlowReturn values,
20321
20322 2005-07-14  Thomas Vander Stichele  <thomas at apestaart dot org>
20323
20324         * docs/gst/gstreamer-sections.txt:
20325         * docs/gst/gstreamer.types:
20326         * docs/gst/tmpl/gst.sgml:
20327         * docs/gst/tmpl/gstbasesink.sgml:
20328         * docs/gst/tmpl/gstbasesrc.sgml:
20329         * docs/gst/tmpl/gstbasetransform.sgml:
20330         * docs/gst/tmpl/gstbin.sgml:
20331         * docs/gst/tmpl/gstbuffer.sgml:
20332         * docs/gst/tmpl/gstcaps.sgml:
20333         * docs/gst/tmpl/gstclock.sgml:
20334         * docs/gst/tmpl/gstcompat.sgml:
20335         * docs/gst/tmpl/gstconfig.sgml:
20336         * docs/gst/tmpl/gstelement.sgml:
20337         * docs/gst/tmpl/gstelementdetails.sgml:
20338         * docs/gst/tmpl/gstelementfactory.sgml:
20339         * docs/gst/tmpl/gstenumtypes.sgml:
20340         * docs/gst/tmpl/gsterror.sgml:
20341         * docs/gst/tmpl/gstevent.sgml:
20342         * docs/gst/tmpl/gstfakesink.sgml:
20343         * docs/gst/tmpl/gstfakesrc.sgml:
20344         * docs/gst/tmpl/gstfilesink.sgml:
20345         * docs/gst/tmpl/gstfilesrc.sgml:
20346         * docs/gst/tmpl/gstfilter.sgml:
20347         * docs/gst/tmpl/gstformat.sgml:
20348         * docs/gst/tmpl/gstghostpad.sgml:
20349         * docs/gst/tmpl/gstimplementsinterface.sgml:
20350         * docs/gst/tmpl/gstindex.sgml:
20351         * docs/gst/tmpl/gstindexfactory.sgml:
20352         * docs/gst/tmpl/gstinfo.sgml:
20353         * docs/gst/tmpl/gstiterator.sgml:
20354         * docs/gst/tmpl/gstmacros.sgml:
20355         * docs/gst/tmpl/gstmemchunk.sgml:
20356         * docs/gst/tmpl/gstminiobject.sgml:
20357         * docs/gst/tmpl/gstobject.sgml:
20358         * docs/gst/tmpl/gstpad.sgml:
20359         * docs/gst/tmpl/gstpadtemplate.sgml:
20360         * docs/gst/tmpl/gstparse.sgml:
20361         * docs/gst/tmpl/gstpipeline.sgml:
20362         * docs/gst/tmpl/gstplugin.sgml:
20363         * docs/gst/tmpl/gstpluginfeature.sgml:
20364         * docs/gst/tmpl/gstquery.sgml:
20365         * docs/gst/tmpl/gstqueue.sgml:
20366         * docs/gst/tmpl/gstregistry.sgml:
20367         * docs/gst/tmpl/gstregistrypool.sgml:
20368         * docs/gst/tmpl/gstscheduler.sgml:
20369         * docs/gst/tmpl/gstschedulerfactory.sgml:
20370         * docs/gst/tmpl/gststructure.sgml:
20371         * docs/gst/tmpl/gstsystemclock.sgml:
20372         * docs/gst/tmpl/gsttaglist.sgml:
20373         * docs/gst/tmpl/gsttagsetter.sgml:
20374         * docs/gst/tmpl/gsttrace.sgml:
20375         * docs/gst/tmpl/gsttrashstack.sgml:
20376         * docs/gst/tmpl/gsttypefind.sgml:
20377         * docs/gst/tmpl/gsttypefindfactory.sgml:
20378         * docs/gst/tmpl/gsttypes.sgml:
20379         * docs/gst/tmpl/gsturihandler.sgml:
20380         * docs/gst/tmpl/gsturitype.sgml:
20381         * docs/gst/tmpl/gstutils.sgml:
20382         * docs/gst/tmpl/gstvalue.sgml:
20383         * docs/gst/tmpl/gstversion.sgml:
20384         * docs/gst/tmpl/gstxml.sgml:
20385         * docs/libs/tmpl/gstcontrol.sgml:
20386         * docs/libs/tmpl/gstdataprotocol.sgml:
20387         * docs/libs/tmpl/gstdparam.sgml:
20388         * docs/libs/tmpl/gstdplinint.sgml:
20389         * docs/libs/tmpl/gstdpman.sgml:
20390         * docs/libs/tmpl/gstdpsmooth.sgml:
20391         * docs/libs/tmpl/gstgetbits.sgml:
20392         * docs/libs/tmpl/gstunitconvert.sgml:
20393         * gst/base/gstpushsrc.c: (gst_push_src_get_type),
20394         (gst_push_src_base_init), (gst_push_src_class_init),
20395         (gst_push_src_init), (gst_push_src_create):
20396         * gst/base/gstpushsrc.h:
20397         * gst/elements/gstelements.c:
20398         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type),
20399         (gst_fake_sink_base_init), (gst_fake_sink_class_init),
20400         (gst_fake_sink_init), (gst_fake_sink_set_property),
20401         (gst_fake_sink_get_property), (gst_fake_sink_get_times),
20402         (gst_fake_sink_event), (gst_fake_sink_preroll),
20403         (gst_fake_sink_render), (gst_fake_sink_change_state):
20404         * gst/elements/gstfakesink.h:
20405         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
20406         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
20407         (gst_fake_src_base_init), (gst_fake_src_class_init),
20408         (gst_fake_src_init), (gst_fake_src_event_handler),
20409         (gst_fake_src_alloc_parent), (gst_fake_src_set_property),
20410         (gst_fake_src_get_property), (gst_fake_src_prepare_buffer),
20411         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size),
20412         (gst_fake_src_create_buffer), (gst_fake_src_create),
20413         (gst_fake_src_start), (gst_fake_src_stop):
20414         * gst/elements/gstfakesrc.h:
20415         * gst/elements/gstfilesink.c: (_do_init),
20416         (gst_file_sink_base_init), (gst_file_sink_class_init),
20417         (gst_file_sink_init), (gst_file_sink_dispose),
20418         (gst_file_sink_set_location), (gst_file_sink_set_property),
20419         (gst_file_sink_get_property), (gst_file_sink_open_file),
20420         (gst_file_sink_close_file), (gst_file_sink_query),
20421         (gst_file_sink_event), (gst_file_sink_render),
20422         (gst_file_sink_change_state), (gst_file_sink_uri_get_type),
20423         (gst_file_sink_uri_get_protocols), (gst_file_sink_uri_get_uri),
20424         (gst_file_sink_uri_set_uri), (gst_file_sink_uri_handler_init):
20425         * gst/elements/gstfilesink.h:
20426         * gst/elements/gstfilesrc.c: (_do_init), (gst_file_src_base_init),
20427         (gst_file_src_class_init), (gst_file_src_init),
20428         (gst_file_src_finalize), (gst_file_src_set_location),
20429         (gst_file_src_set_property), (gst_file_src_get_property),
20430         (gst_file_src_map_region), (gst_file_src_map_small_region),
20431         (gst_file_src_create_mmap), (gst_file_src_create_read),
20432         (gst_file_src_create), (gst_file_src_is_seekable),
20433         (gst_file_src_get_size), (gst_file_src_start), (gst_file_src_stop),
20434         (gst_file_src_uri_get_type), (gst_file_src_uri_get_protocols),
20435         (gst_file_src_uri_get_uri), (gst_file_src_uri_set_uri),
20436         (gst_file_src_uri_handler_init):
20437         * gst/elements/gstfilesrc.h:
20438           more autistic cleanliness in functions/names/defines
20439
20440 2005-07-13  Andy Wingo  <wingo@pobox.com>
20441
20442         * gst/base/gstbasesrc.c (gst_base_src_start): Post an error if the
20443         source couldn't negotiate.
20444
20445         * gst/parse/grammar.y: Revert 1.54->1.55, so we now do filtered
20446         connections again.
20447
20448         * gst/gstutils.h:
20449         * gst/gstutils.c (gst_element_link_pads_filtered): New old
20450         function. I am channeling Hades. Put your boots on suckers!!!
20451
20452 2005-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
20453
20454         * testsuite/caps/Makefile.am:
20455         * testsuite/caps/value_compare.c:
20456         * testsuite/caps/value_intersect.c:
20457         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
20458           move two testsuite apps over to the check dir
20459
20460 2005-07-12  Wim Taymans  <wim@fluendo.com>
20461
20462         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
20463         Added more debug info in the negotiate process.
20464
20465         * gst/gstmessage.h:
20466         Prepare for segment playback.
20467
20468         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps):
20469         Better debugging.
20470
20471         * gst/gstutils.c:
20472         Some more docs.
20473
20474         * tools/gst-launch.c: (main):
20475         NULL pipeline on errors.
20476
20477 2005-07-12  Andy Wingo  <wingo@pobox.com>
20478
20479         * gst/gstbuffer.c (_gst_buffer_copy): Copy the buffer whether or
20480         not it comes from a malloc region. Make sure our copy gets freed.
20481
20482 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
20483
20484         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
20485         * check/gst/gstmessage.c: (GST_START_TEST):
20486         * check/gst/gststructure.c: (GST_START_TEST),
20487         (gst_structure_suite), (main):
20488           more testing
20489         * gst/gstelement.c: (gst_element_message_full):
20490           clean up GError and debug string now that they get copied
20491         * gst/gstmessage.c: (gst_message_new_error),
20492         (gst_message_new_warning), (gst_message_parse_error),
20493         (gst_message_parse_warning):
20494           use GST_TYPE_G_ERROR for structure_new, and take copies of
20495           arguments, so that we don't mess up refcounting
20496
20497 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
20498
20499         * check/Makefile.am:
20500           add per-test valgrind targets
20501         * check/gst-libs/gdp.c: (GST_START_TEST),
20502         (gst_data_protocol_suite), (main):
20503           clean up
20504
20505 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
20506
20507         * check/Makefile.am:
20508           instate more valgrindable tests
20509         * check/elements/gstfakesrc.c: (chain_func), (event_func),
20510         (GST_START_TEST), (fakesrc_suite):
20511         * check/gst/gstpad.c: (GST_START_TEST):
20512         * check/gst/gststructure.c: (GST_START_TEST):
20513           fix test leaks
20514         * docs/gst/tmpl/gstminiobject.sgml:
20515         * gst/gstpad.c: (gst_pad_finalize):
20516           fix the static mutex leak
20517
20518 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
20519
20520         * check/Makefile.am:
20521           add two more tests for valgrinding
20522         * check/gst/gstvalue.c: (GST_START_TEST):
20523           test refcount of deserialized buffer, found a leak
20524         * docs/gst/gstreamer-docs.sgml:
20525         * docs/gst/gstreamer-sections.txt:
20526         * docs/gst/gstreamer.types:
20527         * docs/gst/tmpl/gstminiobject.sgml:
20528           add miniobject to docs
20529         * gst/gstminiobject.c:
20530           add some docs
20531         * gst/gstvalue.c: (gst_value_deserialize_buffer),
20532         (gst_string_unwrap):
20533           fix a hard-to-find invalid write for one of the tests
20534           fix a leak for deserialized buffers
20535
20536 2005-07-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
20537
20538         * docs/pwg/advanced-events.xml:
20539         * docs/pwg/advanced-request.xml:
20540         * docs/pwg/advanced-scheduling.xml:
20541         * docs/pwg/appendix-porting.xml:
20542         * docs/pwg/building-boiler.xml:
20543         * docs/pwg/intro-preface.xml:
20544         * docs/pwg/other-ntoone.xml:
20545           Rewrite scheduling-chapter for scheduling model in 0.9. Add lots
20546           of example code and explanation for pad activation, loop() and
20547           getrange() functions and a bit more. Remove old comments pointing
20548           to loop-functions.
20549         * examples/pwg/Makefile.am:
20550           Add loop/getrange examples.
20551
20552 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
20553
20554         * configure.ac:
20555           check for valgrind binary + some fixes
20556         * check/gst.supp:
20557           valgrind suppressions for the tests
20558         * check/Makefile.am:
20559           add a valgrind: target that valgrinds the unit tests
20560         * check/gst/gst.c: (GST_START_TEST), (gst_suite):
20561         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
20562         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
20563         * check/gst/gstghostpad.c:
20564           added some cleanup
20565         * check/gst/gstdata.c:
20566           removed
20567         * check/gst/gstminiobject.c: (GST_START_TEST), (thread_ref),
20568         (thread_unref), (gst_mini_object_suite), (main):
20569           added
20570         * gst/gst.c: (gst_deinit):
20571         * gst/gst.h:
20572           add a method to clean up.
20573         * gst/gstsystemclock.c: (gst_system_clock_dispose),
20574         (gst_system_clock_obtain):
20575           allow for disposing the system clock.
20576         * tools/gst-launch.c: (main):
20577           deinit
20578
20579 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
20580
20581         * docs/gst/tmpl/gstbasesrc.sgml:
20582         * docs/gst/tmpl/gstfakesrc.sgml:
20583         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
20584         (gst_base_src_init), (gst_base_src_set_property),
20585         (gst_base_src_get_property), (gst_base_src_get_range),
20586         (gst_base_src_start):
20587         * gst/base/gstbasesrc.h:
20588           add num-buffers property
20589         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
20590         (gst_fakesrc_init), (gst_fakesrc_set_property),
20591         (gst_fakesrc_get_property), (gst_fakesrc_create),
20592         (gst_fakesrc_start):
20593           remove num-buffers property
20594
20595 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
20596
20597         * docs/gst/gstreamer-sections.txt:
20598         * docs/gst/tmpl/gstbasesink.sgml:
20599         * docs/gst/tmpl/gstbasesrc.sgml:
20600         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
20601         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
20602         (gst_base_sink_finalize), (gst_base_sink_set_clock),
20603         (gst_base_sink_set_property), (gst_base_sink_get_property),
20604         (gst_base_sink_handle_object), (gst_base_sink_event),
20605         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
20606         (gst_base_sink_handle_buffer), (gst_base_sink_chain),
20607         (gst_base_sink_loop), (gst_base_sink_deactivate),
20608         (gst_base_sink_activate_push), (gst_base_sink_activate_pull),
20609         (gst_base_sink_change_state):
20610         * gst/base/gstbasesink.h:
20611         * gst/base/gstbasesrc.h:
20612         * gst/elements/gstfakesink.c: (gst_fakesink_get_times):
20613         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
20614         (gst_filesink_init):
20615           more macro splitting
20616
20617 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
20618
20619         * gst/gstelement.c: (gst_element_get_bus):
20620           add debug
20621         * tools/gst-launch.c: (check_intr), (event_loop):
20622           fix bus leaks
20623
20624 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
20625
20626         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
20627           fix a caps leak
20628
20629 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
20630
20631         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
20632         (gst_base_src_finalize):
20633           add finalize method and clean up properly
20634         * gst/gstpipeline.c: (gst_pipeline_dispose):
20635           add debug
20636
20637 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
20638
20639         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST),
20640         (gst_bin_suite):
20641           add more things to check
20642         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
20643         * gst/gstelement.c:
20644           more debug
20645
20646 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
20647
20648         * check/elements/gstfakesrc.c: (chain_func), (event_func),
20649         (GST_START_TEST), (fakesrc_suite):
20650         * check/gst-libs/gdp.c: (GST_START_TEST):
20651         * check/gst/gst.c: (GST_START_TEST):
20652         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
20653         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
20654         * check/gst/gstbus.c: (GST_START_TEST):
20655         * check/gst/gstcaps.c: (GST_START_TEST):
20656         * check/gst/gstdata.c: (GST_START_TEST):
20657         * check/gst/gstelement.c: (GST_START_TEST):
20658         * check/gst/gstghostpad.c: (GST_START_TEST):
20659         * check/gst/gstiterator.c: (GST_START_TEST):
20660         * check/gst/gstmessage.c: (GST_START_TEST):
20661         * check/gst/gstobject.c: (GST_START_TEST):
20662         * check/gst/gstpad.c: (GST_START_TEST):
20663         * check/gst/gststructure.c: (GST_START_TEST):
20664         * check/gst/gstsystemclock.c: (GST_START_TEST),
20665         (gst_systemclock_suite):
20666         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
20667         * check/gst/gstvalue.c: (GST_START_TEST):
20668         * check/pipelines/cleanup.c: (GST_START_TEST):
20669         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
20670         * check/states/sinks.c: (GST_START_TEST):
20671         * check/gstcheck.c: (gst_check_init):
20672         * check/gstcheck.h:
20673           add debugging category
20674           use GST_START_TEST now, so we add a debug line
20675
20676 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
20677
20678         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite):
20679           add test for state change message on a bin
20680         * check/gst/gstelement.c: (START_TEST), (gst_element_suite):
20681           add another test
20682         * gst/gstbin.c: (gst_bin_init):
20683         * gst/gstbus.c: (gst_bus_init), (gst_bus_post):
20684         * gst/gstelement.c: (gst_element_post_message),
20685         (gst_element_set_state):
20686         * gst/gstelementfactory.c: (gst_element_factory_create):
20687         * gst/gstmessage.c: (gst_message_new):
20688         * gst/gstscheduler.c:
20689           various debugging additions and cleanups
20690
20691 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
20692
20693         * check/Makefile.am:
20694         * check/gst/gstelement.c: (START_TEST), (gst_element_suite),
20695         (main):
20696           adding tests for elements
20697         * gst/gstelement.c: (gst_element_dispose):
20698
20699 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
20700
20701         * gst/registries/gstlibxmlregistry.c: (load_feature):
20702           plug more leaks.  A simple gst_init() now is leakfree, yay.
20703
20704 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
20705
20706         * gst/registries/gstlibxmlregistry.c: (read_string), (load_paths),
20707         (gst_xml_registry_load):
20708           plug another memleak
20709
20710 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
20711
20712         * configure.ac:
20713           use GST_SET_ERROR_CFLAGS
20714         * docs/faq/cvs.xml:
20715           change to ERROR_CFLAGS
20716
20717 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
20718
20719         * configure.ac:
20720           make GST_ERROR_CFLAGS overridable and re-enable Werror
20721         * docs/faq/cvs.xml:
20722           add a note about error CFLAGS
20723         * docs/gst/tmpl/gstfakesrc.sgml:
20724         * gst/elements/gstfakesrc.c:
20725           comment out some unused code
20726         * gst/gst.c: (split_and_iterate):
20727         * gst/registries/gstlibxmlregistry.c: (load_pad_template),
20728         (load_feature):
20729           plug some memleaks
20730
20731 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
20732
20733         * common/Makefile.am:
20734         * common/gtk-doc.mak:
20735         * docs/gst/Makefile.am:
20736           factor out gtk-doc.mak
20737
20738 2005-07-07  Wim Taymans  <wim@fluendo.com>
20739
20740         * gst/schedulers/threadscheduler.c: (gst_thread_scheduler_func),
20741         (gst_thread_scheduler_dispose):
20742         Unlock the STREAM_LOCK completely.
20743
20744 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
20745
20746         * check/Makefile.am:
20747         * check/elements/.cvsignore:
20748         * check/elements/gstfakesrc.c: (chain_func), (event_func),
20749         (START_TEST), (fakesrc_suite), (main):
20750         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
20751         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
20752         (gst_fakesrc_create), (gst_fakesrc_start):
20753         * gst/elements/gstfakesrc.h:
20754           adding a first element test
20755
20756 2005-07-07  Andy Wingo  <wingo@pobox.com>
20757
20758         * gst/gstbus.c (gst_bus_have_pending): Remove intensely irritating
20759         debug message.
20760
20761 2005-07-07  Wim Taymans  <wim@fluendo.com>
20762
20763         * gst/gstquery.c:
20764         * gst/gstquery.h:
20765         Remove old types
20766
20767 2005-07-07  Wim Taymans  <wim@fluendo.com>
20768
20769         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
20770         (gst_base_src_default_negotiate), (gst_base_src_negotiate):
20771         Allow subclasses to implement their own negotiation.
20772
20773 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
20774
20775         * docs/design/part-gstbin.txt:
20776         * docs/design/part-gstpipeline.txt:
20777           Update design notes to reflect the movement of
20778           responsibility for bus handling from GstPipeline to
20779           GstBin
20780
20781 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
20782
20783         * configure.ac:
20784           Remove unnecessary queue2/3/4 examples.
20785
20786 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
20787
20788         * examples/Makefile.am:
20789         * examples/helloworld/helloworld.c: (event_loop), (main):
20790         * examples/queue/queue.c: (event_loop), (main):
20791         * examples/queue2/queue2.c: (main):
20792           Update a couple of the examples to work again.
20793
20794         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
20795         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_event):
20796          Spelling corrections and extra debug.
20797         
20798         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init), (is_eos),
20799         (gst_bin_add_func), (bin_element_is_sink), (gst_bin_get_state),
20800         (gst_bin_change_state), (gst_bin_dispose), (bin_bus_handler):
20801         * gst/gstbin.h:
20802         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
20803         (gst_pipeline_change_state):
20804         * gst/gstpipeline.h:
20805           Move the bus handler for children to the GstBin, and create a
20806           separate bus for receiving messages from children to the one the
20807           bus sends 'upwards' on.
20808
20809 2005-07-06  Wim Taymans  <wim@fluendo.com>
20810
20811         * gst/base/README:
20812         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
20813         (gst_base_sink_handle_object), (gst_base_sink_loop),
20814         (gst_base_sink_change_state):
20815         * gst/base/gstbasesink.h:
20816         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
20817         (gst_base_src_init), (gst_base_src_setcaps),
20818         (gst_base_src_getcaps), (gst_base_src_loop),
20819         (gst_base_src_default_negotiate), (gst_base_src_negotiate),
20820         (gst_base_src_start), (gst_base_src_change_state):
20821         * gst/base/gstbasesrc.h:
20822         Make basesrc negotiate.
20823         Handle the case where preroll fails in basesink.
20824         Update README.
20825
20826 2005-07-06  Wim Taymans  <wim@fluendo.com>
20827
20828         * gst/gstpad.c: (gst_pad_fixate_caps), (gst_pad_accept_caps):
20829         Implement the fixate function.
20830         Clean up acceptcaps.
20831
20832 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
20833
20834         * docs/pwg/building-filterfactory.xml:
20835         * docs/pwg/pwg.xml:
20836           Remove never-written filter-factory chapter; I'll add the various
20837           base classes to part 4 ("other element types") later on.
20838
20839 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
20840
20841         * docs/pwg/advanced-negotiation.xml:
20842         * docs/pwg/building-boiler.xml:
20843         * docs/pwg/building-pads.xml:
20844         * docs/pwg/pwg.xml:
20845         * examples/pwg/Makefile.am:
20846           Add a chapter on caps negotiation, simplify the original code
20847           samples a bit w.r.t. caps negotiation, add link to the advanced
20848           section. Add a bunch of examples showing different use cases of
20849           different types of caps negotiation. Upstream renegotiation isn't
20850           fully documented yet since nobody knows how that works.
20851
20852 2005-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
20853
20854         * check/gst/gstpad.c:
20855         * check/gstcheck.c:
20856         * gst/gstpad.c: (gst_pad_get_internal_links_default):
20857           if pad has no parent, return NULL as list of internal links
20858
20859 2005-07-05  Andy Wingo  <wingo@pobox.com>
20860
20861         * gst/elements/gstfilesrc.c:
20862         * gst/elements/gstfakesrc.c: 
20863         * gst/base/gstpushsrc.c:
20864         * gst/base/gstbasesrc.h: 
20865         * gst/base/gstbasesrc.c: s/BASESRC/BASE_SRC/g.
20866         
20867 2005-07-05  Stefan Kost  <ensonic@users.sf.net>
20868
20869         * Makefile.am:
20870           better report generation target (lcov needs a patch)
20871
20872 2005-07-05  Andy Wingo  <wingo@pobox.com>
20873
20874         * gst/elements, testsuite: Null if we got it...
20875
20876 2005-07-05  Wim Taymans  <wim@fluendo.com>
20877
20878         * configure.ac:
20879         * libs/gst/dataprotocol/Makefile.am:
20880         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_validate_packet):
20881         * libs/gst/dataprotocol/dataprotocol.h:
20882         * pkgconfig/Makefile.am:
20883         * pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in:
20884         * pkgconfig/gstreamer-dataprotocol.pc.in:
20885         Ported dataprotol to 0.9. 
20886         Added pkgconfig files.
20887
20888 2005-07-05  Andy Wingo  <wingo@pobox.com>
20889
20890         * gst/base/gstbasetransform.c (gst_base_transform_setcaps):
20891         Default to returning TRUE for the case when tranform_caps returns
20892         a fixed caps, like for identity or volume.
20893
20894         * check/gst/gstbus.c (pound_bus_with_messages): 
20895         * check/gst/gstmessage.c (START_TEST): 
20896         * check/pipelines/simple_launch_lines.c (got_handoff): Application
20897         message API change.
20898
20899         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): More
20900         logic weaks here: always run transform_caps, trying passthrough
20901         operation only if the original caps intersects with the transform.
20902
20903         * gst/gstpad.c (gst_pad_link_check_compatible_unlocked): Debug
20904         source and sink caps.
20905
20906         * gst/base/gstbasetransform.c (gst_base_transform_getcaps):
20907         Intersect the peer caps with the pad template before going into
20908         transform_caps.
20909         (gst_base_transform_transform_caps): More debugging.
20910
20911         * gst/gstmessage.h (gst_message_new_application): Take a GstObject
20912         src argument.
20913
20914 2005-07-04  Edward Hervey  <edward@fluendo.com>
20915
20916         * gst/gstutils.c:
20917         * gst/gstutils.h:
20918         (gst_pad_add_*_probe): now returns the signal id for better wrapping
20919         in bindings.
20920
20921 2005-07-04  Andy Wingo  <wingo@pobox.com>
20922
20923         * check/gst/gstpad.c: Only set explicit caps on pads.
20924
20925 2005-07-01  Andy Wingo  <wingo@pobox.com>
20926
20927         * tests/network-clock.scm: Commentary update.
20928
20929         * gst/elements/gstidentity.c (PROP_DUPLICATE): Gone daddy gone.
20930         Didn't really make sense, not implementable with basetransform,
20931         etc.
20932         (gst_identity_transform): Unref inbuf via make_writable. Feeble
20933         attempt at implementing the sync property, needs an unlock method.
20934
20935         * gst/base/gstbasetransform.c (gst_base_transform_transform_caps):
20936         New func, by default returns the same caps (the identity
20937         transformation).
20938         (gst_base_transform_getcaps): Uses transform_caps to return
20939         something sensible.
20940         (gst_base_transform_setcaps): Complicated logic to get caps on
20941         both pads, even if they are different, and to call set_caps once
20942         for every time both pads get their caps set.
20943         (gst_base_transform_handle_buffer): Give the ref to the transform
20944         function. Allows in-place modification of the buffer.
20945
20946         * gst/base/gstbasetransform.h (transform_caps): New class method.
20947         Given caps on one side, what can I do on the other.
20948         (set_caps): Take two caps, one for each side of the element.
20949
20950         * gst/gstpad.h:
20951         * gst/gstpad.c (gst_pad_fixate_caps): Change prototype to modify
20952         caps in place. This is safe because we can check the mutability of
20953         the caps, and a good idea because fixate functions are just called
20954         as a matter of last resort. (Not actually implemented.)
20955         (gst_pad_set_caps): If the caps we're setting is actually the same
20956         as the existing pad caps, just update the pointer without calling
20957         setcaps. Assert that caps is either NULL or fixed, as per the
20958         docs.
20959
20960         * gst/gstghostpad.c: Update for fixate changes.
20961
20962 2005-07-02  Andy Wingo  <wingo@pobox.com>
20963
20964         * gst/gstcaps.c:
20965         * gst/gstcaps.h (gst_static_caps_get): Not const return, having
20966         two refcounts makes it immutable, which is enough. Doc more.
20967
20968 2005-07-02  Jan Schmidt  <thaytan@mad.scientist.com>
20969
20970         * gst/gstpad.c: (gst_pad_emit_have_data_signal):
20971           Put the mini_object into GValue as a mini_object,
20972           not a gpointer, since that's how we declared
20973           the signal.
20974
20975 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
20976
20977         * examples/pwg/Makefile.am:
20978           Fix buildbot again.
20979
20980 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
20981
20982         * docs/pwg/building-testapp.xml:
20983           Add extra check.
20984         * examples/pwg/Makefile.am:
20985           Fix buildbot.
20986
20987 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
20988
20989         * configure.ac:
20990         * examples/Makefile.am:
20991         * examples/pwg/Makefile.am:
20992         * examples/pwg/extract.pl:
20993           Enable building the PWG examples.
20994         * docs/pwg/advanced-interfaces.xml:
20995           Add URI interface stub.
20996         * docs/pwg/advanced-types.xml:
20997         * docs/pwg/other-autoplugger.xml:
20998         * docs/pwg/appendix-porting.xml:
20999         * docs/pwg/pwg.xml:
21000           Add porting guide (mostly stubs), remove autoplugging (see ADM).
21001         * docs/pwg/building-boiler.xml:
21002         * docs/pwg/building-chainfn.xml:
21003         * docs/pwg/building-pads.xml:
21004         * docs/pwg/building-props.xml:
21005         * docs/pwg/building-state.xml:
21006         * docs/pwg/building-testapp.xml:
21007           Update the building-*.xml parts for 0.9 changes. All examples
21008           code blocks compile in examples/pwg/*.
21009
21010 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
21011
21012         * docs/manual/advanced-autoplugging.xml:
21013         * docs/manual/appendix-checklist.xml:
21014         * docs/manual/appendix-integration.xml:
21015         * docs/manual/highlevel-components.xml:
21016           Fix playbin/decodebin examples, update docs a bit, mention bus
21017           instead of signals in various places, mention kmplayer and
21018           kaffeine since they have a working GStreamer backend in the KDE
21019           section.
21020
21021 2005-06-30  Wim Taymans  <wim@fluendo.com>
21022
21023         * CHANGES-0.9:
21024         * docs/design/draft-ghostpads.txt:
21025         * docs/design/draft-push-pull.txt:
21026         * docs/design/draft-query.txt:
21027         * docs/design/part-TODO.txt:
21028         * docs/design/part-query.txt:
21029         Added CHANGES-0.9 doc, updated status of other docs.
21030         
21031         * gst/gstquery.h:
21032         Remove "hmm" macro
21033
21034 2005-06-30  Wim Taymans  <wim@fluendo.com>
21035
21036         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
21037         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
21038         (gst_base_sink_change_state):
21039         * gst/base/gstbasesink.h:
21040         Some tweaks, only EOS and a buffer complete a preroll.
21041
21042 2005-06-30  Andy Wingo  <wingo@pobox.com>
21043
21044         * gst/gstghostpad.c (gst_ghost_pad_do_activate_push): Proxy
21045         activate_push down to the internal pad as well.
21046
21047 2005-06-30  Torsten Schoenfeld  <kaffeetisch@gmx.de>
21048
21049         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
21050
21051         * gst/gsttaginterface.c:
21052           Some documentation fixes (#307394 and #307397).
21053
21054 2005-06-30  Antoine Tremblay  <hexa00@gmail.com>
21055
21056         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
21057
21058         * gst/gstvalue.c: (gst_value_intersect_list):
21059           Fix memleak (#309125).
21060
21061 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
21062
21063         * docs/manual/advanced-dataaccess.xml:
21064           Fix fakesrc example to compile; doesn't work, bug somewhere...?
21065         * docs/manual/basics-pads.xml:
21066           Add reference for filtered caps to above chapter.
21067
21068 2005-06-30  Wim Taymans  <wim@fluendo.com>
21069
21070         * gst/gstbin.c: (clear_queue), (remove_all_from_queue),
21071         (gst_bin_change_state):
21072         Probes are gone.
21073         Lame attempt at making the state change function a bit
21074         more readable.
21075
21076 2005-06-30  Wim Taymans  <wim@fluendo.com>
21077
21078         * docs/design/part-clocks.txt:
21079         * docs/design/part-element-sink.txt:
21080         * docs/design/part-events.txt:
21081         * docs/design/part-preroll.txt:
21082         * docs/design/part-states.txt:
21083         Some more tweeks and additions to the docs.
21084
21085 2005-06-30  Wim Taymans  <wim@fluendo.com>
21086
21087         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
21088         (default_have_data), (gst_pad_class_init), (gst_pad_init),
21089         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
21090         (gst_pad_check_pull_range), (gst_pad_get_range),
21091         (gst_pad_pull_range), (gst_pad_push_event), (gst_pad_send_event):
21092         * gst/gstpad.h:
21093         * gst/gstutils.c: (gst_atomic_int_set), (gst_pad_add_data_probe),
21094         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
21095         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
21096         (gst_pad_remove_buffer_probe):
21097         Removed atomic operations, use existing LOCK.
21098         Move exception handling out of main code path.
21099
21100 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
21101
21102         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
21103         (silly_return_true_function), (gst_pad_class_init),
21104         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
21105         (gst_pad_get_range), (gst_pad_pull_range), (gst_pad_push_event),
21106         (gst_pad_send_event):
21107           Fix accumulator, add default value by using _emitv() instead
21108           of _emit() for signal emission.
21109
21110 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
21111
21112         * docs/manual/advanced-dataaccess.xml:
21113         * examples/manual/Makefile.am:
21114           Add probe example.
21115         * gst/gstpad.c: (_gst_do_pass_data_accumulator):
21116           Make work (??).
21117
21118 2005-06-29  Tim-Philipp Müller  <tim at centricular dot net>
21119
21120         * gst/elements/gstfilesink.c: (gst_filesink_render):
21121           Simplify code so that we don't have to handle short
21122           writes and return GST_FLOW_ERROR if an error occured.
21123
21124 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
21125
21126         * docs/gst/gstreamer-docs.sgml:
21127           Remove probes more.
21128
21129 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
21130
21131         * docs/gst/gstreamer-sections.txt:
21132         * docs/gst/tmpl/gstpad.sgml:
21133         * docs/gst/tmpl/gstprobe.sgml:
21134         * gst/Makefile.am:
21135         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
21136         (gst_pad_class_init), (gst_pad_init), (gst_pad_chain),
21137         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
21138         (gst_pad_push_event), (gst_pad_send_event):
21139         * gst/gstpad.h:
21140         * gst/gstutils.c: (gst_pad_add_data_probe),
21141         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
21142         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
21143         (gst_pad_remove_buffer_probe):
21144         * gst/gstutils.h:
21145           Remove old probes, add new g-signal-based probes and some utility
21146           functions.
21147
21148 2005-06-29  Edward Hervey  <edward@fluendo.com>
21149
21150         * gst/gstelementfactory.c:
21151         * gst/gstutils.h:
21152         * gst/gstutils.c:
21153         Moved gst_element_factory_can_[sink|src]_caps() to gstutils and added
21154         the definition to the header file.
21155
21156 2005-06-29  Andy Wingo  <wingo@pobox.com>
21157
21158         * docs/gst/Makefile.am (scan-build.stamp): Totally only check
21159         plugins from the source directory.
21160
21161 2005-06-29  Wim Taymans  <wim@fluendo.com>
21162
21163         * docs/gst/tmpl/gstbuffer.sgml:
21164         * docs/gst/tmpl/gstclock.sgml:
21165         Some fixings for blantently wrong text.
21166
21167 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
21168
21169         * check/Makefile.am:
21170         * gst/gst.c: (add_path_func), (init_pre):
21171         * gst/gstregistry.c: (gst_registry_add_path):
21172           add A GST_PLUGIN_PATH_ONLY env var; if it is set, it will
21173           only scan the GST_PLUGIN_PATH locations, and not add
21174           system locations
21175
21176 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
21177
21178         * docs/gst/gstreamer-sections.txt:
21179         * docs/gst/tmpl/gstbasesrc.sgml:
21180         * gst/gstelement.c:
21181         * gst/gstelement.h:
21182         * gst/gstevent.c:
21183         * gst/gstutils.c:
21184           doc fixes
21185
21186 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
21187
21188         * docs/manual/advanced-autoplugging.xml:
21189           Fix autoplugging example.
21190
21191 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
21192
21193         * docs/manual/advanced-autoplugging.xml:
21194         * docs/manual/mime-world.fig:
21195           Try to get autoplugging working, fix type detection. Fix text
21196           in hello-world image.
21197
21198 2005-06-29  Wim Taymans  <wim@fluendo.com>
21199
21200         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
21201         (gst_base_sink_change_state):
21202         Small debug line.
21203
21204         * gst/gstclock.h:
21205         map SIGNAL and BROADCAST to the right function.
21206
21207         * gst/gstobject.h:
21208         Remove redundant braces.
21209
21210         * gst/gstpad.c: (gst_pad_set_caps):
21211         Don't call setcaps function when reseting caps to NULL.
21212
21213         * gst/gstsystemclock.c: (gst_system_clock_dispose),
21214         (gst_system_clock_async_thread), (gst_system_clock_id_wait_async),
21215         (gst_system_clock_id_unschedule):
21216         Use BROADCAST as this is what we do.
21217
21218 2005-06-29  Wim Taymans  <wim@fluendo.com>
21219
21220         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
21221         We are actually prerolling before commiting the state
21222         change. 
21223
21224 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
21225
21226         * docs/manual/advanced-clocks.xml:
21227         * docs/manual/advanced-interfaces.xml:
21228         * docs/manual/advanced-metadata.xml:
21229         * docs/manual/advanced-position.xml:
21230         * docs/manual/advanced-schedulers.xml:
21231         * docs/manual/advanced-threads.xml:
21232         * docs/manual/appendix-porting.xml:
21233         * docs/manual/basics-bins.xml:
21234         * docs/manual/basics-bus.xml:
21235         * docs/manual/basics-elements.xml:
21236         * docs/manual/basics-helloworld.xml:
21237         * docs/manual/basics-pads.xml:
21238         * docs/manual/highlevel-components.xml:
21239         * docs/manual/manual.xml:
21240         * docs/manual/thread.fig:
21241           Update (until threads/scheduling) Application Development Manual;
21242           remove GstThread, add GstBus, add simple porting checklist, add
21243           documentation for tag writing, clocks, make all examples until this
21244           part compile and run.
21245         * examples/manual/Makefile.am:
21246           Update from changes to Application Development Manual; add bus
21247           example, remove thread example.
21248
21249 2005-06-28  Wim Taymans  <wim@fluendo.com>
21250
21251         * gst/gstbus.c: (gst_bus_post), (gst_bus_have_pending),
21252         (gst_bus_set_flushing), (gst_bus_pop), (gst_bus_peek),
21253         (gst_bus_source_dispatch):
21254         Add debugging messages.
21255         Make internal methods static.
21256         Handle the case where the bus is flushed in the handler.
21257         
21258         * gst/gstelement.c: (gst_element_get_bus):
21259         Fix refcount in _get_bus();
21260
21261         * gst/gstpipeline.c: (gst_pipeline_change_state),
21262         (gst_pipeline_get_clock_func):
21263         Clock refcounting fixes.
21264         Handle the case where preroll timed out more gracefully.
21265         
21266         * gst/gstsystemclock.c: (gst_system_clock_dispose):
21267         Clean up the internal thread in dispose. This is needed
21268         for subclasses that actually get disposed.
21269         
21270         * gst/schedulers/threadscheduler.c:
21271         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
21272         (gst_thread_scheduler_dispose):
21273         Free thread pool in dispose.
21274
21275 2005-06-28  Andy Wingo  <wingo@pobox.com>
21276
21277         * tests/network-clock-utils.scm (debug, print-event): New utils.
21278
21279         * tests/network-clock.scm (*debug*, *with-graph*): New parameters.
21280         (*packet-loss*): Unified loss probability.
21281         (network-time): Report out-of-band events.
21282
21283         * tests/plot-data: Add support for out-of-band events. Hack it
21284         into this script instead of passing it down the pipe; should fix
21285         this later.
21286
21287 2005-06-28  Wim Taymans  <wim@fluendo.com>
21288
21289         * docs/gst/gstreamer.types:
21290         * docs/gst/tmpl/gstbasesrc.sgml:
21291         * docs/gst/tmpl/gstpad.sgml:
21292         Docs fixes.
21293
21294 2005-06-28  Wim Taymans  <wim@fluendo.com>
21295
21296         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
21297         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_acceptcaps),
21298         (gst_proxy_pad_do_fixatecaps):
21299         Correctly proxy the check_pull_range function.
21300
21301 2005-06-28  Andy Wingo  <wingo@pobox.com>
21302
21303         * tests/network-clock.scm: Removed need for slib.
21304         
21305 2005-06-28  Wim Taymans  <wim@fluendo.com>
21306
21307         * gst/base/gstbasesink.c: (gst_basesink_set_pad_functions),
21308         (gst_basesink_preroll_queue_flush):
21309         * gst/base/gstbasesrc.c: (gst_basesrc_set_dataflow_funcs):
21310         * gst/elements/gsttee.c: (gst_tee_update_pad_functions):
21311         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
21312         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
21313         (gst_proxy_pad_set_property):
21314         * gst/gstpad.c:
21315         * gst/gstpad.h:
21316         * gst/gstqueue.c: (gst_queue_init):
21317         The deprecated pad loop function is removed now.
21318
21319 2005-06-28  Andy Wingo  <wingo@pobox.com>
21320
21321         * tests/network-clock.scm (*timeout*, *send-loss*, *recv-loss*):
21322         New parameters, simulate network packet loss.
21323
21324         * tests/network-clock-utils.scm: Initialize the RNG.
21325
21326 2005-06-28  Wim Taymans  <wim@fluendo.com>
21327
21328         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_flush),
21329         (gst_basesink_event), (gst_basesink_deactivate):
21330         Flushing the preroll queue always needs to unlock the waiters.
21331
21332 2005-06-28  Edward Hervey  <edward@fluendo.com>
21333
21334         * gst/gstpipeline.c: (gst_pipeline_send_event): 
21335         Wheen a seek was successful on a pipeline, set the stream_time to the
21336         seek offset in order to have a synchronized stream_time.
21337
21338 2005-06-28  Wim Taymans  <wim@fluendo.com>
21339
21340         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
21341         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
21342         (gst_proxy_pad_do_getcaps), (gst_proxy_pad_do_acceptcaps),
21343         (gst_proxy_pad_do_fixatecaps):
21344         Call wrapper function instead of just calling the function
21345         pointers. This takes care of any locking and whatmore.
21346
21347 2005-06-28  Wim Taymans  <wim@fluendo.com>
21348
21349         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push),
21350         (gst_pad_pull_range):
21351         * gst/gstpad.h:
21352         CONNECTED -> LINKED.
21353
21354 2005-06-28  Andy Wingo  <wingo@pobox.com>
21355
21356         * *.c: Don't cast to GST_OBJECT when reffing or unreffing. Large
21357         source-munging commit!!!
21358
21359         * gst/gstobject.c (gst_object_unref, gst_object_ref) 
21360         (gst_object_sink): Take gpointer arguments, not GstObject --
21361         avoids casts. Like GLib.
21362
21363         * gst/gstghostpad.c (gst_proxy_pad_do_activate): Don't proxy
21364         activate.
21365
21366 2005-06-27  Andy Wingo  <wingo@pobox.com>
21367
21368         * gst/base/gsttypefindhelper.c (gst_type_find_helper): Unref any
21369         remaining buffer.
21370
21371         * gst/gsttrace.c (gst_alloc_trace_list_sorted): New helper,
21372         returns a sorted copy of the trace list.
21373         (gst_alloc_trace_print_live): New API, only prints traces with
21374         live objects. Sort the list.
21375         (gst_alloc_trace_print_all): Sort the list.
21376         (gst_alloc_trace_print): Align columns.
21377
21378         * gst/elements/gstttypefindelement.c:
21379         * gst/elements/gsttee.c:
21380         * gst/base/gstbasesrc.c:
21381         * gst/base/gstbasesink.c:
21382         * gst/base/gstbasetransform.c:
21383         * gst/gstqueue.c: Adapt for pad activation changes.
21384
21385         * gst/gstpipeline.c (gst_pipeline_init): Unref after parenting
21386         sched.
21387         (gst_pipeline_dispose): Drop ref on sched.
21388
21389         * gst/gstpad.c (gst_pad_init): Set the default activate func.
21390         (gst_pad_activate_default): Push mode by default.
21391         (pre_activate_switch, post_activate_switch): New stubs, things to
21392         do before and after switching activation modes on pads.
21393         (gst_pad_set_active): Take a boolean and not a mode, dispatch to
21394         the pad's activate function to choose which mode to activate.
21395         Shortcut on deactivation and call the right function directly.
21396         (gst_pad_activate_pull): New API, (de)activates a pad in pull
21397         mode.
21398         (gst_pad_activate_push): New API, same for push mode.
21399         (gst_pad_set_activate_function) 
21400         (gst_pad_set_activatepull_function) 
21401         (gst_pad_set_activatepush_function): Setters for new API.
21402
21403         * gst/gstminiobject.c (gst_mini_object_new, gst_mini_object_free):
21404         Trace all miniobjects.
21405         (gst_mini_object_make_writable): Unref the arg if we copy, like
21406         gst_caps_make_writable.
21407
21408         * gst/gstmessage.c (_gst_message_initialize): No trace init.
21409
21410         * gst/gstghostpad.c (gst_proxy_pad_do_activate) 
21411         (gst_proxy_pad_do_activatepull, gst_proxy_pad_do_activatepush):
21412         Adapt for new pad API.
21413
21414         * gst/gstevent.c (_gst_event_initialize): Don't initialize trace.
21415
21416         * gst/gstelement.h:
21417         * gst/gstelement.c (gst_element_iterate_src_pads) 
21418         (gst_element_iterate_sink_pads): New API functions.
21419         
21420         * gst/gstelement.c (iterator_fold_with_resync): New utility,
21421         should fold into gstiterator.c in some form.
21422         (gst_element_pads_activate): Simplified via use of fold and
21423         delegation of decisions to gstpad->activate.
21424
21425         * gst/gstbus.c (gst_bus_source_finalize): Set the bus to NULL,
21426         help in debugging.
21427
21428         * gst/gstbuffer.c (_gst_buffer_initialize): Ref the buffer type
21429         class once in init, like gstmessage. Didn't run into this issue
21430         but it seems correct. Don't initialize a trace, gstminiobject does
21431         that.
21432
21433         * check/pipelines/simple_launch_lines.c (test_stop_from_app): New
21434         test, runs fakesrc ! fakesink, stopping on ::handoff via a message
21435         to the bus.
21436         (assert_live_count): New util function, uses alloc traces to check
21437         cleanup.
21438
21439         * check/gst/gstghostpad.c (test_ghost_pads): More refcount checks.
21440         To be modified when unlink drops the internal pad.
21441
21442 2005-06-27  Wim Taymans  <wim@fluendo.com>
21443
21444         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_iterate_state_order),
21445         (gst_bin_change_state):
21446         Cleanup the get_state() function a little, make sure it
21447         iterates the same set of elements.
21448         Added stub iterate_state_order().
21449
21450 2005-06-27  Thomas Vander Stichele  <thomas at apestaart dot org>
21451
21452         * docs/gst/gstreamer-docs.sgml:
21453         * docs/gst/gstreamer-sections.txt:
21454         * docs/gst/gstreamer.types:
21455         * docs/gst/tmpl/gstbasesink.sgml:
21456         * docs/gst/tmpl/gstbasesrc.sgml:
21457         * docs/gst/tmpl/gstbasetransform.sgml:
21458         * docs/gst/tmpl/gstelement.sgml:
21459         * docs/gst/tmpl/gstiterator.sgml:
21460         * gst/base/gstbasesrc.c:
21461         * gst/base/gstbasesrc.h:
21462         * gst/base/gstbasetransform.h:
21463         * gst/gstelement.c:
21464         * gst/gstiterator.h:
21465           adding basetransform and iterator docs
21466
21467 2005-06-27  Andy Wingo  <wingo@pobox.com>
21468
21469         * docs/design/part-activation.txt: Notes on how activation should
21470         work -- not quite implemented yet.
21471
21472 2005-06-25  Wim Taymans  <wim@fluendo.com>
21473
21474         * gst/gstghostpad.c: (gst_proxy_pad_do_chain):
21475         At least get the chain function correct, needs more
21476         fixing.
21477
21478 2005-06-25  Wim Taymans  <wim@fluendo.com>
21479
21480         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
21481         (gst_basesink_handle_object), (gst_basesink_event),
21482         (gst_basesink_do_sync), (gst_basesink_handle_event),
21483         (gst_basesink_change_state):
21484         * gst/gsttask.h:
21485         Right, two problems here: ghostpads don't take locks and
21486         glib _rec_mutex_lock_full() with depth==0 still locks.
21487         Catch illegal locking and g_warn them.
21488
21489 2005-06-25  Wim Taymans  <wim@fluendo.com>
21490
21491         * check/states/sinks.c: (START_TEST), (gst_object_suite):
21492         Have to check for completion now...
21493
21494 2005-06-25  Wim Taymans  <wim@fluendo.com>
21495
21496         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
21497         (gst_basesink_handle_object), (gst_basesink_event),
21498         (gst_basesink_do_sync), (gst_basesink_handle_event),
21499         (gst_basesink_change_state):
21500         * gst/gstpad.h:
21501         Unlock STREAM_LOCK whatever the recursion was.
21502
21503 2005-06-25  Wim Taymans  <wim@fluendo.com>
21504
21505         * gst/base/gstbasesink.c: (gst_basesink_set_property),
21506         (gst_basesink_preroll_queue_empty),
21507         (gst_basesink_preroll_queue_flush), (gst_basesink_handle_object),
21508         (gst_basesink_event), (gst_basesink_do_sync),
21509         (gst_basesink_handle_event), (gst_basesink_handle_buffer),
21510         (gst_basesink_chain), (gst_basesink_loop), (gst_basesink_activate),
21511         (gst_basesink_change_state):
21512         Reworked the base sink, handle event and buffer serialisation
21513         correctly and removed possible deadlock.
21514         Handle EOS correctly.
21515
21516 2005-06-25  Wim Taymans  <wim@fluendo.com>
21517
21518         * gst/gstpipeline.c: (is_eos), (pipeline_bus_handler),
21519         (gst_pipeline_change_state):
21520         * tools/gst-launch.c: (check_intr), (event_loop), (main):
21521         Allow elements to post EOS in the state change function.
21522         Fix up -launch, make it exit the poll loop when the
21523         pipeline actually changed state.
21524         Fix up warning parsing in -launch.
21525
21526 2005-06-25  Wim Taymans  <wim@fluendo.com>
21527
21528         * gst/elements/gsttee.c: (gst_tee_chain), (gst_tee_loop),
21529         (gst_tee_sink_activate):
21530         Core takes STREAM_LOCK for us now.
21531
21532 2005-06-25  Wim Taymans  <wim@fluendo.com>
21533
21534         * gst/gstelement.c: (gst_element_get_state_func),
21535         (gst_element_set_state):
21536         * gst/gstelement.h:
21537         * gst/gstmessage.c: (gst_message_parse_error),
21538         (gst_message_parse_warning):
21539         Keep track of current target state while performing a state
21540         change so that subclasses can do something interesting.
21541         Fix parsing of warning/error messages when GError is NULL.
21542
21543 2005-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
21544
21545         * docs/gst/Makefile.am:
21546         * docs/gst/gstreamer-docs.sgml:
21547         * docs/gst/gstreamer-sections.txt:
21548         * docs/gst/gstreamer.types:
21549         * docs/gst/tmpl/gstbasesink.sgml:
21550         * docs/gst/tmpl/gstbasesrc.sgml:
21551         * docs/gst/tmpl/gstbin.sgml:
21552         * docs/gst/tmpl/gstcompat.sgml:
21553         * docs/gst/tmpl/gstfakesink.sgml:
21554         * docs/gst/tmpl/gstfakesrc.sgml:
21555         * docs/gst/tmpl/gstfilesink.sgml:
21556         * docs/gst/tmpl/gstfilesrc.sgml:
21557         * docs/gst/tmpl/gstindex.sgml:
21558         * docs/manual/appendix-quotes.xml:
21559         * gst/base/gstbasesrc.h:
21560         * gst/elements/gstfakesrc.h:
21561         * gst/gstmessage.h:
21562           start pulling in base classes and elements in our docs
21563
21564 2005-06-24  Stefan Kost  <ensonic@users.sf.net>
21565
21566         * docs/gst/Makefile.am:
21567         * docs/libs/Makefile.am:
21568           fixed make distcheck with gtk-doc 1.3
21569
21570 2005-06-23  Wim Taymans  <wim@fluendo.com>
21571
21572         * gst/gstelement.c: (gst_element_get_state_func),
21573         (gst_element_set_state), (gst_element_change_state):
21574         When the state did not change, also report NO_PREROLL
21575         when it matters.
21576
21577 2005-06-23  Wim Taymans  <wim@fluendo.com>
21578
21579         * gst/gstpad.c: (gst_pad_event_default):
21580         * gst/gstqueue.c: (gst_queue_loop):
21581         No unsafe task pausing please.
21582
21583 2005-06-23  Wim Taymans  <wim@fluendo.com>
21584
21585         * gst/schedulers/threadscheduler.c:
21586         (gst_thread_scheduler_task_start),
21587         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_func):
21588         Ref the task before pushing it on the threadpool. This
21589         makes sure that we have a ref when the threadfunction is
21590         actually called.
21591
21592 2005-06-23  Andy Wingo  <wingo@pobox.com>
21593
21594         * gst/base/gstbasesrc.c (gst_basesrc_get_range): Check if the
21595         offset is greater than the file's size.
21596
21597         * gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK) 
21598         (GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass)
21599         * gst/gstobject.c (gst_object_class_init): Make the class lock
21600         recursive. Wim won't let me drop deep_notify. Decodebin works
21601         again, whoopdy doo.
21602
21603         * gst/gstghostpad.c (on_int_notify): Catches notify::caps on the
21604         internal pad, and hacks accordingly. Doesn't do it on the target
21605         pad because we change its caps. Probably catches all cases of
21606         interest tho.
21607         (gst_ghost_pad_set_property): Connect to notify::caps as
21608         appropritate.
21609
21610         * tests/network-clock.scm (plot-simulation): Pipe data to the
21611         elite python skript.
21612
21613         * tests/network-clock-utils.scm (define-parameter): New macro,
21614         defines a parameter that can be set via the command line.
21615         (set-parameter!, parse-parameter-arguments): Command line args
21616         parser.
21617
21618         * tests/plot-data: Simple matplotlib-based plotter, takes input on
21619         stdin.
21620
21621 2005-06-23  Jan Schmidt  <thaytan@mad.scientist.com>
21622
21623         * gst/elements/gsttypefindelement.c:
21624         (gst_type_find_element_handle_event):
21625           Don't restart typefinding on a discont.
21626         * gst/gstelement.c: (gst_element_set_state):
21627           Debug spelling fix.
21628         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_send_event):
21629           Allow changing mode of an active pad.
21630           Debug output fixes.
21631         * gst/registries/gstlibxmlregistry.c: (load_feature):
21632           Don't cast a static pad template to a normal pad template.
21633
21634 2005-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
21635
21636         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
21637         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
21638           remove gst_strtoll completely, since it didn't actually do
21639           anything more than what g_ascii_strtoull already does.
21640           check for range errors when deserializing
21641           do a cast for the unsigned cases; but further fixing needs
21642           a decision on what the interpretation of "(int)" and
21643           deserialization should be for values that fall outside the
21644           type's boundaries (ie, refuse, or interpret as casting)
21645
21646 2005-06-23  Wim Taymans  <wim@fluendo.com>
21647
21648         * check/Makefile.am:
21649         * check/states/sinks.c: (START_TEST), (gst_object_suite), (main):
21650         * docs/design/part-live-source.txt:
21651         * docs/design/part-states.txt:
21652         * gst/base/gstbasesrc.c: (gst_basesrc_init),
21653         (gst_basesrc_set_live), (gst_basesrc_is_live),
21654         (gst_basesrc_get_range), (gst_basesrc_activate),
21655         (gst_basesrc_change_state):
21656         * gst/base/gstbasesrc.h:
21657         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
21658         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
21659         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_change_state):
21660         * gst/gstelement.c: (gst_element_get_state_func),
21661         (gst_element_set_state):
21662         * gst/gstelement.h:
21663         * gst/gsttypes.h:
21664         * tools/gst-launch.c: (event_loop), (main):
21665         Added support for live sources and other elements that
21666         cannot do preroll.
21667         Updated design docs, added live-source design doc.
21668         Implemented live source functionality in basesrc
21669         Fix error condition in _bin_get_state()
21670         Implement live source handling in -launch.
21671         Added check for live sources.
21672         Fixed case in GstBin where elements were changed state
21673         multiple times.
21674
21675
21676 2005-06-23  Andy Wingo  <wingo@pobox.com>
21677
21678         * check/gst/gstpad.c (test_get_allowed_caps, test_refcount): Fix
21679         borken refcounting.
21680
21681         * gst/gstpad.c (gst_pad_set_caps): Remove needless refs,
21682         gst_caps_replace takes care of this for us.
21683
21684         * gst/gstghostpad.c (gst_proxy_pad_do_setcaps): Call the full
21685         gst_pad_set_caps on the target, not just its setcaps() function.
21686
21687         * tests/network-clock.scm: 
21688         * tests/network-clock-utils.scm: A network clock simulator.
21689         Something of an algorithmic testbed before doing something in C.
21690
21691 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
21692
21693         * check/Makefile.am:
21694         * check/gst/capslist.h:
21695           copy over from 0.8, and add two with bitmasks specified with
21696           (int) 0xFF...
21697         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
21698           add test to parse everything from capslist.h
21699         * check/gst/gststructure.c: (START_TEST), (gst_value_suite),
21700         (main):
21701           add test for structure deserialization
21702         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
21703           add tests for deserialization of strings to int types
21704         * gst/gststructure.c: (gst_structure_nth_field_name):
21705         * gst/gststructure.h:
21706           add a way to get the name of a field referenced by index
21707         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
21708           instead of checking if the resulting long long lies between
21709           min and max, we check if the long long would fit into
21710           a number of bytes for the final type.
21711           This fixes cases where a string represents 2^32 - 1, which
21712           when cast to int would be the (valid) -1, but is bigger than
21713           G_MAXINT
21714
21715 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
21716
21717         * gst/parse/grammar.y:
21718           add a log line for type deserialization
21719
21720 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
21721
21722         * check/gst/gstvalue.c: (START_TEST):
21723         * gst/gstvalue.c: (gst_value_deserialize):
21724           return long long, not int, so gint64 deserialization actually
21725           works.  Is there any flag that makes the compiler check this ?
21726           Fixes #308559
21727
21728 2005-06-22  Wim Taymans  <wim@fluendo.com>
21729
21730         * gst/gstbuffer.h:
21731         Added convenience macros for setting buffers in GValue.
21732
21733 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
21734
21735         * check/gst/.cvsignore:
21736         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
21737           add a test deserializing int64, and comment part out because
21738           it fails, yay !
21739
21740 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
21741
21742         * check/Makefile.am:
21743         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite), (main):
21744         * testsuite/Makefile.am:
21745         * testsuite/caps/Makefile.am:
21746         * testsuite/caps/value_serialize.c:
21747         * testsuite/test_gst_init.c:
21748           move a value_serialize test over
21749
21750 2005-06-20  Wim Taymans  <wim@fluendo.com>
21751
21752         * gst/gstpad.c:
21753         Small doc updates.
21754         
21755         * gst/gstvalue.c: (gst_value_compare_buffer),
21756         (gst_value_serialize_buffer), (gst_value_deserialize_buffer),
21757         (gst_value_compare_flags), (gst_value_serialize_flags),
21758         (gst_value_deserialize_flags), (_gst_value_initialize):
21759         Fix serialisation of buffers, they are not boxed types anymore
21760
21761 2005-06-20  Wim Taymans  <wim@fluendo.com>
21762
21763         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
21764         Testcase to show error in buffer-on-caps serialisation.
21765
21766 2005-06-20  Andy Wingo  <wingo@pobox.com>
21767
21768         * docs/random/wingo/porting-plugins-to-0.9: A pitiful document I
21769         will be adding to later.
21770
21771         * gst/gstsystemclock.c (gst_system_clock_init): Unlock the clock
21772         if its socks fill with rocks.
21773         (gst_system_clock_obtain): Set the name on object construction.
21774         Avoid double-checked locking.
21775
21776 2005-06-20  Tim-Philipp Müller  <tim at centricular dot net>
21777
21778         * gst/gsturi.c: (gst_element_make_from_uri):
21779           Fix potential endless loop.
21780
21781 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
21782
21783         * check/Makefile.am:
21784           add gsttag
21785         * check/gst/gsttag.c: (check_tags), (START_TEST), (gst_tag_suite),
21786         (main):
21787           move over from testsuite dir and clean up
21788         * configure.ac:
21789         * gst/gsttag.c:
21790         * testsuite/Makefile.am:
21791         * testsuite/tags/.cvsignore:
21792         * testsuite/tags/Makefile.am:
21793         * testsuite/tags/merge.c:
21794           remove testsuite/tags
21795
21796 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
21797
21798         * docs/gst/gstreamer-sections.txt:
21799         * docs/gst/tmpl/gstenumtypes.sgml:
21800         * win32/gstenumtypes.c:
21801           clean up documentation build a little
21802
21803 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
21804
21805         * check/gstcheck.h:
21806           add macros for checking refcounts on objects and caps
21807         * check/gst/gstpad.c: (START_TEST), (gst_pad_suite):
21808           add some more unit tests
21809         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
21810         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_allowed_caps):
21811           fix leaked refcounts (I hope :)) so unittest works
21812         * gst/gstpad.h:
21813           whitespace removal
21814
21815 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
21816
21817         * configure.ac: back to HEAD
21818
21819 === release 0.9.1 ===
21820
21821 2005-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
21822
21823         * NEWS:
21824         * RELEASE:
21825           updated
21826
21827 2005-06-17  Andy Wingo  <wingo@pobox.com>
21828
21829         * gst/base/gstbasesink.c (gst_basesink_chain): Remove bogus
21830         assert; it's always possible that the pad gets deactivated in
21831         between the checks in gstpad.c and the implementation. Rely on
21832         finish_preroll() to return a FLUSHING or similar instead of on the
21833         assert.
21834         
21835         * gst/base/gstbasesink.c (gst_basesink_event): Only wait for the
21836         clock and post an EOS message if we come out of finish_preroll in
21837         the playing state.
21838
21839 2005-06-16  David Schleef  <ds@schleef.org>
21840
21841         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
21842         (gst_capsfilter_set_property): Allow NULL as possible value
21843         for filter_caps property, indicating GST_CAPS_ANY.
21844
21845 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
21846
21847         * gst/elements/gstfakesrc.c: (gst_fakesrc_create):
21848           fix debug output
21849         * gst/schedulers/Makefile.am:
21850           use libgst prefix
21851         * gstreamer.spec.in:
21852           fix spec for it
21853
21854 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
21855
21856         * gstreamer.spec.in:
21857           clean up
21858
21859 2005-06-08  Andy Wingo  <wingo@pobox.com>
21860
21861         * gst/gstutils.c: RPAD fixes all around.
21862         (gst_element_link_pads): Refcounting fixes.
21863
21864         * tools/gst-inspect.c:
21865         * tools/gst-xmlinspect.c:
21866         * parse/grammar.y:
21867         * gst/base/gsttypefindhelper.c:
21868         * gst/base/gstbasesink.c:
21869         * gst/gstqueue.c: RPAD fixes.
21870
21871         * gst/gstghostpad.h:
21872         * gst/gstghostpad.c: New ghost pad implementation as full proxy
21873         pads. The tricky thing is they provide both source and sink
21874         interfaces, since they proxy the internal pad for the external
21875         pad, and vice versa. Implement with lower-level ProxyPad objects,
21876         with the interior proxy pad as a child of the exterior ghost pad.
21877         Should write a doc on this.
21878         
21879         * gst/gstpad.h: s/RPAD/PAD/, s/RealPad/Pad/.
21880         (gst_pad_set_name, gst_pad_set_parent): Macros removed, use
21881         gst_object API.
21882         
21883         * gst/gstpad.c: Big changes. No more stub base GstPad, now all
21884         pads are real pads. No ghost pads in this file. Not documenting
21885         the myriad s/RPAD/PAD/ and REALIZE fixes.
21886         (gst_pad_class_init): Add properties for "direction" and
21887         "template". Both are construct-only, so they can't change during
21888         the life of the pad. Fixes properly deriving from GstPad.
21889         (gst_pad_custom_new, gst_pad_custom_new_from_template): Gone. For
21890         derived objects, just set properties when creating the objects via
21891         g_object_new.
21892         (gst_pad_get_parent): Implement as a function, return NULL if the
21893         parent is not an element.
21894         (gst_pad_get_real_parent, gst_pad_add_ghost_pad)
21895         (gst_pad_remove_ghost_pad, gst_pad_realize): Removed.
21896         
21897         * gst/gstobject.c (gst_object_class_init): Make name a construct
21898         property. Don't set it in the object init.
21899
21900         * gst/gstelement.c (gst_element_add_pad): Don't allow adding pads
21901         with UNKNOWN direction.
21902         (gst_element_add_ghost_pad): Remove non-orthogonal API. Replace
21903         with gst_element_add_pad (e, gst_ghost_pad_new (name, pad)).
21904         (gst_element_remove_pad): Remove ghost-pad special cases.
21905         (gst_element_pads_activate): Remove rpad cruft.
21906
21907         * gst/gstbin.c (gst_bin_change_state): Use gst_pad_get_parent to
21908         catch the pad's-parent-not-an-element case.
21909
21910         * gst/gst.h: Include gstghostpad.h.
21911
21912         * gst/gst.c (init_post): No more real, ghost pads.
21913
21914         * gst/Makefile.am: Add gstghostpad.[ch].
21915
21916         * check/Makefile.am:
21917         * check/gst/gstbin.c:
21918         * check/gst/gstghostpad.c (test_ghost_pads): Check that linking
21919         into a bin creates ghost pads, and that the refcounts are right.
21920         Partly moved from gstbin.c.
21921
21922 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
21923
21924         * check/gst-libs/.cvsignore:
21925         * check/gst/.cvsignore:
21926         * check/pipelines/.cvsignore:
21927           ignore more
21928         * check/pipelines/cleanup.c: (setup_pipeline), (run_pipeline),
21929         (START_TEST), (cleanup_suite), (main):
21930           add some tests related to cleanup after running pipelines
21931
21932 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
21933
21934         * check/gst/gstbuffer.c: (START_TEST), (gst_test_suite), (main):
21935           add a testsuite for GstBuffer
21936
21937 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
21938
21939         * gst/gstminiobject.h:
21940           add defines for accessing the refcount
21941
21942 2005-06-03  Stefan Kost  <ensonic@users.sf.net>
21943
21944         * Makefile.am: added support for html unit test coverage reports
21945
21946 2005-06-03  Jan Schmidt  <thaytan@mad.scientist.com>
21947
21948         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
21949           Free existing caps if the capsfilter changes. Add a FIXME about
21950           setting those caps on the pads.
21951
21952         * gst/gstutils.c: (gst_element_get_compatible_pad), (ghost_up):
21953           Before adding a ghost pad to a parent bin, check that there isn't
21954           already one for the element on the bin. Prevents infinite recursion
21955           when using decodebin in parse pipelines. Andy says he'll rewrite the
21956           way this works anyway, so ignore the hack.
21957
21958 2005-06-02  Andy Wingo  <wingo@pobox.com>
21959
21960         * gst/elements/gsttypefindelement.c (do_pull_typefind): Query the
21961         file size, pass it on to the type find helper.
21962
21963         * gst/base/gstbasesrc.c (gst_basesrc_do_seek): Set the
21964         segment_start and segment_end properly according to the seek
21965         method. Segment_end is still a bit flaky because offset can be
21966         negative for CUR and END cases, but it takes -1 as an "unset"
21967         value.
21968
21969 2005-06-02  Wim Taymans  <wim@fluendo.com>
21970
21971         * gst/base/gstbasesink.c: (gst_basesink_pad_buffer_alloc),
21972         (gst_base_sink_buffer_alloc), (gst_basesink_preroll_queue_push),
21973         (gst_basesink_activate):
21974         * gst/base/gstbasesink.h:
21975         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
21976         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
21977         (gst_pad_query), (gst_pad_start_task):
21978         * gst/gstpad.h:
21979         * gst/gstqueue.c: (gst_queue_bufferalloc),
21980         (gst_queue_handle_sink_event), (gst_queue_chain):
21981         Bufferalloc: return GstFlowReturn to more accuratly report
21982         why allocation failed.
21983
21984 2005-06-02  Wim Taymans  <wim@fluendo.com>
21985
21986         * gst/gstpipeline.c: (gst_pipeline_send_event):
21987         Take snapshot of state without blocking.
21988
21989 2005-06-02  Wim Taymans  <wim@fluendo.com>
21990
21991         * docs/design/part-TODO.txt:
21992         * docs/design/part-caps.txt:
21993         * docs/design/part-clocks.txt:
21994         * docs/design/part-negotiation.txt:
21995         * docs/design/part-preroll.txt:
21996         Small doc updates 
21997
21998 2005-05-30  Wim Taymans  <wim@fluendo.com>
21999
22000         * gst/elements/gstidentity.c: (gst_identity_event),
22001         (gst_identity_transform), (gst_identity_get_property):
22002         Protect last_message property as it is accessed from
22003         multiple threads.
22004
22005 2005-05-30  Wim Taymans  <wim@fluendo.com>
22006
22007         * gst/gstelement.c: (gst_element_init),
22008         (gst_element_pads_activate), (gst_element_change_state):
22009         Slicker pad activation code.
22010
22011 2005-05-30  Wim Taymans  <wim@fluendo.com>
22012
22013         * gst/Makefile.am:
22014         * gst/gstelement.h:
22015         * gst/gstelementfactory.h:
22016         * gst/gsttypes.h:
22017         Move elementfactory methods to separate .h file.
22018
22019 2005-05-30  Wim Taymans  <wim@fluendo.com>
22020
22021         * docs/design/part-overview.txt:
22022         * gst/gstsystemclock.h:
22023         Small typo fixes, doc updates.
22024
22025 2005-05-30  Wim Taymans  <wim@fluendo.com>
22026
22027         * gst/gst.c: (gst_init_get_popt_table), (init_post),
22028         (init_popt_callback):
22029         Remove cpu-opt flag.
22030
22031 2005-05-30  Wim Taymans  <wim@fluendo.com>
22032
22033         * gst/gstbuffer.c: (gst_subbuffer_finalize),
22034         (gst_buffer_create_sub), (gst_buffer_is_span_fast):
22035         * gst/gstbuffer.h:
22036         Avoid typechecking in places where not needed.
22037         Added accessor for malloc_data.
22038
22039 2005-05-30  Wim Taymans  <wim@fluendo.com>
22040
22041         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_set_active),
22042         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_accept_caps),
22043         (gst_pad_configure_sink), (gst_pad_configure_src),
22044         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_send_event),
22045         (gst_pad_start_task):
22046         Propagate errors from _set_caps() in configure_src/sink
22047         functions instead of returning TRUE.
22048         FLUSH events can travel up and downstream
22049
22050
22051 2005-05-30  Wim Taymans  <wim@fluendo.com>
22052
22053         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
22054         (gst_basesink_activate):
22055         Handle EOS in preroll.
22056
22057 2005-05-30  Wim Taymans  <wim@fluendo.com>
22058
22059         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
22060         (gst_queue_loop), (gst_queue_handle_src_event):
22061         Remove old pieces of code
22062         Flushing the queue in an upstream event is a very bad idea.
22063
22064 2005-05-26  Andy Wingo  <wingo@pobox.com>
22065
22066         * gst/gstminiobject.c (gst_value_mini_object_collect): Use
22067         gst_value_set_mini_object so as to add a ref on the object (which
22068         will be removed when the value is unset).
22069
22070         * gst/elements/gstfakesink.c (gst_fakesink_class_init): Fix signal
22071         arg type in ::handoff.
22072
22073         * gst/gstelement.c (gst_element_change_state): Also deactivate
22074         pads in READY->NULL, just in case the element didn't make it to
22075         PAUSED. Wingo tested, Wim approved.
22076
22077 2005-05-26  Wim Taymans  <wim@fluendo.com>
22078
22079         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
22080         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
22081         (gst_pad_query), (gst_pad_send_event), (gst_pad_start_task):
22082         A flushing pad cannot be used to alloc_buffer from.
22083
22084 2005-05-26  Wim Taymans  <wim@fluendo.com>
22085
22086         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
22087         (gst_bus_pop), (gst_bus_source_prepare), (gst_bus_source_check),
22088         (gst_bus_source_dispatch), (gst_bus_source_finalize),
22089         (gst_bus_create_watch), (gst_bus_add_watch_full):
22090         * gst/gstbus.h:
22091         Implement a real GSource and use g_main_context_wakeup() to
22092         signal new messages instead of the socketpair.
22093
22094 2005-05-25  Wim Taymans  <wim@fluendo.com>
22095
22096         * gst/gstbin.c: (bin_element_is_sink), (has_ancestor),
22097         (bin_element_is_semi_sink), (append_child), (gst_bin_change_state):
22098         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
22099         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
22100         (gst_pad_send_event), (gst_pad_start_task):
22101         * gst/gstqueue.c: (gst_queue_init), (gst_queue_locked_flush),
22102         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
22103         (gst_queue_sink_activate), (gst_queue_src_activate),
22104         (gst_queue_change_state):
22105         * gst/gstqueue.h:
22106         Fix state changes for non sinks. We now change sinks, then elements
22107         with unconnected srcpads, then the rest.
22108         More efficient queue unlocking in flush and state changes.
22109         Set the pad activate mode even if it does not have an activate
22110         function.
22111
22112 2005-05-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
22113
22114         * gst/base/gstbasesrc.c: (gst_basesrc_activate):
22115           Don't go in pull mode for non-seekable sources.
22116         * gst/elements/gsttypefindelement.h:
22117         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
22118         (gst_type_find_element_dispose), (gst_type_find_handle_src_query),
22119         (free_entry), (stop_typefinding),
22120         (gst_type_find_element_handle_event), (find_peek),
22121         (gst_type_find_element_chain), (do_pull_typefind),
22122         (gst_type_find_element_change_state):
22123           Allow typefinding (w/o seeking) in push-mode, simplified version
22124           of what was in 0.8.
22125         * gst/gstutils.c: (gst_buffer_join):
22126         * gst/gstutils.h:
22127           gst_buffer_join() from 0.8.
22128
22129 2005-05-25  Wim Taymans  <wim@fluendo.com>
22130
22131         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
22132         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
22133         (gst_pad_send_event), (gst_pad_start_task):
22134         Disable attempt at mode switching until it is figured out.
22135
22136 2005-05-25  Wim Taymans  <wim@fluendo.com>
22137
22138         * gst/base/gstadapter.c: (gst_adapter_peek), (gst_adapter_flush):
22139         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
22140         (gst_basesink_finish_preroll), (gst_basesink_chain),
22141         (gst_basesink_loop), (gst_basesink_activate),
22142         (gst_basesink_change_state):
22143         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek),
22144         (gst_basesrc_get_range), (gst_basesrc_loop),
22145         (gst_basesrc_activate):
22146         * gst/elements/gsttee.c: (gst_tee_sink_activate):
22147         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
22148         (gst_real_pad_init), (gst_real_pad_set_property),
22149         (gst_real_pad_get_property), (gst_pad_set_active),
22150         (gst_pad_is_active), (gst_pad_get_query_types), (gst_pad_unlink),
22151         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_real_parent),
22152         (gst_real_pad_get_caps_unlocked), (gst_pad_peer_get_caps),
22153         (gst_pad_accept_caps), (gst_pad_get_peer), (gst_pad_realize),
22154         (gst_pad_event_default_dispatch), (gst_pad_event_default),
22155         (gst_pad_dispatcher), (gst_pad_query), (gst_real_pad_dispose),
22156         (gst_pad_save_thyself), (handle_pad_block), (gst_pad_chain),
22157         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
22158         (gst_pad_send_event), (gst_pad_start_task), (gst_pad_pause_task),
22159         (gst_pad_stop_task):
22160         * gst/gstpad.h:
22161         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
22162         (gst_queue_loop), (gst_queue_src_activate):
22163         * gst/gsttask.c: (gst_task_init), (gst_task_set_lock),
22164         (gst_task_get_state):
22165         * gst/gsttask.h:
22166         * gst/schedulers/threadscheduler.c:
22167         (gst_thread_scheduler_task_start), (gst_thread_scheduler_func):
22168         Implement gst_pad_pause/start/stop_task(), take STREAM lock
22169         in task function.
22170         Remove ACTIVE pad flag, use FLUSHING everywhere
22171         Added _pad_chain(), _pad_get_range() to call chain/getrange 
22172         functions.
22173         Add locks around IS_FLUSHING when reading.
22174         Take STREAM lock in chain(), get_range() functions so plugins
22175         don't need to take it anymore.
22176         
22177
22178
22179 2005-05-25  Wim Taymans  <wim@fluendo.com>
22180
22181         * tools/gst-launch.c: (event_loop):
22182         Unref message after using its contents instead of
22183         before.
22184
22185 2005-05-24  Wim Taymans  <wim@fluendo.com>
22186
22187         * docs/design/draft-ghostpads.txt:
22188         * docs/design/draft-push-pull.txt:
22189         * docs/design/draft-query.txt:
22190         * docs/design/part-overview.txt:
22191         Docs updates, added general overview doc.
22192
22193 2005-05-21  David Schleef  <ds@schleef.org>
22194
22195         * docs/gst/tmpl/old/GstBin.sgml:
22196         * docs/gst/tmpl/old/GstBuffer.sgml:
22197         * docs/gst/tmpl/old/GstCaps.sgml:
22198         * docs/gst/tmpl/old/GstClock.sgml:
22199         * docs/gst/tmpl/old/GstCompat.sgml:
22200         * docs/gst/tmpl/old/GstData.sgml:
22201         * docs/gst/tmpl/old/GstElement.sgml:
22202         * docs/gst/tmpl/old/GstEvent.sgml:
22203         * docs/gst/tmpl/old/GstIndex.sgml:
22204         * docs/gst/tmpl/old/GstStructure.sgml:
22205         * docs/gst/tmpl/old/GstTag.sgml:
22206         * docs/gst/tmpl/old/cothreads.sgml:
22207         * docs/gst/tmpl/old/cothreads_compat.sgml:
22208         * docs/gst/tmpl/old/gettext.sgml:
22209         * docs/gst/tmpl/old/gobject2gtk.sgml:
22210         * docs/gst/tmpl/old/grammar.tab.sgml:
22211         * docs/gst/tmpl/old/gst-i18n-app.sgml:
22212         * docs/gst/tmpl/old/gst-i18n-lib.sgml:
22213         * docs/gst/tmpl/old/gst_private.sgml:
22214         * docs/gst/tmpl/old/gstaggregator.sgml:
22215         * docs/gst/tmpl/old/gstarch.sgml:
22216         * docs/gst/tmpl/old/gstatomic_impl.sgml:
22217         * docs/gst/tmpl/old/gstbufferstore.sgml:
22218         * docs/gst/tmpl/old/gstdata_private.sgml:
22219         * docs/gst/tmpl/old/gstdisksink.sgml:
22220         * docs/gst/tmpl/old/gstdisksrc.sgml:
22221         * docs/gst/tmpl/old/gstelementfactory.sgml:
22222         * docs/gst/tmpl/old/gstextratypes.sgml:
22223         * docs/gst/tmpl/old/gstfakesink.sgml:
22224         * docs/gst/tmpl/old/gstfakesrc.sgml:
22225         * docs/gst/tmpl/old/gstfdsink.sgml:
22226         * docs/gst/tmpl/old/gstfdsrc.sgml:
22227         * docs/gst/tmpl/old/gstfilesink.sgml:
22228         * docs/gst/tmpl/old/gstfilesrc.sgml:
22229         * docs/gst/tmpl/old/gsthttpsrc.sgml:
22230         * docs/gst/tmpl/old/gstidentity.sgml:
22231         * docs/gst/tmpl/old/gstindexfactory.sgml:
22232         * docs/gst/tmpl/old/gstmarshal.sgml:
22233         * docs/gst/tmpl/old/gstmd5sink.sgml:
22234         * docs/gst/tmpl/old/gstmultidisksrc.sgml:
22235         * docs/gst/tmpl/old/gstmultifilesrc.sgml:
22236         * docs/gst/tmpl/old/gstpadtemplate.sgml:
22237         * docs/gst/tmpl/old/gstpipefilter.sgml:
22238         * docs/gst/tmpl/old/gstschedulerfactory.sgml:
22239         * docs/gst/tmpl/old/gstsearchfuncs.sgml:
22240         * docs/gst/tmpl/old/gstshaper.sgml:
22241         * docs/gst/tmpl/old/gstspider.sgml:
22242         * docs/gst/tmpl/old/gstspideridentity.sgml:
22243         * docs/gst/tmpl/old/gststatistics.sgml:
22244         * docs/gst/tmpl/old/gsttee.sgml:
22245         * docs/gst/tmpl/old/gsttimecache.sgml:
22246         * docs/gst/tmpl/old/gsttypefindfactory.sgml:
22247         * docs/gst/tmpl/old/gstxmlregistry.sgml:
22248         * docs/gst/tmpl/old/gthread-cothreads.sgml:
22249         * docs/gst/tmpl/old/types.sgml:
22250           I didn't intend to add these or check them in.
22251
22252 2005-05-19  David Schleef  <ds@schleef.org>
22253
22254         * configure.ac: Use -no-common everywhere.  In a sane world, it
22255           would be the default in libtool, because without it, you can't
22256           build DLLs on Windows.
22257         * docs/gst/gstreamer-docs.sgml: Remove GstCpu, GstData, GstThread
22258         * docs/gst/gstreamer-sections.txt:
22259         * docs/gst/tmpl/gstcpu.sgml:
22260         * docs/gst/tmpl/gstdata.sgml:
22261         * docs/gst/tmpl/gstthread.sgml:
22262
22263 2005-05-19  David Schleef  <ds@schleef.org>
22264
22265         * gst/gstminiobject.c: (gst_value_set_mini_object),
22266         (gst_value_take_mini_object), (gst_value_get_mini_object):
22267         * gst/gstminiobject.h: Add GValue set/get functions.
22268
22269 2005-05-19  Wim Taymans  <wim@fluendo.com>
22270
22271         * gst/gstbuffer.c: (gst_buffer_init), (gst_subbuffer_get_type),
22272         (gst_subbuffer_class_init), (gst_subbuffer_finalize),
22273         (gst_subbuffer_init), (gst_buffer_is_span_fast):
22274         * gst/gstbuffer.h:
22275         * gst/gstbus.c: (gst_bus_post):
22276         * gst/gstelement.c: (gst_element_get_random_pad):
22277         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize):
22278         Make subbufer unref the parent in finalize.
22279         some more debugging info.
22280
22281
22282 2005-05-19  Wim Taymans  <wim@fluendo.com>
22283
22284         * gst/base/gstbasesink.c: (gst_basesink_class_init),
22285         (gst_basesink_init), (gst_basesink_finalize),
22286         (gst_basesink_activate), (gst_basesink_change_state):
22287         Don't free preroll queue too early.
22288
22289 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
22290
22291         * gst/Makefile.am:
22292         * gst/ROADMAP:
22293           Hi, I'm outdated. Please shoot me.
22294
22295 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
22296
22297         * gst/gstpipeline.c: (gst_pipeline_send_event):
22298           Do not access variables after they have been deleted.
22299
22300 2005-05-19  Wim Taymans  <wim@fluendo.com>
22301
22302         * tools/gst-inspect.c: (print_plugin_features):
22303         A plugin feature does unfortunatly not use the
22304         object name yet...
22305
22306 2005-05-18  Wim Taymans  <wim@fluendo.com>
22307
22308         * gst/gstbuffer.c: (gst_buffer_is_span_fast), (gst_buffer_span):
22309         Port _span() functions to new subbuffers.
22310
22311 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
22312
22313         * gst/gstbin.c: (gst_bin_add_func):
22314           Fix clock settery in bins when adding kids after the clock has
22315           been selected.
22316
22317 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
22318
22319         * gst/elements/gstidentity.c: (gst_identity_class_init):
22320           Workaround until signals support GstMiniObject.
22321
22322 2005-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
22323
22324         * gst/gstbuffer.c:
22325         Oops, fix a typo GST_TYPE_BUFFER -> GST_TYPE_SUBBUFFER.
22326
22327 2005-05-18  Wim Taymans  <wim@fluendo.com>
22328
22329         * gst/base/Makefile.am:
22330         * gst/base/gstadapter.c: (gst_adapter_base_init),
22331         (gst_adapter_class_init), (gst_adapter_init),
22332         (gst_adapter_dispose), (gst_adapter_finalize), (gst_adapter_new),
22333         (gst_adapter_clear), (gst_adapter_push), (gst_adapter_peek),
22334         (gst_adapter_flush), (gst_adapter_available),
22335         (gst_adapter_available_fast):
22336         * gst/base/gstadapter.h:
22337         Ported and added adapter to the base classes.
22338
22339 2005-05-17  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
22340
22341         * gst/gst.c:
22342         * gst/gstmessage.c:
22343           Make sure the class is reffed/unreffed once before threads can be
22344           used.  Fixes #304551.
22345
22346 2005-05-17  Wim Taymans  <wim@fluendo.com>
22347
22348         * gst/base/gstbasesink.c: (gst_basesink_finish_preroll),
22349         (gst_basesink_chain_unlocked), (gst_basesink_activate):
22350         * gst/gstminiobject.c: (gst_mini_object_get_type),
22351         (gst_mini_object_free):
22352         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query),
22353         (gst_pad_push), (gst_pad_push_event):
22354         * gst/gstqueue.c: (gst_queue_change_state):
22355         Don't queue buffers in basesink when we are flushing.
22356         Unref buffer when flushing in basesink.
22357         Flush queue when going to READY
22358         Unref buffer when _push() returns an error.
22359         Don't free MiniObject instance when refcount is incremented
22360         in _finalize() so that we can recover objects.
22361
22362 2005-05-17  Thomas Vander Stichele  <thomas at apestaart dot org>
22363
22364         * docs/manual/advanced-schedulers.xml:
22365         * docs/manual/appendix-checklist.xml:
22366         * docs/pwg/advanced-clock.xml:
22367         * docs/pwg/advanced-interfaces.xml:
22368         * docs/pwg/advanced-request.xml:
22369         * docs/pwg/advanced-types.xml:
22370         * docs/pwg/intro-preface.xml:
22371         * examples/plugins/example.c: (gst_example_get_type),
22372         (gst_example_class_init), (gst_example_chain),
22373         (gst_example_set_property), (gst_example_get_property),
22374         (gst_example_change_state), (plugin_init):
22375         * examples/plugins/example.h:
22376           small doc fixes
22377
22378 2005-05-17  Wim Taymans  <wim@fluendo.com>
22379
22380         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps),
22381         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_push):
22382         * gst/gstqueue.c: (gst_queue_change_state):
22383         Clear queue when going to READY.
22384         Remove IN_SETCAPS flag too.
22385
22386 2005-05-17  Tim-Philipp Müller  <tim at centricular dot net>
22387
22388         * gst/base/gstbasesrc.c: (gst_basesrc_change_state):
22389           Remove implicit cast from gboolean to GstElementStateReturn;
22390           make sure we still return failure in paused => ready case if
22391           the parent class fails to change state and our own stop 
22392           vfunc succeeds.
22393
22394 2005-05-17  Wim Taymans  <wim@fluendo.com>
22395
22396         * tools/gst-launch.c: (event_loop):
22397         Message was unreffed too soon.
22398
22399 2005-05-16  Andy Wingo  <wingo@pobox.com>
22400
22401         * gst/gstbin.c (sink_iterator_filter): Err... um...
22402
22403         * check/gst/gstbin.c (test_ghost_pads): New test for the
22404         ghosting-if-elements-not-in-same-bin behavior.
22405
22406 2005-05-16  David Schleef  <ds@schleef.org>
22407
22408         * gst/gstminiobject.c: Use g_atomic_int_get() instead of
22409         accessing refcount directly.
22410
22411 2005-05-15  David Schleef  <ds@schleef.org>
22412
22413         * check/Makefile.am: remove GstData checks
22414         * check/gst-libs/gdp.c: (START_TEST): fix for API changes
22415         * gst/Makefile.am: add miniobject, remove data
22416         * gst/gst.h: add miniobject, remove data
22417         * gst/gstdata.c: remove
22418         * gst/gstdata.h: remove
22419         * gst/gstdata_private.h: remove
22420         * gst/gsttypes.h: remove GstEvent and GstMessage
22421         * gst/gstelement.c: (gst_element_post_message): fix for API changes
22422         * gst/gstmarshal.list: change BOXED -> OBJECT
22423
22424         Implement GstMiniObject.
22425         * gst/gstminiobject.c:
22426         * gst/gstminiobject.h:
22427
22428         Modify to be subclasses of GstMiniObject.
22429         * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
22430         (gst_buffer_class_init), (gst_buffer_finalize), (_gst_buffer_copy),
22431         (gst_buffer_init), (gst_buffer_new), (gst_buffer_new_and_alloc),
22432         (gst_subbuffer_get_type), (gst_subbuffer_init),
22433         (gst_buffer_create_sub), (gst_buffer_is_span_fast),
22434         (gst_buffer_span):
22435         * gst/gstbuffer.h:
22436         * gst/gstevent.c: (_gst_event_initialize), (gst_event_get_type),
22437         (gst_event_class_init), (gst_event_init), (gst_event_finalize),
22438         (_gst_event_copy), (gst_event_new):
22439         * gst/gstevent.h:
22440         * gst/gstmessage.c: (_gst_message_initialize),
22441         (gst_message_get_type), (gst_message_class_init),
22442         (gst_message_init), (gst_message_finalize), (_gst_message_copy),
22443         (gst_message_new), (gst_message_new_error),
22444         (gst_message_new_warning), (gst_message_new_tag),
22445         (gst_message_new_state_changed), (gst_message_new_application):
22446         * gst/gstmessage.h:
22447         * gst/gstprobe.c: (gst_probe_perform),
22448         (gst_probe_dispatcher_dispatch):
22449         * gst/gstprobe.h:
22450         * gst/gstquery.c: (_gst_query_initialize), (gst_query_get_type),
22451         (gst_query_class_init), (gst_query_finalize), (gst_query_init),
22452         (_gst_query_copy), (gst_query_new):
22453
22454         Update elements for GstData -> GstMiniObject changes
22455         * gst/gstquery.h:
22456         * gst/gstqueue.c: (gst_queue_finalize), (gst_queue_locked_flush),
22457         (gst_queue_chain), (gst_queue_loop):
22458         * gst/elements/gstbufferstore.c:
22459         (gst_buffer_store_add_buffer_func),
22460         (gst_buffer_store_cleared_func), (gst_buffer_store_get_buffer):
22461         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
22462         (gst_fakesink_render):
22463         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
22464         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_get_type),
22465         (gst_mmap_buffer_class_init), (gst_mmap_buffer_init),
22466         (gst_mmap_buffer_finalize), (gst_filesrc_map_region),
22467         (gst_filesrc_create_read):
22468         * gst/elements/gstidentity.c: (gst_identity_class_init):
22469         * gst/elements/gsttypefindelement.c:
22470         (gst_type_find_element_src_event), (free_entry_buffers),
22471         (gst_type_find_element_handle_event):
22472         * libs/gst/dataprotocol/dataprotocol.c:
22473         (gst_dp_header_from_buffer):
22474         * libs/gst/dataprotocol/dataprotocol.h:
22475         * libs/gst/dataprotocol/dp-private.h:
22476
22477 2005-05-15  David Schleef  <ds@schleef.org>
22478
22479         * gst/elements/gstelements.c: Don't include headers that were
22480         just removed.
22481
22482 2005-05-15  David Schleef  <ds@schleef.org>
22483
22484         * gst/elements/Makefile.am: Remove some elements that don't
22485         need to be in the core (or even exist at all).
22486         * gst/elements/gstaggregator.c:
22487         * gst/elements/gstaggregator.h:
22488         * gst/elements/gstmd5sink.c:
22489         * gst/elements/gstmd5sink.h:
22490         * gst/elements/gstmultifilesrc.c:
22491         * gst/elements/gstmultifilesrc.h:
22492         * gst/elements/gstpipefilter.c:
22493         * gst/elements/gstpipefilter.h:
22494         * gst/elements/gstshaper.c:
22495         * gst/elements/gstshaper.h:
22496         * gst/elements/gststatistics.c:
22497         * gst/elements/gststatistics.h:
22498         * po/POTFILES.in: Remove above files.
22499
22500 2005-05-14  Andy Wingo  <wingo@pobox.com>
22501
22502         * gst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter
22503         so as to get the refs right.
22504         (sink_iterator_filter): New function, wraps bin_element_is_sink,
22505         unreffing objects that don't pass the filter.
22506
22507         * gst/gstpipeline.c (gst_pipeline_init): Drop ref on bus after
22508         gst_element_set_bus.
22509         (gst_pipeline_dispose): Set the bus on the pipeline to NULL. In
22510         normal cases, this will destroy the bus.
22511
22512         * gst/gstutils.c (prepare_link_maybe_ghosting): Drop ref on root
22513         object.
22514
22515         * gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin
22516         has no sinks.
22517
22518 2005-05-13  Andy Wingo  <wingo@pobox.com>
22519
22520         * gst/gstutils.c (gst_element_link_pads): Instead of calling
22521         gst_pad_link, call pad_link_maybe_ghosting,
22522         (pad_link_maybe_ghosting): Links pads, making sure that the
22523         elements being linked are in the same bin.
22524         (find_common_root, object_has_ancestor, ghost_up, remove_pad):
22525         Helpers for pad_link_maybe_ghosting.
22526
22527 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
22528
22529         * configure.ac:
22530           Require GLib >= 2.4.0 (for the g_atomic_* funcs)
22531
22532 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
22533
22534         * docs/design/part-element-source.txt:
22535           Mention GstPushSrc
22536
22537 2005-05-12  Wim Taymans  <wim@fluendo.com>
22538
22539         * gst/base/gstbasesink.c: (gst_basesink_init),
22540         (gst_basesink_activate):
22541         * gst/base/gstbasesrc.c: (gst_basesrc_unlock),
22542         (gst_basesrc_is_seekable):
22543         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
22544         (bin_element_is_sink), (gst_bin_change_state):
22545         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
22546         * gst/gstelement.h:
22547         Identify sinks by their flag to avoid overly complicated
22548         checks (fow now).
22549         Do state changes even for elements not reachable from the
22550         sinks.
22551         BaseSink is a sink now :)
22552         Some more debugging info in the basesrc.
22553
22554
22555 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
22556
22557         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_query):
22558           Implement _query on a bin, similar to _send_event.
22559
22560 2005-05-12  Tim-Philipp Müller  <tim at centricular dot net>
22561
22562         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek):
22563           Discont event offset format should be GST_FORMAT_BYTES,
22564           not GST_FORMAT_TIME.
22565
22566 2005-05-12  Wim Taymans  <wim@fluendo.com>
22567
22568         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_get_state):
22569         Same fix as Ronald's but without the signal. 
22570
22571 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
22572
22573         * gst/gstutils.c: (gst_element_query_position):
22574           No, an element is not a pad.
22575
22576 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
22577
22578         * gst/gstbin.c: (gst_bin_add_func), (cb_parent_unset),
22579         (gst_bin_get_state):
22580           If a child is removed from a bin while we remove the child from
22581           the bin and while we're retrieving its state, signal this to the
22582           get_state function so we abort the wait (instead of waiting for
22583           a timeout) and can immediately re-iterate over all other elements.
22584
22585 2005-05-12  Wim Taymans  <wim@fluendo.com>
22586
22587         * gst/base/Makefile.am:
22588         * gst/base/gstbasesrc.c: (gst_basesrc_is_seekable),
22589         (gst_basesrc_start):
22590         * gst/base/gstbasesrc.h:
22591         * gst/base/gstpushsrc.c: (gst_pushsrc_get_type),
22592         (gst_pushsrc_base_init), (gst_pushsrc_class_init),
22593         (gst_pushsrc_init), (gst_pushsrc_create):
22594         * gst/base/gstpushsrc.h:
22595         Added is_seekable to BaseSrc
22596         Added simple PushSrc.
22597
22598 2005-05-11  Wim Taymans  <wim@fluendo.com>
22599
22600         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
22601         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
22602         (gst_element_link_pads), (gst_element_query_position),
22603         (gst_element_query_convert), (intersect_caps_func),
22604         (gst_pad_query_position), (gst_pad_query_convert):
22605         Fix refcounting in utils function.
22606         No point in trying to activate a pad when it's added, it could
22607         be added from the state change function and then we deadlock, the
22608         element has to decide what to do.
22609
22610 2005-05-10  Andy Wingo  <wingo@pobox.com>
22611
22612         * gst/elements/gstfakesink.c (gst_fakesink_render): Er, emit with
22613         *all* the arguments.
22614
22615         * gst/base/gstbasetransform.c (gst_base_transform_event): Grab the
22616         stream lock if it's a FLUSH_DONE; normal flushes don't get the
22617         lock (according to the docs -- if this is wrong change the docs).
22618
22619         * gst/gstpipeline.c (gst_pipeline_change_state): Set the bus to
22620         flush messages in the NULL state.
22621
22622         * gst/gstbus.c (gst_bus_post): If a bus is flushing, unref the
22623         message immediately and return.
22624         (gst_bus_set_flushing): New function. If a bus is flushing, it
22625         flushes out any queued messages and immediately unrefs new
22626         messages. This is so when an element goes to NULL, all of the
22627         unhandled messages coming from it can be freed, and their
22628         references to the element dropped. In other words: message source
22629         ref considered harmful :P
22630
22631         * gst/gstbin.c (gst_bin_change_state): Unref peer element when
22632         we're finished with it.
22633
22634         * gst/gstmessage.c (gst_message_new_state_changed): 
22635
22636 2005-05-10  Wim Taymans  <wim@fluendo.com>
22637
22638         * gst/gstvalue.c: (gst_value_compare_flags),
22639         (gst_value_serialize_flags), (gst_value_deserialize_flags),
22640         (_gst_value_initialize):
22641         Added flags serialize/deserialize/compare code.
22642
22643 2005-05-09  Andy Wingo  <wingo@pobox.com>
22644
22645         * gst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps):
22646         Intersect the peer's caps with our caps.
22647
22648 2005-05-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
22649
22650         * gst/base/gsttypefindhelper.c: (helper_find_peek):
22651         * gst/elements/gsttypefindelement.c: (find_peek):
22652           Handle negative offsets better. Fixes decodebin.
22653
22654 2005-05-09  Wim Taymans  <wim@fluendo.com>
22655
22656         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps),
22657         (gst_base_transform_event):
22658         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query):
22659         Implement accept_caps.
22660         Fix silly lock/unlock mismatch in base class.
22661
22662 2005-05-09  Wim Taymans  <wim@fluendo.com>
22663
22664         * docs/design/draft-push-pull.txt:
22665         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_query):
22666         * gst/elements/gstfilesink.c: (gst_filesink_init),
22667         (gst_filesink_query):
22668         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
22669         (gst_type_find_handle_src_query), (find_element_get_length):
22670         * gst/gstelement.c: (gst_element_seek), (gst_element_query):
22671         * gst/gstelement.h:
22672         * gst/gstmessage.c:
22673         * gst/gstmessage.h:
22674         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_get_query_types),
22675         (gst_real_pad_get_caps_unlocked),
22676         (gst_pad_get_internal_links_default), (gst_pad_get_internal_links),
22677         (gst_pad_event_default_dispatch), (gst_pad_event_default),
22678         (gst_pad_dispatcher), (gst_pad_query), (gst_pad_query_default),
22679         (gst_real_pad_dispose), (gst_real_pad_finalize),
22680         (gst_pad_load_and_link), (gst_pad_save_thyself),
22681         (gst_ghost_pad_save_thyself), (handle_pad_block), (gst_pad_push),
22682         (gst_pad_check_pull_range), (gst_pad_pull_range),
22683         (gst_pad_template_get_type), (gst_pad_template_class_init),
22684         (gst_pad_template_init), (gst_pad_template_dispose),
22685         (name_is_valid), (gst_static_pad_template_get),
22686         (gst_pad_template_new), (gst_static_pad_template_get_caps),
22687         (gst_pad_template_get_caps), (gst_pad_set_element_private),
22688         (gst_pad_get_element_private), (gst_pad_start_task),
22689         (gst_pad_pause_task), (gst_pad_stop_task),
22690         (gst_ghost_pad_get_type), (gst_ghost_pad_class_init),
22691         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
22692         (gst_ghost_pad_set_property), (gst_ghost_pad_get_property),
22693         (gst_ghost_pad_new):
22694         * gst/gstpad.h:
22695         * gst/gstquery.c: (_gst_query_initialize), (gst_query_new),
22696         (gst_query_new_position), (gst_query_set_position),
22697         (gst_query_parse_position), (gst_query_new_convert),
22698         (gst_query_set_convert), (gst_query_parse_convert):
22699         * gst/gstquery.h:
22700         * gst/gstqueryutils.c:
22701         * gst/gstqueryutils.h:
22702         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
22703         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
22704         (gst_queue_handle_src_query):
22705         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
22706         (gst_element_query_position), (gst_element_query_convert),
22707         (intersect_caps_func), (gst_pad_query_position),
22708         (gst_pad_query_convert):
22709         * gst/gstutils.h:
22710         * tools/gst-inspect.c: (print_pad_info):
22711         * tools/gst-xmlinspect.c: (print_element_info):
22712         Remove old query functions. Ported old code.
22713         Added position/convert helper functions to gstutils.
22714         Reordered gstpad.c code, grouping relevant things.
22715         Remove gst_message_new(), always need to speficy a specific
22716         message.
22717
22718
22719 2005-05-09  Andy Wingo  <wingo@pobox.com>
22720
22721         * gst/gstiterator.h: Add some includes.
22722
22723         * gst/gstqueryutils.h: Include more headers.
22724
22725         * gst/gstpad.h:
22726         * gst/gstpad.c (gst_pad_query_position): New routine, replaces
22727         some uses of gst_pad_query.
22728
22729         * gst/gstqueryutils.c: Build fixes. Make parse functions ignore
22730         NULL out parameters.
22731         (gst_query_new_position): New proc, allocates a new position
22732         query.
22733
22734         * gst/Makefile.am (libgstreamer_@GST_MAJORMINOR@_la_SOURCES): Add
22735         gstqueryutils.c to the build.
22736
22737         * gst/gststructure.c (gst_structure_set_valist): Implement with
22738         the generic G_VALUE_COLLECT.
22739         
22740 2005-05-08  Edward Hervey  <bilboed@bilboed.com>
22741
22742         * gst/Makefile.am: (gst_headers):
22743         Added gstqueryutils.h to the list of headers to install, that was
22744         a 'nachty' move wingo :)
22745
22746 2005-05-06  Andy Wingo  <wingo@pobox.com>
22747
22748         * gst/gstquery.h
22749         * gst/gstquery.c (_gst_query_initialize): Extend GstQuery from
22750         GstData, init a memchunk.
22751         (standard_definitions): Add a few query types, deprecate a few.
22752         (gst_query_get_type): New proc.
22753         (_gst_query_copy, _gst_query_free, gst_query_new): GstData
22754         implementation.
22755         (gst_query_new_application, gst_query_get_structure): New public
22756         procs.
22757
22758         * docs/design/draft-query.txt: Removed LINKS from the query types,
22759         because all the rest can be dispatched to other pads -- seemed
22760         ugly to have a query that couldn't be dispatched. internal_links
22761         is fine as a pad method.
22762
22763         * gst/gstpad.h: Add query2 as a pad method, add the new functions
22764         in gstpad.c, but maintain binary compatibility for the moment.
22765         Will fix before 0.9 is out.
22766
22767         * gst/gstqueryutils.c: 
22768         * gst/gstqueryutils.h: New files, implement 3 methods for each
22769         query type: parse_query, parse_response, and set. Probably need an
22770         allocator as well.
22771
22772         * gst/gst.h: Add gstquery.h and gstqueryutils.h to the list.
22773
22774         * gst/elements/gstfilesink.c (gst_filesink_query2):
22775         * gst/base/gstbasesrc.c (gst_basesrc_query2): Replace old query,
22776         query_types, and formats methods.
22777
22778         * gst/gstpad.c (gst_pad_query2, gst_pad_query2_default)
22779         (gst_pad_set_query2_function): New functions.
22780         (gst_real_pad_init): Set query2_default as the default query2
22781         function. Basically just dispatches to internally linked pads.
22782
22783         Needs review!
22784         
22785         * gst/gstdata_private.h (_GST_DATA_INIT): Set data->refcount to 1
22786         without using the atomic operations. Only one thread can possibly
22787         be accessing the data at this point. Changed so as to avoid
22788         gst_atomic operations.
22789
22790 2005-05-06  Wim Taymans  <wim@fluendo.com>
22791
22792         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push):
22793         Also set caps if we use the fallback buffer alloc.
22794
22795 2005-05-06  Tim-Philipp Müller  <tim at centricular dot net>
22796
22797         * docs/gst/Makefile.am:
22798         * docs/gst/gstreamer-docs.sgml:
22799         * docs/gst/gstreamer-sections.txt:
22800         * docs/gst/tmpl/gstatomic.sgml:
22801         * docs/gst/tmpl/gstmemchunk.sgml:
22802         * testsuite/elements/struct_i386.h:
22803         * win32/GStreamer.vcproj:
22804         * win32/Makefile:
22805           Purge GstAtomic stuff from docs and win32 makefiles as well
22806
22807 2005-05-06  Wim Taymans  <wim@fluendo.com>
22808
22809         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps):
22810         * gst/elements/gstcapsfilter.c: (gst_capsfilter_getcaps):
22811         * gst/gstpad.c: (gst_pad_peer_get_caps):
22812         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
22813         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
22814         (gst_queue_src_activate), (gst_queue_change_state):
22815         * gst/gstqueue.h:
22816         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
22817         (intersect_caps_func):
22818         Fix gst_pad_peer_get_caps(), make it return NULL if no peer.
22819         Always take QUEUE_LOCK after STREAM_LOCK or we might deadlock.
22820         Some fixes for the peer_get_caps() change.
22821
22822 2005-05-06  Wim Taymans  <wim@fluendo.com>
22823
22824         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
22825         (gst_basesink_handle_buffer), (gst_basesink_chain_unlocked),
22826         (gst_basesink_activate):
22827         Actually do something with error codes returned from the push
22828         functions.
22829
22830 2005-05-06  Wim Taymans  <wim@fluendo.com>
22831
22832         * docs/design/part-element-sink.txt:
22833         * docs/design/part-element-source.txt:
22834         * gst/base/gstbasesink.c: (gst_basesink_class_init),
22835         (gst_basesink_event), (gst_basesink_activate):
22836         * gst/base/gstbasesink.h:
22837         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_unlock),
22838         (gst_basesrc_activate):
22839         * gst/base/gstbasesrc.h:
22840         * gst/gstelement.c: (gst_element_pads_activate):
22841         Some more documentation.
22842         Fixed scheduling decision in _pads_activate().
22843
22844 2005-05-05  Andy Wingo  <wingo@pobox.com>
22845
22846         * check/pipelines/simple_launch_lines.c (test_2_elements): "Fix"
22847         the test suite.
22848
22849 2005-05-05  Wim Taymans  <wim@fluendo.com>
22850
22851         * gst/base/Makefile.am:
22852         * gst/base/gstbasesink.h:
22853         * gst/base/gstbasesrc.c: (gst_basesrc_init),
22854         (gst_basesrc_set_dataflow_funcs), (gst_basesrc_query):
22855         * gst/base/gstcollectpads.c: (gst_collectpads_get_type),
22856         (gst_collectpads_class_init), (gst_collectpads_init),
22857         (gst_collectpads_finalize), (gst_collectpads_new),
22858         (gst_collectpads_set_function), (gst_collectpads_add_pad),
22859         (find_pad), (gst_collectpads_remove_pad),
22860         (gst_collectpads_is_active), (gst_collectpads_collect),
22861         (gst_collectpads_collect_range), (gst_collectpads_start),
22862         (gst_collectpads_stop), (gst_collectpads_peek),
22863         (gst_collectpads_pop), (gst_collectpads_available),
22864         (gst_collectpads_read), (gst_collectpads_flush),
22865         (gst_collectpads_chain):
22866         * gst/base/gstcollectpads.h:
22867         * gst/elements/Makefile.am:
22868         * gst/elements/gstelements.c:
22869         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
22870         (gst_fakesink_get_times), (gst_fakesink_event),
22871         (gst_fakesink_preroll), (gst_fakesink_render):
22872         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
22873         (gst_filesink_init), (gst_filesink_set_location),
22874         (gst_filesink_open_file), (gst_filesink_close_file),
22875         (gst_filesink_pad_query), (gst_filesink_event),
22876         (gst_filesink_render), (gst_filesink_change_state):
22877         * gst/elements/gstfilesink.h:
22878         Added object to help in making collect pad based elements.
22879         Ported filesink.
22880         Make event function in sink baseclass return gboolean.
22881
22882 2005-05-05  Wim Taymans  <wim@fluendo.com>
22883
22884         * gst/gstbin.c: (gst_bin_send_event), (compare_name),
22885         (gst_bin_get_by_name):
22886         * gst/gstbuffer.h:
22887         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_class_init),
22888         (gst_clock_finalize):
22889         * gst/gstdata.c: (gst_data_replace):
22890         * gst/gstdata.h:
22891         * gst/gstelement.c: (gst_element_request_pad),
22892         (gst_element_pads_activate):
22893         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
22894         (gst_object_unref):
22895         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
22896         (gst_pad_set_checkgetrange_function),
22897         (gst_pad_link_check_compatible_unlocked), (gst_pad_set_caps),
22898         (gst_pad_check_pull_range), (gst_pad_pull_range),
22899         (gst_static_pad_template_get_caps), (gst_pad_start_task),
22900         (gst_pad_pause_task), (gst_pad_stop_task):
22901         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
22902         (gst_element_request_pad), (gst_pad_proxy_getcaps):
22903         Fix name lookup in GstBin.
22904         Added _data_replace() function and _buffer_replace()
22905         Use finalize method to clean up clock.
22906         Fix refcounting on request pads.
22907         Fix pad schedule mode error.
22908         Some more object refcounting debug info,
22909
22910
22911 2005-05-04  Andy Wingo <wingo@pobox.com>
22912
22913         * check/Makefile.am:
22914         * docs/gst/tmpl/gstatomic.sgml:
22915         * docs/gst/tmpl/gstplugin.sgml:
22916         * gst/base/gstbasesink.c: (gst_basesink_activate):
22917         * gst/base/gstbasesrc.c: (gst_basesrc_class_init),
22918         (gst_basesrc_init), (gst_basesrc_set_dataflow_funcs),
22919         (gst_basesrc_query), (gst_basesrc_set_property),
22920         (gst_basesrc_get_property), (gst_basesrc_check_get_range),
22921         (gst_basesrc_activate):
22922         * gst/base/gstbasesrc.h:
22923         * gst/base/gstbasetransform.c: (gst_base_transform_sink_activate),
22924         (gst_base_transform_src_activate):
22925         * gst/elements/gstelements.c:
22926         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
22927         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
22928         * gst/elements/gsttee.c: (gst_tee_sink_activate):
22929         * gst/elements/gsttypefindelement.c: (find_element_get_length),
22930         (gst_type_find_element_checkgetrange),
22931         (gst_type_find_element_activate):
22932         * gst/gstbin.c: (gst_bin_save_thyself), (gst_bin_restore_thyself):
22933         * gst/gstcaps.c: (gst_caps_do_simplify), (gst_caps_save_thyself),
22934         (gst_caps_load_thyself):
22935         * gst/gstelement.c: (gst_element_pads_activate),
22936         (gst_element_save_thyself), (gst_element_restore_thyself):
22937         * gst/gstpad.c: (gst_pad_load_and_link), (gst_pad_save_thyself),
22938         (gst_ghost_pad_save_thyself), (gst_pad_check_pull_range):
22939         * gst/gstpad.h:
22940         * gst/gstxml.c: (gst_xml_write), (gst_xml_parse_doc),
22941         (gst_xml_parse_file), (gst_xml_parse_memory),
22942         (gst_xml_get_element), (gst_xml_make_element):
22943         * gst/indexers/gstfileindex.c: (gst_file_index_load),
22944         (_file_index_id_save_xml), (gst_file_index_commit):
22945         * gst/registries/gstlibxmlregistry.c: (read_string), (read_uint),
22946         (read_enum), (load_pad_template), (load_feature), (load_plugin),
22947         (load_paths):
22948         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps),
22949         (gst_dp_packet_from_event), (gst_dp_caps_from_packet):
22950         * tools/gst-complete.c: (main):
22951         * tools/gst-compprep.c: (main):
22952         * tools/gst-inspect.c: (print_element_properties_info):
22953         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
22954         * tools/gst-xmlinspect.c: (print_element_properties):
22955         GCC 4 fixen.
22956         
22957 2005-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
22958
22959         * gst/gstplugin.c: (gst_plugin_check_module),
22960         (gst_plugin_check_file), (gst_plugin_load_file):
22961             apply patch from #172526 to make register work on MacOSX
22962
22963 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
22964
22965         * docs/gst/tmpl/gstconfig.sgml:
22966         * gst/gstconfig.h.in:
22967           move documentation for some symbols.  Add doc for GST_PTR_FORMAT
22968         * testsuite/debug/printf_extension.c: (main):
22969           Do not use GST_PTR_FORMAT on pointers to types with
22970           sizeof < sizeof(gpointer).  Fixes test on 64-bit
22971         * testsuite/elements/property.h:
22972           use correct printf format
22973
22974 2005-05-02  Wim Taymans  <wim@fluendo.com>
22975
22976         * docs/design/draft-push-pull.txt:
22977         * docs/design/draft-query.txt:
22978         * gst/base/gstbasesrc.c: (gst_basesrc_get_range_unlocked),
22979         (gst_basesrc_start):
22980         Added draft for new query API.
22981         Added draft for better selecting scheduling methods.
22982         Make basesrc ignore length if the subclass does not support
22983         it.
22984
22985 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
22986
22987         * gst/Makefile.am:
22988           possible fixes for automake-1.5 - _LIBADD is reserved
22989
22990 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
22991
22992         * docs/faq/Makefile.am:
22993         * docs/manual/Makefile.am:
22994         * docs/manuals.mak:
22995         * docs/pwg/Makefile.am:
22996         * gst/Makefile.am:
22997           possible fixes for automake-1.5
22998
22999 2005-04-28  Wim Taymans  <wim@fluendo.com>
23000
23001         * gst/base/gstbasesink.c: (gst_basesink_base_init),
23002         (gst_basesink_pad_getcaps), (gst_basesink_init),
23003         (gst_basesink_do_sync):
23004         * gst/gstclock.c: (gst_clock_entry_new):
23005         * gst/gstevent.c: (gst_event_discont_get_value):
23006         * gst/gstpipeline.c: (pipeline_bus_handler),
23007         (gst_pipeline_change_state):
23008         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
23009         Better debugging of clocking info.
23010         Allow NULL values when getting discont values.
23011
23012 2005-04-27  Wim Taymans  <wim@fluendo.com>
23013
23014         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
23015         * check/gst/gstpad.c: (gst_pad_suite):
23016         Increase timeout for checks.
23017
23018 2005-04-27  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
23019
23020         * check/Makefile.am:
23021           fix the broken rule for cleanup.  Apparently this rule is
23022           only needed on FC2, so maybe this warrants further autotool
23023           inspection.
23024
23025 2005-04-26  Wim Taymans  <wim@fluendo.com>
23026
23027         * gst/gsttrashstack.h:
23028         Ooohh. a nasty one! After having a failed pop() from the stack,
23029         it's possible that the stack is empty. In that case, don't
23030         follow the NULL pointer.
23031
23032 2005-04-25  Wim Taymans  <wim@fluendo.com>
23033
23034         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
23035         (gst_pad_set_checkgetrange_function),
23036         (gst_pad_link_check_compatible_unlocked), (gst_pad_link_prepare),
23037         (gst_pad_check_pull_range), (gst_pad_pull_range),
23038         (gst_static_pad_template_get_caps), (gst_pad_start_task),
23039         (gst_pad_pause_task), (gst_pad_stop_task):
23040         * gst/gstplugin.c: (gst_plugin_load):
23041         * gst/gstplugin.h:
23042         Remove gst_library_load as it does more harm than good with
23043         the new g_module flags.
23044         Revert bogus caps template check in pad linking, pad caps
23045         are important when linking not the template, which is more
23046         general than the current caps.
23047
23048 2005-04-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
23049
23050         * gst/autoplug/.cvsignore:
23051         * gst/autoplug/Makefile.am:
23052         * gst/autoplug/gstsearchfuncs.c:
23053         * gst/autoplug/gstsearchfuncs.h:
23054         * gst/autoplug/gstspider.c:
23055         * gst/autoplug/gstspider.h:
23056         * gst/autoplug/gstspideridentity.c:
23057         * gst/autoplug/gstspideridentity.h:
23058         * gst/autoplug/spidertest.c:
23059           Die, spider, die.
23060
23061 2005-04-25  Wim Taymans  <wim@fluendo.com>
23062
23063         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
23064         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
23065         (gst_pad_pull_range), (gst_static_pad_template_get_caps),
23066         (gst_pad_start_task), (gst_pad_pause_task), (gst_pad_stop_task):
23067         * gst/gstpad.h:
23068         Added stubs for unimplemented functions. 
23069
23070 2005-04-24  David Schleef  <ds@schleef.org>
23071
23072         * gst/gstpad.h: Disable some unimplemented functions.  Wim,
23073         please fix.
23074
23075 2005-04-24  David Schleef  <ds@schleef.org>
23076
23077         Convert everything from GstAtomicInt to g_atomic_int_*, and
23078         remove gstatomic.
23079         * gst/Makefile.am:
23080         * gst/gstatomic.c:
23081         * gst/gstatomic.h:
23082         * gst/gstatomic_impl.h:
23083         * gst/gstbuffer.c:
23084         * gst/gstcaps.c:
23085         * gst/gstcaps.h:
23086         * gst/gstclock.c:
23087         * gst/gstclock.h:
23088         * gst/gstdata.c:
23089         * gst/gstdata.h:
23090         * gst/gstdata_private.h:
23091         * gst/gstevent.c:
23092         * gst/gstinfo.c:
23093         * gst/gstinfo.h:
23094         * gst/gstmessage.c:
23095         * gst/gstobject.c:
23096         * gst/gstobject.h:
23097         * gst/gststructure.c:
23098         * gst/gststructure.h:
23099         * gst/gstutils.c: Add gst_atomic_int_set() compaitibility function.
23100         * gst/gstutils.h:
23101
23102 2005-04-24  David Schleef  <ds@schleef.org>
23103
23104         * check/gst/gstpad.c: (START_TEST): Oh yeah, it's always nice to
23105         make the regressions tests work.  Remove some code that is no
23106         longer true.
23107         * gst/gstpad.c: (gst_pad_link_check_templates_compatible_unlocked):
23108         Disable warning for pads without templates.
23109
23110 2005-04-24  David Schleef  <ds@schleef.org>
23111
23112         * gst/gstpad.c: Remove handling of filtered caps.  Fix/merge
23113         functions that handle filtered links.
23114         * gst/gstpad.h: Remove 'appfilter' field and prototypes of
23115         removed functions.
23116         * gst/gstutils.c: Fix/remove utility functions that handle
23117         filtered caps.
23118         * gst/gstutils.h:
23119         * gst/gstvalue.c: Add serialization/deserialization of caps
23120         * gst/parse/grammar.y: Ignore filtered caps when linking.  This
23121         requires fixing so that the filter caps notation creates
23122         a capsfilter element and sets the filter_caps property.  I
23123         think everyone probably wants to keep the shorthand notation.
23124         * docs/gst/tmpl/gstelement.sgml: updates for API changes.
23125         * docs/gst/tmpl/gstpad.sgml:
23126
23127         * gst/elements/gstelements.c: Register capsfilter element.
23128         * gst/Makefile.am: fix spacing
23129         * docs/random/ds/0.9-suggested-changes: random
23130
23131 2005-04-23  David Schleef  <ds@schleef.org>
23132
23133         * gst/elements/Makefile.am:
23134         * gst/elements/gstcapsfilter.c: New element that acts like an
23135         identity, but filters caps.  Will eventually replace filtered
23136         caps in pad linking.
23137         * gst/gstutils.c: (gst_element_create_all_pads): New function
23138         to create all the ALWAYS pads that are registered with an
23139         element class.  This functionality should eventually be
23140         merged in with GstElement initialization.
23141         * gst/gstutils.h:
23142         * testsuite/trigger/README: part of trigger test code that should
23143         have been checked in a long time ago.
23144
23145 2005-04-23  David Schleef  <ds@schleef.org>
23146
23147         * gst/Makefile.am: Remove as-libtool stuff.  It's likely not
23148         needed with new versions of libtool (nobody will confirm this),
23149         and hard to carry around.
23150         * gst/autoplug/Makefile.am:
23151         * gst/base/Makefile.am:
23152         * gst/elements/Makefile.am:
23153         * gst/indexers/Makefile.am:
23154         * gst/schedulers/Makefile.am:
23155         * libs/gst/bytestream/Makefile.am:
23156         * libs/gst/control/Makefile.am:
23157         * libs/gst/dataprotocol/Makefile.am:
23158         * libs/gst/getbits/Makefile.am:
23159
23160 2005-04-21  Wim Taymans  <wim@fluendo.com>
23161
23162         * docs/design/draft-push-pull.txt:
23163         * docs/design/part-MT-refcounting.txt:
23164         * docs/design/part-TODO.txt:
23165         * docs/design/part-caps.txt:
23166         * docs/design/part-events.txt:
23167         * docs/design/part-gstbus.txt:
23168         * docs/design/part-gstpipeline.txt:
23169         * docs/design/part-messages.txt:
23170         * docs/design/part-push-pull.txt:
23171         * docs/design/part-query.txt:
23172         Some more docs.
23173
23174 2005-04-21  Wim Taymans  <wim@fluendo.com>
23175
23176         * gst/gstmessage.c: (_gst_message_copy), (_gst_message_free),
23177         (gst_message_new), (gst_message_new_error),
23178         (gst_message_new_warning), (gst_message_new_tag),
23179         (gst_message_new_state_changed), (gst_message_new_application),
23180         (gst_message_get_structure):
23181         * gst/gstmessage.h:
23182         * gst/gststructure.c: (gst_structure_set_parent_refcount),
23183         (gst_structure_copy_conditional):
23184         Use parent refcount in GstMessage to ensure GstStructure
23185         consistency.
23186         Cleaned up headers a bit.
23187         
23188
23189 2005-04-20  Wim Taymans  <wim@fluendo.com>
23190
23191         * gst/base/gstbasesink.c: (gst_basesink_base_init),
23192         (gst_basesink_pad_getcaps), (gst_basesink_init),
23193         (gst_basesink_chain_unlocked):
23194         * gst/base/gsttypefindhelper.c: (helper_find_suggest),
23195         (gst_type_find_helper):
23196         * gst/elements/gsttypefindelement.c:
23197         (gst_type_find_element_have_type), (gst_type_find_element_init),
23198         (stop_typefinding), (gst_type_find_element_handle_event),
23199         (find_suggest), (gst_type_find_element_chain),
23200         (gst_type_find_element_checkgetrange),
23201         (gst_type_find_element_getrange), (do_typefind),
23202         (gst_type_find_element_activate):
23203         * gst/gstbuffer.c: (_gst_buffer_sub_free),
23204         (gst_buffer_default_free), (gst_buffer_default_copy),
23205         (gst_buffer_set_caps):
23206         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref),
23207         (gst_caps_replace):
23208         * gst/gstmessage.c: (gst_message_new),
23209         (gst_message_new_state_changed):
23210         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
23211         (gst_pad_set_checkgetrange_function),
23212         (gst_pad_link_prepare_filtered), (gst_pad_relink_filtered),
23213         (gst_pad_set_caps), (gst_pad_check_pull_range),
23214         (gst_pad_pull_range), (gst_static_pad_template_get_caps):
23215         * gst/gstpad.h:
23216         * gst/gsttypefind.c: (gst_type_find_register):
23217         Make gst_caps_replace() work like other _replace() functions.
23218         Use _caps_replace() where possible.
23219         Make sure _message_new() initialises its field.
23220         Add gst_static_pad_template_get_caps()
23221
23222
23223 2005-04-18  Andy Wingo  <wingo@pobox.com>
23224
23225         * gst/gstelement.c (gst_element_pads_activate): Check pull_range
23226         on the peer, not the pad. I think that was a typo. Pass an extra
23227         arg to see if random access is possible. Activate the pads as
23228         PULL_RANGE if possible.
23229
23230         * gst/elements/gstfakesrc.c: s/ARG_/PROP_/.
23231
23232         * gst/base/gstbasesrc.c (gst_basesrc_set_property) 
23233         (gst_basesrc_get_property): BLOCKSIZE is a ULONG. Rename ARG_...
23234         to PROP_....
23235
23236 2005-04-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
23237
23238         * docs/faq/using.xml:
23239           Add note on gstreamer-properties (#154996).
23240
23241 2005-04-13  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
23242
23243         * docs/random/bbb/optional-properties:
23244           Some analysis on optional properties.
23245
23246 2005-04-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
23247
23248         * docs/gst/tmpl/gstelementfactory.sgml:
23249         * gst/gstelement.h:
23250         * gst/gstelementfactory.c: (gst_element_factory_init),
23251         (gst_element_factory_cleanup), (gst_element_register),
23252         (__gst_element_factory_add_static_pad_template),
23253         (gst_element_factory_get_static_pad_templates),
23254         (gst_element_factory_can_src_caps),
23255         (gst_element_factory_can_sink_caps):
23256         * gst/registries/Makefile.am:
23257         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_get_type),
23258         (gst_xml_registry_class_init), (gst_xml_registry_init),
23259         (gst_xml_registry_new), (gst_xml_registry_set_property),
23260         (gst_xml_registry_get_property), (get_time), (make_dir),
23261         (gst_xml_registry_get_perms_func),
23262         (plugin_times_older_than_recurse), (plugin_times_older_than),
23263         (gst_xml_registry_open_func), (gst_xml_registry_load_func),
23264         (gst_xml_registry_save_func), (gst_xml_registry_close_func),
23265         (add_to_char_array), (read_string), (read_uint), (read_enum),
23266         (load_pad_template), (load_feature), (load_plugin), (load_paths),
23267         (gst_xml_registry_load), (gst_xml_registry_load_plugin),
23268         (gst_xml_registry_save_caps), (gst_xml_registry_save_pad_template),
23269         (gst_xml_registry_save_feature), (gst_xml_registry_save_plugin),
23270         (gst_xml_registry_save), (gst_xml_registry_rebuild_recurse),
23271         (gst_xml_registry_rebuild):
23272         * gst/registries/gstlibxmlregistry.h:
23273         * tools/gst-compprep.c: (main):
23274         * tools/gst-inspect.c: (print_pad_templates_info):
23275         * tools/gst-xmlinspect.c: (print_element_info):
23276           Use libxml2 for registry parsing, use staticpadtemplates in
23277           elementfactories. Makes gst_init() +/- 10x faster.
23278
23279 2005-04-12  Wim Taymans  <wim@fluendo.com>
23280
23281         * gst/base/Makefile.am:
23282         * gst/base/gstbasesink.c: (gst_basesink_base_init),
23283         (gst_basesink_pad_getcaps), (gst_basesink_init),
23284         (gst_basesink_event), (gst_basesink_change_state):
23285         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
23286         (gst_basesrc_init), (gst_basesrc_query),
23287         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
23288         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
23289         (gst_basesrc_check_get_range), (gst_basesrc_loop),
23290         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
23291         (gst_basesrc_stop), (gst_basesrc_activate),
23292         (gst_basesrc_change_state):
23293         * gst/base/gsttypefindhelper.c: (helper_find_peek),
23294         (helper_find_suggest), (gst_type_find_helper):
23295         * gst/base/gsttypefindhelper.h:
23296         * gst/elements/Makefile.am:
23297         * gst/elements/gstelements.c:
23298         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
23299         (gst_fakesink_get_times), (gst_fakesink_event),
23300         (gst_fakesink_preroll), (gst_fakesink_render):
23301         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
23302         (gst_fakesrc_init), (gst_fakesrc_event_handler),
23303         (gst_fakesrc_get_property), (gst_fakesrc_create),
23304         (gst_fakesrc_start), (gst_fakesrc_stop):
23305         * gst/elements/gstfakesrc.h:
23306         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init),
23307         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
23308         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
23309         (gst_filesrc_create_read), (gst_filesrc_create),
23310         (gst_filesrc_is_seekable), (gst_filesrc_get_size),
23311         (gst_filesrc_start):
23312         * gst/elements/gsttypefindelement.c:
23313         (gst_type_find_element_have_type), (gst_type_find_element_init),
23314         (start_typefinding), (stop_typefinding), (push_buffer_store),
23315         (gst_type_find_element_handle_event),
23316         (gst_type_find_element_chain),
23317         (gst_type_find_element_checkgetrange),
23318         (gst_type_find_element_getrange), (do_typefind),
23319         (gst_type_find_element_activate),
23320         (gst_type_find_element_change_state):
23321         * gst/elements/gsttypefindelement.h:
23322         * gst/gstpipeline.c: (pipeline_bus_handler):
23323         Added typefind helper.
23324         Small preroll fix in the base sink.
23325         Disable typefind code in basesrc.
23326         Crude port of typefindelement.
23327         Fakesrc cleanups.
23328
23329
23330 2005-04-11  Wim Taymans  <wim@fluendo.com>
23331
23332         * check/gst/gstbus.c: (gstbus_suite):
23333         * check/gst/gstdata.c: (thread_ref), (gst_data_suite):
23334         * check/gstcheck.h:
23335           Fix up the timeout so that the test does not fail.
23336
23337 2005-04-06  Wim Taymans  <wim@fluendo.com>
23338
23339         * gst/base/README:
23340         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
23341         (gst_basesrc_init), (gst_basesrc_get_formats), (gst_basesrc_query),
23342         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
23343         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
23344         (gst_basesrc_check_get_range), (gst_basesrc_loop),
23345         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
23346         (gst_basesrc_stop), (gst_basesrc_activate),
23347         (gst_basesrc_change_state), (basesrc_find_peek),
23348         (basesrc_find_suggest), (gst_basesrc_type_find):
23349         * gst/base/gstbasesrc.h:
23350         * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
23351         (gst_filesrc_class_init), (gst_filesrc_init),
23352         (gst_filesrc_finalize), (gst_filesrc_set_location),
23353         (gst_filesrc_set_property), (gst_filesrc_get_property),
23354         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
23355         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
23356         (gst_filesrc_create_read), (gst_filesrc_create),
23357         (gst_filesrc_get_size), (gst_filesrc_start), (gst_filesrc_stop):
23358         * gst/elements/gstfilesrc.h:
23359         * gst/gstelement.c: (gst_element_get_state_func),
23360         (gst_element_lost_state), (gst_element_pads_activate):
23361         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
23362         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
23363         (gst_pad_pull_range):
23364         * gst/gstpad.h:
23365         More work on the generic source base class, implement seeking,
23366         query.
23367         Make filesrc extend the base source class.
23368         Added gst_pad_set_checkgetrange_function to GstPad.
23369
23370 2005-04-06  Andy Wingo  <wingo@pobox.com>
23371
23372         * pkgconfig/gstreamer-base.pc.in:
23373         * pkgconfig/gstreamer-base-uninstalled.pc.in: New files.
23374
23375         * pkgconfig/Makefile.am:
23376         * configure.ac (AC_OUTPUT): Add gstreamer-base pkgconfig files.
23377
23378 2005-04-04  Wim Taymans  <wim@fluendo.com>
23379
23380         * gst/base/Makefile.am:
23381         * gst/base/README:
23382         * gst/base/gstbasesink.c: (gst_basesink_base_init),
23383         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
23384         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
23385         (gst_basesink_do_sync), (gst_basesink_chain_unlocked):
23386         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
23387         (gst_basesrc_base_init), (gst_basesrc_class_init),
23388         (gst_basesrc_init), (gst_basesrc_get_formats),
23389         (gst_basesrc_get_query_types), (gst_basesrc_query),
23390         (gst_basesrc_get_event_mask), (gst_basesrc_event_handler),
23391         (gst_basesrc_set_property), (gst_basesrc_get_property),
23392         (gst_basesrc_get_range_unlocked), (gst_basesrc_get_range),
23393         (gst_basesrc_loop), (gst_basesrc_activate),
23394         (gst_basesrc_change_state):
23395         * gst/base/gstbasesrc.h:
23396         * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
23397         (gst_fakesrc_class_init), (gst_fakesrc_init),
23398         (gst_fakesrc_event_handler), (gst_fakesrc_set_property),
23399         (gst_fakesrc_get_property), (gst_fakesrc_create):
23400         * gst/elements/gstfakesrc.h:
23401         * gst/elements/gstfilesrc.c: (gst_filesrc_getrange),
23402         (gst_filesrc_open_file), (gst_filesrc_loop),
23403         (gst_filesrc_activate), (filesrc_find_peek),
23404         (gst_filesrc_type_find):
23405         Made base source class, make fakesrc extend it.
23406         Add comments to basesink class.
23407         Some filesrc cleanup.
23408
23409 2005-03-31  David Schleef  <ds@schleef.org>
23410
23411         * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
23412         Switch to using G_MODULE_BIND_LOCAL, which means plugins are now
23413         expected to link against libgstreamer.
23414         * gst/base/Makefile.am: link against libgstreamer
23415         * gst/elements/Makefile.am: same
23416
23417 2005-03-31  Andy Wingo  <wingo@pobox.com>
23418
23419         * tests/instantiate/Makefile.am:
23420         * tests/instantiate/caps.c: Add test to test speed of caps copy
23421         and free.
23422
23423         * tests/memchunk/gmemchunktest.c (main): Use alloc only on the
23424         GMemChunk to be fair.
23425
23426         * gst/gsttrashstack.h: Remove warning about using the fallback
23427         trash stack implementation, it's still faster than malloc.
23428
23429 2005-03-30  Andy Wingo  <wingo@pobox.com>
23430
23431         * tests/complexity.c: Add a copyright.
23432
23433 2005-03-31  Wim Taymans  <wim@fluendo.com>
23434
23435         * gst/base/gstbasetransform.c: (gst_base_transform_base_init),
23436         (gst_base_transform_class_init), (gst_base_transform_init),
23437         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
23438         (gst_base_transform_get_property),
23439         (gst_base_transform_sink_activate),
23440         (gst_base_transform_src_activate),
23441         (gst_base_transform_change_state):
23442         * gst/base/gstbasetransform.h:
23443         * gst/elements/gstidentity.c: (gst_identity_class_init),
23444         (gst_identity_event), (gst_identity_check_perfect),
23445         (gst_identity_transform), (gst_identity_start),
23446         (gst_identity_stop):
23447         Added start/stop methods to transform base class so subclasses 
23448         don't need to deal with state changes even.
23449
23450 2005-03-31  Wim Taymans  <wim@fluendo.com>
23451
23452         * gst/gstevent.c: (gst_event_new_discontinuous_valist),
23453         (gst_event_new_discontinuous), (gst_event_discont_get_value):
23454         * gst/gstevent.h:
23455         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
23456         (gst_pad_pull_range):
23457         Added rate to the discont event to prepare for variable speed
23458         and reverse playback.
23459
23460 2005-03-29  David Schleef  <ds@schleef.org>
23461
23462         * configure.ac:
23463         * testsuite/trigger/Makefile.am:
23464         * testsuite/trigger/trigger.c: A little example program to show
23465         how trigger-based elements can work.
23466
23467 2005-03-29  Wim Taymans  <wim@fluendo.com>
23468
23469         * gst/base/Makefile.am:
23470         * gst/base/README:
23471         * gst/base/gstbasesink.c: (gst_basesink_get_type),
23472         (gst_basesink_base_init), (gst_basesink_class_init),
23473         (gst_basesink_pad_getcaps), (gst_basesink_init),
23474         (gst_basesink_activate), (gst_basesink_change_state):
23475         * gst/base/gstbasesink.h:
23476         * gst/base/gstbasetransform.c: (gst_base_transform_get_type),
23477         (gst_base_transform_base_init), (gst_base_transform_finalize),
23478         (gst_base_transform_class_init), (gst_base_transform_init),
23479         (gst_base_transform_proxy_getcaps), (gst_base_transform_setcaps),
23480         (gst_base_transform_event), (gst_base_transform_getrange),
23481         (gst_base_transform_chain), (gst_base_transform_handle_buffer),
23482         (gst_base_transform_set_property),
23483         (gst_base_transform_get_property),
23484         (gst_base_transform_sink_activate),
23485         (gst_base_transform_src_activate),
23486         (gst_base_transform_change_state):
23487         * gst/base/gstbasetransform.h:
23488         * gst/elements/gstidentity.c: (gst_identity_finalize),
23489         (gst_identity_class_init), (gst_identity_init),
23490         (gst_identity_event), (gst_identity_check_perfect),
23491         (gst_identity_transform), (gst_identity_set_property),
23492         (gst_identity_get_property), (gst_identity_change_state):
23493         * gst/elements/gstidentity.h:
23494         * gst/gstelement.c: (gst_element_get_state_func),
23495         (gst_element_lost_state), (gst_element_pads_activate):
23496         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
23497         (gst_pad_check_pull_range), (gst_pad_pull_range):
23498         * gst/gstpad.h:
23499         Simplify pad activation.
23500         Added function to check if pull_range can be performed.
23501         Error out when pulling inactive or flushing pads.
23502         Removed const from refcounted types as it does not make sense.
23503         Simplify pad templates in basesink
23504         Added base class for simple 1-to-1 transforms.
23505         Make identity subclass the base transform.
23506
23507 2005-03-29  Andy Wingo  <wingo@pobox.com>
23508
23509         * docs/libs/gstreamer-libs-overrides.txt: 
23510         * docs/gst/gstreamer-overrides.txt: Add these files to CVS. Now I
23511         really don't understand what's going on, but like whatever. I want
23512         green buildbot!
23513
23514         * docs/gst/Makefile.am:
23515         * docs/libs/Makefile.am: Dist the overrides files.
23516
23517         * check/Makefile.am (clean-local): Remove .libs directories.
23518
23519         * gst/elements/Makefile.am (EXTRA_DIST): Add all the attic
23520         elements to EXTRA_DIST, so po/ files are happy.
23521
23522         * po/POTFILES.in: Er, remove it here.
23523
23524         * po/POTFILES: Remove gstspider.c.
23525
23526         * configure.ac (AC_OUTPUT): Add missing testsuite makefiles.
23527
23528         * docs/libs/gstreamer-libs-docs.sgml: 
23529         * docs/libs/gstreamer-libs-sections.txt: Remove the section on
23530         bytestream.
23531
23532         * tests/complexity.c (main): Set the length of the preroll queue
23533         on the sinks to prevent a lockup.
23534
23535         * libs/gst/dataprotocol/Makefile.am: 
23536         * libs/gst/dataprotocol/dataprotocol-test.c: Remove test, it's
23537         the same as the one in check/gst-libs/gdp.c.
23538
23539         * po/, docs/gst/: Commit automatic changes to docs and po files.
23540
23541         * gst/elements/Makefile.am (libgstelements_la_LDFLAGS): Link to
23542         the versioned libgstbase.
23543
23544         * check/Makefile.am: Depend on an unversioned gst-register, seems
23545         to make autoconf happier.
23546
23547         * gst/base/Makefile.am: Make libgstbase a versioned lib.
23548
23549 2005-03-28  Wim Taymans  <wim@fluendo.com>
23550
23551         * configure.ac:
23552         * docs/design/part-gstelement.txt:
23553         * docs/design/part-negotiation.txt:
23554         * docs/design/part-preroll.txt:
23555         * docs/design/part-scheduling.txt:
23556         * docs/design/part-states.txt:
23557         * gst/Makefile.am:
23558         * gst/base/Makefile.am:
23559         * gst/base/README:
23560         * gst/base/gstbasesink.c: (gst_basesink_get_template),
23561         (gst_basesink_base_init), (gst_basesink_class_init),
23562         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
23563         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
23564         (gst_basesink_set_pad_functions),
23565         (gst_basesink_set_all_pad_functions), (gst_basesink_set_clock),
23566         (gst_basesink_set_property), (gst_basesink_get_property),
23567         (gst_base_sink_get_template), (gst_base_sink_get_caps),
23568         (gst_base_sink_set_caps), (gst_base_sink_buffer_alloc),
23569         (gst_basesink_preroll_queue_push),
23570         (gst_basesink_preroll_queue_empty),
23571         (gst_basesink_preroll_queue_flush), (gst_basesink_finish_preroll),
23572         (gst_basesink_event), (gst_basesink_get_times),
23573         (gst_basesink_do_sync), (gst_basesink_handle_buffer),
23574         (gst_basesink_chain_unlocked), (gst_basesink_chain),
23575         (gst_basesink_loop), (gst_basesink_activate),
23576         (gst_basesink_change_state):
23577         * gst/base/gstbasesink.h:
23578         * gst/elements/Makefile.am:
23579         * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
23580         (gst_fakesink_class_init), (gst_fakesink_init),
23581         (gst_fakesink_set_property), (gst_fakesink_get_property),
23582         (gst_fakesink_get_times), (gst_fakesink_event),
23583         (gst_fakesink_preroll), (gst_fakesink_render),
23584         (gst_fakesink_change_state):
23585         * gst/elements/gstfakesink.h:
23586         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
23587         (gst_bin_get_state), (gst_bin_change_state), (gst_bin_send_event):
23588         * gst/gstelement.c: (gst_element_add_pad),
23589         (gst_element_get_state_func), (gst_element_abort_state),
23590         (gst_element_commit_state), (gst_element_lost_state),
23591         (gst_element_set_state), (gst_element_pads_activate):
23592         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_event_default):
23593         * gst/gstpipeline.c: (gst_pipeline_send_event),
23594         (gst_pipeline_change_state):
23595         Added state change code.
23596         Added/updated docs.
23597         Added sink base class, make fakesink extend the base class.
23598         Small cleanups in GstPipeline.
23599
23600 2005-03-26  David Schleef  <ds@schleef.org>
23601
23602         * gst/Makefile.am: remove gstcpu.[ch].  The gst_cpu functionality
23603         is broken and should be implemented in a different library.
23604         * gst/gst.c: (init_post): don't call _gst_cpu_initialize()
23605         * gst/gst.h: remove gstcpu.h
23606         * gst/gstcpu.c: remove
23607         * gst/gstcpu.h: remove
23608         * gst/Makefile.am.future: Remove this file.  It's ancient.
23609
23610 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
23611
23612         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
23613         (gst_bin_send_event):
23614           Add default event/set_manager handlers. The set_manager handler
23615           takes care that the manager is distributed over kids that were
23616           already in the bin before the manager was set. The event handler
23617           is a utility virtual function that sends the event over all sinks,
23618           so that gst_element_send_event (bin, event); has the expected
23619           behaviour.
23620         * gst/gstpad.c: (gst_pad_event_default):
23621           Re-install default event handling for discontinuities, so that
23622           seeking works without requiring hacks in applications or extra
23623           code in sinks.
23624         * gst/gstpipeline.c: (gst_pipeline_class_init),
23625         (gst_pipeline_send_event):
23626           Half hack, half utility: set a pipeline to PAUSED for seek events,
23627           since that is the only way we can guarantee a/v sync. Means that
23628           you can do gst_element_seek (pipeline, method, pos); on a pipeline
23629           and it "just works".
23630
23631 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
23632
23633         * gst/gstpipeline.c: (gst_pipeline_use_clock):
23634           Lock/unlock mismatch.
23635
23636 2005-03-25  Thomas Vander Stichele  <thomas at apestaart dot org>
23637
23638         * docs/faq/gst-uninstalled:
23639           add gst-plugins-base
23640         * docs/gst/Makefile.am:
23641           don't error out until docs are fixed
23642         * docs/gst/gstreamer.types:
23643           remove thread
23644
23645 2005-03-22  Wim Taymans  <wim@fluendo.com>
23646
23647         * check/Makefile.am:
23648         * check/gst/gstmessage.c: (START_TEST), (gst_data_suite), (main):
23649         * gst/gststructure.c: (gst_structure_set_valist),
23650         (gst_structure_copy_conditional):
23651         Activated more tests.
23652         Added message test.
23653         Added G_TYPE_POINTER to GstStructure.
23654         
23655
23656 2005-03-22  Wim Taymans  <wim@fluendo.com>
23657
23658         * docs/design/part-TODO.txt:
23659         * docs/design/part-events.txt:
23660         * docs/design/part-gstbin.txt:
23661         * docs/design/part-gstbus.txt:
23662         * docs/design/part-gstpipeline.txt:
23663         * docs/design/part-messages.txt:
23664         * gst/gstbus.c:
23665         * gst/gstmessage.c:
23666         Docs updates
23667
23668 2005-03-21  Wim Taymans  <wim@fluendo.com>
23669
23670         * gst/gstbus.c: (gst_bus_post):
23671         Fix copy-and-paste error.
23672
23673 2005-03-21  Wim Taymans  <wim@fluendo.com>
23674
23675         * check/Makefile.am:
23676         * gst/Makefile.am:
23677         * gst/elements/Makefile.am:
23678         * gst/elements/gstelements.c:
23679         * gst/elements/gstfakesink.c: (gst_fakesink_init),
23680         (gst_fakesink_event), (gst_fakesink_chain):
23681         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
23682         (gst_fakesrc_init), (gst_fakesrc_get_event_mask),
23683         (gst_fakesrc_event_handler), (gst_fakesrc_set_pad_functions),
23684         (gst_fakesrc_set_all_pad_functions), (gst_fakesrc_request_new_pad),
23685         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
23686         (gst_fakesrc_get_range_unlocked), (gst_fakesrc_get_range),
23687         (gst_fakesrc_loop), (gst_fakesrc_activate),
23688         (gst_fakesrc_change_state):
23689         * gst/elements/gstfakesrc.h:
23690         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
23691         (gst_filesrc_get_read), (gst_filesrc_getrange), (gst_filesrc_get),
23692         (gst_filesrc_open_file), (gst_filesrc_loop),
23693         (gst_filesrc_activate), (gst_filesrc_change_state),
23694         (filesrc_find_peek), (filesrc_find_suggest),
23695         (gst_filesrc_type_find):
23696         * gst/elements/gstidentity.c: (gst_identity_finalize),
23697         (gst_identity_class_init), (gst_identity_init),
23698         (gst_identity_proxy_getcaps), (identity_queue_push),
23699         (identity_queue_pop), (identity_queue_flush), (gst_identity_event),
23700         (gst_identity_getrange), (gst_identity_chain),
23701         (gst_identity_sink_loop), (gst_identity_src_loop),
23702         (gst_identity_handle_buffer), (gst_identity_set_dataflow_funcs),
23703         (gst_identity_set_property), (gst_identity_get_property),
23704         (gst_identity_change_state):
23705         * gst/elements/gstidentity.h:
23706         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
23707         (gst_tee_update_pad_functions), (gst_tee_request_new_pad),
23708         (gst_tee_set_property), (gst_tee_get_property), (gst_tee_do_push),
23709         (gst_tee_handle_buffer), (gst_tee_chain), (gst_tee_loop),
23710         (gst_tee_sink_activate):
23711         * gst/elements/gsttee.h:
23712         * gst/gst.c: (gst_register_core_elements), (init_post):
23713         * gst/gst.h:
23714         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_bus),
23715         (gst_bin_set_scheduler), (gst_bin_add_func), (gst_bin_add),
23716         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_get_state),
23717         (gst_bin_change_state):
23718         * gst/gstbin.h:
23719         * gst/gstbus.c: (gst_bus_get_type), (gst_bus_class_init),
23720         (gst_bus_init), (gst_bus_dispose), (gst_bus_set_property),
23721         (gst_bus_get_property), (gst_bus_new), (gst_bus_post),
23722         (gst_bus_have_pending), (gst_bus_pop), (gst_bus_peek),
23723         (gst_bus_set_sync_handler), (gst_bus_create_watch),
23724         (bus_watch_callback), (bus_watch_destroy),
23725         (gst_bus_add_watch_full), (gst_bus_add_watch), (poll_handler),
23726         (poll_timeout), (gst_bus_poll):
23727         * gst/gstbus.h:
23728         * gst/gstcaps.h:
23729         * gst/gstdata.h:
23730         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
23731         (gst_element_post_message), (gst_element_message_full),
23732         (gst_element_get_state_func), (gst_element_get_state),
23733         (gst_element_abort_state), (gst_element_commit_state),
23734         (gst_element_lost_state), (gst_element_set_state),
23735         (gst_element_pads_activate), (gst_element_change_state),
23736         (gst_element_dispose), (gst_element_set_manager_func),
23737         (gst_element_set_bus_func), (gst_element_set_scheduler_func),
23738         (gst_element_set_manager), (gst_element_get_manager),
23739         (gst_element_set_bus), (gst_element_get_bus),
23740         (gst_element_set_scheduler), (gst_element_get_scheduler):
23741         * gst/gstelement.h:
23742         * gst/gstevent.c: (gst_event_new_segment_seek),
23743         (gst_event_new_flush):
23744         * gst/gstevent.h:
23745         * gst/gstmessage.c: (_gst_message_initialize), (_gst_message_copy),
23746         (_gst_message_free), (gst_message_get_type), (gst_message_new),
23747         (gst_message_new_eos), (gst_message_new_error),
23748         (gst_message_new_warning), (gst_message_new_tag),
23749         (gst_message_new_state_changed), (gst_message_new_application),
23750         (gst_message_get_structure), (gst_message_parse_tag),
23751         (gst_message_parse_state_changed), (gst_message_parse_error),
23752         (gst_message_parse_warning):
23753         * gst/gstmessage.h:
23754         * gst/gstpad.c: (gst_real_pad_class_init), (gst_real_pad_init),
23755         (gst_real_pad_set_property), (gst_pad_set_active),
23756         (gst_pad_is_active), (gst_pad_set_blocked_async),
23757         (gst_pad_set_blocked), (gst_pad_is_blocked),
23758         (gst_pad_set_activate_function), (gst_pad_set_loop_function),
23759         (gst_pad_set_getrange_function), (gst_pad_set_acceptcaps_function),
23760         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
23761         (gst_pad_unlink), (gst_pad_link_prepare_filtered),
23762         (gst_pad_link_filtered), (gst_pad_relink_filtered),
23763         (gst_real_pad_get_caps_unlocked), (gst_pad_get_caps),
23764         (gst_pad_peer_get_caps), (gst_pad_fixate_caps),
23765         (gst_pad_accept_caps), (gst_pad_peer_accept_caps),
23766         (gst_pad_set_caps), (gst_pad_configure_sink),
23767         (gst_pad_configure_src), (gst_pad_get_negotiated_caps),
23768         (gst_pad_get_filter_caps), (gst_pad_alloc_buffer),
23769         (gst_real_pad_dispose), (gst_real_pad_finalize),
23770         (handle_pad_block), (gst_pad_push), (gst_pad_pull_range),
23771         (gst_pad_event_default_dispatch), (gst_pad_event_default),
23772         (gst_pad_push_event), (gst_pad_send_event), (gst_pad_get_formats):
23773         * gst/gstpad.h:
23774         * gst/gstpipeline.c: (gst_pipeline_init), (is_eos),
23775         (pipeline_bus_handler), (gst_pipeline_change_state),
23776         (gst_pipeline_get_scheduler), (gst_pipeline_get_bus):
23777         * gst/gstpipeline.h:
23778         * gst/gstprobe.h:
23779         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
23780         (gst_queue_finalize), (gst_queue_getcaps), (gst_queue_link_sink),
23781         (gst_queue_link_src), (gst_queue_bufferalloc),
23782         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
23783         (gst_queue_is_empty), (gst_queue_is_filled), (gst_queue_chain),
23784         (gst_queue_loop), (gst_queue_handle_src_event),
23785         (gst_queue_handle_src_query), (gst_queue_src_activate),
23786         (gst_queue_change_state):
23787         * gst/gstqueue.h:
23788         * gst/gstscheduler.c: (gst_scheduler_init),
23789         (gst_scheduler_dispose), (gst_scheduler_create_task),
23790         (gst_scheduler_factory_create):
23791         * gst/gstscheduler.h:
23792         * gst/gststructure.c: (gst_structure_get_type),
23793         (gst_structure_copy_conditional):
23794         * gst/gststructure.h:
23795         * gst/gsttaginterface.h:
23796         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
23797         (gst_task_init), (gst_task_dispose), (gst_task_create),
23798         (gst_task_get_state), (gst_task_start), (gst_task_stop),
23799         (gst_task_pause):
23800         * gst/gsttask.h:
23801         * gst/gstthread.c:
23802         * gst/gstthread.h:
23803         * gst/gsttypes.h:
23804         * gst/schedulers/Makefile.am:
23805         * gst/schedulers/cothreads_compat.h:
23806         * gst/schedulers/entryscheduler.c:
23807         * gst/schedulers/faircothreads.c:
23808         * gst/schedulers/faircothreads.h:
23809         * gst/schedulers/fairscheduler.c:
23810         * gst/schedulers/gstbasicscheduler.c:
23811         * gst/schedulers/gstoptimalscheduler.c:
23812         * gst/schedulers/gthread-cothreads.h:
23813         * gst/schedulers/threadscheduler.c:
23814         (gst_thread_scheduler_task_get_type),
23815         (gst_thread_scheduler_task_class_init),
23816         (gst_thread_scheduler_task_init),
23817         (gst_thread_scheduler_task_start),
23818         (gst_thread_scheduler_task_stop),
23819         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_get_type),
23820         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
23821         (gst_thread_scheduler_init), (gst_thread_scheduler_create_task),
23822         (gst_thread_scheduler_setup), (gst_thread_scheduler_reset),
23823         (plugin_init):
23824         * libs/gst/Makefile.am:
23825         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf):
23826         * libs/gst/bytestream/filepad.c: (gst_file_pad_init),
23827         (gst_file_pad_parent_set):
23828         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
23829         (gst_dp_event_from_packet):
23830         * tests/complexity.c: (main):
23831         * tests/mass_elements.c: (main):
23832         * testsuite/states/locked.c: (message_received), (main):
23833         * testsuite/states/parent.c: (main):
23834         * tools/gst-inspect.c: (print_element_flag_info),
23835         (print_implementation_info), (print_pad_info):
23836         * tools/gst-launch.c: (check_intr), (play_handler), (event_loop),
23837         (main):
23838         * tools/gst-md5sum.c: (event_loop), (main):
23839         * tools/gst-typefind.c: (main):
23840         * tools/gst-xmlinspect.c: (print_element_info):
23841         Next big merge.
23842         Added GstBus for mainloop integration.
23843         Added GstMessage for sending notifications on the bus.
23844         Added GstTask as an abstraction for pipeline entry points.
23845         Removed GstThread.
23846         Removed Schedulers.
23847         Simplified GstQueue for multithreaded core.
23848         Made _link threadsafe, removed old capsnego.
23849         Added STREAM_LOCK and PREROLL_LOCK in GstPad.
23850         Added pad blocking functions.
23851         Reworked scheduling functions in GstPad to prepare for
23852         scheduling updates soon.
23853         Moved events out of data stream.
23854         Simplified GstEvent types.
23855         Added return values to push/pull.
23856         Removed clocking from GstElement.
23857         Added prototypes for state change function for next merge.
23858         Removed iterate from bins and state change management.
23859         Fixed some elements, disabled others for now.
23860         Fixed -inspect and -launch.
23861         Added check for GstBus.
23862
23863 2005-03-10  Wim Taymans  <wim@fluendo.com>
23864
23865         * docs/design/part-MT-refcounting.txt:
23866         * docs/design/part-clocks.txt:
23867         * docs/design/part-gstelement.txt:
23868         * docs/design/part-gstobject.txt:
23869         * docs/design/part-standards.txt:
23870         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
23871         (gst_bin_remove_func), (gst_bin_remove):
23872         * gst/gstbin.h:
23873         * gst/gstbuffer.c:
23874         * gst/gstcaps.h:
23875         * testsuite/clock/clock1.c: (main):
23876         * testsuite/clock/clock2.c: (gst_clock_debug), (element_wait),
23877         (main):
23878         * testsuite/dlopen/loadgst.c: (do_test):
23879         * testsuite/refcounting/bin.c: (add_remove_test1),
23880         (add_remove_test2), (main):
23881         * testsuite/refcounting/element.c: (main):
23882         * testsuite/refcounting/element_pad.c: (main):
23883         * testsuite/refcounting/pad.c: (main):
23884         * tools/gst-launch.c: (sigint_handler_sighandler):
23885         * tools/gst-typefind.c: (main):
23886         Doc updates.
23887         Added doc about clock.
23888         removed gst_bin_iterate_recurse_up(), marked methods
23889         for removal.
23890         Fix more testsuites.
23891
23892 2005-03-09  Wim Taymans  <wim@fluendo.com>
23893
23894         * gst/gstpad.c: (gst_pad_get_direction),
23895         (_gst_pad_default_fixate_foreach), (gst_pad_collectv),
23896         (gst_pad_collect_valist):
23897         * testsuite/bins/interface.c: (main):
23898         * testsuite/caps/audioscale.c: (test_caps):
23899         * testsuite/caps/caps.c: (test1), (test2), (test3):
23900         * testsuite/caps/deserialize.c: (main):
23901         * testsuite/caps/enumcaps.c: (main):
23902         * testsuite/caps/filtercaps.c: (main):
23903         * testsuite/caps/intersect2.c: (main):
23904         * testsuite/caps/random.c: (main):
23905         * testsuite/caps/renegotiate.c: (my_fixate), (main):
23906         * testsuite/caps/sets.c: (check_caps):
23907         * testsuite/caps/simplify.c: (check_caps), (main):
23908         * testsuite/caps/subtract.c: (check_caps):
23909         Fix _pad_get_direction wrt ghostpads.
23910         Fix caps testsuite.
23911
23912 2005-03-09  Wim Taymans  <wim@fluendo.com>
23913
23914         * check/Makefile.am:
23915         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite), (main):
23916         * check/gst/gstsystemclock.c: (START_TEST), (gst_clock_debug),
23917         (ok_callback), (error_callback), (gst_systemclock_suite), (main):
23918         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func),
23919         (gst_bin_set_clock_func), (gst_bin_get_clock_func),
23920         (gst_bin_add_func), (gst_bin_add), (gst_bin_remove_func),
23921         (gst_bin_remove), (gst_bin_iterate_recurse_up),
23922         (bin_element_is_sink), (gst_bin_iterate_sinks),
23923         (gst_bin_iterate_all_by_interface):
23924         * gst/gstbin.h:
23925         * gst/gstelement.c: (gst_element_init), (gst_element_error_full),
23926         (gst_element_change_state), (gst_element_dispose),
23927         (gst_element_finalize), (gst_element_set_loop_function):
23928         * gst/gstelement.h:
23929         * gst/gstiterator.c: (find_custom_fold_func):
23930         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
23931         (gst_pad_collectv), (gst_pad_collect_valist),
23932         (gst_pad_template_new):
23933         * gst/gstpipeline.c: (gst_pipeline_class_init),
23934         (gst_pipeline_dispose), (gst_pipeline_set_property),
23935         (gst_pipeline_get_property), (gst_pipeline_get_clock_func),
23936         (gst_pipeline_get_clock), (gst_pipeline_use_clock),
23937         (gst_pipeline_set_clock), (gst_pipeline_auto_clock):
23938         * gst/gstutils.h:
23939         * gst/schedulers/entryscheduler.c:
23940         * gst/schedulers/gstbasicscheduler.c:
23941         (gst_basic_scheduler_cothreaded_chain),
23942         (gst_basic_scheduler_chain_add_element):
23943         * testsuite/bins/interface.c: (main):
23944         Added GstBin test.
23945         Added GstSystemClock test.
23946         Implemented clock distribution code in GstBin.
23947         Implemented iterate sinks method for future use.
23948         Rearranged gstelement.h
23949         Fix GstIterator comparison bug.
23950         Moved some code to GstPipeline, mostly clocking related.
23951
23952 2005-03-09  Wim Taymans  <wim@fluendo.com>
23953
23954         * configure.ac:
23955         * gst/gst_private.h:
23956         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
23957         (gst_bin_remove_func), (gst_bin_remove),
23958         (gst_bin_get_by_name_recurse_up):
23959         * gst/gstclock.c: (gst_clock_id_ref), (gst_clock_id_unref),
23960         (gst_clock_id_compare_func), (gst_clock_id_wait),
23961         (gst_clock_id_wait_async), (gst_clock_init),
23962         (gst_clock_adjust_unlocked), (gst_clock_get_time):
23963         * gst/gstelement.h:
23964         * gst/gstinfo.c: (_gst_debug_init):
23965         * gst/gstobject.h:
23966         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
23967         (gst_pad_collectv), (gst_pad_collect_valist), (gst_pad_query):
23968         * gst/gstpad.h:
23969         Bump version number, we're now 0.9.0
23970         Add future debugging category.
23971         Fix NULL _unref() in _get_by_name_recurse_up
23972         Rearrange gstpad.h.
23973         Update some docs.
23974
23975 2005-03-08  Wim Taymans  <wim@fluendo.com>
23976
23977         * gst/elements/gstaggregator.c: (gst_aggregator_class_init):
23978         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
23979         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
23980         * gst/elements/gstfdsink.c: (gst_fdsink_class_init):
23981         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init):
23982         * gst/elements/gstfilesink.c: (gst_filesink_class_init):
23983         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init):
23984         * gst/elements/gstidentity.c: (gst_identity_class_init):
23985         * gst/elements/gstmd5sink.c: (gst_md5sink_class_init):
23986         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
23987         * gst/elements/gstshaper.c: (gst_shaper_class_init):
23988         * gst/elements/gststatistics.c: (gst_statistics_class_init):
23989         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_getcaps),
23990         (gst_tee_link):
23991         * gst/gstelement.c: (gst_element_class_init),
23992         (gst_element_base_class_init), (gst_element_init),
23993         (gst_element_get_random_pad), (gst_element_wait_state_change),
23994         (gst_element_change_state), (gst_element_dispose),
23995         (gst_element_finalize), (gst_element_set_loop_function):
23996         * gst/gstelement.h:
23997         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_link_src):
23998         * gst/gstthread.c: (gst_thread_class_init),
23999         (gst_thread_release_children_locks), (gst_thread_change_state):
24000         * gst/schedulers/gstbasicscheduler.c:
24001         (gst_basic_scheduler_loopfunc_wrapper),
24002         (gst_basic_scheduler_chain_wrapper),
24003         (gst_basic_scheduler_src_wrapper),
24004         (gst_basic_scheduler_remove_element):
24005         * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
24006         Remove threadsafe properties. Fix elements because GObject
24007         complains when installing a property before declaring a
24008         set/get_property handler.
24009         Rearrange gstelement.h file, use STATE macros for state locks.
24010         Free mutexes in the finalize method instead of dispose.
24011
24012 2005-03-08  Wim Taymans  <wim@fluendo.com>
24013
24014         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
24015         * gst/gstthread.c: (gst_thread_release_children_locks):
24016         Added parentage check.
24017         Fix build og GstThread again.
24018
24019 2005-03-08  Wim Taymans  <wim@fluendo.com>
24020
24021         * docs/design/part-MT-refcounting.txt:
24022         * docs/design/part-conventions.txt:
24023         * docs/design/part-gstobject.txt:
24024         * docs/design/part-relations.txt:
24025         * docs/design/part-standards.txt:
24026         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
24027         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_iterate_recurse),
24028         (gst_bin_get_by_name), (gst_bin_get_by_interface),
24029         (gst_bin_iterate_all_by_interface):
24030         * gst/gstbuffer.h:
24031         * gst/gstclock.h:
24032         * gst/gstelement.c: (gst_element_class_init),
24033         (gst_element_change_state), (gst_element_set_loop_function):
24034         * gst/gstelement.h:
24035         * gst/gstiterator.c:
24036         * gst/gstobject.c: (gst_object_class_init), (gst_object_ref),
24037         (gst_object_unref), (gst_object_sink), (gst_object_dispose),
24038         (gst_object_dispatch_properties_changed), (gst_object_set_name),
24039         (gst_object_set_parent), (gst_object_unparent),
24040         (gst_object_check_uniqueness):
24041         * gst/gstobject.h:
24042         Docs updates, clean up some headers.
24043
24044 2005-03-07  Wim Taymans  <wim@fluendo.com>
24045
24046         * check/.cvsignore:
24047         * check/Makefile.am:
24048         * check/gst-libs/.cvsignore:
24049         * check/gst-libs/gdp.c: (START_TEST), (gst_object_suite), (main):
24050         * check/gst/.cvsignore:
24051         * check/gst/gstbus.c: (pound_bus_with_messages), (pull_messages),
24052         (START_TEST), (gstbus_suite), (main):
24053         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite), (main):
24054         * check/gst/gstdata.c: (START_TEST), (thread_ref), (thread_unref),
24055         (gst_data_suite), (main):
24056         * check/gst/gstiterator.c: (make_list_of_ints), (START_TEST),
24057         (add_fold_func), (gstiterator_suite), (main):
24058         * check/gst/gstobject.c: (gst_fake_object_get_type), (START_TEST),
24059         (thread_name_object), (thread_name_object_default),
24060         (gst_object_name_compare), (gst_object_suite), (main):
24061         * check/gst/gstpad.c: (START_TEST), (thread_link_unlink),
24062         (gst_pad_suite), (main):
24063         * check/gstcheck.c: (gst_check_log_message_func),
24064         (gst_check_log_critical_func), (gst_check_init):
24065         * check/gstcheck.h:
24066         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
24067         (run_pipeline), (START_TEST), (simple_launch_lines_suite), (main):
24068         Added checks.
24069
24070 2005-03-07  Wim Taymans  <wim@fluendo.com>
24071
24072         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
24073         (gst_list_iterator_next), (gst_list_iterator_resync),
24074         (gst_list_iterator_free), (gst_iterator_new_list),
24075         (gst_iterator_pop), (gst_iterator_next), (gst_iterator_resync),
24076         (gst_iterator_free), (gst_iterator_push), (filter_next),
24077         (filter_resync), (filter_uninit), (filter_free),
24078         (gst_iterator_filter), (gst_iterator_fold), (foreach_fold_func),
24079         (gst_iterator_foreach), (find_custom_fold_func),
24080         (gst_iterator_find_custom):
24081         * gst/gstiterator.h:
24082         Added missing files.
24083
24084 2005-03-07  Wim Taymans  <wim@fluendo.com>
24085
24086         * Makefile.am:
24087         * configure.ac:
24088         * docs/design/part-MT-refcounting.txt:
24089         * docs/design/part-conventions.txt:
24090         * docs/design/part-gstobject.txt:
24091         * docs/design/part-relations.txt:
24092         * examples/mixer/mixer.c: (main):
24093         * examples/thread/thread.c: (eos), (main):
24094         * gst/Makefile.am:
24095         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
24096         * gst/autoplug/gstspider.c: (gst_spider_identity_plug),
24097         (gst_spider_plug_from_srcpad):
24098         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps),
24099         (gst_spider_identity_change_state),
24100         (gst_spider_identity_sink_loop_type_finding):
24101         * gst/elements/gstfakesrc.c: (gst_fakesrc_loop):
24102         * gst/elements/gstidentity.c: (gst_identity_init):
24103         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_getcaps),
24104         (gst_tee_link), (gst_tee_request_new_pad), (gst_tee_chain):
24105         * gst/elements/gsttypefindelement.c: (free_entry):
24106         * gst/gst.c:
24107         * gst/gst.h:
24108         * gst/gstbin.c: (gst_bin_init), (gst_bin_get_clock_func),
24109         (gst_bin_set_clock_func), (gst_bin_auto_clock),
24110         (gst_bin_set_index), (gst_bin_set_element_sched),
24111         (gst_bin_unset_element_sched), (gst_bin_add_func), (gst_bin_add),
24112         (gst_bin_remove_func), (gst_bin_remove), (iterate_child),
24113         (gst_bin_iterate_elements), (iterate_child_recurse),
24114         (gst_bin_iterate_recurse), (gst_bin_dispose), (compare_name),
24115         (gst_bin_get_by_name), (gst_bin_get_by_name_recurse_up),
24116         (compare_interface), (gst_bin_get_by_interface),
24117         (gst_bin_iterate_all_by_interface), (gst_bin_iterate_func):
24118         * gst/gstbin.h:
24119         * gst/gstbuffer.c: (gst_buffer_get_type), (_gst_buffer_sub_free),
24120         (gst_buffer_default_free), (gst_buffer_default_copy),
24121         (gst_buffer_new), (gst_buffer_get_caps), (gst_buffer_set_caps),
24122         (gst_buffer_create_sub):
24123         * gst/gstbuffer.h:
24124         * gst/gstcaps.c: (gst_caps_get_type), (gst_caps_new_empty),
24125         (_gst_caps_free), (gst_caps_make_writable), (gst_caps_ref),
24126         (gst_caps_unref), (gst_static_caps_get),
24127         (gst_caps_remove_and_get_structure), (gst_caps_append),
24128         (gst_caps_append_structure), (gst_caps_remove_structure),
24129         (gst_caps_copy_nth), (gst_caps_set_simple),
24130         (gst_caps_set_simple_valist), (gst_caps_is_fixed_foreach),
24131         (gst_structure_is_equal_foreach), (gst_caps_is_subset),
24132         (gst_caps_structure_intersect_field), (gst_caps_intersect),
24133         (gst_caps_structure_subtract_field), (gst_caps_subtract),
24134         (gst_caps_normalize_foreach), (gst_caps_compare_structures),
24135         (gst_caps_structure_figure_out_union),
24136         (gst_caps_switch_structures), (gst_caps_do_simplify),
24137         (gst_caps_replace), (gst_caps_from_string),
24138         (gst_caps_copy_conditional):
24139         * gst/gstcaps.h:
24140         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_ref),
24141         (_gst_clock_id_free), (gst_clock_id_unref),
24142         (gst_clock_id_compare_func), (gst_clock_id_wait),
24143         (gst_clock_id_wait_async), (gst_clock_class_init),
24144         (gst_clock_init), (gst_clock_dispose), (gst_clock_adjust_unlocked),
24145         (gst_clock_get_time), (gst_clock_set_time_adjust),
24146         (gst_clock_set_property), (gst_clock_get_property):
24147         * gst/gstclock.h:
24148         * gst/gstcompat.h:
24149         * gst/gstcpu.c: (_gst_cpu_initialize_i386), (gst_cpu_get_flags):
24150         * gst/gstdata.c: (gst_data_is_writable), (gst_data_copy_on_write):
24151         * gst/gstdata.h:
24152         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
24153         (gst_element_requires_clock), (gst_element_provides_clock),
24154         (gst_element_set_clock), (gst_element_clock_wait),
24155         (gst_element_wait), (gst_element_set_time_delay),
24156         (gst_element_is_indexable), (gst_element_add_pad),
24157         (gst_element_add_ghost_pad), (gst_element_remove_pad),
24158         (pad_compare_name), (gst_element_get_static_pad),
24159         (gst_element_request_pad), (gst_element_get_request_pad),
24160         (gst_element_get_pad), (iterate_pad), (gst_element_iterate_pads),
24161         (gst_element_class_get_pad_template_list),
24162         (gst_element_class_get_pad_template), (gst_element_error_func),
24163         (gst_element_get_random_pad), (gst_element_get_event_masks),
24164         (gst_element_send_event), (gst_element_seek),
24165         (gst_element_get_query_types), (gst_element_query),
24166         (gst_element_get_formats), (gst_element_convert),
24167         (gst_element_is_locked_state), (gst_element_set_locked_state),
24168         (gst_element_sync_state_with_parent), (gst_element_change_state),
24169         (gst_element_finalize), (gst_element_yield),
24170         (gst_element_interrupt), (gst_element_set_scheduler),
24171         (gst_element_get_scheduler), (gst_element_set_loop_function):
24172         * gst/gstelement.h:
24173         * gst/gstevent.h:
24174         * gst/gstformat.c: (_gst_format_initialize), (gst_format_register),
24175         (gst_format_get_by_nick), (gst_format_get_details),
24176         (gst_format_iterate_definitions):
24177         * gst/gstformat.h:
24178         * gst/gstindex.c: (gst_index_gtype_resolver):
24179         * gst/gstinfo.c:
24180         * gst/gstinfo.h:
24181         * gst/gstmemchunk.c: (gst_mem_chunk_alloc), (gst_mem_chunk_alloc0),
24182         (gst_mem_chunk_free):
24183         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
24184         (gst_object_ref), (gst_object_unref), (gst_object_sink),
24185         (gst_object_replace), (gst_object_dispose), (gst_object_finalize),
24186         (gst_object_dispatch_properties_changed),
24187         (gst_object_set_name_default), (gst_object_set_name),
24188         (gst_object_get_name), (gst_object_set_name_prefix),
24189         (gst_object_get_name_prefix), (gst_object_set_parent),
24190         (gst_object_get_parent), (gst_object_unparent),
24191         (gst_object_check_uniqueness), (gst_object_save_thyself),
24192         (gst_object_restore_thyself), (gst_object_real_restore_thyself),
24193         (gst_object_set_property), (gst_object_get_property),
24194         (gst_object_get_path_string):
24195         * gst/gstobject.h:
24196         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
24197         (gst_real_pad_init), (gst_real_pad_get_property),
24198         (gst_pad_custom_new), (gst_pad_get_direction),
24199         (gst_pad_set_active), (gst_pad_is_active),
24200         (gst_pad_set_event_function), (gst_pad_is_linked),
24201         (gst_pad_link_free), (gst_pad_link_intersect),
24202         (gst_pad_link_fixate), (gst_pad_set_caps),
24203         (gst_pad_try_set_caps_nonfixed), (gst_pad_set_pad_template),
24204         (gst_pad_get_real_parent), (gst_pad_add_ghost_pad),
24205         (gst_pad_remove_ghost_pad), (_gst_pad_default_fixate_foreach),
24206         (gst_pad_link_unnegotiate), (gst_pad_proxy_fixate),
24207         (gst_pad_get_caps), (gst_pad_peer_get_caps),
24208         (gst_pad_get_pad_template_caps), (gst_pad_get_peer),
24209         (gst_pad_realize), (gst_pad_get_allowed_caps),
24210         (gst_real_pad_dispose), (gst_real_pad_finalize),
24211         (gst_pad_collectv), (gst_pad_collect_valist),
24212         (gst_pad_template_dispose), (gst_pad_template_new),
24213         (gst_pad_get_internal_links):
24214         * gst/gstpad.h:
24215         * gst/gstpipeline.c: (gst_pipeline_dispose),
24216         (gst_pipeline_change_state):
24217         * gst/gstpipeline.h:
24218         * gst/gstplugin.c:
24219         * gst/gstpluginfeature.c: (gst_plugin_feature_get_name),
24220         (gst_plugin_feature_set_rank), (gst_plugin_feature_get_rank):
24221         * gst/gstpluginfeature.h:
24222         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
24223         * gst/gstquery.c: (_gst_query_type_initialize),
24224         (gst_query_type_register), (gst_query_type_get_by_nick),
24225         (gst_query_type_get_details), (gst_query_type_iterate_definitions):
24226         * gst/gstquery.h:
24227         * gst/gstqueue.c: (gst_queue_link_sink), (gst_queue_link_src):
24228         * gst/gstscheduler.c: (gst_scheduler_add_element),
24229         (gst_scheduler_factory_create):
24230         * gst/gststructure.c: (gst_structure_set_parent_refcount),
24231         (gst_structure_free), (gst_structure_set_name),
24232         (gst_structure_id_set_value), (gst_structure_set_value),
24233         (gst_structure_set_valist), (gst_structure_remove_field),
24234         (gst_structure_remove_fields),
24235         (gst_structure_remove_fields_valist),
24236         (gst_structure_remove_all_fields), (gst_structure_foreach),
24237         (gst_structure_map_in_place),
24238         (gst_caps_structure_fixate_field_nearest_int),
24239         (gst_caps_structure_fixate_field_nearest_double):
24240         * gst/gststructure.h:
24241         * gst/gstsystemclock.c: (gst_system_clock_class_init),
24242         (gst_system_clock_init), (gst_system_clock_dispose),
24243         (gst_system_clock_async_thread),
24244         (gst_system_clock_id_wait_unlocked), (gst_system_clock_id_wait),
24245         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
24246         * gst/gstsystemclock.h:
24247         * gst/gsttag.c: (gst_tag_list_add_value_internal),
24248         (gst_tag_list_copy_foreach), (structure_foreach_wrapper):
24249         * gst/gsttaginterface.c:
24250         * gst/gstthread.c: (gst_thread_dispose),
24251         (gst_thread_release_children_locks), (gst_thread_change_state),
24252         (gst_thread_main_loop):
24253         * gst/gsttrashstack.h:
24254         * gst/gsttypefind.c: (gst_type_find_factory_dispose):
24255         * gst/gsttypes.h:
24256         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
24257         (gst_element_request_pad), (gst_element_get_pad_from_template),
24258         (gst_element_request_compatible_pad),
24259         (gst_element_get_compatible_pad_filtered),
24260         (gst_element_get_compatible_pad), (gst_element_state_get_name),
24261         (gst_element_link_pads_filtered), (gst_element_link_filtered),
24262         (gst_element_link_many), (gst_element_link),
24263         (gst_element_link_pads), (gst_element_unlink_pads),
24264         (gst_element_unlink_many), (gst_element_unlink),
24265         (gst_pad_can_link_filtered), (gst_pad_can_link),
24266         (gst_pad_use_fixed_caps), (gst_pad_get_fixed_caps_func),
24267         (gst_object_default_error), (gst_bin_add_many),
24268         (gst_bin_remove_many), (gst_element_populate_std_props),
24269         (gst_element_class_install_std_props), (gst_buffer_merge),
24270         (gst_buffer_stamp), (intersect_caps_func), (gst_pad_proxy_getcaps),
24271         (link_fold_func), (gst_pad_proxy_setcaps):
24272         * gst/gstutils.h:
24273         * gst/gstvalue.c: (gst_value_deserialize_string):
24274         * gst/parse/grammar.y:
24275         * gst/schedulers/gstbasicscheduler.c:
24276         (gst_basic_scheduler_cothreaded_chain),
24277         (gst_basic_scheduler_chain_recursive_add),
24278         (gst_basic_scheduler_pad_link):
24279         * gst/schedulers/gstoptimalscheduler.c:
24280         (get_group_schedule_function),
24281         (gst_opt_scheduler_state_transition),
24282         (gst_opt_scheduler_add_element), (element_get_reachables_func):
24283         * libs/gst/bytestream/bytestream.c:
24284         * libs/gst/dataprotocol/dataprotocol.c:
24285         (gst_dp_header_from_buffer):
24286         * po/nb.po:
24287         * po/ru.po:
24288         * tests/threadstate/threadstate2.c: (eos):
24289         * tools/gst-compprep.c: (main):
24290         * tools/gst-inspect.c: (print_field), (print_element_flag_info),
24291         (print_pad_info), (print_children_info):
24292         * tools/gst-launch.c: (idle_func), (main):
24293         * tools/gst-md5sum.c: (idle_func), (main):
24294         * tools/gst-xmlinspect.c: (print_element_info):
24295         First THREADED backport attempt, focusing on adding locks and
24296         making sure the API is threadsafe. Needs more work. More docs
24297         follow this week.
24298
24299 2005-02-24  Andy Wingo  <wingo@pobox.com>
24300
24301         * tests/bench-complexity.scm:
24302         * tests/complexity.gnuplot: New files, good for running complexity
24303         benchmarks.
24304
24305         * tests/Makefile.am:
24306         * tests/complexity.c: New test, sets up N elements, at each level
24307         teeing into M streams per element. Eeeenteresting.
24308
24309         * tests/mass_elements.gnuplot: gnuplot file for the mass_elements
24310         benchmark. Run as gnuplot mass_elements.gnuplot > foo.ps, after
24311         running bench-mass_elements.scm.
24312
24313         * tests/bench-mass_elements.scm: New script, runs mass_elements
24314         for various numbers of identities, outputting the results to a
24315         file. Requires guile 1.6. Just for testing.
24316
24317 2005-02-23  Thomas Vander Stichele  <thomas at apestaart dot org>
24318
24319         * gst/schedulers/fairscheduler.c:
24320           compile with debug disabled
24321
24322 2005-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
24323
24324         * configure.ac:
24325           hunting season on 0.9 is now OPEN