984920241bbeaf03ff179de718bda0d4afdbd90a
[platform/upstream/gstreamer.git] / ChangeLog
1 2007-07-20  Stefan Kost  <ensonic@users.sf.net>
2
3         * configure.ac:
4         * libs/gst/check/Makefile.am:
5           Add libm check as we use in for plugins.
6
7 2007-07-18  Jan Schmidt  <thaytan@noraisin.net>
8
9         * gst/gstbin.c: (gst_bin_continue_func):
10         Check that the state_cookie hasn't changed since the continue_func
11         was scheduled. Avoids problems where the state changes back to
12         something it shouldn't be because it was changed in the meantime.
13
14 2007-07-17  Stefan Kost  <ensonic@users.sf.net>
15
16         * gst/gstregistrybinary.c: (gst_registry_binary_save_const_string),
17         (gst_registry_binary_save_string),
18         (gst_registry_binary_save_pad_template),
19         (gst_registry_binary_save_feature),
20         (gst_registry_binary_save_plugin),
21         (gst_registry_binary_load_feature),
22         (gst_registry_binary_load_plugin),
23         (gst_registry_binary_read_cache):
24           Fix memory leak. Be less verbose in the log.
25
26 2007-07-16  Jan Schmidt  <thaytan@mad.scientist.com>
27
28         * tests/check/elements/.cvsignore:
29         Add file to cvsignore as commanded.
30
31 2007-07-16  Jan Schmidt  <thaytan@mad.scientist.com>
32
33         * tests/check/elements/multiqueue.c: (mq_dummypad_chain),
34         (mq_dummypad_event), (run_output_order_test):
35         Use a GStaticMutex to protect all cases where libcheck
36         fail_if/fail_unless macros might be called from multiple threads
37         simultaneously to avoid errors like:
38           "check_pack.c:107: :-1081725400:Bad message type arg"
39
40 2007-07-16  Jan Schmidt  <thaytan@mad.scientist.com>
41
42         * tests/check/pipelines/stress.c: (GST_START_TEST):
43         Make sure we set the pipeline back to the NULL state before
44         dropping our final reference.
45
46 2007-07-16  Jan Schmidt  <thaytan@mad.scientist.com>
47
48         * tests/check/elements/tee.c: (GST_START_TEST):
49         Make the tee stress-test a little less stressful so it doesn't just
50         time out on slow-machines, and remove a small race when it's starting 
51         up by adding a get_state() call.
52
53 2007-07-16  Stefan Kost  <ensonic@users.sf.net>
54
55         * gst/gst.c:
56           Avoid reading registry twice on startup. Fixes #457322.
57
58 2007-07-13  Jan Schmidt  <thaytan@mad.scientist.com>
59
60         * pkgconfig/gstreamer-check-uninstalled.pc.in:
61         * pkgconfig/gstreamer-check.pc.in:
62         Substitute the CFLAGS for libcheck into our .pc file too so that
63         dependent modules will pick it up properly if libcheck is installed
64         into some other prefix.
65
66 2007-07-13  Jan Schmidt  <thaytan@mad.scientist.com>
67
68         * configure.ac:
69         Revert the pkg-config check for libcheck, since it pulls in the
70         wrong non-PIC libcheck.a on Ubuntu and probably Fedora too. We need
71         a proper solution, either from the check project, or something else.
72
73 2007-07-12  Stefan Kost  <ensonic@users.sf.net>
74
75         * configure.ac:
76           Use pkg-config to locate check.
77
78 2007-07-10  Stefan Kost  <ensonic@users.sf.net>
79
80         * gst/gsttaglist.c:
81           Fix doc syntax.
82
83         * gst/gstutils.c:
84         * gst/gstutils.h:
85           Add deprecation guards.
86
87         * libs/gst/base/gstcollectpads.h:
88           Don't document object (this is implicitly private).
89
90 2007-07-08  Tim-Philipp Müller  <tim at centricular dot net>
91
92         * gst/gststructure.c: (gst_structure_parse_value):
93           When deserialising foo=bar without a type cast, check if it's a
94           boolean before falling back to a string type, otherwise things like
95           audiotestsrc ! audio/x-raw-int,signed=true ! fakesink won't work,
96           because the filtercaps end up having a signed=(string)true field,
97           which causes problems later when intersection caps.
98
99         * tests/check/gst/gststructure.c: (GST_START_TEST):
100           Add a unit test for this.
101
102 2007-07-06  Sebastian Dröge  <slomo@circular-chaos.org>
103
104         Reviewed by: Stefan Kost <ensonic@users.sf.net>
105
106         * libs/gst/controller/Makefile.am:
107         * libs/gst/controller/gstcontroller.c:
108         (gst_controlled_property_add_interpolation_control_source),
109         (gst_controlled_property_new), (gst_controlled_property_free),
110         (gst_controller_find_controlled_property),
111         (gst_controller_new_valist), (gst_controller_new_list),
112         (gst_controller_new), (gst_controller_remove_properties_valist),
113         (gst_controller_remove_properties_list),
114         (gst_controller_remove_properties),
115         (gst_controller_set_property_disabled),
116         (gst_controller_set_disabled), (gst_controller_set_control_source),
117         (gst_controller_get_control_source), (gst_controller_get),
118         (gst_controller_sync_values), (gst_controller_get_value_array),
119         (_gst_controller_dispose), (gst_controller_get_type),
120         (gst_controlled_property_set_interpolation_mode),
121         (gst_controller_set), (gst_controller_set_from_list),
122         (gst_controller_unset), (gst_controller_unset_all),
123         (gst_controller_get_all), (gst_controller_set_interpolation_mode):
124         * libs/gst/controller/gstcontroller.h:
125         * libs/gst/controller/gstcontrollerprivate.h:
126         * libs/gst/controller/gstcontrolsource.c:
127         (gst_control_source_class_init), (gst_control_source_init),
128         (gst_control_source_get_value),
129         (gst_control_source_get_value_array), (gst_control_source_bind):
130         * libs/gst/controller/gstcontrolsource.h:
131         * libs/gst/controller/gsthelper.c: (gst_object_set_control_source),
132         (gst_object_get_control_source):
133         * libs/gst/controller/gstinterpolation.c:
134         (gst_interpolation_control_source_find_control_point_node),
135         (gst_interpolation_control_source_get_first_value),
136         (_interpolate_none_get), (interpolate_none_get),
137         (interpolate_none_get_boolean_value_array),
138         (interpolate_none_get_enum_value_array),
139         (interpolate_none_get_string_value_array),
140         (_interpolate_trigger_get), (interpolate_trigger_get),
141         (interpolate_trigger_get_boolean_value_array),
142         (interpolate_trigger_get_enum_value_array),
143         (interpolate_trigger_get_string_value_array):
144         * libs/gst/controller/gstinterpolationcontrolsource.c:
145         (gst_control_point_free), (gst_interpolation_control_source_reset),
146         (gst_interpolation_control_source_new),
147         (gst_interpolation_control_source_set_interpolation_mode),
148         (gst_interpolation_control_source_bind),
149         (gst_control_point_compare), (gst_control_point_find),
150         (gst_interpolation_control_source_set_internal),
151         (gst_interpolation_control_source_set),
152         (gst_interpolation_control_source_set_from_list),
153         (gst_interpolation_control_source_unset),
154         (gst_interpolation_control_source_unset_all),
155         (gst_interpolation_control_source_get_all),
156         (gst_interpolation_control_source_get_count),
157         (gst_interpolation_control_source_init),
158         (gst_interpolation_control_source_finalize),
159         (gst_interpolation_control_source_dispose),
160         (gst_interpolation_control_source_class_init):
161         * libs/gst/controller/gstinterpolationcontrolsource.h:
162         * libs/gst/controller/gstinterpolationcontrolsourceprivate.h:
163         API: Refactor GstController into the core controller which can take
164         a GstControlSource for providing actual values for timestamps.
165         Implement a interpolation control source and use this for backward
166         compatibility, deprecate a bunch of functions that are now handled
167         by GstControlSource or GstInterpolationControlSource.
168         Make it possible to disable the controller completely or only for
169         specific properties. Fixes #450711.
170         * docs/libs/gstreamer-libs-docs.sgml:
171         * docs/libs/gstreamer-libs-sections.txt:
172         * docs/libs/gstreamer-libs.types:
173         Add new functions and classes to the docs.
174         * tests/check/libs/controller.c: (GST_START_TEST),
175         (gst_controller_suite):
176         * tests/examples/controller/audio-example.c: (main):
177         Port unit test and example to the new API and add some new
178         unit tests.
179
180 2007-07-05  Wim Taymans  <wim.taymans@gmail.com>
181
182         Patch by: Mark Nauwelaerts <manauw at skynet be>
183
184         * plugins/elements/gstmultiqueue.c:
185         (gst_multi_queue_get_internal_links), (apply_buffer),
186         (single_queue_overrun_cb), (gst_single_queue_new):
187         Implement non-default GstPadIntLinkFunction for multiqueue pads so that
188         the pipeline layout can be tracked correctly. Fixes #453732.
189
190 2007-07-05  Stefan Kost  <ensonic@users.sf.net>
191
192         * docs/gst/Makefile.am:
193         * docs/libs/Makefile.am:
194         * docs/plugins/Makefile.am:
195           Simplify --extra-dir as gtkdoc scans recursively.
196
197 2007-07-03  Wim Taymans  <wim.taymans@gmail.com>
198
199         * tools/gst-launch.c: (main):
200         When we got an error, there is no point in waiting for preroll when
201         shutting down.
202
203 2007-07-03  Wim Taymans  <wim.taymans@gmail.com>
204
205         * plugins/elements/gsttee.c: (gst_tee_base_init),
206         (gst_tee_request_new_pad), (gst_tee_release_pad),
207         (gst_tee_find_buffer_alloc), (gst_tee_buffer_alloc),
208         (gst_tee_do_push), (clear_pads), (gst_tee_handle_buffer),
209         (gst_tee_chain):
210         Be a lot smarter when deciding what srcpad to use for proxying
211         the buffer_alloc. Also handle pad added/removed when doing so.
212         Fixes #357959.
213         Keep track of what pads we already pushed on in case we have pads
214         added/removed while pushing. Fixes #374639 
215
216         * tests/check/Makefile.am:
217         * tests/check/elements/tee.c: (handoff), (GST_START_TEST),
218         (tee_suite):
219         Added unit test for pad resync.
220
221 2007-07-01  Thomas Vander Stichele  <thomas at apestaart dot org>
222
223         * po/nl.po:
224         * po/sv.po:
225           Updated translations.
226
227 2007-07-01  Thomas Vander Stichele  <thomas at apestaart dot org>
228
229         translation by: Tommi Vainikainen <Tommi.Vainikainen@iki.fi>
230
231         * po/LINGUAS:
232         * po/fi.po:
233           Added new Finnish translation.
234
235 2007-06-28  Wim Taymans  <wim@fluendo.com>
236
237         * plugins/elements/gstmultiqueue.c: (apply_buffer),
238         (single_queue_overrun_cb):
239         When figuring out when a queue is filled, use our internal time estimate
240         based on segments, just like check_full does.
241
242 2007-06-27  Stefan Kost  <ensonic@users.sf.net>
243
244         * gst/gstminiobject.c: (gst_mini_object_get_type):
245           Remove 3 do-nothing methods.
246
247 2007-06-27  Wim Taymans  <wim@fluendo.com>
248
249         Patch by: Tim Angus <tim at ngus dot net>
250
251         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
252         (gst_capsfilter_set_property):
253         Take a reference instead of a copy when setting "caps".
254         Fix documentation to clarify this behaviour. Fixes #449414.
255
256 2007-06-27  Stefan Kost  <ensonic@users.sf.net>
257
258         * gst/gstindexfactory.c: (gst_index_factory_get_type):
259         * gst/gstplugin.c: (gst_plugin_init):
260         * gst/gstpluginfeature.c: (gst_plugin_feature_init):
261         * gst/gstquery.c: (gst_query_get_type):
262         * gst/gstregistry.c: (gst_registry_init):
263         * gst/gsturi.c: (gst_uri_handler_base_init):
264           Remove empty instance_init() functions to save relocs and lessen the
265           noise. Remove some of the function prototypes that are doubled by
266           G_DEFINE_TYPE.
267           
268 2007-06-27  Wim Taymans  <wim@fluendo.com>
269
270         Patch by: Étienne Noreau-Hébert <etienne at deepunder dot org>
271
272         * gst/gstghostpad.c: (gst_proxy_pad_save_thyself):
273         Add peer and direction in the XML serialisation of ghostpads.
274         Fixes #449226.
275
276 2007-06-26  Stefan Kost  <ensonic@users.sf.net>
277
278         * configure.ac:
279           Preserve useful information, thanks Tim.
280
281 2007-06-26  Jan Schmidt  <thaytan@noraisin.net>
282
283         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_init),
284         (gst_single_queue_flush), (apply_segment), (apply_buffer),
285         (gst_single_queue_push_one), (gst_multi_queue_loop),
286         (gst_multi_queue_sink_activate_push), (gst_multi_queue_sink_event),
287         (gst_multi_queue_src_activate_push), (wake_up_next_non_linked),
288         (compute_high_id), (gst_single_queue_new):
289         * plugins/elements/gstmultiqueue.h:
290         Take the multiqueue lock when updating the fill level so we don't get
291         confused. 
292
293         After applying a buffer or event on the src pad segment, make sure to
294         call gst_data_queue_limits_changed() to get the data queue to unblock
295         and check the filled state again.
296         
297         Rework the not-linked pad handling so the logic is that not-linked 
298         pads can push as fast as they like, but only so they never get 
299         ahead of any linked pads.
300
301         * tests/check/elements/multiqueue.c: (mq_sinkpad_to_srcpad),
302         (mq_dummypad_getcaps), (mq_dummypad_chain), (mq_dummypad_event),
303         (run_output_order_test), (GST_START_TEST), (multiqueue_suite):
304
305         Add a test to check that not-linked pads always stay behind
306         linked pads.
307
308         Fixes: #430682
309
310 2007-06-26  Jan Schmidt  <thaytan@mad.scientist.com>
311
312         * docs/random/release:
313           Some updates to the release procedure.
314
315 2007-06-26  Stefan Kost  <ensonic@users.sf.net>
316
317         * gst/gstelementfactory.c: (__gst_element_details_clear):
318           Microoptimization that saves stunning 80 bytes.
319
320 2007-06-25  Stefan Kost  <ensonic@users.sf.net>
321
322         * docs/plugins/gstreamer-plugins.args:
323         * docs/plugins/inspect/plugin-coreelements.xml:
324         * docs/plugins/inspect/plugin-coreindexers.xml:
325           Update docs with caps info.
326
327 2007-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
328
329         * po/it.po:
330           Updated Italian translation.
331
332 2007-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
333
334         * ChangeLog:
335         * po/vi.po:
336           Update Vietnamese translations.
337
338 2007-06-21  Tim-Philipp Müller  <tim at centricular dot net>
339
340         * libs/gst/base/gstbasesink.c:
341           Remove unused signal enum.
342
343 2007-06-21  Jan Schmidt  <thaytan@mad.scientist.com>
344
345         * docs/gst/gstreamer-sections.txt:
346         * gst/gstelement.c:
347         * gst/gstutils.c: (gst_type_register_static_full):
348         Beef up and include the docs for gst_type_register_static_full and
349         gst_element_class_set_details_simple and add the API keyword
350         in the ChangeLog.
351
352 2007-06-21  Jan Schmidt  <thaytan@mad.scientist.com>
353
354         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_set_property),
355         (update_time_level), (gst_single_queue_push_one),
356         (gst_multi_queue_chain), (gst_multi_queue_sink_event),
357         (single_queue_overrun_cb), (single_queue_underrun_cb),
358         (single_queue_check_full):
359         Fix setting max-* properties after adding queues.
360         Use IS_FILLED for checking visible items.
361         Signal overrun if multiple queues overrun.
362         Add extra debug output.
363         Patch by: Wim Taymans <wim@fluendo.com>
364
365 2007-06-21  Stefan Kost  <ensonic@users.sf.net>
366
367         * gst/gstelement.c: (gst_element_class_set_details_simple):
368         * gst/gstelement.h:
369         * gst/gstutils.c: (gst_type_register_static_full):
370         * gst/gstutils.h:
371         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_base_init):
372         * plugins/elements/gstfakesink.c: (gst_fake_sink_base_init):
373         * plugins/elements/gstfakesrc.c: (gst_fake_src_base_init):
374         * plugins/elements/gstfdsink.c: (gst_fd_sink_base_init):
375         * plugins/elements/gstfdsrc.c: (gst_fd_src_base_init):
376         * plugins/elements/gstfilesink.c: (gst_file_sink_base_init):
377         * plugins/elements/gstfilesrc.c: (gst_file_src_base_init):
378         * plugins/elements/gstidentity.c: (gst_identity_base_init):
379         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_base_init):
380         * plugins/elements/gstqueue.c: (gst_queue_base_init),
381         (apply_buffer), (gst_queue_chain):
382         * plugins/elements/gsttee.c: (gst_tee_base_init):
383         * plugins/elements/gsttypefindelement.c:
384         (gst_type_find_element_base_init),
385         (gst_type_find_element_class_init):
386           Saving relocations for GTypeInfo and GstElementDetails. Fixes #437457.
387           API: add gst_type_register_static_full
388           API: add gst_element_class_set_details_simple
389
390 2007-06-21  Tim-Philipp Müller  <tim at centricular dot net>
391
392         * docs/pwg/advanced-types.xml:
393           Fix typo in iana.org URI.
394
395 2007-06-19  Andy Wingo  <wingo@pobox.com>
396
397         * tests/check/pipelines/simple-launch-lines.c
398         (test_state_change_returns): Enable pull-mode tests now that
399         basesink has been fixed.
400
401         * libs/gst/base/gstbasesink.c (gst_base_sink_needs_preroll):
402         Changed from gst_base_sink_is_prerolled, reversing the sense of
403         the return value. Returns FALSE also if the sink is in pull mode,
404         in which case it needs no preroll.
405         (gst_base_sink_query, gst_base_sink_change_state): Update for
406         needs_preroll change.
407         (gst_base_sink_change_state): Add a case for READY_TO_PAUSED after
408         chaining up, in which we return SUCCESS directly if we activated
409         in pull mode instead of ASYNC. Involves countering an async_start
410         message sent before chaining up; not sure if this is correct, in
411         an ideal world we only send async-start when activating in push
412         mode.
413
414         * tests/check/pipelines/simple-launch-lines.c
415         (test_state_change_returns): New test, partially disabled until
416         basesink is fixed.
417
418 2007-06-19  Wim Taymans  <wim@fluendo.com>
419
420         * plugins/elements/gstmultiqueue.c: (apply_buffer),
421         (gst_multi_queue_sink_event):
422         Fix event leak.
423
424 2007-06-19  Wim Taymans  <wim@fluendo.com>
425
426         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
427         (gst_bin_change_state_func), (bin_push_state_continue),
428         (bin_handle_async_start), (bin_handle_async_done),
429         (gst_bin_handle_message_func):
430         Move the common code for posting state-change messages into
431         one function.
432         Broadcast the state signal after we posted the messages.
433         Mark the bin as busy when it's doing a state-change.
434         Make sure async-start/done messages don't interfere with the bin's
435         state when it's busy.
436         After the state change, let the bin check which elements completed the
437         state change while it was busy so that it can update its state.
438
439 2007-06-19  Jan Schmidt  <thaytan@mad.scientist.com>
440
441         * docs/random/release:
442         Add a note about updating the doap file to the release checklist
443
444 2007-06-18  Wim Taymans  <wim@fluendo.com>
445
446         * plugins/elements/gstmultiqueue.c: (apply_buffer),
447         (gst_single_queue_push_one), (gst_multi_queue_chain),
448         (gst_multi_queue_sink_event):
449         Make sure we don't reference the buffer/event after we have given away
450         ownership in the queue.
451
452 2007-06-18  Wim Taymans  <wim@fluendo.com>
453
454         * plugins/elements/gstmultiqueue.c: (gst_single_queue_flush),
455         (gst_multi_queue_chain), (gst_multi_queue_sink_event):
456         Update queue state _after_ adding the item in the queue because else we
457         could end up being full without the element added yet.
458
459 2007-06-18  Wim Taymans  <wim@fluendo.com>
460
461         * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
462         (gst_bin_remove_func), (gst_bin_get_state_func),
463         (gst_bin_element_set_state), (gst_bin_continue_func),
464         (bin_push_state_continue), (bin_handle_async_start),
465         (bin_handle_async_done), (gst_bin_handle_message_func):
466         * gst/gstbin.h:
467         Immediatly commit the toplevel bin state when receiving an async-done
468         message. This enables us to avoid spawning a thread to commit the state
469         in some common cases and it also avoids some races.
470         Avoid spawning a state thread when adding/removing async elements to a
471         toplevel bin. Instead we immediatly update the bin state.
472         Get rid of iterating all the children when getting the state in the bin
473         because it is now always up-to-date.
474         Fix bug where locked elements would always return _SUCCESS even it they
475         returned NO_PREROLL before being locked.
476         Fix the order of the state_change, async-start/done messages that was
477         sometimes incorrect.
478         Mark the state_dirty field as deprecated, we don't need it anymore as we
479         are always up-to-date.
480
481         * gst/gstelement.c: (gst_element_get_state_func),
482         (gst_element_continue_state):
483         Small debug inprovements.
484         Return the previous element state return when nothing is pending instead
485         of blindly returning SUCCESS.
486
487         * tests/check/generic/sinks.c: (GST_START_TEST), (pad_blocked_cb),
488         (gst_sinks_suite):
489         Add a whole bunch of new testcases.
490
491 2007-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
492
493         * po/uk.po:
494         * po/vi.po:
495           Update translations.
496
497 2007-06-15  Jan Schmidt  <thaytan@mad.scientist.com>
498
499         * gst/gstpad.c:
500         Fix typo in the docs.
501
502 2007-06-15  Wim Taymans  <wim@fluendo.com>
503
504         * docs/libs/gstreamer-libs-sections.txt:
505         Add docs for new methods.
506
507 2007-06-15  Wim Taymans  <wim@fluendo.com>
508
509         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_item_destroy),
510         (gst_multi_queue_item_new):
511         Don't use GSlice because we don't depend on >= 2.10 yet.
512
513 2007-06-15  Wim Taymans  <wim@fluendo.com>
514
515         * plugins/elements/gstmultiqueue.c: (gst_single_queue_flush),
516         (update_time_level), (apply_segment), (apply_buffer),
517         (gst_single_queue_push_one), (gst_multi_queue_item_new),
518         (gst_multi_queue_loop), (gst_multi_queue_sink_activate_push),
519         (gst_multi_queue_sink_event), (single_queue_overrun_cb),
520         (single_queue_underrun_cb), (single_queue_check_full):
521         Remove debug printf.
522
523 2007-06-15  Wim Taymans  <wim@fluendo.com>
524
525         * libs/gst/base/gstdataqueue.c: (gst_data_queue_cleanup),
526         (gst_data_queue_finalize), (gst_data_queue_locked_is_empty),
527         (gst_data_queue_set_flushing), (gst_data_queue_push),
528         (gst_data_queue_pop), (gst_data_queue_drop_head),
529         (gst_data_queue_limits_changed), (gst_data_queue_get_level):
530         * libs/gst/base/gstdataqueue.h:
531         Various cleanups.
532         Added methods to get the current levels and to inform the queue that the
533         'full' limits changed.
534
535         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_init),
536         (gst_multi_queue_finalize), (gst_multi_queue_set_property),
537         (gst_single_queue_flush), (update_time_level), (apply_segment),
538         (apply_buffer), (gst_single_queue_push_one),
539         (gst_multi_queue_item_steal_object),
540         (gst_multi_queue_item_destroy), (gst_multi_queue_item_new),
541         (gst_multi_queue_loop), (gst_multi_queue_chain),
542         (gst_multi_queue_sink_activate_push), (gst_multi_queue_sink_event),
543         (gst_multi_queue_getcaps), (gst_multi_queue_src_activate_push),
544         (gst_multi_queue_src_query), (single_queue_overrun_cb),
545         (single_queue_underrun_cb), (single_queue_check_full),
546         (gst_single_queue_new):
547         Keep track of time in the queue by measuring the difference between
548         running_time on input and output. This gives more accurate results and
549         can compensate for segments correctly.
550         Make a queue by default only 5 buffers deep. We will now increase the
551         buffer size depending on the filledness of the other queues.
552         Factor out commong flush code.
553         Make sure we don't add additional refcounts to buffers when we can avoid
554         it.
555         Propagate GstFlowReturn differently.
556         Use GSlice for intermediate GstMultiQueueItems.
557         Keep track of EOS.
558         Resize queues on over and underruns based on filled level of other
559         queues.
560         When checking if the queue is filled, prefer to measure in time if we
561         can and fall back to bytes when no time is known.
562
563         * plugins/elements/gstqueue.c:
564         Fix return value.
565
566 2007-06-15  Wim Taymans  <wim@fluendo.com>
567
568         * libs/gst/base/gstbasetransform.c:
569         (gst_base_transform_sink_event):
570         Work around the brokenness of the event vmethod in basetransform. Prefer
571         to return TRUE when the subclass returned FALSE (meaning don't forward
572         the event). 
573
574         * libs/gst/base/gstbasetransform.h:
575         Clarify the docs.
576
577 2007-06-15  Wim Taymans  <wim@fluendo.com>
578
579         * gst/gstpad.c: (gst_pad_push_event), (gst_pad_send_event):
580         * libs/gst/base/gstbasesrc.c: (gst_base_src_query_latency),
581         (gst_base_src_default_query), (gst_base_src_get_range),
582         (gst_base_src_start):
583         * tests/check/pipelines/parse-launch.c: (setup_pipeline):
584         Improve debugging.
585
586 2007-06-15  Stefan Kost  <ensonic@users.sf.net>
587
588         * docs/pwg/advanced-types.xml:
589           Added more formats to caps table.
590
591 2007-06-15  Stefan Kost  <ensonic@users.sf.net>
592
593         * tools/gst-launch.c: (main):
594           Remove crufy code. GOption does not need this workaround.
595
596 2007-06-14  Stefan Kost  <ensonic@users.sf.net>
597
598         * libs/gst/controller/gstcontroller.c:
599         (gst_controlled_property_set_interpolation_mode):
600           Fix wrong getter for enums in controller.
601
602 2007-06-14  Tim-Philipp Müller  <tim at centricular dot net>
603
604         * libs/gst/check/gstcheck.c: (gst_check_init):
605           Intercept criticals and warnings in the Gst-Phonon log domain, so
606           ASSERT_CRITICAL() etc. can be used in gst-phonon's unit tests as
607           well.
608         
609 2007-06-14  Edward Hervey  <edward@fluendo.com>
610
611         * gst/gstparamspecs.c: (_gst_param_fraction_validate):
612         Since this file doesn't include "gst.h" it will not go through the
613         macros that disable GST_LOG if debugging was disabled.
614
615 2007-06-14  Tim-Philipp Müller  <tim at centricular dot net>
616
617         * libs/gst/check/Makefile.am:
618         * libs/gst/check/gstcheck.h:
619         * pkgconfig/gstreamer-check-uninstalled.pc.in:
620         * pkgconfig/gstreamer-check.pc.in:
621           Ugly 'fix' for the controller unit test on the p5 bot: in
622           fail_unless_equals_float() check whether the values are 'almost
623           equal' by allowing a small absolute error, which should be good
624           enough for our use cases (normal numbers and values close to 0).
625           Proper fixage left to floating point arithmetic aficionados.
626
627 2007-06-14  Stefan Kost  <ensonic@users.sf.net>
628
629         * libs/gst/base/gstbasesink.c: (gst_base_sink_reset_qos),
630         (gst_base_sink_render_object), (gst_base_sink_get_position):
631           Add two breaks thats where missing.
632
633 2007-06-14  Tim-Philipp Müller  <tim at centricular dot net>
634
635         * docs/libs/gstreamer-libs-sections.txt:
636         * libs/gst/check/gstcheck.h:
637           API: add fail_unless_equals_float() and assert_equals_float().
638           Add documentation for some of the macros.
639
640         * tests/check/libs/controller.c: (GST_START_TEST):
641           Use newly-added asserts.
642
643 2007-06-14  Stefan Kost  <ensonic@users.sf.net>
644
645         * gst/gstpad.c: (gst_pad_alloc_buffer_full), (gst_pad_push):
646           Show the caps change in the log to help spotting the case of not
647           exactly matching caps.
648
649 2007-06-14  Tim-Philipp Müller  <tim at centricular dot net>
650
651         * docs/pwg/building-boiler.xml:
652           Fix typos, spotted by Thijs Vermeir (#447190).
653
654 2007-06-13  Jan Schmidt  <thaytan@mad.scientist.com>
655
656         * docs/plugins/tmpl/.cvsignore:
657         Ignore file to keep the buildbots happy
658
659 2007-06-13  Jan Schmidt  <thaytan@mad.scientist.com>
660
661         * docs/plugins/Makefile.am:
662         * docs/plugins/gstreamer-plugins-docs.sgml:
663         * docs/plugins/gstreamer-plugins-sections.txt:
664         Pull fdsink into the docs too.
665
666 2007-06-11  Sebastian Dröge  <slomo@circular-chaos.org>
667
668         * libs/gst/controller/gstinterpolation.c:
669         Actually use the new functions with min/max checks for the trigger and
670         none interpolation modes for get() and get_value_array() instead of
671         just the latter.
672
673 2007-06-10  Sebastian Dröge  <slomo@circular-chaos.org>
674
675         * libs/gst/controller/gstcontroller.c:
676         (gst_controlled_property_free):
677         Unset the minimum and maximum GValues when freeing the corresponding
678         GstControllerProperty struct.
679
680 2007-06-09  Sebastian Dröge  <slomo@circular-chaos.org>
681
682         * libs/gst/controller/gstcontroller.c:
683         (gst_controlled_property_new):
684         * libs/gst/controller/gstcontrollerprivate.h:
685         * libs/gst/controller/gstinterpolation.c:
686         (gst_controlled_property_find_control_point_node),
687         (interpolate_none_get), (interpolate_none_get_enum_value_array),
688         (interpolate_none_get_string_value_array),
689         (interpolate_trigger_get),
690         (interpolate_trigger_get_enum_value_array),
691         (interpolate_trigger_get_string_value_array):
692         Protect against values larger or smaller than the minimum or maximum
693         allowed value for the property when using values that can be compared.
694
695         Optimize trigger interpolator a bit by taking the last requested value
696         into account instead of always looping through the complete list.
697
698         Fix coding style a bit, everywhere else we use "return foo" instead
699         of "return (foo)".
700         
701         * tests/check/libs/controller.c: (GST_START_TEST),
702         (gst_controller_suite):
703         Add unit test for the protection against too large or too small
704         values.
705
706 2007-06-08  Sebastian Dröge  <slomo@circular-chaos.org>
707
708         * docs/random/slomo/controller.txt:
709         Add some thoughts about the future of the controller.
710
711 2007-06-08  Wim Taymans  <wim@fluendo.com>
712
713         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
714         Don't overflow in retimestamping code.
715
716 2007-06-07  Sebastien Moutte  <sebastien@moutte.net>
717
718         * libs/gst/controller/gstinterpolation.c: (DEFINE_CUBIC_GET):
719         Use gst_util_guint64_to_gdouble for conversions.
720         * win32/common/libgstreamer.def:
721         Add new exported functions.
722
723 2007-06-07  Tim-Philipp Müller  <tim at centricular dot net>
724
725         * gst/gstutils.c:
726           Small docs addition.
727
728 2007-06-07  Stefan Kost  <ensonic@users.sf.net>
729
730         * README:
731           Remove that test line again.
732
733 2007-06-07  Stefan Kost  <ensonic@users.sf.net>
734
735         * README:
736           Test commit mail sending.
737
738 2007-06-07  Stefan Kost  <ensonic@users.sf.net>
739
740         * configure.ac:
741           Fix typo and test commit mail sending.
742
743 2007-06-07  Stefan Kost  <ensonic@users.sf.net>
744
745         * tests/examples/controller/audio-example.c:
746           Improve comment and test commit mail sending.
747
748 2007-06-07  Wim Taymans  <wim@fluendo.com>
749
750         * gst/gstbin.c: (find_message), (bin_replace_message), (is_eos),
751         (gst_bin_remove_func), (gst_bin_element_set_state),
752         (bin_handle_async_start), (bin_handle_async_done),
753         (gst_bin_handle_message_func):
754         Add helper function to find messages.
755         Generate the async-done messages together with the state change
756         messages.
757         Small cleanups in handling toplevel bins.
758
759 2007-06-06  Tim-Philipp Müller  <tim at centricular dot net>
760
761         * libs/gst/base/gstdataqueue.c:
762         * libs/gst/base/gstdataqueue.h:
763         * plugins/elements/gstmultiqueue.c: (gst_single_queue_push_one),
764         (gst_multi_queue_item_new), (gst_multi_queue_chain),
765         (gst_multi_queue_sink_event):
766         * tests/check/elements/multiqueue.c: (multiqueue_suite):
767           Fix multiqueue leaking buffers and events when downstream or the
768           queue are flushing. Make refcounting assumptions explicit and
769           document them (shouldn't break existing code that uses it other than
770           maybe leak miniobjects, but that already happens anyway). Add unit
771           test for the most common flushing case. Fixes #423700.
772           
773 2007-06-06  Sebastian Dröge  <slomo@circular-chaos.org>
774
775         * libs/gst/controller/gstcontroller.c:
776         Clarify docs: The get_all, get_value_array(s) functions
777         don't modify the GObject properties.
778
779 2007-06-06  Sebastian Dröge  <slomo@circular-chaos.org>
780
781         * libs/gst/controller/gstcontroller.c:
782         (gst_controlled_property_set_interpolation_mode),
783         (gst_controlled_property_prepend_default),
784         (gst_controlled_property_new), (gst_controller_set_unlocked),
785         (gst_controller_set), (gst_controller_set_from_list),
786         (gst_controller_unset), (gst_controller_unset_all):
787         * libs/gst/controller/gstcontrollerprivate.h:
788         * libs/gst/controller/gstinterpolation.c:
789         Factor out the 'set' logic into gst_controller_set_unlocked for the
790         gst_controller_set and gst_controller_set_from_list functions.
791
792         To make life of the interpolators easier always add a control point
793         at timestamp zero with the default value.
794
795         In the linear interpolator make things more obvious by better variable
796         naming (slope).
797
798         Implement cubic interpolation mode (by using a natural cubic spline)
799         and map the quadratic interpolation mode to this too (as quadratic
800         doesn't make much sense, see discussion on the list).
801
802         * tests/check/libs/controller.c: (GST_START_TEST),
803         (gst_controller_suite):
804         Add unit test for the cubic interpolation mode and check everywhere
805         if the interpolation mode could be set as expected.
806
807 2007-06-06  Tim-Philipp Müller  <tim at centricular dot net>
808
809         * gst/gstparamspecs.c: (gst_param_spec_fraction_get_type):
810           Don't use GLib-2.10 functions, we still depend on
811           GLib-how-old-is-it-again-2.8.
812
813 2007-06-06  Tim-Philipp Müller  <tim at centricular dot net>
814
815         * docs/gst/gstreamer-sections.txt:
816         * gst/Makefile.am:
817         * gst/gst.c:
818         * gst/gst.h:
819         * gst/gstparamspecs.c: (_gst_param_fraction_init),
820         (_gst_param_fraction_set_default), (_gst_param_fraction_validate),
821         (_gst_param_fraction_values_cmp),
822         (gst_param_spec_fraction_get_type), (gst_param_spec_fraction):
823         * gst/gstparamspecs.h:
824         * gst/gstvalue.c:
825         * tests/check/Makefile.am:
826         * tests/check/gst/.cvsignore:
827         * tests/check/gst/gstparamspecs.c: (gst_dummy_obj_base_init),
828         (gst_dummy_obj_class_init), (gst_dummy_obj_init),
829         (gst_dummy_obj_set_property), (gst_dummy_obj_get_property),
830         (GST_START_TEST), (gst_param_spec_suite):
831           API: add GstParamSpecFraction, so elements can have fraction
832           properties without lots of painful string parsing (#444648).
833
834 2007-06-05  Wim Taymans  <wim@fluendo.com>
835
836         * gst/gstobject.c: (gst_object_class_init):
837         Fix signal signature.
838
839         * gst/gstsegment.c:
840         Add small clarification in the api docs.
841
842         * plugins/elements/gstfilesrc.c: (gst_file_src_set_location):
843         States are protected with object lock.
844
845 2007-06-05  Jan Schmidt  <thaytan@mad.scientist.com>
846
847         * AUTHORS:
848         I should probably be listed as an author by now.
849
850         * docs/random/release:
851         Update the release doc
852
853 2007-06-05  Tim-Philipp Müller  <tim at centricular dot net>
854
855         * gst/gstvalue.c:
856           Make docs for gst_value_compare() mention return enums that
857           actually exist.
858
859 2007-06-05  Jan Schmidt  <thaytan@mad.scientist.com>
860
861         * configure.ac:
862           Back to CVS
863
864 === release 0.10.13 ===
865
866 2007-06-05  Jan Schmidt <thaytan@mad.scientist.com>
867
868         * configure.ac:
869           releasing 0.10.13, "With or without you"
870
871 2007-05-25  Wim Taymans  <wim@fluendo.com>
872
873         * gst/gstbin.c: (bin_handle_async_done):
874         Make sure that the child bin stops after completing the async state
875         change so that the parent can continue the state change to PLAYING.
876         Fixes #441159.
877
878 2007-05-25  Wim Taymans  <wim@fluendo.com>
879
880         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
881         (unref_data), (gst_collect_pads_remove_pad),
882         (gst_collect_pads_check_pads):
883         Use additional refcounting to avoid crashes when dynamically adding and
884         removing pads. Fixes #420206.
885
886 2007-05-24  Wim Taymans  <wim@fluendo.com>
887
888         * tools/gst-launch.c: (event_loop):
889         When buffering goes from a two digit to a single digit number, make sure
890         to remove the old second digit by writing a blank over it.
891
892 2007-05-24  Tim-Philipp Müller  <tim at centricular dot net>
893
894         * libs/gst/base/gstdataqueue.c:
895           Eliminate tabs and trailing comma in enum list; fix some typos.
896
897 2007-05-24  Wim Taymans  <wim@fluendo.com>
898
899         * tests/check/gst/gstbin.c: (GST_START_TEST):
900         Allow refcount of 3 and 4 because some state thread might still be busy
901         with it.
902
903 2007-05-24  Tim-Philipp Müller  <tim at centricular dot net>
904
905         * plugins/elements/Makefile.am:
906         * plugins/elements/gstmultiqueue.h:
907         * plugins/elements/gstqueue.h:
908           These are not installed headers, no need for padding.
909
910 2007-05-24  Wim Taymans  <wim@fluendo.com>
911
912         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
913         (gst_bin_continue_func):
914         Enable latency for next release.
915         Restore STATE_LOCK around recalc_state that was left out during the
916         rewrite and could result in racy behaviour when _get_state and
917         recalc_state are run concurrently. See #440463.
918
919 2007-05-23  Wim Taymans  <wim@fluendo.com>
920
921         * tests/check/gst/gstsystemclock.c: (store_callback),
922         (GST_START_TEST):
923         Improve test_async_order to also work when both timers are already
924         expired when we get scheduled to check it.
925
926 2007-05-22  Tim-Philipp Müller  <tim at centricular dot net>
927
928         * gst/gstbin.c: (gst_bin_init), (gst_bin_dispose),
929         (gst_bin_set_property), (gst_bin_get_property),
930         (gst_bin_remove_func), (gst_bin_handle_message_func):
931         * gst/gstbin.h:
932           'private' is a c++ keyword, let's not use that in header files,
933           otherwise c++ compilers will throw a tantrum.
934
935 2007-05-22  Tim-Philipp Müller  <tim at centricular dot net>
936
937         * plugins/elements/gstelements.c:
938         * plugins/elements/gstfilesink.c: (gst_file_sink_do_seek),
939         (gst_file_sink_get_current_offset):
940         * plugins/indexers/gstindexers.c: (plugin_init):
941           Use #ifdef for HAVE_XYZ for consistency.
942
943         * tests/check/Makefile.am:
944         * tests/check/elements/.cvsignore:
945         * tests/check/elements/filesink.c: (setup_filesink),
946         (cleanup_filesink), (GST_START_TEST), (filesink_suite):
947           Add some unit tests for filesink.
948
949 2007-05-22  Tim-Philipp Müller  <tim at centricular dot net>
950
951         Patch by: Mark Nauwelaerts <manauw at skynet be>
952
953         * plugins/elements/gstfilesink.c: (gst_file_sink_open_file),
954         (gst_file_sink_query), (gst_file_sink_do_seek),
955         (gst_file_sink_get_current_offset), (gst_file_sink_render):
956         * plugins/elements/gstfilesink.h:
957           Fix position reporting; rename data_written member to current_pos to
958           reflect its real meaning (fixes #412648).
959
960 2007-05-22  Edward Hervey  <edward@fluendo.com>
961
962         * docs/gst/gstreamer-sections.txt:
963         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
964         (gst_bin_dispose), (gst_bin_set_property), (gst_bin_get_property),
965         (gst_bin_remove_func), (gst_bin_handle_message_func):
966         * gst/gstbin.h:
967         Add a property for bins that handle the state change of their childs.
968         Fixes #435880
969
970 2007-05-22  Sebastian Dröge  <slomo@circular-chaos.org>
971
972         * libs/gst/controller/gstinterpolation.c:
973         Use an array of the correct type when using _get_value_array with
974         linear interpolation.
975
976 2007-05-22  Stefan Kost  <ensonic@users.sf.net>
977
978         * gst/gstelement.c (gst_element_requires_clock,
979           gst_element_provides_clock, gst_element_request_pad,
980           gst_element_class_set_details, gst_element_class_set_details_simple,
981           gst_element_default_send_event, gst_element_abort_state,
982           gst_element_continue_state, gst_element_set_state,
983           gst_element_set_state_func, iterator_activate_fold_with_resync):
984         * gst/gstpad.c (gst_pad_activate_pull, gst_pad_set_getcaps_function,
985           gst_pad_fixate_caps, gst_pad_configure_sink, gst_pad_configure_src,
986           gst_pad_query, gst_pad_save_thyself, handle_pad_block, gst_pad_push,
987           gst_pad_get_range, gst_pad_pull_range):
988         * gst/gstpad.h (GST_PAD_LINK_SUCCESSFUL, GST_FLOW_CUSTOM_SUCCESS,
989           GST_FLOW_NOT_SUPPORTED, GST_FLOW_IS_FATAL, GstPadActivateFunction,
990           GstPadActivateModeFunction, GstPadChainFunction,
991           GstPadGetCapsFunction, GstPadAcceptCapsFunction,
992           GstPadFixateCapsFunction, GstPadTemplate):
993         * gst/gstpipeline.c (gst_pipeline_change_state,
994           gst_pipeline_set_new_stream_time, gst_pipeline_use_clock,
995           gst_pipeline_set_clock, gst_pipeline_auto_clock,
996           gst_pipeline_get_delay):
997           Whitespace and docs fixes.
998
999 2007-05-21  Sebastian Dröge  <slomo@circular-chaos.org>
1000
1001         * libs/gst/controller/gstinterpolation.c:
1002         (interpolate_trigger_get_enum_value_array),
1003         (interpolate_trigger_get_string_value_array):
1004         Add support for retrieving value arrays when using the trigger
1005         interpolation mode. 
1006
1007 2007-05-21  Sebastian Dröge  <slomo@circular-chaos.org>
1008
1009         * libs/gst/controller/gstcontroller.c:
1010         (gst_controller_get_value_array):
1011         * libs/gst/controller/gstcontroller.h:
1012         Clarify the docs of gst_controller_get_value_array(): The array where
1013         the values should be written to must be allocated as there seems to be
1014         no way to get the size of a random GType. This doesn't change any
1015         behaviour. Also fix some typos all over the place and remove an unused,
1016         commented function that is not necessary as g_object_set() could be
1017         used instead.
1018         * tests/check/libs/controller.c: (GST_START_TEST),
1019         (gst_controller_suite):
1020         Add unit test for gst_controller_get_value_array().
1021
1022 2007-05-21  Jan Schmidt  <thaytan@mad.scientist.com>
1023
1024         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
1025
1026         Disable part of the gst_buffer_try_new_and_alloc test, because
1027         it can happily succeed on 64-bit systems where there's more address
1028         space available.
1029
1030 2007-05-21  Sebastian Dröge  <slomo@circular-chaos.org>
1031
1032         * tests/check/gst/gstpad.c: (GST_START_TEST), (gst_pad_suite):
1033         Add unit test for the improved caps checking from bug #421543.
1034
1035 2007-05-21  Wim Taymans  <wim@fluendo.com>
1036
1037         * docs/design/part-synchronisation.txt:
1038         Small addition.
1039
1040         * gst/gstbin.c: (gst_bin_query):
1041         * plugins/elements/gstqueue.c: (apply_segment):
1042         Improve debugging.
1043
1044         * gst/gstmessage.h:
1045         Improve docs.
1046
1047 2007-05-21  Wim Taymans  <wim@fluendo.com>
1048
1049         * gst/gstpad.c: (gst_pad_get_caps_unlocked),
1050         (gst_pad_acceptcaps_default), (gst_pad_configure_sink),
1051         (gst_pad_configure_src):
1052         Added simple version of improved caps checking. It was previously
1053         assumed that a setcaps function would check the validity of the caps but
1054         people prefer us to check caps against the template automatically. 
1055         Fixes #421543.
1056
1057 2007-05-21  Wim Taymans  <wim@fluendo.com>
1058
1059         * libs/gst/base/gstbasetransform.h:
1060         Fix macro for locking/unlocking the transform lock.
1061
1062 2007-05-19  Tim-Philipp Müller  <tim at centricular dot net>
1063
1064         * docs/plugins/tmpl/.cvsignore:
1065           Ignore more.
1066
1067 2007-05-18  Edward Hervey  <edward@fluendo.com>
1068
1069         * plugins/elements/gstqueue.c: (gst_queue_loop):
1070         Hello, I am Mr Taymans' personal debugger. Today I will introduce a fix
1071         for the subtle art of warning a potentially blocking thread that it
1072         should check the source pad return value, and relay the information
1073         upstream.
1074
1075 2007-05-18  Edward Hervey  <edward@fluendo.com>
1076
1077         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event):
1078         Release the queue lock !
1079
1080 2007-05-17  Sebastian Dröge  <slomo@circular-chaos.org>
1081
1082         * docs/libs/gstreamer-libs-sections.txt:
1083         Add the two new controller functions to the appropiate places.
1084
1085 2007-05-17  Sebastian Dröge  <slomo@circular-chaos.org>
1086
1087         reviewed by: Stefan Kost <ensonic@users.sf.net>
1088
1089         * libs/gst/controller/gstcontroller.c:
1090         (gst_controller_suggest_next_sync), (gst_controller_sync_values),
1091         (_gst_controller_get_property), (_gst_controller_set_property),
1092         (_gst_controller_init), (_gst_controller_class_init):
1093         * libs/gst/controller/gstcontroller.h:
1094         * libs/gst/controller/gsthelper.c: (gst_object_suggest_next_sync),
1095         (gst_object_get_control_rate), (gst_object_set_control_rate):
1096         API: gst_controller_suggest_next_sync(), gst_object_suggest_next_sync()
1097         Add API that provides sync suggestion timestamps for elements that
1098         call gst_object_sync_values() from which those elements can subdivide
1099         their processing loop to get the best results for the controlled
1100         properties. For now it just suggests last_sync + control_rate as
1101         new timestamp but this will be improved in the future.
1102
1103         While doing that change the control-rate property to a GstClockTime
1104         from guint and change it's meaning from samples to nanoseconds as
1105         the GstController doesn't know anything about sampling rate. Strictly
1106         speaking this breaks ABI but as the control-rate property didn't do
1107         anything in the past and as such couldn't be used this should be no
1108         problem.        
1109
1110 2007-05-17  Sebastian Dröge  <slomo@circular-chaos.org>
1111
1112         reviewed by: Stefan Kost <ensonic@users.sf.net>
1113
1114         * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
1115         (gst_controller_unset_all):
1116         * libs/gst/controller/gstcontrollerprivate.h:
1117         * libs/gst/controller/gstinterpolation.c:
1118         (gst_controlled_property_find_control_point_node):
1119         Save last synced value from the list to continue searching from there
1120         in future syncs. This speeds everything up a bit.
1121         
1122 2007-05-17  Sebastian Dröge  <slomo@circular-chaos.org>
1123
1124         reviewed by: Stefan Kost <ensonic@users.sf.net>
1125
1126         * libs/gst/controller/gstcontroller.c: (gst_control_point_compare),
1127         (gst_control_point_find), (gst_controlled_property_new),
1128         (gst_control_point_free), (gst_controlled_property_free),
1129         (gst_controller_set), (gst_controller_set_from_list),
1130         (gst_controller_unset), (gst_controller_unset_all),
1131         (gst_controller_sync_values):
1132         * libs/gst/controller/gstcontroller.h:
1133         * libs/gst/controller/gstcontrollerprivate.h:
1134         * libs/gst/controller/gstinterpolation.c:
1135         (gst_controlled_property_find_control_point_node),
1136         (interpolate_none_get), (interpolate_trigger_get):
1137         Add a new private GstControlPoint struct which "inherits" from
1138         GstTimedValue to allow different interpolators to store internal
1139         values next to each control point. From the outside everything is
1140         still a GstControlPoint so we don't loose binary compatibility.
1141         Also fixup all the GValue handling to not leak GValues or list nodes.
1142         * tests/check/libs/controller.c: (GST_START_TEST):
1143         Free the list nodes and GValues in the controller_misc test.
1144
1145 2007-05-17  Edward Hervey  <edward@fluendo.com>
1146
1147         * gst/gstsegment.c:
1148         Small doc fix.
1149
1150 2007-05-16  Tim-Philipp Müller  <tim at centricular dot net>
1151
1152         * gst/gstplugin.c: (gst_plugin_load_file):
1153           If we fail to load a plugin because of unresolved symbols or missing
1154           libraries and spew a warning to stderr, we may just as well mention
1155           which plugin it was that failed to load.
1156
1157 2007-05-13  David Schleef  <ds@schleef.org>
1158
1159         * docs/Makefile.am: the gtk-doc makefile snippet correctly
1160           handles the case when ENABLE_GTK_DOC is false, and installs
1161           the prebuilt documentation.  So gtk-doc subdirs are 
1162           unconditionally enabled.  Fixes: #349099.
1163
1164 2007-05-13  David Schleef  <ds@schleef.org>
1165
1166         * gst/gstutils.h: Reword some documentation.
1167
1168 2007-05-12  David Schleef  <ds@schleef.org>
1169
1170         * gst/gstplugin.c: gst_plugin_register_func() doesn't actually
1171           do anything with the passed "module" parameter, so remove it.
1172           Allows removal of additional vestigal code.
1173
1174 2007-05-12  David Schleef  <ds@schleef.org>
1175
1176         * gst/gstplugin.c:
1177           Using sigaction should depend on HAVE_SIGACTION, not HAVE_WIN32.
1178           Switch to using g_stat() because it's more portable.
1179
1180 2007-05-12  David Schleef  <ds@schleef.org>
1181
1182         * gst/gst.c:
1183           Add GST_DISABLE_OPTION_PARSING, in order to disable option
1184           parsing for embedded systems.
1185         * gst/gstelementfactory.c:
1186           Allow gst_element_register() to be called with plugin==NULL.
1187           Did nobody notice that static elements were broken?
1188
1189 2007-05-12  Wim Taymans  <wim@fluendo.com>
1190
1191         * tools/gst-launch.c: (event_loop):
1192         Give more interesting info when buffering starts and stops.
1193         Fix case where buffering starts but we fail to update the buffering flag
1194         because the target state is not PLAYING.
1195
1196 2007-05-12  Wim Taymans  <wim@fluendo.com>
1197
1198         * plugins/elements/gstqueue.c: (gst_queue_init),
1199         (gst_queue_finalize), (update_time_level), (apply_segment),
1200         (apply_buffer), (gst_queue_locked_flush),
1201         (gst_queue_locked_enqueue), (gst_queue_locked_dequeue),
1202         (gst_queue_handle_sink_event), (gst_queue_chain),
1203         (gst_queue_push_one), (gst_queue_loop):
1204         * plugins/elements/gstqueue.h:
1205         Refactor an cleanup queue a bit.
1206         Do better time level calculations that also work when the srcpad is not
1207         yet running.
1208         Remove some unneeded debug lines.
1209
1210         * tests/check/elements/queue.c: (GST_START_TEST), (queue_suite):
1211         Added testcase for time level measurement.
1212         Try to make some stuff more racefree.
1213
1214 2007-05-11  Tim-Philipp Müller  <tim at centricular dot net>
1215
1216         * gst/gsturi.c: (gst_element_make_from_uri):
1217           Don't leak plugin feature.
1218
1219         * tests/check/Makefile.am:
1220         * tests/check/gst/.cvsignore:
1221         * tests/check/gst/gsturi.c: (GST_START_TEST), (gst_uri_suite):
1222           Add brain-dead unit test.
1223
1224 2007-05-11  Tim-Philipp Müller  <tim at centricular dot net>
1225
1226         Patch by: Jeroen Wouters <woutersj at gmail com>
1227
1228         * gst/gsturi.c: (gst_uri_get_protocol), (search_by_entry):
1229           Treat protocol strings in a case-insensitive way (#437563).
1230
1231 2007-05-11  Michael Smith <msmith@fluendo.com>
1232
1233         * gst/gstplugin.c: (gst_plugin_load_file):
1234         * gst/gstregistry.c: (gst_registry_scan_path_level):
1235           Don't print a g_warning for any failure to load a shared object.
1236           Instead, push this down into gstplugin.c, and warn _only_ if we
1237           failed to open the module (i.e. failure to link).
1238           Avoids warnings on normal, working, non-plugin .so files.
1239
1240 2007-05-11  Stefan Kost  <ensonic@users.sf.net>
1241
1242         * gst/gstplugin.c (gst_plugin_load_file):
1243         * gst/gstregistry.c (GST_CAT_DEFAULT,
1244           gst_registry_lookup_feature_locked, gst_registry_scan_path_level):
1245           Print a g_warning if there was an error when loading a plugins during
1246           registry scan. The shuld help beginners starting with gst-plugin
1247           template.
1248
1249 2007-05-10  Wim Taymans  <wim@fluendo.com>
1250
1251         * plugins/elements/gstqueue.c: (gst_queue_class_init),
1252         (update_time_level), (gst_queue_locked_flush),
1253         (gst_queue_handle_sink_event), (gst_queue_chain),
1254         (gst_queue_push_one), (gst_queue_loop):
1255         * plugins/elements/gstqueue.h:
1256         Be smarter when calculating the current amount of data in the queue by
1257         measuring the difference between start and end timestamps (in running
1258         time) inside the queue. Fixes #432876.
1259         API: GstQueue::pushing to notify elements that we are pushing data again
1260         since the running signal is rather broken for this purpose.
1261
1262 2007-05-10  Stefan Kost  <ensonic@users.sf.net>
1263
1264         * plugins/elements/gstqueue.c (_do_init, gst_queue_signals,
1265           gst_queue_base_init, gst_queue_init):
1266           use GST_BOILERPLATE
1267
1268 2007-05-09  Sebastien Moutte  <sebastien@moutte.net>
1269
1270         * win32/common/libgstreamer.def:
1271         Add new exported functions.
1272         * win32/vs6/grammar.dsp:
1273         Use grammar pre-generated files.
1274
1275 2007-05-09  Tim-Philipp Müller  <tim at centricular dot net>
1276
1277         Based on patch by: Peter Kjellerstedt  <pkj at axis com>
1278
1279         * gst/Makefile.am:
1280         * gst/gstparse.c: (gst_parse_launchv), (gst_parse_launch):
1281         * gst/gstparse.h:
1282         * gst/gstutils.c: (gst_parse_bin_from_description):
1283         * gst/gstutils.h:
1284           Maintain API and ABI when --disable-parse is used. Now that
1285           we have an appropriate error code, we can just return NULL and the
1286           appropriate error when gst_parse_launch() is used despite it having
1287           been disabled (#342564).
1288
1289         * tests/check/Makefile.am:
1290         * tests/check/pipelines/.cvsignore:
1291         * tests/check/pipelines/parse-disabled.c:
1292           Make sure these functions exist and return NULL plus a GError when
1293           --disable-parse is used.
1294
1295 2007-05-09  Tim-Philipp Müller  <tim at centricular dot net>
1296
1297         * tests/benchmarks/complexity.c: (main):
1298         * tests/benchmarks/mass-elements.c: (main):
1299           Set a good example and don't leak messages.
1300
1301 2007-05-06  Stefan Kost  <ensonic@users.sf.net>
1302
1303         * docs/gst/Makefile.am:
1304         * docs/libs/Makefile.am:
1305           Correct fixxrefs options.
1306
1307         * docs/plugins/Makefile.am:
1308         * docs/plugins/gstreamer-plugins-docs.sgml:
1309         * docs/plugins/gstreamer-plugins-sections.txt:
1310         * plugins/elements/Makefile.am:
1311         * plugins/elements/gstcapsfilter.c (gst_capsfilter_details):
1312         * plugins/elements/gstcapsfilter.h (__GST_CAPSFILTER_H__,
1313           GST_TYPE_CAPSFILTER, GST_CAPSFILTER, GST_CAPSFILTER_CLASS,
1314           GST_IS_CAPSFILTER, GST_IS_CAPSFILTER_CLASS, GstCapsFilter,
1315           GstCapsFilterClass, _GstCapsFilter, trans, filter_caps,
1316           _GstCapsFilterClass, trans_class):
1317         * plugins/elements/gstelements.c (name, rank, type, _elements):
1318         * plugins/elements/gstidentity.c
1319           (gst_identity_check_imperfect_timestamp,
1320           gst_identity_check_imperfect_offset):
1321           Document capsfilter and add doc-blurb to identity.
1322
1323 2007-05-04  Tim-Philipp Müller  <tim at centricular dot net>
1324
1325         * libs/gst/controller/gstcontroller.c:
1326         (gst_controlled_property_set_interpolation_mode):
1327         * libs/gst/controller/gstinterpolation.c:
1328           Don't crash if someone tries to set an interpolation mode that
1329           is invalid or that isn't supported yet. Fixes #422295.
1330
1331         * tests/check/libs/controller.c: (GST_START_TEST),
1332         (gst_controller_suite):
1333           Add a test case for the above.
1334
1335 2007-05-03  Edward Hervey  <edward@fluendo.com>
1336
1337         * libs/gst/base/gstbasetransform.c: (gst_base_transform_chain):
1338         Properly set the last_stop position on GstSegment. This will only happen
1339         if there is a buffer to push out.
1340
1341 2007-05-03  Wim Taymans  <wim@fluendo.com>
1342
1343         * libs/gst/base/gstbasetransform.c:
1344         (gst_base_transform_buffer_alloc):
1345         always_in_place does not mean that the sink and source caps are the
1346         same! Make sure we don't blindly proxy the buffer_alloc in this case.
1347
1348 2007-05-03  Wim Taymans  <wim@fluendo.com>
1349
1350         * docs/libs/gstreamer-libs-sections.txt:
1351         * libs/gst/base/gstbasesrc.c: (gst_base_src_query_latency),
1352         (gst_base_src_default_query), (gst_base_src_get_range):
1353         * libs/gst/base/gstbasesrc.h:
1354         API: gst_base_src_query_latency(). Added method so that subclasses can
1355         easily get the latency values of the base source class.
1356
1357 2007-05-02  Zaheer Abbas Merali  <<zaheerabbas at merali dot org>>
1358
1359         * tools/gst-inspect.c (print_implementation_info):
1360         Remove 0.8 cruft.
1361
1362 2007-05-02  Tim-Philipp Müller  <tim at centricular dot net>
1363
1364         * tools/Makefile.am:
1365         * tools/gst-launch.1.in:
1366           Don't create a customised man page based on the host architecture,
1367           describe the default registry path generically. That way the man
1368           page is the same for all architectures and packagers have one
1369           multilib issue less to deal with. Fixes #434926.
1370
1371 2007-05-02  Wim Taymans  <wim@fluendo.com>
1372
1373         * gst/gstpad.c:
1374         Fix documentation as spotted by rg on IRC. 
1375
1376 2007-04-29  Stefan Kost  <ensonic@users.sf.net>
1377
1378         * gst/gstutils.c:
1379           Improve docs for gst_element_{link,unlink}.
1380
1381 2007-04-28  Tim-Philipp Müller  <tim at centricular dot net>
1382
1383         * docs/design/part-events.txt:
1384         * docs/design/part-overview.txt:
1385         * gst/gstevent.c:
1386         * gst/gsturi.c:
1387         * gst/gsturi.h:
1388         * libs/gst/base/gstbasesink.c:
1389           Typo fixes; minor docs addition.
1390
1391 2007-04-27  Sebastian Dröge  <slomo@circular-chaos.org>
1392
1393         * docs/gst/gstreamer-sections.txt:
1394         * gst/gsturi.c: (get_element_factories_from_uri_protocol),
1395         (gst_uri_protocol_is_supported), (gst_element_make_from_uri):
1396         * gst/gsturi.h:
1397         API: Add gst_uri_protocol_is_supported(), which checks if a sink
1398         or src that supports a given URI protocol exists.
1399
1400 2007-04-27  Sebastian Dröge  <slomo@circular-chaos.org>
1401
1402         * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
1403         * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
1404         Set the location to NULL if "file://" is set as URI. Otherwise
1405         some random previous URI would still be set if "file://" is
1406         set on an already used filesink/filesrc.
1407
1408 2007-04-27  Sebastian Dröge  <slomo@circular-chaos.org>
1409
1410         * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
1411         * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
1412         Special case the "file://" URI as as this is used by some
1413         applications to test with gst_element_make_from_uri if there's
1414         an element that supports the URI protocol.
1415         Also move the g_path_is_absolute() check for the location part
1416         of the URI to also check this for "file://localhost/bla" URIs.
1417
1418 2007-04-26  Tim-Philipp Müller  <tim at centricular dot net>
1419
1420         * docs/gst/gstreamer-sections.txt:
1421         * gst/gstbuffer.c: (gst_buffer_try_new_and_alloc):
1422         * gst/gstbuffer.h:
1423         * tests/check/gst/gstbuffer.c: (GST_START_TEST),
1424         (gst_buffer_suite):
1425           API: add gst_buffer_try_new_and_alloc() plus unit test (#431940).
1426
1427 2007-04-26  Stefan Kost  <ensonic@users.sf.net>
1428
1429         * gst/gstregistrybinary.c: (gst_registry_binary_write_cache),
1430         (gst_registry_binary_load_pad_template),
1431         (gst_registry_binary_load_plugin),
1432         (gst_registry_binary_read_cache):
1433         * gst/gstregistrybinary.h:
1434           Implement no-mmap alternative for registry reading. Do code cleanups.
1435           Add more comments about avoiding strdups for all text data. Comments
1436           welcome.
1437
1438 2007-04-25  Stefan Kost  <ensonic@users.sf.net>
1439
1440         * gst/gstregistrybinary.h (GstBinaryPluginElement,
1441           GstBinaryPluginFeature, _GstBinaryElementFactory, plugin_feature,
1442           GstBinaryElementFactory, _GstBinaryTypeFindFactory, plugin_feature):
1443           Comment structs and reformat to fix the build (that stuff should go
1444           into a priv. header).
1445
1446 2007-04-25  Stefan Kost  <ensonic@users.sf.net>
1447
1448         * gst/gstregistrybinary.c: (gst_registry_binary_save_feature),
1449         (gst_registry_binary_load_feature):
1450         * gst/gstregistrybinary.h:
1451           Refactor so that we can implement multiple features. Add support for
1452           TypeFindFactory features.
1453
1454 2007-04-24  Stefan Kost  <ensonic@users.sf.net>
1455
1456         Patch by: Peter Kjellerstedt <Peter.Kjellerstedt@axis.com>
1457
1458         * configure.ac:
1459           Fix AM_CONDITIONAL(GST_DISABLE_GST_DEBUG,...) and update comment.
1460
1461 2007-04-23  Stefan Kost  <ensonic@users.sf.net>
1462
1463         * gst/gstbin.c: (gst_bin_element_set_state),
1464         (iterator_activate_fold_with_resync), (gst_bin_continue_func),
1465         (bin_handle_async_done), (gst_bin_handle_message_func):
1466           Fix build with --gst-disable-gst-debug
1467
1468 2007-04-21  Tim-Philipp Müller  <tim at centricular dot net>
1469
1470         * libs/gst/base/gstbasetransform.c: (gst_base_transform_activate):
1471           Make sure streaming has finished before calling the ::stop() vfunc,
1472           since that vfunc might clear state which is being used in the
1473           streaming thread. This fixes a race that caused crashes in
1474           audioresample when shutting down a pipeline (#420106).
1475
1476 2007-04-20  Stefan Kost  <ensonic@users.sf.net>
1477
1478         * docs/gst/gstreamer-sections.txt:
1479           That was one byte missing.
1480
1481 2007-04-20  Stefan Kost  <ensonic@users.sf.net>
1482
1483         * configure.ac:
1484         * docs/gst/gstreamer-sections.txt:
1485         * gst/Makefile.am:
1486         * gst/gstconfig.h.in:
1487         * gst/gstobject.c: (gst_object_class_init),
1488         (gst_signal_object_class_init):
1489         * gst/gstobject.h:
1490           2nd attempt to have a xml-less build as a joined effort of #413123
1491           and #421480.
1492
1493 2007-04-20  Stefan Kost  <ensonic@users.sf.net>
1494
1495         * docs/design/draft-tagreading.txt:
1496           Added open issues/thoughts to draft.
1497
1498 2007-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
1499
1500         * gst/parse/grammar.tab.pre.c:
1501         * gst/parse/grammar.tab.pre.h:
1502         * gst/parse/lex._gst_parse_yy.pre.c:
1503         Update the prebuild parser sources.
1504
1505 2007-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
1506
1507         * gst/parse/Makefile.am:
1508         And now fix the building of the flex sources. Now everything should
1509         work as expected.
1510
1511 2007-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
1512
1513         * gst/parse/Makefile.am:
1514         Now hopefully fix the build failures by setting proper rule
1515         dependencies and moving instead of copying.
1516
1517 2007-04-19  Stefan Kost  <ensonic@users.sf.net>
1518
1519         * tests/benchmarks/complexity.gnuplot:
1520         * tests/benchmarks/complexity.scm:
1521         * tests/benchmarks/mass-elements.gnuplot:
1522         * tests/benchmarks/mass-elements.scm:
1523           Total licensification.
1524
1525 2007-04-19  Stefan Kost  <ensonic@users.sf.net>
1526
1527         * gst/parse/Makefile.am:
1528           Fix the build by correcting the rule that gave wrong files to flex.
1529
1530 2007-04-19  Stefan Kost  <ensonic@users.sf.net>
1531
1532         * tests/benchmarks/complexity.c:
1533         * tests/benchmarks/mass-elements.c:
1534           Change licence to LGPL as granted by Benjamin and Andy.
1535
1536 2007-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
1537
1538         * gst/parse/Makefile.am:
1539         Add correct grammar.tab.h dependency if compiling without new enough
1540         flex. Fixes #431150.
1541
1542 2007-04-18  Sebastian Dröge  <slomo@circular-chaos.org>
1543
1544         * gst/parse/Makefile.am:
1545         Fix typo and use outdated sources if the flex/bison sources are newer
1546         than the pregenerated ones but flex is too old. Print a warning in
1547         that case. This should fix the build on the build bot.
1548
1549 2007-04-18  Sebastian Dröge  <slomo@circular-chaos.org>
1550
1551         Patch by: Marc-Andre Lureau <marcandre dot lureau at gmail dot com>
1552         * gst/parse/Makefile.am:
1553         * gst/parse/grammar.y:
1554         * gst/parse/parse.l:
1555         Make the parser reentrant and recursively callable. This requires flex
1556         >= 2.5.31, for older versions pregenerated sources are used as we
1557         can't bump the build dependency. Finally fixes #349180.
1558
1559         * gst/gstparse.c: (gst_parse_launch):
1560         Drop the HAVE_MT_SAVE_FLEX #ifdefs as we always use a new enough flex
1561         now anyway.
1562
1563         * docs/gst/Makefile.am:
1564         * docs/gst/Makefile.am:
1565         * gst/parse/grammar.tab.pre.c: (__gst_parse_strdup),
1566         (__gst_parse_strfree), (__gst_parse_link_new),
1567         (__gst_parse_link_free), (__gst_parse_chain_new),
1568         (__gst_parse_chain_free), (SET_ERROR), (YYPRINTF),
1569         (gst_parse_element_set), (gst_parse_free_link),
1570         (gst_parse_found_pad), (gst_parse_perform_delayed_link),
1571         (gst_parse_perform_link), (yytnamerr), (yysyntax_error), (yyerror),
1572         (_gst_parse_launch):
1573         * gst/parse/grammar.tab.pre.h:
1574         * gst/parse/lex._gst_parse_yy.pre.c: (PRINT), (yy_get_next_buffer),
1575         (yy_get_previous_state), (yy_try_NUL_trans), (input),
1576         (_gst_parse_yyrestart), (_gst_parse_yy_switch_to_buffer),
1577         (_gst_parse_yy_load_buffer_state), (_gst_parse_yy_create_buffer),
1578         (_gst_parse_yy_delete_buffer), (_gst_parse_yy_init_buffer),
1579         (_gst_parse_yy_flush_buffer), (_gst_parse_yypush_buffer_state),
1580         (_gst_parse_yypop_buffer_state),
1581         (_gst_parse_yyensure_buffer_stack), (_gst_parse_yy_scan_buffer),
1582         (_gst_parse_yy_scan_string), (_gst_parse_yy_scan_bytes),
1583         (yy_fatal_error), (_gst_parse_yyget_extra),
1584         (_gst_parse_yyget_lineno), (_gst_parse_yyget_column),
1585         (_gst_parse_yyget_in), (_gst_parse_yyget_out),
1586         (_gst_parse_yyget_leng), (_gst_parse_yyget_text),
1587         (_gst_parse_yyset_extra), (_gst_parse_yyset_lineno),
1588         (_gst_parse_yyset_column), (_gst_parse_yyset_in),
1589         (_gst_parse_yyset_out), (_gst_parse_yyget_debug),
1590         (_gst_parse_yyset_debug), (_gst_parse_yyget_lval),
1591         (_gst_parse_yyset_lval), (_gst_parse_yylex_init),
1592         (yy_init_globals), (_gst_parse_yylex_destroy), (yy_flex_strncpy),
1593         (yy_flex_strlen), (_gst_parse_yyalloc), (_gst_parse_yyrealloc),
1594         (_gst_parse_yyfree):
1595         If the installed flex version is too old use pre-generated parser
1596         sources. These pre-generated parser sources are always updated when
1597         the actual flex/bison sources change but require everybody who wants
1598         to change something in the parser to have flex >= 2.5.31 installed.
1599
1600 2007-04-18  Stefan Kost  <ensonic@users.sf.net>
1601
1602         * common/m4/gst-gettext.m4:
1603         * gst/gst-i18n-lib.h:
1604           Make --disable-nls to work
1605
1606 2007-04-17  Wim Taymans  <wim@fluendo.com>
1607
1608         * gst/gstconfig.h.in:
1609         Revert previous change that broke the build.
1610
1611 2007-04-17  Stefan Kost  <ensonic@users.sf.net>
1612
1613         * configure.ac:
1614         * gst/Makefile.am:
1615         * gst/gstconfig.h.in:
1616           Drop libxml2 dependency when building with 
1617           --enable-binary-registry --disable-loadsave
1618
1619 2007-04-16  Tim-Philipp Müller  <tim at centricular dot net>
1620
1621         * gst/gstregistrybinary.c: (gst_registry_binary_write_cache),
1622         (gst_registry_binary_read_cache):
1623         * gst/gstregistrybinary.h:
1624           Remove unnecessary <sys/mman.h> include which broke the win32 build
1625           with MingW; move includes from header file to .c file, even if the
1626           header file isn't installed; use g_strerror() where UTF-8 strings
1627           are expected, such as in GST_DEBUG messages.
1628
1629 2007-04-13  Jan Schmidt  <thaytan@mad.scientist.com>
1630
1631         * docs/libs/gstreamer-libs-sections.txt:
1632         Remove bogus addition for API I didn't end up keeping.
1633
1634         * libs/gst/base/gstbasesrc.h:
1635         Mention Since: 0.10.13 in the documentation.
1636
1637         Add the API keyword to the previous ChangeLog entry.
1638
1639 2007-04-13  Jan Schmidt  <thaytan@mad.scientist.com>
1640
1641         * docs/libs/gstreamer-libs-sections.txt:
1642         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
1643         (gst_base_src_default_prepare_seek_segment),
1644         (gst_base_src_prepare_seek_segment), (gst_base_src_perform_seek):
1645         * libs/gst/base/gstbasesrc.h:
1646         Allow basesrc derived classes to execute seeks in other formats
1647         by providing a prepare_seek_segment vmethod. Sub-classes can choose
1648         to prepare the GstSegment in any format that their perform_seek method
1649         will be able to understand. The default implementation provides the
1650         old behaviour of attempting to convert the seek offsets to the 
1651         configured native format.
1652
1653         API: basesrc::prepare_seek_segment vmethod.
1654
1655 2007-04-13  Jan Schmidt  <thaytan@mad.scientist.com>
1656
1657         * gst/gstelement.c: (gst_element_get_state_func):
1658         Don't output the same debug statement twice.
1659
1660         * libs/gst/base/gstadapter.c: (gst_adapter_try_to_merge_up),
1661         (gst_adapter_peek), (gst_adapter_take_buffer):
1662         Optimise the case where we have buffers at the head of the queue that
1663         can be joined quickly (because they're contiguous sub-buffers) by
1664         merging them together rather than copying data out into new memory.
1665
1666         * gst/parse/grammar.y:
1667         * tests/check/pipelines/parse-launch.c:
1668         Fix a leak in an error path for parse_launch, and add a check 
1669         for it to the testsuite.
1670
1671 2007-04-13  Jan Schmidt  <thaytan@mad.scientist.com>
1672
1673         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_release_pad):
1674           Don't deadlock when releasing a pad - gst_pad_set_active may try
1675           and take the multiqueue lock too.
1676
1677 2007-04-12  Tim-Philipp Müller  <tim at centricular dot net>
1678
1679         * gst/gsterror.c: (_gst_core_errors_init):
1680         * gst/gsterror.h:
1681           API: add GST_CORE_ERROR_DISABLED (#392804).
1682
1683 2007-04-12  Thomas Vander Stichele  <thomas at apestaart dot org>
1684
1685         * docs/faq/gst-uninstalled:
1686           don't get empty paths on the PATH variables
1687         * gst/gstpad.c (gst_pad_is_active, gst_pad_set_blocked_async):
1688           Don't format for the uncommon terminal width of 84 characters.
1689
1690 2007-04-06  Wim Taymans  <wim@fluendo.com>
1691
1692         * gst/gstpipeline.c: (reset_stream_time),
1693         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time):
1694         Only try to select a different pipeline clock when we went back to
1695         PAUSED and not when we merely got flushed.
1696
1697 2007-04-05  Michael Smith  <msmith@fluendo.com>
1698
1699         * tools/gst-launch.1.in:
1700           fractions are better supported in gstreamer than ractions, so
1701           suggest using those.
1702
1703 2007-04-05  Thomas Vander Stichele  <thomas at apestaart dot org>
1704
1705         Submitted by: Mogens Jaeger <mogens@jaeger.tf>
1706
1707         * po/LINGUAS:
1708         * po/da.po:
1709           Added Danish translation.
1710
1711 2007-04-05  Wim Taymans  <wim@fluendo.com>
1712
1713         * libs/gst/base/gstbasesink.c:
1714         (gst_base_sink_queue_object_unlocked), (gst_base_sink_event):
1715         Fix leak caused when refusing newsegment after EOS.
1716
1717         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init),
1718         (gst_fake_sink_init), (gst_fake_sink_set_property),
1719         (gst_fake_sink_get_property), (gst_fake_sink_preroll),
1720         (gst_fake_sink_render), (gst_fake_sink_change_state):
1721         * plugins/elements/gstfakesink.h:
1722         Add num-buffers property to make the element generate EOS after a
1723         configurable amount of buffers.
1724         API: fakesink::num-buffers property.
1725
1726         * tests/check/elements/fakesink.c: (GST_START_TEST),
1727         (fakesink_suite):
1728         Fix GstBus leak in test.
1729         Test for fakesink num-buffers.
1730
1731 2007-04-05  Wim Taymans  <wim@fluendo.com>
1732
1733         * libs/gst/base/gstbasesink.c:
1734         (gst_base_sink_queue_object_unlocked), (gst_base_sink_event),
1735         (gst_base_sink_change_state):
1736         Don't accept anything after an EOS, return UNEXPECTED instead.
1737
1738         * tests/check/elements/fakesink.c: (GST_START_TEST),
1739         (fakesink_suite):
1740         Unit test for new EOS behaviour.
1741
1742 2007-04-05  Wim Taymans  <wim@fluendo.com>
1743
1744         * gst/gstelement.c: (gst_element_get_request_pad):
1745         Make padtemplates also work when they don't contain %s or %d.
1746
1747 2007-04-05  Wim Taymans  <wim@fluendo.com>
1748
1749         * docs/gst/gstreamer-sections.txt:
1750         * gst/gstclock.c: (gst_clock_adjust_unlocked),
1751         (gst_clock_unadjust_unlocked), (gst_clock_set_calibration):
1752         * gst/gstclock.h:
1753         Improve _adjust_unlocked() so that it overflows less.
1754         Add gst_clock_unadjust_unlocked to convert from external time to
1755         internal time based on calibration.
1756         Add some more debug.
1757         API: GstClock::gst_clock_unadjust_unlocked()
1758
1759 2007-04-03  Wim Taymans  <wim@fluendo.com>
1760
1761         Patch by: Tommi Myöhänen <ext-tommi dot myohanen at nokia dot com>
1762
1763         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_release_pad):
1764         Deactivate pads and free GstSingleQueue with gst_single_queue_free()
1765         when releasing sink pad. Fixes #425400.
1766
1767 2007-04-02  Stefan Kost  <ensonic@users.sf.net>
1768
1769         * docs/random/ensonic/dynlink.txt:
1770           More work on proposal for new core api.
1771
1772         * docs/libs/gstreamer-libs-sections.txt:
1773         * libs/gst/base/gstbasetransform.h:
1774           API: GST_BASE_TRANSFORM_LOCK/UNLOCK added
1775           
1776         * libs/gst/controller/gstcontroller.c:
1777         (on_object_controlled_property_changed),
1778         (gst_controller_sync_values),
1779         (gst_controller_set_interpolation_mode):
1780         * libs/gst/controller/gstcontroller.h:
1781           Less verbose logging add docs for unimplemented parts and correctly
1782           return when using unavailable parts.
1783
1784 2007-03-29  Jan Schmidt  <thaytan@mad.scientist.com>
1785
1786         * gst/gstclock.c: (gst_clock_set_master), (do_linear_regression):
1787         Move all the debug to the CLOCK category, and associate it with
1788         the clock object.
1789
1790 2007-03-29  Jan Schmidt  <thaytan@mad.scientist.com>
1791
1792         * libs/gst/base/gstadapter.c: (gst_adapter_take_buffer):
1793         Make take_buffer a bit quicker by removing redundant checks
1794         caused by calling gst_adapter_take.
1795
1796 2007-03-28  Tim-Philipp Müller  <tim at centricular dot net>
1797
1798         * plugins/elements/gstmultiqueue.c: (gst_single_queue_free):
1799           Don't leak GCond.
1800
1801         * tests/check/Makefile.am:
1802         * tests/check/elements/.cvsignore:
1803         * tests/check/elements/multiqueue.c: (setup_multiqueue),
1804         (GST_START_TEST), (multiqueue_suite):
1805           Add some dead simple unit tests for the 'multiqueue' element
1806           (some bits don't work yet and are disabled for now).
1807
1808 2007-03-28  Tim-Philipp Müller  <tim at centricular dot net>
1809
1810         * gst/gstelement.c: (gst_element_get_request_pad),
1811         (gst_element_class_get_request_pad_template):
1812           Make gst_element_get_request_pad() create request pads only for
1813           request pad templates and not for, say, sometimes pad templates.
1814
1815 2007-03-28  Stefan Kost  <ensonic@users.sf.net>
1816
1817         * docs/design/draft-klass.txt:
1818           Add example that needs more thinking.
1819         
1820         * docs/design/draft-missing-plugins.txt:
1821           More thoughts about wrapper plugins.
1822         
1823         * docs/random/ensonic/embedded.txt:
1824         * docs/random/ensonic/profiling.txt:
1825           More design work.
1826
1827 2007-03-25  Wim Taymans  <wim@fluendo.com>
1828
1829         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range),
1830         (gst_base_src_loop):
1831         Only push the segment events in the PLAYING state for live sources.
1832
1833 2007-03-23  Jan Schmidt  <thaytan@mad.scientist.com>
1834
1835         * gst/gstpipeline.c: (gst_pipeline_change_state):
1836         Modify the clock distribution path in PAUSED->PLAYING so that we 
1837         never attempt to choose a new clock unless we're actually leaving
1838         the PAUSED state for the first time. This prevents choosing a
1839         different clock when the state_change gets called for a 2nd time due
1840         to some element doing an async state change.
1841
1842 2007-03-22  Sebastian Dröge  <slomo@circular-chaos.org>
1843
1844         * gst/gstpad.c: (gst_pad_set_caps), (gst_pad_configure_sink),
1845         (gst_pad_configure_src), (gst_pad_alloc_buffer_full),
1846         (gst_pad_chain_unchecked), (gst_pad_push):
1847         Revert last commit. This needs some more thoughts.
1848
1849 2007-03-22  Sebastian Dröge  <slomo@circular-chaos.org>
1850
1851         * gst/gstpad.c: (gst_pad_set_caps), (gst_pad_alloc_buffer_full),
1852         (gst_pad_chain_unchecked), (gst_pad_push):
1853         Check in set_caps if the caps are compatible with the pad and remove
1854         two functions that are redundant now. Fixes #421543.
1855
1856 2007-03-22  Wim Taymans  <wim@fluendo.com>
1857
1858         * tests/check/gst/gstsystemclock.c: (GST_START_TEST),
1859         (mixed_thread), (mixed_async_cb), (gst_systemclock_suite):
1860         Unref some more to make valgrind happy.
1861
1862 2007-03-22  Wim Taymans  <wim@fluendo.com>
1863
1864         * gst/gstsystemclock.c: (gst_system_clock_id_wait_jitter_unlocked),
1865         (gst_system_clock_id_wait_jitter),
1866         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
1867         Fix anoying regression that survived a few releases. When adding an
1868         async entry while blocking on a sync entry, the sync entry will unblock
1869         but still be busy, so it should continue to wait instead of returning
1870         _BUSY to the app.
1871         Add some comments here and there.
1872
1873         * tests/check/gst/gstsystemclock.c: (mixed_thread),
1874         (mixed_async_cb), (GST_START_TEST), (gst_systemclock_suite):
1875         Add testcase for this.
1876
1877 2007-03-22  Wim Taymans  <wim@fluendo.com>
1878
1879         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
1880         Handle errors from the clock sync better, only UNSCHEDULED indicates a
1881         WRONG_STATE and can silently pause the task. All other cases should
1882         error out.
1883
1884 2007-03-22  Wim Taymans  <wim@fluendo.com>
1885
1886         Patch by: Ville Syrjala <syrjala at sci dot fi>
1887
1888         * gst/gstpad.c: (gst_pad_alloc_buffer_full), (gst_pad_send_event):
1889         Fix possible deadlock if pad eventfunc is not specified.  Fixes #421177.
1890         Improve debugging.
1891
1892 2007-03-21  Michael Smith  <msmith@fluendo.com>
1893
1894         * docs/pwg/advanced-types.xml:
1895           Fix some errors in the typefinding docs pointed out on irc.
1896
1897 2007-03-21  Jan Schmidt  <thaytan@mad.scientist.com>
1898
1899         * libs/gst/base/gstbasesrc.c:
1900         Clarify FIXME comment in the face of having added unlock_stop()
1901
1902 2007-03-21  Wim Taymans  <wim@fluendo.com>
1903
1904         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_element_set_state):
1905         Prepare for release where we warn against possible app breakage in the
1906         case of live pipelines along with an env var to enable/disable live
1907         preroll mode (GST_COMPAT=[no-]live-preroll).
1908
1909 2007-03-20  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
1910
1911         * plugins/elements/gstidentity.c (gst_identity_check_imperfect_offset):
1912         So we should use correct constants for checking for None offset.
1913
1914 2007-03-20  Wim Taymans  <wim@fluendo.com>
1915
1916         * docs/design/part-block.txt:
1917         Mention the fact that the newly switched element should be set to at
1918         least PAUSED.
1919
1920 2007-03-20  Wim Taymans  <wim@fluendo.com>
1921
1922         * gst/gst.c:
1923         Fix compilation with registry disabled as spotted by Saur.
1924
1925 2007-03-20  Wim Taymans  <wim@fluendo.com>
1926
1927         Patch by: Olivier Crete <tester at tester dot ca>
1928
1929         * gst/gstelement.c: (gst_element_sync_state_with_parent):
1930         Look at the pending state too when syncing the element state to the
1931         parent. Fixes #420133.
1932
1933 2007-03-19  Jan Schmidt  <thaytan@mad.scientist.com>
1934
1935         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_flushing),
1936         (gst_base_sink_change_state):
1937         * libs/gst/base/gstbasesink.h:
1938         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
1939         (gst_base_src_default_event), (gst_base_src_unlock_stop),
1940         (gst_base_src_deactivate):
1941         * libs/gst/base/gstbasesrc.h:
1942         Add ::unlock_stop to basesrc and basesink. This allows an opportunity
1943         for sub-classes to correctly clear any state they set trying to
1944         unlock, such as clearing out unlock commands from a command fd.
1945         API: basesrc::unlock_stop
1946         API: basesink::unlock_stop
1947
1948         * plugins/elements/gstfdsink.c: (gst_fd_sink_class_init),
1949         (gst_fd_sink_render), (gst_fd_sink_unlock),
1950         (gst_fd_sink_unlock_stop):
1951         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init),
1952         (gst_fd_src_init), (gst_fd_src_unlock), (gst_fd_src_unlock_stop),
1953         (gst_fd_src_create), (gst_fd_src_get_size), (gst_fd_src_do_seek):
1954
1955         Implement unlock_stop in fdsrc and fdsink.
1956         Implement seeking in fdsrc when a seekable fd is passed, as in
1957         gst-launch-0.10 fdsrc ! ... ! xvimagesink < /path/to/file
1958
1959 2007-03-19  Wim Taymans  <wim@fluendo.com>
1960
1961         Patch by: Evan Nemerson <evan at coeus dash group dot com>
1962
1963         * gst/gstelement.c: (gst_element_class_init):
1964         Fix pad-added and pad-removed signal signatures so that the pad type is
1965         stated as GST_TYPE_PAD instead of G_TYPE_OBJECT. Fixes #419851.
1966
1967 2007-03-19  Wim Taymans  <wim@fluendo.com>
1968
1969         * docs/gst/gstreamer-sections.txt:
1970         Add new element field and method.
1971
1972         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
1973         (bin_remove_messages), (gst_bin_add_func), (gst_bin_remove_func),
1974         (gst_bin_recalc_state), (gst_bin_get_state_func),
1975         (gst_bin_element_set_state), (gst_bin_change_state_func),
1976         (gst_bin_continue_func), (bin_bus_handler),
1977         (bin_push_state_continue), (bin_handle_async_start),
1978         (bin_handle_async_done), (gst_bin_handle_message_func):
1979         Make async state changes a bit smarter by using new ASYNC_START and
1980         ASYNC_DONE messages. This reduces the number of times we run the state
1981         recalculation thread.
1982         Don't change state of element with a pending ASYNC_START message.
1983         Deprecate STATE_DIRTY messages.
1984         
1985         * gst/gstelement.c: (gst_element_init), (gst_element_send_event),
1986         (gst_element_get_state_func), (gst_element_continue_state),
1987         (gst_element_lost_state), (gst_element_set_state_func),
1988         (gst_element_change_state):
1989         * gst/gstelement.h:
1990         Keep the state that was last set by the app in a new element field.
1991         Don't allow state changes when handling an element event.
1992         Post ASYNC_START and ASYNC_DONE messages.
1993         Change lost_state so that we go to PAUSED and wait for the parent to set
1994         us to PLAYING again (so latency calculation can be performed)
1995         Export gst_element_change_state() method so that subclasses can use it.
1996         API: gst_element_change_state()
1997         API: GST_STATE_TARGET
1998
1999         * gst/gstpipeline.c: (gst_pipeline_class_init),
2000         (reset_stream_time), (gst_pipeline_change_state),
2001         (gst_pipeline_handle_message), (gst_pipeline_set_new_stream_time):
2002         Using the new ASYNC_START message we can reset the base_time when
2003         needed. This can then be used to implement base_time redistribution in
2004         flushing seeks so that we can remove the explicit seek handling.
2005         Perform latency query and configuration when going to PLAYING.
2006
2007         * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
2008         (gst_base_sink_query), (gst_base_sink_change_state):
2009         Post new ASYNC_START/ASYNC_DONE messages.
2010
2011         * tests/check/generic/sinks.c: (GST_START_TEST):
2012         Fix test because the bin will not set the async element to PLAYING right
2013         away.
2014
2015         * tests/check/gst/gstbin.c: (pop_async_done), (GST_START_TEST):
2016         Make the message check a little stronger.
2017         Handle ASYNC messages.
2018
2019         * tests/check/pipelines/cleanup.c: (GST_START_TEST):
2020         * tests/check/pipelines/simple-launch-lines.c: (GST_START_TEST):
2021         Expect ASYNC_DONE messages.
2022
2023 2007-03-19  Wim Taymans  <wim@fluendo.com>
2024
2025         * docs/gst/gstreamer-sections.txt:
2026         * gst/gstmessage.c: (gst_message_new_async_start),
2027         (gst_message_new_async_done), (gst_message_parse_info),
2028         (gst_message_parse_async_start):
2029         * gst/gstmessage.h:
2030         Add ASYNC_START and ASYNC_DONE messages to prepare for latency
2031         support.
2032
2033 2007-03-15  Tim-Philipp Müller  <tim at centricular dot net>
2034
2035         * tools/gst-inspect.c:
2036         (print_plugin_automatic_install_info_codecs):
2037           Now that we don't check for the 'Codec' keyword any longer in the
2038           klass, we shouldn't spew a warning if the klass isn't a decoder or
2039           encoder (since it might be a Source/Network, for example).
2040
2041 2007-03-14  Tim-Philipp Müller  <tim at centricular dot net>
2042
2043         * tools/gst-inspect.c:
2044         (print_plugin_automatic_install_info_codecs):
2045           Don't require decoder/demuxer/depayloader elements or
2046           encoder/muxer/paylader elements to have 'Codec' as part of their
2047           factory class string when introspecting a plugin's capabilities.
2048           draft-klass.txt mentions that it might be removed in future, and
2049           flump3dec doesn't have it as part of its class string, so chances
2050           are others might also not have it.
2051
2052 2007-03-14  Thomas Vander Stichele  <thomas at apestaart dot org>
2053
2054         * po/af.po:
2055         * po/az.po:
2056         * po/bg.po:
2057         * po/ca.po:
2058         * po/cs.po:
2059         * po/de.po:
2060         * po/en_GB.po:
2061         * po/fr.po:
2062         * po/it.po:
2063         * po/nb.po:
2064         * po/nl.po:
2065         * po/ru.po:
2066         * po/sq.po:
2067         * po/sr.po:
2068         * po/sv.po:
2069         * po/tr.po:
2070         * po/uk.po:
2071         * po/vi.po:
2072         * po/zh_CN.po:
2073         * po/zh_TW.po:
2074           Update translations from translation project
2075
2076 2007-03-14  Stefan Kost  <ensonic@users.sf.net>
2077
2078         * gst/gstchildproxy.c: (gst_child_proxy_get_property),
2079         (gst_child_proxy_set_property):
2080           Invert precondition check to be alike the ones in the mimiced gobject
2081           api.
2082
2083 2007-03-13  Stefan Kost  <ensonic@users.sf.net>
2084
2085         * docs/design/draft-tagreading.txt:
2086         * docs/random/ensonic/audiobaseclasses.txt:
2087           Do some Architect work.
2088
2089         * gst/gstobject.c: (gst_object_set_name):
2090           Add a WARNING.
2091
2092         * gst/gstpad.c:
2093           Add docs that point from gst_pad_get_range to gst_pad_pull_range
2094
2095 2007-03-12  Jan Schmidt  <thaytan@mad.scientist.com>
2096
2097         * gst/gstsystemclock.c: (gst_system_clock_init),
2098         (gst_system_clock_start_async), (gst_system_clock_id_wait_async):
2099         Defer starting the async system clock thread until the first async
2100         wait is scheduled. Fixes #414986.
2101
2102 2007-03-12  Tim-Philipp Müller  <tim at centricular dot net>
2103
2104         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_finalize),
2105         (gst_single_queue_free):
2106           Fix small leak (free GstSingleQueue structure too, not only contents).
2107
2108 2007-03-10  Sebastien Moutte  <sebastien@moutte.net>
2109
2110         * gst/gstbin.c:(gst_bin_add):
2111         Use GST_STR_NULL to prevent NULL pointer to be passed to GST_CAT_DEBUG.
2112         * win32/common/libgstbase.def:
2113         * win32/common/libgstreamer.def:
2114         Add new exported functions.
2115
2116 2007-03-09  Wim Taymans  <wim@fluendo.com>
2117
2118         * docs/plugins/gstreamer-plugins-sections.txt:
2119         Fix GstTee docs.
2120
2121 2007-03-09  Wim Taymans  <wim@fluendo.com>
2122
2123         * docs/gst/gstreamer-sections.txt:
2124         * gst/gstbuffer.c: (gst_buffer_copy_metadata), (_gst_buffer_copy):
2125         * gst/gstbuffer.h:
2126         Add metadata copy functions. Fixes #393099.
2127         API: gst_buffer_copy_metadata()
2128
2129         * gst/gstutils.c: (gst_buffer_stamp):
2130         * libs/gst/base/gstbasetransform.c:
2131         (gst_base_transform_prepare_output_buffer):
2132         Use new metadata copy functions.
2133
2134 2007-03-09  Thomas Vander Stichele  <thomas at apestaart dot org>
2135
2136         * plugins/elements/gstidentity.c: (gst_identity_class_init),
2137         (gst_identity_init), (gst_identity_check_perfect),
2138         (gst_identity_check_imperfect_timestamp),
2139         (gst_identity_check_imperfect_offset), (gst_identity_transform_ip),
2140         (gst_identity_set_property), (gst_identity_get_property):
2141         * plugins/elements/gstidentity.h:
2142         Separate out check-imperfect-timestamp and check-imperfect-offset.
2143         Put back check-perfect as it was to keep compatibility.
2144
2145 2007-03-09  Jan Schmidt  <thaytan@mad.scientist.com>
2146
2147         * gst/gstelement.c: (gst_element_dispose):
2148         There's no need to warn if VOID_PENDING is not NONE here, as
2149         long as the state is NULL it's ok, and that's checked immediately
2150         above.
2151
2152 2007-03-08  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
2153
2154         * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
2155         Fix check for perfect stream to ignore buffers with -1 
2156         offsets/offset ends when checking data contiguity.
2157
2158 2007-03-08  Wim Taymans  <wim@fluendo.com>
2159
2160         * tools/gst-launch.c: (event_loop):
2161         Print INFO messages.
2162
2163 2007-03-08  Wim Taymans  <wim@fluendo.com>
2164
2165         * libs/gst/base/gstbasetransform.c:
2166         (gst_base_transform_sink_eventfunc),
2167         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
2168         (gst_base_transform_activate):
2169         * libs/gst/base/gstbasetransform.h:
2170         Add support for dropping buffers with custom GstFlowReturn.
2171         Set DISCONT flags on outgoing buffers based on QoS, incomming DISCONT
2172         buffers or dropped buffers.
2173
2174         * docs/libs/gstreamer-libs-sections.txt:
2175         docs for new custom return code.
2176
2177         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
2178         Use drop support in base class to implement drop-probability.
2179
2180 2007-03-07  Tim-Philipp Müller  <tim at centricular dot net>
2181
2182         * gst/gst.c: (load_plugin_func):
2183         * gst/gstplugin.c: (gst_plugin_load_by_name), (gst_plugin_load):
2184         * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
2185         * gst/gsttrace.c: (gst_trace_new), (gst_alloc_trace_set_flags_all):
2186           Remove newlines at end of debug log strings.
2187
2188 2007-03-07  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
2189
2190         * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
2191         Only post bus message at max, once per buffer received.
2192
2193 2007-03-07  Wim Taymans  <wim@fluendo.com>
2194
2195         * docs/design/Makefile.am:
2196         * docs/design/part-synchronisation.txt:
2197         Add doc about synchronisation
2198
2199         * docs/design/draft-latency.txt:
2200         * docs/design/part-TODO.txt:
2201         * docs/design/part-clocks.txt:
2202         * docs/design/part-events.txt:
2203         * docs/design/part-gstbus.txt:
2204         * docs/design/part-gstpipeline.txt:
2205         * docs/design/part-live-source.txt:
2206         * docs/design/part-messages.txt:
2207         * docs/design/part-overview.txt:
2208         * docs/design/part-streams.txt:
2209         * docs/design/part-trickmodes.txt:
2210         Documentation updates.
2211
2212 2007-03-07  Jan Schmidt  <thaytan@mad.scientist.com>
2213
2214         * gstreamer.doap:
2215         Update the doap file.
2216
2217 2007-03-07  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
2218
2219         * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
2220         Rename non-perfect to imperfect for Mike and for the sanctity of the
2221         language.
2222         Also make sure bus message gets emitted for data-incontiguities.
2223
2224 2007-03-07  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
2225
2226         * plugins/elements/gstidentity.c: (gst_identity_check_perfect),
2227         (gst_identity_start):
2228         * plugins/elements/gstidentity.h:
2229         Emit bus message if check-perfect is true and we encounter a
2230         non-perfect stream between 2 consecutive buffers.
2231         Fixes #415394.
2232
2233 2007-03-07  Jan Schmidt  <thaytan@mad.scientist.com>
2234
2235         * configure.ac:
2236         Back to CVS
2237
2238 === release 0.10.12 ===
2239
2240 2007-03-07  Jan Schmidt <thaytan@mad.scientist.com>
2241
2242         * configure.ac:
2243           releasing 0.10.12, "Inevitable Demise"
2244
2245 2007-03-01  Jan Schmidt  <thaytan@mad.scientist.com>
2246
2247         * configure.ac:
2248          Version 0.10.11.2 (0.10.12 pre-release)
2249          Bump libtool versioning.
2250
2251 2007-03-01  Stefan Kost  <ensonic@users.sf.net>
2252
2253         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
2254           Log flow-names and not numbers.
2255
2256 2007-02-28  Thomas Vander Stichele  <thomas at apestaart dot org>
2257
2258         * configure.ac:
2259           Convert to new AG_GST style.
2260
2261 2007-02-28  Wim Taymans  <wim@fluendo.com>
2262
2263         * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency):
2264         Don't unref query twice.
2265
2266 2007-02-28  Wim Taymans  <wim@fluendo.com>
2267
2268         * gst/gstvalue.c: (gst_value_transform_object_string),
2269         (_gst_value_initialize):
2270         Implement GstObject -> string transform so we print object names
2271         when serializing GValues containing GstObjects.
2272
2273 2007-02-28  Wim Taymans  <wim@fluendo.com>
2274
2275         * docs/gst/gstreamer-sections.txt:
2276         Add new stuff to docs.
2277
2278 2007-02-28  Wim Taymans  <wim@fluendo.com>
2279
2280         * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
2281         (gst_base_sink_queue_object_unlocked), (gst_base_sink_send_event),
2282         (gst_base_sink_change_state):
2283         Improve latency query code.
2284         Don't leak latency events.
2285
2286         * tests/check/gst/gstbin.c: (GST_START_TEST):
2287         Improve debugging.
2288
2289 2007-02-28  Wim Taymans  <wim@fluendo.com>
2290
2291         * gst/gstelement.c: (gst_element_message_full),
2292         (gst_element_get_state_func):
2293         * gst/gstelement.h:
2294         Improve docs a little. Added Since: for new macro.
2295
2296         * gst/gstobject.c: (gst_object_sink):
2297         * gst/gstpipeline.c: (gst_pipeline_change_state),
2298         (gst_pipeline_set_new_stream_time):
2299         * gst/gstpipeline.h:
2300         Improve debugging and docs.
2301
2302         * gst/gstutils.c: (gst_element_state_change_return_get_name):
2303         Improve debugging.
2304
2305 2007-02-28  Wim Taymans  <wim@fluendo.com>
2306
2307         * gst/gstelement.c: (gst_element_message_full),
2308         (gst_element_set_locked_state), (gst_element_get_state_func),
2309         (gst_element_change_state):
2310         Handle INFO messages from the GST_ELEMENT_INFO macro as well.
2311         Documentation updates.
2312         Small code cleanups.
2313
2314         * gst/gstmessage.c: (gst_message_new_info),
2315         (gst_message_parse_info):
2316         * gst/gstmessage.h:
2317         API: gst_message_new_info()
2318         API: gst_message_parse_info()
2319         Add INFO message create and parse code.
2320
2321 2007-02-28  Wim Taymans  <wim@fluendo.com>
2322
2323         * gst/gstbin.c: (bin_query_min_max_init), (bin_query_latency_fold),
2324         (bin_query_latency_done):
2325         Also report the live parameter of a latency query.
2326
2327 2007-02-28  Thomas Vander Stichele  <thomas at apestaart dot org>
2328
2329         * tests/check/generic/states.c: (GST_START_TEST), (states_suite):
2330           Copy the current generic/states example from -base and adapt so
2331           we can use the exact same code everywhere.
2332           Check a STATES_IGNORE_ELEMENTS env var which can be used
2333           to ignore certain element factories for this test, which is
2334           what is being done in -base
2335         * tests/check/Makefile.am:
2336           Mention this environment variable.
2337
2338 2007-02-27  Wim Taymans  <wim@fluendo.com>
2339
2340         * docs/gst/gstreamer-sections.txt:
2341         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
2342         (gst_bus_timed_pop), (gst_bus_pop):
2343         * gst/gstbus.h:
2344         API: gst_bus_timed_pop()
2345         Implement gst_bus_timed_pop() to do a blocking timed wait for a
2346         message to arrive on the bus.
2347
2348         * tests/check/gst/gstbus.c: (GST_START_TEST), (pop_thread),
2349         (gst_bus_suite):
2350         Two unit tests for new _timed_pop() function.
2351
2352 2007-02-23  Wim Taymans  <wim@fluendo.com>
2353
2354         * gst/gstpipeline.c: (gst_pipeline_change_state),
2355         (gst_pipeline_provide_clock_func), (gst_pipeline_set_delay):
2356         Don't ref a NULL clock in _provide_clock_func().
2357         Don't allow an INVALID delay.
2358         Don't try to calculate base_time with an invalid start_time.
2359         Also distribute and notify a NULL clock when it was selected.
2360
2361         * tools/gst-launch.c: (event_loop):
2362         Don't crash when a NULL clock was selected in the pipeline.
2363
2364 2007-02-23  Tim-Philipp Müller  <tim at centricular dot net>
2365
2366         * docs/design/Makefile.am:
2367         * docs/design/draft-missing-plugins.txt:
2368         * docs/random/draft-missing-plugins.txt:
2369           Some small updates: update plugin system identifier prefix
2370           ('gstreamer.net' to 'gstreamer'), mention our new install
2371           API in libgstbaseutils rather than libgimme-codec, add
2372           reference to the online docs.
2373
2374 2007-02-21  Thomas Vander Stichele  <thomas at apestaart dot org>
2375
2376         * win32/common/config.h:
2377           Pretty sure Bill never made a powerpc version.  Powerpc hackers,
2378           use moap cl ci to only check in what is mentioned in the ChangeLog.
2379
2380 2007-02-21  Thomas Vander Stichele  <thomas at apestaart dot org>
2381
2382         * docs/gst/gstreamer-sections.txt:
2383         * gst/gstelement.h:
2384           Fix up documentation to link to the correct GstGError section.
2385           Add GST_ELEMENT_INFO macro since someone else added a Info message.
2386
2387 2007-02-21  Thomas Vander Stichele  <thomas at apestaart dot org>
2388
2389         * tools/gst-launch.c: (event_loop):
2390           Make sure that we actually show the important message part of a
2391           warning message.
2392           No need to check if the gerror is not NULL to free; first of all
2393           g_free accepts NULL; and second the default error handler would
2394           segfault if gerror was NULL.
2395
2396 2007-02-21  Wim Taymans  <wim@fluendo.com>
2397
2398         * docs/gst/gstreamer-sections.txt:
2399         Removed docs as well.
2400
2401 2007-02-21  Wim Taymans  <wim@fluendo.com>
2402
2403         * gst/gstmessage.c: (gst_message_parse_duration):
2404         * gst/gstmessage.h:
2405         Remove new messages for release.
2406
2407 2007-02-20  Wim Taymans  <wim@fluendo.com>
2408
2409         * docs/design/part-gstghostpad.txt:
2410         * gst/gstghostpad.c: (gst_ghost_pad_dispose),
2411         (gst_ghost_pad_new_full):
2412         Make the ghostpad a parent of the internal pad again for better backward
2413         compatibility. Don't write code that relies on this however.
2414
2415         * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_activate_push),
2416         (gst_pad_link_check_hierarchy):
2417         Require that parents should be GstElements in the hierarchy check.
2418
2419 2007-02-20  Wim Taymans  <wim@fluendo.com>
2420
2421         * gst/gstbin.c: (bin_replace_message), (gst_bin_add_func),
2422         (gst_bin_change_state_func), (bin_query_min_max_init),
2423         (bin_query_latency_fold), (bin_query_latency_done),
2424         (gst_bin_query):
2425         Improve debug info.
2426         Implement latency query.
2427
2428 2007-02-20  Wim Taymans  <wim@fluendo.com>
2429
2430         * docs/design/part-gstghostpad.txt:
2431         * gst/gstghostpad.c: (gst_ghost_pad_class_init),
2432         (gst_ghost_pad_internal_do_activate_push),
2433         (gst_ghost_pad_internal_do_activate_pull),
2434         (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
2435         (gst_ghost_pad_do_link), (gst_ghost_pad_dispose),
2436         (gst_ghost_pad_new_full), (gst_ghost_pad_set_target):
2437         Do not set the internal pad as a parent anymore so we can avoid
2438         hierarchy linking errors when the ghostpad has no parent yet. This also
2439         fixes failed activation because of unlinked internal pads, which in
2440         turn fixes the impossible case where you have to activate a pad before
2441         you can add it to a running element.
2442         Also fix the docs.
2443
2444         * gst/gstpad.c: (pre_activate), (post_activate),
2445         (gst_pad_set_active), (gst_pad_activate_pull),
2446         (gst_pad_activate_push), (gst_pad_check_pull_range):
2447         Add some more debug info.
2448         Mark activation mode in pre_activate so that we don't try to activate in
2449         endless loops. Fixes #385084.
2450
2451 2007-02-19  Wim Taymans  <wim@fluendo.com>
2452
2453         * libs/gst/base/gstbasetransform.c: (gst_base_transform_init),
2454         (gst_base_transform_check_get_range):
2455         Implement a checkgetrange function instead of relying on the default
2456         core behaviour that assumes we can operate in pull mode if we have a
2457         getrange function. First step at fixing #385084.
2458
2459 2007-02-15  Stefan Kost  <ensonic@users.sf.net>
2460
2461         * gst/gstchildproxy.h:
2462         * libs/gst/base/gstbasesink.h:
2463         * libs/gst/base/gstbasesrc.h:
2464         * libs/gst/base/gstbasetransform.h:
2465         More docs coverage and some ChangeLog surgery (add missing names)
2466
2467 2007-02-15  Wim Taymans  <wim@fluendo.com>
2468
2469         * docs/design/part-TODO.txt:
2470         * docs/design/part-activation.txt:
2471         * docs/design/part-block.txt:
2472         * docs/design/part-buffering.txt:
2473         * docs/design/part-clocks.txt:
2474         * docs/design/part-element-source.txt:
2475         * docs/design/part-events.txt:
2476         * docs/design/part-gstbin.txt:
2477         * docs/design/part-gstbus.txt:
2478         * docs/design/part-gstpipeline.txt:
2479         * docs/design/part-live-source.txt:
2480         * docs/design/part-messages.txt:
2481         * docs/design/part-overview.txt:
2482         * docs/design/part-qos.txt:
2483         * docs/design/part-query.txt:
2484         * docs/design/part-states.txt:
2485         * docs/design/part-trickmodes.txt:
2486         Some doc updates. Start renaming from stream_time to running_time where
2487         it was used wrongly.
2488
2489 2007-02-15  Wim Taymans  <wim@fluendo.com>
2490
2491         * libs/gst/base/gstbasesrc.c: (gst_base_src_default_query):
2492         Answer LATENCY query.
2493
2494 2007-02-15  Wim Taymans  <wim@fluendo.com>
2495
2496         * tests/check/gst/gstevent.c: (event_probe), (test_event),
2497         (GST_START_TEST):
2498         Improve debugging.
2499
2500 2007-02-15  Wim Taymans  <wim@fluendo.com>
2501
2502         * gst/gstpad.c: (gst_pad_get_internal_links_default),
2503         (gst_pad_dispatcher):
2504         Improve debugging of default pad dispatcher and query functions.
2505
2506 2007-02-15  Wim Taymans  <wim@fluendo.com>
2507
2508         * docs/gst/gstreamer-sections.txt:
2509         Remove old unused method.
2510
2511 2007-02-13  Wim Taymans  <wim@fluendo.com>
2512
2513         * tests/check/gst/gstsegment.c: (GST_START_TEST):
2514         Fix check
2515
2516 2007-02-13  Wim Taymans  <wim@fluendo.com>
2517
2518         * docs/design/part-seeking.txt:
2519         Some small update.
2520
2521         * gst/gstsegment.c: (gst_segment_set_seek):
2522         Revert old bogus change that should make seeking work again.
2523
2524 2007-02-13  Stefan Kost  <ensonic@users.sf.net>
2525
2526         * docs/random/ensonic/dynlink.txt:
2527         * docs/random/ensonic/interfaces.txt:
2528         * docs/random/ensonic/receipies.txt:
2529           Possible dynamic reconnection api, plus some type fixes the other two
2530           docs.
2531
2532 2007-02-13  Sebastian Dröge  <slomo@circular-chaos.org>
2533
2534         * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
2535         * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
2536         Also check for an absolute path following file:// in the filesrc
2537         element. Remove redundant check and call g_path_is_absolute() on the
2538         unescaped location.
2539
2540 2007-02-13  Stefan Kost  <ensonic@users.sf.net>
2541
2542         * docs/design/draft-klass.txt:
2543           Add existing category analysis.
2544           
2545         * gst/gstcaps.c:
2546           Fix doc example, framerate is a fraction.
2547
2548 2007-02-12  Stefan Kost  <ensonic@users.sf.net>
2549
2550         * configure.ac:
2551         * docs/gst/Makefile.am:
2552         * docs/gst/gstreamer-sections.txt:
2553         * docs/libs/Makefile.am:
2554           Erm, forgot a bunch of --extra-dir.
2555
2556 2007-02-12  Stefan Kost  <ensonic@users.sf.net>
2557
2558         * configure.ac:
2559         * docs/gst/Makefile.am:
2560         * docs/libs/Makefile.am:
2561         * docs/plugins/Makefile.am:
2562           Add crossreferences to glib/gobject docs.
2563
2564 2007-02-12  Wim Taymans  <wim@fluendo.com>
2565
2566         * docs/design/draft-latency.txt:
2567         Small update.
2568
2569         * docs/libs/gstreamer-libs-sections.txt:
2570         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
2571         (gst_base_sink_get_latency), (gst_base_sink_query_latency),
2572         (gst_base_sink_wait_clock), (gst_base_sink_send_qos),
2573         (gst_base_sink_perform_qos), (gst_base_sink_queue_object_unlocked),
2574         (gst_base_sink_chain_unlocked), (gst_base_sink_send_event),
2575         (gst_base_sink_get_position), (gst_base_sink_query),
2576         (gst_base_sink_change_state):
2577         * libs/gst/base/gstbasesink.h:
2578         API: gst_base_sink_query_latency() to let subclasses query the upstream
2579         latency.
2580         API: gst_base_sink_get_latency() to let subclasses query the configured
2581         latency in the sink.
2582         Implement query and set latency.
2583         Update some docs.
2584         As spotted by Will Newton <will dot newton at gmail dot com>: Make sure we
2585         don't continue preroll when we are flushing. Fixes #405284.
2586
2587         * tests/check/pipelines/stress.c: (change_state_timeout),
2588         (quit_timeout), (GST_START_TEST), (stress_suite):
2589         Test for #405284.
2590
2591 2007-02-09  Tim-Philipp Müller  <tim at centricular dot net>
2592
2593         Patch by: René Stadler <mail at renestadler de>
2594
2595         * docs/gst/gstreamer-sections.txt:
2596         * gst/gsttaglist.c: (_gst_tag_initialize):
2597         * gst/gsttaglist.h:
2598           API: add GST_TAG_REFERENCE_LEVEL (#403597).
2599
2600 2007-02-11  Stefan Kost  <ensonic@users.sf.net>
2601
2602         * docs/libs/Makefile.am:
2603           Fix path to core docs.
2604
2605         * gst/gstbin.c: (gst_bin_get_by_interface),
2606         (gst_bin_iterate_all_by_interface):
2607           Refix docs by also renaming 'interface' to 'iface' in implementation.
2608
2609         * docs/gst/gstreamer-sections.txt:
2610         * gst/gstcaps.c:
2611         * gst/gstchildproxy.c: (gst_child_proxy_base_init):
2612         * gst/gstchildproxy.h:
2613         * gst/gstelementfactory.c:
2614         * gst/gstpadtemplate.h:
2615         * libs/gst/controller/gstcontroller.c:
2616         (gst_controlled_property_new):
2617           Document more.
2618
2619 2007-02-10  Sébastien Moutte  <sebastien@moutte.net>
2620
2621         * gst/gstbin.h:(gst_bin_get_by_interface),
2622         (gst_bin_iterate_all_by_interface):
2623         Replace interface parameter name by iface as interface is 
2624         a reserved keyword in Visual Studio for C++ projects so it removes
2625         a build error for application developpers using VS.
2626         * plugins/elements/gstfilesrc.c:(gst_file_src_uri_set_uri):
2627         Fix a bug on Windows in uri format check. Now the prefix checked
2628         is file:// and next we check if the path after file:// is absolute.
2629         * win32/common/libgstbase.def:
2630         * win32/common/libgstdataprotocol.def:
2631         * win32/common/libgstgstreamer.def:
2632         Add new exported functions.
2633
2634 2007-02-09  Andy Wingo  <wingo@pobox.com>
2635
2636         * tests/check/pipelines/simple-launch-lines.c
2637         (simple_launch_lines_suite, test_tee): Disable tee test until I
2638         have time to fix it :-(
2639
2640         * tests/check/Makefile.am (noinst_HEADERS): 
2641         * tests/check/libs/libsabi.c: 
2642         * tests/check/libs/struct_ppc32.h: Add ABI checks for PPC32.
2643         * tests/check/gst/gstabi.c: 
2644         * tests/check/gst/struct_ppc32.h: Add ABI checks for PPC32.
2645
2646         * tests/check/pipelines/simple-launch-lines.c (test_tee): Add
2647         tests for push and pull tee behavior.
2648
2649         * plugins/elements/gsttee.h: 
2650         * plugins/elements/gsttee.c: Describe has-sink-loop better, and
2651         mark as deprecated as well as unimplemented. It was a crack idea.
2652         Add support for tee operating in pull mode, off by default.
2653
2654         * gst/gstregistryxml.c (load_feature, load_plugin): Drop some
2655         normal-case logs down to LOG, raise errors to WARNING.
2656         (gst_registry_xml_read_cache): Don't log before calling a function
2657         that logs.
2658
2659         * gst/gstregistry.c (gst_registry_finalize): Less debug on program
2660         exit (registry finalize).
2661         (gst_registry_add_plugin, gst_registry_add_feature): No need for a
2662         DEBUG log when we emit signals that people don't even have the
2663         chance to connect to.
2664         (gst_registry_scan_path_level): Less logging in the normal case.
2665
2666 2007-02-05  Sebastian Dröge  <slomo@circular-chaos.org>
2667
2668         Patch by: Michal Benes <michal dot benes at itonis dot tv>
2669
2670         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
2671         Correctly generate EOS for non-seekable files. We don't have a total
2672         length for them and would get an unexpected end of file if we only
2673         special-cased for regular files. (Fixes: #404569)
2674
2675 2007-02-05  Sebastian Dröge  <slomo@circular-chaos.org>
2676
2677         * tests/check/elements/filesrc.c: (GST_START_TEST),
2678         (filesrc_suite):
2679         Add unit test for the GstURIHandler interface in filesrc. This also
2680         tests the newly added file://localhost/foo/bar support.
2681
2682 2007-02-04  Tim-Philipp Müller  <tim at centricular dot net>
2683
2684         * gst/gstelementfactory.h:
2685           The klass string is not a hierarchy. Add reference to the design doc
2686           for more information and common types.
2687
2688 2007-02-02  Wim Taymans  <wim@fluendo.com>
2689
2690         * gst/gstquery.c: (gst_query_new_latency):
2691         Remove old structure field.
2692
2693 2007-02-02  Stefan Kost  <ensonic@users.sf.net>
2694
2695         * tools/gst-launch.1.in:
2696           Give example for network streaming (#351998)
2697
2698 2007-02-02  Wim Taymans  <wim@fluendo.com>
2699
2700         * docs/gst/gstreamer-sections.txt:
2701         Add docs for new methods.
2702
2703         * gst/gstevent.c: (gst_event_new_latency),
2704         (gst_event_parse_latency):
2705         * gst/gstevent.h:
2706         Add new LATENCY event to configure latency in a pipeline.
2707         API: gst_event_new_latency
2708         API: gst_event_parse_latency
2709
2710         * gst/gstmessage.c: (gst_message_new_buffering),
2711         (gst_message_new_lost_preroll), (gst_message_new_prerolled),
2712         (gst_message_new_latency), (gst_message_parse_buffering),
2713         (gst_message_parse_lost_preroll):
2714         * gst/gstmessage.h:
2715         Added messages used in draft-latency.
2716         API: gst_message_new_lost_preroll
2717         API: gst_message_parse_lost_preroll
2718         API: gst_message_new_prerolled
2719         API: gst_message_new_latency
2720
2721         * gst/gstquery.c: (gst_query_new_latency), (gst_query_set_latency),
2722         (gst_query_parse_latency):
2723         * gst/gstquery.h:
2724         Implemented new latency query as in design doc.
2725         API: gst_query_new_latency
2726         API: gst_query_set_latency
2727         API: gst_query_parse_latency
2728
2729 2007-02-02  Wim Taymans  <wim@fluendo.com>
2730
2731         * docs/design/draft-latency.txt:
2732         Slight redesign to allow for dynamic latency adjustments.
2733
2734         * docs/design/part-negotiation.txt:
2735         Fix some typos.
2736
2737 2007-02-02  Sebastian Dröge  <slomo@circular-chaos.org>
2738
2739         reviewed by: Wim Taymans <wim@fluendo.com>
2740
2741         * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
2742         * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
2743         Allow file://localhost/foo/bar URLs and correctly fail for every other
2744         hostname that one sets. This was gnomevfssrc is linked for those if
2745         installed as it can handle it (#403172)
2746
2747 2007-02-01  Sebastian Dröge  <slomo@circular-chaos.org>
2748
2749         reviewed by: Tim-Philipp Müller <tim at centricular dot net>
2750
2751         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
2752         (unref_data), (gst_collect_pads_add_pad_full):
2753         * libs/gst/base/gstcollectpads.h:
2754         Don't put the previously added destroy notify in the GstCollectData
2755         struct as all it's padding is already used and we don't want to break
2756         ABI. Instead put in the pad's GObject data for now. This should be
2757         cleaned up for 0.11 (#402393).
2758
2759 2007-02-01  Sebastian Dröge  <slomo@circular-chaos.org>
2760
2761         reviewed by: Wim Taymans <wim@fluendo.com>
2762
2763         * docs/libs/gstreamer-libs-sections.txt:
2764         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
2765         (unref_data), (gst_collect_pads_add_pad),
2766         (gst_collect_pads_add_pad_full):
2767         * libs/gst/base/gstcollectpads.h:
2768         API: Add function to specify a destroy notification for custom
2769         GstCollectData when adding new pads in GstCollectPads (#402393).
2770
2771 2007-02-01  Tim-Philipp Müller  <tim at centricular dot net>
2772
2773         * po/sv.po:
2774           Update Swedish translation (#378255).
2775
2776 2007-01-31  Stefan Kost  <ensonic@users.sf.net>
2777
2778         * docs/design/draft-klass.txt:
2779           Fix the previous change, this is a list of categories and not a hierarchy.
2780
2781 2007-01-31  Stefan Kost  <ensonic@users.sf.net>
2782
2783         * docs/design/draft-klass.txt:
2784           Add info about how to get a list of used classes.
2785
2786 2007-01-30  Tim-Philipp Müller  <tim at centricular dot net>
2787
2788         * plugins/elements/gsttypefindelement.c:
2789         (gst_type_find_element_chain_do_typefinding),
2790         (gst_type_find_element_change_state):
2791           Don't leak found caps in chain function (no idea why that never
2792           showed up as a leak anywhere).
2793
2794 2007-01-30  Stefan Kost  <ensonic@users.sf.net>
2795
2796         * gst/gstplugin.h:
2797           Fix and expand GstPluginDesc API docs.
2798
2799 2007-01-29  Stefan Kost  <ensonic@users.sf.net>
2800
2801         * gst/gstcaps.c:
2802         * gst/gstelementfactory.c:
2803         * gst/gstpadtemplate.h:
2804           api doc fixes
2805
2806         * libs/gst/controller/gstcontroller.c:
2807         (gst_controlled_property_new):
2808         * tests/examples/controller/audio-example.c:
2809           comment fixes
2810
2811 2007-01-29  Stefan Kost  <ensonic@users.sf.net>
2812
2813         * configure.ac:
2814           comment about refining the xml deps
2815
2816         * docs/manuals.mak:
2817           comments about moving away from jade for docs
2818         
2819         * gst/gst.c:
2820           recommit the ifdefs to use the binary registry
2821         
2822         * gst/gstbin.c: (gst_bin_change_state_func):
2823           this break is obsolete
2824
2825         * gst/gstelementfactory.h:
2826           better GST_ELEMENT_DETAILS docs, add comment about translation
2827
2828         * gst/gstinfo.h:
2829           remove eol slash
2830
2831         * gst/gstobject.c: (gst_signal_object_get_type):
2832           add G_UNLIKELY as usual
2833
2834         * gst/gstpad.c: (gst_pad_event_default):
2835           add fall trhu comment
2836
2837         * gst/gstregistrybinary.c: (gst_registry_binary_write),
2838         (gst_registry_binary_initialize_magic),
2839         (gst_registry_binary_save_string),
2840         (gst_registry_binary_save_pad_template),
2841         (gst_registry_binary_save_feature),
2842         (gst_registry_binary_save_plugin),
2843         (gst_registry_binary_write_cache),
2844         (gst_registry_binary_check_magic),
2845         (gst_registry_binary_load_pad_template),
2846         (gst_registry_binary_load_feature),
2847         (gst_registry_binary_load_plugin),
2848         (gst_registry_binary_read_cache):
2849           comment typo and formatting
2850
2851         * gst/gstutils.c: (gst_element_state_get_name),
2852         (gst_element_state_change_return_get_name):
2853           remove obsolete breaks
2854
2855         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
2856           add FIXME 0.11 and remove cpp comment
2857
2858 2007-01-29  Edward Hervey  <edward@fluendo.com>
2859
2860         * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
2861         Fix print statement in an even more portable way.
2862
2863 2007-01-29  Tim-Philipp Müller  <tim at centricular dot net>
2864
2865         * docs/gst/gstreamer-sections.txt:
2866         * gst/gstutils.h:
2867           API: add GST_ROUND_DOWN_* macros (#401781).
2868
2869 2007-01-27  Tim-Philipp Müller  <tim at centricular dot net>
2870
2871         * docs/gst/gstreamer.types.in:
2872         * gst/gstregistry.c: (gst_registry_class_init):
2873           Document registry signals and make gtk-doc pick them up (#401381).
2874
2875 2007-01-26  Tim-Philipp Müller  <tim at centricular dot net>
2876
2877         * docs/pwg/building-testapp.xml:
2878           Add some audioconverts and audioresample to the pipeline, and some
2879           more comments and error handling.
2880
2881 2007-01-26  Tim-Philipp Müller  <tim at centricular dot net>
2882
2883         * docs/manual/manual.xml:
2884         * docs/pwg/pwg.xml:
2885           Fix typo (#400987).
2886
2887 2007-01-26  Wim Taymans  <wim@fluendo.com>
2888
2889         * gst/gstcaps.c: (gst_static_caps_get):
2890         Init caps flags too.
2891
2892 2007-01-25  Sebastian Dröge  <slomo@circular-chaos.org>
2893
2894         Patch by: Jindrich Makovicka <jindrich.makovick at itonis dot tv>
2895
2896         * plugins/elements/gstfilesrc.c: (gst_file_src_start):
2897         If not using mmap'ed files try to seek to the end instead of the
2898         start to determine whether we can seek at all. This fixes the case
2899         of 2GB+ files over NFS, where seeks in the first 2GB can succeed but
2900         seeks for everything afterwards fail. Fixes #400656
2901
2902 2007-01-25  Wim Taymans  <wim@fluendo.com>
2903
2904         * gst/gstcaps.c: (_gst_caps_free), (gst_static_caps_get):
2905         Add some refcount debugging.
2906         Make gst_static_caps_get threadsafe, which is needed when autoplugging
2907         in multiple streaming threads.
2908
2909 2007-01-25  Wim Taymans  <wim@fluendo.com>
2910
2911         Patch by: David Schleef <ds at schleef dot org>
2912
2913         * docs/libs/gstreamer-libs-sections.txt:
2914         * libs/gst/base/gstadapter.c: (gst_adapter_copy):
2915         * libs/gst/base/gstadapter.h:
2916         API: gst_adapter_copy() that can reduce the amount of memcpy when
2917         getting data from the adapter. Fixes #388201.
2918
2919 2007-01-25  Edward Hervey  <edward@fluendo.com>
2920
2921         * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
2922         In print statements, "%x" is for guint. Fixes build on macosx.
2923
2924 2007-01-24  Edward Hervey  <edward@fluendo.com>
2925
2926         * plugins/elements/gstmultiqueue.c:
2927         (gst_multi_queue_loop):
2928         Small fix.
2929         (single_queue_overrun_cb), (single_queue_underrun_cb),
2930         (single_queue_check_full), (gst_single_queue_new):
2931         Implement single queue growth system.
2932         This uses the extra-size properties, and will grow single queues by
2933         that much if one goes full whereas there are others empty. This is
2934         called extra-mode in the code.
2935         When a single queue's levels go back below the initial max-size
2936         limits, it is no longer in extra-mode. This is to ensure we don't
2937         consume too much memory.
2938         Fixes #399875
2939
2940 2007-01-23  Tim-Philipp Müller  <tim at centricular dot net>
2941
2942         * gst/gst.c: (gst_init_get_option_group):
2943           Make warning about late g_thread_init() calls a bit more explicit,
2944           so that it's more obvious to application developers what they need
2945           to do if a user files a bug against their application.
2946
2947 2007-01-22  Edward Hervey  <edward@fluendo.com>
2948
2949         * plugins/elements/gstmultiqueue.c:
2950         (gst_multi_queue_src_activate_push), (gst_single_queue_new):
2951         Remove previous hack of unsetting the flushing flag for the source pad
2952         instead of activating it. Instead, fix the source pad activate function
2953         so that it no longer depends on having a parent set or not.
2954
2955 2007-01-22  Tim-Philipp Müller  <tim at centricular dot net>
2956
2957         Patch by: Carlos Sanmartin Dominguez <csanmartin@igalia.com>
2958
2959         * docs/manual/basics-bus.xml:
2960           Fix example code, gst_element_unref() doesn't exist any longer.
2961
2962 2007-01-21  Tim-Philipp Müller  <tim at centricular dot net>
2963
2964         Patch by: Mark Nauwelaerts <manauw at skynet be>
2965
2966         * gst/gstpad.c:
2967           Fix two docs typoes (#399094).
2968
2969 2007-01-19  Edward Hervey  <edward@fluendo.com>
2970
2971         * docs/faq/gst-uninstalled:
2972         Add gst-plugins-base/gst/utils/ to LD_LIBRARY_PATH so that plugins
2973         depending on libgstbaseutils can work in uninstalled environment.
2974
2975 2007-01-18  Stefan Kost  <ensonic@users.sf.net>
2976
2977         * gst/gsttaglist.h:
2978         * gst/gsttagsetter.c:
2979         Add more docs regarding tag merge-modes and when to send tags. Fix 'since'
2980         statement for new tag.
2981
2982 2007-01-17  Edward Hervey  <edward@fluendo.com>
2983
2984         * plugins/elements/gstmultiqueue.c: (gst_single_queue_new):
2985         When dynamically creating single queues, activate sinkpad before adding
2986         it.
2987         We should be doing the same thing for the source pad, but we can't
2988         since it would call a method which needs the parent to be set in order
2989         to work propertly. Instead of activating the source pad, we just unset
2990         the flushing flag, which is the minimal requirement for adding a pad
2991         to an element in a state greater than READY.
2992
2993 2007-01-17  Edward Hervey  <edward@fluendo.com>
2994
2995         * docs/faq/gst-uninstalled:
2996         Add DYLD_LIBRARY_PATH declarations so we can also use this script on
2997         Mac OS X.
2998
2999 2007-01-17  Tim-Philipp Müller  <tim at centricular dot net>
3000
3001         * tests/check/gst/gstabi.c:
3002         * tests/check/gst/struct_hppa.h:
3003         * tests/check/libs/libsabi.c:
3004         * tests/check/libs/struct_hppa.h:
3005           Add ABI structs for HPPA (see #393796).
3006
3007 2007-01-16  Tim-Philipp Müller  <tim at centricular dot net>
3008
3009         * libs/gst/check/gstcheck.c: (gst_check_abi_list):
3010           Actually write ABI structs to the file specified in the GST_ABI
3011           environment variable, as the message we print claims we would.
3012
3013 2007-01-15  Stefan Kost  <ensonic@users.sf.net>
3014
3015         * tests/check/gst/gsttask.c:
3016           Fix header comment.
3017
3018 2007-01-15  Stefan Kost  <ensonic@users.sf.net>
3019
3020         * gst/gsttaglist.c: (_gst_tag_initialize):
3021           Change tag type from STRING to DOUBLE. Apply ChangeLog surgery for my
3022           previous two entries.
3023
3024 2007-01-15  Stefan Kost  <ensonic@users.sf.net>
3025
3026         * docs/gst/gstreamer-sections.txt:
3027         * gst/gsttaglist.c: (_gst_tag_initialize):
3028         * gst/gsttaglist.h:
3029           Add tag support for beat-per-minute.
3030
3031 2007-01-15  Stefan Kost  <ensonic@users.sf.net>
3032
3033         * gst/gstregistrybinary.c: (gst_registry_binary_write),
3034         (gst_registry_binary_initialize_magic),
3035         (gst_registry_binary_save_string), (gst_registry_binary_make_data),
3036         (gst_registry_binary_save_pad_template),
3037         (gst_registry_binary_save_feature),
3038         (gst_registry_binary_save_plugin),
3039         (gst_registry_binary_write_cache),
3040         (gst_registry_binary_check_magic),
3041         (gst_registry_binary_load_pad_template),
3042         (gst_registry_binary_load_feature),
3043         (gst_registry_binary_load_plugin),
3044         (gst_registry_binary_read_cache):
3045         * gst/gstregistrybinary.h:
3046           Use glib types, cleanup comments, impement interfaces and uri-types.
3047
3048 2007-01-13  Andy Wingo  <wingo@pobox.com>
3049
3050         * gst/gstpad.c (gst_pad_get_range, gst_pad_pull_range): Allow
3051         getrange() to return buffers with other caps, while we fix
3052         demuxers and typefind, or otherwise change part-negotiation.txt.
3053
3054 2007-01-12  Andy Wingo  <wingo@pobox.com>
3055
3056         * libs/gst/base/gstbasetransform.c (gst_base_transform_activate):
3057         Factor start/stop into this private function instead of partially
3058         in activate functions and partially in the change_state function.
3059         Fixes setup before the element has changed from READY->PAUSED, as
3060         is the case in pull-mode pipelines.
3061         (gst_base_transform_sink_activate_push)
3062         (gst_base_transform_src_activate_pull): Refactor to use
3063         gst_base_transform_activate().
3064         (gst_base_transform_change_state): Removed, not needed any more.
3065
3066         * libs/gst/base/gstbasesink.c (gst_base_sink_negotiate_pull):
3067         Truncate before fixating.
3068         
3069         * libs/gst/base/gstbasesink.c (gst_base_sink_negotiate_pull):
3070         Don't set_caps() if the result of fixating is ANY, as it's not
3071         supported, and not necessary in the case of a link with no
3072         template caps on either side. Fixes tests/check/libs/basesrc in
3073         some pull-mode tests.
3074
3075         * libs/gst/base/gstbasetransform.c (_GstBaseTransformPrivate):
3076         (gst_base_transform_init, gst_base_transform_sink_activate_push)
3077         (gst_base_transform_src_activate_pull): 
3078         Track the activation mode.
3079         (gst_base_transform_setcaps): In pull mode, when activating the
3080         src pad, after activating the sink pad, activate the sink pad's
3081         peer, as discussed in part-negotiation.txt.
3082
3083         * libs/gst/base/gstbasesrc.h: 
3084         * libs/gst/base/gstbasesrc.c (gst_base_src_fixate): Add fixate
3085         vmethod, as in basesink.
3086
3087         * libs/gst/base/gstbasesink.h: Reformat docs, add fixate vmethod.
3088
3089         * libs/gst/base/gstbasesink.c (gst_base_sink_pad_setcaps): In pull
3090         mode, first proxy the setcaps to the peer pad.
3091         (gst_base_sink_pad_fixate): Add a fixate function that calls the
3092         new fixate vmethod.
3093         (gst_base_sink_default_activate_pull): Rename from
3094         gst_base_sink_activate_pull.
3095         (gst_base_sink_negotiate_pull): New function, performs negotiation
3096         in pull mode before calling ::activate_pull().
3097         (gst_base_sink_pad_activate_pull): Actually call the activate_pull
3098         vmethod instead of the default implementation. I have no idea how
3099         this worked before. Negotiate before calling activate_pull.
3100
3101         * gst/gstpad.c (gst_pad_activate_pull): Refuse to activate unlinked
3102         sink pads in pull mode. In addition to being correct, fixes
3103         filesrc ! decodebin ! identity ! fakesink.
3104         (gst_pad_get_range, gst_pad_pull_range): Don't call
3105         gst_pad_set_caps() if the caps changes; instead error out with
3106         GST_FLOW_NOT_NEGOTIATED, as discussed in part-negotiation.txt.
3107
3108 2007-01-12  Andy Wingo  <wingo@pobox.com>
3109
3110         * docs/design/part-negotiation.txt: Update with more policy.
3111
3112 2007-01-12  Tim-Philipp Müller  <tim at centricular dot net>
3113
3114         * libs/gst/check/gstbufferstraw.h:
3115         * libs/gst/check/gstcheck.h:
3116           Add G_BEGIN_DECLS and G_END_DECLS. Move GST_CHECK_MAIN where it
3117           belongs.
3118
3119 2007-01-12  Tim-Philipp Müller  <tim at centricular dot net>
3120
3121         * tests/check/Makefile.am:
3122         * tests/check/gst/.cvsignore:
3123         * tests/check/gst/gsttagsetter.c: (gst_dummy_enc_add_interfaces),
3124         (gst_dummy_enc_base_init), (gst_dummy_enc_class_init),
3125         (gst_dummy_enc_init), (tag_list_foreach), (tag_setter_list_length),
3126         (GST_START_TEST), (gst_tag_setter_suite):
3127           Add minimal unit test for beforementioned GstTagSetter bug.
3128
3129 2007-01-12  Tim-Philipp Müller  <tim at centricular dot net>
3130
3131         Patch by: René Stadler <mail at renestadler dot de>
3132
3133         * gst/gsttagsetter.c: (gst_tag_setter_merge_tags):
3134           gst_tag_list_merge() returns a new list, so it's not the best idea
3135           to ingore its return value. Effectively meant that tags could only
3136           be merged on a GstTagSetter once using _merge_tags(). Fixes #395554.
3137           Also add function guard to require a non-NULL taglist as input (has
3138           always been so due to gst_tag_list_copy(), just making it explicit).
3139
3140 2007-01-11  Tim-Philipp Müller  <tim at centricular dot net>
3141
3142         * docs/random/draft-missing-plugins.txt:
3143           Some additions: mention new API that is supposed to be used at the
3144           various stages; short blob about new gst-inspect introspection
3145           option; mention potential future problem with plugins that have
3146           a dynamic list of elements (such as ladspa, pitfdll, libvisual).
3147
3148 2007-01-11  Tim-Philipp Müller  <tim at centricular dot net>
3149
3150         * tools/gst-inspect.c:
3151         (print_plugin_automatic_install_info_codecs),
3152         (print_plugin_automatic_install_info_protocols),
3153         (print_plugin_automatic_install_info), (main):
3154         Add --print-plugin-auto-install-info option to gst-inspect, so we can
3155         introspect plugin files and get machine-parsable output that corresponds
3156         to the last bit of the missing-plugin installer string (small gotcha:
3157         doesn't take into account ranks).
3158
3159 2007-01-11  Stefan Kost  <ensonic@users.sf.net>
3160
3161         * configure.ac:
3162         * docs/gst/gstreamer-sections.txt:
3163         * gst/Makefile.am:
3164         * gst/gstregistry.c: (gst_registry_lookup_feature_locked),
3165         (gst_registry_lookup_locked):
3166         * gst/gstregistry.h:
3167         * gst/gstregistrybinary.c: (gst_registry_binary_write),
3168         (gst_registry_binary_initialize_magic),
3169         (gst_registry_binary_save_string),
3170         (gst_registry_binary_save_pad_template),
3171         (gst_registry_binary_save_feature),
3172         (gst_registry_binary_save_plugin),
3173         (gst_registry_binary_write_cache),
3174         (gst_registry_binary_check_magic),
3175         (gst_registry_binary_load_pad_template),
3176         (gst_registry_binary_load_feature),
3177         (gst_registry_binary_load_plugin),
3178         (gst_registry_binary_read_cache):
3179         * gst/gstregistrybinary.h:
3180         * gst/gstregistryxml.c: (load_feature),
3181         (gst_registry_xml_read_cache):
3182           commit binary registry (disabled by default, see #359653)
3183
3184 2007-01-11  Tim-Philipp Müller  <tim at centricular dot net>
3185
3186         * tests/check/gst/gstpad.c: (test_get_allowed_caps):
3187           Fix 'make check' too.
3188
3189 2007-01-10  Andy Wingo  <wingo@pobox.com>
3190
3191         * docs/design/part-negotiation.txt: Fix a typo, add a couple
3192         notes.
3193         
3194         * docs/design/part-negotiation.txt: Update with, um, one way that
3195         pull-mode negotiation might work?
3196
3197         * gst/gstpad.h: 
3198         * gst/gstpad.c (gst_pad_get_allowed_caps): Remove the restriction
3199         that the pad must be a src pad; makes sense to call it the other
3200         way in pull mode, and the logic is symmetric anyway.
3201
3202 2007-01-10  Tim-Philipp Müller  <tim at centricular dot net>
3203
3204         * plugins/elements/gstfilesink.c:
3205           Include <stdio.h> for fseeko().
3206
3207 2007-01-10  Wim Taymans  <wim@fluendo.com>
3208
3209         * gst/gstevent.c:
3210         * gst/gstevent.h:
3211         Reserve LATENCY event.
3212
3213 2007-01-09  Wim Taymans  <wim@fluendo.com>
3214
3215         * docs/design/draft-latency.txt:
3216         Updates.
3217
3218 2007-01-09  Wim Taymans  <wim@fluendo.com>
3219
3220         * docs/design/draft-latency.txt:
3221         Updates.
3222
3223         * gst/gstelement.h:
3224         * gst/gststructure.c:
3225         * gst/gsttrace.c:
3226         Small typo fixes.
3227
3228 2007-01-09  Tim-Philipp Müller  <tim at centricular dot net>
3229
3230         * tests/check/.cvsignore:
3231           Ignore test-registry.xml as well.
3232
3233 2007-01-09  Wim Taymans  <wim@fluendo.com>
3234
3235         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad):
3236         unref data at the end when we are done with the pad.
3237
3238 2007-01-08  Tim-Philipp Müller  <tim at centricular dot net>
3239
3240         * docs/gst/gstreamer-sections.txt:
3241         * gst/gst.c: (load_plugin_func), (scan_and_update_registry),
3242         (init_post), (gst_deinit), (gst_update_registry):
3243         * gst/gst.h:
3244           API: add gst_update_registry() (#391296).
3245
3246         * tests/check/Makefile.am:
3247         * tests/check/gst/gstregistry.c:
3248         * tests/check/gst/.cvsignore:
3249           Simple unit test for the above.
3250
3251 2007-01-08  Tim-Philipp Müller  <tim at centricular dot net>
3252
3253         * gst/gstregistry.c: (gst_registry_scan_path_level):
3254           Plugin extension on HP-UX is .sl, add that to the list of approved
3255           plugin extensions (see #393796).
3256
3257         * tests/check/gst/gstpad.c: (GST_START_TEST):
3258           ulong => gulong. Fixes compilation with HP-UX compiler.
3259
3260         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
3261           Fix compilation if valgrind headers are not available.
3262
3263 2007-01-07  Sébastien Moutte  <sebastien@moutte.net>
3264
3265         * win32/common/libgstreamer.def: 
3266           Add new exported function.
3267         * win32/vs6/libgstbase.dsp: 
3268           Add gstdataqueue.c to the build.
3269         * win32/vs6/libgstcoreelements.dsp:
3270           Add gstmultiqueue.c to the build.
3271         
3272 2007-01-06  Andy Wingo  <wingo@pobox.com>
3273
3274         * libs/gst/base/gstbasesink.h: New GstBaseSinkClass vmethod,
3275         activate_pull(), providing for a way to specialize the process of
3276         spawning a thread to pull on the sink pad. There is a default
3277         implementation.
3278
3279         * libs/gst/base/gstbasesink.c (gst_base_sink_pad_activate_pull)
3280         (gst_base_sink_pad_activate_push, gst_base_sink_pad_activate)
3281         (gst_base_sink_init): Renamed pad activation functions (inserting
3282         "_pad" in their names). Refactor to use the new activate_pull
3283         vmethod, as appropriate.
3284         (gst_base_sink_class_init, gst_base_sink_activate_pull): Set the
3285         default activate_pull function to start a task pulling from the
3286         sink pad, as before.
3287
3288         * gst/gstpad.c (gst_pad_get_range, gst_pad_pull_range): Set caps
3289         on the pads if necessary, as in push()/chain(). Update docs.
3290         Shouldn't affect existing pull() usage as it is currently only
3291         being used on buffers without caps.
3292
3293 2007-01-05  Tim-Philipp Müller  <tim at centricular dot net>
3294
3295         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
3296         (init_pre):
3297           Call g_thread_init() first thing in gst_init() / gst_check_init().
3298           When initialisation is done via gst_init_get_option_group() and
3299           GOption parsing, issue a warning if the GLib thread system has not
3300           been initialised yet by the time gst_init_get_option_group() is
3301           called, as it's quite likely other GLib functions such as
3302           g_option_context_new() have been called already then, and
3303           g_thread_init() must be called before any other GLib function. The
3304           application in question must be fixed in that case, since memory
3305           corruption might happen otherwise.
3306           We issue the warning because even if the GLib folks decide to work
3307           around the problem on their end in future, this is still an issue
3308           with all GLib versions >= 2.10.0, so we should warn until we depend
3309           on a GLib version we know to be safe.
3310           Update documentation as well.
3311           Closes bug #391278.
3312
3313 2007-01-05  Tim-Philipp Müller  <tim at centricular dot net>
3314
3315         * tools/gst-inspect.c: (main):
3316         * tools/gst-launch.c: (main):
3317         * tools/gst-typefind.c: (main):
3318         * tools/gst-xmlinspect.c: (main):
3319           Call g_thread_init() really really early, before any other GLib
3320           function (see #342564 and recent discussion on gtk-devel-list).
3321
3322 2007-01-05  Tim-Philipp Müller  <tim at centricular dot net>
3323
3324         Patch by: Vincent Torri  <vtorri at univ-evry dot fr>
3325
3326         * gst/gst_private.h:
3327         * gst/gstconfig.h.in:
3328         * gst/gstinfo.h:
3329           On win32, all the __declspec stuff for symbol exporting is
3330           apparently only needed with MSVC, but doesn't work with MingW.
3331           Fixes compilation with MingW and #391909.
3332
3333 2007-01-05  Tim-Philipp Müller  <tim at centricular dot net>
3334
3335         * libs/gst/base/gstbasesrc.c: (gst_base_src_activate_push):
3336           Change some GST_ERROR_OBJECT that aren't really errors to
3337           GST_WARNING_OBJECT in order to reduce terminal spam.
3338
3339 2007-01-04  Stefan Kost  <ensonic@users.sf.net>
3340
3341         * tests/check/Makefile.am:
3342           disable test again, as there seem to be still race problems
3343
3344 2007-01-04  Stefan Kost  <ensonic@users.sf.net>
3345
3346         * tests/check/Makefile.am:
3347         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
3348         (GST_START_TEST), (queue_suite):
3349           enable queue test again, add tests for the leaky behaviour
3350
3351 2007-01-02  Tim-Philipp Müller  <tim at centricular dot net>
3352
3353         * configure.ac:
3354         * tests/examples/Makefile.am:
3355           Compile adapter test/example only if the required headers are
3356           available (fixes #391915).
3357
3358 2007-01-01  David Schleef  <ds@schleef.org>
3359
3360         * gst/gstplugin.c:
3361           Restore the previous signal handler for SIGSEGV instead of
3362           setting to default, since we may have stolen it away from
3363           someone.  (i.e., Mono)
3364
3365 2006-12-26  Tim-Philipp Müller  <tim at centricular dot net>
3366
3367         * docs/random/draft-missing-plugins.txt:
3368           Some small additions and clarifications.
3369
3370 2006-12-26  Tim-Philipp Müller  <tim at centricular dot net>
3371
3372         * gst/gstregistryxml.c: (gst_registry_save_escaped):
3373           Make sure we don't pass non-UTF-8 strings to g_markup_escape(),
3374           since that can lead to random memory corruptions and crashes
3375           (may or may not be related to #383244, #386711, and #386711).
3376
3377 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
3378
3379         * tests/check/.cvsignore:
3380         * tests/check/Makefile.am:
3381           sync .cvsignome and CLEANFILES
3382
3383 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
3384
3385         * tests/check/Makefile.am:
3386           fix distcheck
3387
3388 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
3389
3390         * docs/design/part-states.txt:
3391           two tiny additional comments
3392         
3393         * gst/gststructure.c:
3394           doc fixing
3395
3396         * tests/check/Makefile.am:
3397         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
3398         (GST_START_TEST):
3399           disable test for now, unless it gets fixed
3400
3401 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
3402
3403         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
3404         (GST_START_TEST):
3405           fix race in underrun test
3406
3407 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
3408
3409         * tests/check/elements/.cvsignore:
3410           ignore more
3411
3412         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
3413         (GST_START_TEST):
3414           try to narrow test failure
3415
3416 2006-12-21  David Schleef  <ds@schleef.org>
3417
3418         * plugins/elements/gstfakesrc.c:
3419           Use g_random_int_range(), since it produces better random
3420           numbers in a range than almost-correct floating point code.
3421
3422 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
3423
3424         * libs/gst/check/gstcheck.c: (gst_check_setup_src_pad),
3425         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
3426         (gst_check_teardown_sink_pad):
3427           do not automatically (de)activate pads
3428
3429         * tests/check/Makefile.am:
3430         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
3431         (setup_queue), (cleanup_queue), (GST_START_TEST), (queue_suite):
3432           add new, yet simple tests for queue
3433
3434         * tests/check/elements/fakesrc.c: (cleanup_fakesrc):
3435         * tests/check/elements/fdsrc.c: (cleanup_fdsrc):
3436         * tests/check/elements/filesrc.c: (cleanup_filesrc),
3437         (GST_START_TEST):
3438         * tests/check/elements/identity.c: (cleanup_identity):
3439           consistent pad (de)activation
3440
3441 2006-12-20  Tim-Philipp Müller  <tim at centricular dot net>
3442
3443         Patch by: Sebastian Dröge  <slomo ubuntu com>
3444
3445         * libs/gst/base/gstcollectpads.c:
3446           Fix two doc typos (#387866).
3447
3448 2006-12-19  Tim-Philipp Müller  <tim at centricular dot net>
3449
3450         * docs/manual/advanced-dparams.xml:
3451           Fix typo (g_object_control_properties() doesn't exist).
3452
3453 2006-12-19  Edward Hervey  <edward@fluendo.com>
3454
3455         * gst/gstsegment.c: (gst_segment_set_seek):
3456         Fine tune the cases where the segment start/stop values are really
3457         updated.
3458         * tests/check/gst/gstsegment.c: (GST_START_TEST):
3459         Add tests for the return values of gst_segment_set_seek().
3460
3461 2006-12-19  Tim-Philipp Müller  <tim at centricular dot net>
3462
3463         * gst/gst.c:
3464           Docs typo fix.
3465
3466         * plugins/elements/gstqueue.c: (gst_queue_class_init),
3467         (gst_queue_init):
3468           Fix incorrect documentation and flesh it out a bit more.
3469           Set default values for the max properties on the GParamSpec as well,
3470           so it shows up correctly in gst-inspect.
3471
3472 2006-12-18  Stefan Kost  <ensonic@users.sf.net>
3473
3474         * plugins/elements/gstqueue.c: (queue_leaky_get_type):
3475           Correct docs of queue, add more detail and crosslink it more.
3476
3477 2006-12-16  Tim-Philipp Müller  <tim at centricular dot net>
3478
3479         * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
3480           Print additional debug info when the stream isn't perfectly
3481           timestamped; don't try to use invalid durations.
3482
3483 2006-12-16  Tim-Philipp Müller  <tim at centricular dot net>
3484
3485         * docs/design/Makefile.am:
3486           Dist new design docs.
3487
3488 2006-12-16  Wim Taymans  <wim@fluendo.com>
3489
3490         Patch by: Sjoerd Simons <sjoerd at luon dot net>
3491
3492         * libs/gst/base/gstcollectpads.c: (ref_data), (unref_data),
3493         (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
3494         (gst_collect_pads_stop), (gst_collect_pads_event),
3495         (gst_collect_pads_chain):
3496         * libs/gst/base/gstcollectpads.h:
3497         Add refcounting to the collectpads data so we can track when it's safe
3498         to free the data. Fixes #383382.
3499
3500 2006-12-15  Wim Taymans  <wim@fluendo.com>
3501
3502         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
3503         (gst_collect_pads_remove_pad):
3504         Automatically activate/deactivate pads when they are added to a
3505         started/stoped collectpads.
3506
3507 2006-12-15  Wim Taymans  <wim@fluendo.com>
3508
3509         * gst/gstelement.c: (gst_element_add_pad):
3510         * gst/gstghostpad.c: (gst_ghost_pad_new_full):
3511         * gst/gstpad.c: (gst_pad_init):
3512         Set pads to FLUSHING when they are created. Check, warn and fix when a
3513         demuxer adds an inactive pad to itself when running. Fixes #339326.
3514
3515 2006-12-15  Wim Taymans  <wim@fluendo.com>
3516
3517         * gst/gstelement.c: (gst_element_class_init),
3518         (gst_element_default_send_event), (gst_element_send_event),
3519         (gst_element_default_query), (gst_element_query):
3520         Expose default element send_event and query handling as vmethods that
3521         subclasses can chain up to.
3522
3523 2006-12-15  Wim Taymans  <wim@fluendo.com>
3524
3525         * gst/gstelement.c: (gst_element_set_state_func):
3526         Small documentation fixes.
3527
3528 2006-12-15  Wim Taymans  <wim@fluendo.com>
3529
3530         * docs/design/draft-latency.txt:
3531         Checked in draft for handling latency in pipelines.
3532
3533 2006-12-15  Thomas Vander Stichele  <thomas at apestaart dot org>
3534
3535         * Makefile.am:
3536         * gstreamer.doap:
3537         * gstreamer.spec.in:
3538           adding .doap file
3539
3540 2006-12-14  Tim-Philipp Müller  <tim at centricular dot net>
3541
3542         * gst/gst.c: (init_pre), (init_post):
3543           init_pre() and init_post() might be called via our GOptionGroup or
3544           from gst_init(), and we should skip both of them if we've already
3545           been initialised, otherwise we will init some things twice or add
3546           two default log functions.
3547
3548 2006-12-13  Edward Hervey  <edward@fluendo.com>
3549
3550         * docs/manual/basics-bus.xml:
3551         No, gst_main_loop does not exist. Its g_main_loop.
3552         Discovered by somebody who abused the copy-paste technique of coding :)
3553
3554 2006-12-13  Tim-Philipp Müller  <tim at centricular dot net>
3555
3556         * gst/gstghostpad.c:
3557           Log ghostpad debug stuff to the GST_PADS category as well rather
3558           than just to the default category.
3559
3560 2006-12-12  Tim-Philipp Müller  <tim at centricular dot net>
3561
3562         * configure.ac:
3563         * gst/gst.c: (init_pre):
3564           Add some basic system details such as OS and architecture
3565           to the debug output if possible, courtesy of uname().
3566
3567 2006-12-11  Tim-Philipp Müller  <tim at centricular dot net>
3568
3569         * docs/gst/running.xml:
3570           Document GST_REGISTRY_FORK and GST_DEBUG_NO_COLOR
3571           environment variables.
3572
3573 2006-12-09  Jan Schmidt  <thaytan@mad.scientist.com>
3574
3575         * tests/check/gst/gstbin.c: (GST_START_TEST):
3576         It is acceptable to have a refcount of 2 or 3 at this point in the
3577         test, because the pipeline might be just posting its state_change
3578         message. The next line then waits for that message to appear using
3579         bus_poll, so that should be fine too.
3580
3581 2006-12-09  Jan Schmidt  <thaytan@mad.scientist.com>
3582
3583         * gst/gst.c: (ensure_current_registry_forking):
3584         Ignore EINTR when reading from the child registry pipe.
3585         Explicitly ignore the return value from close, since it makes no
3586         difference.
3587
3588         * gst/gstminiobject.c: (gst_mini_object_ref),
3589         (gst_mini_object_unref):
3590         When debugging refcounts, check GST_IS_MINI_OBJECT and warn.
3591
3592         * gst/gstregistry.c: (_priv_gst_registry_remove_cache_plugins):
3593         When removing cached plugins, remove their features too, so they're
3594         not visible after they've disappeared.
3595
3596         * gst/gstutils.c: (prepare_link_maybe_ghosting):
3597         In the unlikely case that we are linking pads with no parents, don't
3598         crash trying to get the non-existent parent bin.
3599
3600         * gst/parse/grammar.y:
3601         Output debug in the PIPELINE category
3602
3603 2005-03-08  Wim Taymans  <wim@fluendo.com>
3604
3605         Patch by: René Stadler <mail at renestadler dot de>
3606
3607         * gst/gstclock.c: (gst_clock_new_periodic_id):
3608         Reject invalid clock times for interval of periodic ids.
3609         Fixes ##383506.
3610
3611 2006-12-07  Jan Schmidt  <thaytan@mad.scientist.com>
3612
3613         * gst/gstelementfactory.c: (gst_element_factory_create):
3614         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
3615         * gst/gsttypefindfactory.c: (gst_type_find_factory_call_function):
3616         * tools/gst-inspect.c: (print_element_info):
3617         Fix refcounting of gst_plugin_feature_load to match the docs. 
3618         Fixes: #380129
3619
3620 2006-12-07  Wim Taymans  <wim@fluendo.com>
3621
3622         * libs/gst/base/gstbasesink.c: (gst_base_sink_event),
3623         (gst_base_sink_get_position):
3624         Improve debugging of events.
3625
3626 2006-12-07  Wim Taymans  <wim@fluendo.com>
3627
3628         Patch by: René Stadler <mail at renestadler dot de>
3629
3630         * gst/gstclock.c: (gst_clock_id_wait):
3631         Make period ids add the interval to the origial requested time instead
3632         of the possibly updated time which can be wrong when there are multiple
3633         waiters for the same id. Fixes #382592.
3634
3635         * gst/gstsystemclock.c: (gst_system_clock_async_thread),
3636         (gst_system_clock_id_wait_jitter_unlocked),
3637         (gst_system_clock_id_wait_jitter):
3638         Fix restart in the async notify thread when an async entry is added to
3639         the front of the list. Fixes #381492. 
3640
3641         * tests/check/gst/gstsystemclock.c: (store_callback),
3642         (notify_callback), (GST_START_TEST), (gst_systemclock_suite):
3643         Added test for multiple async waits.
3644         Added test for async wait order.
3645
3646 2006-12-07  Wim Taymans  <wim@fluendo.com>
3647
3648         * gst/gstbin.c: (gst_bin_query):
3649         Add some more docs about the POSITION query.
3650
3651 2006-12-07  Jan Schmidt  <thaytan@mad.scientist.com>
3652
3653         * configure.ac:
3654         Bump version nano - back to CVS.
3655
3656 === release 0.10.11 ===
3657
3658 2006-12-06  Jan Schmidt <thaytan@mad.scientist.com>
3659
3660         * configure.ac:
3661           releasing 0.10.11, "Love never runs on time"
3662
3663 2006-12-01  Jan Schmidt  <thaytan@mad.scientist.com>
3664
3665         * win32/common/libgstbase.def:
3666         * win32/common/libgstreamer.def:
3667         * win32/vs8/libgstbase.vcproj:
3668         * win32/vs8/libgstcoreelements.vcproj:
3669         * win32/vs8/libgstreamer.vcproj:
3670         Fix compilation on win32 under VS8
3671         Patch by: Sergey Scobich <sergey dot scobich at gmail dot com>
3672         Partially fixes #381175
3673
3674 2006-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
3675
3676         * gst/gstvalue.c: (gst_value_compare_fraction):
3677         If someone is foolish enough to compare 2 fractions with denominator =
3678         0, return UNORDERED rather than aborting.
3679
3680 2006-11-28  Edward Hervey  <edward@fluendo.com>
3681
3682         * libs/gst/base/Makefile.am:
3683         * libs/gst/base/gstdataqueue.c: (gst_data_queue_get_type),
3684         (gst_data_queue_base_init), (gst_data_queue_class_init),
3685         (gst_data_queue_init), (gst_data_queue_new),
3686         (gst_data_queue_cleanup), (gst_data_queue_finalize),
3687         (gst_data_queue_locked_flush), (gst_data_queue_locked_is_empty),
3688         (gst_data_queue_locked_is_full), (gst_data_queue_flush),
3689         (gst_data_queue_is_empty), (gst_data_queue_is_full),
3690         (gst_data_queue_set_flushing), (gst_data_queue_push),
3691         (gst_data_queue_pop), (gst_data_queue_drop_head),
3692         (gst_data_queue_set_property), (gst_data_queue_get_property):
3693         * libs/gst/base/gstdataqueue.h:
3694         New GstDataQueue object for threadsafe queueing. Most useful for
3695         elements that need some queueing functionnality.
3696         * docs/libs/gstreamer-libs-docs.sgml:
3697         * docs/libs/gstreamer-libs-sections.txt:
3698         Insert documentation for GstDataQueue
3699         * plugins/elements/Makefile.am:
3700         * plugins/elements/gstelements.c:
3701         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_base_init),
3702         (gst_multi_queue_class_init), (gst_multi_queue_init),
3703         (gst_multi_queue_finalize), (gst_multi_queue_set_property),
3704         (gst_multi_queue_get_property), (gst_multi_queue_request_new_pad),
3705         (gst_multi_queue_release_pad), (gst_single_queue_push_one),
3706         (gst_multi_queue_item_destroy), (gst_multi_queue_item_new),
3707         (gst_multi_queue_loop), (gst_multi_queue_chain),
3708         (gst_multi_queue_sink_activate_push), (gst_multi_queue_sink_event),
3709         (gst_multi_queue_getcaps), (gst_multi_queue_bufferalloc),
3710         (gst_multi_queue_src_activate_push), (gst_multi_queue_acceptcaps),
3711         (gst_multi_queue_src_event), (gst_multi_queue_src_query),
3712         (wake_up_next_non_linked), (compute_next_non_linked),
3713         (single_queue_overrun_cb), (single_queue_underrun_cb),
3714         (single_queue_check_full), (gst_single_queue_new):
3715         * plugins/elements/gstmultiqueue.h:
3716         New multiqueue element, using GstDataQueue. Used for queuing multiple
3717         streams.
3718         Closes #344639 and #347785
3719
3720 2006-11-22  Stefan Kost  <ensonic@users.sf.net>
3721
3722         * docs/pwg/advanced-types.xml:
3723           add more missing type details
3724
3725         * tools/gst-run.c: (main):
3726           remove unused variable
3727
3728 2006-11-21  Stefan Kost  <ensonic@users.sf.net>
3729
3730         * docs/libs/Makefile.am:
3731         * docs/libs/gstreamer-libs.types:
3732           add types of base classes to enable gobject specific stuff in the docs
3733
3734         * docs/random/ensonic/embedded.txt:
3735           more ideas about isolating platform specific things
3736
3737 2006-11-20  Wim Taymans  <wim@fluendo.com>
3738
3739         Patch by: Sebastian Dröge <slomo at ubuntu dot com>
3740
3741         * libs/gst/check/gstcheck.h:
3742         Fix compilation and running against 0.9.4. Fixes #377332.
3743
3744 2006-11-20  Wim Taymans  <wim@fluendo.com>
3745
3746         * gst/gstsegment.c: (gst_segment_set_seek),
3747         (gst_segment_set_newsegment_full), (gst_segment_to_stream_time),
3748         (gst_segment_to_running_time):
3749         Fix boundary checking in to_running_time() and to_stream_time().
3750         Fixes #377183.
3751
3752         * tests/check/gst/gstsegment.c: (GST_START_TEST):
3753         stream and running time can now be calculated for the complete
3754         clipped segment.
3755
3756 2006-11-15  Tim-Philipp Müller  <tim at centricular dot net>
3757
3758         * gst/gstpad.c: (gst_pad_push_event):
3759           Can't access event structure after giving away ownership of
3760           the event.
3761
3762 2006-11-15  Stefan Kost  <ensonic@users.sf.net>
3763
3764         * docs/random/ensonic/embedded.txt:
3765         * docs/random/ensonic/profiling.txt:
3766         * docs/random/ensonic/receipies.txt:
3767           more thinking
3768
3769 2006-11-13  Wim Taymans  <wim@fluendo.com>
3770
3771         Patch by: Mark Nauwelaerts <manauw at skynet dot be>
3772
3773         * gst/gstpad.c:
3774         Fix documentation for gst_pad_dispatcher. Fixes #374475.
3775
3776 2006-11-13  Wim Taymans  <wim@fluendo.com>
3777
3778         Patch by: Jonathan Matthew <jonathan at kaolin dot wh9 dot net>
3779
3780         * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length):
3781         Store new length in segment duration so we don't keep on calling the
3782         potentially expensize get_size() call. Fixes #370865.
3783
3784 2006-11-10  Tim-Philipp Müller  <tim at centricular dot net>
3785
3786         Patch by: Sergey Scobich  <sergey.scobich at gmail com>
3787
3788         * win32/common/libgstreamer.def:
3789           Add two missing symbols (#366492).
3790
3791 2006-11-10  Jan Schmidt  <thaytan@mad.scientist.com>
3792
3793         * libs/gst/base/gstadapter.c: (gst_adapter_flush),
3794         (gst_adapter_take_buffer):
3795         Fix format string to use all its arguments.
3796         Remove useless >= check on a guint
3797
3798 2006-11-09  Jan Schmidt  <thaytan@mad.scientist.com>
3799
3800         * tests/examples/adapter/.cvsignore:
3801         Ignore build file as commanded by the build-bot
3802
3803 2006-11-09  Jan Schmidt  <thaytan@mad.scientist.com>
3804
3805         * tests/examples/adapter/Makefile.am:
3806         * tests/examples/adapter/adapter_test.c: (run_test_take),
3807         (run_test_take_buffer), (run_tests), (main):
3808
3809         Add new files from the previous commit
3810
3811 2006-11-09  Jan Schmidt  <thaytan@mad.scientist.com>
3812
3813         * Makefile.am:
3814         * configure.ac:
3815         * libs/gst/base/gstadapter.c: (gst_adapter_clear),
3816         (gst_adapter_push), (gst_adapter_peek_into), (gst_adapter_peek),
3817         (gst_adapter_flush), (gst_adapter_take), (gst_adapter_take_buffer):
3818         * libs/gst/base/gstadapter.h:
3819         * tests/check/libs/adapter.c: (create_and_fill_adapter),
3820         (GST_START_TEST), (gst_adapter_suite):
3821         * tests/examples/Makefile.am:
3822         Do some optimisation work in GstAdapter to avoid copies in more cases.
3823         It could still do slightly better by merging buffers when
3824         gst_buffer_is_span_fast is true, but is already faster. 
3825
3826         Also, avoid traversing a single-linked list to append each incoming 
3827         buffer inside the adapter.
3828
3829         Add simple test app that times the adapter behaviour in different
3830         situations, and extend the unit test to check that bytes enter and
3831         exit the adapter in their original order.
3832
3833 2006-11-08  Tim-Philipp Müller  <tim at centricular dot net>
3834
3835         * docs/random/draft-missing-plugins.txt:
3836           Update: use element message instead of adding a new message
3837           type to the core; don't provide GStreamer API to initiate the
3838           plugin download, just provide API to compose the strings needed
3839           and let an external libgimmestuff handle the rest.
3840
3841 2006-11-08  Jan Schmidt  <thaytan@mad.scientist.com>
3842
3843         * tools/gst-inspect.c: (print_element_properties_info):
3844         Print a string instead of 'unknown type' for GValueArray properties
3845
3846 2006-11-08  Christian F.K. Schaller  <christian@fluendo.com>
3847
3848         * docs/random/draft-missing-plugins.txt:
3849         More small fixes.
3850
3851 2006-11-07  Tim-Philipp Müller  <tim at centricular dot net>
3852
3853         * tests/examples/typefind/typefind.c: (type_found), (main):
3854           Make typefind element example work again (#371894); add a
3855           license header.
3856
3857 2006-11-07  Tim-Philipp Müller  <tim at centricular dot net>
3858
3859         * docs/random/draft-missing-plugins.txt:
3860           Commit initial draft about how to deal with missing plugins,
3861           needs work (API too).
3862
3863 2006-11-07  Stefan Kost  <ensonic@users.sf.net>
3864
3865         * docs/pwg/advanced-types.xml:
3866           documents the new caps elements (see #363118)
3867
3868 2006-11-06  Tim-Philipp Müller  <tim at centricular dot net>
3869
3870         * gst/gstplugin.c: (gst_plugin_load_file):
3871         * plugins/elements/gstfilesrc.c: (gst_mmap_buffer_finalize),
3872         (gst_file_src_map_region), (gst_file_src_start):
3873         * plugins/indexers/gstfileindex.c: (gst_file_index_load),
3874         (gst_file_index_commit):
3875           Use g_strerror() instead of strerror() - we want UTF-8.
3876
3877 2006-11-06  Tim-Philipp Müller  <tim at centricular dot net>
3878
3879         Patch by: Peter Kjellerstedt <pkj at axis com>
3880
3881         * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
3882           Another printf fix (#371493).
3883
3884 2006-11-06  Stefan Kost  <ensonic@users.sf.net>
3885
3886         * tests/check/gst/gsttag.c:
3887           relicence (okay with author=company)
3888
3889 2006-11-06  Stefan Kost  <ensonic@users.sf.net>
3890
3891         * gst/gstpad.c: (gst_pad_event_default_dispatch),
3892         (gst_pad_push_event):
3893           Enhance debug and improve docs
3894         
3895         * gst/gsturi.c:
3896           Fix docs
3897
3898 2006-11-06  Stefan Kost  <ensonic@users.sf.net>
3899
3900         * docs/random/ensonic/distributed.txt:
3901         * docs/random/ensonic/profiling.txt:
3902           more ideas
3903
3904 2006-11-06  Stefan Kost  <ensonic@users.sf.net>
3905
3906         * docs/gst/gstreamer-sections.txt:
3907           add new API and fix the build
3908           
3909         * gst/gstbin.c: (gst_bin_recalc_state):
3910         * gst/gstelement.c: (gst_element_message_full),
3911         (gst_element_get_state_func), (gst_element_set_state_func):
3912           use new API and improve logging
3913         
3914         * gst/gstutils.c: (gst_element_state_change_return_get_name):
3915         * gst/gstutils.h:
3916           API: add function to get StateChangereturn names to improve logs 
3917
3918 2006-11-04  Thomas Vander Stichele  <thomas at apestaart dot org>
3919
3920         * plugins/elements/gstfilesrc.c: (gst_file_src_start):
3921           I'm considering shooting the next person to put strerror stuff
3922           in the translateable part of the message.
3923
3924 2006-11-03  Wim Taymans  <wim@fluendo.com>
3925
3926         * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
3927         Get the type and printf conversion specifiers right.
3928
3929 2006-11-03  Wim Taymans  <wim@fluendo.com>
3930
3931         Patch by: Mark Nauwelaerts <manauw at skynet dot be>
3932
3933         * gst/gstpad.c: (gst_pad_init), (pre_activate),
3934         (gst_pad_set_blocked_async), (gst_pad_acceptcaps_default),
3935         (gst_pad_accept_caps), (handle_pad_block), (gst_pad_push_event):
3936         Some small cleanups. Improve debugging.
3937         * gst/gstpad.h:
3938         Signal all waiting threads with a broadcast instead of just one.
3939         Fixes #369942.
3940
3941 2006-11-03  Wim Taymans  <wim@fluendo.com>
3942
3943         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd),
3944         (gst_fd_src_create):
3945         Add some debugging. 
3946         Only update fd when it's different from the old.
3947
3948 2006-11-02  Tim-Philipp Müller  <tim at centricular dot net>
3949
3950         * plugins/elements/gstfilesrc.c: (gst_file_src_create_mmap):
3951           Printf fixes for PPC/OSX, take two (#369366).
3952
3953 2006-11-02  Tim-Philipp Müller  <tim at centricular dot net>
3954
3955         Based on patch by: Jan David Mol  <j.j.d.mol at tudelft nl>
3956
3957         * plugins/elements/gstfilesink.c: (gst_file_sink_class_init):
3958         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
3959         (gst_file_src_map_small_region), (gst_file_src_create_mmap):
3960           Printf fixes for gsize parameters on PPC/OSX (#369366). Also,
3961           don't cast to long long for portability reasons, but use
3962           GLib's types instead.
3963
3964 2006-10-30  Michael Smith  <msmith@fluendo.com>
3965
3966         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
3967           Get the arguments to lseek() the right way around.
3968           Fixes 367677.
3969
3970 2006-10-30  Wim Taymans  <wim@fluendo.com>
3971
3972         Patch by: gorshkov <gorshkov at oghma dot on dot ca>
3973
3974         * gst/gstinfo.h:
3975         _declspec should be __declspec (two underscores, not one). Fixes 366572.
3976
3977 2006-10-28  Tim-Philipp Müller  <tim at centricular dot net>
3978
3979         Patch by: Kjartan Maraas  <kmaraas at gnome org>
3980
3981         * docs/design/part-MT-refcounting.txt:
3982         * docs/random/wtay/capsnego2-docs:
3983         * gst/gstclock.c:
3984         * gst/gstxml.c:
3985           Typo fixes (#366212).
3986
3987 2006-10-28  Wim Taymans  <wim@fluendo.com>
3988
3989         Patch by: Sergey Scobich <sergey dot scobich at gmail dot com>
3990
3991         * gst/gst.c:
3992         * win32/common/libgstbase.def:
3993         * win32/common/libgstreamer.def:
3994         * win32/vs8/libgstbase.vcproj:
3995         * win32/vs8/libgstcontroller.vcproj:
3996         Add needed entries in .def files.
3997         Use HAVE_UNISTD_H.
3998         Rearrange def files in vs8 solutions. Fixes #366286.
3999
4000 2006-10-28  Tim-Philipp Müller  <tim at centricular dot net>
4001
4002         * win32/common/gstconfig.h:
4003           Add GST_SEGMENT_FORMAT and GST_USING_PRINTF_EXTENSION to the
4004           hand-made win32 gstconfig.h. Fixes #366321.
4005
4006 2006-10-27  Wim Taymans  <wim@fluendo.com>
4007
4008         * gst/gstghostpad.c: (gst_proxy_pad_do_acceptcaps),
4009         (gst_ghost_pad_new_full):
4010         Make acceptcaps return TRUE when we don't have a target, just like
4011         setcaps does.
4012
4013 2006-10-27  Wim Taymans  <wim@fluendo.com>
4014
4015         * libs/gst/base/gstbasetransform.c: (gst_base_transform_chain):
4016         Revert previous commit, 0 sized buffers are allowed. Reopens #363095.
4017
4018 2006-10-26  Tim-Philipp Müller  <tim at centricular dot net>
4019
4020         * gst/gststructure.c: (gst_structure_id_set_value):
4021           If someone tries to set a non-UTF8 string field on a structure,
4022           don't just print a warning, but also ignore the request and do
4023           not change/add that field to the structure.
4024
4025         * tests/check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
4026           Test for the above.
4027
4028 2006-10-25  David Schleef  <ds@schleef.org>
4029
4030         * gst/gstinfo.c:
4031           g_hash_table_insert() needs a cast to a non-const pointer duh.
4032
4033 2006-10-25  David Schleef  <ds@schleef.org>
4034
4035         * gst/gstinfo.c:
4036         * gst/gstinfo.h:
4037           Change name parameter of _gst_debug_register_funcptr to const
4038           to reflect the constness of its use in the function as well
4039           as to quiet a gcc warning.
4040
4041 2006-10-25  Edward Hervey  <edward@fluendo.com>
4042
4043         * libs/gst/base/gstbasetransform.c: (gst_base_transform_chain):
4044         Don't push the buffer if it's empty.
4045         Closes #363095
4046
4047 2006-10-24  Wim Taymans  <wim@fluendo.com>
4048
4049         * gst/gstevent.h:
4050         Add small comment.
4051
4052         * libs/gst/base/gstbasetransform.c:
4053         (gst_base_transform_sink_eventfunc):
4054         Debug segment values *after* updating them as this is more
4055         interesting.
4056
4057 2006-10-23  Wim Taymans  <wim@fluendo.com>
4058
4059         * docs/design/part-events.txt:
4060         Update some docs.
4061
4062         * docs/design/part-block.txt:
4063         * gst/gstpad.c: (gst_pad_is_blocking), (handle_pad_block),
4064         (gst_pad_push_event):
4065         Revert BLOCKING patch, it tries to be smart without really having a
4066         clear idea what or how. So, now we discard all FLUSHING events again on
4067         a blocking pad. Should fix gnonlin again.
4068
4069 2006-10-23  Wim Taymans  <wim@fluendo.com>
4070
4071         Patch by: Sergey Scobich <sergey dot scobich at gmail dot com>
4072
4073         * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
4074         (gst_base_src_start), (gst_base_src_activate_push):
4075         Make sure size is always initialized. Fixes #364388.
4076
4077 2006-10-20  Stefan Kost  <ensonic@users.sf.net>
4078
4079         * docs/random/ensonic/distributed.txt:
4080           add some ideas about doing distributed processing
4081
4082         * docs/random/ensonic/profiling.txt:
4083           get_rusage look promising
4084
4085 2006-10-18  Stefan Kost  <ensonic@users.sf.net>
4086
4087         * docs/manual/basics-helloworld.xml:
4088           Add a cast in example to fix compile warning
4089
4090 2006-10-18  Wim Taymans  <wim@fluendo.com>
4091
4092         * gst/gstsegment.c: (gst_segment_set_last_stop),
4093         (gst_segment_set_seek), (gst_segment_set_newsegment_full):
4094         Relax arg checking again, -1 is allowed.
4095
4096 2006-10-18  Wim Taymans  <wim@fluendo.com>
4097
4098         * gst/gstsegment.c: (gst_segment_set_last_stop),
4099         (gst_segment_set_seek), (gst_segment_set_newsegment_full):
4100         _set_last_stop() must be with a value != -1
4101         A _TYPE_SET to -1 means seek to 0.
4102         Calc last_stop correctly for negative rates.
4103         Make sure we work with positive durations when updating a segment.
4104
4105 2006-10-18  Wim Taymans  <wim@fluendo.com>
4106
4107         * docs/design/part-live-source.txt:
4108         * gst/gstclock.h:
4109         Small docs fixes.
4110
4111 2006-10-18  Tim-Philipp Müller  <tim at centricular dot net>
4112
4113         * gst/gstbuffer.h:
4114           Add an explicit cast to GstBuffer** to keep old code that added an
4115           explicit cast to GstMiniObject** for gst_mini_object_replace()
4116           compiling without warning.
4117
4118 2006-10-18  Stefan Kost  <ensonic@users.sf.net>
4119
4120         * gst/gstvalue.c: (gst_value_set_date), (gst_date_copy):
4121           check for validity of dates
4122
4123 2006-10-17  Tim-Philipp Müller  <tim at centricular dot net>
4124
4125         * docs/gst/gstreamer-sections.txt:
4126           Forgot this one, makes gtk-doc shut up.
4127
4128 2006-10-17  Tim-Philipp Müller  <tim at centricular dot net>
4129
4130         Patch by: Peter Kjellerstedt <pkj at axis com>
4131
4132         * gst/gstobject.h:
4133           Don't define xmlNodePtr to gpointer if the core was built with
4134           --disable-loadsave and --disable-registry, this will break
4135           applications that want to use libxml2 but are buildling against a
4136           core that doesn't use libxml2. Use an intermediary type GstXmlNodePtr
4137           instead so we don't have to mess with the libxml2 namespace
4138           (#361675).
4139
4140 2006-10-17  Tim-Philipp Müller  <tim at centricular dot net>
4141
4142         * gst/gstbuffer.h:
4143           Fix gst_buffer_replace() macro to avoid gst_mini_object_replace()-related
4144           type-punned pointer warnings.
4145
4146 2006-10-16  Tim-Philipp Müller  <tim at centricular dot net>
4147
4148         * gst/gstelement.h:
4149           Add casts to the correct return type to state <=> state transition
4150           macros.
4151
4152 2006-10-16  Stefan Kost  <ensonic@users.sf.net>
4153
4154         * docs/design/part-live-source.txt:
4155           describe howto handle latency
4156         
4157         * docs/random/ensonic/profiling.txt:
4158           more ideas
4159
4160         * tools/gst-plot-timeline.py:
4161           fix log parsing for solaris, remove unused function
4162
4163 2006-10-16  Wim Taymans  <wim@fluendo.com>
4164
4165         * docs/design/part-trickmodes.txt:
4166         * gst/gstevent.c:
4167         Update some docs regarding reverse playback.
4168
4169 2006-10-15  Tim-Philipp Müller  <tim at centricular dot net>
4170
4171         Patch by: Marcus Granado  <mrc dot gran at gmail com>
4172
4173         * win32/vs8/grammar.vcproj:
4174           Error out with a warning if glib-genmarshal.exe is not in path,
4175           instead of creating bogus gstmarshal.[ch] files. Fixes #361720.
4176
4177 2006-10-13  Wim Taymans  <wim@fluendo.com>
4178
4179         * gst/gstsegment.c: (gst_segment_set_seek):
4180         When seeking to stop -1, set last_stop (current position) to the
4181         duration of the segment.
4182
4183 2006-10-13  Wim Taymans  <wim@fluendo.com>
4184
4185         * gst/gstelement.h:
4186         Clarify _NO_PREROLL a bit more.
4187
4188         * gst/gstevent.c:
4189         Fix docs.
4190
4191         * gst/gstpad.c: (gst_pad_link_check_hierarchy),
4192         (gst_pad_get_caps_unlocked), (gst_pad_save_thyself),
4193         (handle_pad_block), (gst_pad_push_event), (gst_pad_send_event):
4194         Patch by: Yves Lefebvre <ivanohe at abacom dot com> Fix possible deadlock
4195         due to wrong locking order. Fixes #361769.
4196         Remove some redundant/misplaced checks in pad_block.
4197
4198         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
4199         For negative rates, count backwards from the duration.
4200
4201 2006-10-13  Tim-Philipp Müller  <tim at centricular dot net>
4202
4203         * gst/gsterror.c: (_gst_library_errors_init):
4204           Fix error message for GST_LIBRARY_ERROR_SETTINGS (feel free to come
4205           up with something better).
4206
4207 2006-10-12  Tim-Philipp Müller  <tim at centricular dot net>
4208
4209         * win32/vs6/libgstreamer.dsp:
4210         * win32/vs7/libgstreamer.vcproj:
4211         * win32/vs8/libgstreamer.vcproj:
4212           Don't reference glib-compat.c which is currently not used and not
4213           disted; add gstquark.c which was recently added. Fixes #361730.
4214
4215 2006-10-12  Tim-Philipp Müller  <tim at centricular dot net>
4216
4217         * win32/common/libgstbase.def:
4218         * win32/common/libgstcontroller.def:
4219         * win32/common/libgstreamer.def:
4220           Add gst_caps_merge() and a bunch of other recently-added functions.
4221           Fixes #361732.
4222
4223 2006-10-11  Wim Taymans  <wim@fluendo.com>
4224
4225         * docs/plugins/gstreamer-plugins.args:
4226         * docs/plugins/inspect/plugin-coreelements.xml:
4227         * docs/plugins/inspect/plugin-coreindexers.xml:
4228         Update element args.
4229
4230         * gst/gstsystemclock.c:
4231         Small comment update.
4232
4233         * plugins/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
4234         (gst_tee_request_new_pad), (gst_tee_release_pad),
4235         (gst_tee_buffer_alloc), (gst_tee_sink_activate_push),
4236         (gst_tee_sink_activate_pull):
4237         * plugins/elements/gsttee.h:
4238         Some tee loving:
4239         Add default property defines.
4240         Implement release pad function.
4241         Give properties better blubs etc.
4242         Activate pads before adding them to a running tee.
4243         Do simple buffer_alloc on the first requested pad.
4244         Post error when activation fails.
4245
4246 2006-10-11  Tim-Philipp Müller  <tim at centricular dot net>
4247
4248         * gst/gst.c: (ensure_current_registry_forking):
4249           Check return value of write() to make compiler happy.
4250
4251 2006-10-11  Wim Taymans  <wim@fluendo.com>
4252
4253         Patch by: Sjoerd Simons <sjoerd at luon dot net>
4254
4255         * plugins/elements/gstqueue.c: (gst_queue_chain):
4256         Recheck queue filledness after signalling the overrun when we're about
4257         to leak downstream because we released the lock when emitting the signal
4258         and the queue could be empty again. Fixes #352345.
4259
4260 2006-10-11  Tim-Philipp Müller  <tim at centricular dot net>
4261
4262         * libs/gst/controller/gstcontroller.c: (gst_controller_new_list):
4263           Fix refcounting here too, just like we did for _new_valist() a few
4264           days ago (#357180) (thanks to René Stadler). Also remove all those
4265           'Since: 0.9' from the gtk-doc blobs.
4266
4267         * tests/check/libs/controller.c: (controller_refcount_new_list),
4268         (gst_controller_suite):
4269           Unit test for the above.
4270
4271 2006-10-10  Wim Taymans  <wim@fluendo.com>
4272
4273         Patch by: Sebastien Cote <sebas642 at yahoo dot ca>
4274
4275         * gst/gstpad.c: (gst_pad_get_caps_unlocked),
4276         (gst_pad_save_thyself):
4277         Update some docs.
4278         Write pad direction in XML output. Fixes #345496.
4279
4280 2006-10-10  Wim Taymans  <wim@fluendo.com>
4281
4282         Patch by: René Stadler <mail at renestadler dot de>
4283
4284         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
4285         (gst_controller_new_list), (_gst_controller_dispose),
4286         (_gst_controller_finalize), (_gst_controller_class_init):
4287         Take ref to controlled object so that it cannot disappear. 
4288         Fixes #357432.
4289
4290 2006-10-10  Wim Taymans  <wim@fluendo.com>
4291
4292         * libs/gst/check/gstcheck.c: (gst_check_setup_src_pad),
4293         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
4294         (gst_check_teardown_sink_pad):
4295         Activate/deactivate pads in setup/teardown respectively.
4296
4297 2006-10-10  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
4298
4299         Patch by: Josep Torre Valles <josep@fluendo.com>
4300
4301         * gst/Makefile.am:
4302         Cast values when making gstenumtypes.h.  This pacifies Forte
4303         so it doesn't warn about the ~0 as GST_MESSAGE_ANY not fitting
4304         in the enumeration.
4305
4306 2006-10-09  Wim Taymans  <wim@fluendo.com>
4307
4308         * gst/gstevent.c: (gst_event_new_seek), (gst_event_parse_seek):
4309         Rename some more @cur to @start to fix docs. 
4310
4311         * gst/gstsegment.c: (gst_segment_set_seek):
4312         Fix typo.
4313         time and start must always stay in sync as defined in design doc.
4314
4315         * gst/gsttaglist.c: (gst_tag_list_is_empty):
4316         Rename param to fix docs.
4317
4318         * tests/check/gst/gstsegment.c: (GST_START_TEST):
4319         Check that start and time are in sync.
4320
4321         * tests/check/pipelines/parse-launch.c:
4322         (gst_parse_test_element_change_state):
4323         Activate pad before adding to the element.
4324
4325 2006-10-09  Wim Taymans  <wim@fluendo.com>
4326
4327         * docs/design/part-qos.txt:
4328         Fix typo.
4329
4330         * gst/gstevent.c:
4331         * gst/gstevent.h:
4332         Update seek event docs regarding negative rates.
4333         Rename @cur to @start. 
4334
4335         * gst/gstsegment.c: (gst_segment_set_seek):
4336         * gst/gstsegment.h:
4337         Update set_seek docs regarding negative rates.
4338         Correctly update last_stop to @stop when dealing with negative
4339         rates.
4340         Rename @cur to @start. 
4341
4342         * tests/check/gst/gstpad.c: (GST_START_TEST):
4343         Activate pads before trying to use them.
4344
4345         * tests/check/gst/gstsegment.c: (GST_START_TEST),
4346         (gst_segment_suite):
4347         Add simple check for segments and negative rates.
4348
4349 2006-10-09  Tim-Philipp Müller  <tim at centricular dot net>
4350
4351         * gst/gsttaglist.c: (gst_tag_list_is_empty):
4352         * gst/gsttaglist.h:
4353         * docs/gst/gstreamer-sections.txt:
4354           API: add gst_tag_list_is_empty() (#360467).
4355
4356         * tests/check/gst/gsttag.c: (GST_START_TEST):
4357           And a test case.
4358
4359 2006-10-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
4360
4361         * gst/gstmessage.h:
4362         Revert change from earlier wrt GST_MESSAGE_TYPE_ANY having
4363         a value that doesn't fit on enumeration.
4364
4365 2006-10-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
4366
4367         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
4368         Remove local debugging system and use Gstreamer's instead.
4369
4370 2006-10-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
4371
4372         Patch by: Josep Torre Valles <josep@fluendo.com>
4373
4374         * common/m4/gst-error.m4:
4375         Disable warning of statement not reached on Forte.
4376         * gst/gstmessage.h:
4377         Fix warning on Forte (value doesn't fit on enumeration).
4378         * libs/gst/base/gstbasesink.c: (gst_base_sink_chain_unlocked):
4379         Fix warning on Forte (value doesn't fit on enumeration).
4380         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
4381         DEBUG macro says it takes minimum of 2 args and so Forte
4382         complains about the use with just 1 arg.
4383         * plugins/elements/gstfdsink.c:
4384         * plugins/elements/gstfdsrc.c:
4385         * plugins/elements/gstfilesink.c:
4386         * plugins/elements/gstfilesrc.c:
4387         Use correct return type for the uri handler implementations.
4388
4389         All these fix warnings in Forte.  Fixes bug #360860.
4390
4391 2006-10-08  Tim-Philipp Müller  <tim at centricular dot net>
4392
4393         * gst/gstelement.h:
4394           gcc versions prior to gcc 3.3 apparently complain about a NULL printf
4395           format string, so don't use G_GNUC_PRINTF for those versions.
4396
4397 2006-10-07  Tim-Philipp Müller  <tim at centricular dot net>
4398
4399         * gst/gsttaglist.c: (gst_is_tag_list):
4400         * gst/gsttaglist.h:
4401           Minor fixes to GST_IS_TAG_LIST and gst_is_tag_list().
4402
4403         * tests/check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
4404           Small test for the above.
4405
4406 2006-10-07  Tim-Philipp Müller  <tim at centricular dot net>
4407
4408         * gst/gsttaglist.h:
4409           Less tabs, more spaces.
4410
4411 2006-10-06  Tim-Philipp Müller  <tim at centricular dot net>
4412
4413         * gst/gstinfo.h:
4414           Those two function declarations do actually belong there, revert
4415           commit from yesterday that turned them intro macros.
4416
4417 2006-10-06  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
4418
4419         Patch by: Josep Torre Valles <josep@fluendo.com>
4420
4421         * gst/gst.c: (gst_init_get_option_group):
4422         Fix empty declaration and type mismatch.
4423         * gst/gstbin.c: (gst_bin_change_state_func):
4424         Fix type mismatch.
4425         * gst/gstelement.c: (gst_element_continue_state),
4426         (gst_element_set_state_func), (gst_element_change_state),
4427         (gst_element_change_state_func):
4428         Fix type mismatches.
4429         * gst/gstinfo.c: (gst_debug_compare_log_function_by_func),
4430         (gst_debug_remove_log_function), (_gst_debug_nameof_funcptr):
4431         Cast as appropriate.
4432         * gst/gstobject.c: (gst_class_signal_connect):
4433         Cast as appropriate.  The function pointer parameter really
4434         has the wrong type but would break API if we change it.
4435         * gst/gstquery.c:
4436         Fix redefinition of _FILE_OFFSET_BITS caused on Solaris wrt
4437         order of including string.h.
4438         * gst/gstutils.c: (gst_element_state_get_name):
4439         Remove unreachable line.
4440         * gst/gstxml.c: (gst_xml_parse_doc):
4441         Fix type mismatch.
4442         All these caught by Forte.
4443
4444 2006-10-06  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
4445
4446         Patch by: Josep Torre Valles <josep@fluendo.com>
4447
4448         * common/m4/gst-error.m4:
4449         Fixed bug #360151.
4450         We need to disable warnings on Forte for empty declarations
4451         due to gst-indent adding ;s to lines that just use macros
4452         where the macro actually doesn't need a ; at end to end
4453         statement.
4454
4455 2006-10-06  Wim Taymans  <wim@fluendo.com>
4456
4457         * plugins/elements/gstfilesink.c: (gst_file_sink_open_file),
4458         (gst_file_sink_close_file), (gst_file_sink_event),
4459         (gst_file_sink_render):
4460         Add some FIXME for the NEWSEGMENT handling.
4461
4462 2006-10-05  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
4463
4464         * gst/parse/grammar.y:
4465         Remove static function gst_parse_element_lock as all it does
4466         is return.  Looks like cruft from 0.8.
4467
4468 2006-10-05  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
4469
4470         Patch by: Josep Torre Valles <josep@fluendo.com>
4471
4472         * common/m4/gst-error.m4:
4473         * configure.ac:
4474         * libs/gst/net/Makefile.am:
4475         Fix a compilation issue with Forte on Solaris.  inet_aton is in
4476         libresolv.
4477
4478 2006-10-05  Tim-Philipp Müller  <tim at centricular dot net>
4479
4480         * gst/gstpad.c: (pre_activate):
4481         * gst/gstregistry.c: (gst_registry_scan_path_level):
4482         * gst/gstregistryxml.c: (load_plugin):
4483         * libs/gst/controller/gstcontroller.c:
4484         (gst_controlled_property_set_interpolation_mode):
4485         * libs/gst/dataprotocol/dataprotocol.c:
4486         (gst_dp_packet_from_event_1_0):
4487         * libs/gst/net/gstnetclientclock.c:
4488         (gst_net_client_clock_observe_times):
4489         * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
4490           Printf fixes.
4491
4492 2006-10-05  Tim-Philipp Müller  <tim at centricular dot net>
4493
4494         * configure.ac:
4495         * docs/gst/gstreamer-sections.txt:
4496         * gst/gstconfig.h.in:
4497         * gst/gstelement.h:
4498         * gst/gstinfo.h:
4499           Add GST_USING_PRINTF_EXTENSION to gstconfig.h so that we know
4500           whether we can use G_GNUC_PRINTF in other header files and at
4501           least check the printf format/arguments of debug messages and
4502           GST_ELEMENT_ERROR messages when the printf extension is not
4503           being used.
4504           Replace more tabs with spaces in gstinfo.h and remove two spurious
4505           function declarations in GST_DISABLE_DEBUG part with macros.
4506
4507 2006-10-03  Tim-Philipp Müller  <tim at centricular dot net>
4508
4509         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_post):
4510           More docs for the sync-message signal (mention that it is not
4511           emitted by default); log message structures of messages posted on
4512           the bus as well.
4513
4514 2006-10-03  Jan Schmidt  <thaytan@mad.scientist.com>
4515
4516         * gst/gst.c: (ensure_current_registry_forking):
4517         Use a pipe pair to receive status results from the forked child, and
4518         ignore the result from waitpid. Fixes #355499
4519
4520 2006-10-02  Wim Taymans  <wim@fluendo.com>
4521
4522         * tests/check/gst/gstghostpad.c: (GST_START_TEST),
4523         (gst_ghost_pad_suite):
4524         Fix leak in check.
4525
4526 2006-10-02  Tim-Philipp Müller  <tim at centricular dot net>
4527
4528         * gst/gstpad.c:
4529           Add 'Since: 0.10.11' to gst_pad_is_blocking() gtk-doc blurb.
4530
4531 2006-10-02  Edward Hervey  <edward@fluendo.com>
4532
4533         * docs/design/part-block.txt:
4534         Further explain the use of flushing on blocked pads.
4535         * docs/gst/gstreamer-sections.txt:
4536         * gst/gstpad.c: (gst_pad_is_blocking), (handle_pad_block),
4537         (gst_pad_push_event):
4538         * gst/gstpad.h:
4539         Added new GstPadFlag : GST_PAD_BLOCKING.
4540         Adds the notion of pads really blocking, which enables to properly
4541         handle FLUSH_START/FLUSH_STOP events on blocked pads.
4542         Fixes #358999
4543         API: gst_pad_is_blocking()
4544         API: GST_PAD_IS_BLOCKING() macro
4545         API: GST_PAD_BLOCKING GstPadFlag
4546         
4547 2006-10-02  Wim Taymans  <wim@fluendo.com>
4548
4549         Patch by: mrcgran <mrc.gran at gmail dot com>
4550
4551         * gst/gstghostpad.c: (gst_proxy_pad_do_getcaps):
4552         Filter the proxied caps against the padtemplate if we have one.
4553
4554         * gst/gstquery.c: (gst_query_new_segment):
4555         Add include for gstinfo.h so that compilation with
4556         -DGST_DISABLE_GST_DEBUG works again. Fixes #358436.
4557
4558 2006-10-02  Wim Taymans  <wim@fluendo.com>
4559
4560         Patch by: Alessandro Decina  <alessandro at nnva org>
4561
4562         * plugins/elements/gstfilesink.c: (gst_file_sink_init),
4563         (gst_file_sink_set_location), (gst_file_sink_open_file),
4564         (gst_file_sink_close_file), (gst_file_sink_event),
4565         (gst_file_sink_render):
4566         Set file to NULL when closing filesink so that we can set a new filename
4567         in READY. Fixes #358613.
4568
4569 2006-10-02  Tim-Philipp Müller  <tim at centricular dot net>
4570
4571         Patch by: Alessandro Decina  <alessandro at nnva org>
4572
4573         * gst/gstevent.c: (_gst_event_copy):
4574           Fix gst_mini_object_make_writable() and gst_event_copy() for events
4575           with event structures by setting the parent refcount address of the
4576           copied structure to the address of the refcount member of the newly
4577           copied event rather than the address of the refcount member of the
4578           original event. Fixes #358737.
4579
4580         * tests/check/gst/gstevent.c: (GST_START_TEST):
4581           Unit test for the above.
4582
4583 2006-09-29  Stefan Kost  <ensonic@users.sf.net>
4584
4585         * docs/design/Makefile.am:
4586           Dist some more files.
4587
4588 2006-09-29  Tim-Philipp Müller  <tim at centricular dot net>
4589
4590         * tests/check/libs/controller.c: (GST_START_TEST),
4591         (gst_controller_suite):
4592           Add test for the previous fix; add some more tests
4593           for correct refcounting behaviour; fix a few leaks
4594           in test cases; call gst_controller_init() at start
4595           of all tests.
4596
4597 2006-09-29  Tim-Philipp Müller  <tim at centricular dot net>
4598
4599         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
4600         (gst_controller_set_from_list):
4601           Don't g_return_val_if_fail() on timed values with invalid timestamps
4602           inside a critical section without unlocking the mutex. Spotted by
4603           René Stadler. (#357617)
4604           Also, fix up refcounting properly: when returning an existing
4605           controller, we should increase the reference only once and not
4606           once per property and when trying to control a property again
4607           we should also increase the refcount.
4608
4609 2006-09-29  Wim Taymans  <wim@fluendo.com>
4610
4611         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
4612         * libs/gst/net/gstnettimeprovider.c:
4613         (gst_net_time_provider_thread):
4614         Stop reading commands when EOF as well.
4615
4616         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init):
4617         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init):
4618         * plugins/elements/gstidentity.c: (gst_identity_class_init):
4619         Unify description of the dump property.
4620
4621 2006-09-28  Jan Schmidt  <thaytan@mad.scientist.com>
4622
4623         * tests/examples/manual/.cvsignore:
4624         OK, so it's actually cvsignore that needs changing. Stop laughing.
4625
4626 2006-09-28  Jan Schmidt  <thaytan@mad.scientist.com>
4627
4628         * tests/examples/manual/Makefile.am:
4629         Gah, declare vars *before* using them
4630
4631 2006-09-28  Jan Schmidt  <thaytan@mad.scientist.com>
4632
4633         * gst/gst.c: (init_pre), (scan_and_update_registry),
4634         (ensure_current_registry_nonforking),
4635         (ensure_current_registry_forking), (ensure_current_registry),
4636         (init_post), (gst_debug_help), (gst_deinit):
4637         * gst/gst_private.h:
4638         * gst/gstregistry.c: (gst_registry_finalize),
4639         (gst_registry_remove_features_for_plugin_unlocked),
4640         (gst_registry_remove_plugin), (gst_registry_scan_path_level),
4641         (gst_registry_scan_path),
4642         (_priv_gst_registry_remove_cache_plugins),
4643         (_priv_gst_registry_cleanup):
4644         * gst/gstregistry.h:
4645         Re-commit the registry changes, along with an extra fix:
4646           When a cached plugin is encountered at a different file path,
4647           update the stored path in the registry cache so that the parent
4648           process knows where it actually is now when it re-reads the registry
4649           cache. Fixes the thing that broke distcheck with the previous commit.
4650
4651         * tests/check/Makefile.am:
4652         Clean up files named 'core' too when running make clean.
4653
4654         * tests/examples/manual/Makefile.am:
4655         Set up a registry path for running these tests, and clean it properly
4656         for distcheck.
4657
4658 2006-09-28  Jan Schmidt  <thaytan@mad.scientist.com>
4659
4660         * configure.ac:
4661         Don't pull in gmodule-2.0.pc as a dependency in our .pc files - we
4662         want gmodule-no-export-2.0.pc instead so that we don't drag in
4663         --export-dynamic on every project that links to GStreamer.
4664
4665         Also, make our export regex only match the start of symbols, rather 
4666         than any symbol that contains '_gst' somewhere.
4667
4668         * libs/gst/check/Makefile.am:
4669         The libgstcheck we build does however need export-dynamic, as it
4670         produces some symbols that don't match our _gst... style regex.
4671         Fixes: #318031
4672
4673 2006-09-27  Jan Schmidt  <thaytan@mad.scientist.com>
4674
4675         * gst/gst.c: (init_pre), (scan_and_update_registry),
4676         (ensure_current_registry_nonforking),
4677         (ensure_current_registry_forking), (ensure_current_registry),
4678         (init_post), (gst_debug_help), (gst_deinit):
4679         * gst/gst_private.h:
4680         * gst/gstregistry.c: (gst_registry_finalize),
4681         (gst_registry_remove_plugin), (gst_registry_scan_path_level),
4682         (gst_registry_scan_path), (_gst_registry_remove_cache_plugins),
4683         (_gst_registry_cleanup):
4684         * gst/gstregistry.h:
4685           Revert previous change until I figure out why it breaks distcheck.
4686
4687 2006-09-27  Jan Schmidt  <thaytan@mad.scientist.com>
4688
4689         * gst/gst.c: (init_pre), (scan_and_update_registry),
4690         (ensure_current_registry_nonforking),
4691         (ensure_current_registry_forking), (ensure_current_registry),
4692         (init_post), (gst_debug_help), (gst_deinit):
4693
4694           Make init_pre and init_post take the full complement of GOptionFunc
4695           args so they can return useful GErrors. Make the registry updating
4696           functions do so.
4697
4698           Call _priv_gst_registry_remove_cache_plugins after scanning files to
4699           ensure that the registry we're about to write out doesn't contain
4700           stale information about old-deleted plugin files.
4701
4702           Make _priv_gst_registry_remove_cache_plugins return a boolean so
4703           that deletion of plugin files is considered a registry change.
4704
4705         * gst/gst_private.h:
4706         * gst/gstregistry.c: (gst_registry_finalize),
4707         (gst_registry_remove_features_for_plugin_unlocked),
4708         (gst_registry_remove_plugin), (gst_registry_scan_path_level),
4709         (gst_registry_scan_path),
4710         (_priv_gst_registry_remove_cache_plugins),
4711         (_priv_gst_registry_cleanup):
4712         * gst/gstregistry.h:
4713         Rename _gst_registry_remove_cache_plugins and _gst_registry_cleanup
4714         by adding _priv prefix, so that they won't appear in the global
4715         symbol table. They still do atm though because of #318031. Move the
4716         prototypes to gst_private.h
4717
4718         When removing a plugin, remove all features for that plugin too. 
4719         Fixes #340878.
4720
4721 2006-09-27  Wim Taymans  <wim@fluendo.com>
4722
4723         * docs/random/moving-plugins:
4724         Make it clear that the "compiled-in descriptions" really mean
4725         the element details.
4726
4727         * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
4728         (gst_base_sink_wait_preroll):
4729         Update docs.
4730
4731         * docs/libs/gstreamer-libs-sections.txt:
4732         * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
4733         (gst_base_src_get_range), (gst_base_src_activate_push):
4734         * libs/gst/base/gstbasesrc.h:
4735         Added function to block while waiting for PLAYING, this function
4736         is used by live sources that block on the clock.
4737         API: gst_base_src_wait_playing()
4738
4739 2006-09-27  Tim-Philipp Müller  <tim at centricular dot net>
4740
4741         Patch by: Peter Kjellerstedt <pkj at axis com>
4742
4743         * Makefile.am:
4744           gst-element-check.m4 is generated and should therefore be
4745           copied from the build dir rather than the source dir (#357593).
4746           'make distcheck' hasn't noticed this because we were disting
4747           the file as well, so stop doing that.
4748
4749 2006-09-27  Tim-Philipp Müller  <tim at centricular dot net>
4750
4751         * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
4752           Add some tests for gst_caps_intersect().
4753
4754         * tools/gst-launch.c: (event_loop):
4755           Print all buffering percentages we get, even the 100% one.
4756
4757 2006-09-26  Wim Taymans  <wim@fluendo.com>
4758
4759         * tools/gst-inspect.c: (print_element_properties_info),
4760         (print_signal_info):
4761         Fix printing of flags to match the look of enums.
4762
4763 2006-09-25  Tim-Philipp Müller  <tim at centricular dot net>
4764
4765         * gst/gstelementfactory.c:
4766           Fix typo in docs blurb.
4767
4768 2006-09-25  Tim-Philipp Müller  <tim at centricular dot net>
4769
4770         * gst/gsturi.c: (search_by_entry):
4771           Don't assert/crash here if a uri handler doesn't return any
4772           supported protocols. The list of protocols could be generated
4773           dynamically at runtime or at plugin registration, and an error
4774           in the underlying library shouldn't be fatal (#353301).
4775
4776 2006-09-25  Tim-Philipp Müller  <tim at centricular dot net>
4777
4778         * gst/gstinfo.c:
4779           Fix warning if HAVE_PRINTF_EXTENSION is undefined
4780           (spotted by Peter Kjellerstedt).
4781
4782 2006-09-23  Wim Taymans  <wim@fluendo.com>
4783
4784         Based on patch by: Antoine Tremblay <hexa00 at gmail dot com>
4785
4786         * libs/gst/base/gstbasesrc.c:
4787         (gst_base_src_default_check_get_range), (gst_base_src_start),
4788         (gst_base_src_activate_push), (gst_base_src_activate_pull),
4789         (gst_base_src_change_state):
4790         Match _start/_stop calls in the activate functions. Remove redundant
4791         _stop call from the state change function. Fixes #356910.
4792         Turn failure DEBUG into ERROR. 
4793
4794 2006-09-22  Wim Taymans  <wim@fluendo.com>
4795
4796         * docs/design/part-buffering.txt:
4797         * gst/gstmessage.c: (gst_message_new_buffering),
4798         (gst_message_parse_buffering):
4799         Update docs about buffering.
4800
4801         * docs/design/part-trickmodes.txt:
4802         Fix typo.
4803
4804 2006-09-22  Stefan Kost  <ensonic@users.sf.net>
4805
4806         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
4807         (gst_controller_new_list):
4808           Ref instances when returning them again (fixes #357180)
4809
4810 2006-09-22  Tim-Philipp Müller  <tim at centricular dot net>
4811
4812         * gst/gstghostpad.c: (gst_ghost_pad_set_target):
4813           Don't forget to release proxy lock when there's an error.
4814
4815 2006-09-20  Jan Schmidt  <thaytan@mad.scientist.com>
4816
4817         * gst/gstcaps.h:
4818           Add extra initialisers for Caps things, to fix some plugin warnings
4819           when using -Wextra
4820
4821 2006-09-18  Wim Taymans  <wim@fluendo.com>
4822
4823         * gst/gstghostpad.c: (gst_ghost_pad_new_full):
4824           Also set template on the internal pad so that a getcaps from the 
4825           target pad returns the template caps.
4826
4827 2006-09-18  Wim Taymans  <wim@fluendo.com>
4828
4829         * gst/gstelement.c: (gst_element_post_message),
4830         (gst_element_dispose):
4831         Use _DEBUG_OBJECT some more.
4832
4833         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
4834         Avoid typechecks.
4835
4836         * tools/gst-launch.c: (main):
4837         If the toplevel element is not a GstPipeline, it must be put in a
4838         pipeline so that a bus and clock is selected.
4839
4840 2006-09-17  Tim-Philipp Müller  <tim at centricular dot net>
4841
4842         * libs/gst/base/gstbasesrc.c: (gst_base_src_default_query):
4843           JITTER, RATE, and LATENCY query should be handled by the
4844           default case and not by the CONVERT query code.
4845
4846 2006-09-17  Tim-Philipp Müller  <tim at centricular dot net>
4847
4848         * gst/gstformat.c: (gst_format_register):
4849           Fix locking order (must take lock before using n_values).
4850
4851         * gst/gstvalue.c: (gst_value_serialize_enum),
4852         (gst_value_deserialize_enum_iter_cmp),
4853         (gst_value_deserialize_enum):
4854           Fix serialisation/deserialisation of custom registered GstFormats.
4855
4856         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
4857           Unit test for custom format serialisation/deserialisation.
4858
4859 2006-09-17  Stefan Kost  <ensonic@users.sf.net>
4860
4861         * docs/pwg/building-boiler.xml:
4862         * plugins/elements/gstcapsfilter.c:
4863         More G_OBJECT macro fixing. Also Fix some details on the plugin-stamp
4864         section.
4865
4866 2006-09-16  Edward Hervey  <edward@fluendo.com>
4867
4868         * libs/gst/base/gstbasetransform.c:
4869         (gst_base_transform_buffer_alloc):
4870         Check if requested caps are the same as the sinks caps IF
4871         ->have_same_caps is TRUE. If they are not, act as if have_same_caps
4872         is FALSE.
4873         This fixes the renegotiation issues stated in #352827.
4874
4875 2006-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
4876
4877         * configure.ac:
4878         * docs/manual/advanced-autoplugging.xml:
4879         * tests/examples/Makefile.am:
4880         * tests/examples/manual/.cvsignore:
4881         * tests/examples/manual/Makefile.am:
4882         * tests/examples/manual/extract.pl:
4883           Extract the manual examples again like we used to do.
4884           Fix one of them.
4885
4886 2006-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
4887
4888         * win32/common/config.h:
4889           update for version
4890
4891 2006-09-16  Stefan Kost  <ensonic@users.sf.net>
4892
4893         * gst/gsterror.c:
4894           Documents how to receive errors.
4895
4896 2006-09-15  Wim Taymans  <wim@fluendo.com>
4897
4898         * tools/gst-launch.c: (sigint_handler_sighandler), (check_intr),
4899         (event_loop), (main):
4900         Added some comments here and there.
4901         Post an application message when an interrupt is caught instead of doing
4902         an uncontrolled state change.
4903         Clean up the event loop.
4904         Handle buffering messages, pause/resume the pipeline.
4905         Make shutdown because of an interrupt more reliable.
4906
4907 2006-09-15  Wim Taymans  <wim@fluendo.com>
4908
4909         * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
4910         (gst_base_sink_wait_preroll), (gst_base_sink_do_sync),
4911         (gst_base_sink_preroll_object):
4912         Make sure that our internal state is correct when we commit our state
4913         asynchronously. This solves a race where a state change to PLAYING
4914         could cause the sink to remain blocked in preroll in some situations.
4915
4916 2006-09-15  Wim Taymans  <wim@fluendo.com>
4917
4918         * tools/gst-inspect.c: (print_element_properties_info),
4919         (print_signal_info):
4920         List flags as hex so it's easier to deal with.
4921
4922 2006-09-15  Wim Taymans  <wim@fluendo.com>
4923
4924         * docs/libs/gstreamer-libs-sections.txt:
4925         * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_preroll),
4926         (gst_base_sink_do_sync):
4927         * libs/gst/base/gstbasesink.h:
4928         Expose logic to wait for preroll so that subclasses such as audiosink
4929         can also use this method.
4930         API: gst_base_sink_wait_preroll()
4931
4932 2006-09-15  Wim Taymans  <wim@fluendo.com>
4933
4934         * gst/gstobject.c: (gst_object_set_parent):
4935         * gst/gstpipeline.c: (do_pipeline_seek):
4936         Small cleanups in docs and code.
4937
4938         * gst/gstsegment.c: (gst_segment_clip):
4939         * tests/check/gst/gstsegment.c: (GST_START_TEST):
4940         if stop == start and start is in the segment, no clipping should be
4941         done. Also add a test for this.
4942
4943 2006-09-15  Wim Taymans  <wim@fluendo.com>
4944
4945         * docs/design/part-buffering.txt:
4946         * docs/gst/gstreamer-sections.txt:
4947         * gst/gstmessage.c: (gst_message_new_buffering),
4948         (gst_message_parse_buffering):
4949         * gst/gstmessage.h:
4950         Added methods to create and parse BUFFERING messages.
4951         Added preliminary docs about buffering.
4952         API: gst_message_new_buffering
4953         API: gst_message_parse_buffering
4954
4955 2006-09-06  Wim Taymans  <wim@fluendo.com>
4956
4957         * gst/gstbin.c:
4958         Update documentation.
4959
4960         * gst/gstelement.c: (gst_element_class_init),
4961         (gst_element_release_request_pad), (gst_element_set_clock),
4962         (gst_element_get_index), (gst_element_add_pad),
4963         (gst_element_remove_pad), (gst_element_get_random_pad),
4964         (gst_element_send_event), (gst_element_get_query_types),
4965         (gst_element_query), (gst_element_post_message),
4966         (gst_element_message_full), (gst_element_continue_state),
4967         (gst_element_lost_state), (gst_element_save_thyself),
4968         (gst_element_restore_thyself):
4969         Documentation updates.
4970         Rename last bit of the new-pad -> pad-added signal rename.
4971         Fix the case where an element query would only work if the source
4972         pad was linked.
4973         Avoid some useless type checking in message handling.
4974
4975         * gst/gstevent.c:
4976         * gst/gstevent.h:
4977         * gst/gstutils.c:
4978         Documentation updates.
4979
4980 2006-09-14  Thomas Vander Stichele  <thomas at apestaart dot org>
4981
4982         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
4983           add an INFO line for when we actually update the fd
4984
4985 2006-09-14  Thomas Vander Stichele  <thomas at apestaart dot org>
4986
4987         * configure.ac:
4988           back to TRUNK
4989
4990 === release 0.10.10 ===
4991
4992 2006-09-14  Thomas Vander Stichele <thomas at apestaart dot org>
4993
4994         * configure.ac:
4995           releasing 0.10.10, "Pais"
4996
4997 2006-09-05  Tim-Philipp Müller  <tim at centricular dot net>
4998
4999         * docs/manual/advanced-position.xml:
5000           Fix typo in sample code.
5001
5002 2006-09-05  Wim Taymans  <wim@fluendo.com>
5003
5004         * libs/gst/net/gstnetclientclock.c: (inet_aton),
5005         (gst_net_client_clock_init), (gst_net_client_clock_finalize),
5006         (gst_net_client_clock_do_select), (gst_net_client_clock_new):
5007         * libs/gst/net/gstnetclientclock.h:
5008         * libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send):
5009         * libs/gst/net/gstnettimepacket.h:
5010         * libs/gst/net/gstnettimeprovider.c: (inet_aton),
5011         (gst_net_time_provider_init), (gst_net_time_provider_finalize),
5012         (gst_net_time_provider_thread), (gst_net_time_provider_new):
5013         * libs/gst/net/gstnettimeprovider.h:
5014         Make stuff compile on windows. Fixes #345295.
5015
5016 2006-09-03  Tim-Philipp Müller  <tim at centricular dot net>
5017
5018         * gst/gst.c: (ensure_current_registry_forking):
5019           Print better details when child was terminated by signal.
5020
5021 2006-09-03  Tim-Philipp Müller  <tim at centricular dot net>
5022
5023         * gst/gstregistryxml.c: (gst_registry_xml_save_feature):
5024           Print a warning rather than g_assert() if a plugin feature
5025           is a URI handler but returns no protocols (#353976).
5026
5027 2006-09-02  Stefan Kost  <ensonic@users.sf.net>
5028
5029         * docs/random/moving-plugins:
5030         Fix two typos.         
5031
5032 2006-09-01  Tim-Philipp Müller  <tim at centricular dot net>
5033
5034         * gst/gstinfo.c: (_gst_debug_nameof_funcptr):
5035           Fix locking order, handle NULL function values properly.
5036
5037         * gst/gstinfo.h:
5038           Fix docs.
5039
5040         * gst/gstpad.c: (gst_pad_buffer_alloc_unchecked):
5041           Initialise variable before using it and fix debug statement to
5042           print the address of the function rather than the address of the
5043           variable on the stack holding the address of the function.
5044
5045 2006-09-01  Wim Taymans  <wim@fluendo.com>
5046
5047         * gst/gstghostpad.c: (gst_proxy_pad_do_event),
5048         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_chain),
5049         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
5050         (gst_proxy_pad_set_target_unlocked), (gst_ghost_pad_parent_set),
5051         (gst_ghost_pad_parent_unset),
5052         (gst_ghost_pad_internal_do_activate_push),
5053         (gst_ghost_pad_internal_do_activate_pull),
5054         (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
5055         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
5056         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
5057         (gst_ghost_pad_new_full), (gst_ghost_pad_new_no_target),
5058         (gst_ghost_pad_new), (gst_ghost_pad_new_from_template),
5059         (gst_ghost_pad_new_no_target_from_template),
5060         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
5061         More cleanups.
5062         Avoid needless typechecking in macros.
5063         Since the internal pad is always present and never changes, there is
5064         no need to locking or ref when retrieving it.
5065         Improve debugging a bit.
5066         Handle link errors when setting the target. Fixes #341029.
5067
5068 2006-09-01  Wim Taymans  <wim@fluendo.com>
5069
5070         * docs/libs/gstreamer-libs-sections.txt:
5071         * docs/plugins/gstreamer-plugins-sections.txt:
5072         Fix docs some more.
5073
5074         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
5075         (gst_collect_pads_event):
5076         * libs/gst/base/gstcollectpads.h:
5077         Documentation updates.
5078         Free queued buffer when removing a pad.
5079
5080 2006-08-31  Michael Smith  <msmith@fluendo.com>
5081
5082         * gst/gstutils.c: (gst_element_link_pads),
5083         (gst_element_link_pads_filtered):
5084           Ensure that we set a capsfilter to NULL if we failed to link it
5085           when doing filtered linking, to avoid criticals.
5086
5087           No need to check for unreffing srcpad, which is explicly NULLed
5088           above (a trivial code cleanup).
5089
5090 2006-08-31  Wim Taymans  <wim@fluendo.com>
5091
5092         * docs/design/part-gstghostpad.txt:
5093         Update ascii art in documentation.
5094
5095         * gst/gstghostpad.c: (gst_proxy_pad_do_internal_link),
5096         (gst_proxy_pad_set_target_unlocked), (gst_proxy_pad_init),
5097         (gst_ghost_pad_parent_set), (gst_ghost_pad_parent_unset),
5098         (gst_ghost_pad_internal_do_activate_push),
5099         (gst_ghost_pad_internal_do_activate_pull),
5100         (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
5101         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
5102         (gst_ghost_pad_dispose), (gst_ghost_pad_new_full),
5103         (gst_ghost_pad_set_target):
5104         Small cleanups and leak fixes.
5105         Remove some checks now that the internal pad is never NULL.
5106         Fix the case where linking pads without a target would create nasty
5107         criticals. Fixes #341029.
5108         Don't assign a GstPadLinkReturn to a gboolean and mess up the return
5109         value of _set_target().
5110
5111         * tests/check/gst/gstghostpad.c: (GST_START_TEST),
5112         (gst_ghost_pad_suite):
5113         Some more tests for creating and linking untargeted ghostpads.
5114
5115 2006-08-31  Edward Hervey  <edward@fluendo.com>
5116
5117         * docs/gst/gstreamer-sections.txt:
5118         * gst/gstghostpad.c: (gst_proxy_pad_do_getcaps),
5119         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target_unlocked),
5120         (gst_proxy_pad_dispose), (gst_ghost_pad_new_full),
5121         (gst_ghost_pad_new_no_target), (gst_ghost_pad_new),
5122         (gst_ghost_pad_new_from_template),
5123         (gst_ghost_pad_new_no_target_from_template):
5124         * gst/gstghostpad.h:
5125         Refactored *_new() functions.
5126         Templates are now used as a g_object_new() parameter.
5127         Use template in _do_getcaps() if we don't have a target.
5128         Small documentation cleanups.
5129         Added two new constructors:
5130         gst_ghost_pad_new_from_template()
5131         gst_ghost_pad_new_no_target_from_template()
5132         * tests/check/gst/gstghostpad.c: (GST_START_TEST),
5133         (gst_ghost_pad_suite):
5134         Added tests for new ghostpad instanciation functions.
5135
5136         API additions: gst_ghost_pad_new_from_template,
5137         gst_ghost_pad_new_no_target_from_template
5138
5139 2006-08-30  Stefan Kost  <ensonic@users.sf.net>
5140
5141         * docs/random/ensonic/profiling.txt:
5142           Ideas about qos profiling.
5143
5144 2006-08-29  Wim Taymans  <wim@fluendo.com>
5145
5146         * gst/gstcaps.c: (gst_caps_structure_is_subset_field):
5147         Code cleanups.
5148         Fix memleak.
5149
5150 2006-08-29  Tim-Philipp Müller  <tim at centricular dot net>
5151
5152         * gst/gstxml.c:
5153           Improve and detypofy docs.
5154
5155         * tests/check/Makefile.am:
5156         * tests/check/gst/.cvsignore:
5157         * tests/check/gst/gstxml.c: (GST_START_TEST), (gst_xml_suite):
5158           Add a basic test suite for GstXML.
5159
5160 2006-08-29  Wim Taymans  <wim@fluendo.com>
5161
5162         * gst/gstelement.c: (activate_pads), (clear_caps),
5163         (iterator_activate_fold_with_resync), (gst_element_pads_activate):
5164         Clear the pad caps when the element shut down all of the pads and
5165         is not streaming data that could modify the caps. 
5166         Fixes #352958.
5167
5168 2006-08-28  Michael Smith  <msmith@fluendo.com>
5169
5170         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
5171           Revert previous change; I misunderstood single-segment mode.
5172
5173 2006-08-28  Michael Smith  <msmith@fluendo.com>
5174
5175         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
5176           Unset DISCONT on buffers when using single-segment mode.
5177
5178 2006-08-28  Wim Taymans  <wim@fluendo.com>
5179
5180         * gst/gstcaps.c: (gst_caps_merge_structure):
5181         * gst/gstcaps.h:
5182         Fix docs and indentation again.
5183
5184         * tests/check/gst/gstquery.c: (GST_START_TEST):
5185         Fix leak in tests and add some more tests.
5186
5187 2006-08-28  Edward Hervey  <edward@fluendo.com>
5188
5189         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
5190         Inform GstSegment of the last stop position in order for the current
5191         segment to have a proper duration if it doesn't have a specific stop
5192         position from which a duration could be calculated.
5193         This bug was noticeable when a non-flushing, non-update new segment was
5194         followed by another segment (all buffers from the new segment were being
5195         dropped).
5196
5197 2006-08-28  Wim Taymans  <wim@fluendo.com>
5198
5199         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
5200         Small comment update.
5201
5202         * plugins/elements/gstidentity.c: (gst_identity_class_init),
5203         (gst_identity_transform_ip):
5204         Drop-probability is broken, mention this in the code with a 
5205         FIXME and also in the property description.
5206         Make silent also be silent about the drop messages.
5207
5208 2006-08-28  Tim-Philipp Müller  <tim at centricular dot net>
5209
5210         * docs/manual/appendix-win32.xml:
5211           Remove mention of popt, we don't depend on that any
5212           longer (#353136). Add some comments pointing out that
5213           this section is slightly outdated.
5214
5215 2006-08-28  Wim Taymans  <wim@fluendo.com>
5216
5217         Patch by: Torsten Schoenfeld <kaffeetisch at gmx dot de>
5218
5219         * gst/gstquery.c: (gst_query_new_segment):
5220         * tests/check/gst/gstquery.c: (GST_START_TEST):
5221         Initialize variables when creating a new segment query.
5222         Fixes #353121.
5223
5224 2006-08-28  Wim Taymans  <wim@fluendo.com>
5225
5226         Patch by: Torsten Schoenfeld <kaffeetisch at gmx dot de>
5227
5228         * gst/gstelement.c: (gst_element_get_bus):
5229         * tests/check/gst/gstelement.c: (GST_START_TEST):
5230         Check for NULL before _reffing the bus. Fixes #353122.
5231
5232 2006-08-25  Tim-Philipp Müller  <tim at centricular dot net>
5233
5234         * docs/manual/basics-bus.xml:
5235           Docs update: fix wrong callback return value explanation; add
5236           some lines about the implicit relationship between main loop
5237           and main context; remove duplicate main loop variable declaration.
5238
5239 2006-08-24  Tim-Philipp Müller  <tim at centricular dot net>
5240
5241         * tests/check/gst/gstcaps.c: (GST_START_TEST):
5242           Don't leak caps in unit test; add a few more simple
5243           checks. 
5244
5245 2006-08-24  Stefan Kost  <ensonic@users.sf.net>
5246
5247         * docs/gst/gstreamer-sections.txt:
5248         * gst/gstcaps.c: (gst_caps_structure_is_subset_field),
5249         (gst_caps_structure_is_subset), (gst_caps_merge),
5250         (gst_caps_merge_structure):
5251         * gst/gstcaps.h:
5252         * libs/gst/base/gstbasetransform.c:
5253         (gst_base_transform_transform_caps):
5254         * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
5255           implement caps merging (fixes #352580)
5256
5257 2006-08-23  Stefan Kost  <ensonic@users.sf.net>
5258
5259         * tools/Makefile.am:
5260         * tools/gst-plot-timeline.py:
5261           add debug-log plotting developer tool (#340674)
5262
5263 2006-08-23  Wim Taymans  <wim@fluendo.com>
5264
5265         * gst/gstpad.c: (gst_pad_start_task), (gst_pad_pause_task),
5266         (gst_pad_stop_task):
5267         Improve debugging for task functions.
5268
5269         * gst/gsttask.c: (gst_task_func), (gst_task_set_lock),
5270         (gst_task_start), (gst_task_pause), (gst_task_join):
5271         Make sure that the task function started and finished after a 
5272         join(). 
5273         Don't try to push the task function on the threadpool multiple
5274         times.
5275         Improve the g_warning message with some useful suggestions
5276         about how to fix the problem. 
5277
5278 2006-08-23  Wim Taymans  <wim@fluendo.com>
5279
5280         * gst/gstutils.c: (gst_pad_proxy_getcaps):
5281         Handle RESYNC correctly in _proxy_getcaps.
5282
5283 2006-08-21  Tim-Philipp Müller  <tim at centricular dot net>
5284
5285         * gst/gstxml.c: (gst_xml_dispose), (gst_xml_parse_file),
5286         (gst_xml_parse_memory), (gst_xml_get_element):
5287           Chain up to parent class in dispose function and also
5288           unref the elements in the toplevel_elements GList.
5289           Don't leak XmlDocPtr in _parse_file() and _parse_memory().
5290           Always return a reference in gst_xml_get_element() rather
5291           than only sometimes.
5292
5293         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
5294           Don't leak GstXml object.
5295
5296 2006-08-21  Stefan Kost  <ensonic@users.sf.net>
5297
5298         * docs/gst/gstreamer-sections.txt:
5299         * gst/gstcaps.c: (gst_structure_is_equal_foreach),
5300         (gst_caps_merge):
5301         * gst/gstcaps.h:
5302         * libs/gst/base/gstbasetransform.c:
5303         (gst_base_transform_transform_caps):
5304           API: Add gst_caps_merge() and use it in basetransform, fixes #345444
5305           in a better way
5306
5307 2006-08-21  Edward Hervey  <edward@fluendo.com>
5308
5309         * gst/gstxml.c: (gst_xml_class_init), (gst_xml_dispose):
5310         Implement GObject::dispose virtual method in GstXML so we can free the
5311         top_elements GList.
5312
5313 2006-08-21  Wim Taymans  <wim@fluendo.com>
5314
5315         * gst/gstbuffer.c: (gst_buffer_make_metadata_writable),
5316         (gst_buffer_create_sub):
5317         Copy duration/offset_end/caps when creating a subbuffer of the
5318         complete parent.
5319         Make the subbuffer read-only when we make the metadata writable for
5320         now. Fixes #351768.
5321
5322         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
5323         Added check for metadata copy when creating subbuffers.
5324
5325 2006-08-21  Edward Hervey  <edward@fluendo.com>
5326
5327         * libs/gst/base/gstbasetransform.c:
5328         (gst_base_transform_buffer_alloc):
5329         Only call downstream buffer_alloc if transform element is passthrough
5330         or always_in_place. Closes #350449.
5331
5332 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
5333
5334         * ChangeLog:
5335           ChangeLog surgery to add comments to previous changes
5336
5337 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
5338
5339         * gst/gst.c:
5340           Add comments
5341
5342         * gst/gstpad.c: (gst_pad_set_active):
5343           Be more verbose in the log
5344
5345         * libs/gst/base/gstbasetransform.c:
5346         (gst_base_transform_transform_caps):
5347           Simplify caps to get rid of duplicates, fixes #345444
5348
5349 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
5350
5351         * gst/gstvalue.c:
5352         * gst/gstvalue.h:
5353           Use these optimizations only internally.
5354
5355 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
5356
5357         * gst/gstvalue.c: (gst_value_compare_list),
5358         (gst_value_compare_fraction_range),
5359         (gst_value_intersect_fraction_fraction_range),
5360         (gst_value_intersect_fraction_range_fraction_range),
5361         (gst_value_subtract_fraction_fraction_range),
5362         (gst_value_subtract_fraction_range_fraction_range),
5363         (gst_value_get_compare_func), (gst_value_compare),
5364         (gst_value_compare_with_func):
5365         * gst/gstvalue.h:
5366           Saves the expensive lookup of the compare function in many cases
5367          (#345444)
5368
5369 2006-08-18  Edward Hervey  <edward@fluendo.com>
5370
5371         * tests/check/gst/gstinfo.c: (gst_info_suite):
5372         Disable test that require gstdebug if it wasn't built in core.
5373
5374 2006-08-18  Stefan Kost  <ensonic@users.sf.net>
5375
5376         * docs/random/ensonic/logging.txt:
5377           update ideas
5378           
5379         * gst/gstinfo.c: (gst_debug_log_default):
5380           reorder fields, save some columns, add optional color codes for log
5381           levels
5382
5383 2006-08-18  Stefan Kost  <ensonic@users.sf.net>
5384
5385         * docs/random/ensonic/logging.txt:
5386           add ideas about making the logs a bit more useful
5387
5388 2006-08-17  Tim-Philipp Müller  <tim at centricular dot net>
5389
5390         * docs/pwg/advanced-events.xml:
5391         * docs/pwg/titlepage.xml:
5392           Update for 0.10 API (#340627). Add myself
5393           to authors list.
5394
5395 2006-08-17  Tim-Philipp Müller  <tim at centricular dot net>
5396
5397         * docs/libs/gstreamer-libs-docs.sgml:
5398         * docs/libs/gstreamer-libs-sections.txt:
5399         * libs/gst/check/gstbufferstraw.c:
5400           Make gstcheck stuff show up in docs (still needs to
5401           be documented properly though).
5402
5403 2006-08-16  Jan Schmidt  <thaytan@mad.scientist.com>
5404
5405         * docs/gst/gstreamer-sections.txt:
5406         * gst/Makefile.am:
5407         * gst/gst.c: (init_post):
5408         * gst/gst_private.h:
5409         * gst/gstquark.c: (_priv_gst_quarks_initialize):
5410         * gst/gstquark.h:
5411         * gst/gstquery.c: (gst_query_new_position),
5412         (gst_query_set_position), (gst_query_parse_position),
5413         (gst_query_new_duration), (gst_query_set_duration),
5414         (gst_query_parse_duration), (gst_query_new_convert),
5415         (gst_query_set_convert), (gst_query_parse_convert),
5416         (gst_query_new_segment), (gst_query_set_segment),
5417         (gst_query_parse_segment), (gst_query_new_seeking),
5418         (gst_query_set_seeking), (gst_query_parse_seeking):
5419         Add internal helpers for pre-registering quarks from static strings
5420         and using the quark values directly instead of looking them up when
5421         creating and parsing queries. Can be used for event construction too.
5422         Closes #350432.
5423
5424 2006-08-16  Wim Taymans  <wim@fluendo.com>
5425
5426         * gst/gstbin.c:
5427         Fix bogus docs.
5428
5429 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
5430
5431         * gst/gstutils.c: (gst_util_set_value_from_string):
5432           Fix memleak (#351502).
5433
5434         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
5435           Add unit test for most of gst_util_set_value_from_string()
5436           (not that one would want to encourage use of this function).
5437
5438 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
5439
5440         * libs/gst/check/gstcheck.h:
5441           Use const gchar * variables in fail_unless_equals_string
5442           macro to avoid compiler warnings (and don't use tabs for
5443           indenting).
5444
5445 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
5446
5447         * tools/gst-launch.c: (print_tag):
5448           More space on the left for the tag names, to cater
5449           for the 'extended comment' tag (not touching the
5450           string for the first line since it's translated).
5451
5452 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
5453
5454         * libs/gst/check/gstcheck.h:
5455           Fix ASSERT_CRITICAL and ASSERT_WARNING macros to actually
5456           print something when they fail.
5457
5458 2006-08-14  Tim-Philipp Müller  <tim at centricular dot net>
5459
5460         * docs/gst/gstreamer-sections.txt:
5461         * gst/gsttaglist.c: (_gst_tag_initialize):
5462         * gst/gsttaglist.h:
5463           API: add GST_TAG_EXTENDED_COMMENT (#350935).
5464           Also change merge function for GST_TAG_COMMENT to
5465           use_first.
5466
5467 2006-08-14  Tim-Philipp Müller  <tim at centricular dot net>
5468
5469         * gst/gstinfo.c: (gst_debug_print_object):
5470           Make GST_PTR_FORMAT print messages as well.
5471
5472         * tests/check/gst/gstinfo.c: (printf_extension_log_func),
5473         (GST_START_TEST), (gst_info_suite):
5474           More tests.
5475
5476 2006-08-14  Edward Hervey  <edward@fluendo.com>
5477
5478         * gst/gstelementfactory.c: (gst_element_register):
5479         If the GstElementClass doesn't have a GstElementDetails with all fields
5480         filled up correctly (longname, description AND author), then error out
5481         nicely instead of crashing.
5482
5483 2006-08-14  Tim-Philipp Müller  <tim at centricular dot net>
5484
5485         * gst/gststructure.c:
5486           Fix typo in docs and re-wrap docs blurb to not exceed 80 chars/line.
5487
5488         * gst/gstvalue.h:
5489           Expand on the difference between arrays and lists as we use them.
5490           
5491 2006-08-14  Wim Taymans  <wim@fluendo.com>
5492
5493         * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
5494         If the parent state change function failed, don't assume we can safely
5495         stop the source, this will be done when the pads are deactivated.
5496
5497 2006-08-14  Wim Taymans  <wim@fluendo.com>
5498
5499         * gst/gstbuffer.c:
5500         * gst/gsttask.c: (gst_task_join):
5501         Small doc updates.
5502
5503         * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_activate_push),
5504         (gst_pad_stop_task):
5505         When pad (de)activation failed for some reason, restore the old
5506         activation mode and set the pad to flushing instead of assuming the
5507         pad is deactivated.
5508         If the _task_join() failed, reinstall the task on the pad so that it can
5509         be stopped later and return an error.
5510
5511 2006-08-11  Andy Wingo  <wingo@pobox.com>
5512
5513         * configure.ac:
5514         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packetizer_new):
5515         * tests/check/libs/gdp.c: (gst_dp_suite): GST_DISABLE_DEPRECATED
5516         is only for users of API that don't want to see deprecated
5517         functions in the headers; people that want to compile out
5518         deprecated code should pass -DGST_REMOVE_DEPRECATED into the
5519         CFLAGS. Fixes the build of multifdsink, or will soon..
5520
5521 2006-08-11  Wim Taymans  <wim@fluendo.com>
5522
5523         * docs/gst/gstreamer-sections.txt:
5524         Add GstClockClass vmethod docs.
5525
5526         * gst/gstcaps.h:
5527         Mark #endif with comment for associated #if
5528
5529         * gst/gstclock.c: (gst_clock_id_wait):
5530         * gst/gstclock.h:
5531         Add vmethod wait_jitter to avoid an unneeded _get_time() for
5532         most clock implementations.
5533         Document vmethods.
5534         Flesh out docs about resolution methods.
5535         API: GstClockClass::wait_jitter
5536
5537         * gst/gstsystemclock.c: (gst_system_clock_class_init),
5538         (gst_system_clock_async_thread),
5539         (gst_system_clock_id_wait_jitter_unlocked),
5540         (gst_system_clock_id_wait_jitter):
5541         Use base class wait_jitter variant for improved performance
5542         due to less clock polling.
5543
5544 2006-08-11  Edward Hervey  <edward@fluendo.com>
5545
5546         * gst/gst.c: (gst_init_check), (init_post):
5547         Set gst as being initialized before scanning/updating the registry,
5548         since there might be my python plugin loader that calls gst_init() and
5549         we don't want to loop back in.
5550         Closes #350879
5551
5552 2006-08-11  Wim Taymans  <wim@fluendo.com>
5553
5554         * docs/design/part-qos.txt:
5555         Bring docs in line with the code. Mostly the sign of the jitter was
5556         wrong in the docs. Fixes #349943.
5557
5558         * gst/gstclock.c:
5559         Fix the docs for the jitter.
5560
5561         * gst/gstevent.c: (gst_event_new_custom), (gst_event_new_tag),
5562         (gst_event_parse_tag), (gst_event_new_buffer_size),
5563         (gst_event_parse_buffer_size), (gst_event_parse_qos),
5564         (gst_event_new_seek), (gst_event_parse_seek),
5565         (gst_event_new_navigation):
5566         Make sure the GstStructure has no parent when creating custom
5567         events.
5568         Add some more argument checking so that we avoid 0.0 rates.
5569         Flesh out the docs for the QoS event some more.
5570
5571 2006-08-11  Wim Taymans  <wim@fluendo.com>
5572
5573         * docs/gst/gstreamer-sections.txt:
5574         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
5575         (ensure_current_registry_forking), (ensure_current_registry),
5576         (parse_one_option), (parse_goption_arg), (gst_deinit),
5577         (gst_registry_fork_is_enabled), (gst_registry_fork_set_enabled):
5578         * gst/gst.h:
5579         Doc updates.
5580         Added API and command line option to disable registry forking in
5581         addition to the environment variable.
5582         Constify some static arrays.
5583         Added some more debug.
5584         Don't deinit twice.
5585         API: gst_registry_fork_is_enabled()
5586         API: gst_registry_fork_set_enabled()
5587         API: --gst-disable-registry-fork command line option
5588         Fixes #348918.
5589
5590 2006-08-11  Tim-Philipp Müller  <tim at centricular dot net>
5591
5592         * gst/gst.c: (gst_init):
5593           Fix typo in error message.
5594
5595 2006-08-10  Stefan Kost  <ensonic@users.sf.net>
5596
5597         * libs/gst/controller/gstcontroller.h:
5598           fix ABI size-correction
5599
5600         * tests/check/libs/gdp.c: (gst_dp_suite):
5601           make tests that use deprecated API conditional
5602
5603 2006-08-10  Stefan Kost  <ensonic@users.sf.net>
5604
5605         * docs/libs/gstreamer-libs-sections.txt:
5606         * libs/gst/controller/gstcontroller.c:
5607         (_gst_controller_get_property), (_gst_controller_set_property),
5608         (_gst_controller_init), (_gst_controller_class_init):
5609         * libs/gst/controller/gstcontroller.h:
5610         * libs/gst/controller/gsthelper.c: (gst_object_get_control_rate),
5611         (gst_object_set_control_rate):
5612           API: add gst_object_{s,g}et_control_rate(), add private data section,
5613           fix docs
5614
5615         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packetizer_new):
5616         * libs/gst/dataprotocol/dataprotocol.h:
5617           add deprecation guards to make gtk-doc happy and allow disabling cruft
5618
5619 2006-08-09  Tim-Philipp Müller  <tim at centricular dot net>
5620
5621         * tests/check/Makefile.am:
5622         * tests/check/gst/.cvsignore:
5623           Let's enable the new unit test as well.
5624
5625 2006-08-08  Tim-Philipp Müller  <tim at centricular dot net>
5626
5627         * configure.ac:
5628         * docs/gst/gstreamer-sections.txt:
5629         * gst/gstconfig.h.in:
5630         * gst/gstinfo.c: (_gst_debug_init), (gst_debug_print_segment),
5631         (_gst_info_printf_extension_ptr),
5632         (_gst_info_printf_extension_segment):
5633           API: add GST_SEGMENT_FORMAT, which is a printf extension we
5634           register that lets us easily dump GstSegments into debug
5635           logs (#350419).
5636
5637         * tests/check/gst/gstinfo.c: (segment_printf_extension_log_func),
5638         (info_segment_format_printf_extension), (gst_info_suite):
5639           Add simple unit test that logs a bunch of different segments (not
5640           valgrinded at the moment because of leaks in
5641           gst_debug_add_log_function).
5642
5643 2006-08-09  Edward Hervey  <edward@fluendo.com>
5644
5645         * libs/gst/base/gstbasetransform.c:
5646         (gst_base_transform_buffer_alloc):
5647         Even if we can't figure out the proper format to request downstream,
5648         call buffer_alloc() downstream with the input parameters without setting
5649         the caps on the srcpad. This will force negotiation in the chain
5650         function.
5651         Closes #350449
5652
5653 2006-08-08  Edward Hervey  <edward@fluendo.com>
5654
5655         * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
5656         Unlinking from a pad without a target is now a perfectly valid case
5657         which should NOT raise an assertion.
5658         This case would happen if a linked ghostpad its target set to NULL after
5659         it was previously linked.
5660
5661 2006-08-08  Edward Hervey  <edward@fluendo.com>
5662
5663         * tests/check/libs/gdp.c:
5664         Also comment out the test (see below).
5665
5666 2006-08-08  Edward Hervey  <edward@fluendo.com>
5667
5668         * tests/check/libs/gdp.c: (gst_dp_suite):
5669         Use the architecture information from config.h and not gcc macros
5670         in order to properly disable a test that fails on PPC64.
5671
5672 2006-08-04  Tim-Philipp Müller  <tim at centricular dot net>
5673
5674         * gst/gstelement.c: (gst_element_remove_pad):
5675           Don't crash printing the warning if the pad has no parent.
5676
5677 2006-08-02  Wim Taymans  <wim@fluendo.com>
5678
5679         * libs/gst/dataprotocol/dataprotocol.c:
5680         (gst_dp_header_from_buffer_any), (gst_dp_packet_from_caps_any),
5681         (gst_dp_crc), (gst_dp_header_payload_length),
5682         (gst_dp_header_payload_type), (gst_dp_packet_from_event),
5683         (gst_dp_packet_from_event_1_0), (gst_dp_buffer_from_header),
5684         (gst_dp_caps_from_packet), (gst_dp_event_from_packet_0_2),
5685         (gst_dp_event_from_packet), (gst_dp_validate_header),
5686         (gst_dp_validate_payload):
5687         Make debug category static
5688         Constify the crc table.
5689         Do some more arg checking in public functions.
5690         Fix some docs and do some small cleanups.
5691
5692         * tests/check/libs/gdp.c: (GST_START_TEST), (gst_dp_suite):
5693         Add some more checks to see if GDP deals with bogus input.
5694
5695 2006-07-31  Wim Taymans  <wim@fluendo.com>
5696
5697         * gst/gstvalue.c: (gst_value_compare_list):
5698         Fix GstValueList comparison code. Fixes #347293.
5699
5700         * tests/check/gst/gstvalue.c: (GST_START_TEST):
5701         Check to test GstValueList comparison.
5702
5703 2006-07-31  Jan Schmidt  <thaytan@mad.scientist.com>
5704
5705         * gst/gstelementfactory.c: (gst_element_factory_create):
5706         Remove unnecessary ref/unref pair
5707
5708         * gst/parse/grammar.y:
5709         Make sure to free the parse buffer on all code paths.
5710         Move a g_free up to the error handler where it's easier to see.
5711
5712         * tests/check/gst/gstevent.c: (test_event):
5713         Extending timeout for downstream travelling events to 10 seconds to
5714         hopefully avoid intermittent failure on the buildbots.
5715
5716         * tests/check/pipelines/parse-launch.c: (run_delayed_test):
5717         Don't manually set the state of the src element - it will happen as a
5718         natural consequence of the pipeline changing state, and that way it
5719         will do it in the right order too.
5720
5721 2006-07-31  Wim Taymans  <wim@fluendo.com>
5722
5723         * libs/gst/base/gstbasetransform.c:
5724         (gst_base_transform_buffer_alloc):
5725         Use OBJECT_LOCK and refcounting to get the pad caps in the
5726         buffer_alloc function because the caps could change while we are
5727         busy with them. Fixes #349105
5728
5729 2006-07-31  Wim Taymans  <wim@fluendo.com>
5730
5731         * gst/gstutils.c: (gst_pad_get_fixed_caps_func):
5732         Protect _PAD_CAPS with OBJECT_LOCK.
5733
5734 2006-07-31  Wim Taymans  <wim@fluendo.com>
5735
5736         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
5737         (gst_pad_get_property), (gst_pad_activate_pull),
5738         (gst_pad_activate_push), (gst_pad_set_blocked_async),
5739         (gst_pad_set_activate_function),
5740         (gst_pad_set_activatepull_function),
5741         (gst_pad_set_activatepush_function), (gst_pad_set_chain_function),
5742         (gst_pad_set_getrange_function),
5743         (gst_pad_set_checkgetrange_function), (gst_pad_set_event_function),
5744         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
5745         (gst_pad_set_internal_link_function), (gst_pad_set_link_function),
5746         (gst_pad_set_unlink_function), (gst_pad_set_getcaps_function),
5747         (gst_pad_set_acceptcaps_function),
5748         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
5749         (gst_pad_set_bufferalloc_function), (gst_pad_link_check_hierarchy),
5750         (gst_pad_get_caps_unlocked), (gst_pad_get_caps),
5751         (gst_pad_peer_get_caps), (gst_pad_accept_caps),
5752         (gst_pad_peer_accept_caps), (gst_pad_set_caps),
5753         (gst_pad_configure_sink), (gst_pad_configure_src),
5754         (gst_pad_get_allowed_caps), (gst_pad_get_negotiated_caps),
5755         (gst_pad_buffer_alloc_unchecked), (gst_pad_alloc_buffer_full),
5756         (gst_pad_query), (gst_pad_load_and_link), (handle_pad_block),
5757         (gst_pad_chain_unchecked), (gst_pad_push), (gst_pad_get_range),
5758         (gst_pad_send_event):
5759         Use _DEBUG_OBJECT when it makes sense.
5760         Protect GST_PAD_CAPS with the OBJECT_LOCK.
5761         Small cleanups and code reflows.
5762         Avoid caps refcounting in _accept_caps.
5763         Refactor alloc_buffer so that the code performed on the peer is in a
5764         separate function. Also if the pad does not implement a buffer alloc
5765         function, we should still check if the pad is flushing before falling
5766         back to the default allocator.
5767
5768 2006-07-31  Jan Schmidt  <thaytan@mad.scientist.com>
5769
5770         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
5771         Make all uses of identity and fakesink have silent=true to avoid
5772         serialising every passing data structure, which is breaking tests
5773         on FC4 for some unknown reason.
5774
5775 2006-07-30  Stefan Kost  <ensonic@users.sf.net>
5776
5777         * gst/parse/Makefile.am:
5778         * gst/parse/grammar.y:
5779         * gst/parse/parse.l:
5780           Reverted previous patch as it required to bump the flex dependency to
5781           2.5.31, where fc4/5 seem to ship only the ancient 2.5.4a :(
5782
5783 2006-07-30  Stefan Kost  <ensonic@users.sf.net>
5784
5785         Patch by: Marc-Andre Lureau <marcandre.lureau@gmail.com>
5786
5787         * gst/parse/Makefile.am:
5788         * gst/parse/grammar.y:
5789         * gst/parse/parse.l:
5790           push & pop the state of the lexer for reentrant use case
5791           Fixes #349180
5792
5793 2006-07-29  Tim-Philipp Müller  <tim at centricular dot net>
5794
5795         * libs/gst/base/gstbasesrc.h:
5796           Note in the docs that the ::newsegment vfunc is not actually used by
5797           GstBaseSrc.
5798
5799 2006-07-28  Wim Taymans  <wim@fluendo.com>
5800
5801         * libs/gst/base/gstcollectpads.c:
5802         (gst_collect_pads_set_flushing_unlocked), (gst_collect_pads_pop),
5803         (gst_collect_pads_clear), (gst_collect_pads_flush),
5804         (gst_collect_pads_event), (gst_collect_pads_chain):
5805         When flushing a pad, also clear the queued buffer so that we don't
5806         accidentally use it when we shouldn't.
5807         Fix leaks by inreffing incomming buffer.
5808         Flush out queued buffers in case of errors.
5809         Fixes #347452.
5810
5811 2006-07-28  Wim Taymans  <wim@fluendo.com>
5812
5813         * docs/random/phonon-gst:
5814         Random notes about a Phonon backend.
5815
5816 2006-07-27  Jan Schmidt  <thaytan@mad.scientist.com>
5817
5818         * libs/gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
5819         Extra debug output
5820         * tests/check/libs/gdp.c: (gst_dp_suite):
5821         Take a whack at fixing the ppc compile using a different define to
5822         disable the broken test.
5823
5824         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
5825         Remove excess g_print()
5826
5827 2006-07-27  Jan Schmidt <thaytan@mad.scientist.com>
5828
5829         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe):
5830         Oops, meant to uncomment this line too to dampen the noise a bit.
5831
5832 2006-07-27  Jan Schmidt <thaytan@mad.scientist.com>
5833
5834         * gst/parse/grammar.y:
5835         * gst/parse/parse.l:
5836         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe),
5837         (GST_START_TEST), (parse_suite):
5838         Fix some of the leaks exposed by extending the parse-launch testsuite,
5839         and move the 3 I can't figure out into a separate test that won't run
5840         the pipelines unless the appropriate line is uncommented.
5841
5842 2006-07-27  Tim-Philipp Müller  <tim at centricular dot net>
5843
5844         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
5845           Requesting 0 bytes before the end of the file should result in
5846           FLOW_OK and an empty buffer, not FLOW_UNEXPECTED. Thank you
5847           unit test.
5848
5849 2006-07-27  Wim Taymans  <wim@fluendo.com>
5850
5851         * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_get_structure):
5852         Fix useless assert, a uint is always positive.
5853
5854         * gst/gststructure.c: (gst_structure_nth_field_name),
5855         (gst_structure_foreach), (gst_structure_map_in_place):
5856         Check input arguments for public functions to avoid obvious crashes.
5857
5858         * plugins/elements/gstfakesink.c: (gst_fake_sink_render):
5859         * plugins/elements/gstfakesink.h:
5860         Do less useless typechecking.
5861
5862 2006-07-27  Tim-Philipp Müller  <tim at centricular dot net>
5863
5864         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init):
5865           Do not use mmap() by default since there are a number of error
5866           conditions that we would like to handle in a non-fatal way that
5867           will result in a SIGBUS if we use mmap(). Examples: external
5868           devices (USB harddrive, portable music player) being unplugged
5869           while in use; file on mounted CD/DVD that can't be read because
5870           the medium is partly damaged. Fixes #348455 and #348475.
5871
5872 2006-07-27  Jan Schmidt  <thaytan@mad.scientist.com>
5873
5874         * gst/gstquery.h:
5875         Delete unused and misleading define of GST_QUERY_TYPE_RATE_DEN -
5876         rates are a gdouble
5877
5878 2006-07-26  Stefan Kost  <ensonic@users.sf.net>
5879
5880         * gst/gstregistry.c:
5881           Move big documentation comment into class section header, so that it
5882           appears in the API docs.
5883
5884 2006-07-26  Jan Schmidt  <thaytan@mad.scientist.com>
5885
5886         * docs/gst/gstreamer-sections.txt:
5887         Oops. Commit the docs additions too for new API.
5888         Also, remove the mention of the non-existent GST_QUERY_TYPE_RATE_DEN
5889
5890 2006-07-26  Jan Schmidt  <thaytan@mad.scientist.com>
5891
5892         * gst/gststructure.c: (gst_structure_id_set),
5893         (gst_structure_id_set_valist):
5894         * gst/gststructure.h:
5895         Add API for setting values into structures without performing
5896         a quark lookup, if the appropriate quark is already known.
5897
5898         API: gst_structure_id_set
5899         API: gst_structure_id_set_valist
5900
5901         * gst/parse/grammar.y:
5902         * gst/parse/parse.l:
5903         Remove some dead code shown by the coverage information.
5904         Don't throw a critical g_warning when encountering a syntax error,
5905         just warn and let the normal error path handle it.
5906
5907         * plugins/elements/gstelements.c:
5908         Bump the rank of filesink up to PRIMARY so that it is preferred over
5909         gnomevfssink for file:// sink uri's
5910
5911         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe),
5912         (GST_START_TEST), (run_delayed_test),
5913         (gst_parse_test_element_base_init),
5914         (gst_parse_test_element_class_init), (gst_parse_test_element_init),
5915         (gst_parse_test_element_change_state),
5916         (gst_register_parse_element), (parse_suite):
5917         Beef up the tests for parse syntax to check that more error cases
5918         fail as they are supposed to. Increases the test coverage a bit.
5919
5920 2006-07-26  Tim-Philipp Müller  <tim at centricular dot net>
5921
5922         * docs/manual/basics-elements.xml:
5923           Fix gst_element_link() example.
5924
5925         * gst/gstutils.c:
5926           Mention in API docs that one should usually gst_bin_add()
5927           elements to a bin or pipeline before doing the linking.
5928           
5929 2006-07-26  Wim Taymans  <wim@fluendo.com>
5930
5931         * gst/gstbuffer.c: (gst_buffer_get_type), (gst_buffer_new),
5932         (gst_subbuffer_get_type), (gst_buffer_create_sub):
5933         Avoid function call for known types by keeping the buffer and
5934         subbuffer GType global.
5935
5936         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
5937         Random silly optimisations in read() path.
5938
5939 2006-07-26  Jan Schmidt  <thaytan@mad.scientist.com>
5940
5941         * tools/gst-launch.c: (main):
5942           If the top-level of the parse is a normal bin, it doesn't do the
5943           right logic to run as a top-level element, so place it inside a
5944           pipeline.
5945
5946 2006-07-25  Tim-Philipp Müller  <tim at centricular dot net>
5947
5948         * plugins/elements/gstfilesrc.c: (gst_file_src_set_property):
5949           Remove superfluous g_object_notify() calls, GObject does
5950           that for us automatically.
5951
5952 2006-07-25  Stefan Kost  <ensonic@users.sf.net>
5953
5954         * gst/gstinfo.h:
5955           on Win32, use dllspec to export the debug category symbols
5956
5957 2006-07-24  Tim-Philipp Müller  <tim at centricular dot net>
5958
5959         * gst/gsttaglist.c: (_gst_tag_initialize):
5960           Allow more than one GST_TAG_IMAGE per taglist.
5961
5962 2006-07-24  Thomas Vander Stichele  <thomas at apestaart dot org>
5963
5964         * gst/gstminiobject.c:
5965           update docs
5966         * plugins/elements/gstfdsrc.c: (gst_fd_src_set_property),
5967         (gst_fd_src_create):
5968           log recurring events at LOG level
5969           add more debug for when the fd gets set
5970
5971 2006-07-21  Stefan Kost  <ensonic@users.sf.net>
5972
5973         * gst/gstparse.c: (gst_parse_launch):
5974           Also remove reentrance checks if flex is MT safe (#348179)
5975          Fix my empty ChangeLog entry below
5976
5977 2006-07-21  Andy Wingo  <wingo@pobox.com>
5978
5979         * docs/libs/gstreamer-libs-sections.txt: Attempt to pacify buildbot.
5980
5981         * libs/gst/check/Makefile.am
5982         (libgstcheck_@GST_MAJORMINOR@include_HEADERS)
5983         (libgstcheck_@GST_MAJORMINOR@_la_SOURCES): 
5984         * libs/gst/check/gstbufferstraw.h:
5985         * libs/gst/check/gstbufferstraw.c: Add some new hype testing
5986         functions, thus proving I am still a GStreamer haxor. OK I wrote
5987         them a long time ago, but anyways.
5988
5989 2006-07-21  Stefan Kost  <ensonic@users.sf.net>
5990
5991         * configure.ac:
5992         * gst/gstparse.c: (gst_parse_launch):
5993           Check for flex version and omit mutex if we have a MT save flex
5994           (fixes #348179)
5995
5996 2006-07-21  Wim Taymans  <wim@fluendo.com>
5997
5998         * gst/gstparse.c: (gst_parse_launch):
5999         Protect recursive calls to _parse with a recursive mutex
6000         and busy flag.
6001
6002 2006-07-21  Wim Taymans  <wim@fluendo.com>
6003
6004         * tests/check/gst/gstpad.c: (GST_START_TEST):
6005         Fix leak in test.
6006
6007 2006-07-20  Stefan Kost  <ensonic@users.sf.net>
6008
6009         * gst/gstparse.c: (gst_parse_launch):
6010           Do not hang on recursive usage of gst_parse_launch()
6011
6012 2006-07-20  Tim-Philipp Müller  <tim at centricular dot net>
6013
6014         * gst/gsttaglist.c:
6015           Add some more docs, comments and FIXME 0.11s here and there
6016           and also fix some typos.
6017
6018 2006-07-20  Tim-Philipp Müller  <tim at centricular dot net>
6019
6020         * gst/gstsegment.h:
6021           Convert tabs to spaces for better readability. 
6022
6023 2006-07-20  Edward Hervey  <edward@fluendo.com>
6024
6025         * tests/check/libs/gdp.c: (gst_dp_suite):
6026         the test_buffer test fails at line 140 on ppc64 at the following
6027         check:
6028         fail_unless (GST_BUFFER_FLAG_IS_SET (newbuffer,
6029                 GST_BUFFER_FLAG_IN_CAPS),
6030                 "GST_BUFFER_IN_CAPS flag should have been copied !");
6031         See bug #348114 for more details.
6032
6033 2006-07-19  Tim-Philipp Müller  <tim at centricular dot net>
6034
6035         * docs/pwg/advanced-scheduling.xml:
6036         * gst/gstpad.c:
6037           Fix typos (#348000).
6038
6039 2006-07-18  Tim-Philipp Müller  <tim at centricular dot net>
6040
6041         * docs/pwg/intro-basics.xml:
6042           Fix wrong links (#347927).
6043
6044 2006-07-18  Stefan Kost  <ensonic@users.sf.net>
6045
6046         * gst/gstregistry.h:
6047         * gst/gstregistryxml.c: (load_feature),
6048         (gst_registry_xml_read_cache), (gst_registry_xml_save_feature):
6049         * win32/common/config.h:
6050           make --disable-index work (#342564)
6051
6052 2006-07-18  Wim Taymans  <wim@fluendo.com>
6053
6054         Patch by: Peter Kjellerstedt <pkj at axis dot com>
6055
6056         * gst/Makefile.am:
6057         * gst/gsttrace.h:
6058         The attached patch adds two missing defines to gsttrace.h when tracing
6059         is disabled.  It also corrects one existing define.
6060         Fixes #347756.
6061
6062 2006-07-17  Wim Taymans  <wim@fluendo.com>
6063
6064         * docs/gst/gstreamer-sections.txt:
6065         * gst/gst.c: (gst_segtrap_is_enabled), (gst_segtrap_set_enabled):
6066         * gst/gst.h:
6067         * gst/gstplugin.c: (_gst_plugin_fault_handler_restore):
6068         Add two functions to check and change the SIGSEGV behaviour
6069         when loading plugins.
6070         Don't mess with the SIGSEGV handler when we were told not to.
6071         Fixes #347794.
6072         API: gst_segtrap_is_enabled
6073         API: gst_segtrap_set_enabled
6074
6075 2006-07-14  Wim Taymans  <wim@fluendo.com>
6076
6077         * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length):
6078         * tests/check/elements/filesrc.c: (GST_START_TEST):
6079         Revert fix for regression in #347408 after release.
6080
6081 2006-07-14  Tim-Philipp Müller  <tim at centricular dot net>
6082
6083         Patch by: Antoine Tremblay <hexa00 at gmail com>
6084
6085         * gst/gstutils.c: (gst_element_unlink):
6086           Free iterator when done (#347311).
6087
6088         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
6089           And add a test case for this.
6090
6091 2006-07-14  Jan Schmidt  <thaytan@mad.scientist.com>
6092
6093         * configure.ac:
6094         Bump nano back to CVS
6095
6096 === release 0.10.9 ===
6097
6098 2006-07-13  Jan Schmidt <thaytan@mad.scientist.com>
6099
6100         * configure.ac:
6101           releasing 0.10.9, "On the road again"
6102
6103 2006-07-13  Wim Taymans  <wim@fluendo.com>
6104
6105         * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length):
6106         * tests/check/elements/filesrc.c: (GST_START_TEST):
6107         Revert pull-0 fix for release. Disable check. Fixes #347408.
6108
6109 2006-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
6110
6111         * libs/gst/dataprotocol/dataprotocol.c:
6112         (gst_dp_event_from_packet_1_0):
6113           Fixes #347337: failure to deserialize event packets with
6114           empty payload (only event type)
6115
6116 2006-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
6117
6118         * gst/Makefile.am:
6119           do not install a .c file in the header directory
6120
6121 2006-07-13  Edward Hervey  <edward@fluendo.com>
6122
6123         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked):
6124         GhostPad no longer implicitely use the padtemplates of the targets.
6125         Fixes #347384
6126
6127 2006-07-11  Jan Schmidt  <thaytan@mad.scientist.com>
6128
6129         * gst/gstvalue.c: (gst_value_compare_list),
6130         (gst_value_compare_array), (_gst_value_initialize):
6131         * tests/check/gst/gstvalue.c: (GST_START_TEST):
6132         Make GstValueArray comparison be order dependent as designed.
6133         Add checks for value lists and value array comparisons.
6134         Fixes #347221
6135
6136 2006-07-11  Edward Hervey  <edward@fluendo.com>
6137
6138         * gst/gstbin.c: (activate_pads),
6139         (iterator_activate_fold_with_resync), (gst_bin_src_pads_activate),
6140         (gst_bin_change_state_func):
6141         (de)activate src pads before calling state_change on the childs.
6142         This is to avoid the case where a src ghostpad is blocked (holding the
6143         stream lock), which would block the deactivation of the ghostpad's
6144         target pad.
6145         * gst/gstghostpad.c: (gst_proxy_pad_do_query_type),
6146         (gst_proxy_pad_do_event), (gst_proxy_pad_do_query),
6147         (gst_proxy_pad_do_internal_link), (gst_proxy_pad_do_bufferalloc),
6148         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
6149         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
6150         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
6151         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target_unlocked),
6152         (gst_proxy_pad_set_target), (gst_proxy_pad_get_internal),
6153         (gst_proxy_pad_dispose), (gst_proxy_pad_init),
6154         (gst_ghost_pad_parent_set), (gst_ghost_pad_parent_unset),
6155         (gst_ghost_pad_class_init),
6156         (gst_ghost_pad_internal_do_activate_push),
6157         (gst_ghost_pad_internal_do_activate_pull),
6158         (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
6159         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
6160         (gst_ghost_pad_dispose), (gst_ghost_pad_new_no_target),
6161         (gst_ghost_pad_new), (gst_ghost_pad_set_target):
6162         GhostPads now create their internal GstProxyPad at creation (and not
6163         when they're linked, as it was being done previously).
6164         The internal and target pads are linked straight away.
6165         The data will also travel through the other pad in order to make
6166         pad blocking and probes non-hackish (the probe/block now really happens
6167         on the GhostPad and not on the target).
6168         * gst/gstpad.c: (gst_pad_set_blocked_async),
6169         (gst_pad_link_prepare), (gst_pad_push_event):
6170         Remove previous ghostpad cruft.
6171         * gst/gstutils.c: (gst_pad_add_data_probe),
6172         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
6173         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
6174         (gst_pad_remove_buffer_probe):
6175         Remove previous ghost pad cruft.
6176         Added more detailed debug statements.
6177         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
6178         Fix the testsuite for refcounting changes.
6179         The comments about who has references were correct, but the refcount
6180         being checked wasn't the same (!?!).
6181
6182         Fixes #341029
6183
6184 2006-07-10  Stefan Kost  <ensonic@users.sf.net>
6185
6186         * docs/gst/gstreamer-sections.txt:
6187         * gst/gstconfig.h.in:
6188         More docs for configuration options, add docs to gtk-doc.
6189
6190 2006-07-10  Stefan Kost  <ensonic@users.sf.net>
6191
6192         * gst/Makefile.am:
6193         * gst/gstconfig.h.in:
6194         * win32/common/config.h:
6195         Fix build when disabling tracing (fixes #344016). Also start to document
6196         the defines that disable the sub-systems.
6197
6198 2006-07-10  Edward Hervey  <edward@fluendo.com>
6199
6200         * gst/gst.c: (ensure_current_registry_forking):
6201         let's make valgrind happy...
6202
6203 2006-07-09  Wim Taymans  <wim@fluendo.com>
6204
6205         * gst/gstelement.c: (activate_pads),
6206         (iterator_activate_fold_with_resync), (gst_element_pads_activate):
6207         Better pad activation code: Reset the collect value too on resync.
6208         Add some comments.
6209
6210 2006-07-09  Wim Taymans  <wim@fluendo.com>
6211
6212         * gst/gstpad.c: (gst_pad_init), (gst_pad_activate_pull),
6213         (gst_pad_activate_push):
6214         Use some more macros where it makes sense.
6215         Allow pad mode switching instead of asserting. When a pad
6216         is activated in one mode and we activate it in another, 
6217         deactivate it first before activating it in a different mode.
6218         Fixes #329198.
6219
6220 2006-07-08  Andy Wingo  <wingo@pobox.com>
6221
6222         * tools/gst-launch.c (main): Handle err == NULL.
6223
6224         * gst/gst.c (init_post, ensure_current_registry)
6225         (ensure_current_registry_forking)
6226         (ensure_current_registry_nonforking): Reduce #ifdef ratnest by
6227         factoring out the registry scanning into separate functions. Don't
6228         fork for the rescan is GST_REGISTRY_FORK=no; useful in debugging.
6229         Better environment var name/interface suggestions accepted.
6230
6231 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
6232
6233         * gst/gstobject.c: (gst_object_set_name_default),
6234         (gst_object_set_name):
6235           Random micro-optimisation: don't use a hash table
6236           with strings as keys and the usual strdup/strcmp
6237           involved, but rather just use the GQuark of the
6238           type name as key, since it needs to be looked up
6239           anyway to get the type name string.
6240
6241         * tests/check/gst/gstobject.c: (GST_START_TEST):
6242           Fix various leaks.
6243
6244 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
6245
6246         * gst/gstbin.c: (compare_interface), (gst_bin_get_by_interface),
6247         (gst_bin_iterate_all_by_interface):
6248           Can't use GPOINTER_TO_INT and GINT_TO_POINTER with GTypes.
6249           GTypes are gulongs and thus the top 4 bytes might be cut
6250           off on some platforms when doing GPOINTER_TO_INT, leading
6251           to invalid GTypes and bad things happening (see RH bug #179654).
6252           Also add a check to make sure the type passed in is really
6253           an interface type.
6254
6255 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
6256
6257         * .cvsignore:
6258           Ignore more.
6259
6260 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
6261
6262         * Makefile.am:
6263         * configure.ac:
6264         * gst-element-check.m4:
6265         * gst-element-check.m4.in:
6266           Make gst-element-check-$VERSION.m4 call gst-inspect-$VERSION
6267           instead of the unversioned gst-inspect (#324176, #168659).
6268
6269 2006-07-06  Wim Taymans  <wim@fluendo.com>
6270
6271         * gst/gstmessage.h:
6272         Use a valid int for the _MESSAGE_ANY enum value to avoid compiler
6273         warnings.
6274
6275 2006-07-06  Wim Taymans  <wim@fluendo.com>
6276
6277         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
6278         (gst_base_src_wait), (gst_base_src_update_length),
6279         (gst_base_src_get_range), (gst_base_src_default_check_get_range),
6280         (gst_base_src_check_get_range), (gst_base_src_pad_check_get_range),
6281         (gst_base_src_loop), (gst_base_src_start),
6282         (gst_base_src_activate_pull):
6283         Update docs.
6284         blocksize == 0 now means the default blocksize when working in push
6285         based mode.
6286         Remove some pointless asserts in _wait function.
6287         Fix offset/length calculations and EOS handling. We can now pull 0
6288         bytes as well, which is allowed.
6289         use _check_get_range() to decide if we can operate in _pull based
6290         mode.
6291         Fix refcounting leak when check_get_range function was not 
6292         implemented.
6293         API GstBaseSrc::blocksize range can be 0 too now (default)
6294
6295         * tests/check/elements/filesrc.c: (GST_START_TEST),
6296         (filesrc_suite):
6297         Added check to test _get_range() behaviour.
6298
6299 2006-07-06  Wim Taymans  <wim@fluendo.com>
6300
6301         * gst/gstpad.c: (gst_pad_chain_unchecked), (gst_pad_chain),
6302         (gst_pad_push), (gst_pad_check_pull_range), (gst_pad_get_range),
6303         (gst_pad_pull_range):
6304         * gst/gstpad.h:
6305         Lots of comments and docs added to the pad functions.
6306         Flesh out the expected behaviour of the get_range() functions.
6307
6308 2006-07-06  Wim Taymans  <wim@fluendo.com>
6309
6310         * gst/gstbus.h:
6311         * gst/gstclock.h:
6312         * gst/gstevent.h:
6313         * gst/gstiterator.h:
6314         * gst/gstpad.h:
6315         * gst/gstplugin.h:
6316         * gst/gsttask.h:
6317         Remove comma at end of enumerator list. 
6318
6319 2006-07-05  Sebastien Moutte  <sebastien@moutte.net>
6320
6321         * win32/common/libgstbase.def:
6322         * win32/common/libgstdataprotocol.def:
6323         * win32/common/libsgtreamer.def:
6324         Add new exported functions.
6325
6326 2006-07-05  Wim Taymans  <wim@fluendo.com>
6327
6328         * libs/gst/base/gstpushsrc.c: (gst_push_src_check_get_range):
6329         Add some more docs here and there.
6330
6331 2006-07-05  Wim Taymans  <wim@fluendo.com>
6332
6333         * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_object),
6334         (gst_base_sink_loop), (gst_base_sink_get_position):
6335         When operating in pull mode update the offset so that we
6336         read sequentially.
6337
6338 2006-07-05  Wim Taymans  <wim@fluendo.com>
6339
6340         * gst/gstregistryxml.c: (read_string):
6341         Avoid strdup. (will happen in libxml, but hey!)
6342
6343         * gst/gsturi.c:
6344         Add some more docs.
6345
6346 2006-07-05  Wim Taymans  <wim@fluendo.com>
6347
6348         * gst/gstbuffer.c: (_gst_buffer_copy), (gst_buffer_create_sub):
6349         * tests/check/gst/gstbuffer.c: (GST_START_TEST),
6350         (gst_buffer_suite):
6351         No point in checking if the size of the subbuffer > 0, the
6352         code handles it correclty as demonstrated by unit test.
6353         Also add a unit test for the zero sized _new_and_alloc and
6354         _copy. Fixes #346663.
6355
6356 2006-07-05  Wim Taymans  <wim@fluendo.com>
6357
6358         * libs/gst/base/gstbasetransform.c:
6359         (gst_base_transform_prepare_output_buffer),
6360         (gst_base_transform_buffer_alloc),
6361         (gst_base_transform_handle_buffer):
6362         Make sure the buffer we pass to transform_ip has a refcount of
6363         1 and thus is writable. Fixes #343196
6364
6365 2006-07-04  Jan Schmidt  <thaytan@mad.scientist.com>
6366
6367         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
6368         (gst_file_src_init), (gst_file_src_set_property),
6369         (gst_file_src_get_property), (gst_file_src_map_region):
6370         * plugins/elements/gstfilesrc.h:
6371         Add "sequential" property, off by default, to use madvise and hint
6372         to the kernel that sequential access is desired.
6373         Touch all retrieved pages by default to ensure they are pulled
6374         into memory. (Closes #345720)
6375
6376 2006-07-03  Wim Taymans  <wim@fluendo.com>
6377
6378         * docs/design/part-block.txt:
6379         * docs/design/part-dynamic.txt:
6380         Small docs updates.
6381
6382 2006-07-03  Wim Taymans  <wim@fluendo.com>
6383
6384         * gst/gstcaps.c: (gst_caps_new_empty), (_gst_caps_free),
6385         (gst_caps_unref), (gst_static_caps_get),
6386         (gst_caps_append_structure):
6387         * gst/gstclock.c: (gst_clock_entry_new), (_gst_clock_id_free):
6388         Use GSlice when the glib we build against is >= 2.10
6389
6390 2006-07-03  Wim Taymans  <wim@fluendo.com>
6391
6392         * gst/gstelement.c: (gst_element_pads_activate):
6393         Small cleanup in pad activation code.
6394
6395 2006-07-03  Wim Taymans  <wim@fluendo.com>
6396
6397         Patch by: Peter Kjellerstedt <pkj at axis dot com>
6398
6399         * gst/gst-i18n-app.h:
6400         * gst/gst-i18n-lib.h:
6401         * tools/gst-inspect.c: (print_signal_info):
6402         The attached patch will make the inclusion of gettext.h unconditional in
6403         gst/gst-i18n-app.h and gst/gst-i18n-lib.h, and it will remove the inclusion of
6404         libintl.h in tools/gst-inspect.c.
6405         This allows use of --disable-nls again and fixes #344642.
6406
6407 2006-07-03  Edward Hervey  <edward@fluendo.com>
6408
6409         * gst/gstpad.c: (handle_pad_block), (gst_pad_push_event):
6410         Implement pad blocking on events according to part-block.txt.
6411         More comments on behaviour.
6412         * tests/check/gst/gstevent.c: (test_event):
6413         Send event to peer pad of blocked pad (else it will block).
6414
6415 2006-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
6416
6417         * libs/gst/check/gstcheck.c: (gst_check_message_error),
6418         (gst_check_run_suite):
6419           if we get the wrong message, give us the types as string
6420         * plugins/elements/gstfilesrc.c: (gst_file_src_start):
6421           Fix a translatable
6422         * tests/check/elements/filesrc.c: (GST_START_TEST):
6423           add a test for trying to open a non-existing file
6424
6425 2006-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
6426
6427         * tests/check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
6428           add a test for adding self
6429
6430 2006-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
6431
6432         * libs/gst/check/gstcheck.h:
6433           add some assert_ as alias for fail_unless_*
6434         * tests/check/gst/gst.c: (GST_START_TEST), (gst_suite):
6435           increase test coverage
6436
6437 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
6438
6439         * Makefile.am:
6440           include lcov.mak for lcov coverage generation
6441         * tools/Makefile.am:
6442           add to CLEANFILES
6443
6444 2006-07-02  Edward Hervey  <edward@fluendo.com>
6445
6446         * tests/check/elements/.cvsignore:
6447         moaping
6448
6449 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
6450
6451         * configure.ac:
6452           don't set CFLAGS and friends for gcov, done from GST_GCOV now
6453         * tests/check/Makefile.am:
6454           clean up gcov files
6455
6456 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
6457
6458         * gst/gstcaps.c: (gst_caps_remove_and_get_structure):
6459           remove gst_caps_simplify; it was not declared and not used
6460           and deprecated in 0.8
6461
6462 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
6463
6464         * docs/faq/gst-uninstalled:
6465           don't put empty paths on PYTHONPATH
6466         * docs/gst/gstreamer-sections.txt:
6467           remove some symbols that are not there
6468
6469 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
6470
6471         * gst/gstcaps.c: (gst_caps_compare_structures):
6472           whitespace fixes
6473         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
6474         * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
6475           add more tests
6476
6477 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
6478
6479         * libs/gst/dataprotocol/Makefile.am:
6480           build dataprotocol test by linking to the lib, instead of
6481           compiling the source, so we get coverage
6482         * tests/check/Makefile.am:
6483         * tests/check/elements/filesrc.c: (event_func), (setup_filesrc),
6484         (cleanup_filesrc), (GST_START_TEST), (filesrc_suite):
6485           add a test for filesrc
6486
6487 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
6488
6489         * tests/check/gst/gststructure.c: (GST_START_TEST),
6490         (gst_structure_suite):
6491           Push coverage from 59.04% to 70.00%
6492
6493 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
6494
6495         * tests/check/Makefile.am:
6496           gst-inspect every element; this makes sure that we also get
6497           coverage on element's get/set functions
6498
6499 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
6500
6501         * configure.ac:
6502           set CFLAGS and friends to -O0 if gcov is being used
6503           add GCOV LIBS
6504         * gst/Makefile.am:
6505         * libs/gst/base/Makefile.am:
6506         * libs/gst/check/Makefile.am:
6507         * libs/gst/controller/Makefile.am:
6508         * libs/gst/dataprotocol/Makefile.am:
6509         * libs/gst/net/Makefile.am:
6510         * plugins/elements/Makefile.am:
6511         * plugins/indexers/Makefile.am:
6512           add makefile rules to generate gcov data and clean up
6513         * tests/check/Makefile.am:
6514           add a coverage target that generates an html overview
6515           of coverage data
6516
6517 2006-07-01  Thomas Vander Stichele  <thomas at apestaart dot org>
6518
6519         * tests/check/elements/fakesink.c:
6520         * tests/check/elements/fakesrc.c:
6521         * tests/check/elements/fdsrc.c:
6522         * tests/check/elements/identity.c:
6523         * tests/check/generic/sinks.c: (gst_sinks_suite):
6524         * tests/check/generic/states.c:
6525         * tests/check/gst/gst.c:
6526         * tests/check/gst/gstabi.c:
6527         * tests/check/gst/gstbin.c:
6528         * tests/check/gst/gstbuffer.c: (gst_buffer_suite):
6529         * tests/check/gst/gstbus.c: (gst_bus_suite):
6530         * tests/check/gst/gstcaps.c: (GST_START_TEST):
6531         * tests/check/gst/gstelement.c:
6532         * tests/check/gst/gstevent.c: (gst_event_suite):
6533         * tests/check/gst/gstghostpad.c:
6534         * tests/check/gst/gstiterator.c: (gst_iterator_suite):
6535         * tests/check/gst/gstmessage.c: (gst_message_suite):
6536         * tests/check/gst/gstminiobject.c:
6537         * tests/check/gst/gstobject.c:
6538         * tests/check/gst/gstpad.c:
6539         * tests/check/gst/gstpipeline.c:
6540         * tests/check/gst/gstplugin.c:
6541         * tests/check/gst/gstquery.c: (gst_query_suite):
6542         * tests/check/gst/gstsegment.c: (gst_segment_suite):
6543         * tests/check/gst/gststructure.c:
6544         * tests/check/gst/gstsystemclock.c:
6545         * tests/check/gst/gsttag.c:
6546         * tests/check/gst/gsttask.c: (gst_task_suite):
6547         * tests/check/gst/gstutils.c:
6548         * tests/check/gst/gstvalue.c:
6549         * tests/check/libs/adapter.c:
6550         * tests/check/libs/basesrc.c:
6551         * tests/check/libs/collectpads.c:
6552         * tests/check/libs/controller.c:
6553         * tests/check/libs/gdp.c: (gst_dp_suite):
6554         * tests/check/libs/gstnetclientclock.c:
6555         * tests/check/libs/gstnettimeprovider.c:
6556         * tests/check/libs/libsabi.c: (libsabi_suite):
6557         * tests/check/libs/typefindhelper.c:
6558         * tests/check/pipelines/cleanup.c:
6559         * tests/check/pipelines/parse-launch.c:
6560         * tests/check/pipelines/simple-launch-lines.c:
6561         * tests/check/pipelines/stress.c: (stress_suite):
6562           use the new macro
6563
6564 2006-07-01  Thomas Vander Stichele  <thomas at apestaart dot org>
6565
6566         * libs/gst/check/gstcheck.c: (gst_check_run_suite):
6567         * libs/gst/check/gstcheck.h:
6568           create a macro and function so that the simple unit test
6569           case can be just one macro to create main()
6570
6571 2006-06-30  Tim-Philipp Müller  <tim at centricular dot net>
6572
6573         * gst/gstbin.c: (gst_bin_restore_thyself):
6574         * gst/gstxml.c: (gst_xml_make_element):
6575           Fix deserialisation from XML. Set parent manually
6576           instead of using gst_bin_add(), since gst_bin_add()
6577           will unlink all pads of the element being added.
6578           Fixes #341667.
6579
6580 2006-06-28  Tim-Philipp Müller  <tim at centricular dot net>
6581
6582         Patch by: Peter Kjellerstedt <pkj at axis com>
6583
6584         * gst/gst.c: (prepare_for_load_plugin_func), (split_and_iterate):
6585           Fix missing g_strdup() and double free when using the
6586           --gst-plugin-load command line option (#346097).
6587
6588 2006-06-23  Tim-Philipp Müller  <tim at centricular dot net>
6589
6590         * gst/gstinfo.c:
6591           Promote GST_DEBUG_CATEGORY_STATIC in example in docs.
6592
6593         * libs/gst/net/gstnetclientclock.c:
6594         * libs/gst/net/gstnettimeprovider.c:
6595           Use GST_DEBUG_CATEGORY_STATIC here too (#342503).
6596
6597 2006-06-23  Tim-Philipp Müller  <tim at centricular dot net>
6598
6599         * docs/manual/advanced-dataaccess.xml:
6600           Fix buffer probe example compilation in
6601           ADM (#345708).
6602         
6603 2006-06-22  Edward Hervey  <edward@fluendo.com>
6604
6605         * gst/gstelement.c: (gst_element_pads_activate):
6606         We need to deactivate src pads first and then sink pads.
6607         The reason is the src pads might be blocking while holding the streaming
6608         lock, so we need to deactivate them first so that deactivating the sink
6609         pads doesn't block (since it will require the streaming lock).
6610
6611 2006-06-22  Wim Taymans  <wim@fluendo.com>
6612
6613         * libs/gst/base/gstbasetransform.c:
6614         (gst_base_transform_buffer_alloc):
6615         Forgot to remove two unneeded unrefs.
6616         Simplify a check _is_equal allready checks the obvious case.
6617
6618 2006-06-22  Wim Taymans  <wim@fluendo.com>
6619
6620         * docs/design/part-block.txt:
6621         Some docs about what pad_block should do.
6622
6623 2006-06-22  Wim Taymans  <wim@fluendo.com>
6624
6625         * gst/gstcaps.c: (gst_caps_replace):
6626         Fix crasher when passed NULL. Doc clarification.
6627         Optimize for the trivial case.
6628
6629         * gst/gstpipeline.c: (gst_pipeline_change_state):
6630         Small cleanups.
6631
6632         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
6633         Small documentation cleanup.
6634
6635         * libs/gst/base/gstbasetransform.c:
6636         (gst_base_transform_buffer_alloc):
6637         Don't use silly gst_pad_get_negotiated_caps, GST_PAD_CAPS
6638         is what we need and it avoids a whole lot of redundant 
6639         refcount operations.
6640
6641 2006-06-22  Tim-Philipp Müller  <tim at centricular dot net>
6642
6643         Patch by: Philip Jägenstedt  <philip at lysator liu se>
6644
6645         * docs/manual/advanced-dataaccess.xml:
6646           Fix 'Embedding static elements' section to use
6647           GST_PLUGIN_DEFINE_STATIC (#345607).
6648
6649 2006-06-21  Tim-Philipp Müller  <tim at centricular dot net>
6650
6651         * tests/check/pipelines/simple-launch-lines.c: (test_stop_from_app):
6652           Attempt to 'fix' spuriously failing test case: it seems like the
6653           timeout of half a second is simply too small when the system is under
6654           load otherwise, and the timeout doesn't really seem to serve any
6655           particular purpose here. Give the pipeline a few seconds to preroll
6656           first, and then give it another half a second to go from PAUSED to
6657           PLAYING and marshal the message into the main thread.
6658
6659 2006-06-21  Tim-Philipp Müller  <tim at centricular dot net>
6660
6661         * tools/gst-feedback-m.m:
6662           Don't only use unversioned tools, try versioned tools as well
6663           (#345086).
6664
6665 2006-06-21  Tim-Philipp Müller  <tim at centricular dot net>
6666
6667         * gst/gstbus.c: (gst_bus_class_init):
6668           Fix some typos, make docs more explicit.
6669
6670 2006-06-20  Wim Taymans  <wim@fluendo.com>
6671
6672         * tests/check/gst/gstghostpad.c: (block_callback),
6673         (GST_START_TEST), (gst_ghost_pad_suite):
6674         Added some more ghostpad tests, mainly blocking
6675         and probes.
6676
6677 2006-06-16  Wim Taymans  <wim@fluendo.com>
6678
6679         * plugins/elements/gstfilesink.c: (gst_file_sink_open_file),
6680         (gst_file_sink_close_file), (gst_file_sink_do_seek),
6681         (gst_file_sink_event), (gst_file_sink_render):
6682         * plugins/elements/gstfilesink.h:
6683         Check if we can seek in the file instead of assuming
6684         we always can. Post an error when we are asked to seek in a
6685         non-seekable file (like a fifo). Fixes #343312.
6686         Some cleanups.
6687
6688 2006-06-16  Tim-Philipp Müller  <tim at centricular dot net>
6689
6690         * tools/gst-launch.1.in:
6691           Un-garble (fourcc) bit in filtered caps section.
6692
6693 2006-06-16  Tim-Philipp Müller  <tim at centricular dot net>
6694
6695         * docs/manual/advanced-autoplugging.xml:
6696         * docs/manual/basics-helloworld.xml:
6697         * docs/manual/highlevel-components.xml:
6698           Don't leak bus reference in sample code.
6699
6700 2006-06-15  Tim-Philipp Müller  <tim at centricular dot net>
6701
6702         * autogen.sh:
6703           Add default for new --enable-plugin-docs switch.
6704
6705         * configure.ac:
6706           Use new GST_PLUGIN_DOCS macro to check for pyxml etc.
6707           Fixes #344039.
6708
6709         * docs/Makefile.am:
6710           Use new ENABLE_PLUGIN_DOCS conditional.
6711
6712 2006-06-14  Wim Taymans  <wim@fluendo.com>
6713
6714         * gst/gstbin.c: (bin_query_duration_done), (gst_bin_query):
6715         Make it clear with a FIXME and a real define what the #if 0
6716         previously disabled.
6717
6718 2006-06-14  Wim Taymans  <wim@fluendo.com>
6719
6720         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
6721         (gst_base_sink_preroll_object), (gst_base_sink_get_position):
6722         * libs/gst/base/gstbasetransform.c:
6723         (gst_base_transform_sink_eventfunc):
6724         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
6725         Don't randomly and silently reset a segment when the format 
6726         changes as this is a bug somewhere upstream. Fixes #330379.
6727
6728 2006-06-14  Tim-Philipp Müller  <tim at centricular dot net>
6729
6730         Patch by: Wouter Paesen  <wouter at kangaroot net>
6731
6732         * libs/gst/controller/gstcontroller.c:
6733         (gst_controlled_property_new):
6734           Fix controlling of float properties (#344849).
6735
6736         * tests/check/libs/controller.c:
6737         (gst_test_mono_source_get_property),
6738         (gst_test_mono_source_set_property),
6739         (gst_test_mono_source_class_init), (GST_START_TEST):
6740           While we're at it, add some float stuff to unit test.
6741
6742 2006-06-13  Thomas Vander Stichele  <thomas at apestaart dot org>
6743
6744         * docs/README:
6745         * docs/images/gdp-header.svg:
6746           add a gdp image
6747         * docs/libs/Makefile.am:
6748         * docs/libs/gdp-header.png:
6749         * libs/gst/dataprotocol/dataprotocol.c:
6750           add it to the API docs
6751         * docs/manual/intro-motivation.xml:
6752           fix typo
6753
6754 2006-06-13  Tim-Philipp Müller  <tim at centricular dot net>
6755
6756         * gst/gst.c: (scan_and_update_registry), (init_post):
6757           If the fork()'ed child process can't write the updated registry cache
6758           file to disk for some reason, make it exit with a failure exit code,
6759           so that the parent can then re-scan the plugins itself and update the
6760           registry structures in memory and work with that (rather than failing
6761           when creating elements because seemingly no plugins are available).
6762           Refactor registry scanning code into separate function for this and
6763           also separate fork() and non-fork() code paths. Fixes #344748.
6764
6765 2006-06-13  Wim Taymans  <wim@fluendo.com>
6766
6767         * docs/manual/advanced-dataaccess.xml:
6768         Fix wrong PluginDesc. Fixes #344755.
6769
6770 2006-06-13  Tim-Philipp Müller  <tim at centricular dot net>
6771
6772         * gst/gstregistryxml.c: (gst_registry_xml_write_cache):
6773           Fix silly bug that prevented us from creating
6774           ~/.gstreamer-0.10 and writing the registry in one
6775           go (the first call to g_mkstemp() would overwrite the
6776           placeholder in the template string, so the second call
6777           to g_mkstemp() after creating the missing directory
6778           would then error out with 'invalid argument').
6779
6780 2006-06-13  Edward Hervey  <edward@fluendo.com>
6781
6782         * gst/gst.c: (init_post):
6783         Free string.
6784
6785 2006-06-13  Thomas Vander Stichele  <thomas at apestaart dot org>
6786
6787         * gst/glib-compat-private.h:
6788         * gst/glib-compat.c:
6789         * gst/glib-compat.h:
6790         * gst/gstvalue.c: (gst_value_serialize_flags):
6791           remove GLib 2.6 compatibility code
6792
6793 2006-06-12  Tim-Philipp Müller  <tim at centricular dot net>
6794
6795         * gst/parse/Makefile.am:
6796           Fix build with 'make -j N' even more (#340016).
6797
6798 2006-06-12  Wim Taymans  <wim@fluendo.com>
6799
6800         * docs/gst/gstreamer-sections.txt:
6801         Fix docs.
6802
6803 2006-06-12  Wim Taymans  <wim@fluendo.com>
6804
6805         * gst/gstsegment.c: (gst_segment_set_duration),
6806         (gst_segment_set_last_stop), (gst_segment_set_seek),
6807         (gst_segment_set_newsegment_full), (gst_segment_to_stream_time),
6808         (gst_segment_to_running_time), (gst_segment_clip):
6809         Use G_UNLIKELY to help the compiler a bit.
6810
6811 2006-06-12  Wim Taymans  <wim@fluendo.com>
6812
6813         Patch by: Stefan Kost <ensonic at sonicpulse dot de>
6814
6815         * gst/gstevent.c: (gst_event_get_type):
6816         * gst/gstmessage.c:
6817         * gst/gstpad.c: (gst_pad_chain_unchecked), (gst_pad_chain),
6818         (gst_pad_push):
6819         constify quark registration strings. Fixes #344115
6820         Avoid unneeded type checking is _pad_push() by internally
6821         calling gst_pad_chain_unchecked().
6822
6823 2006-06-12  Wim Taymans  <wim@fluendo.com>
6824
6825         * gst/gstbuffer.c: (gst_buffer_get_type), (gst_buffer_finalize),
6826         (_gst_buffer_copy), (gst_buffer_is_metadata_writable),
6827         (gst_subbuffer_finalize), (gst_buffer_create_sub),
6828         (gst_buffer_is_span_fast), (gst_buffer_span):
6829         Init _type for consistency.
6830         Use _FLAGS macro to avoid type check.
6831         Avoid unneeded type checks in subbufer code.
6832
6833 2006-06-12  Wim Taymans  <wim@fluendo.com>
6834
6835         * gst/gst.c: (gst_debug_help):
6836         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_list_free):
6837         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
6838         (gst_plugin_feature_list_free):
6839         * gst/gstregistry.c: (gst_registry_add_plugin),
6840         (gst_registry_add_feature), (gst_registry_plugin_filter),
6841         (gst_registry_feature_filter), (gst_registry_find_plugin),
6842         (gst_registry_find_feature), (gst_registry_get_plugin_list),
6843         (gst_registry_lookup_feature_locked), (gst_registry_lookup_locked):
6844         * gst/gstregistryxml.c: (load_feature),
6845         (gst_registry_xml_read_cache), (gst_registry_xml_write_cache):
6846         * gst/gstminiobject.c: (gst_mini_object_unref),
6847         (gst_mini_object_replace), (gst_value_mini_object_free),
6848         (gst_value_mini_object_copy):
6849         Use _CAST macros to avoid unneeded type checking.
6850         Added some more G_UNLIKELY.
6851
6852 2006-06-12  Wim Taymans  <wim@fluendo.com>
6853
6854         * gst/gstbuffer.h:
6855         Avoid unneeded type checking.
6856         API: GST_BUFFER_IS_DISCONT
6857
6858         * gst/gstminiobject.h:
6859         Avoid type check in flag accessor.
6860
6861         * gst/gstelementfactory.h:
6862         * gst/gstplugin.h:
6863         * gst/gstpluginfeature.h:
6864         Add _CAST macros.
6865         API: GST_ELEMENT_FACTORY_CAST
6866         API: GST_PLUGIN_CAST
6867         API: GST_PLUGIN_FEATURE_CAST
6868
6869 2006-06-12  Wim Taymans  <wim@fluendo.com>
6870
6871         * gst/gstobject.c: (gst_object_get_type), (gst_object_ref),
6872         (gst_object_unref):
6873         Add G_UNLIKELY in type registration.
6874         Avoid type check in _ref/_unref since that is also
6875         done in glib.
6876
6877 2006-06-12  Wim Taymans  <wim@fluendo.com>
6878
6879         * gst/gsterror.c: (gst_g_error_get_type):
6880         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
6881         (gst_static_pad_template_get_type):
6882         * gst/gsttaglist.c: (gst_tag_list_get_type):
6883         * gst/gsttagsetter.c: (gst_tag_setter_get_type):
6884         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type):
6885         * gst/gsturi.c: (gst_uri_handler_get_type):
6886         * gst/gstvalue.c: (gst_date_get_type):
6887         * gst/gstxml.c: (gst_xml_get_type):
6888         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_type),
6889         (gst_base_sink_preroll_object), (gst_base_sink_get_position):
6890         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_type):
6891         Add G_UNLIKELY in type registration.
6892
6893 2006-06-12  Wim Taymans  <wim@fluendo.com>
6894
6895         * tools/gst-inspect.c: (print_signal_info):
6896         Properly print enum values.
6897
6898 2006-06-12  Wim Taymans  <wim@fluendo.com>
6899
6900         * gst/gstinfo.c: (gst_debug_set_active),
6901         (gst_debug_category_set_threshold), (_gst_debug_nameof_funcptr):
6902         * gst/gstinfo.h:
6903         Add some G_[UN]LIKELY.
6904         Maintain __gst_debug_min to avoid formatting the arguments of
6905         debug messages that will be dropped anyway to avoid a lot of 
6906         overhead from the debugging system.
6907
6908 2006-06-11  Stefan Kost  <ensonic@users.sf.net>
6909
6910         * po/POTFILES.in:
6911         * po/POTFILES.skip:
6912           add missing files containing translatable strings, tell intltool about
6913           one exception
6914
6915 2006-06-11  Stefan Kost  <ensonic@users.sf.net>
6916
6917         * tests/check/libs/.cvsignore:
6918         add test-binary to ignore list
6919
6920 2006-06-11  Stefan Kost  <ensonic@users.sf.net>
6921
6922         * docs/libs/gstreamer-libs-docs.sgml:
6923         reorder (put dp into a chapter) and indent
6924
6925 2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
6926
6927         * configure.ac:
6928           back to HEAD
6929
6930 === release 0.10.8 ===
6931
6932 2006-06-10  Thomas Vander Stichele <thomas at apestaart dot org>
6933
6934         * configure.ac:
6935           releasing 0.10.8, "Soepeke, ik zie ou nog altijd nie"
6936
6937 2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
6938
6939         * gst/gst.c: (init_post):
6940           move pid declaration to declaration block
6941
6942 2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
6943
6944         * gst/gst.c: (init_post):
6945           use _exit() instead of exit() in our forked child; this ensures
6946           that none of the registered exit handlers from whatever is using
6947           GStreamer get executed.  This fixes gnome-mixer-applet failing
6948           to load, because ORBit would shut down.
6949           Spotted by: Edward Hervey  <edward@fluendo.com>
6950           Fix suggested by: Tim-Philipp Müller  <tim at centricular dot net>
6951           Fixes #344474
6952
6953 2006-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
6954
6955         * configure.ac:
6956           back to TRUNK
6957
6958 === release 0.10.7 ===
6959
6960 2006-06-09  Thomas Vander Stichele <thomas at apestaart dot org>
6961
6962         * configure.ac:
6963           releasing 0.10.7, "Soepeke, ik zie ou"
6964
6965 2006-06-07  Thomas Vander Stichele  <thomas at apestaart dot org>
6966
6967         * configure.ac:
6968         * po/af.po:
6969         * po/az.po:
6970         * po/bg.po:
6971         * po/ca.po:
6972         * po/cs.po:
6973         * po/de.po:
6974         * po/en_GB.po:
6975         * po/fr.po:
6976         * po/it.po:
6977         * po/nb.po:
6978         * po/nl.po:
6979         * po/ru.po:
6980         * po/sq.po:
6981         * po/sr.po:
6982         * po/sv.po:
6983         * po/tr.po:
6984         * po/uk.po:
6985         * po/vi.po:
6986         * po/zh_CN.po:
6987         * po/zh_TW.po:
6988         * win32/common/config.h:
6989           0.10.6.2 prerelease
6990
6991 2006-06-07  Wim Taymans  <wim@fluendo.com>
6992
6993         * gst/gstindex.c: (gst_index_gtype_resolver):
6994         * tools/gst-xmlinspect.c: (print_plugin_info):
6995         Fix leak spotted by coverity checker. Fixes #343827
6996         Fix another other leak found by paolo borelli.
6997
6998 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
6999
7000         * libs/gst/dataprotocol/dataprotocol.c:
7001         (gst_dp_header_from_buffer_any), (gst_dp_packet_from_caps_any),
7002         (gst_dp_version_get_type), (gst_dp_init),
7003         (gst_dp_header_from_buffer), (gst_dp_header_from_buffer_1_0),
7004         (gst_dp_packet_from_caps), (gst_dp_packet_from_caps_1_0),
7005         (gst_dp_packet_from_event), (gst_dp_packet_from_event_1_0),
7006         (gst_dp_event_from_packet_0_2), (gst_dp_event_from_packet_1_0),
7007         (gst_dp_event_from_packet), (gst_dp_packetizer_new),
7008         (gst_dp_packetizer_free):
7009         * libs/gst/dataprotocol/dataprotocol.h:
7010           API: add a GstDPPacketizer object, and create/free functions
7011           API: add GstDPVersion enum
7012           Add 1.0 event function that uses the string serialization
7013           Serialize more useful buffer flags
7014           Fixes #343988
7015
7016 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
7017
7018         * tests/check/Makefile.am:
7019         * tests/check/gst/gstabi.c:
7020         * tests/check/gst/struct_ppc64.h:
7021         * tests/check/libs/libsabi.c:
7022         * tests/check/libs/struct_ppc64.h:
7023           add ppc64 structure sizes
7024
7025 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
7026
7027         * tests/check/Makefile.am:
7028         * tests/check/gst/gstabi.c:
7029         * tests/check/gst/struct_x86_64.h:
7030         * tests/check/libs/libsabi.c:
7031         * tests/check/libs/struct_x86_64.h:
7032           generate and add structure size lists for x86_64
7033
7034 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
7035
7036         * libs/gst/check/gstcheck.c: (gst_check_abi_list):
7037         * libs/gst/check/gstcheck.h:
7038           factor out the method from tests that checks size of structures,
7039           and add code to generate the header containing these sizes
7040         * tests/check/gst/gstabi.c: (GST_START_TEST):
7041         * tests/check/gst/struct_i386.h:
7042         * tests/check/libs/libsabi.c: (GST_START_TEST):
7043         * tests/check/libs/struct_i386.h:
7044           use it
7045
7046 2006-06-06  Michael Smith  <msmith@fluendo.com>
7047
7048         * gst/gstsegment.h:
7049           Don't use c++-style comments, fixes #343929
7050
7051 2006-06-05  Edward Hervey  <edward@fluendo.com>
7052
7053         * gst/gst.c:
7054         plugin_paths is not used if we build without registry support.
7055
7056         * gst/gstsegment.c: (gst_segment_copy): 
7057         _copy() was always returning NULL...
7058
7059 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
7060
7061         * libs/gst/dataprotocol/dataprotocol.c:
7062         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
7063         (gst_dp_packet_from_event):
7064           factor out CRC code
7065
7066 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
7067
7068         * libs/gst/check/gstcheck.c: (gst_check_teardown_src_pad):
7069           make sure we unset caps
7070
7071 2006-06-02  Michael Smith  <msmith@fluendo.com>
7072
7073         * libs/gst/check/gstcheck.c: (gst_check_init),
7074         (gst_check_chain_func):
7075         * libs/gst/check/gstcheck.h:
7076           Add a cond/mutex to the check support lib, signal this whenever we
7077           add to the buffers list. This will allow tests to not busy-wait on
7078           the buffer-list.
7079
7080 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
7081
7082         * libs/gst/dataprotocol/dataprotocol.c:
7083         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
7084         (gst_dp_packet_from_event):
7085           factor out some common header init code
7086
7087 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
7088
7089         * docs/libs/gstreamer-libs-sections.txt:
7090         * docs/libs/tmpl/gstdataprotocol.sgml:
7091         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc):
7092         * libs/gst/dataprotocol/dataprotocol.h:
7093           API: make gst_dp_crc() public
7094
7095 2006-06-01  Stefan Kost  <ensonic@users.sf.net>
7096
7097         * plugins/indexers/gstindexers.c: (plugin_init):
7098         conditionally register fileindexer (fixes #343598)
7099
7100 2006-06-01  Stefan Kost  <ensonic@users.sf.net>
7101
7102         * gst/gsttagsetter.h:
7103         Can't cast ifaces to a class
7104
7105         * libs/gst/net/gstnetclientclock.h:
7106         * libs/gst/net/gstnettimeprovider.h:
7107         * plugins/elements/gstfakesink.h:
7108         * plugins/elements/gstfakesrc.h:
7109         * plugins/elements/gstfdsink.h:
7110         * plugins/elements/gstfdsrc.h:
7111         * plugins/elements/gstfilesink.h:
7112         * plugins/elements/gstfilesrc.h:
7113         * plugins/elements/gstidentity.h:
7114         * plugins/elements/gstqueue.h:
7115         * plugins/elements/gsttee.h:
7116         * plugins/indexers/gstfileindex.c:
7117         * plugins/indexers/gstmemindex.c:
7118         * tests/old/examples/plugins/example.h:
7119         Fix more gobject macros: obj<->klass, GstXXX<->GstXXXClass
7120
7121 2006-06-01  Thomas Vander Stichele  <thomas at apestaart dot org>
7122
7123         * libs/gst/dataprotocol/dataprotocol.c:
7124         (gst_dp_header_from_buffer):
7125           make sure we zero the whole ABI-compatible area
7126
7127 2006-06-01  Wim Taymans  <wim@fluendo.com>
7128
7129         Patch by: Alessandro Decina <alessandro at nnva dot org>
7130
7131         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_stop):
7132         Make sure the EOS flag is cleared from pads after a flush
7133         or stop. Fixes #343538.
7134
7135         * tests/check/libs/collectpads.c: (GST_START_TEST),
7136         (gst_collect_pads_suite):
7137         Added test for collectpads reusage after EOS.
7138
7139 2006-05-30  Sebastien Moutte  <sebastien@moutte.net>
7140
7141         * gst/gst.c:
7142          set #include <sys/wait.h> in a #ifdef #ifdef HAVE_FORK
7143         * win32/common/libgstbase.def:
7144          export gst_collect_pads_set_flushing
7145         * win32/common/libgstreamer.def:
7146          export gst_pad_set_acceptcaps_function, gst_structure_empty_new,
7147          gst_value_fraction_multiply
7148         * win32/vs6/gst_inspect.dsp:
7149          add a link to intl.lib
7150
7151 2006-05-30  Wim Taymans  <wim@fluendo.com>
7152
7153         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
7154         (gst_collect_pads_chain):
7155         Handle the case where a pad is removed from the collection
7156         that could cause the other pads to become collectable.
7157
7158 2006-05-30  Wim Taymans  <wim@fluendo.com>
7159
7160         * gst/gstelement.c:
7161         Clarify the use of _release_request_pad() and
7162         _get_request_pad() a bit better.
7163
7164         * libs/gst/base/gstadapter.c: (gst_adapter_peek),
7165         (gst_adapter_take_buffer):
7166         Fix some doc and comment typos.
7167
7168 2006-05-30  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
7169
7170         * docs/gst/gstreamer-sections.txt:
7171         * docs/libs/gstreamer-libs-sections.txt:
7172           add declared symbols
7173
7174 2006-05-30  Jan Schmidt  <thaytan@mad.scientist.com>
7175
7176         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
7177         Add debug that can be enabled using a #define at the top of the file,
7178         for dumping stats about how late/early we were when waking up from
7179         waiting on the clock.
7180
7181 2006-05-30  Wim Taymans  <wim@fluendo.com>
7182
7183         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_check_pads):
7184         When rebuilding the pad list, don't leak the previous list.
7185
7186 2006-05-30  Wim Taymans  <wim@fluendo.com>
7187
7188         Patch by: Lutz Mueller <lutz at topfrose dot de>
7189
7190         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
7191         (gst_base_src_get_query_types), (gst_base_src_update_length):
7192         Publish supported query types.
7193         Update last_stop field in get_range mode so the position
7194         query works. Fixes #342321.
7195
7196 2006-05-30  Tim-Philipp Müller  <tim at centricular dot net>
7197
7198         * docs/gst/gstreamer-sections.txt:
7199         * gst/gsttaglist.c: (_gst_tag_initialize):
7200         * gst/gsttaglist.h:
7201           API: add GST_TAG_PREVIEW_IMAGE (#343341).
7202
7203 2006-05-30  Wim Taymans  <wim@fluendo.com>
7204
7205         Patch by: Alessandro Decina <alessandro at nnva dot org>
7206
7207         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad):
7208         Unlock mutex when removing an unknown pad.
7209         Fixes #343334.
7210
7211         * tests/check/Makefile.am:
7212         * tests/check/libs/collectpads.c: (collected_cb), (push_buffer),
7213         (push_event), (setup), (teardown), (GST_START_TEST),
7214         (gst_collect_pads_suite), (main):
7215         Added collecpads check, disabled for now as check crashes for
7216         some reason.
7217
7218 2006-05-29  Wim Taymans  <wim@fluendo.com>
7219
7220         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize):
7221         Don't leak pads lists.
7222
7223 2006-05-29  Wim Taymans  <wim@fluendo.com>
7224
7225         * docs/libs/gstreamer-libs-sections.txt:
7226         * libs/gst/base/gstcollectpads.c:
7227         (gst_collect_pads_set_flushing_unlocked),
7228         (gst_collect_pads_set_flushing), (gst_collect_pads_start),
7229         (gst_collect_pads_stop):
7230         * libs/gst/base/gstcollectpads.h:
7231         API: gst_collect_pads_set_flushing()
7232         Added api to set the pads to flushing, useful for seeking
7233         code in elements using collectpads.
7234         Clear segment when receiving a flush.
7235
7236 2006-05-29  Tim-Philipp Müller  <tim at centricular dot net>
7237
7238         * gst/gst.c: (add_path_func), (init_post):
7239           Don't scan registry paths passed via --gst-plugin-path immediately
7240           (will crash, because absolutely nothing is set up and no types are
7241           registered etc.); do this later in init_post(). Fixes #343057.
7242
7243 2006-05-28  Thomas Vander Stichele  <thomas at apestaart dot org>
7244
7245         * gst/gst.c: (init_post):
7246           if we have fork, fork while reading/rebuilding the registry
7247           so the parent doesn't take the hit of having all plugins loaded
7248           in memory.  Fixes #342777.
7249         * configure.ac:
7250           Check if we have fork()
7251         * win32/common/config.h.in:
7252           no fork() on win32
7253
7254 2006-05-26  Jan Schmidt  <thaytan@mad.scientist.com>
7255
7256         * plugins/elements/gstelements.c:
7257         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
7258         (gst_file_src_init), (gst_file_src_set_property),
7259         (gst_file_src_get_property), (gst_file_src_start):
7260         * plugins/elements/gstfilesrc.h:
7261           API: GstFileSrc::use-mmap
7262
7263         Add a use-mmap property to enable easier testing of all code paths.
7264         Bump rank to PRIMARY, so filesrc is the preferred file reader and used
7265         in the absence of gnomevfssrc. (Closes #340501)
7266
7267 2006-05-26  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7268
7269         * tools/gst-inspect.c:
7270         Add missing include, removes warning of ngettext not being defined on
7271         some arches.
7272
7273 2006-05-26  Jan Schmidt  <thaytan@mad.scientist.com>
7274
7275         * gst/gstvalue.c: (gst_value_deserialize_fraction):
7276         Handle NULL input and output pointers silently as a failed conversion,
7277         rather than g_warnings.
7278
7279 2006-05-25  Wim Taymans  <wim@fluendo.com>
7280
7281         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_start):
7282         Initialize variable before using. Fixes #342820.
7283
7284 2006-05-24  Tim-Philipp Müller  <tim at centricular dot net>
7285
7286         * libs/gst/base/gsttypefindhelper.c: (buf_helper_find_peek):
7287           Fix off-by-one bug that would only allow peeks of N-1 bytes
7288           from the start even if the buffer to typefind on contains
7289           in fact N bytes of data (makes vorbis typefinding from a
7290           vorbis identification header buffer work).
7291
7292         * tests/check/Makefile.am:
7293         * tests/check/libs/.cvsignore:
7294         * tests/check/libs/typefindhelper.c: (GST_START_TEST),
7295         (gst_typefindhelper_suite), (main), (foobar_typefind),
7296         (plugin_init):
7297           Add very basic unit test for gst_type_find_helper_for_buffer()
7298           that checks for the problem fixed above.
7299
7300 2006-05-24  Thomas Vander Stichele  <thomas at apestaart dot org>
7301
7302         * tools/gst-inspect.c: (print_interfaces),
7303         (print_element_properties_info), (print_element_list), (main):
7304           add more translatable strings
7305
7306 2006-05-23  Tim-Philipp Müller  <tim at centricular dot net>
7307
7308         Patch by: Julien Moutte  <julien at moutte net>
7309
7310         * docs/gst/gstreamer-sections.txt:
7311           Make new GST_FLOW_IS_SUCCESS macro visible in docs.
7312           
7313         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init),
7314         (gst_fake_sink_preroll):
7315         * plugins/elements/gstfakesink.h:
7316           API: Add new GstFakeSink::preroll-handoff signal (#337100).
7317
7318 2006-05-23  Wim Taymans  <wim@fluendo.com>
7319
7320         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark):
7321         * gst/gstpad.h:
7322         Added _CUSTOM error and success GstFlowReturn that can be
7323         used be elements internally. 
7324         Added macro to check for SUCCESS flowreturns.
7325         API: GST_FLOW_CUSTOM_SUCCESS
7326         API: GST_FLOW_CUSTOM_ERROR
7327         API: GST_FLOW_IS_SUCCESS
7328
7329         * tests/check/gst/gstpad.c: (GST_START_TEST), (gst_pad_suite):
7330         Added check for GstFlowReturn sanity.
7331
7332 2006-05-23  Wim Taymans  <wim@fluendo.com>
7333
7334         Patch by: Mark Nauwelaerts <manauw at skynet dot be>
7335
7336         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
7337         (gst_collect_pads_event):
7338         clear/reset segment info in FLUSH_STOP.
7339         Fixes #336929.
7340
7341 2006-05-22  Stefan Kost  <ensonic@users.sf.net>
7342
7343         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_stop),
7344         (gst_collect_pads_check_collected):
7345         Flush queued buffer on _stop(), fixes playing again (#342454)
7346
7347 2006-05-22  Thomas Vander Stichele  <thomas at apestaart dot org>
7348
7349         * tests/check/gst/gststructure.c: (GST_START_TEST),
7350         (gst_structure_suite):
7351           add a test for a complete structure
7352
7353 2006-05-19  Tim-Philipp Müller  <tim at centricular dot net>
7354
7355         * docs/faq/developing.xml:
7356         * docs/faq/faq.xml:
7357         * docs/faq/troubleshooting.xml:
7358         * docs/faq/using.xml:
7359           Some minor FAQ updates that won't change the fact that
7360           our FAQ is badly structured, full of information hardly
7361           anyone new to GStreamer needs to know and lacking lots
7362           of information people constantly ask for.
7363           
7364 2006-05-19  Jan Schmidt  <thaytan@mad.scientist.com>
7365
7366         * gst/gstpad.c: (gst_pad_set_caps):
7367           Short-circuit gst_pad_set_caps if setting the existing
7368           caps pointer again, and avoid printing debug and 
7369           reffing/unreffing the caps.
7370
7371         * plugins/elements/gstqueue.c: (gst_queue_push_one):
7372           There's actually no need to set the caps before pushing -
7373           the acceptcaps method will handle it anyway.
7374
7375 2006-05-19  Tim-Philipp Müller  <tim at centricular dot net>
7376
7377         * docs/gst/gstreamer-sections.txt:
7378         * win32/common/libgstreamer.def:
7379         * gst/gstutils.c: (gst_element_seek_simple):
7380         * gst/gstutils.h:
7381           API: add gst_element_seek_simple() (#342238).
7382
7383 2006-05-18  Edward Hervey  <edward@fluendo.com>
7384
7385         * gst/gsttypefind.c: (gst_type_find_get_type):
7386         * gst/gsttypefind.h:
7387         Added GST_TYPE_TYPE_FIND and gst_type_find_get_type() so a GType gets
7388         registered for GstTypeFind pointers. This allows wrapping the structure
7389         in bindings (i.e. gst-python).
7390
7391 2006-05-18  Tim-Philipp Müller  <tim at centricular dot net>
7392
7393         * gst/gsttagsetter.c:
7394           Docs additions and fixes (see #339918).
7395
7396 2006-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
7397
7398         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
7399         The caps intersection algorithm can produce multiple copies of the
7400         caps. Until that is fixed, we need to simplify the result to be
7401         sure whether the allowed caps are fixed or not.
7402
7403         * plugins/elements/gstqueue.c: (gst_queue_init),
7404         (gst_queue_bufferalloc), (gst_queue_acceptcaps),
7405         (gst_queue_push_one):
7406         Proxied buffer alloc should not set the caps on the source pad.
7407         When pushing buffers, we always accept the caps change that triggers.
7408         This prevents negotiation errors caused by caps changing mid-stream 
7409         and then being refused on our source pad (because upstream is now
7410         refusing those caps).
7411
7412 2006-05-18  Tim-Philipp Müller  <tim at centricular dot net>
7413
7414         * tests/examples/helloworld/helloworld.c: (main):
7415           Must plug audioconvert and audioresample between decoder
7416           and audio sink.
7417
7418 2006-05-17  Jan Schmidt  <thaytan@mad.scientist.com>
7419
7420         * gst/gstregistryxml.c: (read_string), (load_pad_template),
7421         (load_feature), (load_plugin):
7422         Allow empty strings for some of the plugin fields so we don't 
7423         drop valid plugin entries that were written out correctly
7424         (Fixes #341479)
7425
7426 2006-05-17  Sebastien Moutte  <sebastien@moutte.net>
7427         
7428         * gst/gstregistryxml.c: (gst_registry_xml_write_cache):
7429           Use g_remove and g_rename instead of remove and rename that don't 
7430           handle utf8 characters. rename was failing for users who had specific
7431           characters in their name then the registry was built at each 
7432           gstreamer init.
7433         * win32/vs6/gst_inspect.dsp:
7434         * win32/vs6/gst_launch.dsp:
7435         * win32/vs6/libgstbase.dsp:
7436         * win32/vs6/libgstcoreelements.dsp:
7437         * win32/vs6/libgstreamer.dsp:
7438           Use a debug version of libxml2 (libxml2D.lib,libxml2D.dll) for DEBUG 
7439           build of libgstreamer and clean unused libraries in projects link 
7440           settings.
7441
7442 2006-05-17  Edward Hervey  <edward@fluendo.com>
7443
7444         * plugins/elements/gstqueue.c: (gst_queue_push_one):
7445         The queue is not responsible for pushing an EOS when receiving a fatal
7446         flow error. It's up to the real element driving the pipeline to do that.
7447
7448 2006-05-16  Edward Hervey  <edward@fluendo.com>
7449
7450         * plugins/elements/gstqueue.c: (gst_queue_push_one):
7451         The queue was posting a non-needed GST_MESSAGE_ERROR when pushing a
7452         buffer returned a fatal error. It should just send an EOS and stop
7453         its task.
7454         Upstream elements will then properly receive the GST_FLOW_UNEXPECTED
7455         when pushing buffers on the queue and will be able to handle the event.
7456
7457 2006-05-16  Tim-Philipp Müller  <tim at centricular dot net>
7458
7459         * docs/manual/basics-bins.xml:
7460         * docs/manual/basics-init.xml:
7461           Fix typos and minor errors in sample code (#341856).
7462
7463 2006-05-16  Wim Taymans  <wim@fluendo.com>
7464
7465         * docs/design/part-qos.txt:
7466         Fix indexes in formulas to make more sense.
7467
7468 2006-05-15  Wim Taymans  <wim@fluendo.com>
7469
7470         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
7471         Don't report POSITION based on clock time if sync is
7472         disabled in a sink.
7473
7474 2006-05-15  Tim-Philipp Müller  <tim at centricular dot net>
7475
7476         * gst/gstobject.h:
7477           Add cast to make compiler happy - refcount variable was a gint
7478           in GstObject but is a guint in GObject and g_atomic_int_get()
7479           wants a gint *.
7480
7481 2006-05-15  Thomas Vander Stichele  <thomas at apestaart dot org>
7482
7483         * gst/parse/Makefile.am:
7484           chain commands using &&, which also makes parallel make work
7485
7486 2006-05-14  Tim-Philipp Müller  <tim at centricular dot net>
7487
7488         * docs/gst/gstreamer-sections.txt:
7489         * gst/gstevent.c:
7490         * gst/gstevent.h:
7491         * gst/gstmessage.h:
7492           Minor docs fixes.
7493
7494 === release 0.10.6 ===
7495
7496 2006-05-14  Jan Schmidt <thaytan@mad.scientist.com>
7497
7498         * configure.ac:
7499           releasing 0.10.6, "Take the cannoli"
7500
7501 2006-05-13  Tim-Philipp Müller  <tim at centricular dot net>
7502
7503         * tools/gst-launch.c: (print_tag):
7504           Fix use of uninitialized variable in the hypothetical
7505           case that some broken plugin creates a GST_TAG_IMAGE
7506           tag containing a NULL buffer (#341667).
7507
7508 2006-05-12  Tim-Philipp Müller  <tim at centricular dot net>
7509
7510         * tools/gst-launch.c: (print_tag):
7511           Print something more intelligible for image tags when
7512           using the -t switch (#341556).
7513
7514 2006-05-12  Thomas Vander Stichele  <thomas at apestaart dot org>
7515
7516         * Makefile.am:
7517           updates for win32
7518         * configure.ac:
7519           define GST_MAJORMINOR so we have it available in win32/common/config.h
7520           Possibly remove it from our Makefile.am files later
7521         * win32/common/config.h:
7522         * win32/common/config.h.in:
7523           added GST_MAJORMINOR
7524         * win32/common/gstenumtypes.c: (register_gst_resource_error):
7525         * win32/common/gstversion.h:
7526           updated
7527
7528 2006-05-12  Sebastien Moutte  <sebastien@moutte.net>
7529
7530         * win32/MANIFEST:
7531           Update win32 files listing.
7532         * win32/common/gstversion.h:
7533           Add GST_MAJORMINOR definition.
7534         * win32/common/libgstreamer.def:
7535           Add new exported functions.
7536           
7537 2006-05-12  Michael Smith  <msmith@fluendo.com>
7538
7539         * gst/gstplugin.c: (gst_plugin_load_file):
7540           If an so file has no plugin entry point, unload the module.
7541
7542 2006-05-11  Wim Taymans  <wim@fluendo.com>
7543
7544         * plugins/elements/gstqueue.c: (gst_queue_chain), (gst_queue_loop),
7545         (gst_queue_set_property):
7546         Don't forget to signal the _chain or _loop function 
7547         when the queue size or thresholds change since that might
7548         cause them to make progres again.
7549
7550 2006-05-11  Stefan Kost  <ensonic@users.sf.net>
7551
7552         * gst/gstclock.c: (gst_clock_class_init):
7553         * gst/gstindex.c: (gst_index_class_init):
7554         * gst/gstobject.c: (gst_object_class_init):
7555         * gst/gstpad.c: (gst_pad_class_init):
7556         * gst/gstpipeline.c: (gst_pipeline_class_init):
7557         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
7558         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init):
7559         * libs/gst/base/gstbasetransform.c:
7560         (gst_base_transform_class_init):
7561         * libs/gst/net/gstnetclientclock.c:
7562         (gst_net_client_clock_class_init):
7563         * libs/gst/net/gstnettimeprovider.c:
7564         (gst_net_time_provider_class_init):
7565         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init):
7566         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init):
7567         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init):
7568         * plugins/elements/gstfdsink.c: (gst_fd_sink_class_init):
7569         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
7570         * plugins/elements/gstfilesink.c: (gst_file_sink_class_init):
7571         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init):
7572         * plugins/elements/gstidentity.c: (gst_identity_class_init):
7573         * plugins/elements/gsttee.c: (gst_tee_class_init):
7574         * tests/old/examples/plugins/example.c: (gst_example_class_init):
7575         * tests/old/testsuite/threads/signals.c: (gst_test_class_init):
7576           G_OBJECT_CLASS macro usage batch cleanup, fixes #337747 for core
7577
7578 2006-05-11  Wim Taymans  <wim@fluendo.com>
7579
7580         * gst/gstbuffer.c: (_gst_buffer_initialize):
7581         Register subbufer along with the buffer type so that
7582         it does not accidentally gets registered from N
7583         different streaming threads in a non threadsafe way.
7584
7585 2006-05-10  Tim-Philipp Müller  <tim at centricular dot net>
7586
7587         * gst/gstbuffer.h:
7588         * gst/gstevent.h:
7589         * gst/gstmessage.h:
7590           Make gtk-doc generate docs for our inlined gst_buffer_ref(),
7591           gst_event_ref() and gst_message_ref() functions again
7592           (ugly hack, please do fix if there's a better way besides
7593           overrides.txt, which doesn't seem to work).
7594
7595 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
7596
7597         * libs/gst/check/gstcheck.h:
7598           add an assert for setting state to avoid lots of repetitive code
7599           in the future
7600
7601 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
7602
7603         * gst/gstvalue.c: (gst_value_serialize_flags):
7604           fix a leak if no flags are set
7605         * tests/check/gst/gstvalue.c: (GST_START_TEST):
7606           fix leak in tests
7607
7608 2006-05-10  Tim-Philipp Müller  <tim at centricular dot net>
7609
7610         * docs/manual/basics-pads.xml:
7611           Expand a bit on caps and filtered links and update
7612           examples that were still using the no longer existing
7613           gst_pad_link_filtered() (#338206).
7614
7615 2006-05-10  Wim Taymans  <wim@fluendo.com>
7616
7617         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
7618         (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
7619         (gst_collect_pads_set_flushing), (gst_collect_pads_start),
7620         (gst_collect_pads_stop):
7621         * libs/gst/base/gstcollectpads.h:
7622         No need to call _stop in _finalize.
7623         Iterate the main pad list in _finalize.
7624         Added some more debug.
7625         Free lists and data in the right order.
7626         Also free data whem doing _remove_pad when stopped for
7627         backward compatibility protect ::started with PAD_LOCK as
7628         well.
7629
7630 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
7631
7632         * gst/gststructure.c: (gst_structure_gtype_from_abbr),
7633         (gst_structure_parse_value):
7634           add some comments
7635           rename a method so that it actually says what it does better
7636
7637 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
7638
7639         * gst/gstevent.c: (_gst_event_initialize):
7640         * gst/gstformat.c: (_gst_format_initialize):
7641           make sure some essential types used by events are registered
7642           as part of gst_init()
7643         * gst/gstvalue.c: (gst_value_serialize_flags):
7644           if no flags are set, serialize them to a value that represents NONE
7645           so that deserializing them works
7646         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
7647           add tests for serialization and deserialization of flags
7648
7649 2006-05-10  Wim Taymans  <wim@fluendo.com>
7650
7651         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_collect),
7652         (gst_collect_pads_collect_range), (gst_collect_pads_available),
7653         (gst_collect_pads_check_pads), (gst_collect_pads_check_collected),
7654         (gst_collect_pads_event), (gst_collect_pads_chain):
7655         Update docs.
7656         Better debug info.
7657         Catch and return errors from the collect function
7658         Refuse data on eos pads.
7659
7660 2006-05-10  Edward Hervey  <edward@fluendo.com>
7661
7662         * gst/gstinterface.h:
7663         GST_IMPLEMENTS_INTERFACE and GST_IS_IMPLEMENTS_INTERFACE use the normal
7664         GInterface type checking.
7665         They were previously using non-defined macros.
7666
7667 2006-05-09  Wim Taymans  <wim@fluendo.com>
7668
7669         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_init),
7670         (gst_collect_pads_finalize), (gst_collect_pads_add_pad),
7671         (gst_collect_pads_remove_pad), (gst_collect_pads_set_flushing),
7672         (gst_collect_pads_start), (gst_collect_pads_stop),
7673         (gst_collect_pads_peek), (gst_collect_pads_pop),
7674         (gst_collect_pads_available), (gst_collect_pads_read),
7675         (gst_collect_pads_flush), (gst_collect_pads_check_pads),
7676         (gst_collect_pads_is_collected), (gst_collect_pads_event),
7677         (gst_collect_pads_chain):
7678         * libs/gst/base/gstcollectpads.h:
7679         Clean up the mess that is collectpads, add comments and
7680         FIXMEs where needed.
7681         Maintain a separate pad list so we can add pads while
7682         collecting the other ones. For this we need a new separate 
7683         lock (see comics).
7684         Fix memory leak in finalize.
7685         Refactor some weird code to set/unset pad flushing flags, mark
7686         with comments.
7687         Don't crash in _available, _read, _flush when we're EOS.
7688
7689         * tests/check/libs/.cvsignore:
7690         Ignore adapter check binary.
7691
7692 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
7693
7694         * gst/gstindex.c: (gst_index_resolver_get_type):
7695         * plugins/elements/gstfakesink.c:
7696         (gst_fake_sink_state_error_get_type):
7697         * plugins/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
7698         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type):
7699         * plugins/elements/gstqueue.c: (queue_leaky_get_type):
7700           Const-ify GEnumValue arrays.
7701
7702 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
7703
7704         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
7705           Add test case for flags + gst_buffer_make_metadata_writable().
7706
7707 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
7708
7709         * gst/gstbuffer.c: (gst_buffer_make_metadata_writable):
7710           gst_buffer_make_metadata_writable() should maintain the
7711           buffer flags (those that make sense at least) (see #340859).
7712
7713 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
7714
7715         * tools/gst-inspect.c:
7716         * tools/gst-launch.c:
7717         * tools/gst-typefind.c:
7718         * tools/gst-xmlinspect.c:
7719         * tools/tools.h:
7720           Fix up includes: need to include stdlib.h in tools.h for exit().
7721
7722 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
7723
7724         * gst/gsttaglist.c: (_gst_tag_initialize):
7725         * gst/gsttaglist.h:
7726           API: add GST_TAG_IMAGE tag (#340721).
7727
7728 2006-05-08  Wim Taymans  <wim@fluendo.com>
7729
7730         * gst/gstquery.c:
7731         Added some docs for the segment query.
7732
7733 2006-05-08  Wim Taymans  <wim@fluendo.com>
7734
7735         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
7736         (gst_base_src_loop), (gst_base_src_change_state):
7737         Always push non-flushing serialized events in the streaming 
7738         thread.
7739
7740 2006-05-08  Thomas Vander Stichele  <thomas at apestaart dot org>
7741
7742         * gst/gsterror.c: (_gst_stream_errors_init):
7743           Add a missing error string.
7744
7745 2006-05-08  Jan Schmidt  <thaytan@mad.scientist.com>
7746
7747         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment):
7748         Add applied_rate to the debug
7749
7750         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
7751         Copy applied_rate into the outgoing NEWSEGMENT event
7752
7753 2006-05-08  Wim Taymans  <wim@fluendo.com>
7754
7755         Patch by: Philippe Rouquier <philippero at libertysurf dot fr>
7756
7757         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_flushing),
7758         (gst_base_sink_change_state):
7759         call ::unlock before taking the PREROLL_LOCK so we can safely
7760         handle elements that lock in ::render.
7761         Fixes #340174.
7762
7763 2006-05-08  Edward Hervey  <edward@fluendo.com>
7764
7765         * autogen.sh: (CONFIGURE_DEF_OPT): 
7766         Darwin's libtoolize is in fact called glibtoolize.
7767         Adding glibtoolize to the list of accepted names for libtoolize.
7768
7769 2006-05-08  Wim Taymans  <wim@fluendo.com>
7770
7771         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
7772         Unify error handling, don't post an error message
7773         when a push() returns EOS but perform our normal EOS
7774         handling code. Fixes #340772.
7775
7776 2006-05-08  Wim Taymans  <wim@fluendo.com>
7777
7778         * docs/design/part-overview.txt:
7779         Make upsteam/downstream concepts more clear.
7780         Give an example of serialized/non-serialized events.
7781
7782         * docs/design/part-events.txt:
7783         * docs/design/part-streams.txt:
7784         Mention applied_rate.
7785
7786         * docs/design/part-trickmodes.txt:
7787         Mention applied rate, flesh out some more use cases.
7788
7789         * gst/gstevent.c: (gst_event_new_new_segment),
7790         (gst_event_parse_new_segment), (gst_event_new_new_segment_full),
7791         (gst_event_parse_new_segment_full), (gst_event_new_tag),
7792         (gst_event_parse_tag), (gst_event_new_buffer_size),
7793         (gst_event_parse_buffer_size), (gst_event_new_qos),
7794         (gst_event_parse_qos), (gst_event_parse_seek),
7795         (gst_event_new_navigation):
7796         * gst/gstevent.h:
7797         Add applied_rate field to NEWSEGMENT event.
7798         API: gst_event_new_new_segment_full()
7799         API: gst_event_parse_new_segment_full()
7800
7801         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_seek),
7802         (gst_segment_set_newsegment), (gst_segment_set_newsegment_full),
7803         (gst_segment_to_stream_time), (gst_segment_to_running_time):
7804         * gst/gstsegment.h:
7805         Add applied_rate to GstSegment structure.
7806         Make calculation of stream_time and running_time more correct
7807         wrt rate/applied_rate.
7808         Add some more docs.
7809         API: GstSegment::applied_rate field
7810         API: gst_segment_set_newsegment_full();
7811
7812         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
7813         (gst_base_sink_get_sync_times), (gst_base_sink_get_position):
7814         * libs/gst/base/gstbasetransform.c:
7815         (gst_base_transform_sink_eventfunc),
7816         (gst_base_transform_handle_buffer):
7817         Parse and use applied_rate in the GstSegment field.
7818
7819         * tests/check/gst/gstevent.c: (GST_START_TEST):
7820         Add check for applied_rate field.
7821
7822         * tests/check/gst/gstsegment.c: (GST_START_TEST),
7823         (gstsegments_suite):
7824         Add more checks for various GstSegment operations.
7825
7826 2006-05-08  Wim Taymans  <wim@fluendo.com>
7827
7828         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
7829         (gst_base_sink_do_sync), (gst_base_sink_chain_unlocked),
7830         (gst_base_sink_get_position), (gst_base_sink_change_state):
7831         Store the sync time of the buffer end position separatly in a
7832         new variable eos_rtime so we can properly sync the EOS event.
7833         Fixes #340697.
7834         Fix the docs for gst_base_sink_set_qos_enabled().
7835         Don't set segment start to invalid value when we receive a 
7836         non TIME newsegment.
7837         get closer to handling position reporting for negative rates 
7838         correctly.
7839
7840 2006-05-07  Stefan Kost  <ensonic@users.sf.net>
7841
7842         * gst/gstcaps.c:
7843         Docs about how to print caps for debug purposes.
7844
7845         * gst/gstpadtemplate.c: (gst_static_pad_template_get):
7846         use gst_caps_make_writable instead of gst_caps_copy, Fixes #340608
7847
7848 2006-05-07  Stefan Kost  <ensonic@users.sf.net>
7849
7850         * gst/gstelement.c:
7851           use full enum names and preprend a '%' in docs strings to make recent 
7852           gtk-doc turn that into a link
7853
7854 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
7855
7856         * docs/manual/basics-bins.xml:
7857         * docs/manual/basics-bus.xml:
7858         * docs/manual/basics-pads.xml:
7859           Some typo fixes, some additions, some clarifications. 
7860
7861 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
7862
7863         * tools/gst-inspect.c: (main):
7864         * tools/gst-launch.c: (main):
7865         * tools/gst-run.c: (main):
7866         * tools/gst-typefind.c: (main):
7867         * tools/gst-xmlinspect.c: (main):
7868           Use the string passed to g_option_context_new() for
7869           what it's intended for - the program name is already
7870           printed elsewhere.
7871
7872 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
7873
7874         * tools/Makefile.am:
7875         * tools/gst-inspect.c: (main):
7876         * tools/gst-launch.c: (main):
7877         * tools/gst-xmlinspect.c: (main):
7878         * tools/tools.h:
7879           Add back --version command line option (#340460).
7880
7881         * tools/gst-typefind.c: (have_type_handler), (typefind_file), (main):
7882           Add --version option and use GOption for argument parsing; refactor a
7883           bit; accept directories as arguments and recurse into them; lastly,
7884           print a decent error message when things go wrong.
7885
7886 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
7887
7888         * docs/manual/basics-bins.xml:
7889         Don't mention GstThread (#340611)
7890         * docs/manual/basics-elements.xml:
7891         Update link to GObject tutorial (#340607)
7892         
7893 2006-05-05  Wim Taymans  <wim@fluendo.com>
7894
7895         * gst/gstbuffer.h:
7896         * gst/gstminiobject.c:
7897         Add note about refcounting and miniobject/buffer writeability
7898         to docs. Fixes #340604
7899
7900         * gst/gstelementfactory.h:
7901         Added some explanation about @klass.
7902
7903 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
7904
7905         * docs/manual/intro-motivation.xml:
7906         * docs/manual/manual.xml:
7907         Avoid CORBA & Bonobo references (#340598)
7908
7909 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
7910
7911         * docs/manual/basics-bus.xml:
7912         * docs/manual/basics-pads.xml:
7913         Fix up some inaccuracies and omissions (#340609)
7914         
7915 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
7916
7917         * gst/gstghostpad.c:
7918           Small typo in docs (#340625)
7919
7920 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
7921
7922         * gst/parse/Makefile.am:
7923           Make 'make -j' proof (see #340698).
7924
7925 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
7926
7927         * configure.ac:
7928           Require GLib-2.8 here as well.
7929
7930 2006-05-05  Wim Taymans  <wim@fluendo.com>
7931
7932         * gst/glib-compat.c:
7933         * gst/gst.c: (init_pre):
7934         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
7935         (gst_object_unref), (gst_object_replace), (gst_object_dispose),
7936         (gst_object_dispatch_properties_changed):
7937         * gst/gstobject.h:
7938         * gst/gstregistryxml.c: (gst_registry_xml_read_cache):
7939         * gst/gststructure.c: (gst_structure_set_valist):
7940         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
7941         Remove pre glib2.8 compatibility, fixes #340508
7942
7943 2006-05-04  Tim-Philipp Müller  <tim at centricular dot net>
7944
7945         * gst/gsttaglist.h:
7946           Mention type of tags in doc blurbs.
7947
7948 2006-05-04  Jan Schmidt  <thaytan@mad.scientist.com>
7949
7950         * gst/gstpad.c: (gst_pad_init), (gst_pad_configure_sink),
7951         (gst_pad_configure_src), (gst_pad_push):
7952         Restore acceptcaps checking behaviour now that good plugins have
7953         been released.
7954
7955 2006-05-04  Tim-Philipp Müller  <tim at centricular dot net>
7956
7957         Patch by: James Andrewartha <trs80 at tartarus uwa edu au>
7958
7959         * gst/gst.c:
7960         * gst/gstbus.c:
7961         * gst/gstclock.c:
7962         * gst/gstevent.c:
7963         * gst/gstformat.c:
7964         * gst/gstmessage.c:
7965         * gst/gstparse.c:
7966         * gst/gstquery.c:
7967         * gst/gstutils.c:
7968         * gst/parse/Makefile.am:
7969         * libs/gst/base/gstadapter.c:
7970         * libs/gst/base/gstbasesrc.c:
7971         * libs/gst/base/gstpushsrc.c:
7972         * libs/gst/base/gsttypefindhelper.c:
7973         * plugins/elements/gstfakesrc.c:
7974         * plugins/elements/gstidentity.c:
7975           Make sure gstprivate.h and/or config.h are
7976           always included first, otherwise some of our
7977           defines (like _FILE_OFFSET_BITS) might be
7978           redefined in the system headers. Fixes build
7979           on opensolaris (#340016).
7980
7981 2006-05-04  Wim Taymans  <wim@fluendo.com>
7982
7983         * docs/libs/gstreamer-libs-sections.txt:
7984         API: addition: gst_adapter_take_buffer()
7985         
7986         * libs/gst/base/gstadapter.c: (gst_adapter_push),
7987         (gst_adapter_peek), (gst_adapter_take), (gst_adapter_take_buffer),
7988         (gst_adapter_available_fast):
7989         * libs/gst/base/gstadapter.h:
7990         Prepare for optimizing the hell out of this hugely inefficient
7991         piece of code. 
7992         Added gst_adapter_take_buffer() so we can at least start thinking
7993         about subbuffering and merging.
7994         Added some comments.
7995
7996         * tests/check/Makefile.am:
7997         * tests/check/libs/adapter.c: (GST_START_TEST),
7998         (gst_adapter_suite), (main):
7999         Added GstAdapter check.
8000
8001 2006-05-04  Wim Taymans  <wim@fluendo.com>
8002
8003         * docs/design/part-overview.txt:
8004         Fix some typos, add blurb about buffer flags.
8005
8006 2006-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
8007
8008         * docs/libs/gstreamer-libs-sections.txt:
8009           make sure GstBaseTransformClass shows up in the docs
8010         * libs/gst/base/gstbasetransform.c:
8011         * libs/gst/base/gstbasetransform.h:
8012           move docs so gtk-doc picks it up now
8013
8014 2006-05-02  Stefan Kost  <ensonic@users.sf.net>
8015
8016         * docs/libs/gstreamer-libs-sections.txt:
8017           add missing symbols to docs
8018
8019 2006-05-02  Stefan Kost  <ensonic@users.sf.net>
8020
8021         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
8022           back out the newsegment handling change, see #340060 for ongoing
8023           discussion
8024
8025 2006-04-30  Tim-Philipp Müller  <tim at centricular dot net>
8026
8027         * tools/gst-run.c: (get_candidates), (main):
8028           Fix wrong g_file_test() usage (see glib docs for why it doesn't
8029           work); fix typo in error message. Fixes #340079.
8030
8031 2006-04-29  Thomas Vander Stichele  <thomas at apestaart dot org>
8032
8033         * common/Makefile.am:
8034         * docs/Makefile.am:
8035         * docs/faq/Makefile.am:
8036         * docs/gst/Makefile.am:
8037         * docs/libs/Makefile.am:
8038         * docs/manual/Makefile.am:
8039         * docs/plugins/Makefile.am:
8040         * docs/pwg/Makefile.am:
8041         * docs/slides/Makefile.am:
8042         * docs/upload.mak:
8043         * common/upload.mak:
8044           move upload.mak to common
8045
8046 2006-04-29  Thomas Vander Stichele  <thomas at apestaart dot org>
8047
8048         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
8049           add more asserts on refcounts
8050           do more cleanup at end of tests
8051           fix test leaks showing in FC5
8052
8053 2006-04-29  Stefan Kost  <ensonic@users.sf.net>
8054
8055         * plugins/elements/gsttypefindelement.c:
8056         (gst_type_find_element_handle_event):
8057         reverted wrong change and reflowed code to avoid others falling into
8058         this trap
8059
8060 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
8061
8062         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
8063           fix changelog entry about last collectpads change,
8064           add notes about proper fix
8065
8066 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
8067
8068         * gst/gst.c:
8069         * gst/gstregistry.c: (gst_registry_scan_path_level),
8070         (gst_registry_scan_path):
8071         * gst/gstregistry.h:
8072           only write out registry if it has changed, fixes #338339
8073
8074 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
8075
8076         * gst/gstbin.c:
8077         * gst/gstpipeline.c:
8078         * plugins/elements/gstcapsfilter.c:
8079         * plugins/elements/gstfakesink.c:
8080         * plugins/elements/gstfakesrc.c:
8081         * plugins/elements/gstfdsink.c:
8082         * plugins/elements/gstfdsrc.c:
8083         * plugins/elements/gstfilesink.c:
8084         * plugins/elements/gstfilesrc.c:
8085         * plugins/elements/gstidentity.c:
8086         * plugins/elements/gstqueue.c:
8087         * plugins/elements/gsttee.c:
8088         * plugins/elements/gsttypefindelement.c:
8089         (gst_type_find_element_handle_event):
8090           make GstElementDetails const
8091
8092 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
8093
8094         * libs/gst/base/gstbasesink.c: (gst_base_sink_event):
8095         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
8096         (gst_collect_pads_is_collected), (gst_collect_pads_event):
8097           more detailed debug and formatting cleanup,
8098           forward newsegments to src-pad (so that e.g. adder not eats them)
8099
8100 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
8101
8102         * gst/gstutils.c: (gst_element_link_pads):
8103           cleanup double code
8104
8105 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
8106
8107         * libs/gst/controller/gstcontroller.c:
8108         (gst_controller_sync_values):
8109           some little tuning
8110         * tests/check/libs/controller.c: (GST_START_TEST),
8111         (gst_controller_suite):
8112           a new test for live value handling
8113
8114 2006-04-28  Wim Taymans  <wim@fluendo.com>
8115
8116         * gst/gstutils.c: (push_and_ref):
8117         Added some more docs.
8118         Fix refcount issue whith gst_element_found_tags() helper 
8119         function. Fixes #338335
8120
8121         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
8122         Added testsuite for gst_element_found_tags().
8123
8124 2006-04-28  Michael Smith  <msmith@fluendo.com>
8125
8126         * gst/gstvalue.c: (gst_value_serialize_flags):
8127           Avoid NULL dereference when trying to serialize flags containing
8128           invalid values.
8129
8130 2006-04-28  Michael Smith  <msmith@fluendo.com>
8131
8132         * plugins/elements/gsttypefindelement.c:
8133         (gst_type_find_element_handle_event):
8134           If we get EOS before any data is accumulated, don't use
8135           uninitialised local variables.
8136
8137 2006-04-28  Michael Smith  <msmith@fluendo.com>
8138
8139         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
8140         (gst_dp_event_from_packet):
8141           Fixes in reading/writing events over GDP (not currently used?) - 
8142           dereferencing NULL events for unknown/invalid event types, memory
8143           leak, and change g_warning to GST_WARNING.
8144
8145 2006-04-28  Wim Taymans  <wim@fluendo.com>
8146
8147         * libs/gst/base/gstbasesink.c: (gst_base_sink_is_too_late),
8148         (gst_base_sink_do_render_stats), (gst_base_sink_render_object),
8149         (gst_base_sink_get_position), (gst_base_sink_change_state):
8150         When frame dropping is enabled, we should not ignore frames
8151         without a duration.
8152         Update some documentation.
8153
8154 2006-04-28  Wim Taymans  <wim@fluendo.com>
8155
8156         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
8157         (gst_base_src_send_event), (gst_base_src_change_state):
8158         Documentation updates.
8159
8160 2006-04-28  Wim Taymans  <wim@fluendo.com>
8161
8162         * plugins/elements/gstfdsink.c: (gst_fd_sink_render),
8163         (gst_fd_sink_check_fd), (gst_fd_sink_update_fd):
8164         handle EAGAIN, EINTR and short writes correctly. Also clean
8165         up some error cases, avoid a deadlock on bad file descriptors and
8166         use GST_DEBUG_OBJECT.
8167         Fixes #339843
8168
8169 2006-04-28  Wim Taymans  <wim@fluendo.com>
8170
8171         * gst/gstvalue.c: (gst_value_serialize_buffer),
8172         (gst_value_deserialize_buffer):
8173         Don't try to serialize a GValue with a NULL buffer. 
8174         Fixes #339821.
8175
8176         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
8177         Added check for serialisation of NULL buffers.
8178
8179 2006-04-28  Wim Taymans  <wim@fluendo.com>
8180
8181         * gst/gstminiobject.c: (gst_value_take_mini_object):
8182         Taking a NULL miniobject is valid, fix the case where
8183         we try to unref the NULL miniobject.
8184
8185 2006-04-28  Wim Taymans  <wim@fluendo.com>
8186
8187         Patch by: Stefan Kost <ensonic at sonicpulse dot de>
8188
8189         * gst/gstbin.c: (gst_bin_handle_message_func):
8190         Update docs.
8191         Don't leak bin refcount when a state recalc is
8192         in progress and we delay another one #339808.
8193
8194 2006-04-28  Wim Taymans  <wim@fluendo.com>
8195
8196         * docs/design/part-TODO.txt:
8197         Mention QoS as an ongoing work item.
8198
8199         * docs/design/part-buffering.txt:
8200         New doc about buffering that needs to be fleshed out
8201         at some point.
8202
8203         * docs/design/part-qos.txt:
8204         More QoS policy for decoders/demuxers/transforms
8205
8206         * docs/design/part-trickmodes.txt:
8207         Small update.
8208
8209 2006-04-28  Thomas Vander Stichele  <thomas at apestaart dot org>
8210
8211         * configure.ac:
8212           back to HEAD
8213
8214 === release 0.10.5 ===
8215
8216 2006-04-28  Thomas Vander Stichele <thomas at apestaart dot org>
8217
8218         * configure.ac:
8219           releasing 0.10.5, "Fogo"
8220
8221 2006-04-22  Thomas Vander Stichele  <thomas at apestaart dot org>
8222
8223         patch by: Wim Taymans
8224
8225         * gst/gstpad.c: (gst_pad_init), (gst_pad_configure_sink),
8226         (gst_pad_configure_src), (gst_pad_push):
8227         * gst/gstpipeline.c: (gst_pipeline_init):
8228           Fix internal data flow errors.  Fixes #338711.
8229
8230 2006-04-12  Wim Taymans  <wim@fluendo.com>
8231
8232         * tests/check/gst/gstelement.c: (GST_START_TEST):
8233         Don't leak the factory.
8234
8235 2006-04-12  Thomas Vander Stichele  <thomas at apestaart dot org>
8236
8237         * configure.ac:
8238         * win32/common/config.h:
8239           prerelease
8240
8241 2006-04-12  Tim-Philipp Müller  <tim at centricular dot net>
8242
8243         * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
8244         (gst_controller_unset_all):
8245           Free allocated GstTimedValues when freeing list nodes.
8246           Should fix leaks 'make check-valgrind' complains about.
8247
8248         * win32/common/libgstcontroller.def:
8249           Add gst_controller_unset_all.
8250
8251 2006-04-11  Stefan Kost  <ensonic@users.sf.net>
8252
8253         * docs/libs/gstreamer-libs-sections.txt:
8254         * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
8255         (gst_controller_unset_all):
8256         * libs/gst/controller/gstcontroller.h:
8257         API: Added new method gst_controller_unset_all()
8258         fixed gst_controller_unset()
8259         * tests/check/libs/controller.c: (GST_START_TEST),
8260         (gst_controller_suite):
8261         Added two testcases for new and fixed method
8262
8263 2006-04-11  Tim-Philipp Müller  <tim at centricular dot net>
8264
8265         * libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send):
8266           MSG_DONTWAIT is not defined on Cygwin, so work
8267           around that (fixes #317048).
8268           
8269 2006-04-11  Wim Taymans  <wim@fluendo.com>
8270
8271         * gst/gstelementfactory.c: (gst_element_register),
8272         (gst_element_factory_create), (gst_element_factory_make):
8273         Some cleanups.
8274         Fixed a FIXME.
8275         Updated docs (Fixes #131079)
8276
8277         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
8278         Small cleanups.
8279
8280         * tests/check/gst/gstelement.c: (GST_START_TEST),
8281         (gst_element_suite):
8282         Added testcase for elementfactory class field.
8283
8284 2006-04-10  Wim Taymans  <wim@fluendo.com>
8285
8286         * gst/gstsegment.c:
8287         Added some more docs.
8288
8289         * libs/gst/base/gstbasesink.c: (gst_base_sink_perform_qos),
8290         (gst_base_sink_reset_qos):
8291         Calculate more accurate rate values.
8292
8293 2006-04-09  Sebastien Moutte  <sebastien@moutte.net>
8294
8295         * gst/gst_private.h:
8296           add a new #ifdef to use __declspec(dllimport) only for
8297           other modules and not for gstreamer core
8298         * gst/gstbasesink.c: (gst_base_sink_perform_qos):
8299           use gst_guint64_to_gdouble for conversion
8300         * win32/common/libgstreamer.def:
8301           add new exported functions
8302         * win32/vs6/gst_inspect.dsp:
8303         * win32/vs6/gst_launch.dsp:
8304         * win32/vs6/libgstbase.dsp:
8305         * win32/vs6/libgstcontroller.dsp:
8306         * win32/vs6/libgstcoreelements.dsp:
8307         * win32/vs6/libgstdataprotocol.dsp:
8308         * win32/vs6/libgstnet.dsp:
8309           update project files
8310
8311 2006-04-08  Stefan Kost  <ensonic@users.sf.net>
8312
8313         * gst/gstbuffer.c: (gst_subbuffer_class_init):
8314         * gst/gstclock.c: (gst_clock_class_init):
8315         * gst/gstelement.c: (gst_element_class_init):
8316         * gst/gstindex.c: (gst_index_class_init):
8317         * gst/gstindexfactory.c: (gst_index_factory_class_init):
8318         * gst/gstobject.c: (gst_object_class_init),
8319         (gst_signal_object_class_init):
8320         * gst/gstpad.c: (gst_pad_class_init):
8321         * gst/gstpadtemplate.c: (gst_pad_template_class_init):
8322         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init):
8323         * gst/gstregistry.c: (gst_registry_class_init):
8324         * gst/gstsystemclock.c: (gst_system_clock_class_init):
8325         * gst/gsttask.c: (gst_task_class_init):
8326         * gst/gstxml.c: (gst_xml_class_init):
8327         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
8328         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
8329         (gst_base_src_loop):
8330         * libs/gst/controller/gstcontroller.c:/
8331         (_gst_controller_class_init):
8332         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
8333         * plugins/indexers/gstfileindex.c: (gst_file_index_class_init):
8334         * plugins/indexers/gstmemindex.c: (gst_mem_index_class_init):
8335         * tests/old/examples/plugins/example.c: (gst_example_class_init):
8336         * tests/old/testsuite/threads/signals.c: (gst_test_class_init):
8337         Fix #337365 (g_type_class_ref <-> g_type_class_peek_parent)
8338
8339 2006-04-08  Tim-Philipp Müller  <tim at centricular dot net>
8340
8341         * gst/gstpad.c: (gst_pad_link):
8342           Must set peer pads before calling the link function, otherwise
8343           a task started from a link function might get a flow-not-linked
8344           result when trying to push because the other thread where the
8345           linking happens hasn't had a chance to set the peers yet. This
8346           might happen for example when a queue gets linked to a downstream
8347           element, as queue starts a streaming task when its source pad
8348           gets linked. Happens in real life when playing back flac/musepack
8349           files in playbin (#332390).
8350           
8351 2006-04-08  Stefan Kost  <ensonic@users.sf.net>
8352
8353         * gst/gstindex.h:
8354         * gst/gstxml.h:
8355         * libs/gst/base/gstadapter.h:
8356         * libs/gst/base/gstbasesink.h:
8357         * libs/gst/base/gstbasesrc.h:
8358         * libs/gst/base/gstbasetransform.h:
8359         * libs/gst/base/gstcollectpads.h:
8360         * libs/gst/base/gstpushsrc.h:
8361         Fix broken GObject macros
8362
8363 2006-04-07  Wim Taymans  <wim@fluendo.com>
8364
8365         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
8366         Initialize start and stop times, thanks valgrind.
8367
8368 2006-04-07  Wim Taymans  <wim@fluendo.com>
8369
8370         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
8371         Be a bit nicer to badly behaving upstream elements that expect
8372         us to deal with non TIME segments and timestamps (such as fakesrc
8373         in the testsuite).
8374
8375 2006-04-07  Wim Taymans  <wim@fluendo.com>
8376
8377         * gst/gstbus.c:
8378         Small documentation clarification about the signal watch.
8379
8380         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
8381         (gst_base_sink_wait_clock), (gst_base_sink_do_sync),
8382         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
8383         (gst_base_sink_do_render_stats), (gst_base_sink_render_object),
8384         (gst_base_sink_get_position_last),
8385         (gst_base_sink_get_position_paused), (gst_base_sink_change_state):
8386         Convert and store timestamps in stream time and running time, the
8387         raw timestamps are not useful, also document this better.
8388         Use different window sizes for good and bad QoS observations so
8389         we react to badness a little quicker.
8390         Keep track of the amount of rendered and dropped buffers.
8391         Send QoS timestamps in running time.
8392
8393         * libs/gst/base/gstbasetransform.c:
8394         (gst_base_transform_sink_eventfunc),
8395         (gst_base_transform_handle_buffer):
8396         Compare QoS timestamps against running time.
8397
8398 2006-04-06  Tim-Philipp Müller  <tim at centricular dot net>
8399
8400         * gst/gstpad.c:
8401           Typo fixes in docs.
8402
8403 2006-04-06  Michael Smith  <msmith@fluendo.com>
8404
8405         * gst/gstpad.c: (gst_pad_set_property):
8406           Use g_value_get_object() instead of g_value_dup_gst_object(),
8407           to avoid double-reffing the pad template (which we then sink,
8408           so this worked previously if (and only if) the pad template
8409           was floating.
8410
8411         * gst/gstpadtemplate.c: (gst_pad_template_init),
8412         (gst_pad_template_pad_created):
8413           Never return floating references to pad templates, create
8414           them as initially-sunken.
8415
8416           Document an extra function (and make this stop sinking our
8417           pad template, since that is now guaranteed to do nothing,
8418           since we created it sunken).
8419
8420         * gst/gstghostpad.c:
8421           Fix docs typo.
8422
8423 2006-04-06  Tim-Philipp Müller  <tim at centricular dot net>
8424
8425         * gst/gstinfo.c: (__gst_in_valgrind):
8426           Add some newlines.
8427
8428         * plugins/elements/gsttypefindelement.c:
8429         (gst_type_find_element_chain):
8430           Don't leak buffer caps.
8431
8432 2006-04-06  Michael Smith  <msmith@fluendo.com>
8433
8434         * gst/parse/grammar.y:
8435           Fix a leak in parse-launch for any source-or-sink named element 
8436           references used.
8437
8438         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe):
8439           Unref the pipeline if it exists after we've failed parsing.
8440
8441 2006-04-05  Michael Smith  <msmith@fluendo.com>
8442
8443         * gst/gstpipeline.c: (gst_pipeline_init):
8444           When we create a pipeline bus, initially create it in flushing mode.
8445           Fixes leaks in at least one test, and makes a new pipeline work the
8446           same as one that has gone to READY and then back to NULL.
8447
8448         * gst/gstelement.c:
8449           Typo fix in docs.
8450
8451 2006-04-05  Michael Smith  <msmith@fluendo.com>
8452
8453         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
8454           Unref a pad we reffed.
8455         * tests/check/gst/gstutils.c: (GST_START_TEST):
8456           Unref bins
8457
8458 2006-04-05  Michael Smith  <msmith@fluendo.com>
8459
8460         * gst/gstquery.c: (gst_query_set_formats),
8461         (gst_query_set_formatsv):
8462           Fix leaking GValues in queries, as shown by valgrind/testsuite.
8463
8464 2006-04-05  Michael Smith  <msmith@fluendo.com>
8465
8466         * tests/check/generic/sinks.c: (GST_START_TEST):
8467           Fix a variety of memleaks in sinks check, which are only sometimes 
8468           shown by running the tests under valgrind (weird?).
8469
8470 2006-04-05  Jan Schmidt  <thaytan@mad.scientist.com>
8471
8472         * docs/version.entities.in:
8473           Fix the substituted entity name after thomas' changes on the
8474           weekend.
8475
8476 2006-04-05  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
8477
8478         * gst/gstinfo.c: (__gst_in_valgrind): Use printf instead of
8479         VALGRIND_PRINTF
8480         
8481 2006-04-05  Andy Wingo  <wingo@pobox.com>
8482
8483         * gst/gstpad.c (gst_pad_set_blocked_async): More debug.
8484
8485         * libs/gst/base/gstbasetransform.c
8486         (gst_base_transform_sink_eventfunc): When resetting our segment on
8487         FLUSH_STOP, also update the flag saying we haven't seen a
8488         newsegment.
8489
8490 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
8491
8492         Patch by: Paolo Borelli  <pborelli at katamail dot com>
8493
8494         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
8495         (gst_plugin_check_license):
8496           minor clean-ups: G_DEFINE_TYPE already takes care of the
8497           parent_class stuff, no need to do it twice. Mark array of
8498           license strings as constant. (#337103)
8499           
8500 2006-04-04  Michael Smith  <msmith@fluendo.com>
8501
8502         * tools/gst-inspect.c: (print_element_list):
8503           Free the right plugin list; fixes a memory leak.
8504
8505 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
8506
8507         Patch by: Mark Nauwelaerts  <manauw at skynet dot be>
8508
8509         * plugins/elements/gstfilesink.c: (gst_file_sink_render):
8510           Don't error out on empty buffers (#336945).
8511           
8512 2006-04-04  Jan Schmidt  <thaytan@mad.scientist.com>
8513
8514         * docs/libs/gstreamer-libs-sections.txt:
8515         * gst/gsttaglist.c:
8516         * libs/gst/base/gstbasesink.c:
8517         * libs/gst/base/gstbasesink.h:
8518         * libs/gst/base/gstbasesrc.c:
8519         * libs/gst/base/gstbasesrc.h:
8520           Documentation updates. Make BaseSink and BaseSrc docs contain the
8521           class structure so that people can actually see the prototypes for
8522           virtual functions they're supposed to be overriding.
8523
8524 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
8525
8526         * plugins/elements/gsttypefindelement.c:
8527         (gst_type_find_element_chain):
8528           More debug info; when skipping typefinding, send cached
8529           events in all cases.
8530
8531 2006-04-01  Thomas Vander Stichele  <thomas at apestaart dot org>
8532
8533         * configure.ac:
8534           use new AS_VERSION and AS_NANO macros
8535         * gst/gst-i18n-lib.h:
8536         * gst/gst.c:
8537         * gst/gsterror.c:
8538         * gst/gstversion.h.in:
8539         * win32/common/config.h:
8540         * win32/common/config.h.in:
8541           update accordingly
8542
8543 2006-03-31  Michael Smith  <msmith@fluendo.com>
8544
8545         * plugins/elements/gsttypefindelement.c:
8546         (gst_type_find_element_chain):
8547           Do not typefind content if the buffers already have caps.
8548           Neccesary for icydemux (#333657), and the right thing to do anyway.
8549
8550 2006-03-30  Wim Taymans  <wim@fluendo.com>
8551
8552         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
8553         (gst_base_sink_finalize), (gst_base_sink_set_qos_enabled),
8554         (gst_base_sink_is_qos_enabled), (gst_base_sink_do_sync),
8555         (gst_base_sink_record_qos_observation),
8556         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
8557         (gst_base_sink_is_too_late), (gst_base_sink_render_object),
8558         (gst_base_sink_change_state):
8559         More QoS measurements as described in the design doc.
8560         Get rid of ringbuffer with observations, running average is
8561         more simple and equally good.
8562         Calculates valid proportion now.
8563         Added beginning of flood measurement.
8564
8565 2006-03-29  Wim Taymans  <wim@fluendo.com>
8566
8567         * docs/design/part-qos.txt:
8568         * gst/gstclock.c:
8569         Small documentation updates and additions.
8570
8571 2006-03-29  Wim Taymans  <wim@fluendo.com>
8572
8573         * libs/gst/base/gstbasesrc.c: (gst_base_src_finalize),
8574         (gst_base_src_send_event), (gst_base_src_loop),
8575         (gst_base_src_change_state):
8576         Perform the EOS logic when we reach the segment stop position.
8577         Fix compilation on gcc4.1
8578
8579 2006-03-29  Wim Taymans  <wim@fluendo.com>
8580
8581         Patch by: Tommi Myöhänen <ext-tommi dot myohanen at nokia dot com>
8582
8583         * plugins/elements/gstqueue.c: (gst_queue_init),
8584         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
8585         (gst_queue_set_property):
8586         * plugins/elements/gstqueue.h:
8587         In queue, when EOS is received, if minimum threshold > max_size -
8588         current_level, there is chance that queue blocks forever in conditional
8589         item del wait. This is because the queue is not emptied completely due
8590         to minimum threshold.  Here is another approach. Instead of setting
8591         cur_levels to max in EOS, just zero all minimum threshold levels. This
8592         should make sure that queue gives out all data. When going to READY
8593         (stop) state, just reset the original minimum threshold levels.
8594         Fixes #336336.
8595
8596 2006-03-29  Tim-Philipp Müller  <tim at centricular dot net>
8597
8598         * plugins/elements/gsttypefindelement.c: (stop_typefinding),
8599         (gst_type_find_element_handle_event),
8600         (gst_type_find_element_send_cached_events),
8601         (gst_type_find_element_change_state):
8602         * plugins/elements/gsttypefindelement.h:
8603           When typefinding is done in push mode, we should cache
8604           events we receive during typefinding instead of just
8605           dropping them (e.g. newsegment, custom events from
8606           dvdreadsrc etc.) and then send them out once we've
8607           determined the type of the stream (and decodebin
8608           has had a chance to plug in a decoder/demuxer).
8609           
8610 2006-03-27  Wim Taymans  <wim@fluendo.com>
8611
8612         * docs/design/part-qos.txt:
8613         First QoS ideas.
8614
8615 2006-03-27  Wim Taymans  <wim@fluendo.com>
8616
8617         Inspired by a patch of: Lutz Mueller <lutz at topfrose dot de>
8618
8619         * libs/gst/base/gstbasesrc.c: (gst_base_src_finalize),
8620         (gst_base_src_send_event), (gst_base_src_change_state):
8621         Handle element seek correctly when we are streaming.
8622         Fixes #326998.
8623
8624 2006-03-24  Michael Smith  <msmith@fluendo.com>
8625
8626         * docs/faq/gst-uninstalled:
8627           Set up LD_LIBRARY_PATH to point at all the gstreamer libs. This will
8628           allow you to correctly run intalled applications built against old 
8629           core, using plugins that require updated core (e.g. running
8630           installed totem against a full uninstalled gstreamer stack)
8631
8632 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
8633
8634         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
8635         more debug details
8636
8637 2006-03-24  Wim Taymans  <wim@fluendo.com>
8638
8639         * docs/gst/gstreamer-sections.txt:
8640         Rearrange the order of the methods so that related methods
8641         are grouped together in sections.
8642
8643 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
8644
8645         * gst/gstelement.c:
8646           Little clarification in the docs
8647
8648 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
8649
8650         * docs/README:
8651         formatting fix
8652         * plugins/elements/gstidentity.c:
8653         * plugins/elements/gstqueue.c:
8654         * plugins/elements/gsttee.c:
8655         * plugins/elements/gsttypefindelement.c:
8656         GST_ELEMENT_DETAILS formatting
8657
8658 2006-03-24  Wim Taymans  <wim@fluendo.com>
8659
8660         * libs/gst/base/gstbasesink.h:
8661         Only add fields, not insert or we break ABI.
8662
8663 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
8664
8665         * win32/common/libgstbase.def:
8666         * win32/common/libgstreamer.def:
8667           Update, add recently added functions.
8668
8669 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
8670
8671         * docs/gst/gstreamer-sections.txt:
8672         * gst/gstutils.c: (gst_pad_query_peer_position),
8673         (gst_pad_query_peer_duration), (gst_pad_query_peer_convert):
8674         * gst/gstutils.h:
8675           API: add some new utility functions:
8676            - gst_pad_query_peer_position()
8677            - gst_pad_query_peer_duration()
8678            - gst_pad_query_peer_convert()
8679           
8680 2006-03-23  Wim Taymans  <wim@fluendo.com>
8681
8682         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
8683         (gst_base_sink_init), (gst_base_sink_finalize),
8684         (gst_base_sink_set_qos_enabled), (gst_base_sink_is_qos_enabled),
8685         (gst_base_sink_set_property), (gst_base_sink_get_property),
8686         (gst_base_sink_commit_state), (gst_base_sink_get_sync_times),
8687         (gst_base_sink_wait_clock), (gst_base_sink_do_sync),
8688         (gst_base_sink_add_qos_observation), (gst_base_sink_send_qos),
8689         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
8690         (gst_base_sink_is_too_late), (gst_base_sink_render_object),
8691         (gst_base_sink_preroll_object), (gst_base_sink_event),
8692         (gst_base_sink_chain_unlocked), (gst_base_sink_get_position_last),
8693         (gst_base_sink_get_position_paused), (gst_base_sink_get_position),
8694         (gst_base_sink_query), (gst_base_sink_change_state):
8695         Decouple max-lateness and the fact that QoS messages are generated
8696         with a new property (qos).
8697         added API: GstBaseSink::async_play()
8698         Add vmethod so subclasses can be notified of ASYNC playing
8699         state changes.
8700         Collect timestamp start and stop to report better current
8701         position in EOS/PLAYING/PAUSED/READY/NULL.
8702         Refactor QoS/frame dropping and other measurements.
8703         API: GstBaseSrc::qos
8704         Fixes #326311
8705
8706         * libs/gst/base/gstbasesink.h:
8707         Added Private struct.
8708         API: gst_base_sink_set_qos_enabled()
8709         API: gst_base_sink_is_qos_enabled()
8710
8711 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
8712
8713         * gst/gstregistryxml.c: (gst_registry_xml_read_cache):
8714           If compiling against GLib-2.8 or newer, try to read the
8715           registry file using GMappedFile first before falling back
8716           to fopen() + fread() (#332151).
8717
8718 2006-03-22  Wim Taymans  <wim@fluendo.com>
8719
8720         * gst/gstinfo.c: (gst_debug_set_active),
8721         (gst_debug_category_set_threshold):
8722         Disable debugging unless explicitly activated.
8723         Fixes #335480.
8724
8725 2006-03-22  Wim Taymans  <wim@fluendo.com>
8726
8727         * gst/gstelement.c: (gst_element_set_locked_state),
8728         (gst_element_dispose):
8729         Cleanup the error case.
8730
8731         * gst/gstobject.c: (gst_object_dispose):
8732         print a critical when some object was disposed with
8733         a parent, also revive the object since it might
8734         crash the parent.
8735
8736 2006-03-22  Tim-Philipp Müller  <tim at centricular dot net>
8737
8738         * tools/gst-launch.1.in:
8739           Fix another typo.
8740
8741 2006-03-21  Thomas Vander Stichele  <thomas at apestaart dot org>
8742
8743         * configure.ac:
8744         * tests/check/Makefile.am:
8745           disable some tests when we don't have a registry
8746         * tests/check/gst/gstutils.c: (gst_utils_suite):
8747           don't build the part that needs parsing
8748
8749 2006-03-21  Thomas Vander Stichele  <thomas at apestaart dot org>
8750
8751         * gst/Makefile.am
8752         * tests/examples/Makefile.am:
8753           fix --disable-parse build
8754
8755 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
8756
8757         * tools/gst-feedback.1.in:
8758           Fix typo: s/feeback/feedback/ (#133494).
8759
8760 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
8761
8762         * tools/Makefile.am:
8763         * tools/gst-launch.1.in:
8764           Add FILES section and correct entry about GST_REGISTRY_PATH
8765           environment variable (#133495; #133494).
8766
8767 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
8768
8769         * tools/Makefile.am:
8770         * tools/gst-md5sum.1.in:
8771         * tools/gst-md5sum.c:
8772           Remove gst-md5sum and man page (the md5sink element
8773           required was removed ages ago)
8774
8775 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
8776
8777         * gst/gststructure.c: (gst_structure_id_set_value):
8778           Make sure that string fields in structures/taglists
8779           contain valid UTF-8 - we don't want to pass rubbish to
8780           applications because of a buggy plugin (cp. #334167).
8781
8782 2006-03-21  Edward Hervey  <edward@fluendo.com>
8783
8784         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
8785         (gst_bin_handle_message_func):
8786         * gst/gstclock.c: (gst_clock_dispose), (gst_clock_set_master):
8787         * gst/gstelement.c: (gst_element_set_clock), (gst_element_dispose),
8788         (gst_element_set_bus_func):
8789         * gst/gstghostpad.c: (gst_proxy_pad_dispose):
8790         * gst/gstminiobject.c: (gst_value_set_mini_object),
8791         (gst_value_take_mini_object):
8792         * gst/gstpad.c: (gst_pad_set_pad_template):
8793         * gst/gstpipeline.c: (gst_pipeline_dispose),
8794         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
8795         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop),
8796         (gst_collect_pads_chain):
8797         * libs/gst/net/gstnettimeprovider.c:
8798         (gst_net_time_provider_set_property):
8799         Series of fixes for dereferenced pointers that gcc 4.1 complains about.
8800         It's in fact all issues with gst_*object_replace().
8801
8802 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
8803
8804         Patch by: Loïc Minier  <lool + gnome at via dot ecp dot fr>
8805         
8806         * pkgconfig/gstreamer-check-uninstalled.pc.in:
8807         * pkgconfig/gstreamer-check.pc.in:
8808           Use @CHECK_LIBS@ here instead of hard-coding -lcheck (#334109).
8809
8810 2006-03-21  Edward Hervey  <edward@fluendo.com>
8811
8812         * gst/gstbuffer.h:
8813         * gst/gstevent.h:
8814         * gst/gstmessage.h:
8815         gst_[buffer|event|message]_ref() macros are replaced by a static
8816         inline functions because gcc-4.1 will about if the return value
8817         isn't used.
8818         * tests/check/gst/gstevent.c: (event_probe):
8819         gst_event_ref now has to be given a GstEvent* , fix check accordingly.
8820
8821 2006-03-20  Jan Schmidt  <thaytan@mad.scientist.com>
8822
8823         * gst/gstutils.h:
8824         Add G_UNLIKELY to our boilerplate to optimise the 'already registered
8825         the type' case. (Closes: #335195 for now). In the future, when we
8826         depend on GLib 2.10, we could also intern the type name using
8827         g_intern_static_string()
8828
8829 2006-03-20  Wim Taymans  <wim@fluendo.com>
8830
8831         * gst/gstbin.c: (gst_bin_handle_message_func),
8832         (bin_query_max_init), (bin_query_position_fold),
8833         (bin_query_position_done), (gst_bin_query):
8834         Position query should also take max of all streams.
8835
8836 2006-03-20  Wim Taymans  <wim@fluendo.com>
8837
8838         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
8839         (gst_fake_src_finalize):
8840         Fix leaks in fakesrc.
8841
8842         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
8843         Fix leaks in the testcase.
8844
8845 2006-03-19  Sebastien Moutte  <sebastien@moutte.net>
8846
8847         * gst/gst_private.h:
8848           add win32 specific import decoration(__declspec(dllimport)) 
8849           for all extern GstDebugCategory * variables
8850         * win32/common/libgstbase.def:
8851         * win32/common/libgstcontroller.def:
8852         * win32/common/libgstreamer.def:
8853           Add some exports, remove empty lines
8854         * win32/common/libgstdataprotocol.def:
8855         * win32/common/libgstdataprotocol.dsp:
8856         * win32/common/libgstnet.def:
8857         * win32/common/libgstnet.dsp:
8858           new project files and exportation files added
8859         
8860 2006-03-19  Wim Taymans  <wim@fluendo.com>
8861
8862         * tests/check/libs/basesrc.c: (eos_event_counter):
8863         Use proper return value for probe.
8864
8865 2006-03-17  Wim Taymans  <wim@fluendo.com>
8866
8867         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_alloc_buffer_full),
8868         (gst_pad_push):
8869         Don't leak buffers, caps and pads on negotiation errors.
8870
8871 2006-03-16  Stefan Kost  <ensonic@users.sf.net>
8872
8873         * docs/faq/cvs.xml:
8874         * docs/faq/dependencies.xml:
8875         * docs/faq/developing.xml:
8876         * docs/faq/faq.xml:
8877         * docs/faq/general.xml:
8878         * docs/faq/getting.xml:
8879         * docs/faq/legal.xml:
8880         * docs/faq/troubleshooting.xml:
8881         * docs/faq/using.xml:
8882         Faq review and update.
8883
8884 2006-03-16  Jan Schmidt  <thaytan@mad.scientist.com>
8885
8886         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_alloc_buffer_full),
8887         (gst_pad_push):
8888         Don't pound the cpu to pieces by checking get_caps when accept_caps
8889         is called with the same caps as the pad already has.
8890         Use GST_DEBUG_OBJECT when outputting caps change information.
8891
8892 2006-03-15  Wim Taymans  <wim@fluendo.com>
8893
8894         * gst/gstclock.c: (gst_clock_class_init):
8895         Fix docs.
8896
8897 2006-03-15  Jan Schmidt  <thaytan@mad.scientist.com>
8898
8899         * gst/gstbuffer.h:
8900         Documentation fix.
8901
8902         * gst/gstpad.c: (gst_pad_init), (gst_pad_acceptcaps_default),
8903         (gst_pad_accept_caps), (gst_pad_configure_sink),
8904         (gst_pad_configure_src), (gst_pad_chain), (gst_pad_push):
8905         Make the default acceptcaps behaviour be to check the requested 
8906         caps against the gst_pad_get_caps output. 
8907
8908         Ensure that gst_pad_accept_caps is used to check caps when a pad
8909         doesn't have a setcaps function, so that pads automatically refuse 
8910         caps that they don't allow in their pad template. (Fixes #332986)
8911
8912         When a buffer with attached caps is pushed, ensure that the source 
8913         pad receives those caps even if the element didn't call
8914         gst_pad_set_caps first.
8915
8916 2006-03-15  Wim Taymans  <wim@fluendo.com>
8917
8918         * libs/gst/base/gstadapter.c:
8919         Add some docs.
8920
8921 2006-03-15  Tim-Philipp Müller  <tim at centricular dot net>
8922
8923         * win32/common/libgstbase.def:
8924         * win32/common/libgstcontroller.def:
8925         * win32/common/libgstreamer.def:
8926           Add a whole bunch of missing functions (#334434).
8927
8928 2006-03-14  Wim Taymans  <wim@fluendo.com>
8929
8930         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
8931         (gst_base_sink_get_sync_times), (gst_base_sink_wait_clock),
8932         (gst_base_sink_do_sync), (gst_base_sink_do_qos):
8933         Better debug info when we receive a segment event.
8934         Reorganize a bit so we can pass the get_times() results around.
8935         Use the segment format when calculating the running time.
8936         Don't do QoS is sync is disabled or we have no clock or the
8937         element does not want us to sync to the clock.
8938         Don't drop buffers if QoS is disabled for now.
8939
8940 2006-03-14  Wim Taymans  <wim@fluendo.com>
8941
8942         * gst/gstclock.c: (gst_clock_class_init), (do_linear_regression):
8943         Marked the stats property as unimplemented so people don't get
8944         wild ideas.
8945         Add debug message when regression goes wrong.
8946         Added some more docs.
8947
8948 2006-03-14  Wim Taymans  <wim@fluendo.com>
8949
8950         * gst/gstsegment.c: (gst_segment_to_stream_time):
8951         Return correct return type in case of errors.
8952
8953 2006-03-14  Wim Taymans  <wim@fluendo.com>
8954
8955         * gst/gstformat.c: (gst_format_get_name), (gst_format_to_quark):
8956           Don't segfault on invalid formats.
8957
8958 2006-03-14  Tim-Philipp Müller  <tim at centricular dot net>
8959
8960         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
8961           Can't use gst_segment_to_running_time() when the segment
8962           is not in GST_TIME_FORMAT (like with filesink, for example).
8963           Stops flac encoding pipelines from spewing critical warnings
8964           at EOS (#331248).
8965           
8966 2006-03-14  Tim-Philipp Müller  <tim at centricular dot net>
8967
8968         * gst/gstpipeline.c: (gst_pipeline_class_init):
8969           Add 'Since: 0.10.5' to gtk-doc blurb for added property.
8970
8971         * plugins/elements/gsttypefindelement.c:
8972         (gst_type_find_element_handle_event):
8973           Don't try to typefind empty streams.
8974
8975 2006-03-14  Wim Taymans  <wim@fluendo.com>
8976
8977         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync),
8978         (gst_base_sink_do_qos):
8979         Separate QoS calculation.
8980         Only drop buffers when lateness is bigger than the 
8981         duration of the buffer.
8982
8983 2006-03-13  Wim Taymans  <wim@fluendo.com>
8984
8985         * gst/gstpipeline.c: (gst_pipeline_set_property),
8986         (gst_pipeline_get_property), (do_pipeline_seek),
8987         (gst_pipeline_change_state), (gst_pipeline_set_delay),
8988         (gst_pipeline_get_delay):
8989         Don't deadlock when reading properties.
8990
8991 2006-03-13  Wim Taymans  <wim@fluendo.com>
8992
8993         * libs/gst/base/gstbasetransform.c:
8994         (gst_base_transform_class_init), (gst_base_transform_init),
8995         (gst_base_transform_sink_event),
8996         (gst_base_transform_sink_eventfunc),
8997         (gst_base_transform_src_event), (gst_base_transform_src_eventfunc),
8998         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
8999         (gst_base_transform_set_property),
9000         (gst_base_transform_get_property),
9001         (gst_base_transform_change_state), (gst_base_transform_update_qos),
9002         (gst_base_transform_set_qos_enabled),
9003         (gst_base_transform_is_qos_enabled):
9004         * libs/gst/base/gstbasetransform.h:
9005         Make basetransform virtual method for src events too.
9006         Handle QOS in basetransform.
9007         API: gst_base_transform_update_qos()
9008         API: gst_base_transform_set_qos_enabled()
9009         API: gst_base_transform_is_qos_enabled()
9010
9011 2006-03-13  Wim Taymans  <wim@fluendo.com>
9012
9013         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
9014         (gst_base_sink_do_sync):
9015         Small cleanups.
9016         Use QOS debug category.
9017
9018 2006-03-13  Wim Taymans  <wim@fluendo.com>
9019
9020         * plugins/elements/gstqueue.c:
9021         Very small doc update.
9022
9023 2006-03-13  Wim Taymans  <wim@fluendo.com>
9024
9025         * gst/gst_private.h:
9026         * gst/gstinfo.c: (_gst_debug_init):
9027         Added QOS debug category
9028
9029 2006-03-13  Wim Taymans  <wim@fluendo.com>
9030
9031         * docs/gst/gstreamer-sections.txt:
9032         * gst/gstbin.c: (bin_bus_handler), (gst_bin_handle_message_func):
9033         * gst/gstbin.h:
9034         * gst/gstbus.c: (gst_bus_class_init):
9035         * gst/gstbus.h:
9036         * gst/gstclock.c:
9037         * gst/gstelement.c: (gst_element_set_locked_state):
9038         * gst/gstsegment.c:
9039         Documentation updates.
9040
9041         * gst/gstpipeline.c: (gst_pipeline_get_type),
9042         (gst_pipeline_class_init), (gst_pipeline_init),
9043         (gst_pipeline_dispose), (gst_pipeline_set_property),
9044         (gst_pipeline_get_property), (do_pipeline_seek),
9045         (gst_pipeline_send_event), (gst_pipeline_change_state),
9046         (gst_pipeline_provide_clock_func), (gst_pipeline_set_delay),
9047         (gst_pipeline_get_delay):
9048         * gst/gstpipeline.h:
9049         Added methods for setting the delay.
9050         API: gst_pipeline_set_delay()
9051         API: gst_pipeline_get_delay()
9052         Add pipeline debug category
9053         Various cleanups.
9054         Updated docs.
9055         Don't reset stream time when seek failed.
9056
9057 2006-03-13  Wim Taymans  <wim@fluendo.com>
9058
9059         * docs/design/draft-klass.txt:
9060         * docs/design/part-clocks.txt:
9061         * docs/design/part-events.txt:
9062         * docs/design/part-gstbin.txt:
9063         * docs/design/part-gstpipeline.txt:
9064         * docs/design/part-messages.txt:
9065         * docs/design/part-negotiation.txt:
9066         * docs/design/part-overview.txt:
9067         * docs/design/part-preroll.txt:
9068         * docs/design/part-seeking.txt:
9069         * docs/design/part-states.txt:
9070         * docs/design/part-streams.txt:
9071         Documentation updates.
9072
9073 2006-03-12  Julien MOUTTE  <julien@moutte.net>
9074
9075         * gst/gsttaglist.c: Fix rubbish docs that are encouraging
9076         us to leak strings...
9077
9078 2006-03-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9079
9080         * libs/gst/net/gstnettimeprovider.c:
9081           fix docs
9082         * win32/common/config.h:
9083           update
9084
9085 2006-03-12  Tim-Philipp Müller  <tim at centricular dot net>
9086
9087         Patch by: Julio M. Merino Vidal <jmmv at netbsd org>
9088
9089         * configure.ac:
9090           Don't check for libgnomeui (leftover from old examples
9091           that aren't built or disted any longer) (#334303).
9092           
9093 2006-03-11  Tim-Philipp Müller  <tim at centricular dot net>
9094
9095         * plugins/elements/gstfdsink.c: (gst_fd_sink_render):
9096         * plugins/elements/gstfilesink.c: (gst_file_sink_render):
9097           Emit RESOURCE_NO_SPACE_LEFT error here as well when
9098           there's no space left on the device.
9099
9100 2006-03-10  Tim-Philipp Müller  <tim at centricular dot net>
9101
9102         * gst/gstclock.h:
9103           Fix GST_CLOCK_TIME_IS_VALID signedness issues - we need
9104           to cast the input to GstClockTime before comparing with
9105           another GstClockTime value.
9106
9107 2006-03-10  Thomas Vander Stichele  <thomas at apestaart dot org>
9108
9109         * configure.ac:
9110           back to trunk
9111
9112 === release 0.10.4 ===
9113
9114 2006-03-10  Thomas Vander Stichele <thomas at apestaart dot org>
9115
9116         * configure.ac:
9117           releasing 0.10.4, "Light"
9118
9119 2006-03-10  Michael Smith  <msmith@fluendo.com>
9120
9121         * libs/gst/dataprotocol/dataprotocol.c:
9122           Fix docs for dataprocotol to not get the return types completely
9123           wrong for a few functions.
9124
9125 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
9126
9127         * docs/gst/gstreamer-sections.txt:
9128         * gst/gstpipeline.c: (gst_pipeline_class_init),
9129         (gst_pipeline_init), (gst_pipeline_set_property),
9130         (gst_pipeline_get_property), (gst_pipeline_change_state),
9131         (gst_pipeline_set_auto_flush_bus),
9132         (gst_pipeline_get_auto_flush_bus):
9133         * gst/gstpipeline.h:
9134           Add new API: gst_pipeline_set_auto_flush_bus() and
9135           gst_pipeline_get_auto_flush_bus() to disable automatic
9136           flushing of the pipeline's GstBus when going from READY
9137           to NULL state (#332045).
9138
9139 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
9140
9141         * docs/gst/gstreamer-sections.txt:
9142         * gst/gsturi.c: (gst_uri_has_protocol):
9143         * gst/gsturi.h:
9144            Add new API: gst_uri_has_protocol() (#333779).
9145
9146 2006-03-09  Wim Taymans  <wim@fluendo.com>
9147
9148         * gst/gstclock.c: (gst_clock_entry_new),
9149         (gst_clock_id_compare_func), (gst_clock_id_wait),
9150         (gst_clock_id_wait_async), (gst_clock_id_unschedule),
9151         (gst_clock_init), (gst_clock_get_internal_time),
9152         (gst_clock_set_master), (do_linear_regression),
9153         (gst_clock_add_observation), (gst_clock_set_property):
9154         * gst/gstclock.h:
9155         Review docs.
9156         Small cleanups.
9157         Fix a possible segfault when the window-size is made smaller.
9158         Calculate jitter before performing the clock wait. Ideally
9159         the clock implementation should calculate jitter but we need
9160         API breakage for that.
9161
9162         * gst/gstsystemclock.c: (gst_system_clock_init):
9163         Docs review.
9164         
9165         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync):
9166         Remove leftover else
9167
9168         * tests/check/gst/gstsystemclock.c: (GST_START_TEST),
9169         (gst_systemclock_suite):
9170         Added check to test GST_CLOCK_DIFF.
9171
9172 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
9173
9174         * libs/gst/base/gsttypefindhelper.c: (helper_find_get_length),
9175         (gst_type_find_helper_get_range):
9176           If we are provided with the size, we should implement
9177           GstTypeFind::get_length, so that typefind functions who
9178           want to can actually peek at the middle of a file.
9179
9180 2006-03-08  Tim-Philipp Müller  <tim at centricular dot net>
9181
9182         * docs/manual/advanced-dataaccess.xml:
9183           Add some very very basic error checking.
9184
9185         * docs/pwg/appendix-checklist.xml:
9186           Some updates to the list of things to check when writing an element.
9187
9188 2006-03-08  Wim Taymans  <wim@fluendo.com>
9189
9190         * docs/design/part-element-transform.txt:
9191         Added some docs about the design of tranform elements.
9192
9193         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
9194         (gst_base_src_loop), (gst_base_src_change_state):
9195         Mark buffers with the DISCONT flag.
9196
9197 2006-03-08  Michael Smith  <msmith@fluendo.com>
9198
9199         * gst/gstregistry.h:
9200         * gst/gstregistryxml.c: (gst_registry_save),
9201         (gst_registry_save_escaped), (gst_registry_xml_save_caps),
9202         (gst_registry_xml_save_pad_template),
9203         (gst_registry_xml_save_feature), (gst_registry_xml_save_plugin),
9204         (gst_registry_xml_write_cache):
9205           Rewrite registry-saving to avoid race conditions and check for
9206           failed writes.
9207
9208 2006-03-08  Wim Taymans  <wim@fluendo.com>
9209
9210         * libs/gst/base/gstbasetransform.c:
9211         (gst_base_transform_transform_caps),
9212         (gst_base_transform_transform_size),
9213         (gst_base_transform_prepare_output_buffer),
9214         (gst_base_transform_get_unit_size),
9215         (gst_base_transform_buffer_alloc),
9216         (gst_base_transform_handle_buffer),
9217         (gst_base_transform_change_state):
9218         Cleanups, separate normal flow from errors, add sensible
9219         DEBUG lines.
9220         Don't try to renegotiate when allocating an output buffer.
9221         Also copy DISCONT buffer flag when copying a buffer.
9222         Reset the transform after we finish streaming, not during.
9223
9224 2006-03-08  Wim Taymans  <wim@fluendo.com>
9225
9226         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync):
9227         Use last buffer timestamp in qos message.
9228
9229 2006-03-07  Wim Taymans  <wim@fluendo.com>
9230
9231         Patch by: Christophe Fergeau
9232
9233         * docs/pwg/advanced-tagging.xml:
9234         * docs/pwg/building-pads.xml:
9235           fixes #333416
9236
9237 2006-03-07  Wim Taymans  <wim@fluendo.com>
9238
9239         * docs/libs/gstreamer-libs-sections.txt:
9240         Added basesink new methods.
9241
9242         * gst/gstevent.c:
9243         * gst/gstevent.h:
9244         Docs updates. Flesh out the QoS docs.
9245
9246         * libs/gst/base/gstadapter.c:
9247         Small doc clarification about ownership and flushing.
9248
9249         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_sync),
9250         (gst_base_sink_get_sync), (gst_base_sink_set_max_lateness),
9251         (gst_base_sink_get_max_lateness), (gst_base_sink_set_property),
9252         (gst_base_sink_get_property), (gst_base_sink_do_sync):
9253         * libs/gst/base/gstbasesink.h:
9254         API additions: 
9255         Added new methods to allow subclass to control max-lateness 
9256         and sync.
9257         Generate very basic QoS events based on last sync observation.
9258         Updated docs, fix typo, added some QoS blurb.
9259
9260         * libs/gst/base/gstbasesrc.c:
9261         Remove obsolete _get_state() calls from docs.
9262
9263 2006-03-07  Wim Taymans  <wim@fluendo.com>
9264
9265         * docs/libs/gstreamer-libs-sections.txt:
9266         * libs/gst/base/gstbasetransform.h:
9267         API addition: Fix #333669, Add pad accessor defines for GstBaseTransform
9268         Fix docs for GstBaseSrc.
9269
9270 2006-03-07  Wim Taymans  <wim@fluendo.com>
9271
9272         * docs/gst/gstreamer-sections.txt:
9273         * gst/gstbuffer.h:
9274         * gst/gstvalue.c:
9275         * libs/gst/base/gstbasetransform.h:
9276         Small documentation fixes.
9277
9278 2006-03-07  Tim-Philipp Müller  <tim at centricular dot net>
9279
9280         * gst/gstvalue.c:
9281           Document thread-unsafety of gst_value_register_foo_func()
9282           when used at the same time as gst_value_foo() (#322628).
9283
9284 2006-03-07  Tim-Philipp Müller  <tim at centricular dot net>
9285
9286         * libs/gst/base/gstpushsrc.c: (gst_push_src_class_init),
9287         (gst_push_src_check_get_range):
9288           Push sources don't support pull mode by default.
9289
9290 2006-03-06  Tim-Philipp Müller  <tim at centricular dot net>
9291
9292         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
9293         (gst_base_src_init), (gst_base_src_pad_check_get_range),
9294         (gst_base_src_default_check_get_range):
9295         * libs/gst/base/gstbasesrc.h:
9296           API addition:  Add ::check_get_range() vfunc to GstBaseSrc (#332611),
9297           provide default implementation, and rename
9298           gst_base_src_check_get_range() to
9299           gst_base_src_pad_check_get_range() for clarity.
9300
9301 2006-03-06  Wim Taymans  <wim@fluendo.com>
9302
9303         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
9304         Make property overridable.
9305
9306 2006-03-06  Wim Taymans  <wim@fluendo.com>
9307
9308         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
9309         (gst_base_sink_init), (gst_base_sink_set_property),
9310         (gst_base_sink_get_property), (gst_base_sink_do_sync):
9311         * libs/gst/base/gstbasesink.h:
9312         API addition: Make max-lateness a property.
9313
9314 2006-03-06  Wim Taymans  <wim@fluendo.com>
9315
9316         * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_clock),
9317         (gst_base_sink_do_sync), (gst_base_sink_render_object):
9318         Don't ever draw a frame that is >10ms late.
9319
9320 2006-03-06  Michael Smith  <msmith@fluendo.com>
9321
9322         * gst/gstmessage.c: (_gst_message_copy):
9323           When copying a message, set the parent_refcount of the enclosed
9324           structure to point at the copy, not the original message.
9325
9326 2006-03-06  Tim-Philipp Müller  <tim at centricular dot net>
9327
9328         Patch by: Christophe Fergeau
9329
9330         * gst/gstutils.h:
9331           Do proper cast here to make GST_BOILERPLATE_WITH_INTERFACE
9332           usable in c++ code (#333417)
9333
9334 2006-03-06  Thomas Vander Stichele  <thomas at apestaart dot org>
9335
9336         * gst/gstclock.h:
9337           Show GST_CLOCK_TIME_NONE as 99:99:99.999999999
9338
9339 2006-03-05  Tim-Philipp Müller  <tim at centricular dot net>
9340
9341         * libs/gst/base/gstbasetransform.c:
9342         (gst_base_transform_transform_caps):
9343           Make sure caps are writable before passing them to
9344           gst_caps_append().
9345
9346 2006-03-04  Tim-Philipp Müller  <tim at centricular dot net>
9347
9348         * gst/gsterror.h:
9349           Fix some minor docs errors.
9350
9351 2006-03-04  Tim-Philipp Müller  <tim at centricular dot net>
9352
9353           Patch by: Ross Burton <ross at burtonini dot com>
9354
9355         * gst/gsterror.c: (_gst_resource_errors_init):
9356         * gst/gsterror.h:
9357           Add GST_RESOURCE_ERROR_NO_SPACE_LEFT (for #333352;
9358
9359 2006-03-03  Jan Schmidt  <thaytan@mad.scientist.com>
9360
9361         * gst/gst.c:
9362         Add a check and output a g_warning when GStreamer is built
9363         against GLib 2.6 but running against 2.8 or higher, and vice 
9364         versa. (Closes: #323542)
9365
9366 2006-03-03  Jan Schmidt  <thaytan@mad.scientist.com>
9367
9368         * gst/parse/parse.l:
9369           Commit patch for parse_launch syntax from #331255. Removes 
9370           support for quoted strings and mimetypes when writing filtered 
9371           caps. See the bug report for more details - I'm pretty sure this
9372           obscure feature is not in use by _anyone_ anywhere.
9373
9374           With this simple change, the size of the gstreamer.so here 
9375           drops from 2193KB to 1565KB.
9376
9377 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
9378
9379         * plugins/elements/gsttypefindelement.h:
9380         * plugins/elements/gsttypefindelement.c:
9381         (gst_type_find_element_src_event), (start_typefinding),
9382         (stop_typefinding), (gst_type_find_element_handle_event),
9383         (gst_type_find_element_chain),
9384         (gst_type_find_element_chain_do_typefinding):
9385           Use gst_type_find_helper_for_buffer() for chain-based
9386           typefinding.
9387
9388 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
9389
9390         * plugins/elements/gsttypefindelement.c:
9391         (gst_type_find_element_class_init),
9392         (gst_type_find_element_set_property),
9393         (gst_type_find_element_get_property):
9394           Deprecate "maximum" property (not only was it only taken into
9395           account for typefinding in push-mode anyway, it also was never
9396           actually possible to set it in the first place because the
9397           property was registered with the numeric property ID for the
9398           "minimum" property). Register "maximum" property correctly,
9399           for the sake of future copy'n'pasters. Remove some cruft
9400           from property get/set functions.
9401
9402 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
9403
9404         * plugins/elements/gsttypefindelement.c:
9405         (gst_type_find_element_activate):
9406           Use gst_type_find_helper_get_range() here, so we
9407           can honour the "minimum" property and also emit
9408           the signal with the correct probability of the found caps.
9409
9410 2006-03-02  Tim-Philipp Müller  <tim at centricular dot net>
9411
9412         * docs/libs/gstreamer-libs-sections.txt:
9413         * libs/gst/base/gsttypefindhelper.c: (helper_find_peek),
9414         (helper_find_suggest), (gst_type_find_helper_get_range),
9415         (gst_type_find_helper):
9416         * libs/gst/base/gsttypefindhelper.h:
9417           New API: gst_type_find_helper_get_range() (#333042).
9418
9419 2006-03-02  Michael Smith  <msmith@fluendo.com>
9420
9421         * gst/gstregistryxml.c: (load_feature):
9422           Asserting on a failure to read part of the registry is Not Cool.
9423           Just log a warning and return NULL (which is already handled)
9424
9425 2006-02-28  Sebastien Moutte  <sebastien@moutte.net>
9426
9427         * win32/common/libgstbase.def:
9428           added export of gst_type_find_helper_for_buffer
9429         * win32/common/libgstbase.def:
9430           added some exports : gst_bin_iterate_elements, gst_iterator_resync,
9431           gst_ghost_pad_get_target
9432
9433 2006-02-28  Wim Taymans  <wim@fluendo.com>
9434
9435         * docs/design/draft-klass.txt:
9436         We use Filter now.
9437         Added Connector to mark elements that are only used to
9438         allow pipeline connections.
9439         Moved Debug to extra feature since most of them are 
9440         functionally something else.
9441
9442 2006-02-28  Wim Taymans  <wim@fluendo.com>
9443
9444         * docs/design/draft-klass.txt:
9445         Some updates and clarifications.
9446
9447 2006-02-28  Wim Taymans  <wim@fluendo.com>
9448
9449         * docs/design/draft-klass.txt:
9450         Proposal for klass field values.
9451
9452         * docs/design/part-streams.txt:
9453         Start of a doc describing stream anatomy.
9454
9455 2006-02-28  Wim Taymans  <wim@fluendo.com>
9456
9457         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_handle_message_func):
9458         Help the compiler a bit with type registration.
9459         Use existing forward cod path instead of duplicating it when 
9460         handling a message.
9461         
9462         * gst/gstbus.c: (gst_bus_get_type):
9463         * gst/gstcaps.c: (gst_caps_get_type), (gst_static_caps_get_type):
9464         * gst/gstchildproxy.c: (gst_child_proxy_get_type):
9465         * gst/gstclock.c: (gst_clock_get_type):
9466         * gst/gstelement.c: (gst_element_get_type),
9467         * gst/gstelementfactory.c: (gst_element_factory_get_type):
9468         * gst/gstindexfactory.c: (gst_index_factory_get_type):
9469         * gst/gstminiobject.c: (gst_mini_object_get_type):
9470         * gst/gstpad.c: (gst_pad_get_type):
9471         * gst/gstsegment.c: (gst_segment_get_type):
9472         * gst/gststructure.c: (gst_structure_get_type):
9473         * gst/gstsystemclock.c: (gst_system_clock_get_type):
9474         * gst/gsttask.c: (gst_task_get_type), (gst_task_join):
9475         * gst/gstvalue.c:
9476         Help compiler with type registration.
9477
9478         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event):
9479         Small doc update.
9480
9481 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
9482
9483         * plugins/elements/gsttypefindelement.c:
9484         (gst_type_find_element_handle_event):
9485           When we get an EOS event and have not found a type yet
9486           (most likely because we had not yet accumulated
9487           TYPE_FIND_MIN_SIZE of data yet), try to determine the
9488           type given the data we have so far. Fixes typefinding
9489           for very short streams again, most notably quicktime
9490           redirections as used on Apple's trailer site (#331701).
9491
9492 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
9493
9494         * libs/gst/base/gsttypefindhelper.c: (type_find_factory_rank_cmp),
9495         (gst_type_find_helper):
9496           Try typefinding factories with the highest rank first.
9497
9498 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
9499
9500         * docs/libs/gstreamer-libs-docs.sgml:
9501         * docs/libs/gstreamer-libs-sections.txt:
9502         * libs/gst/base/gsttypefindhelper.c:
9503           Add section for typefind helper and add documentation
9504           for the old and the new function.
9505
9506 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
9507
9508         * libs/gst/base/gsttypefindhelper.c: (buf_helper_find_peek),
9509         (buf_helper_find_suggest), (type_find_factory_rank_cmp),
9510         (gst_type_find_helper_for_buffer):
9511         * libs/gst/base/gsttypefindhelper.h:
9512           New API: gst_type_find_helper_for_buffer() (#332723).
9513           
9514 2006-02-27  Michael Smith  <msmith@fluendo.com>
9515
9516         Patch by: Loïc Minier
9517
9518         * configure.ac:
9519         * docs/Makefile.am:
9520         * docs/slides/Makefile.am:
9521           prevent CVS directories getting disted.
9522
9523 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
9524
9525         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref):
9526           Use the REFCOUNTING category for caps refcounting.
9527           
9528 2006-02-26  Tim-Philipp Müller  <tim at centricular dot net>
9529
9530         * plugins/elements/gsttypefindelement.c: (stop_typefinding):
9531           This should be 0 not GST_CLOCK_TIME_NONE (see #331701).
9532
9533 2006-02-26  Tim-Philipp Müller  <tim at centricular dot net>
9534
9535         * plugins/elements/gsttypefindelement.c:
9536         (gst_type_find_element_activate):
9537           Use gst_pad_check_pull_range() before _activate_pull()
9538           to avoid unnecessary open/close (see #331690).
9539
9540 2006-02-24  Tim-Philipp Müller  <tim at centricular dot net>
9541
9542         * gst/gstutils.c:
9543           Docs enhancement: make it crystal clear what the
9544           gst_pad_add_*_probe() callbacks should look like.
9545
9546 2006-02-24  Tim-Philipp Müller  <tim at centricular dot net>
9547
9548         * libs/gst/base/gstbasesrc.c:
9549           Document how applications can stop recording from
9550           live sources (see #330996).
9551
9552 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
9553
9554         * tests/check/Makefile.am:
9555         * tests/check/libs/basesrc.c: (eos_event_counter),
9556         (basesrc_eos_events_pull), (basesrc_eos_events_push),
9557         (basesrc_eos_events_push_live_op), (basesrc_eos_events_pull_live_op),
9558         (gst_basesrc_suite), (main):
9559           ... and add some tests for the base source EOS stuff.
9560
9561 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
9562
9563         * tests/check/gst/gstutils.c: (test_buffer_probe_n_times):
9564           Test case originally showed the problem fixed below,
9565           but was then amended. Add checks back at the place
9566           where they used to be.
9567
9568 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
9569
9570         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
9571         (gst_base_src_init), (gst_base_src_loop),
9572         (gst_base_src_activate_push), (gst_base_src_activate_pull),
9573         (gst_base_src_change_state):
9574         * libs/gst/base/gstbasesrc.h:
9575           Don't unconditionally send EOS when going from PAUSED to
9576           READY state, esp. make sure we don't send two EOS events
9577           in some cases (e.g. one when reaching EOS and one when
9578           going from PAUSED to READY). Also, we don't want to send
9579           EOS events when operating in pull mode. However, we do
9580           want to send an EOS event when shutting down a live
9581           source explicitly, for example (fixes #330996).
9582           
9583 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
9584
9585         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
9586           Update src->read_position after a seek when not using mmap.
9587           Fixes #332277, patch by: Renchi Raju <renchi gmail com>
9588
9589 2006-02-21  Jan Schmidt  <thaytan@mad.scientist.com>
9590
9591         * gst/Makefile.am:
9592         * gst/gstparse.h:
9593         * gst/gstutils.c:
9594         * gst/gstutils.h:
9595         Make things work with --disable-parse as they do with 
9596         --disable-load-save - the symbols involved disappear, but the
9597         header is still installed and GST_DISABLE_PARSE is included via
9598         gstconfig.h
9599
9600 2006-02-20  Julien MOUTTE  <julien@moutte.net>
9601
9602         * libs/gst/base/gstbasetransform.c:
9603         (gst_base_transform_change_state): Fix a stupid bug. I was 
9604         sure I compiled that.
9605
9606 2006-02-20  Julien MOUTTE  <julien@moutte.net>
9607
9608         * gst/gstpad.c: (gst_pad_set_blocked_async):
9609         * gst/gstutils.c: (gst_pad_add_data_probe),
9610         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
9611         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
9612         (gst_pad_remove_buffer_probe): Make those function act on the
9613         ghostpad target when it's a ghostpad. (Closes #331727)
9614
9615 2006-02-20  Julien MOUTTE  <julien@moutte.net>
9616
9617         * libs/gst/base/gstbasetransform.c:
9618         (gst_base_transform_change_state): Make basetransform reusable.
9619         (Closes #331898)
9620
9621 2006-02-20  Jan Schmidt  <thaytan@mad.scientist.com>
9622
9623         * docs/random/release:
9624         Move the current documentation of how to do a release to the top
9625         of the file.
9626
9627         * gst/gstbin.c: (gst_bin_class_init),
9628         (gst_bin_handle_message_func):
9629         Allow multiple state-recalculation threads. (Closes #328873)
9630
9631 2006-02-19  Julien MOUTTE  <julien@moutte.net>
9632
9633         * gst/gstinfo.h: Add GST_STR_NULL to the second string.
9634         * gst/gstpad.c: (gst_pad_set_event_function),
9635         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
9636         (gst_pad_set_getcaps_function): GST_DEBUG_PAD_NAME evaluates to
9637         2 strings. You can't use the STR_NULL macro on that.
9638
9639 2006-02-19  Sebastien Moutte <sebastien@moutte.net>
9640
9641         * gst/gstpad.c: (gst_pad_set_event_function),
9642         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
9643         (gst_pad_set_getcaps_function)
9644         * gst/parse/grammar.y: (gst_parse_found_pad), (gst_parse_perform_delayed_link)
9645           Fixed NULL pointer used in GST_CAT_DEBUG using GST_STR_NULL macro
9646           So now, we can use --gst-debug-level=5 on Windows
9647         * win32/common/libgstcontroller.def:
9648           Added export of gst_controller_init
9649         * win32/vs6/libgstcontroller.dsp:
9650           Fixed Release post build configuration
9651
9652 2006-02-17  Wim Taymans  <wim@fluendo.com>
9653
9654         * tests/check/gst/gstquery.c: (GST_START_TEST):
9655         Added another check.
9656
9657 2006-02-15  Tim-Philipp Müller  <tim at centricular dot net>
9658
9659         * plugins/elements/gsttypefindelement.c: (find_peek):
9660           We can do peeks at non-zero offsets, as long as they
9661           fall within the buffer we have.
9662
9663 2006-02-15  Jan Schmidt  <thaytan@mad.scientist.com>
9664
9665         * tests/check/Makefile.am:
9666         * tests/check/pipelines/parse-launch.c: (setup_pipeline),
9667         (expected_fail_pipe), (check_pipeline_runs), (GST_START_TEST),
9668         (parse_suite), (main):
9669           Add testsuite for parse launch syntax
9670
9671 2006-02-14  Tim-Philipp Müller  <tim at centricular dot net>
9672
9673         * plugins/elements/gsttypefindelement.c:
9674         (gst_type_find_element_chain):
9675           When typefinding is unsuccessful in the chain function, don't
9676           error out immediately. Only error out with NO_CAPS_FOUND if
9677           the amount of data is at least MAX_TYPEFIND_SIZE bytes,
9678           otherwise simply wait for more data so we can try typefinding
9679           again with more data later. Also, don't attempt to typefind
9680           if we have less than MIN_TYPEFIND_SIZE data available. Overall,
9681           this should improve typefinding from network sources where the
9682           size of the first buffer can be somewhat random.
9683
9684 2006-02-14  Wim Taymans  <wim@fluendo.com>
9685
9686         * docs/gst/gstreamer-sections.txt:
9687         * gst/gstpadtemplate.c:
9688         * gst/gstpadtemplate.h:
9689         Fix padtemplate docs, fixes #328805.
9690
9691 2006-02-14  Wim Taymans  <wim@fluendo.com>
9692
9693         * tools/gst-launch.c: (main):
9694         NO_PREROLL is not an ERROR so don't send confusing messages
9695         to the user.
9696
9697 2006-02-14  Wim Taymans  <wim@fluendo.com>
9698
9699         Patch by: Torsten Schoenfeld
9700
9701         * gst/gstregistry.c: (gst_registry_get_default),
9702         (_gst_registry_cleanup):
9703         Protect default registry with lock and ref/sink it.
9704         Fixes #324818
9705
9706 2006-02-14  Wim Taymans  <wim@fluendo.com>
9707
9708         * gst/gstbuffer.c:
9709         * gst/gstquery.c: (gst_query_list_add_format),
9710         (gst_query_set_formatsv), (gst_query_parse_formats_length),
9711         (gst_query_parse_formats_nth):
9712         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
9713         Docs fixes.
9714
9715 2006-02-14  Wim Taymans  <wim@fluendo.com>
9716
9717         * docs/gst/gstreamer-sections.txt:
9718         Reworked query docs.
9719
9720         * gst/gstquery.c: (gst_query_new_formats),
9721         (gst_query_list_add_format), (gst_query_set_formats),
9722         (gst_query_set_formatsv), (gst_query_parse_formats_length),
9723         (gst_query_parse_formats_nth):
9724         * gst/gstquery.h:
9725         Flesh out formats query, added some new methods.
9726         Fix part of #324398.
9727
9728         * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite):
9729         Added query creation tests.
9730
9731 2006-02-14  Jan Schmidt  <thaytan@mad.scientist.com>
9732
9733         * gst/gstpad.c: (fixate_value):
9734         Add a default fixation for fraction lists.
9735
9736 2006-02-13  Wim Taymans  <wim@fluendo.com>
9737
9738         * gst/gsttask.c: (gst_task_init), (gst_task_func),
9739         (gst_task_set_lock), (gst_task_start), (gst_task_pause),
9740         (gst_task_join):
9741         * gst/gsttask.h:
9742         Detect and warn for obvious deadlocks. fixes #320340
9743         Fix error case where lock was not released.
9744
9745         * tests/check/Makefile.am:
9746         * tests/check/gst/gsttask.c: (task_func2), (GST_START_TEST),
9747         (task_func), (gst_element_suite), (main):
9748         Add task check.
9749
9750 2006-02-13  Wim Taymans  <wim@fluendo.com>
9751
9752         * docs/gst/gstreamer-sections.txt:
9753         * gst/gstbus.c:
9754         Add new functions to docs.
9755
9756 2006-02-13  Wim Taymans  <wim@fluendo.com>
9757
9758         * docs/design/part-TODO.txt:
9759         Updated TODO list, basesrc supports seeking to non-bytes
9760         formats.
9761
9762         * docs/design/part-element-sink.txt:
9763         Update docs.
9764
9765         * gst/gstbin.c: (bin_replace_message),
9766         (gst_bin_handle_message_func):
9767         * gst/gstbus.c: (gst_bus_post), (gst_bus_pop):
9768         * gst/gstevent.c: (gst_event_finalize):
9769         * gst/gstpad.c: (gst_pad_event_default_dispatch),
9770         (gst_pad_send_event):
9771         Use shiny new _TYPE_NAME macros.
9772
9773         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
9774         Move debug statement up.
9775
9776         * gst/gstelement.c: (gst_element_set_locked_state):
9777         Add some debugging.
9778
9779 2006-02-13  Tim-Philipp Müller  <tim at centricular dot net>
9780
9781         * docs/gst/gstreamer-sections.txt:
9782         * gst/gstmessage.h:
9783         * gst/gstquery.h:
9784           New API: add GST_MESSAGE_TYPE_NAME and GST_QUERY_TYPE_NAME
9785           macros (#330906). Also, document the already existing
9786           GST_QUERY_TYPE macro.
9787
9788 2006-02-13  Wim Taymans  <wim@fluendo.com>
9789
9790         * tests/check/gst/gstutils.c: (data_probe), (buffer_probe),
9791         (event_probe), (GST_START_TEST):
9792         Only events up to the pipeline EOS are counted, there are
9793         some more when going to NULL currently which we don't care
9794         about for now.
9795
9796 2006-02-13  Wim Taymans  <wim@fluendo.com>
9797
9798         * gst/gstpad.c: (gst_pad_send_event):
9799         Correctly check flushing and emit probes. fixes #330125
9800
9801 2006-02-10  Andy Wingo  <wingo@pobox.com>
9802
9803         * gst/gstbus.c (gst_bus_class_init): Declare our private data
9804         structure.
9805         (gst_bus_init): Cache the location of the private data in the
9806         instance structure.
9807         (gst_bus_enable_sync_message_emission) 
9808         (gst_bus_disable_sync_message_emission): Implement new public
9809         functions.
9810         (gst_bus_post): Emit the sync-message signal if the user asked for
9811         it. Fixes #330684.
9812
9813         * gst/gstbus.h (GstBus): Use a padding pointer to cache the
9814         location of the bus-private structure.
9815         (gst_bus_enable_sync_message_emission)
9816         (gst_bus_disable_sync_message_emission): API addition
9817
9818 2006-02-10  Jan Schmidt  <thaytan@mad.scientist.com>
9819
9820         Patch by: Vincent Torri
9821
9822         * docs/pwg/building-boiler.xml:
9823         PWG patch from #326800
9824
9825 2006-02-09  Tim-Philipp Müller  <tim at centricular dot net>
9826
9827         * configure.ac:
9828         * docs/Makefile.am:
9829         * docs/design/Makefile.am:
9830           Dist design docs.
9831
9832 2006-02-08  Jan Schmidt  <thaytan@mad.scientist.com>
9833
9834         * configure.ac:
9835           back to CVS
9836
9837 === release 0.10.3 ===
9838
9839 2006-02-08  Jan Schmidt <thaytan@mad.scientist.com>
9840
9841         * configure.ac:
9842           releasing 0.10.3, "Like a virgin"
9843
9844 2006-02-08  Jan Schmidt  <thaytan@mad.scientist.com>
9845
9846         * configure.ac:
9847           2nd prerelease of 0.10.3
9848           Bump libtool versioning.
9849
9850 2006-02-07  Andy Wingo  <wingo@pobox.com>
9851
9852         * libs/gst/base/gstcollectpads.c (gst_collect_pads_chain): Only
9853         update last_stop if we're in TIME format and the timestamp is
9854         valid.
9855
9856         * libs/gst/base/gstcollectpads.c (gst_collect_pads_event) 
9857         * libs/gst/base/gstbasetransform.c (gst_base_transform_eventfunc): 
9858         * libs/gst/base/gstbasesink.c (gst_base_sink_configure_segment):
9859         If we get a new newsegment with a different format, adapt
9860         accordingly.
9861
9862         * gst/gstclock.c (gst_clock_set_calibration): Accept a numerator
9863         of 0. Not a problem, really.
9864
9865         * libs/gst/base/gstbasesink.c (gst_base_sink_chain_unlocked): Only
9866         warn if sync=true.
9867
9868 2006-02-06  Jan Schmidt  <thaytan@mad.scientist.com>
9869
9870         * configure.ac:
9871           Prelease of 0.10.3
9872
9873 2006-02-06  Sebastien Moutte  <sebastien@moutte.net>
9874
9875         * win32/vs7:
9876           project files updated to the default vs7 configuration
9877         * win32/common/libgstbase.def:
9878         * win32/common/libgstreamer.def:
9879           added new symbols,
9880           removed empty lines,
9881           sorted all exported symbols alphabetically
9882         * win32/common/dirent.c:
9883         * win32/common/dirent.h:
9884         * win32/common/gchar.h:
9885           use windows line end.
9886           
9887 2006-02-06  Tim-Philipp Müller  <tim at centricular dot net>
9888
9889         * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
9890           Send EOS event when stopping.
9891
9892 2006-02-06  Tim-Philipp Müller  <tim at centricular dot net>
9893
9894         * docs/README:
9895           Tell folks what to do if the plugin-foobar.xml file
9896           hasn't been generated for a newly-added plugin.
9897
9898 2006-02-05  Julien MOUTTE  <julien@moutte.net>
9899
9900         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
9901         (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
9902         (gst_collect_pads_start), (gst_collect_pads_stop),
9903         (gst_collect_pads_event): Collectpads now holds a reference
9904         to the GstPad that was added. Indeed we don't want to look
9905         at pads that might just go away with no warning...
9906
9907 2006-02-05  Julien MOUTTE  <julien@moutte.net>
9908
9909         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
9910         (gst_collect_pads_start), (gst_collect_pads_stop),
9911         (gst_collect_pads_event), (gst_collect_pads_chain):
9912         * libs/gst/base/gstcollectpads.h: Handle flush. Adapted from
9913         Mark Nauwelaerts's patch on bug #328491.
9914
9915 2006-02-04  Tim-Philipp Müller  <tim at centricular dot net>
9916
9917         * tests/check/gst/gstutils.c: (test_parse_bin_from_description),
9918         (gst_utils_suite):
9919           Add some simple tests for gst_parse_bin_from_description() and
9920           gst_bin_find_unconnected_pad() (#329069).
9921
9922 2006-02-04  Tim-Philipp Müller  <tim at centricular dot net>
9923
9924         * tools/gst-launch.c: (event_loop), (main):
9925           Catch errors during preroll (#320084).
9926
9927 2006-02-03  Tim-Philipp Müller  <tim at centricular dot net>
9928
9929         * plugins/elements/gsttypefindelement.c:
9930         (gst_type_find_element_activate):
9931           Post TYPE_NOT_FOUND error message when typefinding
9932           is unsuccessful in the activate function as well.
9933
9934 2006-02-02  Wim Taymans  <wim@fluendo.com>
9935
9936         * docs/design/part-element-sink.txt:
9937         Updated doc.
9938
9939 2006-02-02  Wim Taymans  <wim@fluendo.com>
9940
9941         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync),
9942         (gst_base_sink_render_object),
9943         (gst_base_sink_queue_object_unlocked):
9944         Only keep track of prerollable items when we are 
9945         prerolling.
9946         Before rendering after preroll, always check if we
9947         have queued items.
9948         Added some more debugging.
9949
9950 2006-02-02  Wim Taymans  <wim@fluendo.com>
9951
9952         * gst/gstelement.c: (gst_element_continue_state),
9953         (gst_element_set_state_func), (gst_element_change_state):
9954         Fixed #326576, been running this for quite some time with
9955         no regressions at all.
9956
9957 2006-02-02  Wim Taymans  <wim@fluendo.com>
9958
9959         * common/gst.supp:
9960         Added more suppressions
9961
9962 2006-02-02  Wim Taymans  <wim@fluendo.com>
9963
9964         * docs/design/part-element-sink.txt:
9965         Updated document.
9966
9967         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
9968         (gst_base_sink_finalize), (gst_base_sink_preroll_queue_flush),
9969         (gst_base_sink_configure_segment), (gst_base_sink_commit_state),
9970         (gst_base_sink_get_sync_times), (gst_base_sink_wait_clock),
9971         (gst_base_sink_do_sync), (gst_base_sink_render_object),
9972         (gst_base_sink_preroll_object),
9973         (gst_base_sink_queue_object_unlocked),
9974         (gst_base_sink_queue_object), (gst_base_sink_event),
9975         (gst_base_sink_chain_unlocked), (gst_base_sink_chain),
9976         (gst_base_sink_loop), (gst_base_sink_activate_pull),
9977         (gst_base_sink_get_position), (gst_base_sink_change_state):
9978         * libs/gst/base/gstbasesink.h:
9979         Totally refactored matching the design doc.
9980         Use two segments, one to clip incomming buffers and another to
9981         perform sync.
9982         Handle queueing correctly, bypass the queue when playing.
9983         Make EOS cancelable.
9984         Handle errors correctly when operating in pull based mode.
9985
9986         * tests/check/elements/fakesink.c: (GST_START_TEST),
9987         (fakesink_suite):
9988         Added new check for sinks.
9989
9990 2006-02-02  Wim Taymans  <wim@fluendo.com>
9991
9992         * gst/gstsegment.c: (gst_segment_clip):
9993         No reason to refuse to clip when start == -1
9994
9995 2006-02-02  Stefan Kost  <ensonic@users.sf.net>
9996
9997         * docs/README:
9998         * docs/manual/intro-basics.xml:
9999         * docs/manual/intro-preface.xml:
10000         * docs/manual/manual.xml:
10001         * docs/pwg/advanced-dparams.xml:
10002         * docs/pwg/intro-basics.xml:
10003         * docs/pwg/intro-preface.xml:
10004         * docs/pwg/pwg.xml:
10005           describe dparams (controller) for plugins
10006           unify docs a little more
10007
10008 2006-02-02  Tim-Philipp Müller  <tim at centricular dot net>
10009
10010         * docs/gst/gstreamer-sections.txt:
10011         * gst/gstutils.c: (element_find_unconnected_pad),
10012         (gst_bin_find_unconnected_pad), (gst_parse_bin_from_description):
10013         * gst/gstutils.h:
10014           Add new API: gst_parse_bin_from_description() and
10015           gst_bin_find_unconnected_pad() (#329069).
10016
10017 2006-02-01  Stefan Kost  <ensonic@users.sf.net>
10018
10019         * docs/manual/README:
10020           uncover a nasty detail of the docs build
10021
10022 2006-01-31  Wim Taymans  <wim@fluendo.com>
10023
10024         * gst/gstbin.c: (bin_remove_messages), (bin_query_duration_done):
10025         Don't cache duration messages if we're not going to use or
10026         free them.
10027
10028 2006-01-31  Stefan Kost  <ensonic@users.sf.net>
10029
10030         * docs/manual/advanced-dparams.xml:
10031         * docs/pwg/advanced-dparams.xml:
10032           more dparam docs
10033         * gst/gstindex.c:
10034           fix docs
10035         * libs/gst/controller/lib.c: (gst_controller_init):
10036           init just once
10037
10038 2006-01-31  Thomas Vander Stichele  <thomas at apestaart dot org>
10039
10040         * gst/gstelement.c: (gst_element_message_full):
10041           also show file/line/func if no additional debug was given
10042
10043 2006-01-31  Sebastien Moutte  <sebastien@moutte.net>
10044         
10045         * win32/vs7/grammar.vcproj:
10046           activate copy of autogenerated files for Release mode
10047
10048 2006-01-30  Sebastien Moutte  <sebastien@moutte.net>
10049         
10050         * win32/common/libgstreamer.def:
10051           export gst_value_compare
10052
10053 2006-01-30  Jan Schmidt  <thaytan@mad.scientist.com>
10054
10055         * plugins/elements/Makefile.am:
10056         * plugins/elements/gstelements.c:
10057         * plugins/elements/gstfdsink.c: (_do_init),
10058         (gst_fd_sink_base_init), (gst_fd_sink_class_init),
10059         (gst_fd_sink_init), (gst_fd_sink_dispose), (gst_fd_sink_query),
10060         (gst_fd_sink_render), (gst_fd_sink_check_fd), (gst_fd_sink_start),
10061         (gst_fd_sink_stop), (gst_fd_sink_unlock), (gst_fd_sink_update_fd),
10062         (gst_fd_sink_set_property), (gst_fd_sink_uri_get_type),
10063         (gst_fd_sink_uri_get_protocols), (gst_fd_sink_uri_get_uri),
10064         (gst_fd_sink_uri_set_uri), (gst_fd_sink_uri_handler_init):
10065         * plugins/elements/gstfdsink.h:
10066         Port fdsink to 0.10 (patch by Philippe Rouquier) (Fixes #325490)
10067
10068 2006-01-30  Stefan Kost  <ensonic@users.sf.net>
10069
10070         * docs/manual/advanced-dparams.xml:
10071           describe controller
10072         * docs/manual/advanced-position.xml:
10073         * docs/manual/basics-init.xml:
10074         * docs/manual/manual.xml:
10075         * docs/manual/titlepage.xml:
10076         * docs/pwg/pwg.xml:
10077         * docs/pwg/titlepage.xml:
10078           cleanup xml (more to come)
10079         * libs/gst/controller/gstcontroller.c:
10080           fix typo
10081
10082 2006-01-30  Sebastien Moutte  <sebastien@moutte.net>
10083         
10084         * win32/vs6/grammar.dsp:
10085           add autogen of gstmarshal.c,h for Release mode
10086                 
10087 2006-01-30  Wim Taymans  <wim@fluendo.com>
10088
10089         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
10090         (gst_base_sink_preroll_queue_empty), (gst_base_sink_commit_state),
10091         (gst_base_sink_handle_object), (gst_base_sink_event),
10092         (gst_base_sink_is_prerolled), (gst_base_sink_wait),
10093         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
10094         (gst_base_sink_handle_buffer), (gst_base_sink_set_flushing),
10095         (gst_base_sink_deactivate), (gst_base_sink_activate),
10096         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
10097         (gst_base_sink_query), (gst_base_sink_change_state):
10098         Basesink cleanups, remove some old code.
10099         Handle the case where a subclass can preroll in the render
10100         method (mostly audiosinks).
10101         Handle more events.
10102         Remove some locks around variables that are now protected
10103         with the PREROLL_LOCK (clock_id, flushing, ..).
10104         Optimize position query some more, do correct locking.
10105         Remove old code to push queue in state change, this is not
10106         needed anymore since preroll blocks on all prerollable items 
10107         now.
10108         Almost implemented as described in design doc.
10109
10110 2006-01-30  Wim Taymans  <wim@fluendo.com>
10111
10112         * tests/check/gst/gstbin.c: (GST_START_TEST):
10113         Wait for refcount to settle down before checking.
10114
10115 2006-01-30  Wim Taymans  <wim@fluendo.com>
10116
10117         * docs/design/part-element-sink.txt:
10118         Pseudo code overview of desired sink behaviour regarding
10119         preroll.
10120
10121 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
10122         * win32/vs6/grammar.dsp:
10123           fix some bugs in Release mode for autogenerated files
10124                 
10125 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
10126         * win32/common/libgstbase.def:
10127         * win32/common/libgstreamer.def:
10128           export some new symbols: gst_base_src_set_format,
10129           gst_iterator_next, gst_structure_set_valist
10130
10131 2006-01-29  Julien MOUTTE  <julien@moutte.net>
10132
10133         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked):
10134         Set pad functions unconditionally. Fixes #329105.
10135
10136 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
10137         * win32/vs8:
10138           add vs8 project files created by Sergey Scobich
10139
10140 2006-01-28  Jan Schmidt  <thaytan@mad.scientist.com>
10141
10142         * gst/gstutils.c: (gst_element_unlink_pads):
10143         Don't leak pad references.
10144
10145         * tests/check/elements/fakesink.c: (GST_START_TEST):
10146         * tests/check/generic/sinks.c: (GST_START_TEST):
10147         * tests/check/generic/states.c: (GST_START_TEST):
10148         * tests/check/gst/gstbin.c: (GST_START_TEST):
10149         * tests/check/gst/gstcaps.c: (GST_START_TEST):
10150         * tests/check/gst/gstelement.c: (GST_START_TEST):
10151         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
10152         * tests/check/gst/gstiterator.c: (GST_START_TEST):
10153         * tests/check/gst/gstvalue.c: (GST_START_TEST):
10154         Fix a bunch of leaks. Make generic/sinks.c
10155         use a bit less cpu by slowing the buffer rate
10156         between fakesrc and fakesink.
10157         
10158 2006-01-27  Stefan Kost  <ensonic@users.sf.net>
10159         * gst/gstcaps.c:
10160         * gst/gstelement.c: (gst_element_send_event):
10161         * gst/gstevent.c:
10162         * gst/gstinfo.c:
10163         * gst/gstiterator.c:
10164         * gst/gstiterator.h:
10165         * gst/gstpad.c: (gst_pad_send_event):
10166         * gst/gststructure.c:
10167         * gst/gsturi.c:
10168         * gst/gstutils.c:
10169         * gst/gstvalue.c:
10170         * libs/gst/base/gstadapter.c:
10171           doc fixes, to link to function, just write gst_cool_function(), don't
10172           prefix with '#'
10173
10174 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
10175
10176         * plugins/elements/gsttee.c: (gst_tee_do_push),
10177         (gst_tee_handle_buffer):
10178         Always prefer an actual return value from a src
10179         pad in place of NOT_LINKED. This means we return
10180         WRONG_STATE when all src pads are WRONG_STATE
10181         instead of NOT_LINKED.
10182
10183         Lock when replacing the last message to prevent
10184         racing with the get_property method.
10185
10186         Add debug output
10187
10188 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
10189
10190         * tests/check/Makefile.am:
10191         * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite),
10192         (main):
10193         Add a very simple check that should have caught the memleak I fixed
10194         last night (if not for the slice allocator hiding it)
10195
10196 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
10197
10198         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
10199         (gst_bin_remove_func), (gst_bin_handle_message_func),
10200         (bin_query_duration_fold), (bin_query_generic_fold):
10201         Clean up references to the clock provider when disposed or when
10202         handling a clock-lost message from it.
10203
10204         Unref sinks when performing a query via gst_iterator_fold, as the
10205         gst_bin_iterate_sinks iterator refs each item. (Fixes #323874)
10206
10207         * gst/gstclock.c: (gst_clock_class_init), (gst_clock_dispose),
10208         (gst_clock_set_master):
10209         Drop our reference to the master clock, if any, when we are disposed.
10210
10211         * gst/gsttypefindfactory.c: (gst_type_find_factory_dispose):
10212         Chain up in dispose. 
10213
10214 2006-01-26  Wim Taymans  <wim@fluendo.com>
10215
10216         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
10217         Add some debugging.
10218
10219 2006-01-26  Julien MOUTTE  <julien@moutte.net>
10220
10221         * plugins/elements/gsttee.c: (gst_tee_do_push),
10222         (gst_tee_handle_buffer): Apply patch from #328715. Tee now
10223         handles pad being NOT_LINKED or in WRONG_STATE.
10224
10225 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
10226
10227         * win32/MANIFEST:
10228           more updating
10229
10230 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
10231
10232         * win32/MANIFEST:
10233           remove obsolete entry
10234
10235 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
10236
10237         * docs/gst/gstreamer-sections.txt:
10238         * gst/gstbin.c: (bin_element_is_src), (src_iterator_filter),
10239         (gst_bin_iterate_sources), (gst_bin_send_event):
10240         * gst/gstbin.h:
10241         * gst/gstelement.c: (gst_element_send_event):
10242         * gst/gstevent.c:
10243         * gst/gstpad.c: (gst_pad_send_event):
10244           added code for downstream events, reviewed docs in gstevent.c
10245
10246 2006-01-25  Julien MOUTTE  <julien@moutte.net>
10247
10248         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
10249         We only query position using the clock in the playing state.
10250         Query peer in the other cases.
10251         * win32/common/config.h: Updates.
10252
10253 2006-01-24  Wim Taymans  <wim@fluendo.com>
10254
10255         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
10256         A clock entry that is scheduled for the exact time of the
10257         clock is still in time.
10258
10259         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
10260         (gst_base_sink_do_sync):
10261         Add some more debug info.
10262
10263 2006-01-23  Sebastien Moutte  <sebastien@moutte.net>
10264
10265         * win32/vs7:
10266           Add new vs7 project files and solution.
10267
10268 2006-01-23  Sebastien Moutte  <sebastien@moutte.net>
10269
10270         * win32/vs7:
10271           all files removed as they were out-dated.
10272
10273 2006-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
10274
10275         * docs/random/release:
10276           update notes
10277         * gst/gstbin.c: (gst_bin_init):
10278         * gst/gstbus.c: (gst_bus_new):
10279         * gst/gstbus.h:
10280         * gst/gstpipeline.c: (gst_pipeline_init):
10281           use gst_bus_new(), improve logging, fix docs
10282         * win32/common/config.h:
10283           update for cvs build
10284
10285 2006-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
10286
10287         * autogen.sh:
10288           up required version of automake to 1.7
10289
10290 2006-01-20  Sebastien Moutte  <sebastien@moutte.net>
10291
10292         * win32/common/libgstreamer.def:
10293           export gst_buffer_is_metadata_writable
10294
10295 2006-01-20  Tim-Philipp Müller  <tim at centricular dot net>
10296
10297         * docs/gst/gstreamer-sections.txt:
10298         * gst/gstevent.h:
10299           Add gst_event_replace() (#327001)
10300
10301 2006-01-20  Wim Taymans  <wim@fluendo.com>
10302
10303         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
10304         Make it actually compile too..
10305
10306 2006-01-20  Wim Taymans  <wim@fluendo.com>
10307
10308         * gst/gstcaps.c:
10309         Clarify behaviour of _is_equal() when passing NULL parameters.
10310
10311         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
10312         (gst_pad_set_caps):
10313         Cleanups. Don't unref NULL caps.
10314         When setting the same caps, protect caps of the pad with
10315         proper lock.
10316         Use full functionality of _is_equal() when comparing caps.
10317
10318 2006-01-20  Jan Schmidt  <thaytan@mad.scientist.com>
10319
10320         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
10321         Don't loop infinitely if there are no buffers to present. Partially
10322         fixes #327197, but collectpads is just broken for reusing elements
10323         to do multiple encodes atm.
10324
10325 2006-01-20  Jan Schmidt  <thaytan@mad.scientist.com>
10326
10327         * tools/gst-inspect.c: (print_element_features):
10328         * tools/gst-xmlinspect.c: (main):
10329         URL_HANDLER is not a plugin feature we can search for in
10330         the registry.
10331
10332 2006-01-19  Edward Hervey  <edward@fluendo.com>
10333
10334         * gst/gstelement.c: (gst_element_pads_activate): 
10335         When activating, do src pads first, then sink pads.
10336         When de-activating, do sink pads first, then src pads.
10337
10338 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
10339
10340         * docs/gst/gstreamer-sections.txt:
10341         Add gst_index_add_associationv to the docs
10342
10343 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
10344
10345         * gst/gstevent.c:
10346           Fix docs typo
10347
10348         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event),
10349         (gst_queue_chain), (gst_queue_push_one), (gst_queue_loop):
10350           Do some refactoring. Doesn't actually change functionality,
10351           but makes landing the DRAIN event easier later.
10352
10353 2006-01-19  Tim-Philipp Müller  <tim at centricular dot net>
10354
10355         * docs/pwg/advanced-scheduling.xml:
10356           Update from 0.9.x to 0.10 API and make example a bit
10357           clearer.
10358
10359 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
10360
10361         * docs/gst/gstreamer-sections.txt:
10362         Add gst_buffer_(is|make)_metadata_writable methods.
10363
10364 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
10365
10366         * docs/design/part-sparsestreams.txt:
10367         Update sparse streams doc, hopefully for greater clarity
10368
10369 2006-01-18  Jan Schmidt  <thaytan@mad.scientist.com>
10370
10371         * docs/design/part-events.txt:
10372         Remove mention of FILLER events.
10373         Add DRAIN event.
10374
10375         * docs/design/part-sparsestreams.txt:
10376         Write some things about using NEWSEGMENT to keep sparse streams
10377         flowing.
10378
10379 2006-01-18  Tim-Philipp Müller  <tim at centricular dot net>
10380
10381         * gst/gstbin.c: (gst_bin_dispose):
10382           Guard gst_object_unref call against a NULL object (dispose
10383           can theoretically be called multiple times).
10384           
10385 2006-01-18  Wim Taymans  <wim@fluendo.com>
10386
10387         * gst/gstbin.c: (gst_bin_element_set_state):
10388         * gst/gstclock.c: (gst_clock_id_wait):
10389         Added some more debug info.
10390
10391         * libs/gst/base/gstadapter.c:
10392         Added more docs.
10393
10394         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
10395         (gst_base_sink_do_sync), (gst_base_sink_chain):
10396         Added some comments.
10397
10398 2006-01-18  Wim Taymans  <wim@fluendo.com>
10399
10400         * tests/check/Makefile.am:
10401         * tests/check/elements/fakesink.c: (chain_async_buffer),
10402         (chain_async), (chain_async_return), (GST_START_TEST),
10403         (fakesink_suite), (main):
10404         Added fakesink test that checks prerolling and clipping
10405         behaviour.
10406
10407         * tests/check/gst/gstutils.c: (GST_START_TEST):
10408         Make check run faster so that buildbots don't timeout.
10409
10410 2006-01-18  Wim Taymans  <wim@fluendo.com>
10411
10412         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
10413         (gst_base_sink_do_sync):
10414         Some cleanups.
10415         When the sink finishes blocking on the preroll buffer, it can
10416         immediatly render it instead of rendering when the next buffer
10417         arrives.
10418
10419 2006-01-18  Wim Taymans  <wim@fluendo.com>
10420
10421         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_property),
10422         (gst_base_sink_get_property), (gst_base_sink_do_sync),
10423         (gst_base_sink_chain):
10424         Small cleanups.
10425         GST_ELEMENT_CLOCK and sync are protected with LOCK.
10426         Don't store _last_stop if the buffer is dropped.
10427
10428 2006-01-18  Tim-Philipp Müller  <tim at centricular dot net>
10429
10430         * plugins/elements/gsttypefindelement.c:
10431         (gst_type_find_element_class_init):
10432           'have-type' signal needs to be G_SIGNAL_RUN_FIRST, as it is the
10433           object method handler that sets the caps on the pad and we want
10434           that to happen before we emit the signal (fixes e.g. feeding a
10435           plain text file to decodebin).
10436
10437 2006-01-18  Christian Schaller  <Christian@fluendo.com>
10438
10439         * gst/gstplugin.c: Add MPL and Proprietary as license options
10440
10441 2006-01-18  Andy Wingo  <wingo@pobox.com>
10442
10443         * gst/gstindex.h (gst_index_add_associationv): Add to header. The
10444         symbol was exported before, it appears this was just an oversight.
10445         Fixes #168703.
10446         Patch by: Torsten Schoenfeld <kaffeetisch at gmx.de>
10447
10448         * gst/gstindex.c (gst_index_add_associationv): Changed int in
10449         prototype to gint. OK since this prototype was not in the header.
10450
10451 2006-01-17  Andy Wingo  <wingo@pobox.com>
10452
10453         * gst/gstregistry.c (_gst_registry_remove_cache_plugins): Lock the
10454         registry while we remove plugins.
10455
10456         * tools/gst-inspect.c (print_element_info): Don't unref the
10457         factory arg, that should be the responsibility of whatever code
10458         received the ref. Fixes a double-free when called from
10459         print_element_list via gst-inspect-0.10 -a. Fixes #327324.
10460         (main): Unref the factory if we have one.
10461         (print_element_list): No change -- relies on the
10462         plugin_feature_list_free to free the list of features.
10463
10464 2006-01-17  Jan Schmidt  <thaytan@mad.scientist.com>
10465
10466         * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
10467         (gst_buffer_make_metadata_writable):
10468         * gst/gstbuffer.h:
10469         * libs/gst/base/gstbasetransform.c:
10470         (gst_base_transform_prepare_output_buf):
10471         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
10472         * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
10473           Replace gst_buffer_(make|is)_metadata_writable patch now
10474           that the release is out.
10475
10476 2006-01-17  Andy Wingo  <wingo@pobox.com>
10477
10478         * gst/gstregistry.c: Reflow design comment. Update so as to speak
10479         in the present tense without reference to versions.
10480
10481         * gst/gstregistry.c (gst_registry_add_plugin)
10482         (gst_registry_remove_plugin, gst_registry_remove_feature)
10483         (gst_registry_find_feature, gst_registry_get_feature_list)
10484         (gst_registry_get_plugin_list, gst_registry_lookup_feature)
10485         (gst_registry_lookup, gst_registry_scan_path)
10486         (_gst_registry_remove_cache_plugins)
10487         (gst_registry_get_feature_list_by_plugin): Add argument
10488         validation.
10489
10490 === release 0.10.2 ===
10491
10492 2006-01-16  Thomas Vander Stichele <thomas at apestaart dot org>
10493
10494         * configure.ac:
10495           releasing 0.10.2, "If man is five"
10496
10497 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
10498
10499         * gst/gstbuffer.c:
10500         * gst/gstbuffer.h:
10501         * libs/gst/base/gstbasetransform.c:
10502         (gst_base_transform_prepare_output_buf):
10503         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
10504         * tests/check/gst/gstbuffer.c: (gst_test_suite):
10505           Back out patch until after the release.
10506
10507 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
10508
10509         * gst/gstminiobject.c:
10510           Spelling fix in docs.
10511         * ChangeLog - remove conflict indicator
10512
10513 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
10514
10515         Reviewed By: Andy Wingo
10516
10517         * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
10518         (gst_buffer_make_metadata_writable):
10519         * gst/gstbuffer.h:
10520           Add gst_buffer_(is|make)_metadata_writable as analogues of
10521           gst_buffer_(is|make)_writable.
10522
10523         * libs/gst/base/gstbasetransform.c:
10524         (gst_base_transform_prepare_output_buf):
10525         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
10526           Use name gst_buffer_(is|make)_metadata_writable functions.
10527
10528         * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
10529           Test gst_buffer_(is|make)_metadata_writable
10530         
10531           (Closes: #324162)
10532
10533 2006-01-14  Thomas Vander Stichele  <thomas at apestaart dot org>
10534
10535         * docs/manual/Makefile.am:
10536           don't do parallel make
10537         * configure.ac:
10538           AC_SUBST HOST_CPU
10539         * win32/common/config.h.in:
10540           add generations for HOST_CPU and GST_MAJORMINOR
10541         * win32/common/config.h:
10542           commit generated result
10543
10544 2006-01-13  Tim-Philipp Müller  <tim at centricular dot net>
10545
10546         * docs/manual/appendix-integration.xml:
10547           Update GNOME integration section to use gst_init_get_option_group()
10548           instead of the old popt stuff (#322911). Also, GNOME applications
10549           should  now use gconf*sink and gconf*src instead of the old gconf
10550           helper lib we had.
10551
10552 2006-01-13  Stefan Kost  <ensonic@users.sf.net>
10553
10554
10555         * docs/gst/gstreamer-docs.sgml:
10556         * docs/gst/gstreamer-sections.txt:
10557         * docs/libs/gstreamer-libs-sections.txt:
10558           add new API entries to the docs
10559         * libs/gst/controller/Makefile.am:
10560         * libs/gst/controller/gstcontroller.c:
10561         * libs/gst/controller/gstcontroller.h:
10562         * libs/gst/controller/gstcontrollerprivate.h:
10563         * libs/gst/controller/gsthelper.c:
10564         * libs/gst/controller/gstinterpolation.c:
10565           move private structs to private header
10566         * po/README:
10567           gstreamer-0.7 -> gstreamer-0.10
10568         * tests/check/libs/struct_i386.h:
10569           remove private structs
10570
10571 2006-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
10572
10573         * plugins/indexers/Makefile.am:
10574           Fixes as part of #317048
10575
10576 2006-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
10577
10578         * plugins/indexers/Makefile.am:
10579           fix #316086 - compilation when mmap is missing
10580
10581 2006-01-12  Sebastien Moutte  <sebastien@moutte.net>
10582
10583         * libs/gst/base/gstbasesink.c:
10584           *cur = (now - base) * basesink->segment.abs_rate + time; replaced by 
10585           *cur = gst_guint64_to_gdouble(now - base) * basesink->segment.abs_rate + time; for vs6
10586         * win32/common/config.h:
10587           added some defines GST_MAJORMINOR and HOST_CPU
10588         * win32/common/libgstbase.def:
10589         * win32/common/libgstreamer.def:
10590           added some exported functions.
10591
10592 2006-01-12  Stefan Kost  <ensonic@users.sf.net>
10593
10594         * libs/gst/controller/gstcontroller.c:
10595         (gst_controlled_property_set_interpolation_mode),
10596         (gst_controlled_property_new):
10597         * libs/gst/controller/gstcontroller.h:
10598         * libs/gst/controller/gstinterpolation.c:
10599         (interpolate_none_get_string_value_array):
10600           make G_TYPE_STRING controlable
10601
10602 2006-01-12  Stefan Kost  <ensonic@users.sf.net>
10603
10604         * tools/README:
10605         * tools/gst-feedback.1.in:
10606         * tools/gst-inspect.1.in:
10607         * tools/gst-launch.1.in:
10608         * tools/gst-md5sum.1.in:
10609         * tools/gst-typefind.1.in:
10610         * tools/gst-xmlinspect.1.in:
10611         * tools/gst-xmllaunch.1.in:
10612           cleanup man-pages, remove reference to gst-register, document env-vars
10613
10614 2006-01-12  Jan Schmidt  <thaytan@mad.scientist.com>
10615
10616         * gst/gstbuffer.c: (gst_buffer_span):
10617           gst_buffer_span should copy the timestamp of the first buffer
10618           if they were both originally overlapping subbuffers of the 
10619           same parent, using the same logic as the 'slow copy' case.
10620
10621 2006-01-11  Jan Schmidt  <thaytan@mad.scientist.com>
10622
10623         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop):
10624           Need to awaken ALL the pads when we pop a buffer, otherwise
10625           collectpads only works when there is 2 input streams.
10626
10627 2006-01-11  Stefan Kost  <ensonic@users.sf.net>
10628
10629         * docs/random/ensonic/media-device-daemon.txt:
10630           more ideas (dbus)
10631         * gst/gstbuffer.c:
10632           fix doc example, add clarification
10633         * tools/gst-launch.1.in:
10634           add initial info about GST_PLUGIN_PATH, needs more work
10635
10636 2006-01-11  Tim-Philipp Müller  <tim at centricular dot net>
10637
10638         * docs/manual/basics-bins.xml:
10639         * docs/manual/basics-elements.xml:
10640         * docs/manual/intro-basics.xml:
10641           Some more minor docs additions and updates.
10642
10643 2006-01-11  Wim Taymans  <wim@fluendo.com>
10644
10645         * docs/manual/basics-bins.xml:
10646         * docs/manual/basics-elements.xml:
10647         Some small fixes as pointed out by Ser-ver on IRC.
10648
10649 2006-01-10  Edward Hervey  <edward@fluendo.com>
10650
10651         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
10652         Set the buffer offset/offset_end to GST_CLOCK_TIME_NONE when using
10653         the single-segment mode.
10654
10655 2006-01-10  Brian Cameron  <brian dot cameron at sun dot com>
10656
10657         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
10658
10659         * libs/gst/base/gstbasesrc.c: (gst_base_src_init),
10660         (gst_base_src_perform_seek), (gst_base_src_send_event),
10661         (gst_base_src_set_property), (gst_base_src_get_property),
10662         (gst_base_src_loop), (gst_base_src_start),
10663         (gst_base_src_activate_push):
10664         * libs/gst/base/gstbasesrc.h:
10665           Name (private) union; makes Sun's Forte compiler happy (#324900).
10666
10667 2006-01-09  Tim-Philipp Müller  <tim at centricular dot net>
10668
10669         * README:
10670           gst-register is gone.
10671
10672 2006-01-07  Thomas Vander Stichele  <thomas at apestaart dot org>
10673
10674         * gst/gstvalue.c: (_gst_value_initialize):
10675           make the G_TYPE_DATE instantiation work if debug is disabled
10676
10677 2006-01-06  Tim-Philipp Müller  <tim at centricular dot net>
10678
10679         * gst/gstmessage.c: (gst_message_parse_tag),
10680         (gst_message_parse_error), (gst_message_parse_warning):
10681           Don't crash when return location for error/warning debug
10682           string is NULL; add fact that return locations can be
10683           NULL to docs where appropriate.
10684
10685 2006-01-05  Wim Taymans  <wim@fluendo.com>
10686
10687         * gst/gstplugin.c: (gst_plugin_load_file):
10688         Replace strdup by g_strdup.
10689
10690 2006-01-05  Thomas Vander Stichele  <thomas at apestaart dot org>
10691
10692         * docs/pwg/advanced-types.xml:
10693           fix doc borkage
10694
10695 2006-01-05  Thomas Vander Stichele  <thomas at apestaart dot org>
10696
10697         submitted by: Abel Cheung
10698
10699         * po/LINGUAS:
10700         * po/zh_TW.po:
10701           Added Chinese (traditional) translation
10702
10703 2006-01-04  Wim Taymans  <wim@fluendo.com>
10704
10705         * docs/manual/basics-pads.xml:
10706         * docs/plugins/Makefile.am:
10707         * docs/plugins/gstreamer-plugins-docs.sgml:
10708         * docs/plugins/gstreamer-plugins-sections.txt:
10709         * docs/pwg/advanced-clock.xml:
10710         * docs/pwg/advanced-scheduling.xml:
10711         * docs/pwg/advanced-types.xml:
10712         * plugins/elements/gstfdsink.c:
10713         * plugins/elements/gstfdsrc.c:
10714         * plugins/elements/gstfdsrc.h:
10715         * plugins/elements/gstidentity.c: (gst_identity_class_init):
10716         * plugins/elements/gstidentity.h:
10717         * plugins/elements/gstqueue.h:
10718         * plugins/elements/gsttee.c:
10719         * plugins/elements/gsttee.h:
10720         * plugins/elements/gsttypefindelement.c:
10721         (gst_type_find_element_class_init):
10722         * plugins/elements/gsttypefindelement.h:
10723         Small updates to various docs.
10724         Added core plugins to docs.
10725
10726 2006-01-03  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
10727
10728         * common/gst.supp:
10729           add a suppression for liboil's uninitialized variable
10730
10731 2006-01-02  James Livingston  <jrl at ids dot org dot au>
10732
10733         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
10734
10735         * gst/gstutils.h:
10736           Add prototype for _get_type() function to GST_BOILERPLATE_FULL
10737           macro, so that gcc doesn't complain if the -Wmissing-prototypes
10738           compiler switch is being used (#325429).
10739
10740 2005-12-29  Tim-Philipp Müller  <tim at centricular dot net>
10741
10742         * gst/gstbin.c: (gst_bin_query):
10743           Disable duration query caching in bins until it gets
10744           fixed (see #324807).
10745
10746 2005-12-27  Tim-Philipp Müller  <tim at centricular dot net>
10747
10748         * tools/gst-inspect.c: (print_element_properties_info):
10749           Handle properties of POINTER and BOXED type.
10750
10751 2005-12-27  Tim-Philipp Müller  <tim at centricular dot net>
10752
10753         * gst/gst.c: (init_post):
10754           Init tags stuff and some other things before loading
10755           any static plugins (there may be other static plugins
10756           than just the GStreamer ones, and they may want to
10757           register their own tags or formats or whatever, and
10758           preferably without segfaulting).
10759
10760         * plugins/elements/gstqueue.c: (gst_queue_handle_src_query):
10761           Print at least a warning in the debug logs if we drop a
10762           query just because we don't know how to adjust the value
10763           in the particular format.
10764
10765 2005-12-24  David Schleef  <ds@schleef.org>
10766
10767         * tools/gstreamer-completion:
10768           Replacement for gst-complete written in sh and sed.  Only
10769           completes names of features, but that's 90% of what I want
10770           it for.  Properties are not available in registry.xml.  (Maybe
10771           they should be...)
10772
10773 === release 0.10.1 ===
10774
10775 2005-12-23  Thomas Vander Stichele <thomas at apestaart dot org>
10776
10777         * configure.ac:
10778           releasing 0.10.1, "Nollaig chridheil"
10779
10780 2005-12-22  Tim-Philipp Müller  <tim at centricular dot net>
10781
10782         * docs/faq/cvs.xml:
10783           Add missing quote, should be make ERROR_CFLAGS="".
10784
10785 2005-12-20  Wim Taymans  <wim@fluendo.com>
10786
10787         * docs/design/part-trickmodes.txt:
10788         More documentation on trickmodes.
10789
10790 2005-12-20  Edward Hervey  <edward@fluendo.com>
10791
10792         * gst/gstcaps.c: (gst_static_caps_get_type):
10793         * gst/gstcaps.h:
10794           API addition: GST_TYPE_STATIC_CAPS
10795         Added gpointer GType for GstStaticCaps so we can wrap them in bindings.
10796         * gst/gstpadtemplate.c: (gst_static_pad_template_get_type):
10797         * gst/gstpadtemplate.h:
10798           API addition: GST_TYPE_STATIC_PAD_TEMPLATE
10799         Added gpointer GType for GstStaticPadTemplate so we can wrap them in
10800         bindings.
10801
10802 2005-12-18  Wim Taymans  <wim@fluendo.com>
10803
10804         * libs/gst/base/gstadapter.c:
10805         * libs/gst/base/gstadapter.h:
10806         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
10807         (gst_base_sink_get_position):
10808         * libs/gst/base/gstbasesink.h:
10809         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
10810         (gst_base_src_default_query), (gst_base_src_default_do_seek),
10811         (gst_base_src_do_seek), (gst_base_src_perform_seek),
10812         (gst_base_src_send_event), (gst_base_src_update_length),
10813         (gst_base_src_get_range), (gst_base_src_loop),
10814         (gst_base_src_start):
10815         * libs/gst/base/gstbasesrc.h:
10816         * libs/gst/base/gstbasetransform.h:
10817         * libs/gst/base/gstcollectpads.h:
10818         * libs/gst/base/gstpushsrc.c:
10819         * libs/gst/base/gstpushsrc.h:
10820         * libs/gst/dataprotocol/dataprotocol.c:
10821         * libs/gst/dataprotocol/dataprotocol.h:
10822         * libs/gst/net/gstnetclientclock.h:
10823         * libs/gst/net/gstnettimeprovider.h:
10824         Documentation updates.
10825
10826 2005-12-18  Tim-Philipp Müller  <tim at centricular dot net>
10827
10828         * docs/manual/basics-helloworld.xml:
10829           Remove superfluous closing bracket in helloworld example.
10830
10831 2005-12-17  Tim-Philipp Müller  <tim at centricular dot net>
10832
10833         * tools/gst-launch.1.in:
10834           Update gst-launch man page; add a section with useful
10835           environment variables. Fixes #323882.
10836
10837 2005-12-16  Stefan Kost  <ensonic@users.sf.net>
10838
10839         * gst/gst.c:
10840         * gst/gst_private.h:
10841           change some char* into char[]
10842
10843 2005-12-16  Wim Taymans  <wim@fluendo.com>
10844
10845         * gst/gstregistryxml.c: (load_feature):
10846         Cleanups.
10847         Don't use g_object_unref on GstObjects so that we avoid
10848         leaks on unsafe glibs.
10849
10850 2005-12-16  Wim Taymans  <wim@fluendo.com>
10851
10852         * gst/gstbin.c: (gst_bin_recalc_state):
10853         Small doc updates.
10854
10855 2005-12-16  Wim Taymans  <wim@fluendo.com>
10856
10857         * common/check.mak:
10858         Added make forever target for check.
10859
10860 2005-12-16  Thomas Vander Stichele  <thomas at apestaart dot org>
10861
10862         * gst/gst.c: (init_post):
10863           make the registry cache file HOST_CPU-dependent
10864
10865 2005-12-16  Andy Wingo  <wingo@pobox.com>
10866
10867         * plugins/elements/gstbufferstore.c
10868         (gst_buffer_store_cleared_func): Pay attention to g_list_append
10869         return value.
10870
10871         * tests/check/gst/gstobject.c
10872         (test_fake_object_name_threaded_unique): Pay attention to
10873         g_list_sort return value.
10874
10875 2005-12-16  Tim-Philipp Müller  <tim at centricular dot net>
10876
10877         * tools/gst-feedback-m.m:
10878           Update for 0.9/0.10 (fixes #323870).
10879
10880 2005-12-15  Tim-Philipp Müller  <tim at centricular dot net>
10881
10882         * gst/gstminiobject.c: (gst_value_mini_object_lcopy):
10883           Fix lcopy for mini objects, the mini object needs to be ref'ed.
10884           
10885         * tests/check/gst/gstminiobject.c: (my_foo_init),
10886         (my_foo_get_property), (my_foo_set_property), (my_foo_class_init),
10887         (test_value_collection), (gst_mini_object_suite):
10888           Add test to ensure refcounts end up as expected when passing
10889           GstMiniObjects through g_object_get() and g_object_set().
10890
10891 2005-12-14  Julien MOUTTE  <julien@moutte.net>
10892
10893         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
10894         (gst_collect_pads_remove_pad), (gst_collect_pads_is_collected),
10895         (gst_collect_pads_event), (gst_collect_pads_chain): Refactoring
10896         of collectpads. This version removes a lot of races without
10897         touching API/ABI. Yay !
10898
10899 2005-12-14  Jan Schmidt  <thaytan@mad.scientist.com>
10900
10901         * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_link_prepare):
10902           Don't allow activation of a srcpad in pull_range if it has no
10903           getrange function.
10904           Change some debug statements to be a little clearer
10905
10906         * plugins/elements/gsttypefindelement.c:
10907         (gst_type_find_handle_src_query):
10908           Check that we have a peer before executing queries thereupon.
10909
10910         * tests/examples/metadata/read-metadata.c: (message_loop):
10911           Use gst_bus_pop instead of gst_bus_poll when we just want it to
10912           immediately return us any available message with 0 timeout.
10913
10914 2005-12-12  Michael Smith  <msmith@fluendo.com>
10915
10916         * gst/gsttypefindfactory.c: (gst_type_find_factory_call_function):
10917           Don't unref factories after calling them.
10918         * libs/gst/base/gsttypefindhelper.c: (gst_type_find_helper):
10919         * plugins/elements/gsttypefindelement.c:
10920         (gst_type_find_element_chain):
10921           Free lists of factories after using them. Fixing typefinding memory
10922           leaks.
10923
10924 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
10925
10926         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
10927         (gst_plugin_feature_load):
10928           more meaningful debug output
10929         * configure.ac:
10930         * tests/Makefile.am:
10931         * tests/old/examples/Makefile.am:
10932           make make distcheck happy again
10933
10934 2005-12-12  Tim-Philipp Müller  <tim at centricular dot net>
10935
10936         * plugins/elements/gsttypefindelement.c: (stop_typefinding):
10937           Catch the special case where we are operating chain-based,
10938           but the downstream peer pad has no chain function. Emit a
10939           custom error message in this case instead of letting the
10940           core generate one implying that this is some sort of core
10941           bug. It's not, it just means that whatever got plugged
10942           into the pipeline downstream when we announced the type
10943           can only operate pull-based, while our source can only
10944           operate push-based (e.g. http://foo/bar.mov ! qtdemux ! ...)
10945           Error string has not been marked for translation yet, as
10946           it probably needs some more work first.
10947
10948         (gst_type_find_element_get_best_possibility):
10949           Add helper function to find the best of all available
10950           found possibilities that qualify given the min. threshold.
10951
10952         (gst_type_find_element_handle_event):
10953           Fix the case where we get an EOS while still in TYPEFIND
10954           mode (we want to chose the best of all possible types,
10955           not just the first type that happens to be in our unsorted
10956           list of possible types).
10957
10958         (gst_type_find_element_chain):
10959           Make sure we return GST_FLOW_ERROR when we errored out
10960           in stop_typefinding(); also, don't just find the best of
10961           all found type entries and then use the last examined
10962           type entry, but actually use the best entry.
10963
10964 2005-12-12  Tim-Philipp Müller  <tim at centricular dot net>
10965
10966         * tests/examples/typefind/typefind.c: (type_found):
10967         * tests/examples/xml/runxml.c: (xml_loaded):
10968           More gcc4 fixes and a mem leak fix.
10969
10970 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
10971
10972         * tests/examples/xml/createxml.c: (object_saved):
10973           gcc 4 fixes
10974
10975 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
10976
10977         * tests/Makefile.am:
10978           enable the examples even more
10979
10980 2005-12-12  Andy Wingo  <wingo@pobox.com>
10981
10982         * libs/gst/net/gstnettimeprovider.c
10983         (gst_net_time_provider_class_init, gst_net_time_provider_init)
10984         (gst_net_time_provider_set_property)
10985         (gst_net_time_provider_get_property):
10986         API addition: Export "active" as a GObject property.
10987         (gst_net_time_provider_thread): Only respond to time queries if
10988         the time provider is active.
10989
10990         * libs/gst/net/gstnettimeprovider.h: Add an "active" boolean to
10991         NetTimeProvider, preserving binary compat.
10992
10993 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
10994
10995         * tests/examples/controller/audio-example.c: (main):
10996         * tests/examples/launch/Makefile.am:
10997           convert comments again
10998
10999 2005-12-12  Wim Taymans  <wim@fluendo.com>
11000
11001         * libs/gst/base/gstpushsrc.c:
11002         Fix typo.
11003
11004 2005-12-12  Wim Taymans  <wim@fluendo.com>
11005
11006         * docs/libs/gstreamer-libs-sections.txt:
11007         Added new symbol to docs.
11008
11009         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
11010         (gst_base_src_init), (gst_base_src_set_format),
11011         (gst_base_src_default_query), (gst_base_src_query),
11012         (gst_base_src_default_do_seek), (gst_base_src_do_seek),
11013         (gst_base_src_perform_seek), (gst_base_src_send_event),
11014         (gst_base_src_default_event), (gst_base_src_event_handler),
11015         (gst_base_src_set_property), (gst_base_src_get_property),
11016         (gst_base_src_wait), (gst_base_src_do_sync),
11017         (gst_base_src_update_length), (gst_base_src_get_range),
11018         (gst_base_src_check_get_range), (gst_base_src_loop),
11019         (gst_base_src_default_negotiate), (gst_base_src_start),
11020         (gst_base_src_activate_push), (gst_base_src_activate_pull),
11021         (gst_base_src_change_state):
11022         * libs/gst/base/gstbasesrc.h:
11023         Implement seeking to other formats than _BYTES.
11024         Implement more seeking methods correctly.
11025         Doc updates.
11026         Added query vmethod.
11027         Added do_seek vmethod to make life easier for subclasses
11028         when seeking.
11029         API addition: gst_base_src_set_format()
11030
11031 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
11032
11033         * tests/examples/Makefile.am:
11034           added that too
11035
11036 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
11037
11038         * configure.ac:
11039         * docs/random/ensonic/media-device-daemon.txt:
11040         * tests/examples/controller/.cvsignore:
11041         * tests/examples/controller/Makefile.am:
11042         * tests/examples/controller/audio-example.c: (main):
11043         * tests/examples/helloworld/.cvsignore:
11044         * tests/examples/helloworld/Makefile.am:
11045         * tests/examples/helloworld/helloworld.c: (event_loop), (main):
11046         * tests/examples/launch/.cvsignore:
11047         * tests/examples/launch/Makefile.am:
11048         * tests/examples/launch/mp3parselaunch.c: (event_loop), (main):
11049         * tests/examples/metadata/.cvsignore:
11050         * tests/examples/metadata/Makefile.am:
11051         * tests/examples/metadata/read-metadata.c: (message_loop),
11052         (make_pipeline), (print_tag), (main):
11053         * tests/examples/queue/.cvsignore:
11054         * tests/examples/queue/Makefile.am:
11055         * tests/examples/queue/queue.c: (event_loop), (main):
11056         * tests/examples/typefind/.cvsignore:
11057         * tests/examples/typefind/Makefile.am:
11058         * tests/examples/typefind/typefind.c: (type_found), (event_loop),
11059         (main):
11060         * tests/examples/xml/.cvsignore:
11061         * tests/examples/xml/Makefile.am:
11062         * tests/examples/xml/createxml.c: (object_saved), (main):
11063         * tests/examples/xml/runxml.c: (xml_loaded), (event_loop), (main):
11064         * tests/old/examples/Makefile.am:
11065         * tests/old/examples/TODO:
11066         * tests/old/examples/controller/.cvsignore:
11067         * tests/old/examples/controller/Makefile.am:
11068         * tests/old/examples/controller/audio-example.c:
11069         * tests/old/examples/helloworld/.cvsignore:
11070         * tests/old/examples/helloworld/Makefile.am:
11071         * tests/old/examples/helloworld/helloworld.c:
11072         * tests/old/examples/launch/.cvsignore:
11073         * tests/old/examples/launch/Makefile.am:
11074         * tests/old/examples/launch/mp3parselaunch.c:
11075         * tests/old/examples/launch/mp3play:
11076         * tests/old/examples/manual/Makefile.am:
11077         * tests/old/examples/metadata/Makefile.am:
11078         * tests/old/examples/metadata/read-metadata.c:
11079         * tests/old/examples/queue/.cvsignore:
11080         * tests/old/examples/queue/Makefile.am:
11081         * tests/old/examples/queue/queue.c:
11082         * tests/old/examples/typefind/.cvsignore:
11083         * tests/old/examples/typefind/Makefile.am:
11084         * tests/old/examples/typefind/typefind.c:
11085         * tests/old/examples/xml/.cvsignore:
11086         * tests/old/examples/xml/Makefile.am:
11087         * tests/old/examples/xml/createxml.c:
11088         * tests/old/examples/xml/runxml.c:
11089           applied some simple fixing to some examples
11090           re-enabled the working examples
11091
11092 2005-12-12  Wim Taymans  <wim@fluendo.com>
11093
11094         * gst/gstsegment.c: (gst_segment_init),
11095         (gst_segment_set_last_stop), (gst_segment_set_seek),
11096         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
11097         (gst_segment_to_running_time):
11098         Added more documentation.
11099         Make sure the last_pos value is updated properly.
11100         Make sure to_stream_time and to_running_time don't
11101         operate on wrong values.
11102
11103         * tests/check/gst/gstsegment.c: (GST_START_TEST):
11104         Update check.
11105
11106 2005-12-12  Michael Smith  <msmith@fluendo.com>
11107
11108         * plugins/elements/gsttypefindelement.c: (free_entry),
11109         (gst_type_find_element_chain):
11110           Now that we're not leaking factories, make sure we keep references
11111           to them while we need them.
11112
11113 2005-12-12  Thomas Vander Stichele  <thomas at apestaart dot org>
11114
11115         * tests/check/gst/struct_i386.h:
11116           ifdef out the XML structs
11117
11118 2005-12-12  Thomas Vander Stichele  <thomas at apestaart dot org>
11119
11120         * gst/gstvalue.c: (gst_value_transform_double_fraction):
11121           floor is not needed, F is always positive; this obviates the
11122           need for adding -lm when building without libxml
11123
11124 2005-12-12  Wim Taymans  <wim@fluendo.com>
11125
11126         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
11127         Take current playback rate into account when reporting
11128         the position.
11129
11130 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
11131
11132         * docs/manual/mime-world.fig:
11133           Let's try this again, this time with a file that is
11134           actually in XFig format.
11135
11136 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
11137
11138         * docs/manual/mime-world.fig:
11139           Add audioconvert element to diagram so that it
11140           matches the text and the code (fixes #319526).
11141
11142 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
11143
11144         * docs/pwg/building-chainfn.xml:
11145         * docs/pwg/building-pads.xml:
11146         * docs/pwg/building-state.xml:
11147         * docs/pwg/other-source.xml:
11148           Update state change stuff for 0.10 (fixes #322969).
11149
11150 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
11151
11152         * docs/manual/advanced-dataaccess.xml:
11153         * docs/manual/appendix-checklist.xml:
11154         * docs/manual/appendix-programs.xml:
11155         * docs/manual/basics-pads.xml:
11156         * docs/manual/highlevel-components.xml:
11157         * docs/manual/manual.xml:
11158           Update for 0.10: s/0.9/0.10/; s/audioscale/audiorsample/;
11159           add converters in front of pipelines; remove curly
11160           brackets for threads stuff, they no longer exist; use
11161           GST_TYPE_FRACTION for framerates; update some pieces of
11162           code to 0.10, but there's plenty more to do.
11163
11164         * docs/manual/appendix-porting.xml:
11165           Expand on asynchroneous state changes; s/0.9/0.10/;
11166           mention disappearance of gst_init_get_popt_table()
11167           (fixes #322916).
11168
11169 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
11170
11171         * docs/faq/using.xml:
11172           Spider no longer exists, and neither does gst-launch-ext.
11173           Update examples to use decodebin and playbin and put
11174           converters in front of sinks (fixes #323726).
11175
11176 2005-12-09  Michael Smith  <msmith@fluendo.com>
11177
11178         * plugins/elements/gsttypefindelement.c: (find_peek),
11179         (gst_type_find_element_chain):
11180           Fix leaking element factories in typefinding.
11181           Fix problem where we forgot about a probable type on non-seekable
11182           files, and thus later mis-typefound it.
11183
11184 2005-12-09  Michael Smith  <msmith@fluendo.com>
11185
11186         * common/m4/gst-makecontext.m4:
11187         * common/m4/gst-mcsc.m4:
11188         * configure.ac:
11189         * win32/common/config.h:
11190         * win32/common/config.h.in:
11191           Remove makecontext stuff; not used in 0.10 and causes problems on
11192           HPUX according to bug #322441
11193
11194 2005-12-07  Wim Taymans  <wim@fluendo.com>
11195
11196         * tests/check/Makefile.am:
11197         * tests/check/libs/libsabi.c: (GST_START_TEST), (gstabi_suite),
11198         (main):
11199         * tests/check/libs/struct_i386.h:
11200         Added ABI check for libs
11201
11202 2005-12-07  Wim Taymans  <wim@fluendo.com>
11203
11204         * tests/check/Makefile.am:
11205         And add the struct_i386.h to dist.
11206
11207 2005-12-07  Wim Taymans  <wim@fluendo.com>
11208
11209         * tests/check/Makefile.am:
11210         * tests/check/gst/.cvsignore:
11211         * tests/check/gst/gstabi.c: (GST_START_TEST), (gstabi_suite),
11212         (main):
11213         * tests/check/gst/struct_i386.h:
11214         Added check for ABI compatibility.
11215
11216 2005-12-07  Wim Taymans  <wim@fluendo.com>
11217
11218         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
11219         (gst_fake_src_get_times), (gst_fake_src_create):
11220         Fix broken sync option, fixes #323259
11221
11222 2005-12-07  Wim Taymans  <wim@fluendo.com>
11223
11224         * gst/gstbuffer.c:
11225         Small docs update.
11226
11227         * gst/gstcaps.c: (gst_caps_is_equal):
11228         Don't assert on NULL <--> X. Fixes #323260
11229
11230         * gst/gstminiobject.c: (gst_mini_object_replace):
11231         If we're doing atomic operations, we might just as well use
11232         the proper way to get an atomic pointer.
11233
11234         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
11235         Clean up debugging.
11236
11237 2005-12-07  Michael Smith  <msmith@fluendo.com>
11238
11239         * gst/parse/grammar.y:
11240           Remove handling of { } for threads.
11241
11242 2005-12-06  David Schleef  <ds@schleef.org>
11243
11244         * libs/gst/base/gstbasetransform.c: speling fix.
11245
11246 2005-12-06  Thomas Vander Stichele  <thomas at apestaart dot org>
11247
11248         * docs/libs/tmpl/gstdataprotocol.sgml:
11249         * docs/random/omega/testing/gstobject.c:
11250         * gst/gst.c:
11251         * gst/gstclock.c:
11252         * gst/gstelement.c:
11253         * gst/gstelementfactory.c:
11254         * gst/gsterror.c:
11255         * gst/gstevent.c:
11256         * gst/gstghostpad.c:
11257         * gst/gstinfo.c:
11258         * gst/gstpadtemplate.c:
11259         * gst/gstregistryxml.c:
11260         * gst/gsttaglist.c:
11261         * gst/gsttagsetter.c:
11262         * gst/gsttypefind.c:
11263         * gst/gstvalue.c:
11264         * libs/gst/base/gstbasesrc.c:
11265         * libs/gst/net/gstnetclientclock.c:
11266         * libs/gst/net/gstnettimeprovider.c:
11267         * plugins/elements/gstfakesrc.c:
11268         * plugins/elements/gstfdsrc.c:
11269         * plugins/elements/gstfilesrc.c:
11270         * plugins/elements/gstidentity.c:
11271         * plugins/elements/gstqueue.c:
11272         * plugins/elements/gsttypefindelement.c:
11273         * plugins/indexers/gstfileindex.c:
11274         * plugins/indexers/gstmemindex.c:
11275         * tests/check/gst/gsttag.c:
11276         * tests/old/examples/cutter/cutter.c:
11277         * tests/old/examples/mixer/mixer.c:
11278         * tests/old/examples/xml/runxml.c: (main):
11279         * tests/old/testsuite/caps/normalisation.c:
11280         * tests/old/testsuite/debug/global.c:
11281         * tests/old/testsuite/parse/parse1.c:
11282         * tools/gst-xmlinspect.c:
11283         * win32/common/dirent.c:
11284           expand tabs
11285
11286 === release 0.10.0 ===
11287
11288 2005-12-05  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
11289
11290         * configure.ac:
11291           releasing 0.10.0, "Maroilles"
11292
11293 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
11294
11295         submitted by: Funda Wang <fundawang@linux.net.cn>
11296
11297         * po/LINGUAS:
11298         * po/zh_CN.po:
11299           added Chinese (Traditional) translation
11300
11301 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
11302
11303         * docs/gst/gstreamer-sections.txt:
11304         * docs/libs/tmpl/gstdataprotocol.sgml:
11305         * docs/random/thomasvs/TODO:
11306         * gst/gstutils.c:
11307         * gst/gstutils.h:
11308           fix docs
11309
11310 2005-12-05  Andy Wingo  <wingo@pobox.com>
11311
11312         patch by: Wim Taymans <wim@fluendo.com>
11313
11314         * libs/gst/base/gstbasetransform.c
11315         (gst_base_transform_prepare_output_buf)
11316         (gst_base_transform_buffer_alloc):
11317         * plugins/elements/gstqueue.c (gst_queue_bufferalloc): Call
11318         alloc_buffer_and_set_caps.
11319
11320         * gst/gstpad.c (gst_pad_alloc_buffer): Changed to not call
11321         set_caps on the source pad.
11322         (gst_pad_alloc_buffer_and_set_caps): New function, does what
11323         alloc_buffer used to do. Fixes #322874.
11324
11325         * docs/gst/gstreamer-sections.txt: 
11326         * docs/design/part-negotiation.txt: 
11327         * docs/pwg/advanced-negotiation.xml: Update for the alloc_buffer
11328         changes.
11329
11330 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
11331
11332         patch by: Sebastien Moutte
11333
11334         * win32/MANIFEST:
11335         * win32/common/config.h.in:
11336         * win32/vs6/libgstcontroller.dsp:
11337           win32 build fixes
11338
11339 2005-12-05  Wim Taymans  <wim@fluendo.com>
11340
11341         * gst/gstcaps.c: (gst_caps_is_equal):
11342         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
11343         (gst_fake_src_create):
11344         Back out previous code changes, leave doc updates, file bugs 
11345         instead. 
11346
11347 2005-12-05  Wim Taymans  <wim@fluendo.com>
11348
11349         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
11350         (gst_fake_src_get_times), (gst_fake_src_create):
11351         * plugins/elements/gstfakesrc.h:
11352         Fix broken sync code.
11353
11354 2005-12-05  Wim Taymans  <wim@fluendo.com>
11355
11356         * gst/gstcaps.c: (gst_caps_is_equal):
11357         Comparing NULL against !NULL yields different caps, not a
11358         failure.
11359
11360 2005-12-05  Wim Taymans  <wim@fluendo.com>
11361
11362         * gst/gstpipeline.c:
11363         Fix small typo in docs.
11364
11365 2005-12-05  Andy Wingo  <wingo@pobox.com>
11366
11367         patch by: Thomas Vander Stichele  <thomas at apestaart dot org>
11368
11369         * gst/gst.c (init_post): remove hard-coded 0.9 location for
11370         registries/plugins with a MAJORMINOR one.
11371         (plugin_desc): Rename library from gstcoreleements to
11372         staticelements. Fixes #323222.
11373
11374 2005-12-05  Tim-Philipp Müller  <tim at centricular dot net>
11375
11376         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init):
11377           Change debug category to 'collectpads' from 'collect_pads'
11378           (fixes #323250).
11379
11380 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
11381
11382         patch by: Sebastien Moutte
11383
11384         * libs/gst/controller/gstinterpolation.c:
11385           use convert function for uint64/double
11386         * win32/vs6/libgstcontroller.dsp:
11387           link to GLib
11388
11389 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
11390
11391         * gst/gstutils.c: (gst_util_guint64_to_gdouble),
11392         (gst_util_gdouble_to_guint64), (gst_util_uint64_scale_int64):
11393         * gst/gstutils.h:
11394         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
11395           add tests that seem to show that the guint64/gdouble conversions
11396           are correct.
11397
11398 2005-12-02  Wim Taymans  <wim@fluendo.com>
11399
11400         * gst/gstregistry.c: (gst_registry_add_path):
11401         * gst/gstregistry.h:
11402         * gst/gstregistryxml.c:
11403         Fix docs again.
11404
11405 2005-12-02  Wim Taymans  <wim@fluendo.com>
11406
11407         * gst/gstutils.c: (gst_util_uint64_scale_int64),
11408         (gst_util_uint64_scale_int):
11409         Small cleanup.
11410
11411         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object):
11412         Add debug log line.
11413
11414         * libs/gst/base/gstbasetransform.c: (gst_base_transform_event):
11415         Add FIXME.
11416
11417 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
11418
11419         * win32/MANIFEST:
11420         * win32/common/config.h:
11421         * win32/vs6/gstreamer.dsw:
11422         * win32/vs6/libgstcoreelements.dsp:
11423         * win32/vs6/libgstelements.dsp:
11424           renamed core elements plugin
11425
11426 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
11427
11428         * tools/gst-run.c: (compare_major_minor), (find_highest_version),
11429         (get_candidates):
11430           do piece-wise major/minor comparison so 0.9 < 0.10
11431           also allow .exe extensions for tools
11432
11433 2005-12-02  Michael Smith  <msmith@fluendo.com>
11434
11435         * gst/gst.c:
11436           Escape a % to make gtkdoc happier; bug 322958.
11437
11438 === release 0.9.7 ===
11439
11440 2005-12-01  Thomas Vander Stichele <thomas (at) apestaart (dot) org>
11441
11442         * configure.ac:
11443           releasing 0.9.7, "My Dog Has No Nose"
11444
11445 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
11446
11447         * common/gst-xmlinspect.py:
11448         * configure.ac:
11449         * docs/libs/tmpl/gstdataprotocol.sgml:
11450         * docs/random/release:
11451         * po/af.po:
11452         * po/az.po:
11453         * po/bg.po:
11454         * po/ca.po:
11455         * po/cs.po:
11456         * po/de.po:
11457         * po/en_GB.po:
11458         * po/fr.po:
11459         * po/it.po:
11460         * po/nb.po:
11461         * po/nl.po:
11462         * po/ru.po:
11463         * po/sq.po:
11464         * po/sr.po:
11465         * po/sv.po:
11466         * po/tr.po:
11467         * po/uk.po:
11468         * po/vi.po:
11469         * win32/common/config.h:
11470         * win32/common/config.h.in:
11471         * win32/vs6/gst_inspect.dsp:
11472         * win32/vs6/gst_launch.dsp:
11473         * win32/vs6/libgstbase.dsp:
11474         * win32/vs6/libgstelements.dsp:
11475         * win32/vs6/libgstreamer.dsp:
11476         * win32/vs7/GStreamer.vcproj:
11477         * win32/vs7/gst-inspect.vcproj:
11478         * win32/vs7/gst-launch.vcproj:
11479         * win32/vs7/libgstbase.vcproj:
11480           bump GST_MAJORMINOR to 0.10
11481           reset libtool version
11482
11483 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
11484
11485         * po/LINGUAS:
11486         * po/bg.po:
11487           Added Bulgarian translation by (Alexander Shopov)
11488
11489 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
11490
11491         * tests/check/gst/gstplugin.c:
11492           fix test
11493
11494 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
11495
11496         * common/gst-xmlinspect.py:
11497         * common/gtk-doc-plugins.mak:
11498         * configure.ac:
11499         * docs/Makefile.am:
11500         * docs/gst/Makefile.am:
11501         * docs/gst/gstreamer-docs.sgml:
11502         * docs/gst/gstreamer-sections.txt:
11503         * docs/gst/gstreamer.types:
11504         * docs/gst/gstreamer.types.in:
11505         * docs/plugins/Makefile.am:
11506         * docs/plugins/gstreamer-plugins-docs.sgml:
11507         * docs/plugins/gstreamer-plugins-sections.txt:
11508         * docs/plugins/gstreamer-plugins.types:
11509         * docs/plugins/inspect.stamp:
11510         * docs/plugins/inspect/plugin-coreelements.xml:
11511         * docs/plugins/inspect/plugin-coreindexers.xml:
11512         * docs/plugins/scanobj-build.stamp:
11513         * gstreamer.spec.in:
11514         * plugins/elements/Makefile.am:
11515         * plugins/elements/gstelements.c:
11516         * plugins/elements/gstfakesink.c:
11517         * plugins/elements/gstfakesrc.c:
11518         * plugins/elements/gstfilesink.c:
11519         * plugins/elements/gstfilesrc.c:
11520         * plugins/elements/gstqueue.c:
11521         * plugins/indexers/Makefile.am:
11522         * plugins/indexers/gstindexers.c:
11523           document core plugins in a separate document just like all the
11524           others
11525           rename these plugins to something starting with core
11526
11527 2005-12-01  Andy Wingo  <wingo@pobox.com>
11528
11529         * gst/gstevent.h (struct _GstEvent): Meant to remove the extra
11530         padding here before, but it missed the commit.
11531
11532 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
11533
11534         * libs/gst/controller/gstinterpolation.c:
11535           whitespace prices have crashed, we should feel free to use some now
11536           use gst_guint64_to_gdouble
11537
11538 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
11539
11540         * libs/gst/controller/gstcontroller.c:
11541         * libs/gst/controller/gsthelper.c:
11542         * libs/gst/controller/gstinterpolation.c:
11543         * libs/gst/controller/lib.c:
11544           wrap config.h include
11545
11546 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
11547
11548         * docs/gst/gstreamer-sections.txt:
11549           update docs
11550
11551 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
11552
11553         * plugins/elements/gstelements.c:
11554         * plugins/elements/gstfdsink.c: (gst_fd_sink__base_init),
11555         (gst_fd_sink__class_init), (gst_fd_sink__init),
11556         (gst_fd_sink__chain), (gst_fd_sink__set_property),
11557         (gst_fd_sink__get_property):
11558         * plugins/elements/gstfdsink.h:
11559         * plugins/elements/gstfdsrc.c: (_do_init), (gst_fd_src_base_init),
11560         (gst_fd_src_class_init), (gst_fd_src_init), (gst_fd_src_dispose),
11561         (gst_fd_src_update_fd), (gst_fd_src_start), (gst_fd_src_stop),
11562         (gst_fd_src_unlock), (gst_fd_src_set_property),
11563         (gst_fd_src_get_property), (gst_fd_src_create),
11564         (gst_fd_src_is_seekable), (gst_fd_src_get_size),
11565         (gst_fd_src_uri_get_type), (gst_fd_src_uri_get_protocols),
11566         (gst_fd_src_uri_get_uri), (gst_fd_src_uri_set_uri),
11567         (gst_fd_src_uri_handler_init):
11568         * plugins/elements/gstfdsrc.h:
11569         * plugins/elements/gstqueue.c: (gst_queue_get_type):
11570           more anal cleanup
11571
11572 2005-11-30  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
11573
11574         * docs/gst/Makefile.am:
11575         * docs/gst/gstreamer.types.in:
11576         * gst/Makefile.am:
11577           fix the docs build
11578
11579 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
11580
11581         * configure.ac:
11582         * gst/Makefile.am:
11583         * gst/gst.c:
11584         * gst/gstplugin.h:
11585         * gst/gstregistry.h:
11586         * tests/benchmarks/complexity.c:
11587         * tests/benchmarks/mass-elements.c:
11588         * tests/check/Makefile.am:
11589         * tools/Makefile.am:
11590         * tools/gst-inspect.c:
11591         * tools/gst-xmlinspect.c:
11592           various fixes to make
11593           --disable-nls --disable-registry --disable-loadsave
11594           --disable-parse --disable-gst-debug
11595           work and get the core .so down to 360444 bytes after stripping
11596
11597 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
11598
11599         * Makefile.am:
11600         * configure.ac:
11601           descend into tests
11602         * docs/random/thomasvs/TODO:
11603         * tests/Makefile.am:
11604         * tests/README:
11605           add a README
11606
11607 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
11608
11609         * win32/GStreamer.vcproj:
11610         * win32/MANIFEST:
11611         * win32/Makefile:
11612         * win32/Makefile.inspect:
11613         * win32/Makefile.launch:
11614         * win32/Makefile.register:
11615         * win32/README.txt:
11616         * win32/gst-inspect.vcproj:
11617         * win32/gst-launch.vcproj:
11618         * win32/gst-register.vcproj:
11619         * win32/gstelements.vcproj:
11620         * win32/gstgetbits.def:
11621         * win32/gstgetbits.vcproj:
11622         * win32/gstreamer-dbg.def:
11623         * win32/gstreamer.def:
11624         * win32/libgstbase.def:
11625         * win32/libgstbase.vcproj:
11626         * win32/link_oldruntime.c:
11627         * win32/mman.c:
11628         * win32/mman.h:
11629         * win32/mman.inl:
11630         * win32/msvc71.sln:
11631           move even more stuff, win32/ is nice and clean now
11632
11633 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
11634
11635         * libs/gst/control/.cvsignore:
11636         * win32/MANIFEST:
11637         * win32/config.h:
11638         * win32/dirent.c:
11639         * win32/dirent.h:
11640         * win32/gstbytestream.def:
11641         * win32/gstbytestream.vcproj:
11642         * win32/gstconfig.h:
11643         * win32/gstenumtypes.c:
11644         * win32/gstenumtypes.h:
11645         * win32/gstoptimalscheduler.vcproj:
11646         * win32/gstversion.h:
11647         * win32/gtchar.h:
11648         * win32/testsuite/bins.vcproj:
11649         * win32/testsuite/bytestream.vcproj:
11650         * win32/testsuite/caps.vcproj:
11651         * win32/testsuite/cleanup.vcproj:
11652         * win32/testsuite/clock.vcproj:
11653         * win32/testsuite/debug.vcproj:
11654         * win32/testsuite/dlopen.vcproj:
11655         * win32/testsuite/dynparams.vcproj:
11656         * win32/testsuite/elements.vcproj:
11657         * win32/testsuite/ghostpads.vcproj:
11658         * win32/testsuite/indexers.vcproj:
11659         * win32/testsuite/negotiation.vcproj:
11660         * win32/testsuite/parse.vcproj:
11661         * win32/testsuite/plugin.vcproj:
11662         * win32/testsuite/refcounting.vcproj:
11663         * win32/testsuite/schedulers.vcproj:
11664         * win32/testsuite/states.vcproj:
11665         * win32/testsuite/tags.vcproj:
11666         * win32/testsuite/threads.vcproj:
11667           remove old win32 stuff that isn't maintained and should be
11668           reorganized
11669
11670 2005-11-30  Andy Wingo  <wingo@pobox.com>
11671
11672         * configure.ac (GST_PKG_DEPS): Revert previous patch, makes
11673         loading the gst.interfaces python module bork.
11674
11675         * configure.ac (GST_PKG_DEPS): Use gmodule-no-export-2.0.pc,
11676         available since GLib 2.2. Fixes #318031.
11677
11678 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
11679
11680         * Makefile.am:
11681         * check/.cvsignore:
11682         * check/Makefile.am:
11683         * check/elements/.cvsignore:
11684         * check/elements/fakesrc.c:
11685         * check/elements/fdsrc.c:
11686         * check/elements/identity.c:
11687         * check/generic/.cvsignore:
11688         * check/generic/states.c:
11689         * check/gst-libs/.cvsignore:
11690         * check/gst-libs/controller.c:
11691         * check/gst-libs/gdp.c:
11692         * check/gst/.cvsignore:
11693         * check/gst/capslist.h:
11694         * check/gst/gst.c:
11695         * check/gst/gstbin.c:
11696         * check/gst/gstbuffer.c:
11697         * check/gst/gstbus.c:
11698         * check/gst/gstcaps.c:
11699         * check/gst/gstelement.c:
11700         * check/gst/gstevent.c:
11701         * check/gst/gstghostpad.c:
11702         * check/gst/gstiterator.c:
11703         * check/gst/gstmessage.c:
11704         * check/gst/gstminiobject.c:
11705         * check/gst/gstobject.c:
11706         * check/gst/gstpad.c:
11707         * check/gst/gstpipeline.c:
11708         * check/gst/gstplugin.c:
11709         * check/gst/gstsegment.c:
11710         * check/gst/gststructure.c:
11711         * check/gst/gstsystemclock.c:
11712         * check/gst/gsttag.c:
11713         * check/gst/gstutils.c:
11714         * check/gst/gstvalue.c:
11715         * check/net/.cvsignore:
11716         * check/net/gstnetclientclock.c:
11717         * check/net/gstnettimeprovider.c:
11718         * check/pipelines/.cvsignore:
11719         * check/pipelines/cleanup.c:
11720         * check/pipelines/simple_launch_lines.c:
11721         * check/pipelines/stress.c:
11722         * check/states/.cvsignore:
11723         * check/states/sinks.c:
11724         * configure.ac:
11725         * examples/Makefile.am:
11726         * examples/appreader/.cvsignore:
11727         * examples/appreader/Makefile.am:
11728         * examples/appreader/appreader.c:
11729         * examples/controller/.cvsignore:
11730         * examples/controller/Makefile.am:
11731         * examples/controller/audio-example.c:
11732         * examples/cutter/.cvsignore:
11733         * examples/cutter/Makefile.am:
11734         * examples/cutter/cutter.c:
11735         * examples/cutter/cutter.h:
11736         * examples/events/Makefile.am:
11737         * examples/events/seek.c:
11738         * examples/helloworld/.cvsignore:
11739         * examples/helloworld/Makefile.am:
11740         * examples/helloworld/helloworld.c:
11741         * examples/helloworld2/.cvsignore:
11742         * examples/helloworld2/Makefile.am:
11743         * examples/helloworld2/helloworld2.c:
11744         * examples/launch/.cvsignore:
11745         * examples/launch/Makefile.am:
11746         * examples/launch/mp3parselaunch.c:
11747         * examples/launch/mp3play:
11748         * examples/manual/.cvsignore:
11749         * examples/manual/Makefile.am:
11750         * examples/manual/extract.pl:
11751         * examples/metadata/Makefile.am:
11752         * examples/metadata/read-metadata.c:
11753         * examples/mixer/.cvsignore:
11754         * examples/mixer/Makefile.am:
11755         * examples/mixer/mixer.c:
11756         * examples/mixer/mixer.h:
11757         * examples/pingpong/.cvsignore:
11758         * examples/pingpong/Makefile.am:
11759         * examples/pingpong/pingpong.c:
11760         * examples/plugins/.cvsignore:
11761         * examples/plugins/Makefile.am:
11762         * examples/plugins/example.c:
11763         * examples/plugins/example.h:
11764         * examples/pwg/.cvsignore:
11765         * examples/pwg/Makefile.am:
11766         * examples/pwg/extract.pl:
11767         * examples/queue/.cvsignore:
11768         * examples/queue/Makefile.am:
11769         * examples/queue/queue.c:
11770         * examples/queue2/.cvsignore:
11771         * examples/queue2/Makefile.am:
11772         * examples/queue2/queue2.c:
11773         * examples/queue3/.cvsignore:
11774         * examples/queue3/Makefile.am:
11775         * examples/queue3/queue3.c:
11776         * examples/queue4/.cvsignore:
11777         * examples/queue4/Makefile.am:
11778         * examples/queue4/queue4.c:
11779         * examples/retag/.cvsignore:
11780         * examples/retag/Makefile.am:
11781         * examples/retag/retag.c:
11782         * examples/retag/transcode.c:
11783         * examples/thread/.cvsignore:
11784         * examples/thread/Makefile.am:
11785         * examples/thread/thread.c:
11786         * examples/typefind/.cvsignore:
11787         * examples/typefind/Makefile.am:
11788         * examples/typefind/typefind.c:
11789         * examples/xml/.cvsignore:
11790         * examples/xml/Makefile.am:
11791         * examples/xml/createxml.c:
11792         * examples/xml/runxml.c:
11793         * tests/Makefile.am:
11794         * tests/check/Makefile.am:
11795         * testsuite/.cvsignore:
11796         * testsuite/Makefile.am:
11797         * testsuite/Rules:
11798         * testsuite/caps/.cvsignore:
11799         * testsuite/caps/Makefile.am:
11800         * testsuite/caps/app_fixate.c:
11801         * testsuite/caps/audioscale.c:
11802         * testsuite/caps/caps.c:
11803         * testsuite/caps/caps.h:
11804         * testsuite/caps/caps_strings:
11805         * testsuite/caps/compatibility.c:
11806         * testsuite/caps/deserialize.c:
11807         * testsuite/caps/enumcaps.c:
11808         * testsuite/caps/eratosthenes.c:
11809         * testsuite/caps/filtercaps.c:
11810         * testsuite/caps/fixed.c:
11811         * testsuite/caps/fraction-convert.c:
11812         * testsuite/caps/fraction-multiply-and-zero.c:
11813         * testsuite/caps/intersect2.c:
11814         * testsuite/caps/intersection.c:
11815         * testsuite/caps/normalisation.c:
11816         * testsuite/caps/random.c:
11817         * testsuite/caps/renegotiate.c:
11818         * testsuite/caps/sets.c:
11819         * testsuite/caps/simplify.c:
11820         * testsuite/caps/string-conversions.c:
11821         * testsuite/caps/structure.c:
11822         * testsuite/caps/subtract.c:
11823         * testsuite/caps/union.c:
11824         * testsuite/debug/.cvsignore:
11825         * testsuite/debug/Makefile.am:
11826         * testsuite/debug/category.c:
11827         * testsuite/debug/commandline.c:
11828         * testsuite/debug/global.c:
11829         * testsuite/debug/output.c:
11830         * testsuite/debug/printf_extension.c:
11831         * testsuite/dlopen/.cvsignore:
11832         * testsuite/dlopen/Makefile.am:
11833         * testsuite/dlopen/dlopen_gst.c:
11834         * testsuite/dlopen/loadgst.c:
11835         * testsuite/elements/.cvsignore:
11836         * testsuite/elements/Makefile.am:
11837         * testsuite/elements/gst-inspect-check.in:
11838         * testsuite/elements/struct_i386.h:
11839         * testsuite/elements/struct_size.c:
11840         * testsuite/indexers/.cvsignore:
11841         * testsuite/indexers/Makefile.am:
11842         * testsuite/indexers/cache1.c:
11843         * testsuite/indexers/indexdump.c:
11844         * testsuite/parse/.cvsignore:
11845         * testsuite/parse/Makefile.am:
11846         * testsuite/parse/parse1.c:
11847         * testsuite/parse/parse2.c:
11848         * testsuite/plugin/.cvsignore:
11849         * testsuite/plugin/Makefile.am:
11850         * testsuite/plugin/README:
11851         * testsuite/plugin/dynamic.c:
11852         * testsuite/plugin/linked.c:
11853         * testsuite/plugin/loading.c:
11854         * testsuite/plugin/registry.c:
11855         * testsuite/plugin/static.c:
11856         * testsuite/plugin/static2.c:
11857         * testsuite/plugin/testplugin.c:
11858         * testsuite/plugin/testplugin2.c:
11859         * testsuite/plugin/testplugin2_s.c:
11860         * testsuite/plugin/testplugin_s.c:
11861         * testsuite/refcounting/.cvsignore:
11862         * testsuite/refcounting/Makefile.am:
11863         * testsuite/refcounting/bin.c:
11864         * testsuite/refcounting/element.c:
11865         * testsuite/refcounting/element_pad.c:
11866         * testsuite/refcounting/mainloop.c:
11867         * testsuite/refcounting/mem.c:
11868         * testsuite/refcounting/mem.h:
11869         * testsuite/refcounting/object.c:
11870         * testsuite/refcounting/pad.c:
11871         * testsuite/refcounting/sched.c:
11872         * testsuite/refcounting/thread.c:
11873         * testsuite/states/.cvsignore:
11874         * testsuite/states/Makefile.am:
11875         * testsuite/states/bin.c:
11876         * testsuite/states/locked.c:
11877         * testsuite/states/parent.c:
11878         * testsuite/threads/.cvsignore:
11879         * testsuite/threads/159566.c:
11880         * testsuite/threads/159852.c:
11881         * testsuite/threads/Makefile.am:
11882         * testsuite/threads/queue.c:
11883         * testsuite/threads/signals.c:
11884         * testsuite/threads/staticrec.c:
11885         * testsuite/threads/thread.c:
11886         * testsuite/threads/threadb.c:
11887         * testsuite/threads/threadc.c:
11888         * testsuite/threads/threadd.c:
11889         * testsuite/threads/threade.c:
11890         * testsuite/threads/threadf.c:
11891         * testsuite/threads/threadg.c:
11892         * testsuite/threads/threadh.c:
11893         * testsuite/threads/threadi.c:
11894           move all of these under tests
11895
11896 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
11897
11898         * configure.ac:
11899         * tests/Makefile.am:
11900           fix distcheck
11901
11902 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
11903
11904         * docs/gst/gstreamer-sections.txt:
11905         * tests/sched/.cvsignore:
11906         * tests/sched/Makefile.am:
11907         * tests/sched/cases/(fs-fs).xml:
11908         * tests/sched/cases/(fs-i-fs).xml:
11909         * tests/sched/cases/(fs-i-i-fs).xml:
11910         * tests/sched/cases/(fs-i-q[i-fs]).xml:
11911         * tests/sched/dynamic-pipeline.c:
11912         * tests/sched/interrupt1.c:
11913         * tests/sched/interrupt2.c:
11914         * tests/sched/interrupt3.c:
11915         * tests/sched/runtestcases:
11916         * tests/sched/runxml.c:
11917         * tests/sched/sched-stress.c:
11918         * tests/sched/sort.c:
11919         * tests/sched/testcases:
11920         * tests/sched/testcases1.tc:
11921         * tests/seeking/.cvsignore:
11922         * tests/seeking/Makefile.am:
11923         * tests/seeking/seeking1.c:
11924         * tests/threadstate/.cvsignore:
11925         * tests/threadstate/Makefile.am:
11926         * tests/threadstate/test1.c:
11927         * tests/threadstate/test2.c:
11928         * tests/threadstate/threadstate1.c:
11929         * tests/threadstate/threadstate2.c:
11930         * tests/threadstate/threadstate3.c:
11931         * tests/threadstate/threadstate4.c:
11932         * tests/threadstate/threadstate5.c:
11933           remove obsolete tests
11934         * configure.ac:
11935         * tests/bench-complexity.scm:
11936         * tests/bench-mass_elements.scm:
11937         * tests/complexity.c:
11938         * tests/complexity.gnuplot:
11939         * tests/instantiate/.cvsignore:
11940         * tests/instantiate/Makefile.am:
11941         * tests/instantiate/caps.c:
11942         * tests/mass_elements.c:
11943         * tests/network-clock-utils.scm:
11944         * tests/network-clock.scm:
11945         * tests/plot-data:
11946         First pass at cleaning up tests/ dir before moving the rest
11947         Combined with CVS surgery
11948
11949 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
11950
11951         * po/POTFILES.in:
11952           queue has moved, update
11953
11954 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
11955
11956         * docs/gst/gstreamer-sections.txt:
11957           remove double entries from the docs
11958         * gst/gst_private.h:
11959         * gst/gstinfo.c: (_gst_debug_init):
11960           remove the THREAD debug category
11961         * gst/Makefile.am:
11962         * gst/gstqueue.c:
11963         * gst/gstqueue.h:
11964         * docs/gst/gstreamer.types:
11965         * plugins/elements/gstqueue.c: (gst_queue_get_type),
11966         (gst_queue_init), (gst_queue_finalize), (gst_queue_change_state):
11967           completely move queue and fix up debugging categories
11968
11969 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
11970
11971         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
11972           make initialization portable, using LL is not
11973
11974 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
11975
11976         * win32/common/gstconfig.h:
11977           add large padding
11978
11979 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
11980
11981         * win32/common/libgstreamer.def:
11982           rename symbols; sort base section
11983
11984 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
11985
11986         * gst/gstclock.c: (do_linear_regression):
11987           remove crack non-portable handrolled DEBUG macro
11988
11989 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
11990
11991         * docs/random/release:
11992           update notes
11993         * win32/common/gstenumtypes.c: (register_gst_object_flags),
11994         (gst_object_flags_get_type), (register_gst_bin_flags),
11995         (gst_bin_flags_get_type), (register_gst_buffer_flag),
11996         (gst_buffer_flag_get_type), (register_gst_bus_flags),
11997         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
11998         (gst_bus_sync_reply_get_type), (register_gst_caps_flags),
11999         (gst_caps_flags_get_type), (register_gst_clock_return),
12000         (gst_clock_return_get_type), (register_gst_clock_entry_type),
12001         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
12002         (gst_clock_flags_get_type), (register_gst_state),
12003         (gst_state_get_type), (register_gst_state_change_return),
12004         (gst_state_change_return_get_type), (register_gst_state_change),
12005         (gst_state_change_get_type), (register_gst_element_flags),
12006         (gst_element_flags_get_type), (register_gst_core_error),
12007         (gst_core_error_get_type), (register_gst_library_error),
12008         (gst_library_error_get_type), (register_gst_resource_error),
12009         (gst_resource_error_get_type), (register_gst_stream_error),
12010         (gst_stream_error_get_type), (register_gst_event_type_flags),
12011         (gst_event_type_flags_get_type), (register_gst_event_type),
12012         (gst_event_type_get_type), (register_gst_seek_type),
12013         (gst_seek_type_get_type), (register_gst_seek_flags),
12014         (gst_seek_flags_get_type), (register_gst_format),
12015         (gst_format_get_type), (register_gst_index_certainty),
12016         (gst_index_certainty_get_type), (register_gst_index_entry_type),
12017         (gst_index_entry_type_get_type),
12018         (register_gst_index_lookup_method),
12019         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
12020         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
12021         (gst_index_resolver_method_get_type), (register_gst_index_flags),
12022         (gst_index_flags_get_type), (register_gst_debug_level),
12023         (gst_debug_level_get_type), (register_gst_debug_color_flags),
12024         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
12025         (gst_iterator_result_get_type), (register_gst_iterator_item),
12026         (gst_iterator_item_get_type), (register_gst_message_type),
12027         (gst_message_type_get_type), (register_gst_mini_object_flags),
12028         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
12029         (gst_pad_link_return_get_type), (register_gst_flow_return),
12030         (gst_flow_return_get_type), (register_gst_activate_mode),
12031         (gst_activate_mode_get_type), (register_gst_pad_direction),
12032         (gst_pad_direction_get_type), (register_gst_pad_flags),
12033         (gst_pad_flags_get_type), (register_gst_pad_presence),
12034         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
12035         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
12036         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
12037         (gst_plugin_error_get_type), (register_gst_plugin_flags),
12038         (gst_plugin_flags_get_type), (register_gst_rank),
12039         (gst_rank_get_type), (register_gst_query_type),
12040         (gst_query_type_get_type), (register_gst_tag_merge_mode),
12041         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
12042         (gst_tag_flag_get_type), (register_gst_task_state),
12043         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
12044         (gst_alloc_trace_flags_get_type),
12045         (register_gst_type_find_probability),
12046         (gst_type_find_probability_get_type), (register_gst_uri_type),
12047         (gst_uri_type_get_type), (register_gst_parse_error),
12048         (gst_parse_error_get_type):
12049         * win32/common/gstenumtypes.h:
12050         * win32/common/gstversion.h:
12051           update visual studio generated files
12052
12053 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
12054
12055         * win32/vs6/libgstbase.dsp:
12056         * win32/vs6/libgstelements.dsp:
12057           update project files for new locations
12058
12059 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
12060
12061         * Makefile.am:
12062           remove some files
12063         * README:
12064           reinstate and update
12065         * DEVEL:
12066         * REQUIREMENTS:
12067           removed
12068         * LICENSE:
12069         * docs/random/LICENSE:
12070           moved to random
12071
12072 2005-11-30  Edward Hervey  <edward@fluendo.com>
12073
12074         * gst/gsttypefind.c: (gst_type_find_register):
12075         * gst/gsttypefind.h:
12076         * gst/gsttypefindfactory.c: (gst_type_find_factory_init),
12077         (gst_type_find_factory_dispose):
12078         * gst/gsttypefindfactory.h:
12079         Fix memory leak in GstTypeFindFactory.
12080
12081 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
12082
12083         * gst/gst.c:
12084         * plugins/elements/Makefile.am:
12085         * plugins/elements/gstelements.c:
12086         * plugins/elements/gstqueue.c:
12087           move queue from core to the elements plugin
12088
12089 2005-11-29  Andy Wingo  <wingo@pobox.com>
12090
12091         * libs/gst/base/gstbasetransform.h: 
12092         * libs/gst/base/gstbasesrc.h: 
12093         * libs/gst/base/gstbasesink.h: en-LARGE the padding.
12094
12095         * gst/gstconfig.h.in (GST_PADDING_LARGE): New define, the number
12096         of pointers by which to pad very extensible base classes (like the
12097         ones in libs/gst/base).
12098
12099 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
12100
12101         * docs/gst/gstreamer-docs.sgml:
12102         * docs/gst/gstreamer-sections.txt:
12103         * docs/libs/gstreamer-libs-docs.sgml:
12104         * docs/libs/gstreamer-libs-sections.txt:
12105           moving documentation from core to lib
12106
12107 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
12108
12109         * check/Makefile.am:
12110         * configure.ac:
12111         * docs/gst/Makefile.am:
12112         * gst/Makefile.am:
12113         * gst/base/.cvsignore:
12114         * gst/base/Makefile.am:
12115         * gst/base/README:
12116         * gst/base/gstadapter.c:
12117         * gst/base/gstadapter.h:
12118         * gst/base/gstbasesink.c:
12119         * gst/base/gstbasesink.h:
12120         * gst/base/gstbasesrc.c:
12121         * gst/base/gstbasesrc.h:
12122         * gst/base/gstbasetransform.c:
12123         * gst/base/gstbasetransform.h:
12124         * gst/base/gstcollectpads.c:
12125         * gst/base/gstcollectpads.h:
12126         * gst/base/gstpushsrc.c:
12127         * gst/base/gstpushsrc.h:
12128         * gst/base/gsttypefindhelper.c:
12129         * gst/base/gsttypefindhelper.h:
12130         * gst/check/Makefile.am:
12131         * gst/check/gstcheck.c:
12132         * gst/check/gstcheck.h:
12133         * gst/net/Makefile.am:
12134         * gst/net/gstnet.h:
12135         * gst/net/gstnetclientclock.c:
12136         * gst/net/gstnetclientclock.h:
12137         * gst/net/gstnettimepacket.c:
12138         * gst/net/gstnettimepacket.h:
12139         * gst/net/gstnettimeprovider.c:
12140         * gst/net/gstnettimeprovider.h:
12141         * libs/gst/Makefile.am:
12142         * libs/gst/base/Makefile.am:
12143         * libs/gst/base/gstbasetransform.c:
12144         * libs/gst/check/Makefile.am:
12145         * plugins/elements/Makefile.am:
12146         * po/POTFILES.in:
12147           CVS surgery + support to move base, check, and net out of gst
12148           and into libs/gst
12149
12150 2005-11-29  Andy Wingo  <wingo@pobox.com>
12151
12152         * gst/gstevent.h (struct _GstEvent): Only one pointer of padding.
12153
12154         * gst/gststructure.h (struct _GstStructure): Only one pointer of
12155         padding.
12156
12157         * gst/gstquery.h (struct _GstQuery): Only one pointer of padding.
12158
12159         * gst/gstpluginfeature.h: Remove a comment in PluginFeature.
12160
12161         * gst/gstplugin.h (struct _GstPluginClass): Add some padding.
12162
12163         * gst/gstobject.h: (struct _GstObject): Only one pointer of
12164         padding; reduces object size by about 30%. We don't expect
12165         anything else to go into gstobject.
12166
12167         * gst/gstminiobject.h (struct _GstMiniObject)
12168         (struct _GstMiniObjectClass): Only one pointer of padding; the
12169         payload is only a pointer and two ints anyway. For the class there
12170         are only two methods as well.
12171         
12172         * gst/gstelement.h (struct _GstElementClass): Removed
12173         the state_changed signal callback, it is not used.
12174
12175 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
12176
12177         * docs/gst/gstreamer.types:
12178           fix includes, though they are a little dinky
12179
12180 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
12181
12182         * check/Makefile.am:
12183           look in the right place for elements, a lot more chance of
12184           success
12185         * gst/Makefile.am:
12186           remove indexers and elements subdirs
12187         * plugins/Makefile.am:
12188           make indexers conditional
12189
12190 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
12191
12192         * Makefile.am:
12193         * configure.ac:
12194         * plugins/elements/Makefile.am:
12195         * plugins/elements/gstcapsfilter.c:
12196         * plugins/elements/gstfilesink.c:
12197         * plugins/elements/gstfilesrc.c:
12198         * plugins/elements/gstidentity.c:
12199         * plugins/indexers/Makefile.am:
12200           do CVS surgery and related build fixery to move elements
12201           and indexers in a new gstreamer/plugins directory, out of the
12202           gst/ directory
12203
12204 2005-11-29  Andy Wingo  <wingo@pobox.com>
12205
12206         * check/Makefile.am:
12207         * pkgconfig/gstreamer-net-uninstalled.pc.in:
12208         * pkgconfig/gstreamer-net.pc.in:
12209         * gst/net/Makefile.am: Rename gstnet-tempname to gstnet. Fixes
12210         #322257.
12211
12212 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
12213
12214         * tools/Makefile.am:
12215         * tools/gst-complete.1.in:
12216         * tools/gst-complete.c:
12217         * tools/gst-compprep.1.in:
12218         * tools/gst-compprep.c:
12219           removing -compprep and -complete
12220
12221 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
12222
12223         * gst/gstevent.c: (gst_event_new_new_segment),
12224         (gst_event_parse_new_segment):
12225         * gst/gstevent.h:
12226           fix #320529 - clean up new_segment API and structure.
12227           Let's hope everyone was using the methods, and not the structure.
12228
12229 2005-11-29  Edward Hervey  <edward@fluendo.com>
12230
12231         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
12232         (gst_base_sink_event), (gst_base_sink_do_sync),
12233         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
12234         Properly handle non GST_FORMAT_TIME segment
12235         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
12236         Properly handle non GST_FORMAT_TIME segment
12237         * gst/gstsegment.c:
12238         This function is valid if the accumulator is 0 and the format
12239         is different from the requested format.
12240         
12241 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
12242
12243         * docs/gst/gstreamer-sections.txt:
12244         Add gst_query_new_seeking and gst_query_parse_seeking to the
12245         docs.
12246
12247 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
12248
12249         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
12250           Treat a pad alloc with new caps the same as if we were not
12251           negotiated, in order to allow a changing upstream output
12252           to produce a new format of data.
12253
12254 2005-11-29  Edward Hervey  <edward@fluendo.com>
12255
12256         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
12257         (gst_base_transform_event), (gst_base_transform_eventfunc):
12258         The event virtual method is now properly implemented, with a default
12259         handler
12260         Sub classes should call the parent_class event method. They should
12261         return FALSE if they had a problem handling the given event, or don't
12262         want GstBaseTransform to send that even downstream
12263         * gst/elements/gstidentity.c: (gst_identity_class_init),
12264         (gst_identity_init), (gst_identity_event),
12265         (gst_identity_transform_ip), (gst_identity_set_property),
12266         (gst_identity_get_property):
12267         * gst/elements/gstidentity.h:
12268         Added the single-segment boolean property.
12269         If set to TRUE, it will output a single segment of data, starting from
12270         0, will eat up all incoming newsegment, and modify the timestamp of the
12271         buffers accordingly
12272
12273 2005-11-29  Tim-Philipp Müller  <tim at centricular dot net>
12274
12275         * gst/gstghostpad.c: (gst_proxy_pad_get_target):
12276           Don't ref NULL target pad (#322751). Improve docs.
12277
12278 2005-11-29  Michael Smith  <msmith@fluendo.com>
12279
12280         * gst/gstregistryxml.c: (load_plugin):
12281           Don't crash if we failed to load a feature from a plugin. 
12282
12283 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
12284
12285         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
12286         (GST_START_TEST):
12287           use more check API and less GLib API
12288
12289 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
12290
12291         * Makefile.am:
12292           don't run checks if we don't have check
12293         * common/check.mak:
12294           remove the registry when running make torture
12295         * docs/gst/gstreamer-sections.txt:
12296           remove second multiply
12297         * gst/gstqueue.c: (gst_queue_loop):
12298           fix a compile warning when disabling debug
12299
12300 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
12301
12302         * gst/gstinfo.h:
12303         Hey! Let's print the pad name if the pointer != NULL instead
12304         of when it == NULL :-)
12305
12306 2005-11-28  Wim Taymans  <wim@fluendo.com>
12307
12308         * check/gst/gstutils.c: (GST_START_TEST):
12309         Updated check, add some scaling accuracy checking code.
12310
12311         * gst/gstutils.c: (gst_util_div128_64),
12312         (gst_util_uint64_scale_int64), (gst_util_uint64_scale),
12313         (gst_util_uint64_scale_int):
12314         Fix 6 times faster division code. Optimize for common 
12315         1/1 and less common X/1 cases.
12316
12317 2005-11-28  Wim Taymans  <wim@fluendo.com>
12318
12319         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
12320         More checks.
12321
12322         * gst/gstclock.c: (gst_clock_finalize), (gst_clock_set_master),
12323         (do_linear_regression), (gst_clock_add_observation):
12324         Cleanups.
12325         Release lock when the clock cannot be slaved.
12326         Catch the case where the regression returned an invalid denominator.
12327
12328         * gst/gstutils.c: (gst_util_div128_64_iterate),
12329         (gst_util_div128_64), (gst_util_uint64_scale_int64),
12330         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
12331         Add protentially more performant non-iterative 128/64 divide function
12332         that unfortunatly does not work yet.
12333         Shortcut the trivial 0/X = 0 case.
12334         Remove the warnings on overflow.
12335
12336 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
12337
12338         * gst/gstplugin.c: (gst_plugin_register_func):
12339           everything causing a plugin not to load should be at least a WARNING
12340
12341 2005-11-28  Stefan Kost  <ensonic@users.sf.net>
12342
12343         * docs/random/ensonic/dparams.txt:
12344           some TODOs for the next dev cycle
12345         * libs/gst/controller/gstcontroller.c:
12346         (gst_controlled_property_set_interpolation_mode),
12347         (gst_controlled_property_new):
12348         * libs/gst/controller/gstcontroller.h:
12349           use base type to assign acccessor functions
12350
12351 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
12352
12353         * check/Makefile.am:
12354         Oops, that should have been top_srcdir
12355
12356 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
12357
12358         * check/Makefile.am:
12359         * check/elements/fdsrc.c: (GST_START_TEST):
12360         Use a cmdline define to specify the location of a file to use for
12361         testing, to avoid breaking distcheck.
12362
12363 2005-11-28  Andy Wingo  <wingo@pobox.com>
12364
12365         * gst/gstpad.c (fixate_value): Use array functions for arrays.
12366
12367 2005-11-28  Edward Hervey  <edward@fluendo.com>
12368
12369         * tools/gst-launch.c: (main):
12370         Clarify the output strings, makes it easier to translate.
12371         Fixes #322626
12372
12373 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
12374
12375         * gst/Makefile.am:
12376           don't try and build net if we don't even have <sys/socket.h>
12377
12378 2005-11-27  Jan Schmidt  <thaytan@mad.scientist.com>
12379
12380         * check/Makefile.am:
12381         * check/elements/fdsrc.c: (event_func), (setup_fdsrc),
12382         (cleanup_fdsrc), (GST_START_TEST), (fdsrc_suite), (main):
12383           Add tests for fdsrc seekability
12384
12385         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
12386         (gst_fdsrc_init), (gst_fdsrc_update_fd), (gst_fdsrc_start),
12387         (gst_fdsrc_set_property), (gst_fdsrc_is_seekable),
12388         (gst_fdsrc_get_size), (gst_fdsrc_uri_set_uri):
12389         * gst/elements/gstfdsrc.h:
12390           fdsrc should not be a 'live' source.
12391           Implement seeking on seekable fd's.
12392
12393         * gst/gstquery.c: (gst_query_new_seeking),
12394         (gst_query_parse_seeking):
12395         * gst/gstquery.h:
12396           Implement SEEKING query functions: 
12397             *_new_seeking and *_parse_seeking
12398
12399 2005-11-27  Stefan Kost  <ensonic@users.sf.net>
12400
12401         * gst/gstelement.c: (gst_element_dispose):
12402           don't loop forever
12403
12404         * gst/gstiterator.c:
12405         * gst/gststructure.c:
12406           doc fixes
12407
12408         * libs/gst/controller/gstcontroller.c:
12409         (gst_controlled_property_set_interpolation_mode):
12410         * libs/gst/controller/gstcontroller.h:
12411         * libs/gst/controller/gstinterpolation.c:
12412         (interpolate_none_get_enum_value_array):
12413           support controlling enums
12414
12415 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
12416
12417         * gst/gstvalue.c:
12418           Improve documentation for gst_value_union().
12419
12420         * gst/gstvalue.h:
12421           Change return value for union, intersect and subtract functions
12422           from gint to gboolean.
12423
12424 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
12425
12426         * gst/gstvalue.c: (gst_value_serialize_any_list),
12427         (gst_value_transform_any_list_string),
12428         (gst_value_deserialize_list), (gst_value_deserialize_array),
12429         (gst_value_set_int_range), (gst_value_deserialize_int_range),
12430         (gst_value_set_double_range), (gst_value_deserialize_double_range),
12431         (gst_value_set_fraction_range_full),
12432         (gst_value_deserialize_fraction_range),
12433         (gst_value_deserialize_caps), (gst_value_deserialize_buffer),
12434         (gst_value_deserialize_boolean),
12435         (gst_value_deserialize_int_helper), (gst_value_deserialize_double),
12436         (gst_value_serialize_float), (gst_value_deserialize_float),
12437         (gst_string_wrap), (gst_value_deserialize_string),
12438         (gst_value_deserialize_enum), (gst_value_deserialize_flags),
12439         (gst_value_union_int_range_int_range),
12440         (gst_value_intersect_int_range_int_range),
12441         (gst_value_intersect_double_range_double_range),
12442         (gst_value_create_new_range), (gst_value_subtract_int_range_int),
12443         (gst_value_subtract_int_range_int_range),
12444         (gst_value_subtract_double_double_range),
12445         (gst_value_subtract_double_range_double_range),
12446         (gst_value_deserialize_fraction):
12447         * gst/gstvalue.h:
12448           Use gint, gdouble and gchar in our API instead of int, double and
12449           char (and make usage in gstvalue.c more consistent).
12450
12451 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
12452
12453         * check/Makefile.am:
12454         * libs/gst/controller/Makefile.am:
12455         * libs/gst/dataprotocol/Makefile.am:
12456           fix up Makefile.am and remove GST_ENABLE_NEW
12457
12458 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
12459
12460         * configure.ac:
12461         * gst/Makefile.am:
12462         * gst/base/Makefile.am:
12463         * gst/check/Makefile.am:
12464         * gst/elements/Makefile.am:
12465         * gst/net/Makefile.am:
12466           update LDFLAGS use some more
12467
12468 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
12469
12470         * common/m4/gst-doc.m4:
12471           Fixes #312589
12472
12473 2005-11-26  Edward Hervey  <edward@fluendo.com>
12474
12475         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
12476         This shouldn't issue a g_warning since it returns NULL if it
12477         couldn't find the plugin, and all functions using this behave
12478         properly on a NULL return. Switching to a GST_WARNING.
12479
12480 2005-11-25  Jan Schmidt  <thaytan@mad.scientist.com>
12481
12482         * gst/gstbin.c: (gst_bin_handle_message_func):
12483         Don't leak clock messages.
12484
12485 2005-11-25  Wim Taymans  <wim@fluendo.com>
12486
12487         * gst/gstutils.c: (gst_util_uint64_scale_int64),
12488         (gst_util_uint64_scale_int):
12489         Optimisations, remove unneeded vars.
12490
12491 2005-11-25  Wim Taymans  <wim@fluendo.com>
12492
12493         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
12494         Added more checks for the high precision uint64 cases.
12495
12496         * gst/gstutils.c: (gst_util_uint64_scale_int64),
12497         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
12498         Implement high precision (guint64 * guint64) / guint64.
12499
12500 2005-11-24  Wim Taymans  <wim@fluendo.com>
12501
12502         * gst/base/gstbasesrc.c: (gst_base_src_query):
12503         Fix wrong percentage query.
12504
12505         * gst/gstutils.c: (gst_util_uint64_scale),
12506         (gst_util_uint64_scale_int):
12507         Add some more common cases that can be handled 
12508         efficiently to _scale.
12509
12510 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
12511
12512         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST),
12513         (gst_mini_object_suite):
12514           don't use check calls from threads; check probably isn't
12515           threadsafe and using a lock to make it threadsafe would
12516           defeat the purpose of this check
12517         * gst/check/gstcheck.c:
12518         * gst/check/gstcheck.h:
12519           use GST_DEBUG some more
12520
12521 2005-11-24  Wim Taymans  <wim@fluendo.com>
12522
12523         * gst/gstutils.c: (gst_util_uint64_scale),
12524         (gst_util_uint64_scale_int):
12525         Chain trivial case to _scale_int.
12526
12527 2005-11-24  Wim Taymans  <wim@fluendo.com>
12528
12529         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
12530         Added test for scaling.
12531
12532         * gst/gstclock.h:
12533         Small doc fix.
12534
12535         * gst/gstutils.c: (gst_util_uint64_scale_int):
12536         Implemented high precision scaling code.
12537
12538 2005-11-24  Stefan Kost  <ensonic@users.sf.net>
12539
12540         * gst/gstinfo.h:
12541           do not crash on pad==NULL
12542
12543 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
12544
12545         Patch by: Stefan Kost
12546
12547         * common/gtk-doc.mak:
12548         * docs/gst/Makefile.am:
12549         * docs/libs/Makefile.am:
12550           Fix distcheck issues for the libraries docs build
12551           Closes #319599.
12552
12553 2005-11-24  Michael Smith <msmith@fluendo.com>
12554
12555         * docs/manual/basics-helloworld.xml:
12556           Fix bug #315027: memory leak in example code in docs.
12557
12558 2005-11-24  Michael Smith <msmith@fluendo.com>
12559
12560         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
12561           Unlock the PREROLL_LOCK in a failure case.
12562
12563 2005-11-24  Wim Taymans  <wim@fluendo.com>
12564
12565         * docs/gst/gstreamer-sections.txt:
12566         * gst/base/gstadapter.h:
12567         * gst/base/gstbasesink.h:
12568         * gst/base/gstbasesrc.h:
12569         * gst/base/gstbasetransform.h:
12570         * gst/base/gstpushsrc.h:
12571         * gst/elements/gstfakesink.h:
12572         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type):
12573         * gst/elements/gstfakesrc.h:
12574         * gst/elements/gstfilesink.h:
12575         * gst/elements/gstfilesrc.h:
12576         * gst/gst.c:
12577         * gst/gstbin.c:
12578         * gst/gstbuffer.c: (_gst_buffer_copy):
12579         * gst/gstbus.h:
12580         * gst/gstcaps.c:
12581         * gst/gstchildproxy.c:
12582         * gst/gstclock.c:
12583         * gst/gstelement.c:
12584         * gst/gstelementfactory.c:
12585         * gst/gstelementfactory.h:
12586         * gst/gstevent.c:
12587         * gst/gstghostpad.h:
12588         * gst/gstindex.h:
12589         * gst/gstinterface.h:
12590         * gst/gstminiobject.c:
12591         * gst/gstminiobject.h:
12592         * gst/gstpad.c:
12593         * gst/gstpad.h:
12594         * gst/gstpadtemplate.h:
12595         * gst/gstpipeline.h:
12596         * gst/gstpluginfeature.h:
12597         * gst/gstquery.h:
12598         * gst/gstqueue.h:
12599         * gst/gsttaglist.c:
12600         * gst/gsttaglist.h:
12601         * gst/gsttagsetter.c:
12602         * gst/gsttagsetter.h:
12603         * gst/gsttrace.c:
12604         * gst/gsttrace.h:
12605         * gst/gsttypefind.h:
12606         * gst/gsturi.h:
12607         * gst/gstvalue.c:
12608         * gst/net/gstnetclientclock.c:
12609         * gst/net/gstnetclientclock.h:
12610         * gst/net/gstnettimepacket.c:
12611         * gst/net/gstnettimeprovider.c:
12612         * gst/net/gstnettimeprovider.h:
12613         Doc fixes.
12614
12615 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
12616
12617         * configure.ac: back to HEAD
12618
12619 === release 0.9.6 ===
12620
12621 2005-11-23  Thomas Vander Stichele <thomas at apestaart dot org>
12622
12623         * configure.ac:
12624           releasing 0.9.6, "Always On Time"
12625
12626 2005-11-23  Wim Taymans  <wim@fluendo.com>
12627
12628         * docs/gst/gstreamer-sections.txt:
12629         * gst/glib-compat.c:
12630         * gst/gsttagsetter.c:
12631         * gst/gstvalue.c:
12632         * gst/net/gstnetclientclock.c:
12633         * gst/net/gstnettimepacket.h:
12634         Doc updates.
12635
12636 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
12637
12638         * docs/faq/using.xml:
12639         * docs/libs/tmpl/gstcontrol.sgml:
12640         * docs/manual/advanced-dparams.xml:
12641         * docs/manual/appendix-checklist.xml:
12642         * docs/manual/basics-elements.xml:
12643         * docs/pwg/other-source.xml:
12644         * docs/random/moving-plugins:
12645         * gst/gstpad.c:
12646         * tools/gst-launch.1.in:
12647           remove mentions of sinesrc
12648
12649 2005-11-23  Michael Smith <msmith@fluendo.com>
12650
12651         * docs/gst/gstreamer-sections.txt:
12652           Update for new API and API changes.
12653         * gst/gstobject.h:
12654           Documentation fix: GST_TRYLOCK -> GST_OBJECT_TRYLOCK
12655         * gst/gstvalue.c:
12656           Documentation typo fix.
12657         * gst/net/gstnettimepacket.c:
12658           Documentation fixes for arguments.
12659
12660 2005-11-23  Jan Schmidt  <thaytan@mad.scientist.com>
12661
12662         * gst/gststructure.c: (gst_structure_get_fraction),
12663         (gst_structure_parse_value),
12664         (gst_structure_fixate_field_nearest_fraction):
12665         * gst/gststructure.h:
12666         * gst/gstutils.c: (gst_util_uint64_scale_int):
12667         * gst/gstutils.h:
12668         * scripts/update-funcnames:
12669         API Changes. 
12670         Rename gst_util_clock_time_scale to gst_util_uint64_scale_int
12671         Make gst_structure_fixate_field_nearest_fraction take a numerator
12672         and denominator argument instead of a GValue
12673         add gst_structure_get_fraction helper function.
12674
12675 2005-11-23  Wim Taymans  <wim@fluendo.com>
12676
12677         * docs/design/part-TODO.txt:
12678         Update TODO.
12679
12680         * gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
12681         * gst/net/gstnetclientclock.h:
12682         Use parent fields for timeout and window_size.
12683
12684 2005-11-23  Andy Wingo  <wingo@pobox.com>
12685
12686         * check/net/gstnetclientclock.c (test_functioning): Adjust to
12687         rate_num/rate_denom change.
12688
12689         * gst/net/gstnetclientclock.c
12690         (gst_net_client_clock_observe_times): Take the SLAVE_LOCK not the
12691         OBJECT_LOCK. Don't call add_observation with the lock.
12692
12693         * gst/gstclock.c (gst_clock_init): Initialize the rate as a
12694         fraction.
12695         (gst_clock_adjust_unlocked): Adjust using uint64_scale and the
12696         rate fraction.
12697         (gst_clock_set_calibration, gst_clock_get_calibration): Change to
12698         deal with rate as a fraction whose numerator and denominator are
12699         GstClockTime values.
12700         (gst_clock_set_master): Only use the OBJECT_LOCK to set the
12701         master; the other fields are protected by the SLAVE_LOCK.
12702         (do_linear_regression): Note that this must be called with the
12703         SLAVE_LOCK.
12704         (gst_clock_add_observation): Take the SLAVE_LOCK, not the
12705         OBJECT_LOCK. Call set_calibration instead of touching the
12706         variables directly.
12707         (gst_clock_set_property, gst_clock_get_property): Protect
12708         master/slave parameters with the SLAVE_LOCK.
12709
12710         * gst/gstclock.h (GstClock): Remove rate, add rate_numerator and
12711         rate_denominator. PR3C1S3. Add a new lock, the SLAVE_LOCK, and
12712         note that all of the instance variables that add_observation and
12713         the set_master functions use are protected by that lock and not
12714         the OBJECT_LOCK.
12715         (GST_CLOCK_SLAVE_LOCK, GST_CLOCK_SLAVE_UNLOCK): New macros.
12716
12717         * gst/gstclock.c (gst_clock_add_observation): No longer requires
12718         the caller to take the object lock.
12719
12720 2005-11-23  Wim Taymans  <wim@fluendo.com>
12721
12722         * gst/gsterror.c: (_gst_core_errors_init):
12723         * gst/gsterror.h:
12724         Add error for clock stuff.
12725
12726         * gst/gstpipeline.c: (gst_pipeline_change_state),
12727         (gst_pipeline_set_clock):
12728         Post clock error when clock cannot be used in a pipeline.
12729
12730 2005-11-23  Stefan Kost  <ensonic@users.sf.net>
12731
12732         * docs/gst/gstreamer-sections.txt:
12733           make two symbols from gstinfo private for the docs
12734         * gst/base/gstcollectpads.h:
12735         * gst/gstutils.c:
12736           fix doc typos, update docs
12737
12738 2005-11-22  Wim Taymans  <wim@fluendo.com>
12739
12740         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
12741         (gst_base_sink_wait), (gst_base_sink_do_sync),
12742         (gst_base_sink_handle_event):
12743         * gst/base/gstbasesink.h:
12744         No need to store the clock, the parent element class already
12745         has it.
12746
12747         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_add_func):
12748         Updates for clock_set returning a gboolean
12749
12750         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_wait),
12751         (gst_clock_id_wait_async), (gst_clock_class_init),
12752         (gst_clock_init), (gst_clock_finalize),
12753         (gst_clock_get_internal_time), (gst_clock_get_time),
12754         (gst_clock_slave_callback), (gst_clock_set_master),
12755         (gst_clock_get_master), (do_linear_regression),
12756         (gst_clock_add_observation), (gst_clock_set_property),
12757         (gst_clock_get_property):
12758         * gst/gstclock.h:
12759         Implement master/slave. When setting a clock as a slave, a
12760         periodic timeout is scheduled to sample master and slave times.
12761         Then the slave clock is recalibrated to match offset and rate
12762         of the master clock.
12763         Update logging a bit.
12764         Add flag so that a clock can state that is cannot be slaved to
12765         another clock.
12766
12767         * gst/gstelement.c: (gst_element_set_clock):
12768         * gst/gstelement.h:
12769         The set clock returns a gboolean for when an element cannot
12770         deal with the selected clock in the pipeline. 
12771
12772         * gst/gstpipeline.c: (gst_pipeline_change_state),
12773         (gst_pipeline_set_clock):
12774         * gst/gstpipeline.h:
12775         Handle the case where the selected clock cannot be set on
12776         the pipeline.
12777
12778         * gst/net/gstnetclientclock.c: (gst_net_client_clock_class_init),
12779         (gst_net_client_clock_init), (gst_net_client_clock_finalize),
12780         (gst_net_client_clock_set_property),
12781         (gst_net_client_clock_get_property),
12782         (gst_net_client_clock_observe_times):
12783         * gst/net/gstnetclientclock.h:
12784         Use regression code in GstClock parent, remove duplicated
12785         functionality.
12786
12787 2005-11-22  Michael Smith <msmith@fluendo.com>
12788
12789         * gst/gstutils.c: (gst_util_clock_time_scale):
12790         * gst/gstutils.h:
12791         * docs/gst/gstreamer-sections.txt:
12792           Rename method to have extra underscore.
12793
12794 2005-11-22  Thomas Vander Stichele  <thomas at apestaart dot org>
12795
12796         * gst/elements/Makefile.am:
12797         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type):
12798         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
12799         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
12800         (gst_fake_src_init), (gst_fake_src_prepare_buffer),
12801         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size):
12802         * gst/elements/gstfakesrc.h:
12803         * gst/gstqueue.c: (queue_leaky_get_type):
12804           correctly fix GEnumValues so that nick is the short lowercase
12805           dashed tag
12806         * tools/gst-inspect.c: (print_element_properties_info):
12807           also show the nick, since it's useful to use from parse_launch
12808           syntax
12809           Fixes #322139
12810
12811 2005-11-22  Michael Smith <msmith@fluendo.com>
12812
12813         * gst/gstutils.c: (gst_util_clocktime_scale):
12814         * gst/gstutils.h:
12815         * docs/gst/gstreamer-sections.txt:
12816           Add util method for scaling a clocktime by a fraction. Useful 
12817           implementation is left as an exercise for the reader.
12818
12819 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
12820
12821         * gst/gstvalue.c: (gst_value_collect_fraction_range):
12822         If needed, allocate storage in the destination value during
12823         collection.
12824
12825 2005-11-22  Edward Hervey  <edward@fluendo.com>
12826
12827         * docs/gst/gstreamer-sections.txt:
12828         * gst/Makefile.am:
12829         * gst/gst.h:
12830         * gst/gsturitype.c:
12831         * gst/gsturitype.h:
12832         * gst/gstutils.c: (gst_util_set_object_arg):
12833         * tools/gst-compprep.c: (main):
12834         * tools/gst-inspect.c: (print_element_properties_info):
12835         Removed GstURI, closes bug #321061
12836
12837 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
12838
12839         * check/gst/gststructure.c: (GST_START_TEST):
12840         * gst/gststructure.c: (gst_structure_parse_value):
12841           Oops, broke automatic string type parsing.
12842           Add a test to catch it in future.
12843
12844 2005-11-22  Andy Wingo  <wingo@pobox.com>
12845
12846         * gst/gsttagsetter.c (gst_tag_setter_get_tag_merge_mode) 
12847         (gst_tag_setter_set_tag_merge_mode, gst_tag_setter_get_tag_list):
12848         Actually rename the function implementations. Grr.
12849
12850 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
12851
12852         * check/gst/capslist.h:
12853           Comment test cases
12854         * check/gst/gststructure.c: (GST_START_TEST),
12855         (gst_structure_suite):
12856           Test automatic value type detection in gst_structure_from_string.
12857         * gst/gststructure.c: (gst_structure_parse_value):
12858           Add fraction as a type we try and guess automatically in
12859           caps/structure strings.
12860
12861 2005-11-22  Andy Wingo  <wingo@pobox.com>
12862
12863         patch by: Torsten Schoenfeld <kaffeetisch gmx de>
12864
12865         * gst/gsttagsetter.h:
12866         * gst/gsttagsetter.c: (gst_tag_setter_merge_tags)
12867         (gst_tag_setter_add_tags, gst_tag_setter_add_tag_values)
12868         (gst_tag_setter_add_tag_valist)
12869         (gst_tag_setter_add_tag_valist_values): Renamed from _merge, _add,
12870         _add_values, _add_valist, and _add_valist_values. Since this is an
12871         interface the function suffixes should be more explicit so
12872         language binding don't end up with element.add_valist ->
12873         gst_tag_setter_add_valist, for example. Fixes #322069.
12874
12875 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
12876
12877         * check/gst/gstcaps.c: (GST_START_TEST):
12878           Extend caps string tests to check that a caps to string
12879           conversion is reversible and produces the same caps.
12880
12881         * gst/gststructure.c: (gst_structure_value_get_generic_type):
12882           Output "fraction" as the generic type fraction range, so caps
12883           serialisation and deserialisation works.
12884         * check/gst/capslist.h:
12885         * gst/gstvalue.c: (gst_value_deserialize_fraction):
12886           Support 'MIN' and 'MAX' for deserialising fractions.
12887
12888 2005-11-22  Andy Wingo  <wingo@pobox.com>
12889
12890         * gst/gstevent.h (gst_event_new_new_segment)
12891         (gst_event_parse_new_segment, gst_event_new_buffer_size)
12892         (gst_event_parse_buffer_size, gst_ghost_pad_new_no_target):
12893         Renamed from *_newsegment, *_buffersize, *_notarget.
12894
12895         * scripts/update-funcnames: New script, performs the changes
12896         listed above.
12897
12898 2005-11-22  Wim Taymans  <wim@fluendo.com>
12899
12900         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
12901         Make sure the GstFlowReturn is returned.
12902
12903         * gst/gstbus.c: (gst_bus_add_signal_watch_full),
12904         (gst_bus_add_signal_watch):
12905         * gst/gstbus.h:
12906         add gst_bus_add_signal_watch_full.
12907
12908         * gst/gstplugin.c: (gst_plugin_load_file):
12909         Small style cleanup.
12910
12911 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
12912
12913         * check/gst/gstevent.c: (test_event), (GST_START_TEST):
12914           Block the fakesrc srcpad when we send an event, to avoid
12915           contention on the stream_lock causing random test failures.
12916
12917 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
12918
12919         * check/gst/gstvalue.c: (GST_START_TEST):
12920         * gst/gstvalue.c: (gst_value_fraction_subtract):
12921           Fix subtraction.
12922
12923 2005-11-22  Stefan Kost  <ensonic@users.sf.net>
12924
12925         * gst/gst.h:
12926           include "gstchildproxy.h"
12927         * gst/gstchildproxy.h:
12928         * libs/gst/controller/gstcontroller.h:
12929           use G_GNUC_NULL_TERMINATED
12930
12931 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
12932
12933         * check/gst/capslist.h:
12934         * check/gst/gstcaps.c: (GST_START_TEST):
12935         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
12936         * gst/gststructure.c: (gst_structure_parse_range),
12937         (gst_structure_fixate_field_nearest_fraction):
12938         * gst/gststructure.h:
12939         * gst/gstvalue.c: (gst_value_init_fraction_range),
12940         (gst_value_free_fraction_range), (gst_value_copy_fraction_range),
12941         (gst_value_collect_fraction_range),
12942         (gst_value_lcopy_fraction_range), (gst_value_set_fraction_range),
12943         (gst_value_set_fraction_range_full),
12944         (gst_value_get_fraction_range_min),
12945         (gst_value_get_fraction_range_max),
12946         (gst_value_serialize_fraction_range),
12947         (gst_value_transform_fraction_range_string),
12948         (gst_value_compare_fraction_range),
12949         (gst_value_deserialize_fraction_range),
12950         (gst_value_intersect_fraction_fraction_range),
12951         (gst_value_intersect_fraction_range_fraction_range),
12952         (gst_value_subtract_fraction_fraction_range),
12953         (gst_value_subtract_fraction_range_fraction),
12954         (gst_value_subtract_fraction_range_fraction_range),
12955         (gst_value_collect_fraction), (gst_value_fraction_multiply),
12956         (gst_value_fraction_subtract), (gst_value_deserialize_fraction),
12957         (gst_value_transform_string_fraction), (_gst_value_initialize):
12958         * gst/gstvalue.h:
12959           Implement fraction ranges and extend GstFraction to support
12960           arithmetic subtraction, as well as deserialization from integer
12961           strings such as "100"
12962           Add a testsuite as for int and double range set operations
12963
12964 2005-11-21  Andy Wingo  <wingo@pobox.com>
12965
12966         * gst/gsttaglist.h: 
12967         * gst/gstcaps.h: 
12968         * gst/gststructure.h: Add glib-compat.h.
12969
12970 2005-11-21  Wim Taymans  <wim@fluendo.com>
12971
12972         * gst/gstbin.c: (gst_bin_change_state_func):
12973         Fix for #321595
12974
12975 2005-11-21  Wim Taymans  <wim@fluendo.com>
12976
12977         * gst/gstsegment.h:
12978         And add a nice define too.
12979
12980 2005-11-21  Wim Taymans  <wim@fluendo.com>
12981
12982         * gst/gstsegment.c: (gst_segment_copy), (gst_segment_get_type),
12983         (gst_segment_new), (gst_segment_free), (gst_segment_init),
12984         (gst_segment_set_duration), (gst_segment_set_last_stop),
12985         (gst_segment_set_seek), (gst_segment_set_newsegment),
12986         (gst_segment_to_stream_time), (gst_segment_to_running_time),
12987         (gst_segment_clip):
12988         * gst/gstsegment.h:
12989         Make binding friendly.
12990
12991 2005-11-21  Andy Wingo  <wingo@pobox.com>
12992
12993         * gst/gsttagsetter.h: 
12994         * gst/gsttaglist.h: 
12995         * gst/gststructure.h: 
12996         * gst/gstcaps.h: 
12997         * gst/gstutils.h: Sprinkle NULL_TERMINATED to taste. Fixes
12998         #319940.
12999
13000         * gst/gsterror.c (_gst_core_errors_init):
13001         * gst/gsterror.h (GST_CORE_ERROR_MISSING_PLUGIN): New error
13002         category.
13003
13004         * gst/Makefile.am (gst_headers): Add glib-compat.h.
13005         (noinst_HEADERS): noinst the -private.
13006
13007 2005-11-21  Michael Smith <msmith@fluendo.com>
13008
13009         * gst/gstplugin.h:
13010         * gst/gstregistry.h:
13011           Remove unimplemented declarations for which we can see no sensible
13012           use.
13013
13014 2005-11-21  Andy Wingo  <wingo@pobox.com>
13015
13016         * gst/gst.h: Include glib-compat.h.
13017
13018         * gst/glib-compat.h: Add G_GNUC_NULL_TERMINATED.
13019
13020         * gst/glib-compat.c: Include the public and the private header.
13021
13022         * gst/glib-compat-private.h: Copied here from glib-compat.h.
13023
13024         * gst/gstvalue.c: 
13025         * gst/gstpad.c: 
13026         * gst/gstregistryxml.c: s/glib-compat/glib-compat-private/.
13027
13028         * check/gst/gstevent.c (create_custom_events): Check that
13029         FLUSH_STOP is serialized.
13030
13031         * check/elements/identity.c (event_func): 
13032         * check/elements/fakesrc.c (event_func): No stream lock, the core
13033         takes it.
13034
13035         * gst/base/gstbasetransform.c (gst_base_transform_event): No more
13036         stream lock taking, yay.
13037
13038         * gst/gstevent.h (GST_EVENT_FLUSH_STOP): Marked as serialized to
13039         ensure that core takes the stream lock.
13040
13041         * gst/base/gstbasesrc.c (gst_base_src_do_seek): Update for stream
13042         lock name change.
13043
13044         * gst/base/gstbasesink.c (gst_base_sink_event): No need to take
13045         the stream lock for EOS, NEWSEGMENT, or FLUSH_STOP, the core does
13046         it already. For the flush start we do take it though so we get the
13047         right preroll state change messages.
13048
13049         * gst/gstqueue.c (gst_queue_sink_activate_push): No need to take
13050         the stream lock here, the core does it for us.
13051
13052         * gst/gstpad.h (GST_PAD_GET_STREAM_LOCK): Renamed from
13053         GST_STREAM_GET_LOCK.
13054         (GST_PAD_STREAM_LOCK, GST_PAD_STREAM_TRYLOCK) 
13055         (GST_PAD_STREAM_UNLOCK, GST_PAD_STREAM_UNLOCK_FULL) 
13056         (GST_PAD_STREAM_LOCK_FULL): Renamed from GST_STREAM_*.
13057         (GST_PAD_GET_PREROLL_LOCK): Renamed from GST_PREROLL_GET_LOCK.
13058         (GST_PAD_PREROLL_LOCK, GST_PAD_PREROLL_TRYLOCK) 
13059         (GST_PAD_PREROLL_UNLOCK): Renamed from GST_PREROLL_*.
13060
13061         * gst/gstpad.c: Update for stream lock name change.
13062
13063         * gst/base/gstbasesink.c: Update for preroll lock name change.
13064
13065 2005-11-21  Wim Taymans  <wim@fluendo.com>
13066
13067         * gst/gstclock.c: (gst_clock_init), (gst_clock_set_master),
13068         (gst_clock_get_master):
13069         * gst/gstclock.h:
13070         * gst/gstsystemclock.c: (gst_system_clock_init):
13071         Convert Clock flags to object flags.
13072         Added methods to manage master/slave clocks.
13073
13074 2005-11-21  Wim Taymans  <wim@fluendo.com>
13075
13076         * check/gst/gstsegment.c: (GST_START_TEST):
13077         * docs/design/part-TODO.txt:
13078         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
13079         (gst_base_sink_event), (gst_base_sink_do_sync),
13080         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
13081         (gst_base_sink_query), (gst_base_sink_change_state):
13082         * gst/base/gstbasesink.h:
13083         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
13084         (gst_base_src_default_newsegment),
13085         (gst_base_src_configure_segment), (gst_base_src_do_seek),
13086         (gst_base_src_get_range), (gst_base_src_loop),
13087         (gst_base_src_change_state):
13088         * gst/base/gstbasesrc.h:
13089         * gst/base/gstbasetransform.c:
13090         (gst_base_transform_prepare_output_buf),
13091         (gst_base_transform_event), (gst_base_transform_change_state):
13092         * gst/base/gstbasetransform.h:
13093         * gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
13094         (gst_collect_pads_event):
13095         * gst/base/gstcollectpads.h:
13096         * gst/elements/gstfakesrc.c: (gst_fake_src_init),
13097         (gst_fake_src_create):
13098         * gst/elements/gstfakesrc.h:
13099         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
13100         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
13101         (gst_segment_set_last_stop), (gst_segment_set_seek),
13102         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
13103         (gst_segment_to_running_time), (gst_segment_clip):
13104         * gst/gstsegment.h:
13105         More segment updates, replace code in plugins with segment
13106         helper functions.
13107
13108 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
13109
13110         * gst/elements/gstfdsrc.c: (gst_fdsrc_uri_set_uri):
13111         Don't ignore sscanf results
13112
13113 2005-11-21  Andy Wingo  <wingo@pobox.com>
13114
13115         * gst/gstpad.h (GST_IS_PAD_FAST): Removed.
13116
13117         * *.h:
13118         * *.c: Ran scripts/update-macros. Oh yes.
13119
13120         * gst/gstobject.h (GST_OBJECT_GET_LOCK, GST_OBJECT_LOCK)
13121         (GST_OBJECT_TRYLOCK, GST_OBJECT_UNLOCK): Renamed from
13122         GST_GET_LOCK, etc.
13123
13124         * scripts/update-macros: New script. Run it on your files to
13125         change GST_LOCK to GST_OBJECT_LOCK, and the same for UNLOCK as
13126         well.
13127
13128 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
13129
13130         * docs/gst/Makefile.am:
13131         * docs/gst/gstreamer-docs.sgml:
13132         * docs/gst/gstreamer-sections.txt:
13133         * docs/gst/gstreamer.types:
13134         * gst/gstinfo.h:
13135           more docs fixes, add new api to the docs
13136
13137 2005-11-21  Andy Wingo  <wingo@pobox.com>
13138
13139         * gst/gstbin.c (gst_bin_remove_func): Wim claims I can remove this
13140         state_broadcast call.
13141
13142         * gst/gstsegment.c (gst_segment_init): Initialize abs_rate.
13143
13144 2005-11-21  Julien MOUTTE  <julien@moutte.net>
13145
13146         * gst/gstvalue.c: (gst_value_intersect_array): Fix wrong
13147         function calls for arrays.
13148
13149 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
13150
13151         * docs/random/ensonic/media-device-daemon.txt:
13152           wild idea, can this be done?
13153         * docs/gst/gstreamer-sections.txt:
13154         * gst/gsterror.h:
13155         * gst/gstfilter.c:
13156         * gst/gstfilter.h:
13157         * gst/gstplugin.h:
13158         * gst/gstpluginfeature.c:
13159         * gst/gsttrace.c:
13160         * gst/gstvalue.c:
13161         * gst/gstvalue.h:
13162           doc fixes and additions
13163
13164 2005-11-21  Andy Wingo  <wingo@pobox.com>
13165
13166         * gst/base/gstbasesrc.c (GST_LIVE_BROADCAST, GST_LIVE_SIGNAL) 
13167         (GST_LIVE_TIMED_WAIT, GST_LIVE_WAIT, GST_LIVE_GET_COND) 
13168         (GST_LIVE_UNLOCK, GST_LIVE_TRYLOCK, GST_LIVE_LOCK) 
13169         (GST_LIVE_GET_LOCK): Moved here from gstbasesrc.h. They are
13170         private to the basesrc implementation.
13171
13172         * gst/gstpad.c (gst_pad_send_event): Doc more. Take stream lock on
13173         behalf of event function if necessary. It should no longer be
13174         necessary to take the stream lock in pad's event functions. Fixes
13175         #320299.
13176
13177 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
13178         * docs/gst/gstreamer-sections.txt:
13179         * gst/gststructure.c: (gst_structure_fixate_field_nearest_int),
13180         (gst_structure_fixate_field_nearest_double),
13181         (gst_structure_fixate_field_boolean):
13182         * gst/gststructure.h:
13183         * win32/common/libgstreamer.def:
13184         * win32/gstreamer.def:
13185
13186         Rename gst_caps_structure_fixate_* to gst_structure_fixate_*
13187         (#322027)
13188
13189 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
13190
13191         * gst/elements/gstfdsrc.c: (_do_init), (gst_fdsrc_class_init),
13192         (gst_fdsrc_init), (gst_fdsrc_dispose), (gst_fdsrc_set_property),
13193         (gst_fdsrc_uri_get_type), (gst_fdsrc_uri_get_protocols),
13194         (gst_fdsrc_uri_get_uri), (gst_fdsrc_uri_set_uri),
13195         (gst_fdsrc_uri_handler_init):
13196         * gst/elements/gstfdsrc.h:
13197           Port fd:// URI handler from 0.8 to fdsrc
13198
13199 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
13200
13201         * gst/gstvalue.c: (gst_value_transform_fourcc_string),
13202         (gst_value_serialize_fourcc):
13203         * gst/gstvalue.h:
13204           Drop leading '%' from GST_FOURCC_FORMAT, thus making it
13205           consistent with our other format defines (#320324).
13206
13207 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
13208
13209         * gst/gstvalue.c: (gst_value_is_fixed):
13210           Revert previous commit. Value lists are by definition
13211           not fixed, as they are a list of possible values.
13212
13213 2005-11-21  Andy Wingo  <wingo@pobox.com>
13214
13215         * gst/gstevent.h (GST_EVENT_FILLER): Removed. Can be added back
13216         during the stable series if we need it. Fixes #319178.
13217
13218         * gst/gstevent.c (gst_event_new_filler): Removed.
13219
13220         * check/gst/gstevent.c: Update comment about filler events.
13221
13222 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
13223
13224         * gst/gstvalue.c: (gst_value_is_fixed):
13225           Should handle both value arrays and value lists.
13226
13227 2005-11-21  Andy Wingo  <wingo@pobox.com>
13228
13229         patch by: Alessandro Dessina <alessandro nnva org>
13230
13231         * gst/gstvalue.c (gst_value_is_fixed): Use gst_value_array
13232         functions to access arrays. Fixes #321962.
13233
13234 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
13235
13236         * docs/gst/gstreamer.types:
13237           gst_collectpads_get_type => gst_collect_pads_get_type.
13238           
13239         * gst/base/gstbasetransform.c:
13240           Remove unused SIGNAL_HANDOFF enum.
13241
13242 2005-11-21  Andy Wingo  <wingo@pobox.com>
13243
13244         * gst/gstevent.h (GstEventTypeFlags): New data type, the flags of
13245         the event type (upstream, downstream, serialized). Renamed
13246         GST_EVDIR_* and GST_EVSER to GST_EVENT_TYPE_*.
13247         (GstEventType): Use GstEventTypeFlags. Rename CUSTOM_UP to
13248         CUSTOM_UPSTREAM, CUSTOM_DS to CUSTOM_DOWNSTREAM, etc.
13249
13250         * gst/gstevent.c: Update for new CUSTOM event names.
13251
13252         * check/gst/gstevent.c: Update check for new CUSTOM event names.
13253
13254         * gst/gstevent.h:
13255         * gst/gstevent.c (gst_event_type_get_flags): New function. Fixes
13256         bug #319392.
13257
13258 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
13259
13260         * docs/gst/gstreamer-sections.txt:
13261         * win32/common/libgstbase.def:
13262         * win32/libgstbase.def:
13263         * gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
13264         (gst_collect_pads_class_init), (gst_collect_pads_init),
13265         (gst_collect_pads_finalize), (gst_collect_pads_new),
13266         (gst_collect_pads_set_function), (gst_collect_pads_add_pad),
13267         (gst_collect_pads_remove_pad), (gst_collect_pads_is_active),
13268         (gst_collect_pads_collect), (gst_collect_pads_collect_range),
13269         (gst_collect_pads_start), (gst_collect_pads_stop),
13270         (gst_collect_pads_peek), (gst_collect_pads_pop),
13271         (gst_collect_pads_available), (gst_collect_pads_read),
13272         (gst_collect_pads_flush), (gst_collect_pads_event),
13273         (gst_collect_pads_chain):
13274         * gst/base/gstcollectpads.h:
13275           Rename gst_collecpads_foo() => gst_collect_pads_foo(). Document
13276           unimplemented functions as unimplemented. Add padding to
13277           GstCollectData. (#320766, #320423)
13278
13279 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
13280
13281         * gst/gstmessage.c:
13282           Improve docs for DURATION message (usage of duration parameter)
13283           (#320113)
13284
13285 2005-11-20  Wim Taymans  <wim@fluendo.com>
13286
13287         * check/Makefile.am:
13288         * check/gst/gstsegment.c: (GST_START_TEST), (gstevents_suite),
13289         (main):
13290         * gst/Makefile.am:
13291         * gst/gst.h:
13292         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
13293         (gst_segment_set_seek), (gst_segment_set_newsegment),
13294         (gst_segment_to_stream_time), (gst_segment_to_running_time),
13295         (gst_segment_clip):
13296         * gst/gstsegment.h:
13297         Added segment helper structure and methods. Not fully implemented
13298         yet.
13299         Added segment check.
13300
13301 2005-11-20  Jan Schmidt  <thaytan@mad.scientist.com>
13302
13303         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
13304           Add a deserialisation test for fractions
13305         * examples/metadata/read-metadata.c: (message_loop),
13306         (make_pipeline), (main):
13307           Fix up metadata reading sample.
13308         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
13309           Debug format fix
13310         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
13311           Don't try and fixate empty caps
13312         * gst/gst_private.h:
13313           Wrap in G_BEGIN_DECLS/G_END_DECLS
13314         * gst/gstvalue.c: (gst_value_collect_fraction),
13315         (gst_value_set_fraction), (gst_value_get_fraction_denominator),
13316         (gst_value_transform_string_fraction),
13317         (gst_value_compare_fraction):
13318           Add some extra guards to ensure that we don't end up 
13319           with an invalid denominator of 0 in a gstfraction and
13320           that fractions always get reduced.
13321
13322 2005-11-20  Wim Taymans  <wim@fluendo.com>
13323
13324         * docs/gst/gstreamer-sections.txt:
13325         * gst/gstbuffer.h:
13326         * gst/gstelement.c:
13327         * gst/gstformat.c:
13328         * gst/gstformat.h:
13329         * gst/gstindex.h:
13330         * gst/gstquery.c:
13331         * gst/gstquery.h:
13332         * gst/gstvalue.c:
13333         Doc fixes.
13334
13335 2005-11-20  Wim Taymans  <wim@fluendo.com>
13336
13337         * docs/design/part-TODO.txt:
13338         * gst/gstcaps.h:
13339         Make a proper enum of the flag.
13340
13341 2005-11-19  Wim Taymans  <wim@fluendo.com>
13342
13343         * docs/design/part-TODO.txt:
13344         * gst/gstformat.c: (_gst_format_initialize), (gst_format_get_name),
13345         (gst_format_to_quark), (gst_format_register):
13346         * gst/gstformat.h:
13347         * gst/gstquery.c: (_gst_query_initialize),
13348         (gst_query_type_get_name), (gst_query_type_to_quark),
13349         (gst_query_type_register):
13350         * gst/gstquery.h:
13351         Add type to quark and type to string conversions.
13352
13353 2005-11-19  Andy Wingo  <wingo@pobox.com>
13354
13355         * gst/gstbuffer.h (GST_BUFFER_FLAG_ORIGINAL): Removed. Fixes
13356         #320097.
13357
13358 2005-11-19  Wim Taymans  <wim@fluendo.com>
13359
13360         * docs/design/part-TODO.txt:
13361         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
13362         (gst_bin_add_func), (gst_bin_remove_func), (bin_bus_handler),
13363         (gst_bin_handle_message_func):
13364         * gst/gstbin.h:
13365         Make message handling overridable.
13366
13367 2005-11-19  Andy Wingo  <wingo@pobox.com>
13368
13369         * gst/gstpad.h (GST_PAD_IS_USABLE): Removed. Fixes #321235.
13370
13371         * gst/gstclock.h:
13372         * gst/gstclock.c (GstClock, GstClockClass): Change resolution to
13373         be a GstClockTime.
13374         (gst_clock_set_resolution, gst_clock_get_resolution): Resolution
13375         is a GstClockTime. Fixes #321710.
13376
13377         * gst/gstclock.h (GstClock): Remove offset property. Add
13378         internal_calibration and external_calibration. Fix padding. Pad
13379         also by GstClockTime so we don't run into problems.
13380
13381         * gst/gstclock.c (gst_clock_set_rate_offset): Remove.
13382         (gst_clock_get_rate_offset): Remove.
13383         (gst_clock_set_time_adjust): Remove. Fixes #321712.
13384
13385         * gst/gstutils.h:
13386         * gst/gstutils.c (g_static_rec_cond_wait)
13387         (g_static_rec_cond_timed_wait): Removed, no longer needed.
13388
13389         * gst/gstbin.c: Remove terrible continue_state prototype.
13390
13391         * gst/gstelement.h (gst_element_continue_state): Make public.
13392
13393         * gst/gstelement.h:
13394         * gst/gstelement.c (gst_element_commit_state): Removed, replaced
13395         by continue_state. Fixes #319389.
13396
13397         * gst/gstindex.h (GstIndexFilter): Actually pass on the user_data.
13398         Really fixes #168438. However I don't see anywhere where the
13399         filter function is called... stupid GStreamer...
13400         
13401         * gst/gstindex.h (GstIndex): Add field for user_data_destroy. We
13402         don't have a dispose function, so it won't get called when the
13403         object is unreffed, but oh well!
13404
13405         * gst/gstindex.c (gst_index_set_filter_full): New API function,
13406         allows a destroy function to be set so user_data can be freed.
13407         Fixes #168438.
13408         (gst_index_set_filter): Call gst_index_set_filter_full.
13409
13410         * check/gst/gstvalue.c (test_string): Add test for bug #165650.
13411
13412         * gst/gstvalue.c (gst_string_wrap): Trying to serialize a NULL
13413         string should produce an error, given the lack of a way to
13414         represent NULL strings. Fixes #165650.
13415         
13416         * gst/gstvalue.h: 
13417         * gst/gstvalue.c (gst_value_array_append_value) 
13418         (gst_value_array_prepend_value, gst_value_array_get_size) 
13419         (gst_value_array_get_value): New API, copied from
13420         gst_value_list_*, only operates on arrays.
13421         (gst_value_list_append_value, gst_value_list_prepend_value) 
13422         (gst_value_list_concat, gst_value_list_get_size) 
13423         (gst_value_list_get_value): Only operate on lists. Fixes #156633.
13424
13425         * gst/gstvalue.c (gst_value_init_list_or_array): Renamed from
13426         init_list, because it works on both.
13427         (copy_garray_of_gstvalue): Renamed from gst_value_list_copy_array.
13428         (gst_value_copy_list_or_array): Renamed from copy_list.
13429         (gst_value_free_list_or_array): Renamed from free_list.
13430         (gst_value_collect_list_or_array): Renamed from collect_list.
13431         (gst_value_lcopy_list_or_array): Renamed from lcopy_list.
13432         (gst_value_list_or_array_peek_pointer): Renamed from
13433         list_peek_pointer.
13434         (_gst_value_array_value_table, _gst_value_list_value_table):
13435         Update value table functions.
13436         (gst_value_compare_list_or_array): Renamed from compare_list.
13437
13438         * gsttaglist.h: Whoops, foreach function returns void. Also fix
13439         some constness.
13440
13441         * gst/gsttaglist.c:
13442         * gst/gsttaglist.h (gst_tag_list_foreach): Operates on a const
13443         GstTagList*. Fixes #143472.
13444
13445         * gst/gststructure.h: Clarify what the foreach/map functions can
13446         or can't do to their arguments.
13447
13448 2005-11-18  Wim Taymans  <wim@fluendo.com>
13449
13450         * gst/gstclock.c: (gst_clock_set_calibration),
13451         (gst_clock_get_calibration):
13452         Doc and API fixes.
13453         Calibration can be set with internal time equal to current
13454         internal time too.
13455
13456 2005-11-18  Thomas Vander Stichele  <thomas at apestaart dot org>
13457
13458         * gst/gsterror.c:
13459         * gst/gsterror.h:
13460           document
13461
13462 2005-11-18  Andy Wingo  <wingo@pobox.com>
13463
13464         * configure.ac: 
13465         * pkgconfig/gstreamer-net.pc.in:
13466         * pkgconfig/gstreamer-net-uninstalled.pc.in:
13467         * pkgconfig/Makefile.am: Add net pkgconfig files.
13468
13469 2005-11-18  Stefan Kost  <ensonic@users.sf.net>
13470
13471         * gst/gstcaps.c:
13472         * gst/gstghostpad.c:
13473         * gst/gsttrace.c:
13474         * gst/gstvalue.c:
13475         * gst/gstvalue.h:
13476           docs fixes
13477
13478 2005-11-18  Andy Wingo  <wingo@pobox.com>
13479
13480         * gst/net/gstnetclientclock.c: Turn off debugging.
13481
13482         * check/net/gstnetclientclock.c (test_functioning): Assert that the
13483         times connverge somewhat. Can't make a real test.
13484
13485         * gst/net/gstnetclientclock.c (do_linear_regression): Use all
13486         integer arithmetic. Return the minimum of the domain, which can be
13487         set as "internal" for gst_clock_set_calibration.
13488         (gst_net_client_clock_observe_times): Call _set_calibration.
13489         (gst_net_client_clock_new): Call _set_calibration instead of
13490         rate_offset.
13491
13492         * check/net/gstnetclientclock.c (test_functioning): Use the right
13493         adjustment api.
13494
13495         * gst/gstclock.h:
13496         * gst/gstclock.c (gst_clock_get_calibration) 
13497         (gst_clock_set_calibration): New functions, obsolete the ones I
13498         added yesterday. Doh. Precision issues mean we have to extrapolate
13499         from a point in the more recent past than 1970.
13500         (gst_clock_get_rate_offset, gst_clock_set_rate_offset): Mark as
13501         obsolete.
13502         (gst_clock_adjust_unlocked): Use the right calibration data.
13503
13504 2005-11-18  Edward Hervey  <edward@fluendo.com>
13505
13506         * gst/base/gstbasesink.c: (gst_base_sink_change_state): 
13507         Also reset the ->current_* values in READY->PAUSED
13508
13509 2005-11-18  Andy Wingo  <wingo@pobox.com>
13510
13511         * gst/net/gstnetclientclock.c (gst_net_client_clock_thread):
13512         Whoops, check the right fd. Also add some debugging.
13513         (gst_net_client_clock_observe_times): Adjust for int64 offset.
13514         (do_linear_regression): Add a crapload of debugging. Subtract off
13515         the minimum values from the input series to discard unneeded bits.
13516         Use only int arithmetic. There is still double arithmetic when
13517         calculating the intercept that needs fixing. Return boolean to
13518         indicate success; FALSE would mean the domain or range is too
13519         great. Still needs fixes.
13520
13521 2005-11-18  Wim Taymans  <wim@fluendo.com>
13522
13523         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
13524         For the current position in stream time, we need to subtract
13525         accumulated time.
13526         
13527         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
13528         Release lock before calling the callback function of async
13529         entries.
13530
13531 2005-11-18  Andy Wingo  <wingo@pobox.com>
13532
13533         * gst/net/gstnetclientclock.c (gst_net_client_clock_class_init):
13534         Port goes all the way to MAXUINT16.
13535
13536         * gst/net/gstnettimeprovider.c: Make the port range the same as
13537         for the kernel: 0 assigns, otherwise ports are less than
13538         MAXUINT16.
13539
13540         * check/net/gstnettimeprovider.c: Adapt for 0 == kernel assigns
13541         port change.
13542
13543         * check/net/gstnetclientclock.c (test_functioning): Add the start
13544         of another test. 
13545
13546 2005-11-18  Wim Taymans  <wim@fluendo.com>
13547
13548         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
13549         (gst_bin_remove_func), (bin_bus_handler):
13550         * gst/gstbin.h:
13551         Removing a clock provider from a bin, triggers a clock lost message
13552         so that a new clock will be selected.
13553         Adding a clock to a bin triggers a clock provider message.
13554         Make sure we reselect a clock when we received a clock lost message.
13555         Keep a reference to the element that provided the clock.
13556
13557 2005-11-18  Andy Wingo  <wingo@pobox.com>
13558
13559         * gst/net/gstnetclientclock.c (gst_net_client_clock_new): Adjust
13560         the clock initially so it produces values around the base time.
13561         (gst_net_client_clock_class_init): Typo fix.
13562         (gst_net_client_clock_thread): Add note on when the socket gets
13563         closed.
13564
13565 2005-11-17  Wim Taymans  <wim@fluendo.com>
13566
13567         * gst/net/gstnetclientclock.c: (gst_net_client_clock_finalize):
13568         Free remote and local time arrays.
13569
13570 2005-11-17  Wim Taymans  <wim@fluendo.com>
13571
13572         * gst/net/gstnetclientclock.c: (do_linear_regression),
13573         (gst_net_client_clock_do_select), (gst_net_client_clock_thread):
13574         Fix compilation, uninitialized vars and a forgotten continue.
13575
13576 2005-11-17  Andy Wingo  <wingo@pobox.com>
13577
13578         * check/Makefile.am (check_PROGRAMS): 
13579         * check/net/gstnetclientclock.c: Add a most minimal test for the
13580         net client clock. More to come later.
13581
13582         * gst/net/gstnet.h: 
13583         * gst/net/Makefile.am: Add netclientclock.
13584
13585         * gst/net/gstnetclientclock.h:
13586         * gst/net/gstnetclientclock.c: New files, implement an untested
13587         GstClock that takes its time from a network time provider.
13588         Implements the algorithm in network-clock.scm.
13589
13590         * tests/network-clock.scm (*window-size*): Rename from
13591         *queue-length*.
13592         * tests/network-clock.scm (network-time): 
13593         * tests/network-clock-utils.scm (q-push): Update callers.
13594
13595 2005-11-17  Wim Taymans  <wim@fluendo.com>
13596
13597         * gst/gstbin.c: (gst_bin_provide_clock_func),
13598         (gst_bin_sort_iterator_new):
13599         And unref the child too..
13600
13601 2005-11-17  Wim Taymans  <wim@fluendo.com>
13602
13603         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
13604         (gst_bin_sort_iterator_new), (gst_bin_iterate_sorted):
13605         Refactor the sort iterator so it can be used while holding the
13606         LOCK too.
13607         Make clock selection select a clock closest to the source.
13608
13609 2005-11-17  Michael Smith <msmith@fluendo.com>
13610
13611         * gst/gstclock.c: (gst_clock_init), (gst_clock_adjust_unlocked),
13612         (gst_clock_set_rate_offset), (gst_clock_get_rate_offset):
13613         * gst/gstclock.h:
13614           Anonymous structs are a gcc (and some other compilers) extension, so
13615           don't use them. Since this is only for ABI-compatibility, and our
13616           API/ABI freeze is over in a few days, this whole thing will only
13617           last a few days, so don't bother trying to think up a meaningful
13618           name for the struct.
13619
13620 2005-11-17  Andy Wingo  <wingo@pobox.com>
13621
13622         * gst/gstclock.h (GstClock): Add rate and offset properties,
13623         preserving ABI stability. Add rate/offset accessors. Will file bug
13624         for the freeze break.
13625
13626         * gst/gstclock.c (gst_clock_adjust_unlocked): Implement using rate
13627         and offset, trying to keep precision and avoiding
13628         underflow/overflow.
13629         (gst_clock_set_rate_offset, gst_clock_get_rate_offset): New
13630         functions. Make gst_clock_set_time_adjust obsolete.
13631         (gst_clock_set_time_adjust): Note that this function is obsolete.
13632         Will file bug soon.
13633
13634         * gst/base/gstbasetransform.h: Make the ABI-stability hack
13635         greppable by using GST_PADDING-1+1.
13636
13637 2005-11-17  Torsten Schoenfeld  <kaffeetisch at gmx dot net>
13638
13639         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
13640
13641         * gst/gstmessage.c: (gst_message_parse_clock_lost):
13642           Assertion should check for CLOCK_LOST, not NEW_CLOCK (#321648).
13643
13644         * gst/gstpadtemplate.h:
13645         * gst/gstpluginfeature.h:
13646           Don't use c++ style comments in headers (#321638).
13647
13648 2005-11-16  Andy Wingo  <wingo@pobox.com>
13649
13650         * gst/net/gstnettimepacket.c (gst_net_time_packet_send): Free
13651         buffer.
13652
13653         * check/net/gstnettimeprovider.c: Check to see that the time
13654         provider actually provides times. Works, yo!
13655
13656 2005-11-16  Wim Taymans  <wim@fluendo.com>
13657
13658         * check/Makefile.am:
13659         Enable more tests.
13660
13661         * check/elements/fakesrc.c: (GST_START_TEST):
13662         Set element to NULL before disposing it.
13663
13664 2005-11-16  Andy Wingo  <wingo@pobox.com>
13665
13666         * gst/net/Makefile.am:
13667         * gst/net/gstnet.h:
13668         * gst/net/gstnettimeprovider.c: 
13669         * gst/net/gstnettimeprovider.h: Use the timepacket stuff in the
13670         provider, include it from gstnet.h, and add it to the build.
13671
13672         * gst/net/gstnettimepacket.h: 
13673         * gst/net/gstnettimepacket.c: New files, abstracts out the packet
13674         sending and receiving.
13675
13676 2005-11-16  Wim Taymans  <wim@fluendo.com>
13677
13678         * check/Makefile.am:
13679         Enable valgrind check.
13680
13681         * gst/elements/gstfakesrc.c: (gst_fake_src_alloc_parent),
13682         (gst_fake_src_alloc_buffer):
13683         Fix memleak.
13684
13685 2005-11-16  Wim Taymans  <wim@fluendo.com>
13686
13687         * gst/net/gstnettimeprovider.c: (gst_net_time_provider_finalize):
13688         Call parent finalize too.
13689
13690 2005-11-16  Wim Taymans  <wim@fluendo.com>
13691
13692         * check/Makefile.am:
13693         Enable valgrind check that should work fine now.
13694
13695         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
13696         * gst/gstqueue.c: (gst_queue_init):
13697         Fix memleaks in pad allocation.
13698
13699 2005-11-16  Andy Wingo  <wingo@pobox.com>
13700
13701         * gst/net/Makefile.am:
13702         * gst/net/gstnet.h: New part of core to hold network elements and
13703         objects. Put in core because it exposes API that applications want
13704         to use. The library is named libgstnet-tempname right now because
13705         of the existing libgstnet in gst-plugins-base. Solution is
13706         probably to rename the one in plugins-base; will file a bug for
13707         the freeze break.
13708
13709         * gst/net/gstnettimeprovider.c: 
13710         * gst/net/gstnettimeprovider.h: New object to export a GstClock's
13711         get_time call over the network.
13712
13713         * configure.ac: 
13714         * gst/Makefile.am (lib_LTLIBRARIES): Add gstnet to the build.
13715
13716         * check/Makefile.am:
13717         * check/net/gstnettimeprovider.c: A most minimal test suite. Will
13718         get additions shortly.
13719
13720 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
13721
13722         * gst/gstpad.c: (gst_pad_new_from_static_template):
13723         * gst/gstpad.h:
13724           add gst_pad_new_from_static_template functions
13725         * gst/check/gstcheck.c: (gst_check_setup_src_pad),
13726         (gst_check_setup_sink_pad):
13727         * gst/elements/gsttee.c: (gst_tee_init):
13728           and use them
13729
13730 2005-11-16  Wim Taymans  <wim@fluendo.com>
13731
13732         * gst/gstpad.c: (gst_pad_pause_task):
13733         Removed warning, it's not really an error either.
13734
13735 2005-11-16  Wim Taymans  <wim@fluendo.com>
13736
13737         * gst/base/gstbasetransform.c:
13738         (gst_base_transform_prepare_output_buf),
13739         (gst_base_transform_event):
13740         Check if the caps are NULL, this can happen if the element
13741         is shutting down and the pad caps are set to NULL.
13742
13743 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
13744
13745         * gst/elements/gsttee.c: (gst_tee_init):
13746           fix pad template leak in tee
13747
13748 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
13749
13750         * gst/glib-compat.c: (g_value_dup_gst_object):
13751         * gst/glib-compat.h:
13752         * gst/gstpad.c: (gst_pad_set_property):
13753           use gst_object_ref when setting the pad template; this will
13754           trigger the pad template leaks on GLib 2.6 and the slaves
13755
13756 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
13757
13758         * gst/glib-compat.c: (gst_flags_get_first_value):
13759         * gst/glib-compat.h:
13760         * gst/gstregistryxml.c:
13761           remove functions copied from GLib 2.6
13762
13763 2005-11-16  Michael Smith <msmith@fluendo.com>
13764
13765         * gst/Makefile.am:
13766           Don't link against VALGRIND_LIBS. That was always the wrong thing to
13767           do, but only breaks with newer valgrind versions. We're not a
13768           valgrind tool, we have no link-time dependencies on libcoregrind.
13769
13770 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
13771
13772         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
13773           some debug changes
13774         * gst/gstmessage.h:
13775           typo fixes
13776
13777 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
13778
13779         * gst/base/gstbasesrc.c: (gst_base_src_init):
13780         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
13781         * gst/gstqueue.c: (gst_queue_init):
13782         * gst/gstregistryxml.c: (load_feature):
13783           Revert all these unrefs, they don't even pass make check !
13784
13785 2005-11-15  Johan Dahlin  <johan@gnome.org>
13786
13787         * gst/base/gstbasesrc.c: (gst_base_src_init):
13788         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
13789         * gst/gstqueue.c: (gst_queue_init): 
13790         Free pad templates, fixes a couple of leaks.
13791
13792 2005-11-15  Daniel Fischer  <dan at f3c dot com>
13793
13794         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
13795
13796         * gst/gstpad.c: (gst_pad_get_property):
13797           GST_PAD_PAD_TEMPLATE(pad) gets the pad template, while
13798           GST_PAD_TEMPLATE(pad) does a cast. We want the former here.
13799           (#321452)
13800
13801 2005-11-15  Wim Taymans  <wim@fluendo.com>
13802
13803         * gst/gstevent.c:
13804         Small doc update.
13805
13806 2005-11-15  Andy Wingo  <wingo@pobox.com>
13807
13808         * gst/gstelement.c (gst_element_set_base_time): Add debugging.
13809
13810         * gst/gstpipeline.c (gst_pipeline_set_new_stream_time): Document
13811         using GST_CLOCK_TIME_NONE to disable base time management.
13812         (do_pipeline_seek, gst_pipeline_change_state): Don't reset stream
13813         time if it was NONE before.
13814         (gst_pipeline_change_state): Only munge the base time if
13815         stream_time != GST_CLOCK_TIME_NONE.
13816
13817         * check/gst/gstpipeline.c (test_base_time): Punt around the
13818         problem of the probe not being called, because that's not the
13819         issue I'm looking at. Add a check that setting stream_time to NONE
13820         disables base time management.
13821         
13822 2005-11-15  Wim Taymans  <wim@fluendo.com>
13823
13824         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
13825         segment_stop == -1 at startup.
13826
13827         * gst/base/gstbasetransform.c: (gst_base_transform_event),
13828         (gst_base_transform_change_state):
13829         Init segment values at start.
13830
13831 2005-11-15  Wim Taymans  <wim@fluendo.com>
13832
13833         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
13834         0 segment values are 0 in any format.
13835
13836         * gst/base/gstbasetransform.c: (gst_base_transform_event):
13837         * gst/base/gstbasetransform.h:
13838         Parse newsegment correctly in basetransform
13839
13840         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
13841         Sync to clock using updated segment values.
13842
13843 2005-11-15  Andy Wingo  <wingo@pobox.com>
13844
13845         * check/gst/gstpipeline.c (test_base_time): Add check that the
13846         base time and stream time are reset correctly.
13847
13848 2005-11-15  Wim Taymans  <wim@fluendo.com>
13849
13850         * docs/design/part-TODO.txt:
13851         Some more TODO items.
13852
13853 2005-11-15  Andy Wingo  <wingo@pobox.com>
13854
13855         * gst/elements/gstfakesrc.c (gst_fake_src_create): It's not an
13856         error if the user selected "no clock" as the clocking method.
13857
13858         * check/gst/gstpipeline.c (test_base_time): New test for buffer
13859         timestamps with live capture.
13860
13861         * gst/elements/gstfakesrc.c (gst_fake_src_create): If the datarate
13862         is 0 but we are a live source, timestamp the buffers using the
13863         element's clock.
13864
13865 2005-11-14  Stefan Kost  <ensonic@users.sf.net>
13866
13867         * docs/gst/gstreamer-sections.txt:
13868         * gst/gsterror.c:
13869         * gst/gstghostpad.c:
13870         * gst/gstobject.h:
13871         * gst/gstxml.c:
13872           more section docs
13873
13874 2005-11-14  Wim Taymans  <wim@fluendo.com>
13875
13876         * common/gst.supp:
13877           add suppressions from Wim's Debian machine
13878
13879 2005-11-14  Thomas Vander Stichele  <thomas at apestaart dot org>
13880
13881         * common/gst.supp:
13882           add suppressions from Andy's AMD64 Ubuntu machine
13883
13884 2005-11-14  Andy Wingo  <wingo@pobox.com>
13885
13886         * gst/gstpad.c (gst_pad_set_active): Change docs; parent's
13887         STATE_LOCK not necessary. Fixes #311489.
13888
13889         * gst/gsterror.c (FILE_A_BUG): Be polite *and* helpful. Fixes
13890         #305291.
13891
13892         * gst/gstindex.c (gst_index_add_object): Note in the docs that
13893         this function is not implemented.
13894
13895 2005-11-14  Julien MOUTTE  <julien@moutte.net>
13896
13897         * gst/base/gstbasetransform.c:
13898         (gst_base_transform_prepare_output_buf):
13899         Ref the source pad caps while we need them.
13900         Fixes (#321386)
13901
13902 2005-11-11  Wim Taymans  <wim@fluendo.com>
13903
13904         * docs/gst/gstreamer-sections.txt:
13905         Added some docs for GstCollectData.
13906
13907         * gst/base/gstadapter.c:
13908         Some small code example fix.
13909
13910         * gst/base/gstcollectpads.c:
13911         * gst/base/gstcollectpads.h:
13912         Document some more.
13913
13914 2005-11-11  Thomas Vander Stichele  <thomas at apestaart dot org>
13915
13916         * configure.ac: back to HEAD
13917
13918 === release 0.9.5 ===
13919
13920 2005-11-11  Thomas Vander Stichele <thomas at apestaart dot org>
13921
13922         * configure.ac:
13923           releasing 0.9.5, "Bike Lunch Day"
13924
13925 2005-11-11  Wim Taymans  <wim@fluendo.com>
13926
13927         * gst/gstbuffer.c: (_gst_buffer_copy):
13928         Copy more flags.
13929
13930         * gst/gstcaps.c: (gst_caps_is_equal):
13931         Fix some docs.
13932         Make _is_equal fast in the trivial cases.
13933
13934         * gst/gstminiobject.c:
13935         * gst/gstminiobject.h:
13936         More docs. Spifify .h file.
13937
13938         * gst/gstutils.c:
13939         Small doc update.
13940
13941 2005-11-11  Wim Taymans  <wim@fluendo.com>
13942
13943         * gst/base/gstbasetransform.c:
13944         (gst_base_transform_prepare_output_buf),
13945         (gst_base_transform_handle_buffer):
13946         Small cleanups.
13947         If we're processing a buffer and need to allocate an output
13948         buffer, we cannot accept a format change. If we did get a 
13949         format change, we have to alloc a buffer ourselves of the 
13950         right size.
13951
13952 2005-11-11  Wim Taymans  <wim@fluendo.com>
13953
13954         * gst/gstpad.c: (gst_pad_get_caps), (gst_pad_peer_get_caps):
13955         While checking the flag for reentrancy in the gstcaps function
13956         is nice to detect recursive invocations, it also makes it 
13957         impossible to call getcaps from multiple threads, which must be
13958         possible. So, checking for recursive calls has to go.
13959
13960 2005-11-11  Michael Smith <msmith@fluendo.com>
13961
13962         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
13963           Don't sync on buffers that fall partially outside our current
13964           segment. Prevents an assertion failure/abort playing some files.
13965
13966 2005-11-10  Andy Wingo  <wingo@pobox.com>
13967
13968         * check/gst/gstbin.c (test_message_state_changed_children): Style
13969         fix..
13970
13971         * gst/gstbus.c (poll_destroy, poll_func, gst_bus_poll): Implement
13972         gst_bus_poll with the signal watch. Ensures that poll and a signal
13973         watch see the same messages.
13974
13975         * check/gst/gstbus.c (test_watch_with_poll): New test, checks that
13976         a poll and a watch at the same time get the same messages.
13977
13978 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
13979
13980         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps):
13981         * gst/gstcaps.c: (gst_caps_intersect):
13982           Don't call gst_caps_do_simplify - it doesn't respect order of caps
13983           and it's not needed.
13984
13985 2005-11-10  Wim Taymans  <wim@fluendo.com>
13986
13987         * docs/design/part-TODO.txt:
13988         Updated todo.
13989
13990 2005-11-10  Wim Taymans  <wim@fluendo.com>
13991
13992         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
13993         * gst/base/gstbasesrc.c: (gst_base_src_wait),
13994         (gst_base_src_do_sync), (gst_base_src_get_range):
13995         Implement clock sync in base class.
13996
13997 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
13998
13999         patch by: Tim-Philipp Müller <tim at centricular dot net>
14000
14001         * gst/gststructure.c: (gst_structure_parse_field),
14002         (gst_structure_from_string):
14003           Forward-port a 0.8 patch to handle escaped spaces in structure string,
14004           so that gst_parse_launch() can deal with spaces in filtered link
14005           caps (fixes #164479)
14006         * check/gst/capslist.h:
14007         * check/gst/gststructure.c: (GST_START_TEST):
14008           add unit tests for this change
14009
14010 2005-11-10  Wim Taymans  <wim@fluendo.com>
14011
14012         * docs/gst/gstreamer-sections.txt:
14013         * gst/gstelement.c:
14014         * gst/gstelement.h:
14015         Fix docs, move some STATE macros to private.
14016
14017 2005-11-10  Wim Taymans  <wim@fluendo.com>
14018
14019         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
14020         Added check for bug #317341
14021
14022         * gst/gstbuffer.c:
14023         * gst/gstbuffer.h:
14024         Some more spiffifying.
14025
14026         * gst/gstghostpad.c: (gst_ghost_pad_do_link):
14027         Call peer linkfunction if we are a source pad. Totally fixes
14028         #317341
14029
14030         * gst/gstpad.c:
14031         Update docs, source pads should call the peer linkfunction
14032         so they can atomically perform the pad link.
14033
14034 2005-11-09  Wim Taymans  <wim@fluendo.com>
14035
14036         * gst/gstbuffer.c:
14037         * gst/gstbuffer.h:
14038         Uber-spiffy-spiffify some more.
14039
14040 2005-11-09  Tim-Philipp Müller  <tim at centricular dot net>
14041
14042         * gst/base/gstcollectpads.c: (gst_collectpads_add_pad):
14043         * gst/elements/gstfilesink.c: (gst_file_sink_init):
14044         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
14045         * gst/gstghostpad.c: (gst_ghost_pad_set_internal),
14046         (gst_ghost_pad_init), (gst_ghost_pad_new_notarget):
14047         * gst/gstpad.c: (gst_pad_init):
14048           Use GST_DEBUG_FUNCPTR() more extensively.
14049
14050 2005-11-09  Wim Taymans  <wim@fluendo.com>
14051
14052         * gst/gstobject.c: (gst_object_class_init):
14053         * gst/gstobject.h:
14054         Documentation fixes.
14055
14056 2005-11-09  Edward Hervey  <edward@fluendo.com>
14057
14058         * gst/gsttypefindfactory.c:
14059         Fix docs.
14060         
14061 2005-11-09  Edward Hervey  <edward@fluendo.com>
14062
14063         * gst/base/gsttypefindhelper.c:
14064         * gst/gsttypefind.c:
14065         * gst/gsttypefind.h:
14066         Fix docs.
14067
14068 2005-11-09  Wim Taymans  <wim@fluendo.com>
14069
14070         * gst/gstiterator.c:
14071         Fix revision data.
14072
14073         * gst/gsttask.c:
14074         * gst/gsttask.h:
14075         Fix docs.
14076
14077 2005-11-09  Wim Taymans  <wim@fluendo.com>
14078
14079         * gst/gstevent.h:
14080         * gst/gsturi.h:
14081         Fix docs.
14082
14083 2005-11-09  Wim Taymans  <wim@fluendo.com>
14084
14085         * docs/gst/gstreamer-sections.txt:
14086         Moved the message async delivery private lock and cond
14087         to the private section.
14088
14089         * gst/gstmessage.c:
14090         * gst/gstmessage.h:
14091         Fixed docs.
14092
14093 2005-11-09  Edward Hervey  <edward@fluendo.com>
14094
14095         * docs/gst/gstreamer-sections.txt:
14096         * gst/gsturi.c:
14097         * gst/gsturi.h:
14098         Document GstURIHandler
14099
14100 2005-11-09  Wim Taymans  <wim@fluendo.com>
14101
14102         * gst/gstiterator.c: (gst_iterator_fold), (gst_iterator_foreach),
14103         (gst_iterator_find_custom):
14104         * gst/gstiterator.h:
14105         Fix iterator docs.
14106
14107 2005-11-09  Wim Taymans  <wim@fluendo.com>
14108
14109         * gst/gstbin.h:
14110         Document another field.
14111
14112         * gst/gststructure.c:
14113         * gst/gststructure.h:
14114         Document.
14115
14116 2005-11-09  Wim Taymans  <wim@fluendo.com>
14117
14118         * gst/gstbin.h:
14119         Documented structs.
14120
14121 2005-11-09  Wim Taymans  <wim@fluendo.com>
14122
14123         * docs/gst/gstreamer-sections.txt:
14124         Added some new macros.
14125
14126         * gst/gstclock.c:
14127         * gst/gstclock.h:
14128         * gst/gstobject.h:
14129         Docs updates.
14130
14131 2005-11-09  Wim Taymans  <wim@fluendo.com>
14132
14133         * docs/design/part-TODO.txt:
14134         Some more items for the TODO
14135
14136         * gst/gstcaps.c:
14137         * gst/gstcaps.h:
14138         Document GstCaps.
14139
14140 2005-11-09  Andy Wingo  <wingo@pobox.com>
14141
14142         * gst/base/gstbasesink.c: Add the beginning of docs here -- have
14143         to work on something else now tho...
14144
14145         * gst/base/gstadapter.c: More adapter docs.
14146
14147         * gst/elements/gstfilesink.c (gst_file_sink_start) 
14148         (gst_file_sink_stop): New functions, replace the state change
14149         handler.
14150         (gst_file_sink_class_init): Hook up the start and stop functions.
14151         (gst_file_sink_base_init): Don't set the state change handler any
14152         more. It was a bit ugly too, being set from here...
14153         (gst_file_sink_get_property, gst_file_sink_set_property):
14154         Cleanups...
14155         (gst_file_sink_set_location): More robust check that doesn't call
14156         GST_STATE. Ugggggg.
14157
14158 2005-11-08  Tim-Philipp Müller  <tim at centricular dot net>
14159
14160         * gst/base/gstbasetransform.c: (gst_base_transform_event):
14161           Hold STREAM_LOCK while pushing newsegment or tag events as well.
14162
14163 2005-11-08  Wim Taymans  <wim@fluendo.com>
14164
14165         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
14166         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
14167         (gst_base_sink_chain), (gst_base_sink_change_state):
14168         * gst/base/gstbasesink.h:
14169         * gst/base/gstbasesrc.h:
14170         * gst/gstelement.h:
14171         * gst/gstevent.h:
14172         Avoid excessive typechecking in macros.
14173
14174         * gst/gstminiobject.c: (gst_mini_object_get_type),
14175         (gst_mini_object_init), (gst_mini_object_new),
14176         (gst_mini_object_free):
14177         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
14178         (gst_object_finalize):
14179         Remove cruft code, optimize alloc_trace.
14180
14181 2005-11-07  Thomas Vander Stichele  <thomas at apestaart dot org>
14182
14183         * docs/faq/gst-uninstalled:
14184           fix up PS1 for systems that try to reset it
14185
14186 2005-11-07  Wim Taymans  <wim@fluendo.com>
14187
14188         * gst/base/gstbasesrc.c: (gst_base_src_init),
14189         (gst_base_src_get_range):
14190         Set the segment_end to -1 initially. Fixed typefind.
14191
14192 2005-11-07  Tim-Philipp Müller  <tim at centricular dot net>
14193
14194         * gst/base/gstadapter.c:
14195           Debug category should be 'adapter', not 'GstAdapter'.
14196           
14197         * gst/base/gstcollectpads.c: (gst_collectpads_base_init),
14198         (gst_collectpads_class_init), (gst_collectpads_init),
14199         (gst_collectpads_peek), (gst_collectpads_pop),
14200         (gst_collectpads_event), (gst_collectpads_chain):
14201           Add debug category and some debugging output. Use boilerplate
14202           macros. Remove some extraneous words from docs.
14203
14204 2005-11-05  Andy Wingo  <wingo@pobox.com>
14205
14206         * gst/base/gstpushsrc.c: Shorten by 30% via use of boilerplate
14207         macro.
14208
14209 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
14210
14211         * docs/gst/gstreamer-sections.txt:
14212         * gst/gstcaps.h:
14213         * gst/gstinfo.c:
14214         * gst/gstminiobject.h:
14215         * gst/gstobject.h:
14216         * gst/gstutils.h:
14217           more docs added
14218
14219 2005-11-04  Wim Taymans  <wim@fluendo.com>
14220
14221         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
14222         Small update to stop at the configured segment_end
14223         position.
14224
14225 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
14226
14227         * gst/gstregistry.c:
14228         * gst/gstregistry.h:
14229           added missing docs
14230
14231 2005-11-04  Edward Hervey  <edward@fluendo.com>
14232
14233         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
14234         Check if we are doing a segment seek and have arrived at the
14235         end of that segment.
14236
14237 2005-11-04  Wim Taymans  <wim@fluendo.com>
14238
14239         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_sync_handler):
14240         Don't leak a mutex unlock in case of an error.
14241
14242         * gst/gstbus.h:
14243         Doc fixes.
14244
14245 2005-11-04  Wim Taymans  <wim@fluendo.com>
14246
14247         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_init),
14248         (gst_bus_post):
14249         Get the context to wake up only once.
14250
14251 2005-11-03  Wim Taymans  <wim@fluendo.com>
14252
14253         * check/states/sinks.c: (GST_START_TEST):
14254         Uncomment fixed check.
14255
14256         * docs/design/part-TODO.txt:
14257         Updated TODO.
14258
14259         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
14260         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
14261         (gst_base_sink_get_position):
14262         If we are going to PLAYING, post the right pending state
14263         when we post the intermediate paused message.
14264
14265         * gst/gstelement.c: (gst_element_continue_state),
14266         (gst_element_set_state_func), (gst_element_change_state):
14267         Don't post state changes that were between the same state
14268         and were not ASYNC.
14269
14270 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
14271
14272         * docs/gst/gstreamer-sections.txt:
14273         * gst/gstcaps.h:
14274         * gst/gstinfo.c:
14275         * gst/gstminiobject.h:
14276         * gst/gstobject.h:
14277         * gst/gstutils.h:
14278           more docs and doc style fixes
14279
14280 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
14281
14282         * docs/gst/gstreamer-sections.txt:
14283         * gst/gstelement.c:
14284         * gst/gstminiobject.c:
14285         doc fixes
14286
14287 2005-11-03  Andy Wingo  <wingo@pobox.com>
14288
14289         * check/states/sinks.c (test_livesrc_sink): Add checks that the
14290         state-changed messages actually have the right order and the right
14291         values.
14292
14293 2005-11-03  Wim Taymans  <wim@fluendo.com>
14294
14295         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
14296         Added some more checks. Specifically the case where NO_PREROLL
14297         elements are in the pipeline.
14298
14299         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
14300         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
14301         (gst_base_sink_get_position):
14302         Post READY->PAUSED state change messages too.
14303         Fix bug where VOID was posted as pending state...
14304
14305         * gst/gstbin.c: (gst_bin_recalc_state):
14306         use _element_continue_state() to continue the state change.
14307
14308         * gst/gstelement.c: (gst_element_continue_state),
14309         (gst_element_commit_state), (gst_element_set_state_func),
14310         (gst_element_change_state), (gst_element_change_state_func):
14311         Lots of state change cleanups, assign the STATE_RETURN in
14312         a new continue_state() function that also propagates the
14313         last return value from a state change to the app.
14314         Update some debug statements with proper category.
14315
14316 2005-11-03  Wim Taymans  <wim@fluendo.com>
14317
14318         * docs/design/part-events.txt:
14319         * docs/design/part-gstpipeline.txt:
14320         * docs/design/part-messages.txt:
14321         * docs/design/part-overview.txt:
14322         * docs/design/part-seeking.txt:
14323         * docs/design/part-states.txt:
14324         * docs/design/part-trickmodes.txt:
14325         * docs/manual/advanced-position.xml:
14326         Small docs updates.
14327
14328         * gst/gstobject.h:
14329         People think !! is ugly, this looks better.
14330
14331         * gst/gstpad.c: (gst_pad_set_blocked_async):
14332         Remove !! since it's fixed elsewhere now.
14333
14334 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
14335
14336         * gst/gstminiobject.h:
14337         * gst/gstobject.h:
14338           Add !! to _FLAG_IS_SET macros to make the result boolean.
14339
14340 2005-11-03  Edward Hervey  <edward@fluendo.com>
14341
14342         * gst/gstpad.c: (gst_pad_set_blocked_async):
14343         comparing a flag and a gboolean rarely returns coherent results...
14344         Added two characters (!!) to make that work correctly.
14345         
14346 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
14347
14348         * gst/gstbus.c: (gst_bus_class_init):
14349           Fix some typos.
14350           
14351         * gst/gstqueue.c: (gst_queue_loop):
14352           Don't assume a miniobject that isn't a buffer is an
14353           event (it could be that there is a refcounting
14354           problem somewhere and the pointer is stale and
14355           refers to an already destroyed miniobject).
14356
14357 2005-11-03  Julien MOUTTE  <julien@moutte.net>
14358
14359         * gst/gstpad.c: (gst_pad_alloc_buffer): Fix some typos.
14360
14361 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
14362
14363         * docs/manual/advanced-position.xml:
14364           Update seek example and explanations to current 0.9 API.
14365
14366         * gst/elements/gsttypefindelement.c:
14367         (gst_type_find_element_activate):
14368           Remove FIXME comment now that the found caps
14369           are unreffed.
14370
14371 2005-11-03  Thomas Vander Stichele  <thomas at apestaart dot org>
14372
14373         * gst/gstregistryxml.c: (load_feature):
14374           Add another GST_STR_NULL instance
14375
14376 2005-11-02  Edward Hervey  <edward@fluendo.com>
14377
14378         * gst/gstpad.c: (handle_pad_block):
14379         Follow-up to Wim's patch, solves deadlock for blocked and flushing pads
14380         
14381 2005-11-02  Wim Taymans  <wim@fluendo.com>
14382
14383         * gst/gstbin.c:
14384         Fix typo in docs.
14385
14386         * gst/gstelement.c: (gst_element_commit_state):
14387         Remove unused value.
14388
14389         * gst/gstiterator.c:
14390         Mention that the returned element is reffed in the docs.
14391
14392 2005-11-02  Wim Taymans  <wim@fluendo.com>
14393
14394         * gst/gstpad.c: (gst_pad_alloc_buffer), (handle_pad_block),
14395         (gst_pad_push), (gst_pad_push_event):
14396         Unlock blocked pads when they are flushed.
14397
14398 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
14399
14400         * docs/README:
14401         * docs/gst/gstreamer-sections.txt:
14402         * gst/gstbin.c:
14403           doc updates
14404         * gst/gstregistry.c: (gst_registry_scan_path_level):
14405           fix for a nasty little missed situation where an installed plug-in
14406           which was in the cache did not get overridden by an uninstalled one
14407           which was earlier in the plugin path because the newly created plugin
14408           for the uninstalled one (not in the registry) didn't get its
14409           ->registered set to TRUE
14410
14411 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
14412
14413         * gst/base/gstcollectpads.c: (gst_collectpads_set_function),
14414         (gst_collectpads_add_pad), (gst_collectpads_remove_pad),
14415         (gst_collectpads_is_active), (gst_collectpads_collect),
14416         (gst_collectpads_collect_range), (gst_collectpads_start),
14417         (gst_collectpads_stop), (gst_collectpads_peek),
14418         (gst_collectpads_pop), (gst_collectpads_available),
14419         (gst_collectpads_read), (gst_collectpads_flush):
14420           Guard public API with assertions.
14421         
14422         * gst/gstpad.c:
14423           Fix docs for gst_pad_set_link_function().
14424
14425 2005-11-02  Johan Dahlin  <johan@gnome.org>
14426
14427         * gst/elements/gsttypefindelement.c (gst_type_find_element_activate): 
14428         Unref found_caps after we used it.
14429
14430 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
14431
14432         * gst/base/gstcollectpads.c: (gst_collectpads_peek):
14433           Don't try to ref NULL.
14434
14435 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
14436
14437         * win32/common/config.h.in:
14438           provide a GST_FUNCTION that just gives a string for now
14439
14440 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
14441
14442         * win32/common/gstenumtypes.c: (register_gst_object_flags),
14443         (gst_object_flags_get_type), (register_gst_bin_flags),
14444         (gst_bin_flags_get_type), (register_gst_buffer_flag),
14445         (gst_buffer_flag_get_type), (register_gst_bus_flags),
14446         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
14447         (gst_bus_sync_reply_get_type), (register_gst_clock_return),
14448         (gst_clock_return_get_type), (register_gst_clock_entry_type),
14449         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
14450         (gst_clock_flags_get_type), (register_gst_state),
14451         (gst_state_get_type), (register_gst_state_change_return),
14452         (gst_state_change_return_get_type), (register_gst_state_change),
14453         (gst_state_change_get_type), (register_gst_element_flags),
14454         (gst_element_flags_get_type), (register_gst_core_error),
14455         (gst_core_error_get_type), (register_gst_library_error),
14456         (gst_library_error_get_type), (register_gst_resource_error),
14457         (gst_resource_error_get_type), (register_gst_stream_error),
14458         (gst_stream_error_get_type), (register_gst_event_type),
14459         (gst_event_type_get_type), (register_gst_seek_type),
14460         (gst_seek_type_get_type), (register_gst_seek_flags),
14461         (gst_seek_flags_get_type), (register_gst_format),
14462         (gst_format_get_type), (register_gst_index_certainty),
14463         (gst_index_certainty_get_type), (register_gst_index_entry_type),
14464         (gst_index_entry_type_get_type),
14465         (register_gst_index_lookup_method),
14466         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
14467         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
14468         (gst_index_resolver_method_get_type), (register_gst_index_flags),
14469         (gst_index_flags_get_type), (register_gst_debug_level),
14470         (gst_debug_level_get_type), (register_gst_debug_color_flags),
14471         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
14472         (gst_iterator_result_get_type), (register_gst_iterator_item),
14473         (gst_iterator_item_get_type), (register_gst_message_type),
14474         (gst_message_type_get_type), (register_gst_mini_object_flags),
14475         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
14476         (gst_pad_link_return_get_type), (register_gst_flow_return),
14477         (gst_flow_return_get_type), (register_gst_activate_mode),
14478         (gst_activate_mode_get_type), (register_gst_pad_direction),
14479         (gst_pad_direction_get_type), (register_gst_pad_flags),
14480         (gst_pad_flags_get_type), (register_gst_pad_presence),
14481         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
14482         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
14483         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
14484         (gst_plugin_error_get_type), (register_gst_plugin_flags),
14485         (gst_plugin_flags_get_type), (register_gst_rank),
14486         (gst_rank_get_type), (register_gst_query_type),
14487         (gst_query_type_get_type), (register_gst_tag_merge_mode),
14488         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
14489         (gst_tag_flag_get_type), (register_gst_task_state),
14490         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
14491         (gst_alloc_trace_flags_get_type),
14492         (register_gst_type_find_probability),
14493         (gst_type_find_probability_get_type), (register_gst_uri_type),
14494         (gst_uri_type_get_type), (register_gst_parse_error),
14495         (gst_parse_error_get_type):
14496         * win32/common/gstversion.h:
14497           update win32 copies
14498
14499 2005-11-01  Luca Ognibene  <luogni@tin.it>
14500
14501         * gst/gst.c:
14502           fix docs. popt is dead, long live GOption.
14503
14504 2005-10-31  Wim Taymans  <wim@fluendo.com>
14505
14506         * gst/gstbuffer.h:
14507         Small doc fix.
14508
14509 2005-10-31  Andy Wingo  <wingo@pobox.com>
14510
14511         * Boo!
14512
14513         * gst/gstqueue.c (gst_queue_chain): Fix downstream leaky mode.
14514
14515         * gst/gstobject.c (gst_object_dispatch_properties_changed): No
14516         need to serialize property notifications on GLib 2.8. GLib 2.6 has
14517         the possibility of deadlocks here if code calling notify() or
14518         set() has a lock that can be taken in another notify handler (ABBA
14519         with class lock and e.g. python GIL state lock).
14520
14521 2005-10-28  Julien MOUTTE  <julien@moutte.net>
14522
14523         * gst/gstbus.c: Doc updates.
14524
14525 2005-10-28  Wim Taymans  <wim@fluendo.com>
14526
14527         * docs/design/part-TODO.txt:
14528         * gst/gstiterator.c:
14529         * gst/gstsystemclock.c:
14530         * gst/gstsystemclock.h:
14531         Doc updates.
14532
14533 2005-10-28  Edward Hervey  <edward@fluendo.com>
14534
14535         * docs/gst/gstreamer-docs.sgml:
14536         * docs/gst/gstreamer-sections.txt:
14537         the GstURIType documentation page is private, it only defines GstURIType
14538         which should be defined in the GstURIHandler page
14539         
14540 2005-10-28  Thomas Vander Stichele  <thomas at apestaart dot org>
14541
14542         * gst/gstbin.c: (gst_bin_class_init):
14543         * gst/gstbin.h:
14544         * gst/gstutils.c:
14545         Documentation updates.
14546
14547 2005-10-28  Wim Taymans  <wim@fluendo.com>
14548
14549         * docs/gst/gstreamer-sections.txt:
14550         * gst/gstclock.c:
14551         * gst/gstclock.h:
14552         Documented the clocks.
14553
14554 2005-10-28  Stefan Kost  <ensonic@users.sf.net>
14555
14556         * docs/gst/gstreamer-sections.txt:
14557           move some macros to private sections
14558         * gst/gstminiobject.c:
14559         * gst/gstminiobject.h:
14560           add descriptions provided by ds and some more
14561         * gst/gstpad.h:
14562           mark macro as to be removed
14563
14564 2005-10-28  Wim Taymans  <wim@fluendo.com>
14565
14566         * docs/design/part-TODO.txt:
14567         Add an item to TODO.
14568
14569         * gst/gstiterator.c: (gst_iterator_fold),
14570         (gst_iterator_find_custom):
14571         * gst/gstiterator.h:
14572         Add iterator docs.
14573
14574 2005-10-28  Wim Taymans  <wim@fluendo.com>
14575
14576         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
14577         (gst_base_transform_init):
14578         Don't leak class.
14579
14580         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_loop):
14581         An EOS event marks the queue as completely filled.
14582
14583 2005-10-27  Wim Taymans  <wim@fluendo.com>
14584
14585         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
14586         (gst_base_sink_do_sync), (gst_base_sink_get_position):
14587         Some more debugging.
14588
14589         * gst/base/gstbasetransform.c: (gst_base_transform_finalize),
14590         (gst_base_transform_init), (gst_base_transform_buffer_alloc),
14591         (gst_base_transform_event), (gst_base_transform_getrange),
14592         (gst_base_transform_chain):
14593         * gst/base/gstbasetransform.h:
14594         Fix debugging,
14595         Protect transform and concurrent buffer alloc with a new lock.
14596         Try not to break ABI/API.
14597
14598 2005-10-27  Wim Taymans  <wim@fluendo.com>
14599
14600         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
14601         (gst_base_src_init), (gst_base_src_query),
14602         (gst_base_src_default_newsegment),
14603         (gst_base_src_configure_segment), (gst_base_src_do_seek),
14604         (gst_base_src_send_event), (gst_base_src_event_handler),
14605         (gst_base_src_pad_get_range), (gst_base_src_loop),
14606         (gst_base_src_unlock), (gst_base_src_default_negotiate),
14607         (gst_base_src_start), (gst_base_src_deactivate),
14608         (gst_base_src_activate_push), (gst_base_src_change_state):
14609         Move some stuff around and cleanup things.
14610
14611 2005-10-27  Tim-Philipp Müller  <tim at centricular dot net>
14612
14613         * gst/base/gstbasesrc.c: (gst_base_src_query):
14614           Add missing break statements.
14615
14616 2005-10-27  Wim Taymans  <wim@fluendo.com>
14617
14618         * check/gst/gstbin.c: (GST_START_TEST):
14619         An extra refcount is taken in basesrc.
14620
14621         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
14622         (gst_base_src_get_range), (gst_base_src_pad_get_range),
14623         (gst_base_src_loop):
14624         Small cleanups, check for flushing after being unlocked from the 
14625         LIVE_LOCK. take refcounts correctly (not yet everywhere).
14626         Don't send out EOS when going to READY.
14627
14628 2005-10-27  Wim Taymans  <wim@fluendo.com>
14629
14630         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
14631         (gst_base_sink_get_position):
14632         Some more debug.
14633
14634         * gst/gstbin.c: (message_check), (bin_replace_message),
14635         (bin_remove_messages), (is_eos), (gst_bin_add_func),
14636         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
14637         (bin_query_duration_init), (bin_query_duration_fold),
14638         (bin_query_duration_done), (bin_query_generic_fold),
14639         (gst_bin_query):
14640         * tools/gst-launch.c: (main):
14641         Remove old option.
14642
14643 2005-10-26  Stefan Kost  <ensonic@users.sf.net>
14644
14645         * examples/controller/audio-example.c: (main):
14646         * examples/queue/queue.c: (event_loop):
14647         * gst/base/gstbasetransform.h:
14648         * gst/gstelement.c: (gst_element_send_event):
14649         * gst/gstevent.h:
14650         * gst/gstpad.c: (gst_pad_send_event):
14651           fixing examples
14652           fixing docs typos
14653           changing log priority in error situations
14654
14655 2005-10-25  Wim Taymans  <wim@fluendo.com>
14656
14657         * gst/gstbin.c: (message_check), (bin_replace_message),
14658         (bin_remove_messages), (is_eos), (gst_bin_add_func),
14659         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
14660         (bin_query_duration_init), (bin_query_duration_fold),
14661         (bin_query_duration_done), (bin_query_generic_fold),
14662         (gst_bin_query):
14663         Some doc and debug updates.
14664         Cache previously requested query DURATION for speed. invalidate
14665         cached duration if element posts a DURATION message.
14666
14667 2005-10-25  Wim Taymans  <wim@fluendo.com>
14668
14669         * docs/design/part-TODO.txt:
14670         Update TODO.
14671
14672         * gst/gstbin.c: (message_check), (bin_replace_message),
14673         (bin_remove_messages), (is_eos), (gst_bin_add_func),
14674         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
14675         (bin_query_duration_init), (bin_query_duration_fold),
14676         (bin_query_duration_done), (bin_query_generic_fold),
14677         (gst_bin_query):
14678         Handle SEGMENT_START/DONE messages correctly.
14679         More evolved query algorithm that handles duration queries
14680         correctly.
14681
14682         * gst/gstelement.c: (gst_element_send_event), (gst_element_query),
14683         (gst_element_get_state_func), (gst_element_abort_state),
14684         (gst_element_commit_state), (gst_element_lost_state):
14685         Some more debugging.
14686
14687         * gst/gstmessage.h:
14688         Added doc.
14689
14690 2005-10-25  Wim Taymans  <wim@fluendo.com>
14691
14692         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
14693         Don't use invalid stream_time.
14694
14695         * gst/gstevent.c: (gst_event_new_newsegment):
14696         stream_time in newsegment cannot be undefined.
14697
14698 2005-10-24  Wim Taymans  <wim@fluendo.com>
14699
14700         * gst/gstbus.c:
14701         Doc fix.
14702
14703         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
14704         (gst_queue_loop):
14705         Fix potential deadlock when QUEUE_LOCK is taken before STREAM_LOCK.
14706
14707 2005-10-24  Stefan Kost  <ensonic@users.sf.net>
14708
14709         * docs/libs/tmpl/gstdparam.sgml:
14710         * docs/libs/tmpl/gstdplinint.sgml:
14711         * docs/libs/tmpl/gstdpman.sgml:
14712         * docs/libs/tmpl/gstdpsmooth.sgml:
14713         * docs/libs/tmpl/gstunitconvert.sgml:
14714           these are obsolete
14715
14716 2005-10-24  Thomas Vander Stichele  <thomas at apestaart dot org>
14717
14718         * configure.ac:
14719           back to HEAD
14720
14721 === release 0.9.4 ===
14722
14723 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
14724
14725         * configure.ac:
14726           releasing 0.9.4, "Tyrannosaurus Rex"
14727
14728 2005-10-23  Tim-Philipp Müller  <tim at centricular dot net>
14729
14730         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
14731         (gst_file_sink_get_current_offset):
14732           Use fseeko() and ftello() if available. When falling back on
14733           lseek() to get the current offset, fflush() first to make sure
14734           everything is up-to-date and we get the right offset.
14735
14736 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
14737
14738         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
14739         * gst/base/gstbasesrc.c: (gst_base_src_loop):
14740         * gst/gsterror.c: (_gst_stream_errors_init):
14741         * gst/gsterror.h:
14742         * gst/gstqueue.c: (gst_queue_loop):
14743         * po/POTFILES.in:
14744           remove prematurely added error category and clean up the instances
14745
14746 2005-10-21  Wim Taymans  <wim@fluendo.com>
14747
14748         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
14749         (gst_base_sink_get_position), (gst_base_sink_query),
14750         (gst_base_sink_change_state):
14751         Simply set the right flag when going to playing, that's all
14752         we need to do instead of calling a function inside the object
14753         lock (that could take the lock as well and deadlock)
14754
14755 2005-10-21  Wim Taymans  <wim@fluendo.com>
14756
14757         * gst/base/gstbasesrc.c: (gst_base_src_do_seek),
14758         (gst_base_src_loop):
14759         Don't warn, the peer element knows what to do best when
14760         the seek failed, it might try something else.
14761
14762 2005-10-21  Wim Taymans  <wim@fluendo.com>
14763
14764         * gst/base/gstbasesrc.c: (gst_base_src_init),
14765         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
14766         Fix seeking.
14767
14768 2005-10-21  Wim Taymans  <wim@fluendo.com>
14769
14770         * docs/design/part-segments.txt:
14771         More docs.
14772
14773         * gst/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
14774         Correctly set caps, even on the subbufer.
14775
14776 2005-10-21  Wim Taymans  <wim@fluendo.com>
14777
14778         * docs/gst/gstreamer-docs.sgml:
14779         * docs/gst/gstreamer-sections.txt:
14780         * gst/gstelement.h:
14781         * gst/gstevent.c:
14782         * gst/gstevent.h:
14783         * gst/gstmessage.h:
14784         * gst/gstpad.h:
14785         * gst/gstparse.h:
14786         * gst/gsttask.c: (gst_task_finalize), (gst_task_func):
14787         * gst/gsttask.h:
14788         * gst/gstutils.c:
14789         * gst/gstutils.h:
14790         And 2% more doc coverage.
14791
14792 2005-10-21  Andy Wingo  <wingo@pobox.com>
14793
14794         * gst/base/gstbasesrc.c (gst_base_src_query): Clean up percent
14795         position reporting.
14796
14797 2005-10-20  Wim Taymans  <wim@fluendo.com>
14798
14799         * gst/gsterror.c: (gst_error_get_message):
14800         * gst/gstparse.h:
14801         * gst/gstquery.h:
14802         * gst/gststructure.c:
14803         * gst/gsttrace.c:
14804         * gst/gstutils.c:
14805         More docs.
14806
14807 2005-10-20  Wim Taymans  <wim@fluendo.com>
14808
14809         * gst/gstbuffer.h:
14810         * gst/gstpad.c:
14811         * gst/gstparse.c:
14812         Another 1% more coverage.
14813
14814 2005-10-20  Wim Taymans  <wim@fluendo.com>
14815
14816         * docs/gst/gstreamer-sections.txt:
14817         * gst/gstelement.c: (gst_element_get_state_func),
14818         (gst_element_abort_state), (gst_element_commit_state),
14819         (gst_element_lost_state):
14820         * gst/gstevent.h:
14821         * gst/gstquery.c: (gst_query_set_position),
14822         (gst_query_parse_position), (gst_query_set_duration),
14823         (gst_query_parse_duration), (gst_query_new_convert):
14824         * gst/gstutils.c:
14825         Yay! 1% more docs coverage.
14826
14827 2005-10-20  Wim Taymans  <wim@fluendo.com>
14828
14829         * gst/gstpad.h:
14830         * gst/gstquery.c: (gst_query_set_position),
14831         (gst_query_parse_position), (gst_query_set_duration),
14832         (gst_query_parse_duration), (gst_query_new_convert):
14833         * gst/gstquery.h:
14834         * gst/gstutils.c: (gst_element_query_convert):
14835         * gst/gstutils.h:
14836         Docs and consistency fixes.
14837
14838 2005-10-20  Wim Taymans  <wim@fluendo.com>
14839
14840         * gst/gsttask.c:
14841         * gst/gsttask.h:
14842         More docs.
14843
14844 2005-10-20  Wim Taymans  <wim@fluendo.com>
14845
14846         * gst/gstbin.c: (message_check), (bin_replace_message),
14847         (bin_remove_messages), (is_eos), (gst_bin_add_func),
14848         (update_degree), (gst_bin_sort_iterator_next),
14849         (gst_bin_change_state_func), (gst_bin_dispose), (bin_bus_handler):
14850         Reworked the message handling a bit, cache the messages instead of
14851         only the senders. alows us to do more in the future.
14852
14853 2005-10-20  Wim Taymans  <wim@fluendo.com>
14854
14855         * docs/design/part-TODO.txt:
14856         Update TODO
14857
14858         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
14859         (gst_base_sink_query):
14860         Don't use clock time to report position when in EOS.
14861
14862 2005-10-20  Tim-Philipp Müller  <tim at centricular dot net>
14863
14864         * tools/gst-inspect.c: (print_interfaces),
14865         (print_element_properties_info), (print_element_info):
14866           Fix interface output with gst-inspect -a; don't print
14867           newlines after double/float properties.
14868
14869 2005-10-20  Wim Taymans  <wim@fluendo.com>
14870
14871         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
14872         (gst_base_sink_query):
14873         Speed up current position calculation.
14874
14875         * gst/base/gstbasesrc.c: (gst_base_src_query),
14876         (gst_base_src_default_newsegment):
14877         Correctly set stream position in newsegment.
14878
14879         * gst/gstbin.c: (gst_bin_add_func), (add_to_queue),
14880         (update_degree), (gst_bin_sort_iterator_next),
14881         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free):
14882         * gst/gstmessage.c: (gst_message_new_custom):
14883         Clean up debugging info
14884
14885         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
14886         (gst_queue_loop), (gst_queue_handle_src_query):
14887         Pause task faster.
14888
14889 2005-10-19  Wim Taymans  <wim@fluendo.com>
14890
14891         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
14892         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
14893         Fix query handling again.
14894
14895 2005-10-19  Wim Taymans  <wim@fluendo.com>
14896
14897         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
14898         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
14899         * gst/base/gstbasesrc.c: (gst_base_src_query):
14900         * gst/elements/gstfilesink.c: (gst_file_sink_query):
14901         * gst/elements/gsttypefindelement.c:
14902         (gst_type_find_handle_src_query), (find_element_get_length),
14903         (gst_type_find_element_activate):
14904         API change fix.
14905
14906         * gst/gstquery.c: (gst_query_new_position),
14907         (gst_query_set_position), (gst_query_parse_position),
14908         (gst_query_new_duration), (gst_query_set_duration),
14909         (gst_query_parse_duration), (gst_query_set_segment),
14910         (gst_query_parse_segment):
14911         * gst/gstquery.h:
14912         Bundling query position/duration is not a good idea since duration
14913         does not change much and we don't want to recalculate it for every
14914         position query, so they are separated again..
14915         Base value in segment query is not needed.
14916
14917         * gst/gstqueue.c: (gst_queue_handle_src_query):
14918         * gst/gstutils.c: (gst_element_query_position),
14919         (gst_element_query_duration), (gst_pad_query_position),
14920         (gst_pad_query_duration):
14921         * gst/gstutils.h:
14922         Updates for query API change.
14923         Added some docs here and there.
14924
14925 2005-10-19  Thomas Vander Stichele  <thomas at apestaart dot org>
14926
14927         * check/gst/gstbin.c: (GST_START_TEST):
14928         * check/gst/gstghostpad.c: (GST_START_TEST):
14929         * check/pipelines/cleanup.c: (GST_START_TEST):
14930           wait on thread to die so we can check refcount correctly
14931
14932 2005-10-18  Wim Taymans  <wim@fluendo.com>
14933
14934         * check/pipelines/stress.c: (GST_START_TEST):
14935         Make check a little more time consuming.
14936
14937 2005-10-18  Wim Taymans  <wim@fluendo.com>
14938
14939         * check/Makefile.am:
14940         * check/pipelines/stress.c: (GST_START_TEST),
14941         (simple_launch_lines_suite), (main):
14942         Small state change torture test.
14943
14944         * docs/design/part-states.txt:
14945         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
14946         (gst_base_sink_handle_object), (gst_base_sink_event), (do_playing),
14947         (gst_base_sink_change_state):
14948         Never take state lock from streaming thread, clean up ugly
14949         hacks. Unfortunatly core does not yet support nice ways to
14950         async commit state.
14951         
14952         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_recalc_state),
14953         (bin_bus_handler):
14954         Start state recalc if a STATE_DIRTY message is posted, but only
14955         on the toplevel bin.
14956
14957         * gst/gstelement.c: (gst_element_sync_state_with_parent),
14958         (gst_element_get_state_func), (gst_element_abort_state),
14959         (gst_element_commit_state), (gst_element_lost_state),
14960         (gst_element_set_state_func), (gst_element_change_state):
14961         * gst/gstelement.h:
14962         State variables are now protected with the LOCK, the state
14963         lock is only used to serialize _set_state().
14964
14965 2005-10-18  Wim Taymans  <wim@fluendo.com>
14966
14967         * check/gst/gstbin.c: (GST_START_TEST):
14968         * check/gst/gstmessage.c: (GST_START_TEST):
14969         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
14970         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_recalc_func),
14971         (bin_bus_handler):
14972         * gst/gstelement.c: (gst_element_abort_state),
14973         (gst_element_commit_state), (gst_element_lost_state):
14974         * gst/gstmessage.c: (gst_message_new_state_changed),
14975         (gst_message_new_state_dirty), (gst_message_new_segment_start),
14976         (gst_message_new_segment_done), (gst_message_new_duration),
14977         (gst_message_parse_state_changed),
14978         (gst_message_parse_segment_start),
14979         (gst_message_parse_segment_done), (gst_message_parse_duration):
14980         * gst/gstmessage.h:
14981         * tools/gst-launch.c: (event_loop):
14982         Seriously, this is better than a previous commit as we only need
14983         to notify the fact that an element changed state in a streaming
14984         thread, marking the state of the parents dirty, hence the 
14985         STATE_DIRTY message instead of abusing a boolean in a STATE_CHANGE
14986         message.
14987
14988 2005-10-18  Wim Taymans  <wim@fluendo.com>
14989
14990         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
14991         (gst_bin_recalc_func):
14992         * gst/gstelement.c: (gst_element_set_clock),
14993         (gst_element_abort_state), (gst_element_lost_state):
14994         Cleanups, prepare for state change fixes.
14995
14996 2005-10-18  Wim Taymans  <wim@fluendo.com>
14997
14998         * gst/gstbin.h:
14999         * gst/gstelement.c: (gst_element_class_init),
15000         (gst_element_set_state), (gst_element_set_state_func):
15001         * gst/gstelement.h:
15002         Pending ABI changes.
15003         GThreadPool in GstBinClass to monitor async state changes.
15004         state_cookie in GstElement to detect concurrent gst/set state.
15005         set_state is now virtual too in case a very complicated element
15006         has to be constructed.
15007
15008 2005-10-18  Wim Taymans  <wim@fluendo.com>
15009
15010         * check/gst/gstbin.c: (GST_START_TEST):
15011         * check/gst/gstmessage.c: (GST_START_TEST):
15012         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
15013         * gst/gstbin.c: (bin_bus_handler):
15014         * gst/gstelement.c: (gst_element_commit_state),
15015         (gst_element_lost_state):
15016         * gst/gstmessage.c: (gst_message_new_state_changed),
15017         (gst_message_new_segment_start), (gst_message_new_segment_done),
15018         (gst_message_new_duration), (gst_message_parse_state_changed),
15019         (gst_message_parse_segment_start),
15020         (gst_message_parse_segment_done), (gst_message_parse_duration):
15021         * gst/gstmessage.h:
15022         * tools/gst-launch.c: (event_loop):
15023         Make messages future proof.
15024         state-change gets a flag if it was a message comming from the
15025         streaming thread.
15026         segment-start/stop can also be specified in other formats.
15027         A message to notify an app that a pipeline changed playback 
15028         duration.
15029         Also fix a GstMessage leak in -launch
15030
15031 2005-10-18  Andy Wingo  <wingo@pobox.com>
15032
15033         * gst/gstelement.c (gst_element_dispose): More helpful message.
15034
15035 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
15036
15037         reviewed by: <delete if not using a buddy>
15038
15039         * common/gtk-doc.mak:
15040
15041 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
15042
15043         * gst/gstregistry.c: (gst_registry_scan_path_level):
15044           unref a plug-in we get that was already initialized
15045
15046 2005-10-18  Stefan Kost  <ensonic@users.sf.net>
15047
15048         * docs/gst/gstreamer-sections.txt:
15049         * docs/libs/gstreamer-libs-sections.txt:
15050         * gst/gstelement.h:
15051           add new api entries
15052           hide internal macro
15053
15054 2005-10-17  Andy Wingo  <wingo@pobox.com>
15055
15056         * gst/base/gstcollectpads.c (gst_collectpads_chain): Slight
15057         cleanup.
15058
15059         * gst/Makefile.am (gstenumtypes.c): Threadsafe now.
15060
15061         * gst/gstevent.c (gst_event_new, gst_event_finalize): LOG.
15062
15063         * gst/gstelement.c (gst_element_get_state_func): s/INFO/DEBUG/.
15064         (gst_element_get_state_func): Better debug message.
15065         (gst_element_commit_state): s/INFO/DEBUG/.
15066         (gst_element_lost_state, gst_element_change_state): 
15067
15068         * gst/gstmessage.c (gst_message_init): s/INFO/LOG/.
15069         (gst_message_new_custom): s/INFO/LOG/.
15070
15071 2005-10-17  Michael Smith <msmith@fluendo.com>
15072
15073         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
15074           Check if end time is valid using end time, not start time.
15075
15076 2005-10-17  Stefan Kost  <ensonic@users.sf.net>
15077
15078         * check/gst-libs/controller.c: (GST_START_TEST),
15079         (gst_controller_suite):
15080         * libs/gst/controller/gstcontroller.c:
15081         (gst_controlled_property_set_interpolation_mode):
15082         * libs/gst/controller/gstcontroller.h:
15083         * libs/gst/controller/gstinterpolation.c:
15084         * testsuite/controller/.cvsignore:
15085         * testsuite/controller/Makefile.am:
15086         * testsuite/controller/interpolator.c:
15087           merge controller testsuites
15088           fix broken tests
15089           remove mem-chunk from docs
15090
15091 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
15092
15093         * gst/gstmemchunk.c:
15094         * gst/gstmemchunk.h:
15095         * gst/gsttrashstack.c:
15096         * gst/gsttrashstack.h:
15097           out.  get out.  you're fired.  to the Attic !
15098
15099 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
15100
15101         * gst/gstcaps.c: (gst_caps_intersect):
15102           fix signedness issues in a (hopefully) correct way
15103         * gst/gstelement.c: (gst_element_pads_activate):
15104           some debugging
15105         * gst/gstobject.c: (gst_object_set_parent):
15106           some debugging
15107
15108 2005-10-17  Julien MOUTTE  <julien@moutte.net>
15109
15110         * gst/gstvalue.h: Fix prototypes.
15111
15112 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
15113
15114         * docs/gst/gstreamer-sections.txt:
15115         * gst/gst.c: (gst_version_string):
15116         * gst/gst.h:
15117         * gst/gstversion.h.in:
15118         * win32/common/libgstreamer.def:
15119           add gst_version_string ()
15120
15121 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
15122
15123         * configure.ac:
15124           clean up further
15125         * gst/gst.c: (init_post):
15126         * win32/common/config.h.in:
15127           it's PLUGINDIR now
15128         * gst/gstcaps.c: (gst_caps_intersect):
15129           use gint64, the range could be bigger than a guint
15130
15131 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
15132
15133         * gst/gstclock.h:
15134           document potential problem in 2038
15135
15136 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
15137
15138         * gst/gstcaps.c: (gst_caps_intersect):
15139           Fix guint j diving under 0
15140
15141 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
15142
15143         * configure.ac:
15144         * win32/common/config.h:
15145         * win32/common/config.h.in:
15146           check for process.h, declares getpid() on Windows
15147         * gst/gstinfo.c:
15148           include process.h if we have it
15149         * gst/gstmemchunk.c: (populate), (gst_mem_chunk_new):
15150         * gst/gstmemchunk.h:
15151           fix signedness issues
15152         * win32/common/libgstreamer.def:
15153           fix get_type's
15154
15155 2005-10-16  Julien MOUTTE  <julien@moutte.net>
15156
15157         * gst/gstcaps.c: (gst_caps_intersect): Fix a bad bug with a simple
15158         fix. Because of unsigned ints, caps intersection was going nuts and
15159         trying to access structures with G_MAXUINT index. That fixes
15160         videotestsrc ! ffmpegcolorspace ! fakesink
15161         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked): logs
15162         consistency.
15163
15164 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
15165
15166         * configure.ac:
15167           use the gettext macro
15168         * gst/elements/gstelements.c:
15169         * gst/gst.c:
15170         * gst/indexers/gstindexers.c:
15171           update for GST_PACKAGE_NAME, GST_PACKAGE_ORIGIN
15172         * win32/common/config.h:
15173           updated config.h
15174         * win32/common/config.h.in:
15175           add the template to generate config.h
15176         * win32/common/gstenumtypes.c:
15177         * win32/common/gstversion.h:
15178           updated copies
15179
15180 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
15181
15182         * gst/gst.c: (gst_version):
15183         * gst/gstversion.h.in:
15184           add the nano
15185
15186 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
15187
15188         * gst/gstevent.h:
15189           Oops, add missing closing bracket.
15190
15191 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
15192
15193         * configure.ac:
15194           use common m4's for argument checking
15195
15196 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
15197
15198         * docs/gst/gstreamer-sections.txt:
15199         * gst/gstevent.h:
15200           Add GST_EVENT_TYPE_NAME() macro.
15201
15202 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
15203
15204         * gst/gstinfo.c:
15205         * gst/gstpluginfeature.c:
15206         * gst/gsttask.c:
15207           privatize more symbols
15208
15209 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
15210
15211         * configure.ac:
15212           add srcdir, builddir includes to GST_ALL_CFLAGS, since
15213           everything that uses GStreamer API should have the includes
15214
15215 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
15216
15217         * docs/gst/gstreamer-sections.txt:
15218         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
15219         * gst/gstvalue.h:
15220           give each value a _get_type, removes the DATA exports
15221
15222 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
15223
15224         * gst/gst.c:
15225         * gst/gst.h:
15226           remove _gst_registry_auto_load, not used anymore
15227         * gst/gstbin.c: (gst_bin_get_type):
15228         * gst/gstbin.h:
15229         * gst/gstelement.c: (gst_element_get_type):
15230         * gst/gstelement.h:
15231         * gst/gstobject.c: (gst_object_get_type):
15232         * gst/gstobject.h:
15233         * gst/gstpad.c: (gst_pad_get_type):
15234         * gst/gstpad.h:
15235           make _get_type functions similar, fixes data export from library
15236
15237 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
15238
15239         * configure.ac:
15240           correctly make conditionals
15241         * gst/elements/Makefile.am:
15242         * gst/elements/gstelements.c:
15243           fix typo causing fdsrc not to build
15244
15245 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
15246
15247         * testsuite/Makefile.am:
15248         * testsuite/bytestream/.cvsignore:
15249         * testsuite/bytestream/Makefile.am:
15250         * testsuite/bytestream/filepadsink.c:
15251         * testsuite/bytestream/gstbstest.c:
15252         * testsuite/bytestream/test1.c:
15253         * testsuite/bytestream/testfile1:
15254         * testsuite/caps/normalisation.c:
15255         * testsuite/caps/random.c: (main):
15256         * testsuite/cleanup/.cvsignore:
15257         * testsuite/cleanup/Makefile.am:
15258         * testsuite/cleanup/cleanup1.c:
15259         * testsuite/cleanup/cleanup2.c:
15260         * testsuite/cleanup/cleanup3.c:
15261         * testsuite/cleanup/cleanup4.c:
15262         * testsuite/cleanup/cleanup5.c:
15263         * testsuite/controller/interpolator.c:
15264         * testsuite/debug/printf_extension.c: (main):
15265         * testsuite/elements/tee.c:
15266         * testsuite/negotiation/.cvsignore:
15267         * testsuite/negotiation/Makefile.am:
15268         * testsuite/negotiation/pad_link.c:
15269         * testsuite/pad/Makefile.am:
15270         * testsuite/pad/chainnopull.c:
15271         * testsuite/pad/getnopush.c:
15272         * testsuite/pad/link.c:
15273         * testsuite/refcounting/sched.c: (create_pipeline):
15274         * testsuite/registry/Makefile.am:
15275         * testsuite/registry/gst-print-formats.c:
15276         * testsuite/schedulers/.cvsignore:
15277         * testsuite/schedulers/142183-2.c:
15278         * testsuite/schedulers/142183.c:
15279         * testsuite/schedulers/143777-2.c:
15280         * testsuite/schedulers/143777.c:
15281         * testsuite/schedulers/147713.c:
15282         * testsuite/schedulers/147819.c:
15283         * testsuite/schedulers/147894-2.c:
15284         * testsuite/schedulers/147894.c:
15285         * testsuite/schedulers/Makefile.am:
15286         * testsuite/schedulers/group_link.c:
15287         * testsuite/schedulers/queue_link.c:
15288         * testsuite/schedulers/relink.c:
15289         * testsuite/schedulers/unlink.c:
15290         * testsuite/schedulers/unref.c:
15291         * testsuite/schedulers/useless_iteration.c:
15292         * testsuite/states/bin.c:
15293           clean out/remove some stuff from the testsuite directories
15294
15295 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
15296
15297         * configure.ac:
15298           check for some headers
15299         * gst/elements/Makefile.am:
15300         * gst/elements/gstelements.c:
15301           don't compile fdsrc without sys/socket.h
15302         * gst/indexers/Makefile.am:
15303         * gst/indexers/gstindexers.c: (plugin_init):
15304           don't compile fileindex without mmap
15305
15306 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
15307
15308         * configure.ac:
15309           reorganize
15310           clean up
15311           document more
15312           remove cruft
15313         * check/Makefile.am:
15314         * docs/gst/Makefile.am:
15315         * examples/helloworld/Makefile.am:
15316         * gst/Makefile.am:
15317         * gst/base/Makefile.am:
15318         * gst/check/Makefile.am:
15319         * gst/elements/Makefile.am:
15320         * gst/indexers/Makefile.am:
15321         * gst/parse/Makefile.am:
15322         * libs/gst/controller/Makefile.am:
15323         * libs/gst/dataprotocol/Makefile.am:
15324         * examples/helloworld/helloworld.c: (event_loop):
15325           compile fixes, though it's not being compiled currently
15326
15327 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
15328
15329         * check/gst/gsttag.c: (test_date_tags), (gst_tag_suite):
15330           Add some simple tests for the new taglist date API.
15331
15332 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
15333
15334         * gst/elements/gstfakesink.c: (gst_fake_sink_render):
15335         * gst/elements/gstfakesrc.c: (gst_fake_src_create):
15336           Beautify 'last-message' output: print 'none' for buffer timestamps
15337           and durations if none is set; improve alignment with next messages.
15338
15339 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
15340
15341         * gst/gstpluginfeature.c: (gst_plugin_feature_check_version):
15342         * gst/gstpluginfeature.h:
15343         * gst/gstregistry.c: (gst_default_registry_check_feature_version):
15344         * gst/gstregistry.h:
15345         * docs/gst/gstreamer-sections.txt:
15346           Add new API to check plugin feature version requirements.
15347
15348         * check/gst/gstplugin.c: (test_version_checks), (gst_plugin_suite):
15349           Some basic tests for the above.         
15350
15351 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
15352
15353         * gst/gststructure.c: (gst_structure_to_string):
15354           guard against NULL printf - happens when for example
15355           a message structure with GstClock gets serialized
15356
15357 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
15358
15359         * gst/base/gstcollectpads.c: (gst_collectpads_event):
15360           Fix presumable copy'n'pasto.
15361
15362 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
15363
15364         * gst/elements/gstfakesrc.h:
15365         * gst/elements/gstfilesrc.c: (gst_file_src_create_read):
15366         * gst/elements/gsttypefindelement.c:
15367           fix some signedness
15368         * gst/elements/gstfilesink.c: (gst_file_sink_render):
15369           I wonder if this could actually write +2GB files before
15370
15371 2005-10-13  Andy Wingo  <wingo@pobox.com>
15372
15373         * libs/gst/dataprotocol/dataprotocol.c (gst_dp_packet_from_caps):
15374         Fix Timmeke Waymans bug.
15375         (gst_dp_caps_from_packet): Make sure we pass a NUL-terminated
15376         string of the proper length to gst_caps_from_string. There's a
15377         potential for, before this fix, that this could cause someone
15378         connecting over the network to cause a segfault if the payload is
15379         not NUL-terminated.
15380
15381 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
15382
15383         * docs/design/draft-push-pull.txt:
15384         * docs/design/part-overview.txt:
15385         * docs/random/TODO-pre-0.9:
15386         * docs/random/old/ChangeLog.gstreamer:
15387         * gst/base/gstpushsrc.c:
15388         * gst/gstclock.c:
15389           fixed typos
15390
15391 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
15392
15393         * gst/glib-compat.c: (gst_flags_get_first_value):
15394         * gst/glib-compat.h:
15395         * gst/gstvalue.c: (gst_value_deserialize_int_helper),
15396         (gst_value_compare_double), (gst_value_serialize_flags):
15397           GLib 2.6 g_flags_get_first_value has a bug that triggers an
15398           infinite loop
15399
15400 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
15401
15402         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
15403         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
15404           fix up debugging
15405         * tools/gst-launch.c: (event_loop):
15406           print out clock nicely
15407
15408 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
15409
15410         * docs/gst/gstreamer-sections.txt:
15411         * gst/gsttaglist.h:
15412         * gst/gsttaglist.c: (_gst_tag_initialize), (gst_tag_list_get_date),
15413         (gst_tag_list_get_date_index):
15414           Added gst_tag_list_get_date() and gst_tag_list_get_date_index().
15415           GST_TAG_DATE now has a tag type of GST_TYPE_DATE (#170777).
15416
15417 2005-10-13  Julien MOUTTE  <julien@moutte.net>
15418
15419         * gst/base/gstcollectpads.c: (gst_collectpads_event),
15420         (gst_collectpads_chain):
15421         * gst/base/gstcollectpads.h: Handle newsegment and store informations
15422         in CollectData.
15423
15424 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
15425
15426         * docs/gst/gstreamer-sections.txt:
15427         * gst/gst.c:
15428         * gst/gsterror.h:
15429         * tools/gst-inspect.c: (main):
15430         * tools/gst-launch.c: (main):
15431         * tools/gst-run.c: (main):
15432         * tools/gst-xmlinspect.c: (main):
15433           fix GOption context leaks
15434           doc fixes
15435
15436 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
15437
15438         * gst/gstbus.c:
15439           use HAVE_UNISTD_H
15440         * win32/common/config.h:
15441           update config
15442         * win32/vs6/grammar.dsp:
15443         * win32/vs6/libgstelements.dsp:
15444         * win32/vs6/libgstreamer.dsp:
15445           update vs6 files
15446
15447 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
15448
15449         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
15450         * gst/base/gstbasesrc.c: (gst_base_src_query):
15451           fix more guint64<->gdouble conversions
15452
15453 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
15454
15455         * Makefile.am:
15456           add win32-update target
15457         * win32/common/gstconfig.h:
15458         * win32/common/gstenumtypes.c:
15459         * win32/common/gstenumtypes.h:
15460         * win32/common/gstversion.h:
15461           add files that visual studio can't generate
15462
15463 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
15464
15465         * Makefile.am:
15466           add a win32-update target
15467         * configure.ac:
15468
15469 2005-10-12  Wim Taymans  <wim@fluendo.com>
15470
15471         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
15472         (reset_degree), (gst_bin_dispose), (bin_bus_handler):
15473         * gst/gstelement.c: (gst_element_commit_state),
15474         (gst_element_set_state):
15475         Protect flags with proper lock.
15476         unref provided cached clock in dispose.
15477
15478 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
15479
15480         * gst/gst.c:
15481         * gst/gstminiobject.h:
15482         * gst/gstpad.h:
15483         * win32/gstenumtypes.c: (gst_mini_object_flags_get_type):
15484           removed unused flags from miniobject
15485           doc fixes
15486
15487 2005-10-12  Wim Taymans  <wim@fluendo.com>
15488
15489         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
15490         (gst_file_sink_event), (gst_file_sink_render):
15491         Flush before seeking.
15492
15493 2005-10-12  Andy Wingo  <wingo@pobox.com>
15494
15495         * gst/gst.c (gst_init_check): Ignore unknown options, as has
15496         always been the case.
15497
15498 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
15499
15500         * check/gst/gstbin.c: (GST_START_TEST):
15501         * docs/gst/gstreamer-sections.txt:
15502         * gst/base/gstbasesink.c: (gst_base_sink_init):
15503         * gst/base/gstbasesrc.c: (gst_base_src_init),
15504         (gst_base_src_get_range), (gst_base_src_check_get_range),
15505         (gst_base_src_start), (gst_base_src_stop):
15506         * gst/base/gstbasesrc.h:
15507         * gst/elements/gstfakesrc.c: (gst_fake_src_set_property):
15508         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
15509         (bin_element_is_sink), (reset_degree), (gst_bin_element_set_state),
15510         (bin_bus_handler):
15511         * gst/gstbin.h:
15512         * gst/gstbuffer.h:
15513         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_flushing):
15514         * gst/gstbus.h:
15515         * gst/gstelement.c: (gst_element_is_locked_state),
15516         (gst_element_set_locked_state), (gst_element_commit_state),
15517         (gst_element_set_state):
15518         * gst/gstelement.h:
15519         * gst/gstindex.c: (gst_index_init):
15520         * gst/gstindex.h:
15521         * gst/gstminiobject.h:
15522         * gst/gstobject.c: (gst_object_init), (gst_object_sink),
15523         (gst_object_set_parent):
15524         * gst/gstobject.h:
15525         * gst/gstpad.c: (gst_pad_set_blocked_async), (gst_pad_is_blocked),
15526         (gst_pad_get_caps_unlocked), (gst_pad_set_caps):
15527         * gst/gstpad.h:
15528         * gst/gstpadtemplate.h:
15529         * gst/gstpipeline.c: (gst_pipeline_provide_clock_func),
15530         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
15531         * gst/gstpipeline.h:
15532         * gst/indexers/gstfileindex.c: (gst_file_index_load),
15533         (gst_file_index_commit):
15534         * testsuite/bytestream/filepadsink.c: (gst_fp_sink_init):
15535         * testsuite/pad/link.c: (gst_test_src_init),
15536         (gst_test_filter_init), (gst_test_sink_init):
15537         * testsuite/states/locked.c: (main):
15538           renamed GST_FLAGS macros to GST_OBJECT_FLAGS
15539           moved bitshift from macro to enum definition
15540
15541 2005-10-12  Wim Taymans  <wim@fluendo.com>
15542
15543         * gst/base/gstbasesink.c: (gst_base_sink_handle_buffer):
15544         * gst/elements/gstfilesink.c: (gst_file_sink_event),
15545         (gst_file_sink_render):
15546         Some more debugging info.
15547
15548 2005-10-12  Wim Taymans  <wim@fluendo.com>
15549
15550         * docs/design/part-states.txt:
15551         * tools/gst-launch.c: (main):
15552         Some doc updates.
15553         Revert non-intentional change.
15554
15555 2005-10-12  Wim Taymans  <wim@fluendo.com>
15556
15557         * check/gst/gstbin.c: (GST_START_TEST):
15558         * check/gst/gstelement.c: (GST_START_TEST):
15559         * check/gst/gstevent.c: (GST_START_TEST), (test_event):
15560         * check/gst/gstghostpad.c: (GST_START_TEST):
15561         * check/gst/gstpipeline.c: (GST_START_TEST):
15562         * check/pipelines/simple_launch_lines.c: (run_pipeline):
15563         * check/states/sinks.c: (GST_START_TEST):
15564         * gst/elements/gsttypefindelement.c: (stop_typefinding):
15565         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
15566         (gst_bin_remove_func), (gst_bin_get_state_func),
15567         (gst_bin_recalc_state), (gst_bin_change_state_func),
15568         (bin_bus_handler):
15569         * gst/gstelement.c: (gst_element_get_state_func),
15570         (gst_element_get_state), (gst_element_abort_state),
15571         (gst_element_commit_state), (gst_element_set_state),
15572         (gst_element_change_state), (gst_element_change_state_func):
15573         * gst/gstelement.h:
15574         * gst/gstpipeline.c: (gst_pipeline_class_init), (do_pipeline_seek),
15575         (gst_pipeline_provide_clock_func):
15576         * gst/gstutils.c: (gst_element_link_pads_filtered):
15577         * tools/gst-launch.c: (main):
15578         * tools/gst-typefind.c: (main):
15579         Use GstClockTime in _get_state() instead of GTimeVal.
15580         Remove old code in gstutils.c
15581
15582 2005-10-12  Andy Wingo  <wingo@pobox.com>
15583
15584         * gst/gstregistry.h (gst_registry_scan_paths): Not implemented, so
15585         removed.
15586
15587         * gst/gstpad.c (gst_pad_pause_task): Actually return FALSE if
15588         there is no task. Shouldn't affect any code, as nothing in our
15589         plugins checks this return value.
15590         (gst_pad_stop_task): Also take the stream lock if the pad has no
15591         task. Docs updated.
15592
15593 2005-10-12  Wim Taymans  <wim@fluendo.com>
15594
15595         * gst/gstpad.c: (pre_activate), (post_activate),
15596         (gst_pad_activate_pull), (gst_pad_activate_push):
15597         Cleanup activation code. Reset old state if
15598         activation failed.
15599
15600 2005-10-12  Wim Taymans  <wim@fluendo.com>
15601
15602         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
15603         (gst_base_sink_change_state):
15604         No need to prerol after receiving EOS.
15605
15606         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
15607         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler):
15608         * gst/elements/gstidentity.c: (gst_identity_event):
15609         Print events more verbosely.
15610
15611 2005-10-12  Wim Taymans  <wim@fluendo.com>
15612
15613         * check/Makefile.am:
15614         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
15615         * check/states/sinks2.c:
15616         Moved sinks2 testcode in sinks check.
15617
15618         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
15619         (gst_bin_remove_func), (gst_bin_recalc_state),
15620         (gst_bin_change_state_func), (bin_bus_handler):
15621         Fix potential race condition when _get_state() iterated over an
15622         ASYNC element right before it posted a state completion.
15623
15624         * gst/gstclock.h:
15625         Do proper cast here.
15626
15627         * gst/gstevent.c: (gst_event_new_newsegment),
15628         (gst_event_parse_newsegment):
15629         A playback rate of 0.0 is not allowed.
15630
15631 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
15632
15633         * win32/common/config.h:
15634         * win32/common/dirent.c: (_topendir), (_treaddir), (_tclosedir),
15635         (_trewinddir), (_ttelldir), (_tseekdir):
15636         * win32/common/dirent.h:
15637         * win32/common/gtchar.h:
15638         * win32/common/libgstbase.def:
15639         * win32/common/libgstreamer.def:
15640         * win32/vs6/grammar.dsp:
15641         * win32/vs6/gst_inspect.dsp:
15642         * win32/vs6/gst_launch.dsp:
15643         * win32/vs6/gstreamer.dsw:
15644         * win32/vs6/libgstbase.dsp:
15645         * win32/vs6/libgstelements.dsp:
15646         * win32/vs6/libgstreamer.dsp:
15647           Visual Studio 6 project files, and a new common directory.
15648           Phear.
15649
15650 2005-10-11  Wim Taymans  <wim@fluendo.com>
15651
15652         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
15653         (gst_base_sink_do_sync), (gst_base_sink_query),
15654         (gst_base_sink_change_state):
15655         * gst/base/gstbasesink.h:
15656         Correctly parse newsegment info.
15657
15658 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
15659
15660         * gst/gst.c: (init_post):
15661           split plugin paths correctly
15662
15663 2005-10-11  Wim Taymans  <wim@fluendo.com>
15664
15665         * check/gst/gstevent.c: (GST_START_TEST):
15666         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
15667         (gst_base_sink_change_state):
15668         * gst/base/gstbasesrc.c: (gst_base_src_default_newsegment):
15669         * gst/base/gstbasetransform.c: (gst_base_transform_event):
15670         * gst/elements/gstfilesink.c: (gst_file_sink_event):
15671         * gst/gstevent.c: (gst_event_new_newsegment),
15672         (gst_event_parse_newsegment):
15673         * gst/gstevent.h:
15674         Added extra flag to newsegment for future API freeze.
15675         Updated check and base elements.
15676
15677 2005-10-11  Julien MOUTTE  <julien@moutte.net>
15678
15679         * gst/base/gstcollectpads.c: (gst_collectpads_init),
15680         (gst_collectpads_add_pad), (gst_collectpads_pop),
15681         (gst_collectpads_event), (gst_collectpads_chain):
15682         * gst/base/gstcollectpads.h: Handle EOS correctly.
15683
15684 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
15685
15686         * tools/gst-launch.c: (main):
15687           more null protecting
15688
15689 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
15690
15691         * gst/gst-i18n-lib.h:
15692           check for ENABLE_NLS, not GETTEXT_PACKAGE
15693         * gst/gstregistry.c: (gst_registry_add_plugin),
15694         (gst_registry_scan_path_level),
15695         (_gst_registry_remove_cache_plugins):
15696           protect possibly NULL strings
15697         * gst/parse/types.h:
15698           config.h already included before
15699         * tools/gst-inspect.c: (main):
15700           sys/wait.h also doesn�t exist on mingw, so change the ifdef check
15701           check for ENABLE_NLS, not GETTEXT_PACKAGE
15702         * tools/gst-launch.c: (main):
15703           check for ENABLE_NLS, not GETTEXT_PACKAGE
15704
15705 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
15706
15707         * configure.ac:
15708           if we don't have glib, fail before testing 2.8
15709         * gst/base/gstbasetransform.c: (gst_base_transform_change_state):
15710           fix a leak, should fix plugins-base testsuite
15711
15712 2005-10-11  Andy Wingo  <wingo@pobox.com>
15713
15714         * gst/gstpad.c (pre_activate): Renamed from pre_activate_switch,
15715         take the mode we're going to as an arg. Go head and set the mode
15716         and flushing flags now, so that if the activate function starts a
15717         thread all the flags will be in the right state.
15718         (post_activate): Renamed also. Just handle making sure streaming
15719         finishes for the deactivation case, and setting the deactivated
15720         mode.
15721         (gst_pad_set_active): Complain loudly if deactivation fails.
15722         (gst_pad_activate_pull): Adapt to pre/post_activate changes.
15723         (gst_pad_activate_push): Adapt to pre/post_activate changes,
15724         remove the terrible hack.
15725
15726 2005-10-11  Wim Taymans  <wim@fluendo.com>
15727
15728         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
15729         (is_eos), (gst_bin_add_func), (gst_bin_remove_func),
15730         (gst_bin_recalc_state), (gst_bin_change_state_func),
15731         (gst_bin_dispose), (bin_bus_handler):
15732         * gst/gstbin.h:
15733         Prepare to make current EOS message queue more generic.
15734         Fix some typos.
15735
15736         * gst/gstevent.c: (gst_event_new_newsegment),
15737         (gst_event_parse_newsegment):
15738         * gst/gstevent.h:
15739         Rename base to stream_time.
15740
15741         * gst/gstmessage.h:
15742         Fix typo in docs.
15743
15744 2005-10-11  Wim Taymans  <wim@fluendo.com>
15745
15746         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
15747         (gst_bin_add_func), (gst_bin_remove_func), (gst_bin_recalc_state),
15748         (gst_bin_change_state_func), (bin_bus_handler):
15749         * gst/gstbin.h:
15750         Work on proper clock selection.
15751
15752 2005-10-11  Edward Hervey  <edward@fluendo.com>
15753
15754         * libs/gst/controller/gstcontroller.c: (gst_controller_remove_properties_list): 
15755         * libs/gst/controller/gstcontroller.h:
15756         Added GList* version of _remove_properties() in order to be able to wrap
15757         it in bindings.
15758
15759 2005-10-11  Wim Taymans  <wim@fluendo.com>
15760
15761         * docs/design/part-states.txt:
15762         Some more docs.
15763
15764         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_recalc_state),
15765         (gst_bin_change_state_func), (bin_bus_handler):
15766         Doc updates. Don't distribute the same clock over and over again.
15767
15768         * gst/gstclock.c:
15769         * gst/gstclock.h:
15770         Doc updates.
15771
15772         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark),
15773         (gst_pad_get_type), (gst_pad_push), (gst_pad_push_event),
15774         (gst_pad_send_event):
15775         * gst/gstpad.h:
15776         Make probe emission threadsafe again.
15777         Register quarks and move _get_name() from utils.
15778         Doc updates.
15779
15780         * gst/gstpipeline.c: (gst_pipeline_class_init),
15781         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
15782         Only redistribute the clock of it changed.
15783
15784         * gst/gstsystemclock.h:
15785         Doc updates. 
15786
15787         * gst/gstutils.c:
15788         * gst/gstutils.h:
15789         Moved the _flow_get_name() to GstPad.
15790
15791 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
15792
15793         * check/gst-libs/gdp.c: (GST_START_TEST):
15794         * check/gst/gstcaps.c: (GST_START_TEST):
15795         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc),
15796         (gst_dp_dump_byte_array), (gst_dp_header_from_buffer),
15797         (gst_dp_packet_from_caps):
15798           fix more valgrind warnings before turning up the heat
15799
15800 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
15801
15802         * gst/parse/grammar.y:
15803           some cleanup before the hacking
15804
15805 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
15806
15807         * gst/base/gstbasesrc.c: (gst_base_src_query):
15808           use conversions
15809         * gst/gstutils.c: (gst_guint64_to_gdouble),
15810         (gst_gdouble_to_guint64), (gst_util_uint64_scale):
15811         * gst/gstutils.h:
15812           externalize, basesrc uses it
15813           obviously the implementation needs testing
15814
15815 2005-10-10  Wim Taymans  <wim@fluendo.com>
15816
15817         * tests/sched/Makefile.am:
15818         * tests/sched/sort.c: (make_pipeline1), (make_pipeline2),
15819         (make_pipeline3), (make_pipeline4), (print_elem), (main):
15820
15821 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
15822
15823         * gst/gstutils.c: (guint64_to_gdouble), (gst_util_uint64_scale):
15824           apparently converting from guint64 to double is not implemented
15825           on MSVC
15826
15827 2005-10-10  Wim Taymans  <wim@fluendo.com>
15828
15829         * check/Makefile.am:
15830         * check/generic/states.c: (GST_START_TEST):
15831         * check/gst/gstbin.c: (GST_START_TEST):
15832         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
15833         * check/states/sinks.c: (GST_START_TEST):
15834         * check/states/sinks2.c: (GST_START_TEST), (gst_object_suite),
15835         (main):
15836         Check fixes, use API as stated in design docs, remove hacks.
15837
15838         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
15839         (gst_base_sink_change_state):
15840         Catch stopping our task while we're shutting down.
15841
15842         * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
15843         (gst_bin_remove_func), (gst_bin_get_state_func),
15844         (gst_bin_recalc_state), (gst_bin_change_state_func),
15845         (bin_bus_handler):
15846         * gst/gstbin.h:
15847         * gst/gstelement.c: (gst_element_init),
15848         (gst_element_get_state_func), (gst_element_abort_state),
15849         (gst_element_commit_state), (gst_element_lost_state),
15850         (gst_element_set_state), (gst_element_change_state),
15851         (gst_element_change_state_func):
15852         * gst/gstelement.h:
15853         New state change algorithm (see #318116)
15854
15855         * gst/gstpipeline.c: (gst_pipeline_class_init),
15856         (gst_pipeline_init), (gst_pipeline_set_property),
15857         (gst_pipeline_get_property), (do_pipeline_seek),
15858         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
15859         * gst/gstpipeline.h:
15860         Remove crude state change hacks.
15861
15862         * gst/gstutils.h:
15863         Remove crude hacks.
15864
15865         * tools/gst-launch.c: (main):
15866         Fixes for state change. Needs some more work to fully use the
15867         new stuff.
15868
15869 2005-10-10  Andy Wingo  <wingo@pobox.com>
15870
15871         * tests/Makefile.am (noinst_PROGRAMS): No more init.c.
15872
15873         * gst/gst.c (G_OPTION_FLAG_NO_ARG): Apparently GLib 2.8 requires
15874         this flag, but it's not even in GLib 2.6. Odd. Hack around the
15875         issue.
15876
15877 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
15878
15879         * gst/gstiterator.c: (gst_iterator_new):
15880           Fix my previous commit: GTypes passed to gst_iterator_new()
15881           can be fundamental types.
15882
15883 2005-10-10  Wim Taymans  <wim@fluendo.com>
15884
15885         * gst/gstelement.c: (gst_element_iterate_pad_list),
15886         (gst_element_iterate_pads), (gst_element_iterate_src_pads),
15887         (gst_element_iterate_sink_pads):
15888         Use src/sink pads lists for the respective iterators instead
15889         of filtering.
15890
15891 2005-10-10  Andy Wingo  <wingo@pobox.com>
15892
15893         Merged in popt removal + GOption addition patch from Ronald, bug
15894         #169772.
15895
15896         * docs/gst/gstreamer-sections.txt: Add STATE_(UN)LOCK_FULL, move
15897         GstElement macros around, remove popt-related symbols, add goption
15898         stuff.
15899
15900         * configure.ac: Remove popt checks, require GLib 2.6 for GOption.
15901         
15902         * docs/gst/Makefile.am:
15903         * docs/libs/Makefile.am: No POPT_CFLAGS.
15904         
15905         * examples/manual/Makefile.am:
15906         * docs/manual/basics-init.xml: Doc updates with an example.
15907         
15908         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
15909         (gst_init), (parse_one_option), (parse_goption_arg):
15910         * gst/gst.h: Removed gst_init_with_popt_table and friends. Took a
15911         bit of hand merging and debugging to get the GOption stuff working
15912         tho.
15913         
15914         * tests/Makefile.am:
15915         * tools/Makefile.am:
15916         * tools/gst-inspect.c: (main):
15917         * tools/gst-launch.c: (main):
15918         * tools/gst-run.c: (main):
15919         * tools/gst-xmlinspect.c: (main): Thanks Ronald!
15920
15921 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
15922
15923         * gst/gstiterator.c: (gst_iterator_new):
15924           Add assertions to make sure passed GType is likely to really
15925           be a GType (as the compiler won't catch it if the size and
15926           GType arguments get mixed up, see #318447).
15927
15928 2005-10-10  Josef Zlomek  <josef dot zlomek at xeris dot cz>
15929
15930         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
15931
15932         * gst/gstbin.c: (gst_bin_iterate_sorted):
15933           Pass GType and size arguments to gst_iterator_new() in the right
15934           order (maybe we should make _new() take the GType as first argument
15935           just like _new_list()?) (#318447).
15936           
15937
15938 2005-10-10  Wim Taymans  <wim@fluendo.com>
15939
15940         * gst/gstelement.c: (gst_element_finalize):
15941         And free the GStaticRecMutex too
15942
15943 2005-10-10  Andy Wingo  <wingo@pobox.com>
15944
15945         * gst/gstelement.c (gst_element_init, gst_element_finalize):
15946         Allocate and free the mutex properly.
15947
15948         * gst/gstelement.h (GST_STATE_UNLOCK_FULL, GST_STATE_LOCK_FULL):
15949         New macros.
15950         (GstElement): The state_lock is now recursive. Rebuild your
15951         plugins, suckers. Old macros adapted.
15952
15953         * docs/gst/gstreamer-sections.txt: Doc updates.
15954
15955         * gst/gstutils.h:
15956         * gst/gstutils.c (g_static_rec_cond_timed_wait) 
15957         (g_static_rec_cond_wait): Ported from state changes patch, while
15958         we wait on bug #317802 to be solved in a well-distributed GLib.
15959
15960         * gst/gstelement.c (gst_element_change_state_func): Renamed from
15961         gst_element_change_state, variable name changes.
15962         (gst_element_change_state): Split out of gst_element_set_state in
15963         preparation for the state change merge. Doesn't pay attention to
15964         the 'transition' argument.
15965         (gst_element_set_state): Updates, hopefully purely cosmetic.
15966         (gst_element_sync_state_with_parent): MT-safety. Ported from the
15967         state change patch.
15968         (gst_element_get_state_func): Renamed from get_state, cosmetic
15969         changes.
15970
15971 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
15972
15973         * gst/elements/gstelements.c:
15974         * win32/GStreamer.vcproj:
15975         * win32/config.h:
15976         * win32/dirent.c: (_tseekdir):
15977         * win32/gst-inspect.vcproj:
15978         * win32/gst-launch.vcproj:
15979         * win32/gstconfig.h:
15980         * win32/gstelements.vcproj:
15981         * win32/gstenumtypes.c: (gst_object_flags_get_type):
15982         * win32/gstreamer.def:
15983         * win32/msvc71.sln:
15984           updates for the win32 build (patch from Sebastien Moutte)
15985
15986 2005-10-10  Andy Wingo  <wingo@pobox.com>
15987
15988         * gst/gstbin.c (gst_bin_get_state_func): Renamed from
15989         gst_bin_get_state, cleaned up (but no logic changes).
15990         (bin_element_is_sink): Comment updates.
15991         (sink_iterator_filter): Remove needless cast.
15992         (gst_bin_iterate_sinks): Doc update.
15993         (gst_bin_change_state_func): Renamed from gst_bin_change_state,
15994         cleaned up (but no logic changes).
15995
15996         * check/states/sinks.c (test_src_sink): Cleanups from the state
15997         change patch.
15998         (test_livesrc_sink): Sync on the state.
15999
16000         * check/pipelines/simple_launch_lines.c (run_pipeline): Merge from
16001         the state change patch.
16002
16003         * check/gst/gstghostpad.c (test_ghost_pads): Merge from the state
16004         change patch.
16005
16006         * check/gst/gstbin.c: Merge in some style fixes and additional
16007         checks from Wim's state change patch.
16008
16009 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
16010
16011         * gst/base/gsttypefindhelper.c: (helper_find_peek),
16012         (gst_type_find_helper):
16013           Check whether we have the requested data already in our list of
16014           cached buffers before pulling a new buffer; also make the buffer
16015           list a GSList. Speeds up typefinding by ca. 5-10% altogether.
16016
16017 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
16018
16019         * gst/gstcaps.c:
16020         * gst/gstevent.c:
16021           doc updates
16022         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
16023           don't use long long, it's not portable.  Replacing with
16024           gint64 seems to work; let's hope no skeletons fall out of the closet.
16025
16026 2005-10-10  Andy Wingo  <wingo@pobox.com>
16027
16028         * autogen.sh (CONFIGURE_DEF_OPT): No more --plugin-buiddir, yay
16029
16030 2005-10-09  Stefan Kost  <ensonic@users.sf.net>
16031
16032         * docs/gst/gstreamer-sections.txt:
16033         * gst/gstevent.c:
16034         * gst/gstevent.h:
16035         * gst/gstinfo.c:
16036         * gst/gstinfo.h:
16037         * gst/gstmessage.c: (gst_message_parse_state_changed):
16038         * gst/gstpad.c:
16039         * gst/gstpad.h:
16040           more docs, fix compilation
16041
16042 2005-10-09  Philippe Khalaf <burger@speedy.org>
16043         * gst/gstmessage.c:
16044           Fixed a few forgotten variables on previous commit
16045
16046 2005-10-09  Tim-Philipp Müller  <tim at centricular dot net>
16047
16048         * gst/base/gsttypefindhelper.c: (helper_find_peek):
16049           Fix evil typefind crasher: getrange() might return a short
16050           buffer at the end of a file, but gst_type_find_peek() must
16051           either return the full data as requested or NULL, but
16052           never a short buffer.
16053
16054 2005-10-09  Thomas Vander Stichele  <thomas at apestaart dot org>
16055
16056         * gst/gstmessage.c: (gst_message_new_state_changed),
16057         (gst_message_parse_state_changed):
16058         * gst/gstmessage.h:
16059           don't use "new", it's a C++ keyword
16060
16061 2005-10-08  Wim Taymans  <wim@fluendo.com>
16062
16063         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_query):
16064         * gst/gstelement.c: (gst_element_post_message):
16065         * gst/gstpipeline.c: (gst_pipeline_change_state):
16066         Small docs and debug updates.
16067
16068 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
16069
16070         * docs/gst/gstreamer-sections.txt:
16071         * gst/gstelementfactory.c:
16072         * gst/gstevent.c:
16073         * gst/gsttaglist.c:
16074           more docs
16075
16076 2005-10-08  Wim Taymans  <wim@fluendo.com>
16077
16078         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_change_state),
16079         (gst_bin_dispose), (bin_bus_handler):
16080         Fix typos, add comments.
16081         Clear EOS list when going to PAUSED from any direction and do it
16082         in a threadsafe way.
16083         Get base time in a threadsafe way too.
16084         Fix confusing debug in the change_state function.
16085         Various other small cleanups.
16086         
16087         * gst/gstelement.c: (gst_element_post_message):
16088         Fix very verbose bus posting code.
16089
16090         * gst/gstpipeline.c: (gst_pipeline_class_init),
16091         (gst_pipeline_set_property), (gst_pipeline_get_property),
16092         (gst_pipeline_change_state):
16093         Small ARG_ -> PROP_ cleanup
16094
16095 2005-10-08  Wim Taymans  <wim@fluendo.com>
16096
16097         * gst/gstbin.c: (is_eos), (bin_bus_handler):
16098         Do a less CPU demanding EOS check because we can.
16099
16100 2005-10-08  Wim Taymans  <wim@fluendo.com>
16101
16102         * libs/gst/dataprotocol/dataprotocol.c:
16103         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
16104         (gst_dp_packet_from_event):
16105         * libs/gst/dataprotocol/dataprotocol.h:
16106         * libs/gst/dataprotocol/dp-private.h:
16107         It's about time we bump the version number.
16108         Since event types don't fit in the guint8 anymore describing
16109         the payload type, make payload type 16 bits wide.
16110
16111 2005-10-08  Wim Taymans  <wim@fluendo.com>
16112
16113         * docs/design/part-TODO.txt:
16114         * docs/design/part-clocks.txt:
16115         * docs/design/part-events.txt:
16116         * docs/design/part-gstbin.txt:
16117         * docs/design/part-gstelement.txt:
16118         * docs/design/part-gstpipeline.txt:
16119         * docs/design/part-live-source.txt:
16120         * docs/design/part-messages.txt:
16121         * docs/design/part-overview.txt:
16122         * docs/design/part-states.txt:
16123         Many doc updates.
16124
16125 2005-10-08  Wim Taymans  <wim@fluendo.com>
16126
16127         * gst/gstevent.c:
16128         * gst/gstevent.h:
16129         Fix event quark registration.
16130         Add some space between events so we can insert them in the
16131         right groups.
16132
16133 2005-10-08  Wim Taymans  <wim@fluendo.com>
16134
16135         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
16136         (gst_base_sink_handle_buffer):
16137         Better log message.
16138
16139         * gst/gstbus.h:
16140         * gst/gstelement.h:
16141         More docs.
16142
16143         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
16144         (gst_queue_set_property), (gst_queue_get_property):
16145         * gst/gstqueue.h:
16146         Remove old unused properties.
16147
16148 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
16149         * docs/gst/gstreamer-sections.txt:
16150         * gst/gstmessage.c:
16151         * gst/gstmessage.h:
16152         * gst/gstminiobject.c:
16153         * gst/gstminiobject.h:
16154         * gst/gstobject.h:
16155         * gst/gstpad.h:
16156         * gst/gstutils.h:
16157           lots of new docs and doc fixes
16158
16159 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
16160
16161         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_load_file):
16162         * gst/gstplugin.h:
16163         * gst/gstregistry.c: (gst_registry_lookup_locked),
16164         (gst_registry_scan_path_level):
16165         * gst/gstregistryxml.c: (load_plugin):
16166           Only ever load one plugin for a given plugin basename.
16167           This ensures correct overriding of GST_PLUGIN_PATH over
16168           GST_PLUGIN_SYSTEM_PATH and of home dir plugins over
16169           system installed plugins.
16170
16171 2005-10-08  Wim Taymans  <wim@fluendo.com>
16172
16173         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
16174         (gst_base_sink_do_sync), (gst_base_sink_handle_buffer):
16175         Prepare for doing QOS.
16176
16177 2005-10-08  Wim Taymans  <wim@fluendo.com>
16178
16179         * check/gst/gstbin.c: (GST_START_TEST):
16180         * check/pipelines/cleanup.c: (GST_START_TEST):
16181         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
16182         Allow new clock message too.
16183
16184 2005-10-08  Wim Taymans  <wim@fluendo.com>
16185
16186         * gst/gstmessage.c: (gst_message_new_error),
16187         (gst_message_new_warning), (gst_message_new_tag),
16188         (gst_message_new_state_changed), (gst_message_new_clock_provide),
16189         (gst_message_new_clock_lost), (gst_message_new_new_clock),
16190         (gst_message_new_segment_start), (gst_message_new_segment_done),
16191         (gst_message_parse_state_changed),
16192         (gst_message_parse_clock_provide), (gst_message_parse_clock_lost),
16193         (gst_message_parse_new_clock):
16194         * gst/gstmessage.h:
16195         Also carry the clock in question.
16196
16197 2005-10-08  Wim Taymans  <wim@fluendo.com>
16198
16199         * gst/gstmessage.c: (gst_message_new_custom),
16200         (gst_message_new_eos), (gst_message_new_error),
16201         (gst_message_new_warning), (gst_message_new_tag),
16202         (gst_message_new_state_changed), (gst_message_new_clock_provide),
16203         (gst_message_new_new_clock), (gst_message_new_segment_start),
16204         (gst_message_new_segment_done), (gst_message_parse_state_changed),
16205         (gst_message_parse_clock_provide), (gst_message_parse_new_clock):
16206         * gst/gstmessage.h:
16207         Clean up.
16208         Added clock related messages.
16209
16210         * gst/gstpipeline.c: (gst_pipeline_change_state):
16211         Post message when the clock changed.
16212
16213         * tools/gst-launch.c: (event_loop):
16214         Print new clock.
16215
16216 2005-10-08  Tim-Philipp Müller  <tim at centricular dot net>
16217
16218         * tools/gst-inspect.c: (print_element_properties_info):
16219           Can't pass NULL strings to g_print() on windows.
16220
16221 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
16222
16223         * docs/Makefile.am:
16224         * docs/gst/Makefile.am:
16225         * docs/gst/gstreamer-docs.sgml:
16226         * docs/gst/running.xml:
16227         * docs/version.entities.in:
16228           add a chapter on running GStreamer.
16229           document GST_DEBUG and GST_PLUGIN* env vars
16230
16231 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
16232
16233         * Makefile.am:
16234           remove include dir
16235         * configure.ac:
16236           remove PLUGINS_BUILDDIR stuff
16237         * gst/gst.c: (init_post):
16238           reorder parsing of GST_PLUGIN_PATH and GST_PLUGIN_SYSTEM_PATH
16239         * idiottest.mak:
16240           remove, it was condescending and not needed
16241
16242 2005-10-08  Wim Taymans  <wim@fluendo.com>
16243
16244         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
16245         (gst_base_sink_handle_object), (gst_base_sink_event),
16246         (gst_base_sink_wait), (gst_base_sink_handle_event),
16247         (gst_base_sink_change_state):
16248         * gst/base/gstbasesink.h:
16249         Repost EOS message while going to PLAYING if still EOS.
16250         Make sure that when receiving a FLUSH_START we don't attempt
16251         to sync on the clock anymore.
16252
16253 2005-10-08  Wim Taymans  <wim@fluendo.com>
16254
16255         * tools/gst-launch.c: (event_loop):
16256         Better message printout.
16257
16258 2005-10-08  Wim Taymans  <wim@fluendo.com>
16259
16260         * gst/gstbin.c: (gst_bin_child_proxy_get_child_by_index),
16261         (gst_bin_child_proxy_get_children_count):
16262         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
16263         (gst_child_proxy_lookup), (gst_child_proxy_get_property),
16264         (gst_child_proxy_get_valist), (gst_child_proxy_set_property),
16265         (gst_child_proxy_set_valist):
16266         * gst/parse/grammar.y:
16267         Make ChildProxy threadsafe and fix mem leaks.
16268
16269 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
16270
16271         * gst/gst.c: (init_post):
16272           debug the GST_PLUGIN_ env vars
16273
16274 2005-10-08  Wim Taymans  <wim@fluendo.com>
16275
16276         * check/gst/gstbin.c: (GST_START_TEST):
16277         * check/gst/gstmessage.c: (GST_START_TEST):
16278         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
16279         * gst/gstelement.c: (gst_element_commit_state),
16280         (gst_element_lost_state):
16281         * gst/gstmessage.c: (gst_message_new_state_changed),
16282         (gst_message_parse_state_changed):
16283         * gst/gstmessage.h:
16284         * tools/gst-launch.c: (event_loop):
16285         Added extra field to STATE_CHANGE message with the pending
16286         state, which will be different from the new state soon.
16287
16288 2005-10-08  Wim Taymans  <wim@fluendo.com>
16289
16290         * gst/gstbus.c: (gst_bus_pop):
16291         * gst/gstclock.c:
16292         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
16293         Small cleanups and doc updates.
16294
16295 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
16296
16297         * gst/gst.c: (init_pre):
16298         * gst/gstbin.c: (gst_bin_add_func):
16299           log distributing clocks and base time
16300         * gst/gstregistry.c: (gst_registry_add_plugin),
16301         (gst_registry_scan_path_level), (gst_registry_scan_path):
16302           clean up the debugging output a little
16303         * gst/gstutils.c: (gst_element_state_get_name):
16304           warn about a memleak (I've actually seen this be used, though
16305           it was probably a bug)
16306
16307 2005-10-07  Wim Taymans  <wim@fluendo.com>
16308
16309         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
16310         (gst_base_src_init), (gst_base_src_default_newsegment),
16311         (gst_base_src_newsegment), (gst_base_src_do_seek),
16312         (gst_base_src_loop), (gst_base_src_start):
16313         * gst/base/gstbasesrc.h:
16314         Make the newsegment event customizable by subclasses.
16315
16316 2005-10-07  Wim Taymans  <wim@fluendo.com>
16317
16318         * gst/gstevent.c: (gst_event_new_buffersize),
16319         (gst_event_parse_buffersize):
16320         * gst/gstevent.h:
16321         New event for future idea.
16322
16323 2005-10-07  Andy Wingo  <wingo@pobox.com>
16324
16325         * gst/gstelement.c (gst_element_post_message): Doc update.
16326
16327         * docs/gst/gstreamer-sections.txt: Update.
16328
16329         * gst/gstmessage.c (gst_message_new_application): Made into a
16330         function like honest API calls.
16331         (gst_message_new_element): New message type.
16332
16333         * gst/gstmessage.h (enum): Add GST_MESSAGE_ELEMENT type.
16334
16335         * check/elements/fakesrc.c (test_no_preroll): New check, checks
16336         that setting a live fakesrc to PAUSED returns NO_PREROLL both
16337         times.
16338
16339         * gst/base/gstbasesrc.c (gst_base_src_change_state): Allow a
16340         NO_PREROLL from gst_element_change_state to fall through.
16341
16342 2005-10-07  Wim Taymans  <wim@fluendo.com>
16343
16344         * gst/gstghostpad.c: (gst_ghost_pad_get_internal),
16345         (gst_ghost_pad_do_activate_push):
16346         Activating a ghostpad with no internal pad in push mode
16347         is ok.
16348
16349 2005-10-07  Thomas Vander Stichele  <thomas at apestaart dot org>
16350
16351         * gst/gstobject.h:
16352           there's no point in wrapping FLAG_SET/_UNSET in STMT macros.
16353           Fixes compilation on Windows.
16354
16355 2005-10-07  Michael Smith <msmith@fluendo.com>
16356
16357         * tools/gst-inspect.c:
16358           Print out feature and plugin count at the end when printing out
16359           all features.
16360
16361 2005-10-04  Michael Smith <msmith@fluendo.com>
16362
16363         * gst/gsterror.c: (_gst_stream_errors_init):
16364           Add another error string used in a few existing plugins.
16365
16366         * gst/gstplugin.c:
16367         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
16368         * tools/gst-inspect.c: (print_element_info):
16369           When a feature disappears from a plugin (and the feature exists in
16370           the cached registry file), things went horribly wrong. This isn't a
16371           complete fix, we should actually be removing the 'missing' features
16372           from the features list when we load the actual plugin. That's not
16373           yet implemented. 
16374
16375 2005-10-04  Johan Dahlin  <johan@gnome.org>
16376
16377         * check/gst/gstiterator.c: (GST_START_TEST):
16378         * gst/gstbin.c: (gst_bin_iterate_elements),
16379         (gst_bin_iterate_recurse), (gst_bin_iterate_sorted):
16380         * gst/gstelement.c: (gst_element_iterate_pads):
16381         * gst/gstformat.c: (gst_format_iterate_definitions):
16382         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
16383         (gst_iterator_new_list), (gst_iterator_filter):
16384         * gst/gstiterator.h:
16385         * gst/gstquery.c: (gst_query_type_iterate_definitions):
16386         Add a GType to GstIterator, update callsites and tests.
16387
16388 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
16389
16390         * gst/gstpad.c: (gst_pad_event_default_dispatch):
16391           give events a chance to be handled by event probes when the pad
16392           is not linked
16393
16394 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
16395
16396         * gst/gstevent.c: (gst_event_type_get_name),
16397         (gst_event_type_to_quark), (gst_event_finalize), (gst_event_new):
16398         * gst/gstevent.h:
16399           add string representations for event types
16400
16401 2005-10-06  Wim Taymans  <wim@fluendo.com>
16402
16403         * gst/elements/gstfilesink.c: (gst_file_sink_close_file):
16404         Don't use NULL pointers.
16405
16406 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
16407
16408         * gst/gst_private.h:
16409         * gst/gstbus.c:
16410         * gst/gstelement.c:
16411         * gst/gstinfo.c:
16412         * gst/gstpluginfeature.c:
16413           widen the debug category in output to fit the biggest one we have
16414           add a bus category and use it
16415           play with the colors
16416           fix up some categories
16417
16418 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
16419
16420         * gst/gstghostpad.c: (gst_ghost_pad_internal_do_activate_push):
16421           add push activation of sink ghost pads.
16422           Andye, please verify
16423
16424 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
16425
16426         * gst/gstutils.c: (gst_element_link_pads):
16427           fix a bug in the case where neither element has a pad
16428         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
16429           add a test for that case
16430
16431 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
16432
16433         * gst/gstpad.c: (gst_pad_push), (gst_pad_push_event):
16434           emit have-data before checking for peers.  This allows
16435           for probe handlers to connect elements.  This helps autopluggers.
16436         * check/gst/gstpad.c: (GST_START_TEST), (_probe_handler),
16437         (gst_pad_suite):
16438           add six checks, linked/unlinked with no/true/false probe
16439
16440 2005-10-04  Wim Taymans  <wim@fluendo.com>
16441
16442         * gst/elements/gstfakesink.c: (gst_fake_sink_get_property),
16443         (gst_fake_sink_event), (gst_fake_sink_preroll),
16444         (gst_fake_sink_render), (gst_fake_sink_change_state):
16445         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler),
16446         (gst_fake_src_get_property), (gst_fake_src_create),
16447         (gst_fake_src_stop):
16448         * gst/elements/gstidentity.c: (gst_identity_stop):
16449         Protect last_message with lock.
16450
16451 2005-10-04  Edward Hervey  <edward@fluendo.com>
16452
16453         * gst/gstformat.h: 
16454         Added precision in the comments for GST_FORMAT_DEFAULT
16455
16456 2005-10-04  Tim-Philipp Müller  <tim at centricular dot net>
16457
16458         * tools/gst-launch.c: (main):
16459           Don't try to run erroneous pipelines.
16460
16461 2005-10-04  Julien MOUTTE  <julien@moutte.net>
16462
16463         * gst/gstbus.c: We don't need this header.
16464
16465 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
16466
16467         * configure.ac:
16468           back to development
16469
16470 === release 0.9.3 ===
16471
16472 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
16473
16474         * README:
16475         * configure.ac:
16476           Releasing 0.9.3, "Unregistered"
16477
16478 2005-10-03  Andy Wingo  <wingo@pobox.com>
16479
16480         * gst/gstpad.c (gst_pad_activate_push): There is a race condition
16481         whereby calling a pad's activatepush() function can start a thread
16482         that starts to push or pull before the pad gets the FLUSHING flag
16483         unset. Hack around it by holding the stream lock until the flag is
16484         set. Need to replace this with a proper solution. Together with
16485         the ghost pad fixes, this fixes mp3 playing/tagreading.
16486
16487         * docs/design/part-gstghostpad.txt: Add a note about activation of
16488         proxy pads outside of ghost pads.
16489
16490         * gst/gstghostpad.c: Implement the ghost pad activation design.
16491
16492 2005-10-02  Andy Wingo  <wingo@pobox.com>
16493
16494         * gst/gstobject.h (GST_OBJECT_REFCOUNT_VALUE): Just use the int.
16495         It is volatile, after all.
16496
16497         * docs/design/part-gstghostpad.txt: Flesh out activation with
16498         ghost pads.
16499
16500         * gst/base/gstbasesrc.c (gst_base_src_init): Use
16501         GST_DEBUG_FUNCPTR.
16502
16503 2005-10-02  Tim-Philipp Müller  <tim at centricular dot net>
16504
16505         * configure.ac:
16506           Fix (unused) AM_CONDITIONAL tests.
16507
16508 2005-10-01  Alessandro Decina  <alessandro at nnva dot org>
16509
16510         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
16511
16512         * gst/gstutils.c: (gst_pad_query_convert):
16513           Add assertion that makes sure src_val is >=0, just like
16514           gst_query_new_convert() has. (#315895)
16515
16516 2005-09-30  Edward Hervey  <edward@fluendo.com>
16517
16518         * gst/elements/gsttee.c: (gst_tee_do_push), (gst_tee_handle_buffer):
16519         Let's not iterate pads we're not interested in, it avoids getting 
16520         sky-high refcounts on sinkpad.
16521
16522 2005-09-30  Wim Taymans  <wim@fluendo.com>
16523
16524         * gst/gstelement.c: (gst_element_set_state),
16525         (gst_element_change_state):
16526         Small tweak, element in ASYNC remains ASYNC.
16527
16528 2005-09-30  Wim Taymans  <wim@fluendo.com>
16529
16530         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
16531         Only error is an error.
16532
16533         * gst/gstbin.c: (gst_bin_change_state):
16534         Better debugging.
16535
16536         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_chain):
16537         Also call pad_block in pad alloc.
16538
16539         * gst/gstutils.c: (gst_flow_get_name):
16540         Better debugging.
16541
16542 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
16543
16544         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
16545         (gst_base_src_get_range):
16546           Fix documentation typos. Add some more debug info.
16547
16548 2005-09-29  David Schleef  <ds@schleef.org>
16549
16550         * gst/gstplugin.c: (gst_plugin_load_file): Make some error messages
16551           more end-user friendly.
16552         * tools/gst-inspect.c: (main): Check if command-line argument is
16553           a file and attempt to load that file as a plugin.
16554
16555 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
16556
16557         * check/gst/gstbin.c:
16558         * check/states/sinks.c:
16559           fix tests for the new warning
16560         * check/gst/gstpipeline.c:
16561           add a test for pipeline and bus interaction
16562         * gst/gstelement.c:
16563           elements should be NULL if they get disposed; add a warning if not
16564
16565 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
16566
16567         * gst/gstobject.c:
16568           for 2.6 refcounting, make debug log more correct by printing
16569           the actual refcounts at the time of swap (Wim)
16570
16571 2005-09-29  Andy Wingo  <wingo@pobox.com>
16572
16573         * gst/gstbus.c (gst_bus_remove_signal_watch): New function,
16574         removes signal watches previously added via
16575         gst_bus_add_signal_watch.
16576         (gst_bus_add_signal_watch): Don't return the source id, just store
16577         it on the bus if there wasn't an id already.
16578
16579         * gst/gstbus.h (GstBus): Add a couple new fields. API changes for
16580         add_signal_watch and remove_signal_watch.
16581
16582 2005-09-29  Edward Hervey  <edward@fluendo.com>
16583
16584         * libs/gst/controller/gstcontroller.c: (gst_controller_new_list): 
16585         Better if we actually iterate the list :)
16586
16587 2005-09-29  Wim Taymans  <wim@fluendo.com>
16588
16589         * check/gst/gstbin.c: (GST_START_TEST):
16590         Change for new bus API.
16591
16592         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
16593         (send_messages), (GST_START_TEST), (gstbus_suite):
16594         Change for new bus signal API.
16595
16596         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_have_pending),
16597         (gst_bus_source_prepare), (gst_bus_source_check),
16598         (gst_bus_create_watch), (gst_bus_add_watch_full),
16599         (gst_bus_add_watch), (gst_bus_poll), (gst_bus_async_signal_func),
16600         (gst_bus_sync_signal_handler), (gst_bus_add_signal_watch):
16601         * gst/gstbus.h:
16602         Remove support for multiple GSources operating on different
16603         message types as it is too complex and unneeded when using
16604         signals.
16605         Added support for receiving signals from the bus.
16606
16607 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
16608
16609         * docs/libs/tmpl/gstdataprotocol.sgml:
16610         * docs/manual/advanced-dataaccess.xml:
16611         * gst/elements/gstcapsfilter.c:
16612         * gst/gstutils.c:
16613           rename filter-caps to caps property
16614
16615 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
16616
16617         * gst/gstvalue.c: (gst_value_deserialize_fraction):
16618           More robust fraction string parsing.
16619
16620         * docs/pwg/appendix-porting.xml:
16621           Mention gst_pad_use_explicit_caps() => gst_pad_use_fixed_caps()
16622
16623 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
16624
16625         * gst/gstcaps.c: (gst_caps_do_simplify):
16626           Thou shalt not free a structure and then continue using it
16627           in the next loop iteration.
16628
16629         * check/gst/gstcaps.c: (check_fourcc_list), (test_simplify),
16630         (gst_caps_suite):
16631           Add test case for caps simplification.
16632
16633 2005-09-29  Wim Taymans  <wim@fluendo.com>
16634
16635         * check/gst/gstbin.c: (GST_START_TEST):
16636         Oops.
16637
16638 2005-09-29  Wim Taymans  <wim@fluendo.com>
16639
16640         * check/gst/gstbin.c: (GST_START_TEST):
16641         Add bus to bin.
16642
16643         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
16644         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
16645         (find_element), (gst_bin_sort_iterator_next),
16646         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
16647         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
16648         (gst_bin_change_state), (gst_bin_dispose):
16649         A bin does not have a bus, it gets the bus from the parent.
16650
16651         * gst/gstelement.c: (gst_element_requires_clock),
16652         (gst_element_provides_clock), (gst_element_is_indexable),
16653         (gst_element_is_locked_state), (gst_element_change_state),
16654         (gst_element_set_bus_func):
16655         Small cleanups.
16656
16657         * gst/gstpipeline.c: (gst_pipeline_class_init),
16658         (gst_pipeline_init), (gst_pipeline_provide_clock_func):
16659         The pipeline provides a bus.
16660
16661 2005-09-28  Johan Dahlin  <johan@gnome.org>
16662
16663         * gst/gstmessage.c (gst_message_parse_state_changed): Use
16664         gst_structure_get_enum instead of gst_structure_get_int
16665
16666         * gst/gststructure.c (gst_structure_get_enum): Impl.
16667
16668         * gst/gststructure.h (gst_structure_get_enum): Add
16669
16670         * docs/gst/gstreamer-sections.txt: Ditto
16671
16672         * gst/gstmessage.c (gst_message_new_state_changed): Use
16673         GST_TYPE_STATE instead of G_TYPE_INT, mainly for language bindings
16674         which does introspection.
16675         Reviewed by Christian Schaller
16676
16677 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
16678
16679         * gst/gstinfo.c: (gst_debug_log_default):
16680           don't do dummy g_strdup()s
16681         * libs/gst/controller/gstcontroller.c:
16682         (on_object_controlled_property_changed),
16683         (gst_controlled_property_new), (gst_controller_new_valist),
16684         (gst_controller_new_list),
16685         (gst_controller_remove_properties_valist), (gst_controller_set),
16686         (gst_controller_get), (gst_controller_sync_values),
16687         (gst_controller_get_value_array), (_gst_controller_class_init),
16688         (gst_controller_get_type):
16689         * libs/gst/controller/gstcontroller.h:
16690         * libs/gst/controller/gstinterpolation.c:
16691         (gst_controlled_property_find_timed_value_node):
16692           convert // to /**/ comments
16693
16694 2005-09-28  Wim Taymans  <wim@fluendo.com>
16695
16696         * gst/gstbus.c: (marshal_VOID__MINIOBJECT), (gst_bus_class_init),
16697         (gst_bus_post), (poll_func), (gst_bus_async_signal_func),
16698         (gst_bus_sync_signal_handler):
16699         * gst/gstbus.h:
16700         Added async-message and sync-message signals to the bus.
16701         Added helper BusFunc to emit signals for all posted messages.
16702
16703         * gst/gstmessage.c: (gst_message_type_get_name),
16704         (gst_message_type_to_quark), (gst_message_get_type):
16705         * gst/gstmessage.h:
16706         Register quarks for message names.
16707
16708 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
16709
16710         * docs/libs/gstreamer-libs-sections.txt:
16711         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
16712         (gst_controller_new_list):
16713         * libs/gst/controller/gstcontroller.h:
16714           added another constructor for language bindings
16715
16716 2005-09-28  Thomas Vander Stichele  <thomas at apestaart dot org>
16717
16718         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
16719           add another check
16720         * gst/gstbus.c:
16721           add some doc
16722         * gst/gstinfo.c: (_gst_debug_init):
16723           slightly more readable color for refcount debugging
16724
16725 2005-09-28  Wim Taymans  <wim@fluendo.com>
16726
16727         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
16728         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
16729         (find_element), (gst_bin_sort_iterator_next),
16730         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
16731         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
16732         (gst_bin_change_state), (gst_bin_dispose):
16733         Small doc fixes. get_clock -> provide_clock.
16734
16735         * gst/gstelement.c: (gst_element_class_init),
16736         (gst_element_provides_clock), (gst_element_provide_clock),
16737         (gst_element_get_clock), (gst_element_commit_state),
16738         (gst_element_lost_state):
16739         * gst/gstelement.h:
16740         Make get/set_clock() symetric. Add provide_clock vmethod since
16741         that is actually what this function does.
16742
16743         * gst/gstpipeline.c: (gst_pipeline_class_init),
16744         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func),
16745         (gst_pipeline_get_clock):
16746         get_clock -> provide_clock.
16747
16748 2005-09-28  Andy Wingo  <wingo@pobox.com>
16749
16750         * gst/base/gstbasesrc.c (gst_base_src_unlock): Comment a bit in
16751         lieu of real docs...
16752
16753         * gst/elements/gstfdsrc.c: Cleaned up a bit.
16754
16755 2005-09-28  Tim-Philipp Müller  <tim at centricular dot net>
16756
16757         * gst/elements/gstcapsfilter.c:
16758         * gst/elements/gstfakesink.c:
16759         * gst/elements/gstfakesrc.c:
16760         * gst/elements/gstfdsink.c:
16761         * gst/elements/gstfdsrc.c:
16762         * gst/elements/gstfilesink.c:
16763         * gst/elements/gstfilesrc.c:
16764         * gst/elements/gstidentity.c:
16765         * gst/elements/gsttee.c:
16766         * gst/elements/gsttypefindelement.c:
16767           Make element details static.
16768
16769 2005-09-28  Wim Taymans  <wim@fluendo.com>
16770
16771         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
16772         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
16773         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
16774         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
16775         (gst_bin_change_state), (gst_bin_dispose):
16776         Some documentation updates.
16777         Clean up dispose handlers.
16778
16779         * gst/gstobject.c: (gst_object_ref), (gst_object_unref):
16780         * gst/gstpad.c: (gst_pad_dispose):
16781         Clean up dispose handler.
16782
16783         * gst/gstpipeline.c: (gst_pipeline_change_state):
16784         Removed spurious UNLOCK.
16785
16786 2005-09-27  Stefan Kost  <ensonic@users.sf.net>
16787
16788         * docs/gst/gstreamer-sections.txt:
16789         * gst/base/gstbasesrc.h:
16790         * gst/gstelement.h:
16791         * gst/gstevent.h:
16792         * gst/gstobject.h:
16793         * gst/gstpad.h:
16794         * gst/gstpipeline.c:
16795         * gst/gstpipeline.h:
16796         * gst/gstutils.h:
16797         * gst/gstxml.h:
16798           added two new functions to the docs
16799                 documents all undocumented GstXXXFlags
16800                 completed some incomplete docs 
16801
16802 2005-09-27  Thomas Vander Stichele  <thomas at apestaart dot org>
16803
16804         * gst/gstbin.c: (gst_bin_dispose):
16805         * gst/gstelement.c: (gst_element_dispose):
16806           remove now useless and leaky resurrection code in dispose
16807         * gst/base/gstbasesrc.c: (gst_base_src_init):
16808         * gst/gstelementfactory.c: (gst_element_factory_create):
16809         * gst/gstobject.c: (gst_object_set_parent):
16810           add some debugging
16811
16812 2005-09-27  Wim Taymans  <wim@fluendo.com>
16813
16814         * docs/design/part-TODO.txt:
16815         Update TODO.
16816
16817         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
16818         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
16819         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
16820         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
16821         (gst_bin_change_state):
16822         * gst/gstelement.h:
16823         Remove element variable, we keep element info in the iterator now.
16824
16825 2005-09-27  Andy Wingo  <wingo@pobox.com>
16826
16827         * libs/gst/dataprotocol/dataprotocol.c: Fix error-checking return
16828         values.
16829
16830 2005-09-27  Wim Taymans  <wim@fluendo.com>
16831
16832         * check/gst/gstbin.c: (GST_START_TEST):
16833         Enable check that works now.
16834
16835         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
16836         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
16837         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
16838         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
16839         (gst_bin_change_state):
16840         * gst/gstbin.h:
16841         Redid the state change algorithm using a topological sort algo.
16842         Handles all cases correctly.
16843         Exposed iterator for state change order.
16844
16845         * gst/gstelement.h:
16846         Temp storage for state changes. Need to get rid of this soon.
16847
16848 2005-09-27  Wim Taymans  <wim@fluendo.com>
16849
16850         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_do_push):
16851         * gst/gstutils.c: (intersect_caps_func), (gst_pad_proxy_getcaps),
16852         (link_fold_func), (gst_pad_proxy_setcaps):
16853         Leak fixes, the fold functions need to unref the passed object and
16854         _get_parent_*() returns ref to parent.
16855
16856 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
16857
16858         * check/gst/gstbuffer.c: (test_make_writable):
16859           Plug leak in test case and fix 'make check-valgrind'
16860
16861 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
16862
16863         * gst/gstbuffer.c: (gst_subbuffer_init):
16864           Set READONLY flag on subbuffers, so that gst_buffer_make_writable()
16865           works correctly in all circumstances (we could have just copied
16866           the parent buffer's readonly flag, but conceptually it seems
16867           cleaner to mark all subbuffers as read-only). (based on patch
16868           by Alessandro Decina, #314710).
16869         
16870         * check/gst/gstbuffer.c: (create_read_only_buffer),
16871         (test_make_writable), (test_subbuffer_make_writable),
16872         (gst_test_suite):
16873           Add some tests for gst_buffer_make_writable().
16874
16875 2005-09-27  Wim Taymans  <wim@fluendo.com>
16876
16877         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_change_state):
16878         use gst_object_has_ancestor().
16879
16880         * gst/gstobject.c: (gst_object_has_ancestor):
16881         * gst/gstobject.h:
16882         gst_object_has_ancestor() copied from gstbin.c as it is a
16883         useful function.
16884
16885         * tests/instantiate/create.c: (create_all_elements):
16886         * tests/lat.c: (handoff_src), (handoff_sink):
16887         * tests/sched/runxml.c: (main):
16888         * tests/seeking/seeking1.c: (main):
16889         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
16890         (main):
16891         Fix compilation of some tests.
16892
16893 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
16894
16895         * gst/gsterror.h:
16896           Remove comment. GST_TYPE_G_ERROR is here to stay,
16897           G_TYPE_ERROR has been WONTFIX'ed by the GLib folks
16898           (#316961, #300610).
16899
16900 2005-09-26  Wim Taymans  <wim@fluendo.com>
16901
16902         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
16903         Added check that shows error in state change order.
16904
16905 2005-09-26  Wim Taymans  <wim@fluendo.com>
16906
16907         * gst/gstbin.c: (gst_bin_change_state):
16908         Make state change function use 3 queues again, we were
16909         adding elements in the wrong order.
16910
16911         * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
16912         Some debug info,
16913
16914         * gst/gstpad.c: (gst_pad_dispose):
16915         Added some debug info first.
16916
16917 2005-09-26  Tim-Philipp Müller  <tim at centricular dot net>
16918
16919         * docs/design/draft-push-pull.txt:
16920         * docs/design/part-events.txt:
16921         * docs/design/part-overview.txt:
16922         * docs/design/part-scheduling.txt:
16923           Replace all _pull_region() with _pull_range()
16924           
16925 2005-09-26  Andy Wingo  <wingo@pobox.com>
16926
16927         * gst/gstvalue.c (_gst_value_initialize): Better fakeout.
16928
16929         * check/gst-libs/controller.c: Update for controller api change.
16930
16931         * configure.ac: 
16932         * tests/Makefile.am:
16933         * tests/memchunk: Remove memchunk benchmark stuff, this is taken
16934         over by GLib bug 118439.
16935         
16936         * gst/base/gstbasesink.c (gst_base_sink_wait): Factor out the wait
16937         routines to a function.
16938
16939         * docs/libs/gstreamer-libs-sections.txt: I am a good person today.
16940
16941         * libs/gst/controller/gsthelper.c:
16942         * libs/gst/controller/gstcontroller.h (gst_controller_sync_values)
16943         (gst_object_sync_values): Renamed from sink_values. Ugh.
16944
16945         * libs/gst/controller/gsthelper.c: Update for __gst_controller_key.
16946
16947         * libs/gst/controller/gstcontroller.c (__gst_controller_key):
16948         Renamed from controller_key, as it is exported.
16949
16950         * gst/gstvalue.c (_gst_value_initialize): Fake out the compiler.
16951
16952 2005-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>
16953
16954         * gst/Makefile.am:
16955         * gst/gst.h:
16956         * gst/gstpad.h:
16957         * gst/gstpadtemplate.h:
16958         * gst/gstquery.c:
16959         * gst/gstquery.h:
16960         * gst/gstqueryutils.c:
16961         * gst/gstqueryutils.h:
16962           remove queryutils headers after moving the two used functions
16963           to gstquery.  also fixes build problem for gstsiddec
16964
16965 2005-09-26  Michael Smith <msmith@fluendo.com>
16966
16967         * tools/gst-launch.1.in:
16968         Correct documentation in manpage of debug syntax
16969
16970 2005-09-26  Wim Taymans  <wim@fluendo.com>
16971
16972         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
16973         (gst_base_src_is_seekable), (gst_base_src_change_state):
16974         Some more debugging info.
16975
16976 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
16977
16978         * docs/gst/gstreamer-sections.txt:
16979         * gst/base/gstbasetransform.h:
16980         * gst/gstindex.h:
16981           added more docs
16982
16983 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
16984
16985         * docs/gst/.cvsignore:
16986         * docs/gst/tmpl/.cvsignore:
16987         * docs/gst/tmpl/gstpipeline.sgml:
16988         * docs/gst/tmpl/gstplugin.sgml:
16989         * gst/gstpipeline.c:
16990         * gst/gstplugin.c:
16991         * gst/gstplugin.h:
16992           inlined the last two docs files
16993           removed the tmpl directory from cvs (no more conflicts here!)
16994
16995 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
16996
16997         * docs/gst/gstreamer-sections.txt:
16998         * docs/gst/tmpl/.cvsignore:
16999         * docs/gst/tmpl/gstpad.sgml:
17000         * docs/gst/tmpl/gstpadtemplate.sgml:
17001         * gst/Makefile.am:
17002         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
17003         (gst_pad_finalize), (gst_pad_set_pad_template):
17004         * gst/gstpad.h:
17005         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
17006         (gst_pad_template_class_init), (gst_pad_template_init),
17007         (gst_pad_template_dispose), (name_is_valid),
17008         (gst_static_pad_template_get), (gst_pad_template_new),
17009         (gst_static_pad_template_get_caps), (gst_pad_template_get_caps),
17010         (gst_pad_template_pad_created):
17011         * gst/gstpadtemplate.h:
17012           inlined two more docs
17013           factored gstpadtemplate out of gstpad
17014
17015 2005-09-24  Tim-Philipp Müller  <tim at centricular dot net>
17016
17017         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
17018         (test_children_state_change_order_semi_sink):
17019           Fix test case: we can't rely on a fixed state change order when
17020           going from READY => PAUSED because the sink might commit its 
17021           new state first when the first buffer created by the source 
17022           reaches the sink before the source has finished its change state.
17023           (Test case still fails at times, see #316856, comment 5 onwards)
17024
17025 2005-09-24  Wim Taymans  <wim@fluendo.com>
17026
17027         * docs/design/part-events.txt:
17028         * docs/design/part-gstbus.txt:
17029         * docs/design/part-gstpipeline.txt:
17030         * docs/design/part-messages.txt:
17031         * docs/design/part-overview.txt:
17032         * docs/design/part-segments.txt:
17033         * gst/gstbin.c:
17034         * gst/gstbuffer.c:
17035         * gst/gstclock.c:
17036         * gst/gstelement.c:
17037         * gst/gstevent.c:
17038         * gst/gstfilter.c:
17039         * gst/gstiterator.c:
17040         Various documentation updates.
17041
17042 2005-09-24  Thomas Vander Stichele  <thomas at apestaart dot org>
17043
17044         * gst/gstclock.h:
17045           Well, that's embarassing.  Luckily we weren't using
17046           GST_CLOCK_DIFF anywhere.
17047
17048 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
17049
17050         * common/gtk-doc.mak:
17051           don't fail on building XML, FC4 slave shows a bunch of doc
17052           missing bits that I don't get
17053         * gst/gstpad.c:
17054         * gst/gstpipeline.c:
17055         * gst/gststructure.c:
17056           some doc updates
17057
17058 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
17059
17060         * docs/design/part-gstbin.txt:
17061         * docs/design/part-gstbus.txt:
17062         * gst/gstbus.c:
17063           Add blurb about how the bus goes into flushing mode and
17064           drops all messages when its bin goes from READY into NULL 
17065           state.
17066
17067 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
17068
17069         * docs/gst/gstreamer-sections.txt:
17070         * gst/gststructure.c: (gst_structure_get_clock_time):
17071         * gst/gststructure.h:
17072           add a method to get a GstClockTime out of a structure
17073
17074 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
17075
17076         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
17077         (test_children_state_change_order_semi_sink), (gst_bin_suite):
17078           Added test to check state change order in bins (can still be made
17079           to fail here under heavy disk load; bails out with 'Push on pad
17080           fakesink:sink0, but it was not activated in push mode').
17081
17082         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_change_state):
17083           Fix state change order when there is only a semi sink (#316856)
17084
17085         * gst/gstbus.c: (gst_bus_class_init):
17086           Use _class_peek_parent(), not _class_ref(); fix docs to say
17087           'default main context' instead of 'mainloop' where that is
17088           what's meant.
17089
17090         * gst/gstelement.c: (gst_element_commit_state),
17091         (gst_element_set_state):
17092           Fix typos in debug messages
17093
17094 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
17095
17096         * docs/README:
17097         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_chain):
17098         * gst/gstpluginfeature.c:
17099         * gst/gstutils.c:
17100           various doc updates
17101         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
17102           change an assert into an error until it gets fixed properly
17103
17104 2005-09-23  Stefan Kost  <ensonic@users.sf.net>
17105
17106         * docs/gst/gstreamer-sections.txt:
17107         * docs/gst/tmpl/.cvsignore:
17108         * docs/gst/tmpl/gstelement.sgml:
17109         * docs/gst/tmpl/gstinfo.sgml:
17110         * docs/gst/tmpl/gstobject.sgml:
17111         * gst/gstelement.c:
17112         * gst/gstelement.h:
17113         * gst/gstinfo.c:
17114         * gst/gstinfo.h:
17115         * gst/gstobject.c: (gst_object_class_init):
17116         * gst/gstobject.h:
17117           inlined 3 more biiiig doc files and added some missing docs on the fly
17118
17119 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
17120
17121         * check/gst/.cvsignore:
17122         * check/gst/gstplugin.c: (GST_START_TEST), (gst_plugin_suite):
17123         * gst/gstregistryxml.c: (load_plugin),
17124         (gst_registry_xml_save_plugin):
17125           put back source in registry.  add checks for find_plugin.
17126         * testsuite/states/bin.c: (assert_state), (empty_bin),
17127         (test_adding_one_element), (main):
17128         * testsuite/states/locked.c: (main):
17129           some compile/run fixes
17130
17131 2005-09-22  Thomas Vander Stichele  <thomas at apestaart dot org>
17132
17133         * check/gst/gstvalue.c: (GST_START_TEST):
17134           fix leaks in the test itself
17135
17136 2005-09-22  Wim Taymans  <wim@fluendo.com>
17137
17138         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
17139         (gst_base_sink_send_event), (gst_base_sink_peer_query),
17140         (gst_base_sink_query):
17141         Prepare for more accurate position reporting and query
17142         handling.
17143
17144         * gst/gstelement.c: (gst_element_send_event),
17145         (gst_element_set_state):
17146         Add some comment.
17147
17148 2005-09-22  Wim Taymans  <wim@fluendo.com>
17149
17150         * gst/gstquery.c: (gst_query_new_segment), (gst_query_set_segment),
17151         (gst_query_parse_segment):
17152         * gst/gstquery.h:
17153         More documentation.
17154         Add segment query for future use.
17155
17156 2005-09-22  Wim Taymans  <wim@fluendo.com>
17157
17158         * gst/gstbin.c: (gst_bin_add_func):
17159         Some more debug info.
17160
17161         * gst/gstelement.c: (gst_element_send_event):
17162         Simplify send_event
17163
17164         * gst/gstelement.h:
17165         Don't know how flags got broken.
17166
17167         * gst/gstquery.h:
17168         Added new query.
17169
17170 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
17171
17172         * check/gst/gstvalue.c: (test_date), (gst_value_suite):
17173           Add simplistic test suite for GST_TYPE_DATE serialisation and
17174           deserialisation.
17175
17176 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
17177
17178         * docs/gst/gstreamer-sections.txt:
17179         * gst/gststructure.c: (gst_structure_set_valist),
17180         (gst_structure_get_date):
17181         * gst/gststructure.h:
17182         * gst/gstvalue.c: (gst_value_set_date), (gst_value_get_date),
17183         (gst_date_copy), (gst_value_compare_date),
17184         (gst_value_serialize_date), (gst_value_deserialize_date),
17185         (gst_value_transform_date_string),
17186         (gst_value_transform_string_date), (_gst_value_initialize):
17187         * gst/gstvalue.h:
17188           Add GST_TYPE_DATE, a boxed type that wraps GDate, and the usual
17189           bunch of utility functions along with a hack that checks that
17190           developers don't accidentally use G_TYPE_DATE where GST_TYPE_DATE
17191           is required. Part of the grand scheme in #170777.
17192
17193 2005-09-22  Andy Wingo  <wingo@pobox.com>
17194
17195         * gst/gstconfig.h.in: Psych out gtk-doc.
17196
17197         * docs/gst/gstreamer-sections.txt: Add GST_HAVE_GLIB_2_8.
17198
17199         * check/Makefile.am (check_PROGRAMS): Add gstplugin to the tests.
17200
17201         * tools/gst-inspect.c (print_element_list): Plug some
17202         inconsequential leaks.
17203
17204         * gst/gstregistry.c (gst_registry_get_default): Doc.
17205
17206         * check/gst/gstplugin.c: 
17207         * gst/gsttypefindfactory.c (gst_type_find_factory_call_function):
17208         * gst/gstelementfactory.c (gst_element_factory_create): 
17209         * gst/gstindexfactory.c (gst_index_factory_create): Update for
17210         refcount changes.
17211
17212         * gst/gstpluginfeature.c (gst_plugin_feature_list_free): Doc.
17213         (gst_plugin_feature_load): Doc, don't eat refs.
17214
17215         * gst/gstplugin.c (gst_plugin_load): Doc, don't eat refs.
17216         (gst_plugin_list_free): Doc.
17217         (gst_plugin_load_file): Doc updates.
17218
17219         * gst/gstbuffer.c (gst_buffer_get_caps): Like all our _get
17220         accessors returning refcounted objects, return a ref.
17221
17222         * check/gst/gstbuffer.c (GST_START_TEST): Use refcount-idempotent
17223         accessor for caps. IDEMPOTENCE. Oh yes.
17224
17225 2005-09-21  Francis Labonte  <francis_labonte at hotmail dot com>
17226
17227         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
17228
17229         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
17230         (_gst_debug_register_funcptr):
17231           Add mutex to serialise access to the hash table with
17232           the function pointer => function name string mapping;
17233           make that hash table static scope (#316809).
17234
17235         * gst/registries/.cvsignore:
17236           Remove left-over file.
17237
17238 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
17239
17240         * docs/pwg/appendix-porting.xml:
17241           And something about newsegment events and caps-on-buffers to
17242           the porting guide (feel free to improve).
17243
17244 2005-09-21  Andy Wingo  <wingo@pobox.com>
17245
17246         * check/gst/gstutils.c (test_buffer_probe_n_times): Add tests for
17247         data and event probes on the same pad.
17248         (test_buffer_probe_once): Test that removing probes from within
17249         the probe functions works.
17250
17251 2005-09-21  Andy Wingo  <wingo@pobox.com>
17252
17253         * check/gst/gstutils.c: New file.
17254         (test_buffer_probe_n_times): A simple buffer probe test. More to
17255         come, foolios.
17256
17257         * gst/gstutils.c (gst_pad_add_buffer_probe): Connect to
17258         have-data::buffer, not have-data.
17259         (gst_pad_add_event_probe): Likewise for have-data::event.
17260         (gst_pad_add_data_probe): More docs. The part about 'resolving the
17261         peer' isn't quite right yet though.
17262         (gst_pad_remove_buffer_probe, gst_pad_remove_event_probe) 
17263         (gst_pad_remove_data_probe): Change to take the guint handler_id
17264         as their arg, not the function+data, which is more glib-like.
17265
17266         * gst/gstpad.c (gst_pad_emit_have_data_signal): Add a detail to
17267         the signal emission to indicate if the data is a buffer or an
17268         event.
17269         (gst_pad_get_type): Initialize buffer and event quarks.
17270         (gst_pad_class_init): have-data is now a detailed signal, yes it
17271         is.
17272
17273 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
17274
17275         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
17276         * gst/gstutils.c: (gst_util_set_value_from_string),
17277         (gst_util_set_object_arg):
17278           Don't put functional code in g_return_if_fail() or
17279           g_return_val_if_fail() statements, otherwise things will 
17280           break when G_DISABLE_CHECKS is defined during compilation.
17281
17282 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
17283
17284         * docs/gst/tmpl/.cvsignore:
17285         * docs/gst/tmpl/gstvalue.sgml:
17286         * gst/gstvalue.c:
17287         * gst/gstvalue.h:
17288           inlied another one and added  some obvious docs
17289
17290 2005-09-21  Wim Taymans  <wim@fluendo.com>
17291
17292         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
17293         (gst_fdsrc_init), (gst_fdsrc_start), (gst_fdsrc_stop),
17294         (gst_fdsrc_unlock), (gst_fdsrc_set_property),
17295         (gst_fdsrc_get_property), (gst_fdsrc_create):
17296         * gst/elements/gstfdsrc.h:
17297         Properly implement fdsrc. Removed signal and timeout,
17298         better implemented somewhere else.
17299
17300 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
17301
17302         * docs/gst/tmpl/.cvsignore:
17303         * docs/gst/tmpl/gstimplementsinterface.sgml:
17304         * gst/gstinterface.c:
17305           inlined more docs
17306
17307 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
17308
17309         * docs/gst/gstreamer-sections.txt:
17310         * docs/gst/tmpl/.cvsignore:
17311         * docs/gst/tmpl/gstenumtypes.sgml:
17312           remove obsolete doc file
17313
17314 2005-09-21  David Schleef  <ds@schleef.org>
17315
17316         * gst/gstelementfactory.c: (gst_element_factory_make): Drink a
17317         little beer, fix a little leak.
17318
17319 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
17320
17321         * docs/gst/gstreamer-docs.sgml:
17322         * docs/gst/gstreamer-sections.txt:
17323         * docs/gst/tmpl/.cvsignore:
17324         * gst/Makefile.am:
17325         * gst/gst.h:
17326         * gst/gstbin.c:
17327         * gst/gstelement.h:
17328         * gst/gstindex.c: (gst_index_class_init):
17329         * gst/gstindex.h:
17330         * gst/gstindexfactory.c: (gst_index_factory_get_type),
17331         (gst_index_factory_class_init), (gst_index_factory_init),
17332         (gst_index_factory_finalize), (gst_index_factory_new),
17333         (gst_index_factory_destroy), (gst_index_factory_find),
17334         (gst_index_factory_create), (gst_index_factory_make):
17335         * gst/gstindexfactory.h:
17336         * gst/gstpluginfeature.c:
17337         * gst/gstpluginfeature.h:
17338         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
17339           more docs inlined, splitted gstindex.{c,h}
17340
17341 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
17342
17343         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
17344           fix a leak
17345
17346 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
17347
17348         * gst/elements/gstfilesink.c: (gst_file_sink_init):
17349           Set sync to FALSE by default.
17350
17351 2005-09-20  Wim Taymans  <wim@fluendo.com>
17352
17353         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
17354         (gst_base_sink_init):
17355         Make sync property settable from subclass.
17356
17357         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
17358         (gst_fake_sink_change_state):
17359         Set sync to FALSE by default.
17360
17361 2005-09-20  Wim Taymans  <wim@fluendo.com>
17362
17363         * gst/gstbus.c: (poll_func), (poll_timeout), (gst_bus_poll):
17364         * tools/gst-launch.c: (main):
17365         The timeout handler should have lower priority than the source
17366         so we don't timeout before popping a message with 0 timeout.
17367         Dump error messages after failed state change.
17368
17369 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
17370
17371         * tools/gst-inspect.c: (print_element_properties_info):
17372           Fix two typos.
17373
17374 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
17375
17376         * check/gst/gstevent.c:
17377         * gst/elements/gstfakesink.c:
17378         * gst/elements/gstfakesink.h:
17379           remove the sync property from fakesink.
17380           has the side effect of setting sync TRUE
17381           for fakesink, which is a change.  Anyone who knows how
17382           to fix this nicely in a GObject-y way, feel free.
17383
17384 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
17385
17386         * docs/gst/gstreamer-docs.sgml:
17387           remove probe refsection
17388
17389 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
17390
17391         * check/Makefile.am:
17392           disable valgrinding the controller test again
17393         * docs/gst/gstreamer-sections.txt:
17394           update for api-changes
17395
17396 2005-09-20  Wim Taymans  <wim@fluendo.com>
17397
17398         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
17399         (gst_base_sink_set_property), (gst_base_sink_get_property),
17400         (gst_base_sink_do_sync):
17401         * gst/base/gstbasesink.h:
17402         Added sync property to basesink to disable clock sync.
17403
17404 2005-09-20  Andy Wingo  <wingo@pobox.com>
17405
17406         * gst/gstelementfactory.c (gst_element_factory_create): Avoid
17407         eating the caller's refcount.
17408
17409         * gst/gstobject.h (GST_OBJECT_REFCOUNT) 
17410         (GST_OBJECT_REFCOUNT_VALUE): Conditionally fondle the right
17411         refcount.
17412
17413         * gst/gstconfig.h.in (GST_HAVE_GLIB_2_8):
17414         * configure.ac (GST_HAVE_GLIB_2_8_DEFINE): Make the availability
17415         of GLib 2.8 public, so we can know which refcount to check in
17416         tests.
17417
17418         * gst/gstobject.c: Use the GST_HAVE_GLIB_2_8 define.
17419         (gst_object_init): Only set the gst refcount if we're going ahead
17420         with the refcount hack.
17421
17422 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
17423
17424         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
17425         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
17426           more leaks plumbed, added more debug-logging
17427         * gst/gstmacros.h:
17428           whitespace fix
17429
17430 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
17431
17432         * gst/gstmessage.c:
17433           remove include of gstmemchunk.h
17434
17435 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
17436
17437         * gst/gstclock.c: (_gst_clock_id_free):
17438           Commit from the Political Party For More Atomic CVS Commits,
17439           so that people don't waste too much of their day fishing
17440           out obvious leaks out of massive commits.
17441           Oh, and fix a pretty damn obvious leak in the memchunk
17442           removal code.
17443
17444 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
17445
17446         * check/Makefile.am:
17447         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
17448           plug mem-leak, re-add to valgrindable tests
17449
17450 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
17451
17452         * gst/gstplugin.h:
17453           unbreak the build for those who have chronic arthritis
17454           and typing "make check" is just too taxing on the hands
17455
17456 2005-09-20  Andy Wingo  <wingo@pobox.com>
17457
17458         * gst/gst.h: Re-add marshal to gst.h's include list -- if we
17459         really want it out, you should fix plugins at the same time.
17460
17461 2005-09-19  Stefan Kost  <ensonic@users.sf.net>
17462
17463         * configure.ac:
17464         * docs/gst/gstreamer-sections.txt:
17465         * gst/gstobject.c:
17466           added missing symbols to api docs
17467           disable ref-count hack if we have glib >= 2.8
17468
17469 2005-09-19  David Schleef  <ds@schleef.org>
17470
17471         * docs/gst/Makefile.am: Ignore a few more internal headers
17472         * docs/gst/gstreamer-docs.sgml: Remove old sections
17473         * docs/gst/gstreamer-sections.txt: Remove old sections
17474         * docs/gst/tmpl/gstobject.sgml: update
17475         * docs/gst/tmpl/gstplugin.sgml: update
17476         * docs/gst/tmpl/gstpluginfeature.sgml: update
17477         * docs/random/ds/0.9-suggested-changes: update.
17478         * gst/Makefile.am: remove memchunk and trashstack, since they're
17479           not used.
17480         * gst/gst.c: (gst_deinit): rename gst_registry_deinit to _cleanup
17481         * gst/gst.h: don't include some headers
17482         * gst/gstchildproxy.c: add gstmarshal.h
17483         * gst/gstclock.c: Don't use memchunks
17484         * gst/gstminiobject.c: Add some docs
17485         * gst/gstobject.c: remove DESTROYED flag, since it's redundant
17486         * gst/gstobject.h: same
17487         * gst/gstplugin.c: include gstmacros.h
17488         * gst/gstplugin.h: don't include gstmacros.h, since it's private
17489         * gst/gstquery.c: don't use memchunks
17490         * gst/gstregistry.c: rename gst_registry_deinit()
17491         * gst/gstregistry.h: same
17492
17493 2005-09-19  David Schleef  <ds@schleef.org>
17494
17495         * docs/libs/gstreamer-libs-docs.sgml: Remove docs for getbits
17496         * docs/libs/gstreamer-libs-sections.txt:
17497         * docs/libs/tmpl/gstgetbits.sgml:
17498         * docs/libs/tmpl/gstputbits.sgml:
17499
17500 2005-09-19  Tim-Philipp Müller  <tim at centricular dot net>
17501
17502         * win32/gstenumtypes.c:
17503         * win32/gstenumtypes.h:
17504           Update.
17505
17506 2005-09-19  Wim Taymans  <wim@fluendo.com>
17507
17508         * gst/gstpipeline.c: (do_pipeline_seek), (gst_pipeline_send_event):
17509         Automatically PAUSE and RESUME a pipeline when a flushing seek
17510         is performed.
17511
17512 2005-09-19  Andy Wingo  <wingo@pobox.com>
17513
17514         * gst/gstregistry.h: Spacing fixen.
17515
17516 2005-09-19  Wim Taymans  <wim@fluendo.com>
17517
17518         * gst/base/gstbasesrc.c: (gst_base_src_change_state):
17519         Handle state change failure more correctly.
17520
17521 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
17522
17523         * check/Makefile.am:
17524         * check/pipelines/cleanup.c: (run_pipeline):
17525         * check/pipelines/simple_launch_lines.c: (run_pipeline),
17526         (GST_START_TEST):
17527           enable cleanup again after fixing the leak
17528         * docs/README:
17529           some more info on docs
17530
17531 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
17532
17533         * check/Makefile.am:
17534           re-enable tests now that leaks are plugged
17535         * check/gst/gst.c:
17536         * check/gst/gstbin.c:
17537         * check/gst/gstpipeline.c:
17538           add some more tests while fixing leaks
17539         * common/check.mak:
17540           make sure binaries are uptodate when valgrinding/gdbing
17541         * gst/gst.c:
17542         * gst/gstelementfactory.c:
17543           remove a ref too many, and add a FIXME for when we get
17544           round to disposing of classes
17545         * gst/gstplugin.c:
17546           fix the refcounting when loading a plugin from a file and
17547           the code pretends that the pointer is the same even though
17548           of course it can change
17549         * gst/gstpluginfeature.c:
17550           unref plugins marked cached (a bit confusing as a name)
17551           as the docs state should be done
17552           various doc additions to explain refcounting
17553         * gst/gstregistry.c:
17554         * gst/gstregistryxml.c:
17555           debugging
17556
17557 2005-09-19  Wim Taymans  <wim@fluendo.com>
17558
17559         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
17560         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
17561         (send_messages), (GST_START_TEST), (gstbus_suite):
17562         * check/gst/gstpipeline.c: (GST_START_TEST):
17563         * check/pipelines/cleanup.c: (run_pipeline):
17564         * check/pipelines/simple_launch_lines.c: (run_pipeline),
17565         (GST_START_TEST):
17566         * gst/gstbus.c: (gst_bus_have_pending), (gst_bus_source_prepare),
17567         (gst_bus_source_check), (gst_bus_source_dispatch),
17568         (gst_bus_create_watch), (gst_bus_add_watch_full),
17569         (gst_bus_add_watch), (poll_func), (poll_timeout), (gst_bus_poll):
17570         * gst/gstbus.h:
17571         * tools/gst-launch.c: (event_loop):
17572         * tools/gst-md5sum.c: (event_loop):
17573         GstBusHandler -> GstBusFunc, return value has the same meaning as
17574         any other GSource (FALSE == remove source).
17575         _add_watch() and _add_watch_full() now take a MessageType mask to
17576         only handle specific types of messages.
17577         _poll() returns the GstMessage instead of the message type to avoid
17578         race conditions.
17579         _have_pending() takes a MessageType mask now too.
17580         Added testsuite for multiple bus watches.
17581         Fix testsuites and applications for new bus API.
17582
17583 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
17584
17585         * check/Makefile.am:
17586           mark a bunch of the tests as to fix until we fix them
17587
17588 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
17589
17590         * common/check.mak:
17591           use GST_PLUGIN settings for valgrind tests as well, so we're
17592           valgrinding the correct thing
17593         * gst/gst.c: (init_post):
17594           plug another leak
17595
17596 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
17597
17598         * gst/gst.c: (init_post), (gst_deinit):
17599         * gst/gstelementfactory.c: (gst_element_factory_class_init),
17600         (gst_element_factory_finalize), (gst_element_factory_cleanup):
17601         * gst/gstindex.c: (gst_index_factory_class_init),
17602         (gst_index_factory_finalize):
17603         * gst/gstobject.c: (gst_object_dispose):
17604         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
17605         (gst_plugin_load_file), (gst_plugin_desc_free):
17606         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init),
17607         (gst_plugin_feature_finalize):
17608         * gst/gstregistry.c: (gst_registry_class_init),
17609         (gst_registry_init), (gst_registry_finalize),
17610         (gst_registry_get_default), (gst_registry_deinit):
17611         * gst/gstregistry.h:
17612         * gst/gstregistryxml.c: (load_feature), (load_plugin):
17613           various cleanups and memleak plugging.  make valgrind is happy now.
17614
17615 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
17616
17617         * common/check.mak:
17618           add a check-valgrind target
17619
17620 2005-09-18  David Schleef  <ds@schleef.org>
17621
17622         * tools/gst-inspect.c: Revert the GOption code.
17623
17624 2005-09-17  David Schleef  <ds@schleef.org>
17625
17626         * check/Makefile.am: Fix environment variables.
17627         * check/gst/gstplugin.c: Fix for API changes.
17628         * tools/gst-inspect.c: Fix for API changes.
17629         * tools/gst-xmlinspect.c: Fix for API changes.
17630         * gst/gstelementfactory.c:
17631         * gst/gstplugin.c:
17632         * gst/gstplugin.h:
17633         * gst/gstpluginfeature.c:
17634         * gst/gstpluginfeature.h:
17635         * gst/gstregistry.c:
17636         * gst/gstregistry.h:
17637         * gst/gstregistryxml.c:
17638         * gst/gsttypefind.c:
17639         * gst/gsttypefindfactory.c:
17640         * gst/indexers/gstfileindex.c:
17641         * gst/indexers/gstmemindex.c:
17642         * gst/schedulers/Makefile.am:
17643           Change registry to keep track of both plugins and features,
17644           removing the feature tracking from plugins themselves.
17645
17646 2005-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
17647
17648         * check/Makefile.am:
17649         * tools/gst-register.1.in:
17650           remove gst-register
17651
17652 2005-09-15  David Schleef  <ds@schleef.org>
17653
17654         * check/gst/gstplugin.c:
17655         * gst/gstelementfactory.c:
17656         * gst/gstplugin.c:
17657         * gst/gstpluginfeature.c:
17658         * gst/gstregistry.c:
17659           Getting tired of debugging.  Disabled all the unreffing of
17660           plugins and features, which fixes the segfaults, but of
17661           course leaks like crazy.  At least playbin works.
17662
17663 2005-09-15  David Schleef  <ds@schleef.org>
17664
17665         * check/gst/gstplugin.c: (register_check_elements),
17666         (GST_START_TEST), (peek), (suggest), (gst_plugin_suite):
17667         More testing
17668         * gst/elements/gsttypefindelement.c: Fix refcounting.
17669         * gst/gsttypefind.c:
17670         * gst/gsttypefindfactory.c:
17671         * gst/gsttypefindfactory.h:
17672
17673 2005-09-15  David Schleef  <ds@schleef.org>
17674
17675         * gst/gstindex.c: get refcounting correct.
17676         * gst/gstregistry.c: Handle the case where a feature/plugin is
17677           not found.
17678
17679 2005-09-15  David Schleef  <ds@schleef.org>
17680
17681         * check/Makefile.am:
17682         * check/gst/gstplugin.c: Add test
17683         * gst/gstplugin.c: Fix problems noticed by testsuite
17684         * gst/gstplugin.h:
17685         * gst/gstregistry.c: 
17686         * gst/gstregistry.h:
17687
17688 2005-09-15  David Schleef  <ds@schleef.org>
17689
17690         * gst/gstplugin.c: Implement semi-decent recounting and locking
17691           in plugins and plugin features.
17692         * gst/gstplugin.h:
17693         * gst/gstpluginfeature.c:
17694         * gst/gstpluginfeature.h:
17695         * gst/gstregistry.c:
17696
17697 2005-09-15  Michael Smith <msmith@fluendo.com>
17698
17699         * gst/gstregistry.c: (gst_registry_get_feature_list):
17700           Implement this. Makes oggdemux work; decodebin still broken.
17701
17702 2005-09-14  David Schleef  <ds@schleef.org>
17703
17704         * configure.ac: Add -no-undefined to GST_PLUGIN_LDFLAGS (bug
17705           #316076)
17706         * gst/base/Makefile.am: Add -no-undefined to LDFLAGS for libs
17707         * gst/check/Makefile.am:
17708         * libs/gst/controller/Makefile.am:
17709         * libs/gst/dataprotocol/Makefile.am:
17710
17711 2005-09-14  David Schleef  <ds@schleef.org>
17712
17713         * configure.ac: Remove getbits library.  Nothing uses it, and
17714           it should be in something like liboil if someone did want
17715           to use it.
17716         * libs/gst/Makefile.am:
17717         * libs/gst/getbits/Makefile.am:
17718         * libs/gst/getbits/gbtest.c:
17719         * libs/gst/getbits/getbits.c:
17720         * libs/gst/getbits/getbits.h:
17721         * libs/gst/getbits/gstgetbits_generic.c:
17722         * libs/gst/getbits/gstgetbits_i386.s:
17723         * libs/gst/getbits/gstgetbits_inl.h:
17724
17725 2005-09-14  David Schleef  <ds@schleef.org>
17726
17727         * gst/Makefile.am: Dist glib-compat.h
17728
17729 2005-09-14  David Schleef  <ds@schleef.org>
17730
17731         * configure.ac: Remove gst/registries, since it's no longer used.
17732         * gst/registries/Makefile.am:
17733         * gst/registries/gstlibxmlregistry.c:
17734         * gst/registries/gstlibxmlregistry.h:
17735         * gst/registries/gstxmlregistry.c:
17736         * gst/registries/gstxmlregistry.h:
17737         * gst/registries/registrytest.c:
17738
17739 2005-09-14  David Schleef  <ds@schleef.org>
17740
17741         * gst/glib-compat.h:
17742         * gst/gstregistryxml.c:
17743           Convergence is near.  Seriously.
17744
17745 2005-09-14  David Schleef  <ds@schleef.org>
17746
17747         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
17748         * gst/glib-compat.h:
17749           Attempt #4 to appease the buildbots.
17750
17751 2005-09-14  David Schleef  <ds@schleef.org>
17752
17753         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
17754           Attempt #3.
17755
17756 2005-09-14  David Schleef  <ds@schleef.org>
17757
17758         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
17759         Attempt #2.
17760
17761 2005-09-14  David Schleef  <ds@schleef.org>
17762
17763         * gst/Makefile.am: Oh yeah, libgstreamer.so needs to contain
17764           the new functions.
17765
17766 2005-09-14  David Schleef  <ds@schleef.org>
17767
17768         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
17769         * gst/glib-compat.h: Add some functions that are in newer versions
17770           of glib than we care to require.
17771         * gst/gstregistryxml.c: Use them.
17772
17773 2005-09-14  David Schleef  <ds@schleef.org>
17774
17775         * po/POTFILES.in: remove gst-register.c
17776
17777 2005-09-14  David Schleef  <ds@schleef.org>
17778
17779         * docs/gst/gstreamer-docs.sgml:
17780         * docs/gst/gstreamer-sections.txt:
17781         * docs/gst/gstreamer.types:
17782         * docs/gst/tmpl/gstelement.sgml:
17783         * docs/gst/tmpl/gstplugin.sgml:
17784         * docs/gst/tmpl/gstpluginfeature.sgml:
17785           Documentation updates for registry changes.
17786
17787 2005-09-14  David Schleef  <ds@schleef.org>
17788
17789         * gst/gstregistryxml.c: Copy g_mkdir_with_parent() from glib,
17790           because we don't require glib-2.8.
17791
17792 2005-09-14  David Schleef  <ds@schleef.org>
17793
17794         * gst/gstregistryxml.c: Added.  Essentially moved out of the
17795           registries directory.
17796
17797 2005-09-14  David Schleef  <ds@schleef.org>
17798
17799         * check/Makefile.am:
17800         * check/generic/states.c:
17801         * gst/Makefile.am:
17802         * gst/gst.c:
17803         * gst/gst.h:
17804         * gst/gst_private.h:
17805         * gst/gstelementfactory.c:
17806         * gst/gstindex.c:
17807         * gst/gstinfo.c:
17808         * gst/gstplugin.c:
17809         * gst/gstplugin.h:
17810         * gst/gstpluginfeature.c:
17811         * gst/gstpluginfeature.h:
17812         * gst/gstregistry.c:
17813         * gst/gstregistry.h:
17814         * gst/gstregistrypool.c: remove
17815         * gst/gstregistrypool.h: remove
17816         * gst/gsttypefind.c:
17817         * gst/gsttypefindfactory.c:
17818         * gst/gsturi.c:
17819         * tools/Makefile.am:
17820         * tools/gst-compprep.c:
17821         * tools/gst-inspect.c:
17822         * tools/gst-register.c: remove
17823         * tools/gst-xmlinspect.c:
17824           Registry rewrite.  Changes registry from being a file created
17825           by a tool into a simple cache file created automatically by 
17826           libgstreamer.  Removed gst-register (because it's no longer
17827           needed).  Remove registry pools, because we only have one
17828           registry implementation (XML).  Fix up other subsystems as
17829           necessary.
17830
17831 2005-09-13  Michael Smith <msmith@fluendo.com>
17832
17833         * gst/gstconfig.h.in:
17834           Don't Use windows linking attributes for MinGW. Fixes #316157
17835
17836 2005-09-13  Thomas Vander Stichele  <thomas at apestaart dot org>
17837
17838         * gst/gstutils.c: (set_state_async_thread_func),
17839         (gst_element_set_state_async):
17840           Apparently people think it's better if this function doesn't
17841           try to set the state to whatever state was asked for on the first
17842           call to this function for any object.  Seriously.
17843
17844 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
17845
17846         * check/gst/gstpipeline.c: (GST_START_TEST):
17847         * docs/gst/gstreamer-sections.txt:
17848         * gst/gstutils.c: (set_state_async_thread_func),
17849         (gst_element_set_state_async):
17850         * gst/gstutils.h:
17851           add a "gst_element_set_state_async" method that
17852           sets the state and starts a thread to make sure the state
17853           change completes as best as it can
17854
17855 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
17856
17857         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
17858           codify design+behaviour in testsuite after discussion
17859
17860 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
17861
17862         * docs/gst/tmpl/gstelement.sgml:
17863         * docs/manual/appendix-quotes.xml:
17864           add a quote
17865         * gst/gstelement.c: (gst_element_set_state):
17866           add some debug
17867
17868 2005-09-12  Jan Schmidt  <thaytan@mad.scientist.com>
17869
17870         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
17871         (gst_base_transform_prepare_output_buf),
17872         (gst_base_transform_handle_buffer):
17873         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip),
17874         (gst_capsfilter_prepare_buf):
17875           Remove the requirement for sub-classes to call the parent
17876           implementation of prepare_output_buffer with a wrapper function.
17877           
17878         * gst/gsttaglist.h:
17879         * gst/gsttagsetter.h:
17880           Fix #define wrapper
17881
17882 2005-09-11  Stefan Kost  <ensonic@users.sf.net>
17883
17884         * docs/gst/gstreamer-sections.txt:
17885           more doc cleanups
17886
17887 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
17888
17889         * docs/gst/gstreamer-sections.txt:
17890         * docs/gst/tmpl/gstelement.sgml:
17891         * docs/gst/tmpl/gstplugin.sgml:
17892         * gst/gstminiobject.c:
17893         * gst/gstvalue.h:
17894           docs now stop throwing warnings
17895
17896 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
17897
17898         * docs/gst/gstreamer-sections.txt:
17899         * docs/gst/gstreamer.types:
17900         * docs/gst/tmpl/gstpad.sgml:
17901         * docs/gst/tmpl/gsttypes.sgml:
17902         * gst/base/gstadapter.h:
17903         * gst/base/gstbasesink.h:
17904         * gst/base/gstbasesrc.h:
17905         * gst/gstbin.h:
17906         * gst/gstbuffer.h:
17907         * gst/gstbus.h:
17908         * gst/gstcaps.h:
17909         * gst/gstclock.h:
17910         * gst/gstelement.h:
17911         * gst/gstevent.h:
17912         * gst/gstmessage.h:
17913         * gst/gstpad.h:
17914         * gst/gststructure.c:
17915         * gst/registries/gstlibxmlregistry.h:
17916           various documentation fixes
17917
17918 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
17919
17920         * docs/gst/gstreamer-sections.txt:
17921         * docs/gst/tmpl/gstvalue.sgml:
17922           rearrange gstvalue section
17923         * gst/gstutils.c: (gst_element_state_get_name):
17924           NONE -> VOID
17925         * gst/gstvalue.c: (_gst_value_initialize):
17926         * gst/gstvalue.h:
17927           doc updates
17928
17929 2005-09-10  Jan Schmidt  <thaytan@mad.scientist.com>
17930
17931         * check/gst-libs/controller.c:
17932           Header include fix.
17933         * gst/base/gstbasetransform.c:
17934         (gst_base_transform_default_prepare_buf),
17935         (gst_base_transform_handle_buffer):
17936         * gst/base/gstbasetransform.h:
17937           Some more basetransform changes and fixes to enable sub-classes
17938           that modify buffer metadata only.
17939         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
17940         (gst_capsfilter_init), (gst_capsfilter_transform_ip),
17941         (gst_capsfilter_prepare_buf):
17942           If the output pad has fixed allowed caps and input buffers 
17943           don't have any, set the fixed caps on outgoing buffers.
17944
17945 2005-09-09  Jan Schmidt  <thaytan@mad.scientist.com>
17946         * check/elements/identity.c: (GST_START_TEST):
17947           Make the error a little clearer when the test fails because
17948           identity made a copy of the buffer.
17949         * docs/gst/gstreamer-sections.txt:
17950           New symbols in gstbasetransform.h
17951         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
17952         (gst_base_transform_init), (gst_base_transform_transform_size),
17953         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
17954         (gst_base_transform_default_prepare_buf),
17955         (gst_base_transform_get_unit_size),
17956         (gst_base_transform_buffer_alloc),
17957         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
17958         (gst_base_transform_change_state),
17959         (gst_base_transform_set_passthrough),
17960         (gst_base_transform_set_in_place),
17961         (gst_base_transform_is_in_place):
17962         * gst/base/gstbasetransform.h:
17963           Change BaseTransform to separate in_place operate from same_caps
17964           output. in_place implies that the element can perform the transform
17965           on incoming buffers in-place, even if the caps on the output are
17966           different.
17967           Sub-class elements can now implement special buffer allocation
17968           methods for outgoing buffers if they wish to.
17969           Big documentation addition.
17970         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip):
17971         * gst/elements/gstelements.c:
17972           Changes for basetransform modifications.
17973         * gst/elements/Makefile.am:
17974         * gst/elements/gstfdsrc.c: (gst_fdsrc_init), (gst_fdsrc_create):
17975           Compile fix. Extra debug output.
17976
17977 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
17978
17979         * check/gst/gstpad.c: (GST_START_TEST), (name_is_valid),
17980         (gst_pad_suite):
17981           add tests for valid pad naming
17982         * gst/check/gstcheck.c: (gst_check_log_message_func),
17983         (gst_check_log_critical_func):
17984           add ASSERT_WARNING
17985           remove printing of code, it is fragile when the code contains
17986           % and the line number is enough info
17987         * gst/check/gstcheck.h:
17988         * gst/gstpad.c: (gst_pad_template_new):
17989           fix memleaks
17990
17991 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
17992
17993         * configure.ac:
17994           say what CHECK flags we use
17995         * docs/libs/gstreamer-libs.types:
17996         * libs/gst/controller/Makefile.am:
17997         * libs/gst/controller/gst-controller.c:
17998         * libs/gst/controller/gst-controller.h:
17999         * libs/gst/controller/gst-helper.c:
18000         * libs/gst/controller/gst-interpolation.c:
18001         * libs/gst/controller/gstcontroller.c:
18002         * libs/gst/controller/gsthelper.c:
18003         * libs/gst/controller/gstinterpolation.c:
18004         * tools/gst-inspect.c: (print_plugin_info):
18005           we don't use dashes in header names
18006
18007 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
18008
18009         * check/Makefile.am:
18010         * check/gst/.cvsignore:
18011         * check/gst/gstpipeline.c: (pop_messages), (GST_START_TEST),
18012         (gst_pipeline_suite), (main):
18013           adding a test for pipelines and state changes
18014         * gst/gstutils.c: (get_state_func):
18015           add some debugging
18016         * gstreamer.spec.in:
18017           fix up spec file
18018
18019 2005-09-08  Michael Smith <msmith@fluendo.com>
18020
18021         * gst/elements/gstfilesrc.c: (gst_file_src_map_region),
18022         (gst_file_src_map_small_region), (gst_file_src_create_mmap),
18023         (gst_file_src_is_seekable), (gst_file_src_get_size),
18024         (gst_file_src_start):
18025         * gst/elements/gstfilesrc.h:
18026           Various fixes for unseekable, unmmapable, and non-normal files, so
18027           that fallback to read() rather than mmap() works.
18028         * gst/gstevent.c: (gst_event_new_newsegment):
18029           Allow newsegment events with segment_start == segment_end, as will
18030           correctly happen if you use filesrc on a zero-size file, for
18031           example.
18032
18033 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
18034
18035         * gst/gstplugin.c: (gst_plugin_load_file):
18036           Call g_module_close when we don't load the module
18037
18038         * gst/registries/gstlibxmlregistry.c:
18039         (gst_xml_registry_get_property):
18040           Port leak fix from 0.8
18041
18042 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
18043
18044         * docs/gst/gstreamer-docs.sgml:
18045         * docs/gst/tmpl/.cvsignore:
18046         * docs/gst/tmpl/gsttrace.sgml:
18047         * docs/gst/tmpl/gsttrashstack.sgml:
18048         * gst/Makefile.am:
18049         * gst/gst.h:
18050         * gst/gstelement.h:
18051         * gst/gstevent.h:
18052         * gst/gstmessage.c:
18053         * gst/gstmessage.h:
18054         * gst/gsttag.c:
18055         * gst/gsttag.h:
18056         * gst/gsttaginterface.c:
18057         * gst/gsttaginterface.h:
18058         * gst/gsttaglist.c:
18059         * gst/gsttaglist.h:
18060         * gst/gsttagsetter.c:
18061         * gst/gsttagsetter.h:
18062         * gst/gsttrace.c:
18063         * gst/gsttrace.h:
18064         * gst/gsttrashstack.c:
18065           renamed gsttag -> gsttaglist, gsttaginterface -> gsttagsetter
18066           inlined docs for gsttrace, gsttrashstack
18067
18068 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
18069
18070         * gst/Makefile.am:
18071         * gst/elements/gstbufferstore.h:
18072         * gst/elements/gsttypefindelement.c:
18073         * gst/elements/gsttypefindelement.h:
18074         * gst/gst.h:
18075         * gst/gsttypefind.c:
18076         * gst/gsttypefind.h:
18077         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type),
18078         (gst_type_find_factory_class_init), (gst_type_find_factory_init),
18079         (gst_type_find_factory_dispose),
18080         (gst_type_find_factory_unload_thyself),
18081         (gst_type_find_load_plugin), (gst_type_find_factory_get_list),
18082         (gst_type_find_factory_get_caps),
18083         (gst_type_find_factory_get_extensions),
18084         (gst_type_find_factory_call_function):
18085         * gst/gsttypefindfactory.h:
18086         * gst/registries/gstlibxmlregistry.c:
18087         * gst/registries/gstxmlregistry.c:
18088           splitted gsttypefind into gsttypefind, gsttypefindfactory
18089
18090 2005-09-07  Andy Wingo  <wingo@pobox.com>
18091
18092         * gst/base/gstbasesink.c (gst_base_sink_activate_pull): Fix a race
18093         condition whereby the pad's task function is entered before the
18094         pad_mode variable was set.
18095
18096 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
18097
18098         * gst/gstpad.c: (gst_pad_alloc_buffer):
18099           Catch misbehaving pad_alloc functions that don't
18100           set up caps and do it for them.
18101
18102 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
18103
18104         * check/pipelines/simple_launch_lines.c: (run_pipeline):
18105           test for pipe!=NULL
18106         * docs/gst/tmpl/.cvsignore:
18107         * docs/gst/tmpl/gstmemchunk.sgml:
18108         * docs/gst/tmpl/gstparse.sgml:
18109         * docs/gst/tmpl/gsttaglist.sgml:
18110         * docs/gst/tmpl/gsttagsetter.sgml:
18111         * docs/gst/tmpl/gsttypefind.sgml:
18112         * docs/gst/tmpl/gsttypefindfactory.sgml:
18113         * gst/gstmemchunk.c:
18114         * gst/gstparse.c:
18115         * gst/gsttag.c:
18116         * gst/gsttaginterface.c:
18117         * gst/gsttypefind.c:
18118         * gst/gsttypefind.h:
18119           inlined more docs
18120
18121 === release 0.9.2 ===
18122
18123 2005-09-06  Thomas Vander Stichele  <thomas at apestaart dot org>
18124
18125         * NEWS:
18126         * RELEASE:
18127         * configure.ac:
18128           releasing 0.9.2, "South"
18129
18130 2005-09-05  Andy Wingo  <wingo@pobox.com>
18131
18132         * gst/registries/gstxmlregistry.h:
18133         * gst/registries/gstxmlregistry.c: Um... resurrect...
18134         
18135         * gst/registries/gstxmlregistry.h:
18136         * gst/registries/gstxmlregistry.c: and update to newer API.
18137         Incidentally they should be a bit faster now that they don't have
18138         to parse the caps.
18139         
18140 2005-09-05  Andy Wingo  <wingo@pobox.com>
18141
18142         * gst/registries/gstxmlregistry.h:
18143         * gst/registries/gstxmlregistry.c: Remove from CVS, they were
18144         replaced by the libxml registry a while back
18145
18146 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
18147
18148         * docs/gst/tmpl/gstplugin.sgml:
18149         * gst/elements/gstelements.c:
18150         * gst/gst.c:
18151         * gst/gstplugin.c: (gst_plugin_register_func),
18152         (gst_plugin_desc_copy), (gst_plugin_desc_free),
18153         (gst_plugin_get_source):
18154         * gst/gstplugin.h:
18155         * gst/registries/gstlibxmlregistry.c: (load_plugin),
18156         (gst_xml_registry_save_plugin):
18157         * gst/registries/gstxmlregistry.c: (gst_xml_registry_parse_plugin),
18158         (gst_xml_registry_save_plugin):
18159         * tools/gst-inspect.c: (print_plugin_info):
18160           add a "source" plugin description field, to represent the source
18161           module this plugin is a part of.  By default GST_PLUGIN_DEFINE
18162           will set it to PACKAGE, which is automake's idea of the name of
18163           the source project.
18164
18165 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
18166
18167         * Makefile.am:
18168         * autogen.sh:
18169         * configure.ac:
18170         * docs/Makefile.am:
18171         * docs/faq/Makefile.am:
18172         * docs/gst/tmpl/gstelement.sgml:
18173         * docs/gst/tmpl/gsttypes.sgml:
18174         * docs/htmlinstall.mak:
18175         * docs/manual/Makefile.am:
18176         * docs/pwg/Makefile.am:
18177           reorganize doc build a little
18178           split out docbook and gtk-doc stuff
18179           have two separate --enable's and enable them through autogen
18180           but disable by default in configure (to be similar to other
18181           projects)
18182         * gstreamer.spec.in:
18183           clean up docs install
18184         * po/af.po:
18185         * po/az.po:
18186         * po/ca.po:
18187         * po/cs.po:
18188         * po/de.po:
18189         * po/en_GB.po:
18190         * po/fr.po:
18191         * po/it.po:
18192         * po/nb.po:
18193         * po/nl.po:
18194         * po/ru.po:
18195         * po/sq.po:
18196         * po/sr.po:
18197         * po/sv.po:
18198         * po/tr.po:
18199         * po/uk.po:
18200         * po/vi.po:
18201           translation updates
18202
18203 2005-09-03  Tim-Philipp Müller  <tim at centricular dot net>
18204
18205         * gst/base/gstbasesink.c: (gst_base_sink_pad_buffer_alloc):
18206           Add comment.
18207           
18208         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
18209         (gst_fake_sink_change_state):
18210           Make state change function thread-safe.
18211           
18212         * gst/gstpad.c: (gst_pad_alloc_buffer):
18213           Set offset on generic buffer allocated by fallback.
18214
18215 2005-09-03  Stefan Kost  <ensonic@users.sf.net>
18216
18217         * docs/gst/gstreamer-sections.txt:
18218         * docs/gst/tmpl/gstelement.sgml:
18219         * gst/gstpad.c:
18220         * libs/gst/controller/gst-controller.c:
18221         (gst_controlled_property_set_interpolation_mode),
18222         (gst_controlled_property_new),
18223         (gst_controller_find_controlled_property):
18224          run the wingo-magic script against the docs
18225
18226 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
18227
18228         * docs/gst/gstreamer-docs.sgml:
18229         * docs/gst/gstreamer-sections.txt:
18230         * docs/gst/tmpl/.cvsignore:
18231         * docs/gst/tmpl/gstelementdetails.sgml:
18232         * docs/gst/tmpl/gstelementfactory.sgml:
18233         * gst/gst.c:
18234         * gst/gstbus.c:
18235         * gst/gstelementfactory.c:
18236         * gst/gstelementfactory.h:
18237           merged elementdetails docs into elementfactory docs
18238           inlined both
18239
18240 2005-09-02  Andy Wingo  <wingo@pobox.com>
18241
18242         * gst/gstelement.h: Add magical pixie dust to make glib-mkenums
18243         consider this enum an enum and not a flags.
18244
18245 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
18246
18247         * docs/gst/gstreamer-docs.sgml:
18248         * docs/gst/tmpl/.cvsignore:
18249         * docs/gst/tmpl/gstghostpad.sgml:
18250         * docs/gst/tmpl/gstiterator.sgml:
18251         * docs/gst/tmpl/gstmacros.sgml:
18252         * docs/gst/tmpl/gstrealpad.sgml:
18253         * docs/gst/tmpl/gstregistry.sgml:
18254         * docs/gst/tmpl/gstregistrypool.sgml:
18255         * docs/gst/tmpl/gststructure.sgml:
18256         * docs/gst/tmpl/gstsystemclock.sgml:
18257         * docs/gst/tmpl/gsttrace.sgml:
18258         * gst/gstghostpad.c:
18259         * gst/gstmacros.h:
18260         * gst/gstmemchunk.c:
18261         * gst/gstmemchunk.h:
18262         * gst/gstqueue.c:
18263         * gst/gstregistry.c:
18264         * gst/gstregistrypool.c:
18265         * gst/gststructure.c:
18266         * gst/gstsystemclock.c:
18267           more docs inlined
18268
18269 2005-09-02  Andy Wingo  <wingo@pobox.com>
18270
18271         * gst/gstelement.h (GstState): Renamed from GstElementState,
18272         changed to be a normal enum instead of flags.
18273         (GstStateChangeReturn): Renamed from GstElementStateReturn, names
18274         munged to be GST_STATE_CHANGE_*.
18275         (GST_STATE_CHANGE): Renamed from GST_STATE_TRANSITION, updated to
18276         work with the new state representation.
18277         (GstStateChange): New enumeration of possible state transitions.
18278         Replaces GST_STATE_FOO_TO_BAR with GST_STATE_CHANGE_FOO_TO_BAR.
18279         (GstElementClass::change_state): Pass the GstStateChange along as
18280         an argument. Helps language bindings, so they don't have to use
18281         tricky lock-needing macros like GST_STATE_CHANGE ().
18282
18283         * scripts/update-states (file): New script. Run it on a file to
18284         update it for state naming and API changes. Updates files in
18285         place.
18286
18287         * All files updated for the new API.
18288
18289 2005-09-02  Thomas Vander Stichele  <thomas at apestaart dot org>
18290
18291         * gst/gsttrace.c: (gst_trace_flush), (gst_trace_text_flush):
18292         * gst/gstutils.c: (gst_util_set_value_from_string),
18293         (gst_util_set_object_arg):
18294           fix a bunch of unchecked return values
18295         * tools/gst-complete.c: (main):
18296         * gstreamer.spec.in:
18297           clean up a little
18298
18299 2005-09-01  Wim Taymans  <wim@fluendo.com>
18300
18301         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
18302         (gst_base_sink_event), (gst_base_sink_do_sync),
18303         (gst_base_sink_handle_event):
18304         * gst/base/gstbasesink.h:
18305         Handle newsegments more correctly.
18306
18307         * gst/gstbus.c:
18308         Fix docs.
18309
18310         * gst/gstevent.c: (gst_event_new_newsegment):
18311         A newsegment cannot have a start_time of -1
18312
18313 2005-09-01  Tim-Philipp Müller  <tim at centricular dot net>
18314
18315         * win32/gstenumtypes.c:
18316         * win32/gstenumtypes.h:
18317           Update
18318
18319 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
18320
18321         * libs/gst/controller/gst-controller.c:
18322         (gst_controlled_property_set_interpolation_mode),
18323         (gst_controlled_property_new):
18324          fixed boolean again
18325
18326 2005-08-31  Thomas Vander Stichele  <thomas at apestaart dot org>
18327
18328         * docs/faq/gst-uninstalled:
18329           add -good
18330         * gst/gstevent.c:
18331         * gst/gstevent.h:
18332           remove wrong docs
18333         * gst/gstutils.c: (gst_element_link_filtered):
18334         * gst/gstutils.h:
18335           add gst_element_link_filtered
18336
18337 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
18338
18339         * docs/gst/gstreamer-docs.sgml:
18340         * docs/gst/gstreamer-sections.txt:
18341         * docs/gst/tmpl/.cvsignore:
18342         * docs/gst/tmpl/gsterror.sgml:
18343         * docs/gst/tmpl/gstfilter.sgml:
18344         * docs/gst/tmpl/gsturihandler.sgml:
18345         * docs/gst/tmpl/gsturitype.sgml:
18346         * docs/gst/tmpl/gstutils.sgml:
18347         * docs/gst/tmpl/gstxml.sgml:
18348         * gst/gsterror.c:
18349         * gst/gsterror.h:
18350         * gst/gstfilter.c:
18351         * gst/gsturi.c:
18352         * gst/gsturitype.c:
18353         * gst/gstutils.c:
18354         * gst/gstxml.c:
18355           inlined more docs, fixed double id-ref
18356
18357 2005-08-31  Wim Taymans  <wim@fluendo.com>
18358
18359         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
18360         (gst_base_transform_handle_buffer):
18361         Passthrough elements don't need the caps as they don't care.
18362
18363 2005-08-31  Wim Taymans  <wim@fluendo.com>
18364
18365         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
18366         (gst_base_transform_handle_buffer), (gst_base_transform_chain):
18367         Don't leak refcounts on buffers.
18368
18369 2005-08-31  Wim Taymans  <wim@fluendo.com>
18370
18371         * gst/base/gstbasetransform.c: (gst_base_transform_configure_caps),
18372         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
18373         (gst_base_transform_chain), (gst_base_transform_change_state):
18374         * gst/base/gstbasetransform.h:
18375         Handle the case where we are not negotiated more gracefully.
18376
18377 2005-08-31  Tim-Philipp Müller  <tim at centricular dot net>
18378
18379         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_init),
18380         (gst_file_src_map_region):
18381           Set READONLY flag on mmap'ed buffers, otherwise
18382           gst_buffer_make_writable() won't work properly (#314708).
18383
18384 2005-08-31  Wim Taymans  <wim@fluendo.com>
18385
18386         * gst/base/gstbasetransform.c: (gst_base_transform_handle_buffer):
18387         passthrough elements can even do inplace on non writable
18388         buffers (as they don't touch them).
18389
18390 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
18391
18392         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
18393         (gst_test_mono_source_set_property),
18394         (gst_test_mono_source_class_init), (GST_START_TEST),
18395         (gst_controller_suite):
18396           more tests (hehe I have the most)
18397         * gst/gstbus.c:
18398           describe popping messages whenusing mulltiple sources
18399         * libs/gst/controller/gst-controller.c:
18400         (gst_controlled_property_set_interpolation_mode),
18401         (gst_controlled_property_new):
18402         * libs/gst/controller/gst-controller.h:
18403         * libs/gst/controller/gst-interpolation.c:
18404           implement boolean properties
18405
18406 2005-08-31  Wim Taymans  <wim@fluendo.com>
18407
18408         * gst/gstminiobject.c: (gst_mini_object_ref):
18409         Cannot assert that the refcount has to be positive
18410         since a disposed object can be resurrected.
18411
18412 2005-08-31  Wim Taymans  <wim@fluendo.com>
18413
18414         * gst/gstpad.c: (gst_pad_init):
18415         Revert change, need to first fix badly behaving 
18416         apps.
18417
18418 2005-08-30  Wim Taymans  <wim@fluendo.com>
18419
18420         * check/elements/fakesrc.c: (setup_fakesrc):
18421         * check/elements/identity.c: (setup_identity):
18422         Activate pads before using them.
18423
18424 2005-08-30  Wim Taymans  <wim@fluendo.com>
18425
18426         * gst/base/gstadapter.c: (gst_adapter_flush):
18427         Flushing out 0 bytes is ok for this function.
18428
18429         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
18430         no newsegment gives a warning and sets the start/stop to 
18431         invalid.
18432
18433         * gst/base/gstbasetransform.c: (gst_base_transform_change_state),
18434         (gst_base_transform_set_passthrough):
18435         Some debug info.
18436
18437         * gst/gstminiobject.c: (gst_mini_object_ref):
18438         Check refcount here too.
18439
18440         * gst/gstpad.c: (gst_pad_init):
18441         Pads are initially flushing and refusing data.
18442
18443         * gst/gstutils.c: (gst_element_link_pads_filtered):
18444         When adding a capsfilter element make sure it has the
18445         same state as the parent bin.
18446
18447 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
18448
18449         * docs/gst/tmpl/.cvsignore:
18450         * docs/gst/tmpl/gstformat.sgml:
18451         * docs/gst/tmpl/gstversion.sgml:
18452         * gst/gstbus.h:
18453         * gst/gstformat.c:
18454         * gst/gstformat.h:
18455         * gst/gstversion.h.in:
18456           more docs and two more inlined
18457
18458 2005-08-30  Wim Taymans  <wim@fluendo.com>
18459
18460         * gst/elements/gstfilesink.c: (gst_file_sink_class_init):
18461         Don't sync to clock.
18462
18463 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
18464
18465         * docs/gst/gstreamer-sections.txt:
18466           ultral33t func10ns deserve to appear in the docs actually
18467         * docs/gst/tmpl/.cvsignore:
18468         * docs/gst/tmpl/gstcompat.sgml:
18469         * docs/gst/tmpl/gstconfig.sgml:
18470         * gst/check/gstcheck.c:
18471         * gst/gstcompat.h:
18472         * gst/gstconfig.h.in:
18473           inlined more docs
18474
18475 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
18476
18477         * docs/gst/tmpl/.cvsignore:
18478         * docs/gst/tmpl/gstquery.sgml:
18479         * docs/gst/tmpl/gstutils.sgml:
18480         * gst/gstquery.c:
18481         * gst/gstquery.h:
18482           inlined and extended docs
18483
18484 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
18485
18486         * check/gst-libs/controller.c: (GST_START_TEST),
18487         (gst_controller_suite):
18488           more tests
18489         * docs/gst/tmpl/gstutils.sgml:
18490         * docs/libs/gstreamer-libs-sections.txt:
18491         * docs/libs/tmpl/gstdataprotocol.sgml:
18492           include path fixes
18493         * examples/controller/audio-example.c: (main):
18494           controller example works now
18495         * gst/gstclock.h:
18496           doc fixes
18497         * tools/gst-inspect.c: (print_element_properties_info):
18498           show param spec flags
18499
18500 2005-08-29  Andy Wingo  <wingo@pobox.com>
18501
18502         * gst/gstutils.c (gst_util_uint64_scale): New 3733t funct10n.
18503
18504 2005-08-28  Andy Wingo  <wingo@pobox.com>
18505
18506         * gst/gstutils.h (GST_BOILERPLATE_FULL): Prototype instance_init
18507         as having two arguments instead of just one. Allows superclasses
18508         to access information on subclasses -- see the terrible for() loop
18509         in gtype.c:g_type_create_instance for the reason why. All callers
18510         changed.
18511
18512 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
18513
18514         * docs/design/part-messages.txt:
18515           update info
18516         * docs/gst/tmpl/.cvsignore:
18517         * docs/gst/tmpl/gstcaps.sgml:
18518         * docs/gst/tmpl/gstclock.sgml:
18519         * gst/gstbus.c:
18520         * gst/gstcaps.c:
18521         * gst/gstcaps.h:
18522         * gst/gstclock.c:
18523         * gst/gstclock.h:
18524         * gst/gstmessage.c:
18525           added descriptions for bus and message
18526           inline caps and clock docs
18527
18528 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
18529
18530         * gst/gstmessage.c:
18531         * gst/gstmessage.h:
18532           doc fixes
18533
18534 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
18535
18536         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
18537           fix div-by-zero
18538
18539 2005-08-26  Andy Wingo  <wingo@pobox.com>
18540
18541         * check/pipelines/simple_launch_lines.c (run_pipeline): Check
18542         element_set_state's return val.
18543         (test_2_elements): Add test that's been disabled for months.
18544
18545         * gst/elements/gstfakesink.c: Cleanups. Add can-activate-push and
18546         can-activate-pull properties.
18547
18548         * gst/elements/gstfakesrc.c: Cleanups. Add can-activate-push and
18549         can-activate-pull properties. Implement is_seekable so fakesrc can
18550         operate in pull mode.
18551
18552         * gst/base/gstbasesink.c (GstBaseSink): Remove has-loop, has-chain
18553         properties.
18554         (gst_base_sink_activate, gst_base_sink_activate_pull)
18555         (gst_base_sink_activate_push): Make activation mode choosing work.
18556         Cleanups.
18557         (gst_base_sink_chain, gst_base_sink_loop): Assert activation mode
18558         is right. Make pull mode work. Post an eos before pausing in pull
18559         mode.
18560         (gst_base_sink_change_state): Pay attention to the core's
18561         change_state() return val.
18562         
18563         * gst/base/gstbasesrc.c (GstBaseSrc): Remove has-loop,
18564         has-getrange properties. Cleanups.
18565         
18566         * gst/base/gstbasesrc.h (GstBaseSrc): Remove has_loop,
18567         has_getrange and replace with can_activate_pull and
18568         can_activate_push.
18569
18570         * gst/base/gstbasesink.h (GstBaseSink): Rearrange fields, add
18571         locking comments. Remove has_loop, has_chain and replace with
18572         can_activate_pull and can_activate_push.
18573
18574 2005-08-26  Jan Schmidt  <thaytan@mad.scientist.com>
18575
18576         * configure.ac:
18577         * examples/Makefile.am:
18578         * examples/metadata/Makefile.am:
18579         * examples/metadata/read-metadata.c: (message_loop),
18580         (have_pad_handler), (make_pipeline), (print_tag), (main):
18581           Add metadata reading example that loops over a list of filenames,
18582           dumping any tags found.
18583
18584         * gst/gstbus.c: (gst_bus_dispose):
18585         * gst/gstelement.c: (gst_element_dispose):
18586           Release a few potentially-held references in dispose.
18587
18588 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
18589
18590         * docs/gst/tmpl/gstminiobject.sgml:
18591           do *not* add tmpl/*.sgml files to CVS!
18592
18593 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
18594
18595         * libs/gst/bytestream/.cvsignore:
18596         * libs/gst/bytestream/Makefile.am:
18597         * libs/gst/bytestream/adapter.c:
18598         * libs/gst/bytestream/adapter.h:
18599         * libs/gst/bytestream/bytestream.c:
18600         * libs/gst/bytestream/bytestream.h:
18601         * libs/gst/bytestream/filepad.c:
18602         * libs/gst/bytestream/filepad.h:
18603           removing obsolete files
18604
18605 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
18606
18607         * docs/gst/gstreamer-docs.sgml:
18608         * docs/libs/gstreamer-libs-docs.sgml:
18609           disabed additional index entries again, as this makes docs-gen just
18610           slow and they aren't useful yet
18611         * docs/libs/gstreamer-libs-sections.txt:
18612           little -section.txt cleanup for libs
18613
18614 2005-08-26  Thomas Vander Stichele  <thomas at apestaart dot org>
18615
18616         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
18617         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size),
18618           fix up some debugging
18619         (gst_base_transform_get_unit_size),
18620         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
18621         (gst_base_transform_handle_buffer):
18622         * gst/base/gstbasetransform.h:
18623           handle and store timed NEWSEGMENT events so that subclasses that
18624           calculate time by counting samples have a segment_start time they
18625           need to add to their timestamps - see audioresample
18626
18627 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
18628
18629         * gst/gstbin.h:
18630           removed ';' from the end of macro defs
18631         * docs/gst/gstreamer-docs.sgml:
18632         * docs/gst/gstreamer-sections.txt:
18633         * docs/gst/tmpl/.cvsignore:
18634         * gst/gstbus.h:
18635         * gst/gstelement.c: (gst_element_class_init),
18636         (gst_element_set_state), (activate_pads),
18637         (gst_element_save_thyself):
18638         * gst/gstevent.c: (gst_event_new_newsegment):
18639         * gst/gstevent.h:
18640         * gst/gstiterator.c:
18641         * gst/gstiterator.h:
18642         * gst/gstpad.c:
18643         * gst/gstprobe.h:
18644         * gst/gstutils.c: (gst_pad_query_convert):
18645         * gst/gstutils.h:
18646           fixed parameter name mismatches between source, header and docs
18647           added some more docs, resolved the last batch of unused elements in
18648           docs (now someone needs to doc them)
18649
18650 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
18651
18652         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_rebuild):
18653         * gst/registries/gstxmlregistry.c: (gst_xml_registry_rebuild):
18654           don't walk through the plugins backwards.  Where is all this
18655           reversed logic coming from ?
18656
18657 2005-08-25  Wim Taymans  <wim@fluendo.com>
18658
18659         * gst/base/gstbasetransform.c: (gst_base_transform_init),
18660         (gst_base_transform_transform_size),
18661         (gst_base_transform_configure_caps),
18662         (gst_base_transform_get_unit_size),
18663         (gst_base_transform_buffer_alloc),
18664         (gst_base_transform_change_state):
18665         * gst/base/gstbasetransform.h:
18666         Cache caps unit_size.
18667         Make sure we cannot negotiate up and downstream at the
18668         same time.
18669
18670 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
18671
18672         * gst/gst.c: (init_pre), (init_post):
18673           register the installed plugin path after the env var
18674         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_save):
18675         * gst/registries/gstxmlregistry.c: (gst_xml_registry_save):
18676           don't reverse order of paths; conserve the order of GST_PLUGIN_PATH
18677           directories, so the tests can prefer uninstalled over installed
18678
18679 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
18680
18681         * gst/base/gstbasetransform.h:
18682           comment
18683         * gst/gstpad.c:
18684           add to docs
18685
18686 2005-08-25  Wim Taymans  <wim@fluendo.com>
18687
18688         * gst/gstbin.c: (bin_bus_handler):
18689         Be a bit more conservative about the posted message.
18690         
18691         * gst/gstbus.c: (gst_bus_post):
18692         Some cleanups, warn wrong return values.
18693
18694 2005-08-25  Jan Schmidt  <thaytan@mad.scientist.com>
18695
18696         * check/gst/gstbin.c: (GST_START_TEST):
18697         * gst/gstbin.c: (bin_bus_handler):
18698         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
18699         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
18700         (gst_message_new_warning), (gst_message_new_tag),
18701         (gst_message_new_state_changed), (gst_message_new_segment_start),
18702         (gst_message_new_segment_done), (gst_message_new_custom):
18703         * gst/gstmessage.h:
18704         * tools/gst-launch.c: (event_loop):
18705         * tools/gst-md5sum.c: (event_loop):
18706           Revert unpopular change for GST_MESSAGE_SRC to GObject.
18707
18708 2005-08-25  Wim Taymans  <wim@fluendo.com>
18709
18710         * check/generic/states.c: (GST_START_TEST):
18711         Cleanup can be done at the end.
18712
18713         * gst/gsttask.c: (gst_task_get_type), (gst_task_finalize),
18714         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
18715         (gst_task_get_state), (gst_task_start), (gst_task_pause):
18716         Oh boy.. Thanks for finding this, Thomas. 
18717
18718 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
18719
18720         * docs/gst/gstreamer.types:
18721           added missing types
18722
18723 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
18724
18725         * docs/gst/gstreamer-docs.sgml:
18726         * docs/gst/gstreamer-sections.txt:
18727         * docs/gst/tmpl/.cvsignore:
18728         * gst/gstbin.c:
18729         * gst/gstiterator.c:
18730         * gst/gstutils.c:
18731         * gst/registries/gstxmlregistry.h:
18732           added missing classes and symbols (123 more to go)
18733           removed removed symbols from section file
18734           fixed many doc-comments
18735
18736 2005-08-24  Wim Taymans  <wim@fluendo.com>
18737
18738         * check/generic/states.c: (GST_START_TEST):
18739         Make sure all tasks are stopped.
18740
18741         * check/gst/gstbin.c: (GST_START_TEST):
18742         Unref after usage for proper valgrinding.
18743
18744         * gst/gstpad.c: (gst_pad_finalize), (gst_pad_stop_task):
18745         Really wait for the task to stop before destroying the
18746         mutex.
18747
18748         * gst/gstqueue.c: (gst_queue_sink_activate_push),
18749         (gst_queue_src_activate_push):
18750         Small cleanups. Don't stop the task when we did not start
18751         it.
18752
18753         * gst/gsttask.c: (gst_task_get_type), (gst_task_init),
18754         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
18755         (gst_task_get_state), (gst_task_start), (gst_task_pause),
18756         (gst_task_join):
18757         * gst/gsttask.h:
18758         Protect the stream lock with the object lock.
18759         Disallow setting the stream lock when running.
18760         Add cleanup_all to wait for the threadpool to finish.
18761         Remove code to autoallocate a mutex if none was provided.
18762         Add _join() to wait for a task to stop.
18763         Protect the thread pool with a global lock.
18764
18765 2005-08-24  Wim Taymans  <wim@fluendo.com>
18766
18767         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
18768         (gst_base_sink_get_times), (gst_base_sink_do_sync),
18769         (gst_base_sink_handle_buffer), (gst_base_sink_change_state):
18770         * gst/base/gstbasesink.h:
18771         Handle newsegment events correctly.
18772         Drop buffers out of the segment range.
18773
18774 2005-08-22  Andy Wingo  <wingo@pobox.com>
18775
18776         * gst/gstutils.h (GST_BOILERPLATE_WITH_INTERFACE): New ghetto
18777         macro, implements an interface and gstimplementsinterface for a
18778         new type.
18779
18780 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
18781
18782         * check/Makefile.am:
18783         * check/generic/states.c: (GST_START_TEST), (states_suite), (main):
18784           add a test that does a bunch of state changes on elements
18785           needs some fixing for valgrind
18786         * check/states/sinks.c: (gst_object_suite):
18787           whitespace
18788         * gst/gstcaps.h:
18789           add prototype for gst_caps_is_equal_fixed
18790         * gst/gstplugin.c:
18791         * gst/gstregistrypool.c:
18792           doc fixes
18793
18794 2005-08-24  Andy Wingo  <wingo@pobox.com>
18795
18796         * gst/gstquery.c (gst_query_new_convert): Spew if we try to
18797         convert a negative value. Doesn't make much sense. Mostly this is
18798         here to force callers to ensure -1 maps to -1.
18799
18800 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
18801
18802         * docs/pwg/advanced-types.xml:
18803           Well done to Michael for catching my deliberate introduction
18804           of this spelling mistake. 
18805         * gst/gstbin.c: (gst_bin_remove_func), (bin_bus_handler):
18806         * gst/gstelement.h:
18807           Add GST_ELEMENT_UNPARENTING to prevent races so that we can
18808           unlink pads before removing the element from the bin.
18809
18810 2005-08-24  Andy Wingo  <wingo@pobox.com>
18811
18812         * gst/gst.c (parse_debug_list): Accept e.g. GST_DEBUG=4 to mean
18813         the same thing as GST_DEBUG=*:4.
18814         (parse_debug_level, parse_debug_category): New helper parsers.
18815
18816 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
18817
18818         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
18819         (gst_base_transform_transform_size), (gst_base_transform_getcaps),
18820         (gst_base_transform_setcaps), (gst_base_transform_get_unit_size),
18821         (gst_base_transform_buffer_alloc),
18822         (gst_base_transform_handle_buffer):
18823           use gboolean return values and pointers to size so we can use the
18824           full GST_BUFFER_SIZE range (guint) for buffer sizes
18825           use GstPadDirection for transform_caps
18826         * gst/base/gstbasetransform.h:
18827           rename get_size to get_unit_size since that's what it is
18828         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_caps):
18829           use GstPadDirection for transform_caps
18830         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
18831         * gst/gstutils.h:
18832           cleanup and debugging
18833
18834 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
18835
18836         * gst/gstelement.c: (gst_element_class_init),
18837         (gst_element_set_state), (activate_pads),
18838         (gst_element_save_thyself):
18839         * tools/gst-compprep.c: (main):
18840         * tools/gst-inspect.c: (print_element_properties_info):
18841         * tools/gst-xmlinspect.c: (print_element_properties):
18842           Fixed long standing mem-leak
18843
18844 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
18845
18846         * check/gst/gstbin.c: (GST_START_TEST):
18847         * gst/gstbin.c: (bin_bus_handler):
18848         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
18849         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
18850         (gst_message_new_warning), (gst_message_new_tag),
18851         (gst_message_new_state_changed), (gst_message_new_segment_start),
18852         (gst_message_new_segment_done), (gst_message_new_custom):
18853         * gst/gstmessage.h:
18854         * tools/gst-launch.c: (event_loop):
18855         * tools/gst-md5sum.c: (event_loop):
18856           Change GST_MESSAGE_SRC to be a GObject rather than a GstObject, so
18857           that applications can sensibly post custom messages with references
18858           to their own objects.
18859
18860 2005-08-24  Andy Wingo  <wingo@pobox.com>
18861
18862         * gst/gstpad.c (gst_pad_fixate_caps): Check if the caps is fixed
18863         already.
18864
18865 2005-08-24  Wim Taymans  <wim@fluendo.com>
18866
18867         * gst/base/gstbasetransform.c: (gst_base_transform_init),
18868         (gst_base_transform_transform_caps),
18869         (gst_base_transform_transform_size),
18870         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
18871         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
18872         (gst_base_transform_handle_buffer):
18873         * gst/base/gstbasetransform.h:
18874         Many fixes and new features added by Thomas. Can now also do
18875         transforms with variable sizes and a custom fixate_caps function.
18876
18877 2005-08-24  Wim Taymans  <wim@fluendo.com>
18878
18879         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
18880         Some debugging.
18881
18882         * gst/gstclock.h:
18883         Cast to ClockTime before formatting to time.
18884
18885         * gst/gstutils.h:
18886         Cleanups.
18887
18888 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
18889
18890         * check/gst-libs/controller.c: (GST_START_TEST),
18891         (gst_controller_suite):
18892         * docs/gst/tmpl/gstcaps.sgml:
18893         * docs/gst/tmpl/gstghostpad.sgml:
18894         * docs/gst/tmpl/gstquery.sgml:
18895         * docs/gst/tmpl/gstutils.sgml:
18896         * libs/gst/controller/gst-helper.c: (gst_object_set_controller),
18897         (gst_object_sink_values), (gst_object_get_value_arrays),
18898         (gst_object_get_value_array):
18899           gracefully handle helper method calls to objects that are not beeing
18900           controlled, added test case for that          
18901
18902 2005-08-23  Wim Taymans  <wim@fluendo.com>
18903
18904         * gst/gstevent.c: (_gst_event_copy), (gst_event_new_custom),
18905         (gst_event_new_newsegment), (gst_event_parse_newsegment),
18906         (gst_event_new_tag), (gst_event_parse_tag), (gst_event_new_qos),
18907         (gst_event_parse_qos), (gst_event_new_seek),
18908         (gst_event_parse_seek):
18909         * gst/gstevent.h:
18910         Some more debugging output and doc cleanups.
18911
18912         * gst/gstqueue.c: (gst_queue_handle_sink_event):
18913         Fix possible deadlock.
18914
18915 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
18916
18917         * docs/gst/gstreamer-docs.sgml:
18918         * docs/gst/gstreamer-sections.txt:
18919         * docs/gst/gstreamer.types:
18920         * docs/gst/tmpl/.cvsignore:
18921         * gst/gstbin.h:
18922         * gst/gstbus.c:
18923         * gst/gstelement.c:
18924         * gst/gstevent.h:
18925           added 100 symbols from gstreamer-unused.txt to the right sections
18926           fixed more broken comments
18927           added GstBus to docs
18928
18929 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
18930
18931         * docs/gst/gstreamer-sections.txt:
18932         * docs/gst/tmpl/.cvsignore:
18933         * docs/gst/tmpl/gstbin.sgml:
18934         * docs/gst/tmpl/gstbuffer.sgml:
18935         * gst/base/gstbasesrc.c:
18936         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
18937         * gst/gstbuffer.c:
18938         * gst/gstbuffer.h:
18939         * tools/gst-launch.1.in:
18940           inlined more doc comments, added missing comments and fixed comments
18941           fixed typos
18942
18943 2005-08-23  Thomas Vander Stichele  <thomas at apestaart dot org>
18944
18945         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
18946           some debugging
18947         * gst/gstcaps.h:
18948           whitespace fixes
18949         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_alloc_buffer):
18950           more debugging
18951         * gst/gststructure.c: (gst_caps_structure_fixate_field_boolean):
18952         * gst/gststructure.h:
18953           add a fixate function for booleans; add a FIXME that these func
18954           names should probably be gst_structure_fixate_*
18955
18956 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
18957
18958         * docs/gst/gstreamer-docs.sgml:
18959         * docs/gst/gstreamer-sections.txt:
18960         * gst/Makefile.am:
18961         * gst/gstbin.c: (gst_bin_get_type),
18962         (gst_bin_child_proxy_get_child_by_index),
18963         (gst_bin_child_proxy_get_children_count),
18964         (gst_bin_child_proxy_init):
18965         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
18966         (gst_child_proxy_get_child_by_index),
18967         (gst_child_proxy_get_children_count), (gst_child_proxy_lookup),
18968         (gst_child_proxy_get_property), (gst_child_proxy_get_valist),
18969         (gst_child_proxy_get), (gst_child_proxy_set_property),
18970         (gst_child_proxy_set_valist), (gst_child_proxy_set),
18971         (gst_child_proxy_child_added), (gst_child_proxy_child_removed),
18972         (gst_child_proxy_base_init), (gst_child_proxy_get_type):
18973         * gst/gstchildproxy.h:
18974         * gst/parse/grammar.y:
18975         * tools/gst-inspect.c: (print_interfaces),
18976         (print_element_properties_info), (print_element_info):
18977           ported gstchildproxy over from 0.8
18978           ported gst-inspect fixes and enhancements over from 0.8
18979
18980 2005-08-22  Wim Taymans  <wim@fluendo.com>
18981
18982         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
18983         (gst_base_transform_handle_buffer):
18984         Also call the transform function if we have ANY caps.
18985
18986         * gst/gstpipeline.c: (gst_pipeline_set_new_stream_time):
18987         Fix debug info.
18988
18989 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
18990
18991         * gst/base/gstbasesrc.c: (gst_base_src_event_handler)
18992           Don't pretend to handle seek events if the source is not seekable
18993
18994 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
18995
18996         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
18997           Remove extra parameter to debug output
18998
18999         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
19000         (gst_base_src_do_seek), (gst_base_src_activate_push):
19001           Fix seek event handling.
19002
19003         * gst/gstpipeline.c: (gst_pipeline_change_state):
19004         * gst/gstqueue.c: (gst_queue_handle_sink_event),
19005         (gst_queue_src_activate_push):
19006           Don't start the src pad task on FLUSH_STOP if the pad
19007           isn't linked.
19008           Debug changes.
19009
19010 2005-08-22  Wim Taymans  <wim@fluendo.com>
19011
19012         * check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
19013         Added check for gst_static_caps_get() refcounting.
19014
19015 2005-08-22  Wim Taymans  <wim@fluendo.com>
19016
19017         * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_to_string):
19018         Make _static_caps_get() refcounting sane.
19019         
19020         * gst/gstelement.c: (gst_element_set_state):
19021         Add g_return_val_if_fail() to protect against segfaults.
19022
19023 2005-08-22  Stefan Kost  <ensonic@users.sf.net>
19024
19025         * docs/gst/tmpl/gstevent.sgml:
19026         * gst/gstevent.c:
19027         * gst/gstevent.h:
19028           inlined remaining docs, added missing doc comments
19029
19030 2005-08-22  Thomas Vander Stichele  <thomas at apestaart dot org>
19031
19032         * check/gst/gstbin.c: (GST_START_TEST):
19033           since we don't know when preroll is done, use refcount range
19034           check for the sink
19035         * gst/check/gstcheck.h:
19036           add macro for checking refcount range
19037
19038 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
19039
19040         * check/Makefile.am:
19041           clean up environment for when registry gets built versus
19042           when actual tests are run; valgrind seems to not report
19043           leaks if GST_PLUGIN_PATH is set to some specific values
19044         * check/gst/gstbin.c: (GST_START_TEST):
19045           add more refcounting checks; maybe this exposes a
19046           preroll lock bug ?
19047         * common/check.mak:
19048         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
19049         * gst/check/gstcheck.h:
19050         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_get_state),
19051         (gst_bin_change_state):
19052         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_chain):
19053           add/fix debugging/whitespace
19054
19055 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
19056
19057         * check/gst/gstevent.c: (event_probe), (test_event),
19058         (GST_START_TEST):
19059          Er, don't call gst_bin_watch_for_state_change you idiot.
19060
19061 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
19062
19063         * check/Makefile.am:
19064           Use CHECK_CFLAGS and CHECK_LIBS
19065         * check/gst/gstevent.c: (event_probe), (test_event),
19066         (GST_START_TEST):
19067           Don't leak events.
19068         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
19069         (gst_base_src_start), (gst_base_src_stop),
19070         (gst_base_src_activate_push), (gst_base_src_activate_pull),
19071         (gst_base_src_change_state):
19072           Sprinkle gst_base_src_stop liberally around error paths to fix
19073           problems reusing a source after failed state changes.
19074         * gst/base/gsttypefindhelper.c: (helper_find_peek),
19075         (helper_find_suggest), (gst_type_find_helper):
19076           Extra debug output. Don't segfault on GST_PAD_GETRANGEFUNC = NULL
19077         * gst/gstevent.h:
19078         * docs/gst/tmpl/gstevent.sgml:
19079           Migrate part of the docs from the SGML file. Wait for ensonic to
19080           tell me how I did it wrong ;)
19081         * tools/gst-typefind.c: (main):
19082           Extra robustness to state changes between files.
19083
19084 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
19085
19086         * check/Makefile.am:
19087           don't valgrind the controller test - it's leaking - Stefan, HELP
19088         * gst/check/gstcheck.c: (gst_check_message_error),
19089         (gst_check_chain_func), (gst_check_setup_element),
19090         (gst_check_teardown_element), (gst_check_setup_src_pad),
19091         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
19092         (gst_check_teardown_sink_pad):
19093         * gst/check/gstcheck.h:
19094           add a bunch of methods to set up elements, and src and sink pads
19095         * check/elements/fakesrc.c: (setup_fakesrc), (cleanup_fakesrc):
19096         * check/elements/identity.c: (setup_identity), (cleanup_identity),
19097         (GST_START_TEST):
19098           use them
19099         * gst/gstmessage.c:
19100         * gst/gsttag.h:
19101           whitespace/doc fixes
19102
19103 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
19104
19105         * gst/gstelement.h:
19106           make GST_ELEMENT_ERROR not do GST_ERROR_OBJECT - these errors should
19107           be handled by the application and not always printed as well
19108
19109 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
19110
19111         * check/Makefile.am:
19112           set GST_TOOLS_DIR
19113         * gst/check/gstcheck.c: (gst_check_message_error):
19114         * gst/check/gstcheck.h:
19115           add a fail_unless_equals_int
19116           add fail_unless for error messages
19117
19118 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
19119
19120         * check/Makefile.am:
19121         * check/gst.supp:
19122         * common/Makefile.am:
19123         * common/check.mak:
19124         * common/gst.supp:
19125           factor out some of the common stuff so we can use it
19126
19127 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
19128
19129         * check/Makefile.am:
19130         * check/gst/gstiterator.c: (GST_START_TEST):
19131         * check/gst/gstsystemclock.c: (GST_START_TEST),
19132         (gst_systemclock_suite):
19133         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
19134         * gst/gstclock.c:
19135           valgrind more tests
19136
19137 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
19138
19139         * check/elements/.cvsignore:
19140         * check/elements/gstfakesrc.c:
19141           rename to name of element
19142         * check/elements/identity.c: (chain_func), (event_func),
19143         (setup_identity), (cleanup_identity), (GST_START_TEST),
19144         (identity_suite), (main):
19145           add a test for identity
19146         * check/Makefile.am:
19147         * pkgconfig/Makefile.am:
19148         * pkgconfig/gstreamer-check.pc.in:
19149         * pkgconfig/gstreamer-check-uninstalled.pc.in:
19150         * gst/check:
19151         * gst/Makefile.am:
19152         * configure.ac:
19153           move the check stuff to a library that gets installed
19154         * check/gst-libs/controller.c: (GST_START_TEST):
19155         * check/gst-libs/gdp.c:
19156         * check/gst/gst.c: (GST_START_TEST):
19157         * check/gst/gstbin.c:
19158         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
19159         * check/gst/gstbus.c:
19160         * check/gst/gstcaps.c: (GST_START_TEST):
19161         * check/gst/gstelement.c:
19162         * check/gst/gstghostpad.c:
19163         * check/gst/gstiterator.c:
19164         * check/gst/gstmessage.c:
19165         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST):
19166         * check/gst/gstobject.c:
19167         * check/gst/gstpad.c: (GST_START_TEST):
19168         * check/gst/gststructure.c: (GST_START_TEST):
19169         * check/gst/gstsystemclock.c: (GST_START_TEST),
19170         (gst_systemclock_suite):
19171         * check/gst/gsttag.c: (gst_tag_suite):
19172         * check/gst/gstvalue.c:
19173         * check/pipelines/cleanup.c:
19174         * check/pipelines/simple_launch_lines.c:
19175         * check/states/sinks.c:
19176           change include statement
19177
19178         * docs/gst/gstreamer-sections.txt:
19179         * docs/gst/tmpl/gstpad.sgml:
19180           document more pad stuff
19181         * gst/gstminiobject.c: (gst_mini_object_ref),
19182         (gst_mini_object_unref):
19183           debug refcounting
19184
19185 2005-08-19  Stefan Kost  <ensonic@users.sf.net>
19186
19187         * docs/gst/tmpl/gst.sgml:
19188         * gst/gst.c:
19189           eliminate another tmpl file, fix spelling in the long-description
19190
19191 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
19192
19193         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
19194         (test_event), (timediff), (gstevents_suite):
19195           Should fix build on 64-bit arch's
19196
19197 2005-08-18  Andy Wingo  <wingo@pobox.com>
19198
19199         Make sure that when a pipeline goes to PLAYING, that data has
19200         actually hit the sink.
19201
19202         * check/states/sinks.c (test_sink): A sink that doesn't get any
19203         data shouldn't return SUCCESS for going to either PLAYING or
19204         PAUSED. Test also the return values on the way back down.
19205
19206         * gst/gstelement.c (gst_element_set_state): When changing the
19207         state of an element currently changing state asynchronously, go to
19208         lost-state after commiting the pending state. Makes future calls
19209         to get_state continue to return ASYNC.
19210
19211         * gst/base/gstbasesink.c (gst_base_sink_change_state): Return
19212         ASYNC when going to PLAYING if we still don't have preroll, as can
19213         happen with live sources.
19214
19215 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
19216
19217         * docs/pwg/advanced-types.xml:
19218           Hack long paragraph into 2 chunks as a workaround for buggy
19219           jadetex version in sid and breezy that loops infinitely and
19220           eats all RAM.
19221
19222 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
19223
19224         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
19225         (test_event), (timediff), (gstevents_suite):
19226           Provide more error margin in clock measurements to allow for 
19227           g_get_current_time inaccuracies.
19228
19229 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
19230
19231         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
19232         (test_event), (timediff), (gstevents_suite):
19233            Fix error message output so I might be able to tell why the
19234            test works here but fails on the build farm.
19235
19236 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
19237
19238         * check/Makefile.am:
19239         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
19240         (test_event), (timediff), (gstevents_suite), (main):
19241           I wrote a test!
19242
19243         * docs/design/part-seeking.txt:
19244           Spelling correction
19245
19246         * docs/gst/tmpl/gstevent.sgml:
19247         * docs/gst/tmpl/gstfakesrc.sgml:
19248           Docs updates.
19249
19250         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
19251           Treat a buffer-without-newsegment the same as a receiving 
19252           a newsegment not in time format, and disable syncing to the clock
19253           with a warning.
19254
19255         * gst/gstbus.c: (gst_bus_set_sync_handler):
19256           Assert if anyone tries to replace the existing sync_handler for bus, 
19257           as only the owner should be setting it.
19258
19259         * gst/gstevent.h:
19260           Have a fixed set of custom event enums with events identified by
19261           their structure name (as in 0.8), rather than a free-for-all
19262           allowing collisions between enum values from different plugins.
19263
19264         * gst/gstpad.c: (gst_pad_class_init):
19265           Docs change.
19266           
19267         * gst/gstqueue.c: (gst_queue_handle_sink_event):
19268           Handle out-of-band downstream events from the sending thread.
19269
19270 2005-08-17  Andy Wingo  <wingo@pobox.com>
19271
19272         * gst/gstpipeline.c (gst_pipeline_change_state): Interpret
19273         play-timeout==0 to mean no timeout at all. In that case, don't
19274         bother with a get_state or a warning, just return directly, even
19275         if it's ASYNC.
19276
19277         * gst/base/gstbasetransform.c: Debug changes.
19278
19279         * gst/gstutils.h:
19280         * gst/gstutils.c (gst_bin_watch_for_state_change): Add function to
19281         ensure bins post state change messages. A bit of a hack but I can't
19282         think of a way to avoid it.
19283
19284         * check/gst/gstbin.c (test_watch_for_state_change): Added test.
19285
19286 2005-08-16  Andy Wingo  <wingo@pobox.com>
19287
19288         * gst/base/gstadapter.h:
19289         * gst/base/gstadapter.c (gst_adapter_take): New function, like
19290         peek() but you own the data. Not terribly efficient atm.
19291
19292 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
19293
19294         * gst/gstutils.c: (gst_element_found_tags_for_pad), (push_and_ref),
19295         (gst_element_found_tags):
19296         * gst/gstutils.h:
19297           Add two utility functions for tag handling.
19298
19299 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
19300
19301         * docs/manual/advanced-dataaccess.xml:
19302         * docs/manual/basics-helloworld.xml:
19303           Fix docs to use _bin_add() before _link(), which fixes the examples
19304           with recent core versions (reported by Madhan Raj M
19305           <raj_madan@rediffmail.com>, #313199).
19306
19307 2005-08-16  Wim Taymans  <wim@fluendo.com>
19308
19309         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
19310         Added subtract checks.
19311
19312         * docs/design/part-events.txt:
19313         Some more docs about newsegment
19314
19315         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
19316         Fix FIXME
19317
19318         * gst/gstcaps.c: (gst_caps_to_string):
19319         Add comments, cleanups.
19320         
19321         * gst/gstelement.c: (gst_element_save_thyself):
19322         cleanups
19323         
19324         * gst/gstvalue.c: (gst_value_collect_int_range),
19325         (gst_string_unwrap), (gst_value_union_int_int_range),
19326         (gst_value_union_int_range_int_range),
19327         (gst_value_intersect_int_int_range),
19328         (gst_value_intersect_int_range_int_range),
19329         (gst_value_intersect_double_double_range),
19330         (gst_value_intersect_double_range_double_range),
19331         (gst_value_intersect_list), (gst_value_subtract_int_int_range),
19332         (gst_value_subtract_int_range_int),
19333         (gst_value_subtract_double_range_double),
19334         (gst_value_subtract_double_range_double_range),
19335         (gst_value_subtract_from_list), (gst_value_subtract_list),
19336         (gst_value_can_compare), (gst_value_compare_fraction):
19337         Cleanups, add comments, remove unneeded asserts.
19338
19339 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
19340
19341         * tools/gst-launch.c: (event_loop):
19342           don't convert NULL structures to strings
19343
19344 2005-08-15  Stefan Kost  <ensonic@users.sf.net>
19345
19346         * docs/gst/gstreamer-sections.txt:
19347           made some defines private
19348         * docs/gst/tmpl/gstconfig.sgml:
19349         * docs/gst/tmpl/gstqueue.sgml:
19350         * docs/gst/tmpl/gsttaglist.sgml:
19351         * docs/gst/tmpl/gsttypes.sgml:
19352         * docs/gst/tmpl/gstutils.sgml:
19353         * docs/pwg/appendix-porting.xml:
19354         * gst/base/gstbasesink.h:
19355         * gst/base/gstbasesrc.c:
19356         * gst/base/gstbasesrc.h:
19357         * gst/elements/gstfakesink.c: (gst_fake_sink_class_init):
19358         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init):
19359         * gst/gstelement.c: (gst_element_class_init):
19360         * gst/gstpad.c: (gst_pad_class_init):
19361         * gst/gstqueue.c: (gst_queue_class_init):
19362         * gst/gstxml.c: (gst_xml_class_init):
19363           documented all undocumented signal inline
19364         * libs/gst/controller/gst-controller.h:
19365           added padding
19366
19367 2005-08-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
19368
19369         * docs/pwg/appendix-porting.xml:
19370           Document _set_link_function -> _set_setcaps_function.
19371
19372 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
19373
19374         * check/Makefile.am:
19375           add a .check target for running the check
19376         * check/gst-libs/controller.c: (GST_START_TEST):
19377           cosmetic fixups
19378         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
19379           complete checks for gstbuffer; would be nice if I could get the
19380           gcov stuff to work so I can see if I actually completed gstbuffer.c
19381         * check/gstcheck.h:
19382           add ASSERT_BUFFER_REFCOUNT
19383
19384 2005-08-13  Tim-Philipp Müller  <tim at centricular dot net>
19385
19386         * docs/gst/gstreamer-sections.txt:
19387         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
19388         * gst/gsttag.h:
19389           Add GST_TAG_LANGUAGE_CODE as we have in 0.8, and don't
19390           spew out a warning if a tag that is already registered
19391           is re-registered, unless it is re-registered with a 
19392           different type (#308438).
19393
19394 2005-08-12  Tim-Philipp Müller  <tim at centricular dot net>
19395
19396         * docs/pwg/appendix-porting.xml:
19397         * docs/pwg/building-state.xml:
19398           Add some paragraphs about state changes in 0.9 to the PWG
19399           and the porting guide, in particular about the new meaning
19400           of GST_STATE_PAUSED and how to write state change functions
19401           with concurrent access by multiple threads in mind.
19402
19403 2005-08-11  Stefan Kost  <ensonic@users.sf.net>
19404
19405         * docs/gst/gstreamer-docs.sgml:
19406         * docs/libs/gstreamer-libs-docs.sgml:
19407           added deprecation and since indexes
19408         * libs/gst/controller/gst-controller.c:
19409         * libs/gst/controller/gst-helper.c:
19410           added since tags
19411
19412
19413 2005-08-11  Wim Taymans  <wim@fluendo.com>
19414
19415         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked),
19416         (gst_proxy_pad_set_target), (gst_proxy_pad_get_target),
19417         (gst_proxy_pad_dispose), (gst_ghost_pad_do_activate_push),
19418         (gst_ghost_pad_do_link), (gst_ghost_pad_set_internal),
19419         (gst_ghost_pad_new_notarget), (gst_ghost_pad_get_target),
19420         (gst_ghost_pad_set_target):
19421         Actually implement (re)setting the target on a ghostpad
19422         as described in the docs.
19423
19424 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
19425
19426         * gst/gst.c: (gst_init_check_with_popt_table), (init_pre):
19427           Check whether GST_DEBUG_NO_COLOR environment variable is
19428           set and disable coloured debug output if that is the case.
19429
19430 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
19431
19432         * gst/base/gsttypefindhelper.c: (helper_find_peek),
19433         (gst_type_find_helper):
19434           The memory returned by gst_type_find_peek() needs to
19435           stay valid until the end of a typefind function, and
19436           typefind functions may keep results from different 
19437           offsets around, so we can't just unref the buffer from
19438           the previous _peek(), but have to save all buffers 
19439           returned by _peek() until typefinding is done and only
19440           free them then.
19441
19442 2005-08-09  Tim-Philipp Müller  <tim at centricular dot net>
19443
19444         * docs/gst/gstreamer-sections.txt:
19445         * gst/gstutils.h:
19446           New macros: GST_ROUND_UP_2() through GST_ROUND_UP_64().
19447
19448 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
19449
19450         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
19451           Fix a pretty good memleak.
19452
19453 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
19454
19455         * gst/gstiterator.h:
19456           Fix wrong include and 'make distcheck'.
19457
19458 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
19459
19460         * gst/gstbin.c: (bin_bus_handler):
19461           Use gst_element_post_message() instead.
19462
19463 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
19464
19465         * gst/base/gstadapter.h:
19466         * gst/base/gstbasesink.h:
19467         * gst/base/gstbasesrc.h:
19468         * gst/base/gstbasetransform.h:
19469         * gst/base/gstcollectpads.h:
19470         * gst/base/gstpushsrc.h:
19471         * gst/gstiterator.h:
19472           Add padding to our base elements' class and instance structs and
19473           to GstIterator (you will need to rebuild all plugins and apps!)
19474
19475 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
19476
19477         * gst/gstbin.c: (bin_bus_handler):
19478           Make default message forwarding from child->bus to bin->bus
19479           threadsafe and make it not emit warnings if the parent has no bus.
19480
19481 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
19482
19483         * gst/gstelement.c: (activate_pads):
19484           On paused->ready, set pad->caps to NULL, as is the documented
19485           behaviour in this state change. Fixes playback of series of
19486           media files when visualization is enabled in Totem.
19487
19488 2005-08-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
19489
19490         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
19491           Allow NULL as filter-caps (which means "any").
19492
19493 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
19494
19495         * docs/libs/gstreamer-libs-sections.txt:
19496         * libs/gst/controller/gst-controller.c:
19497         * libs/gst/controller/gst-controller.h:
19498         * libs/gst/controller/gst-helper.c:
19499           adding more entries to the docs and fix small doc-bugs
19500
19501 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
19502
19503         * docs/gst/gstreamer-docs.sgml:
19504         * docs/gst/gstreamer-sections.txt:
19505         * docs/gst/gstreamer.types:
19506         * docs/gst/tmpl/gstbasesink.sgml:
19507         * docs/gst/tmpl/gstbasesrc.sgml:
19508         * docs/gst/tmpl/gstbasetransform.sgml:
19509         * docs/gst/tmpl/gstfakesrc.sgml:
19510         * gst/base/gstcollectpads.c:
19511         * gst/base/gstcollectpads.h:
19512         * libs/gst/controller/gst-controller.c:
19513         * libs/gst/controller/gst-controller.h:
19514         * libs/gst/controller/gst-helper.c:
19515         * libs/gst/controller/gst-interpolation.c:
19516         * libs/gst/controller/lib.c:
19517           added long/short desc for controller docs
19518           added collectpads base class docs
19519           added correct includes to base-class docs
19520
19521 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
19522
19523         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
19524         (gst_test_mono_source_set_property),
19525         (gst_test_mono_source_class_init), (GST_START_TEST),
19526         (gst_controller_suite):
19527         * docs/gst/gstreamer-docs.sgml:
19528         * docs/gst/gstreamer-sections.txt:
19529         * docs/gst/gstreamer.types:
19530         * docs/libs/gstreamer-libs-docs.sgml:
19531         * docs/libs/gstreamer-libs-sections.txt:
19532         * gst/base/gstadapter.c:
19533         * libs/gst/controller/gst-controller.c:
19534         (gst_controlled_property_new), (gst_controlled_property_free),
19535         (gst_controller_new_valist),
19536         (gst_controller_remove_properties_valist),
19537         (gst_controller_sink_values), (_gst_controller_finalize):
19538         * libs/gst/controller/gst-controller.h:
19539         * libs/gst/controller/gst-helper.c:
19540         (gst_object_control_properties), (gst_object_uncontrol_properties),
19541         (gst_object_get_controller), (gst_object_set_controller),
19542         (gst_object_sink_values), (gst_object_get_value_arrays),
19543         (gst_object_get_value_array):
19544           more tests (and fixes) for the controller
19545           more docs for the controller
19546           integrated companies docs for the adapter 
19547
19548 2005-08-05  Thomas Vander Stichele  <thomas at apestaart dot org>
19549
19550         * check/elements/gstfakesrc.c: (setup_fakesrc), (cleanup_fakesrc),
19551         (GST_START_TEST), (fakesrc_suite):
19552           add tests for sizetype
19553
19554 2005-08-04  Andy Wingo  <wingo@pobox.com>
19555
19556         * gst/elements/gstcapsfilter.c: Reimplement using basetransform,
19557         fixes buffer_alloc proxying among other things.
19558
19559         * gst/base/gstbasetransform.c:
19560         * gst/base/gstbasetransform.h:
19561         Revert patch to gstbasetransform from 7-28 removing
19562         delay_configure.
19563
19564         * gst/base/gstbasetransform.h (GstBaseTransformClass.get_size):
19565         * gst/base/gstbasetransform.c (gst_base_transform_get_size):
19566         Semantics changed, should return not the size of the output buffer
19567         but the byte size of a buffer with a given caps.
19568
19569         * gst/base/gstbasetransform.c (gst_base_transform_getcaps): Better
19570         debug object.
19571         (gst_base_transform_configure_caps): Don't set out_size here: (in,
19572         out) are not the pad caps until setcaps finishes.
19573         (gst_base_transform_buffer_alloc): Proxy the buffer_alloc for the
19574         not-in-place case as well. Deal with changing from in-place to
19575         not-in-place within calling pad_alloc_buffer. Still a bit
19576         concerned about the overhead here...
19577
19578 2005-08-03  Andy Wingo  <wingo@pobox.com>
19579
19580         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): Not
19581         fixating is an error.
19582
19583 2005-08-04  Edward Hervey  <edward@fluendo.com>
19584
19585         * gst/base/gstadapter.h: 
19586         Added gst_adapter_get_type() to the header
19587
19588 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
19589
19590         * check/Makefile.am:
19591         * check/gst-libs/controller.c:
19592         * libs/gst/controller/gst-controller.c:
19593         (gst_controller_new_valist):
19594           added check test suite for the controller
19595         * gst/base/gstpushsrc.c:
19596           fixed a doc typo
19597
19598 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
19599
19600         * docs/gst/Makefile.am:
19601         * docs/gst/gstreamer-docs.sgml:
19602         * docs/gst/gstreamer-sections.txt:
19603         * docs/gst/gstreamer.types:
19604         * docs/gst/tmpl/gstfakesrc.sgml:
19605         * gst/base/README:
19606         * gst/base/gstbasesink.c:
19607         * gst/base/gstbasesink.h:
19608         * gst/base/gstbasesrc.c:
19609         * gst/base/gstbasesrc.h:
19610         * gst/base/gstbasetransform.c:
19611         * gst/base/gstpushsrc.c:
19612         * gst/base/gstpushsrc.h:
19613           add short/long description docs to base classes
19614           add pushsrc to the docs
19615           remove consolidated doc fragments
19616
19617 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
19618
19619         * configure.ac:
19620         * docs/libs/Makefile.am:
19621         * docs/libs/gstreamer-libs-docs.sgml:
19622         * docs/libs/gstreamer-libs-sections.txt:
19623         * docs/libs/gstreamer-libs.types:
19624         * examples/Makefile.am:
19625         * examples/controller/.cvsignore:
19626         * examples/controller/Makefile.am:
19627         * examples/controller/audio-example.c: (main):
19628         * libs/gst/Makefile.am:
19629         * libs/gst/controller/.cvsignore:
19630         * libs/gst/controller/Makefile.am:
19631         * libs/gst/controller/gst-controller.c:
19632         (on_object_controlled_property_changed), (gst_timed_value_compare),
19633         (gst_timed_value_find),
19634         (gst_controlled_property_set_interpolation_mode),
19635         (gst_controlled_property_new), (gst_controlled_property_free),
19636         (gst_controller_find_controlled_property),
19637         (gst_controller_new_valist), (gst_controller_new),
19638         (gst_controller_remove_properties_valist),
19639         (gst_controller_remove_properties), (gst_controller_set),
19640         (gst_controller_set_from_list), (gst_controller_unset),
19641         (gst_controller_get), (gst_controller_get_all),
19642         (gst_controller_sink_values), (gst_controller_get_value_arrays),
19643         (gst_controller_get_value_array),
19644         (gst_controller_set_interpolation_mode),
19645         (_gst_controller_finalize), (_gst_controller_init),
19646         (_gst_controller_class_init), (gst_controller_get_type):
19647         * libs/gst/controller/gst-controller.h:
19648         * libs/gst/controller/gst-helper.c: (g_object_control_properties),
19649         (g_object_uncontrol_properties), (g_object_get_controller),
19650         (g_object_set_controller), (g_object_sink_values),
19651         (g_object_get_value_arrays), (g_object_get_value_array):
19652         * libs/gst/controller/gst-interpolation.c:
19653         (gst_controlled_property_find_timed_value_node),
19654         (interpolate_none_get), (interpolate_trigger_get),
19655         (interpolate_trigger_get_value_array):
19656         * libs/gst/controller/lib.c: (gst_controller_init):
19657         * pkgconfig/Makefile.am:
19658         * pkgconfig/gstreamer-control-uninstalled.pc.in:
19659         * pkgconfig/gstreamer-control.pc.in:
19660         * testsuite/Makefile.am:
19661         * testsuite/controller/.cvsignore:
19662         * testsuite/controller/Makefile.am:
19663         * testsuite/controller/interpolator.c: (main):
19664           added controller code
19665           removed dparam pc files
19666
19667 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
19668         * gst/base/gstcollectpads.c: (gst_collectpads_finalize),
19669         (gst_collectpads_stop):
19670           Broadcast the condition when shutting down, to make sure we wake all
19671           threads up. Shut down pads on finalize, for safety.
19672
19673 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
19674         * gst/base/gstbasetransform.c: (gst_base_transform_init),
19675         (gst_base_transform_handle_buffer),
19676         (gst_base_transform_change_state):
19677           Handle PAUSED->READY->PAUSED transition after negotiation
19678           occurred already.
19679         * gst/gstmessage.c: (gst_message_init):
19680           Extra piece of debug for new messages.
19681
19682 2005-08-01  Stefan Kost  <ensonic@users.sf.net>
19683
19684         * configure.ac:
19685         * docs/gst/tmpl/gstbasesrc.sgml:
19686         * docs/gst/tmpl/gstelement.sgml:
19687         * docs/gst/tmpl/gstevent.sgml:
19688         * docs/gst/tmpl/gstfakesrc.sgml:
19689         * docs/gst/tmpl/gstformat.sgml:
19690         * docs/gst/tmpl/gstghostpad.sgml:
19691         * docs/gst/tmpl/gstpad.sgml:
19692         * docs/gst/tmpl/gstquery.sgml:
19693         * docs/gst/tmpl/gststructure.sgml:
19694         * docs/gst/tmpl/gsttaglist.sgml:
19695         * docs/gst/tmpl/gstvalue.sgml:
19696         * docs/libs/gstreamer-libs-docs.sgml:
19697         * docs/libs/gstreamer-libs-sections.txt:
19698         * docs/libs/gstreamer-libs.types:
19699         * libs/gst/Makefile.am:
19700         * libs/gst/control/.cvsignore:
19701         * libs/gst/control/Makefile.am:
19702         * libs/gst/control/control.c:
19703         * libs/gst/control/control.h:
19704         * libs/gst/control/dparam.c:
19705         * libs/gst/control/dparam.h:
19706         * libs/gst/control/dparam_smooth.c:
19707         * libs/gst/control/dparam_smooth.h:
19708         * libs/gst/control/dparamcommon.h:
19709         * libs/gst/control/dparammanager.c:
19710         * libs/gst/control/dparammanager.h:
19711         * libs/gst/control/dplinearinterp.c:
19712         * libs/gst/control/dplinearinterp.h:
19713         * libs/gst/control/unitconvert.c:
19714         * libs/gst/control/unitconvert.h:
19715         * testsuite/Makefile.am:
19716         * testsuite/dynparams/.cvsignore:
19717         * testsuite/dynparams/Makefile.am:
19718         * testsuite/dynparams/dparamstest.c:
19719         * tools/Makefile.am:
19720         * tools/gst-inspect.c: (print_element_info), (main):
19721         * tools/gst-xmlinspect.c: (print_element_info), (main):
19722           deactivate and remove dparams (libgstcontrol)
19723
19724 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
19725
19726         * gst/elements/gsttypefindelement.c:
19727         (gst_type_find_element_have_type), (gst_type_find_element_init),
19728         (stop_typefinding), (gst_type_find_element_handle_event),
19729         (gst_type_find_element_chain), (gst_type_find_element_getrange):
19730         * gst/elements/gsttypefindelement.h:
19731           Set caps on all outgoing buffers, not just the first one.
19732
19733 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
19734
19735         * gst/elements/gsttypefindelement.c:
19736         (gst_type_find_element_have_type),
19737         (gst_type_find_element_check_set_buffer_caps),
19738         (gst_type_find_element_init), (stop_typefinding),
19739         (gst_type_find_element_handle_event),
19740         (gst_type_find_element_chain), (gst_type_find_element_getrange):
19741         * gst/elements/gsttypefindelement.h:
19742           Set caps on first outgoing buffer when we've found the type.
19743
19744 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
19745
19746         * docs/gst/gstreamer-docs.sgml:
19747         * docs/gst/gstreamer-sections.txt:
19748         * docs/gst/tmpl/gstscheduler.sgml:
19749         * docs/gst/tmpl/gstschedulerfactory.sgml:
19750           Remove some old cruft from docs.
19751
19752 2005-07-31  Tim-Philipp Müller  <tim at centricular dot net>
19753
19754         * gst/gstpad.h:
19755           Fix inline docs for GstPadLinkReturn.
19756           
19757         * gst/gststructure.c: (gst_structure_has_name):
19758         * gst/gststructure.h:
19759         * docs/gst/gstreamer-sections.txt:
19760           New API: gst_structure_has_name().
19761
19762 2005-07-30  Tim-Philipp Müller  <tim at centricular dot net>
19763
19764         * configure.ac:
19765           Use AC_SYS_LARGEFILE, which will set _FILE_OFFSET_BITS=64
19766           and _LARGEFILE_SOURCE in config.h as required. Do not 
19767           export those flags in our .pc files any longer (#142209).
19768
19769           Remove unused GST_DISABLE_OMEGA_COTHREADS stuff.
19770
19771         * gst/elements/gstfilesink.c: (gst_file_sink_class_init),
19772         (gst_file_sink_do_seek), (gst_file_sink_event),
19773         (gst_file_sink_get_current_offset), (gst_file_sink_render):
19774           Redo seek/tell calls with large file support in mind; add some
19775           debugging messages; add log message that tells us when large
19776           file support is unavailable or not enabled for some reason.
19777
19778         * gst/elements/gstfilesrc.c: (gst_file_src_class_init):
19779           Add log message that tells us when large file support 
19780           is unavailable or not enabled for some reason.
19781
19782 2005-07-29  Wim Taymans  <wim@fluendo.com>
19783
19784         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
19785         Added test for removing an element with ghostpad from a bin.
19786         Fixed test as current implementation does the right thing.
19787
19788         * gst/gstghostpad.c: (gst_proxy_pad_class_init),
19789         (gst_proxy_pad_do_query_type), (gst_proxy_pad_do_event),
19790         (gst_proxy_pad_do_query), (gst_proxy_pad_do_internal_link),
19791         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_activate),
19792         (gst_proxy_pad_do_activatepull), (gst_proxy_pad_do_activatepush),
19793         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
19794         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
19795         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
19796         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target),
19797         (gst_proxy_pad_get_target), (gst_proxy_pad_init),
19798         (gst_proxy_pad_dispose), (gst_proxy_pad_finalize),
19799         (gst_ghost_pad_class_init), (gst_ghost_pad_do_activate_push),
19800         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
19801         (gst_ghost_pad_set_internal), (gst_ghost_pad_dispose),
19802         (gst_ghost_pad_new_notarget), (gst_ghost_pad_new),
19803         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
19804         * gst/gstghostpad.h:
19805         Clean up ghostpads, remove properties for internal stuff.
19806         Make threadsafe.
19807         Fix refcounting.
19808         Prepare for switching targets, not all use cases work yet.
19809
19810 2005-07-29  Wim Taymans  <wim@fluendo.com>
19811
19812         * docs/design/part-gstghostpad.txt:
19813         Small update.
19814
19815         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
19816         (gst_bin_remove_func):
19817         Unlinking pads while holding the bin LOCK is not a good
19818         idea.
19819
19820         * gst/gstpad.c: (gst_pad_class_init),
19821         (gst_pad_link_check_hierarchy), (gst_pad_get_caps_unlocked),
19822         (gst_pad_accept_caps), (gst_pad_set_caps), (gst_pad_send_event):
19823         No prob setting template after creating the pad.
19824
19825 2005-07-29  Jan Schmidt  <thaytan@mad.scientist.com>
19826
19827         * gst/gstbus.c: (gst_bus_set_flushing), (gst_bus_pop),
19828         (gst_bus_peek), (gst_bus_source_dispatch),
19829         (gst_bus_add_watch_full), (poll_handler), (poll_timeout),
19830         (poll_destroy), (poll_destroy_timeout), (gst_bus_poll):
19831           gst_bus_poll may be called from other threads. Handle
19832           this nicely by not making poll_data disappear off the
19833           stack once gst_bus_poll returns.
19834           gst_bus_peek now increments the refcount on the returned
19835           message.
19836
19837 2005-07-29  Wim Taymans  <wim@fluendo.com>
19838
19839         * docs/design/part-gstghostpad.txt:
19840         Overview of current GhostPad datastructures and use
19841         cases for changing the target.
19842
19843 2005-07-28  Wim Taymans  <wim@fluendo.com>
19844
19845         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
19846         Added checks for hierarchy consistency whan adding linked
19847         elements to bins.
19848
19849         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
19850         Added check to test element scheduling without bin/pipeline.
19851
19852         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
19853         First add elements to bin, then link.
19854         
19855         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
19856         (gst_bin_remove_func):
19857         Unlink pads from elements added/removed from bin to maintain
19858         hierarchy consistency.
19859
19860 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
19861
19862         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
19863         (gst_base_transform_handle_buffer):
19864         * gst/base/gstbasetransform.h:
19865           Remove broken delay_configure (fixes renegotiation of software
19866           scaling pipelines); remove some leftover printf()s.
19867
19868 2005-07-28  Wim Taymans  <wim@fluendo.com>
19869
19870         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
19871         Added some more tests for wrong hierarchy
19872
19873         * docs/design/part-overview.txt:
19874         Some updates.
19875
19876         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_dispose):
19877         Cleanups.
19878
19879         * gst/gstelement.c: (gst_element_remove_pad), (gst_element_seek),
19880         (gst_element_dispose):
19881         Some more cleanups.
19882
19883         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
19884         (gst_pad_link_check_hierarchy), (gst_pad_link_prepare),
19885         (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
19886         (gst_pad_set_caps), (gst_pad_send_event):
19887         Check for correct hierarchy when linking pads. Moving to
19888         strict requirement for ghostpads when linking elements in
19889         different bins.
19890
19891         * gst/gstpad.h:
19892         Clean ups. Added WRONG_HIERARCHY return value.
19893
19894 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
19895
19896         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
19897           Better debug if no transform is possible.
19898
19899 2005-07-27  Wim Taymans  <wim@fluendo.com>
19900
19901         * docs/random/wtay/network-transp:
19902         Some old doc I had.
19903
19904 2005-07-27  Wim Taymans  <wim@fluendo.com>
19905
19906         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
19907         (gst_dp_event_from_packet):
19908         Fix serialization of seek events.
19909
19910 2005-07-27  Wim Taymans  <wim@fluendo.com>
19911
19912         * check/gst-libs/gdp.c: (GST_START_TEST):
19913         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
19914         Fix compilation and fix event serialization.
19915
19916 2005-07-27  Wim Taymans  <wim@fluendo.com>
19917
19918         * CHANGES-0.9:
19919         * docs/design/part-TODO.txt:
19920         * docs/design/part-events.txt:
19921         Some docs updates
19922
19923         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
19924         (gst_base_sink_event), (gst_base_sink_do_sync),
19925         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
19926         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
19927         (gst_base_src_do_seek), (gst_base_src_event_handler),
19928         (gst_base_src_loop):
19929         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
19930         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
19931         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
19932         (gst_base_transform_event), (gst_base_transform_handle_buffer),
19933         (gst_base_transform_set_passthrough),
19934         (gst_base_transform_is_passthrough):
19935         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
19936         * gst/elements/gstfilesink.c: (gst_file_sink_event):
19937         Event updates.
19938
19939         * gst/gstbuffer.h:
19940         Use faster casts.
19941
19942         * gst/gstelement.c: (gst_element_seek):
19943         * gst/gstelement.h:
19944         Update gst_element_seek.
19945
19946         * gst/gstevent.c: (gst_event_finalize), (_gst_event_copy),
19947         (gst_event_new), (gst_event_new_custom), (gst_event_get_structure),
19948         (gst_event_new_flush_start), (gst_event_new_flush_stop),
19949         (gst_event_new_eos), (gst_event_new_newsegment),
19950         (gst_event_parse_newsegment), (gst_event_new_tag),
19951         (gst_event_parse_tag), (gst_event_new_filler), (gst_event_new_qos),
19952         (gst_event_parse_qos), (gst_event_new_seek),
19953         (gst_event_parse_seek), (gst_event_new_navigation):
19954         * gst/gstevent.h:
19955         Make GstEvent use GstStructure. Add parsing code, make sure the
19956         API is sufficiently generic.
19957         Mark possible directions of events and serialization.
19958
19959         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize),
19960         (_gst_message_copy), (gst_message_new_segment_start),
19961         (gst_message_new_segment_done), (gst_message_new_custom),
19962         (gst_message_parse_segment_start),
19963         (gst_message_parse_segment_done):
19964         Small cleanups.
19965
19966         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
19967         (gst_pad_set_caps), (gst_pad_send_event):
19968         Update for new events. 
19969         Catch events sent in wrong directions.
19970
19971         * gst/gstqueue.c: (gst_queue_link_src),
19972         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
19973         (gst_queue_handle_src_query):
19974         Event updates.
19975
19976         * gst/gsttag.c:
19977         * gst/gsttag.h:
19978         Remove event code from this file.
19979
19980         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
19981         (gst_dp_event_from_packet):
19982         Event updates.
19983
19984 2005-07-27  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
19985
19986         * gst/base/gstbasetransform.c: (gst_base_transform_getcaps),
19987         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
19988         (gst_base_transform_get_size), (gst_base_transform_handle_buffer):
19989           Make debugging actually useful.
19990
19991 2005-07-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
19992
19993         * gst/gstpad.c: (fixate_value), (gst_pad_default_fixate),
19994         (gst_pad_fixate_caps):
19995           Implement default fixation once again, so that gst_pad_fixate()
19996           actually does anything at all. This probably needs to be some
19997           sort of a last resort, and use profile-based fixation first, but
19998           since that doesn't exist yet, this is the best we have. Fixes
19999           visualization in Totem.
20000
20001 2005-07-22  Wim Taymans  <wim@fluendo.com>
20002
20003         * docs/design/part-events.txt:
20004         Small update.
20005
20006         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
20007         (gst_base_sink_do_sync), (gst_base_sink_activate_push),
20008         (gst_base_sink_activate_pull):
20009         Some more comments.
20010
20011         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init),
20012         (gst_fake_src_create):
20013         Fix handoff marshall.
20014
20015         * gst/elements/gstidentity.c: (gst_identity_class_init),
20016         (gst_identity_transform_ip):
20017         We're a real inplace element.
20018
20019         * gst/gstbus.c: (gst_bus_post):
20020         Added some comments.
20021
20022         * tests/lat.c: (fakesrc), (fakesink), (simple), (queue), (main):
20023         * tests/muxing/case1.c: (main):
20024         * tests/sched/dynamic-pipeline.c: (main):
20025         * tests/sched/interrupt1.c: (main):
20026         * tests/sched/interrupt2.c: (main):
20027         * tests/sched/interrupt3.c: (main):
20028         * tests/sched/runxml.c: (main):
20029         * tests/sched/sched-stress.c: (main):
20030         * tests/seeking/seeking1.c: (event_received), (main):
20031         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
20032         (main):
20033         * tests/threadstate/threadstate3.c: (main):
20034         * tests/threadstate/threadstate4.c: (main):
20035         * tests/threadstate/threadstate5.c: (main):
20036         Fix the tests.
20037
20038 2005-07-21  Wim Taymans  <wim@fluendo.com>
20039
20040         * docs/design/part-seeking.txt:
20041         Some small additions.
20042
20043         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
20044         (gst_base_sink_get_times), (gst_base_sink_do_sync),
20045         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
20046         * gst/base/gstbasesink.h:
20047         discont values are gint64, handle the math correctly.
20048
20049         * gst/base/gstbasesrc.c: (gst_base_src_loop):
20050         Make the basesrc report error if the source pad is not linked.
20051
20052         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
20053         (gst_queue_loop), (gst_queue_handle_src_query),
20054         (gst_queue_src_activate_push):
20055         Make queue collect data even if the srcpad is not linked.
20056         Start pushing out data as soon as it is linked.
20057
20058         * gst/gstutils.c: (gst_element_unlink), (gst_flow_get_name):
20059         * gst/gstutils.h:
20060         Added gst_flow_get_name() to ease error reporting.
20061
20062 2005-07-20  Wim Taymans  <wim@fluendo.com>
20063
20064         * gst/gstmessage.c: (gst_message_new_segment_start),
20065         (gst_message_new_segment_done), (gst_message_parse_segment_start),
20066         (gst_message_parse_segment_done):
20067         * gst/gstmessage.h:
20068         Added a bunch of messages for advanced seeking.
20069
20070         * gst/parse/grammar.y:
20071         * libs/gst/control/dparammanager.c: (gst_dpman_set_parent),
20072         (gst_dpman_state_changed):
20073         Fix some new-pad -> pad-added signals
20074
20075 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
20076
20077         * docs/manual/appendix-porting.xml:
20078         * docs/pwg/appendix-porting.xml:
20079           Document new-pad/state-change signal renames and the FixedList
20080           type rename.
20081
20082 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
20083
20084         * docs/manual/advanced-autoplugging.xml:
20085         * docs/manual/basics-helloworld.xml:
20086         * docs/manual/basics-pads.xml:
20087         * docs/random/ds/0.9-suggested-changes:
20088         * gst/gstelement.c: (gst_element_class_init), (gst_element_seek):
20089         * gst/gstelement.h:
20090         * gst/gstevent.h:
20091         * gst/gstformat.h:
20092         * gst/gstquery.h:
20093         * gst/gststructure.c: (gst_structure_value_get_generic_type),
20094         (gst_structure_parse_array), (gst_structure_parse_value):
20095         * gst/gstvalue.c: (gst_type_is_fixed),
20096         (gst_value_list_prepend_value), (gst_value_list_append_value),
20097         (gst_value_list_get_size), (gst_value_list_get_value),
20098         (gst_value_transform_array_string), (gst_value_serialize_array),
20099         (gst_value_deserialize_array), (gst_value_intersect_array),
20100         (gst_value_is_fixed), (_gst_value_initialize):
20101         * gst/gstvalue.h:
20102           GstElement::new-pad -> pad-added, GstElement::state-change ->
20103           state-changed, GstValueFixedList -> GstValueArray, add format and
20104           flags as their own arguments in gst_element_seek() (should improve
20105           "bindeability"), remove function generators since they don't work
20106           under a whole bunch of compilers (they were deprecated already
20107           anyway).
20108
20109 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
20110
20111         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
20112         (_gst_debug_register_funcptr):
20113         * gst/gstinfo.h:
20114           Fix illegal cast on some platforms (#309253).
20115
20116 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
20117
20118         * gst/gstmessage.c: (gst_message_new_custom):
20119         * gst/gstmessage.h:
20120           Add _new_custom, make _new_application a macro to _new_custom.
20121
20122 2005-07-20  Wim Taymans  <wim@fluendo.com>
20123
20124         * gst/base/gstbasesrc.c: (gst_base_src_init),
20125         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
20126         * gst/base/gstbasesrc.h:
20127         Add a gboolean to decide when to push out a discont.
20128
20129         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
20130         (gst_queue_loop), (gst_queue_handle_src_query),
20131         (gst_queue_sink_activate_push), (gst_queue_src_activate_push),
20132         (gst_queue_set_property), (gst_queue_get_property):
20133         Some cleanups.
20134
20135         * tests/threadstate/threadstate1.c: (main):
20136         Make a thread test compile and run... very silly..
20137
20138
20139 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
20140
20141         * docs/manual/appendix-porting.xml:
20142           Mention removal of libgstgconf-0.9.la and existence of gconf
20143           elements.
20144
20145 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
20146
20147         * docs/pwg/advanced-clock.xml:
20148         * docs/pwg/appendix-porting.xml:
20149         * docs/pwg/intro-preface.xml:
20150         * docs/pwg/other-base.xml:
20151         * docs/pwg/other-manager.xml:
20152         * docs/pwg/other-nton.xml:
20153         * docs/pwg/other-ntoone.xml:
20154         * docs/pwg/other-oneton.xml:
20155         * docs/pwg/pwg.xml:
20156           Document base classes, update sections of n-to-1 and 1-to-n (muxer,
20157           demuxer), remove n-to-n (was never written), fix some code examples
20158           and links and update the porting section to include all this.
20159
20160 2005-07-19  Wim Taymans  <wim@fluendo.com>
20161
20162         * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_sink_event),
20163         (gst_queue_chain), (gst_queue_loop), (gst_queue_handle_src_event),
20164         (gst_queue_handle_src_query), (gst_queue_sink_activate_push),
20165         (gst_queue_src_activate_push), (gst_queue_change_state),
20166         (gst_queue_get_property):
20167         * gst/gstqueue.h:
20168         Propagate GstFlowReturn more intelligently upstream and output
20169         an ERROR/EOS when streaming stopped due to fatal error.
20170
20171 2005-07-19  Wim Taymans  <wim@fluendo.com>
20172
20173         * tools/gst-launch.c: (check_intr), (event_loop), (main):
20174         Don't block forever for the state change to complete, the
20175         pipeline already did with a sensible timeout.
20176
20177 2005-07-19  Wim Taymans  <wim@fluendo.com>
20178
20179         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
20180         Make sure we never call the create function is we
20181         got deactivated.
20182
20183 2005-07-19  Andy Wingo  <wingo@pobox.com>
20184
20185         * gst/parse/parse.l: Attempt to solve bug #172815.
20186
20187 2005-07-19  Wim Taymans  <wim@fluendo.com>
20188
20189         * docs/design/part-clocks.txt:
20190         * docs/design/part-events.txt:
20191         * gst/base/gstbasesrc.c: (gst_base_src_do_seek):
20192         Small docs updates.
20193         Only update the seeking values when we are not
20194         busy streaming.
20195
20196 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
20197
20198         * gst/base/gstbasesrc.c: (gst_base_src_loop):
20199           Oops, ignore the result of gst_pad_push_event here.
20200
20201 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
20202
20203         * gst/base/gstbasesrc.c: (gst_base_src_loop),
20204         (gst_base_src_activate_push):
20205           Send discont event from the loop function, as pads
20206           aren't activated yet in the activate_push handler.
20207
20208         * gst/gstbin.c: (bin_bus_handler):
20209           Don't leak element name.
20210
20211 2005-07-18  Andy Wingo  <wingo@pobox.com>
20212
20213         * configure.ac: Use AS_LIBTOOL_TAGS.
20214
20215 2005-07-18  Wim Taymans  <wim@fluendo.com>
20216
20217         * docs/gst/gstreamer.types:
20218         Remove deleted types.
20219
20220 2005-07-18  Wim Taymans  <wim@fluendo.com>
20221
20222         * check/elements/gstfakesrc.c: (GST_START_TEST):
20223         * configure.ac:
20224         * gst/Makefile.am:
20225         * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
20226         (init_popt_callback):
20227         * gst/gst.h:
20228         * gst/gst_private.h:
20229         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_add_func),
20230         (gst_bin_remove_func), (gst_bin_get_state), (gst_bin_change_state):
20231         * gst/gstbin.h:
20232         * gst/gstbus.h:
20233         * gst/gstconfig.h.in:
20234         * gst/gstelement.c: (gst_element_class_init),
20235         (gst_element_set_base_time), (gst_element_get_base_time),
20236         (iterator_fold_with_resync), (gst_element_change_state),
20237         (gst_element_dispose), (gst_element_get_bus):
20238         * gst/gstelement.h:
20239         * gst/gstelementfactory.h:
20240         * gst/gsterror.c: (_gst_core_errors_init):
20241         * gst/gsterror.h:
20242         * gst/gstevent.h:
20243         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
20244         * gst/gstindex.c:
20245         * gst/gstinfo.c: (_gst_debug_init):
20246         * gst/gstmessage.c: (_gst_message_copy):
20247         * gst/gstmessage.h:
20248         * gst/gstminiobject.h:
20249         * gst/gstobject.c:
20250         * gst/gstobject.h:
20251         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
20252         (gst_pad_set_caps), (gst_pad_start_task), (gst_pad_stop_task):
20253         * gst/gstpad.h:
20254         * gst/gstparse.h:
20255         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
20256         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
20257         (gst_pipeline_get_last_stream_time):
20258         * gst/gstpipeline.h:
20259         * gst/gstpluginfeature.h:
20260         * gst/gstquery.h:
20261         * gst/gstscheduler.c:
20262         * gst/gstscheduler.h:
20263         * gst/gststructure.h:
20264         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
20265         (gst_task_finalize), (gst_task_func), (gst_task_create),
20266         (gst_task_set_lock), (gst_task_get_state), (gst_task_start),
20267         (gst_task_stop), (gst_task_pause):
20268         * gst/gsttask.h:
20269         * gst/gsttypefind.h:
20270         * gst/gsttypes.h:
20271         * gst/registries/gstlibxmlregistry.c: (load_feature),
20272         (gst_xml_registry_load), (gst_xml_registry_save_feature):
20273         * gst/registries/gstxmlregistry.c:
20274         (gst_xml_registry_start_element), (gst_xml_registry_save_feature):
20275         * gst/schedulers/threadscheduler.c:
20276         * libs/gst/control/dparammanager.h:
20277         * tools/gst-inspect.c: (print_element_list),
20278         (print_plugin_features), (print_element_features):
20279         * tools/gst-xmlinspect.c: (print_element_list),
20280         (print_plugin_info), (main):
20281         Removed plugable schedulers.
20282         Removed Scheduler/Manager from elements.
20283         Removed gsttypes.h, rearranged includes.
20284         Removed dependency pad<->element, element<>pipeline, and
20285         various others,  fix includes.
20286         implement gst_pad_get_parent() with gst_object_get_parent()
20287         Make GstTask sefcontained.
20288         Fix _get_state() on GstBin, it did not return ASYNC with a 0
20289         timeout.
20290         Fix endless loop in iterator_fold_with_resync.
20291
20292
20293 2005-07-18  Wim Taymans  <wim@fluendo.com>
20294
20295         * gst/Makefile.am:
20296         * gst/gstarch.h:
20297         Remove old file.
20298
20299 2005-07-18  Wim Taymans  <wim@fluendo.com>
20300
20301         * gst/Makefile.am:
20302         No more cothreads.h
20303
20304 2005-07-18  Wim Taymans  <wim@fluendo.com>
20305
20306         * gst/cothreads.c:
20307         * gst/cothreads.h:
20308         Let's remove these.
20309
20310 2005-07-18  Wim Taymans  <wim@fluendo.com>
20311
20312         * docs/design/part-dynamic.txt:
20313         * docs/design/part-events.txt:
20314         * docs/design/part-seeking.txt:
20315         Some more docs in the works.
20316
20317         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
20318         (gst_base_transform_getcaps), (gst_base_transform_configure_caps),
20319         (gst_base_transform_setcaps), (gst_base_transform_get_size),
20320         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
20321         (gst_base_transform_handle_buffer),
20322         (gst_base_transform_sink_activate_push),
20323         (gst_base_transform_src_activate_pull),
20324         (gst_base_transform_set_passthrough),
20325         (gst_base_transform_is_passthrough):
20326         Refcounting fixes.
20327
20328         * gst/gstbus.c: (gst_bus_source_dispatch), (gst_bus_poll):
20329         Cleanups.
20330
20331         * gst/gstevent.c: (gst_event_finalize):
20332         Set SRC to NULL.
20333
20334         * gst/gstutils.c: (gst_element_unlink),
20335         (gst_pad_get_parent_element), (gst_pad_proxy_getcaps),
20336         (gst_pad_proxy_setcaps):
20337         * gst/gstutils.h:
20338         Add _get_parent_element() to get a pads parent as an element.
20339
20340 2005-07-18  Wim Taymans  <wim@fluendo.com>
20341
20342         * check/gst/gstbin.c: (GST_START_TEST):
20343         Remove bogus test.
20344
20345 2005-07-18  Wim Taymans  <wim@fluendo.com>
20346
20347         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
20348         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
20349         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
20350         (gst_base_sink_event), (gst_base_sink_do_sync),
20351         (gst_base_sink_chain), (gst_base_sink_loop),
20352         (gst_base_sink_deactivate), (gst_base_sink_activate_push),
20353         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
20354         Refcounting fixes.
20355         Fix logic for returning ASYNC when not prerolled.
20356
20357 2005-07-18  Wim Taymans  <wim@fluendo.com>
20358
20359         * gst/gstqueue.c: (gst_queue_handle_sink_event):
20360         Fix nasty refcount bug.
20361
20362 2005-07-16 Philippe Khalaf <burger@speedy.org>
20363
20364         * gst/elements/gstfdsrc.c:
20365         * gst/elements/gstfdsrc.h:
20366         * gst/elements/gstelements.c:
20367         * gst/elements/Makefile.am:
20368         Ported fdsrc to 0.9.
20369
20370 2005-07-16  Wim Taymans  <wim@fluendo.com>
20371
20372         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
20373         (gst_base_sink_do_sync):
20374         Fix compile error.
20375
20376 2005-07-16  Wim Taymans  <wim@fluendo.com>
20377
20378         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
20379         (gst_base_sink_event), (gst_base_sink_get_times),
20380         (gst_base_sink_do_sync), (gst_base_sink_change_state):
20381         * gst/base/gstbasesink.h:
20382         Store and use discont values when syncing buffers as described
20383         in design docs.
20384         
20385         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
20386         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start),
20387         (gst_base_src_activate_push):
20388         Push discont event when starting.
20389
20390         * gst/elements/gstidentity.c: (gst_identity_transform):
20391         Small cleanups.
20392
20393         * gst/gstbin.c: (gst_bin_change_state):
20394         Small cleanups in base_time  distribution.
20395
20396         * gst/gstelement.c: (gst_element_set_base_time),
20397         (gst_element_get_base_time), (gst_element_change_state):
20398         * gst/gstelement.h:
20399         Added methods for the base_time of the element.
20400         Some MT fixes.
20401
20402         * gst/gstpipeline.c: (gst_pipeline_send_event),
20403         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
20404         (gst_pipeline_get_last_stream_time):
20405         * gst/gstpipeline.h:
20406         MT fixes.
20407         Handle seeking as described in design doc, remove stream_time
20408         hack.
20409         Cleanups clock and stream_time selection code. Added accessors
20410         for the stream_time.
20411         
20412
20413 2005-07-16  Andy Wingo  <wingo@pobox.com>
20414
20415         * gst/gsterror.c (_gst_core_errors_init): Use the magic word
20416         (#305291).
20417
20418 2005-07-16  Wim Taymans  <wim@fluendo.com>
20419
20420         * check/gst/gstbin.c: (GST_START_TEST):
20421         Make elements silent as the deep_notify refs the
20422         parent, which might make the test fail.
20423
20424         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
20425         Don't hold the lock for too long.
20426
20427 2005-07-16  Tim-Philipp Müller  <tim at centricular dot net>
20428
20429         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
20430           Don't unref the caps we passed to gst_caps_make_writable() after
20431           passing them. gst_caps_make_writable() will do that for us.
20432
20433 2005-07-15  Andy Wingo  <wingo@pobox.com>
20434
20435         * gst/gstcaps.h (gst_caps_is_simple): Removed deprecated macro
20436         (#157311).
20437
20438         * gst/elements/gstidentity.c (marshal_VOID__MINIOBJECT): Write our
20439         own marshalling function for the handoff signal. Properly type the
20440         buffer as a buffer. Fixes some warnings. Should do a more general
20441         solution.
20442         (gst_identity_class_init): Plug into the right marshaller.
20443
20444 2005-07-15  Wim Taymans  <wim@fluendo.com>
20445
20446         * docs/design/part-TODO.txt:
20447         * docs/design/part-clocks.txt:
20448         * docs/design/part-element-sink.txt:
20449         * docs/design/part-events.txt:
20450         * docs/design/part-gstpipeline.txt:
20451         Updated docs, mostly DISCONT related.
20452
20453 2005-07-15  Tim-Philipp Müller  <tim at centricular dot net>
20454
20455         * docs/pwg/building-pads.xml:
20456           s/GST_PAD_LINK_REFUSED/FALSE/ in gst_my_filter_setcaps()
20457
20458 2005-07-15  Andy Wingo  <wingo@pobox.com>
20459
20460         * tools/gst-typefind.c: Update, add copyright block.
20461
20462         * gst/base/gstbasesrc.c (gst_base_src_default_negotiate):
20463         Normalize and truncate caps before fixation.
20464
20465         * gst/gstcaps.h:
20466         * gst/gstcaps.c (gst_caps_truncate): New function, destructively
20467         discards all but the first structure from its argument.
20468
20469 2005-07-15  Wim Taymans  <wim@fluendo.com>
20470
20471         * gst/base/gstbasetransform.c: (gst_base_transform_init),
20472         (gst_base_transform_transform_caps), (gst_base_transform_getcaps),
20473         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
20474         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
20475         (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
20476         (gst_base_transform_chain), (gst_base_transform_change_state),
20477         (gst_base_transform_set_passthrough),
20478         (gst_base_transform_is_passthrough):
20479         * gst/base/gstbasetransform.h:
20480         Make passthrough work using the bufferpools.
20481         Changed API a bit, subclasses have to write into a buffer
20482         provided by the base class.
20483         More debug info in nego functions.
20484         
20485         * gst/elements/gstidentity.c: (gst_identity_init),
20486         (gst_identity_transform):
20487         Port to new base class.
20488
20489 2005-07-15  Wim Taymans  <wim@fluendo.com>
20490
20491         * gst/gstmessage.c: (gst_message_new_state_changed):
20492         * tools/gst-launch.c: (event_loop), (main):
20493         Totally dump messages in -launch with the -m option.
20494         Fix message name for State messages,
20495
20496 2005-07-14  Wim Taymans  <wim@fluendo.com>
20497
20498         * gst/base/gstbasesrc.c: (gst_base_src_loop):
20499         Post error messages on errors.
20500
20501 2005-07-14  Wim Taymans  <wim@fluendo.com>
20502
20503         * gst/gstcaps.c: (gst_caps_do_simplify):
20504         Remove debug info.
20505
20506         * gst/gsterror.h:
20507         Define error for stream stopped.
20508
20509         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
20510         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange):
20511         Do proper return values.
20512
20513         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
20514         (gst_pad_set_caps), (gst_pad_chain), (gst_pad_push),
20515         (gst_pad_get_range):
20516         Better return values.
20517
20518         * gst/gstpad.h:
20519         Reorganise return values, add macro to check for fatal errors.
20520
20521         * gst/gstqueue.c: (gst_queue_chain):
20522         Return proper GstFlowReturn values,
20523
20524 2005-07-14  Thomas Vander Stichele  <thomas at apestaart dot org>
20525
20526         * docs/gst/gstreamer-sections.txt:
20527         * docs/gst/gstreamer.types:
20528         * docs/gst/tmpl/gst.sgml:
20529         * docs/gst/tmpl/gstbasesink.sgml:
20530         * docs/gst/tmpl/gstbasesrc.sgml:
20531         * docs/gst/tmpl/gstbasetransform.sgml:
20532         * docs/gst/tmpl/gstbin.sgml:
20533         * docs/gst/tmpl/gstbuffer.sgml:
20534         * docs/gst/tmpl/gstcaps.sgml:
20535         * docs/gst/tmpl/gstclock.sgml:
20536         * docs/gst/tmpl/gstcompat.sgml:
20537         * docs/gst/tmpl/gstconfig.sgml:
20538         * docs/gst/tmpl/gstelement.sgml:
20539         * docs/gst/tmpl/gstelementdetails.sgml:
20540         * docs/gst/tmpl/gstelementfactory.sgml:
20541         * docs/gst/tmpl/gstenumtypes.sgml:
20542         * docs/gst/tmpl/gsterror.sgml:
20543         * docs/gst/tmpl/gstevent.sgml:
20544         * docs/gst/tmpl/gstfakesink.sgml:
20545         * docs/gst/tmpl/gstfakesrc.sgml:
20546         * docs/gst/tmpl/gstfilesink.sgml:
20547         * docs/gst/tmpl/gstfilesrc.sgml:
20548         * docs/gst/tmpl/gstfilter.sgml:
20549         * docs/gst/tmpl/gstformat.sgml:
20550         * docs/gst/tmpl/gstghostpad.sgml:
20551         * docs/gst/tmpl/gstimplementsinterface.sgml:
20552         * docs/gst/tmpl/gstindex.sgml:
20553         * docs/gst/tmpl/gstindexfactory.sgml:
20554         * docs/gst/tmpl/gstinfo.sgml:
20555         * docs/gst/tmpl/gstiterator.sgml:
20556         * docs/gst/tmpl/gstmacros.sgml:
20557         * docs/gst/tmpl/gstmemchunk.sgml:
20558         * docs/gst/tmpl/gstminiobject.sgml:
20559         * docs/gst/tmpl/gstobject.sgml:
20560         * docs/gst/tmpl/gstpad.sgml:
20561         * docs/gst/tmpl/gstpadtemplate.sgml:
20562         * docs/gst/tmpl/gstparse.sgml:
20563         * docs/gst/tmpl/gstpipeline.sgml:
20564         * docs/gst/tmpl/gstplugin.sgml:
20565         * docs/gst/tmpl/gstpluginfeature.sgml:
20566         * docs/gst/tmpl/gstquery.sgml:
20567         * docs/gst/tmpl/gstqueue.sgml:
20568         * docs/gst/tmpl/gstregistry.sgml:
20569         * docs/gst/tmpl/gstregistrypool.sgml:
20570         * docs/gst/tmpl/gstscheduler.sgml:
20571         * docs/gst/tmpl/gstschedulerfactory.sgml:
20572         * docs/gst/tmpl/gststructure.sgml:
20573         * docs/gst/tmpl/gstsystemclock.sgml:
20574         * docs/gst/tmpl/gsttaglist.sgml:
20575         * docs/gst/tmpl/gsttagsetter.sgml:
20576         * docs/gst/tmpl/gsttrace.sgml:
20577         * docs/gst/tmpl/gsttrashstack.sgml:
20578         * docs/gst/tmpl/gsttypefind.sgml:
20579         * docs/gst/tmpl/gsttypefindfactory.sgml:
20580         * docs/gst/tmpl/gsttypes.sgml:
20581         * docs/gst/tmpl/gsturihandler.sgml:
20582         * docs/gst/tmpl/gsturitype.sgml:
20583         * docs/gst/tmpl/gstutils.sgml:
20584         * docs/gst/tmpl/gstvalue.sgml:
20585         * docs/gst/tmpl/gstversion.sgml:
20586         * docs/gst/tmpl/gstxml.sgml:
20587         * docs/libs/tmpl/gstcontrol.sgml:
20588         * docs/libs/tmpl/gstdataprotocol.sgml:
20589         * docs/libs/tmpl/gstdparam.sgml:
20590         * docs/libs/tmpl/gstdplinint.sgml:
20591         * docs/libs/tmpl/gstdpman.sgml:
20592         * docs/libs/tmpl/gstdpsmooth.sgml:
20593         * docs/libs/tmpl/gstgetbits.sgml:
20594         * docs/libs/tmpl/gstunitconvert.sgml:
20595         * gst/base/gstpushsrc.c: (gst_push_src_get_type),
20596         (gst_push_src_base_init), (gst_push_src_class_init),
20597         (gst_push_src_init), (gst_push_src_create):
20598         * gst/base/gstpushsrc.h:
20599         * gst/elements/gstelements.c:
20600         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type),
20601         (gst_fake_sink_base_init), (gst_fake_sink_class_init),
20602         (gst_fake_sink_init), (gst_fake_sink_set_property),
20603         (gst_fake_sink_get_property), (gst_fake_sink_get_times),
20604         (gst_fake_sink_event), (gst_fake_sink_preroll),
20605         (gst_fake_sink_render), (gst_fake_sink_change_state):
20606         * gst/elements/gstfakesink.h:
20607         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
20608         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
20609         (gst_fake_src_base_init), (gst_fake_src_class_init),
20610         (gst_fake_src_init), (gst_fake_src_event_handler),
20611         (gst_fake_src_alloc_parent), (gst_fake_src_set_property),
20612         (gst_fake_src_get_property), (gst_fake_src_prepare_buffer),
20613         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size),
20614         (gst_fake_src_create_buffer), (gst_fake_src_create),
20615         (gst_fake_src_start), (gst_fake_src_stop):
20616         * gst/elements/gstfakesrc.h:
20617         * gst/elements/gstfilesink.c: (_do_init),
20618         (gst_file_sink_base_init), (gst_file_sink_class_init),
20619         (gst_file_sink_init), (gst_file_sink_dispose),
20620         (gst_file_sink_set_location), (gst_file_sink_set_property),
20621         (gst_file_sink_get_property), (gst_file_sink_open_file),
20622         (gst_file_sink_close_file), (gst_file_sink_query),
20623         (gst_file_sink_event), (gst_file_sink_render),
20624         (gst_file_sink_change_state), (gst_file_sink_uri_get_type),
20625         (gst_file_sink_uri_get_protocols), (gst_file_sink_uri_get_uri),
20626         (gst_file_sink_uri_set_uri), (gst_file_sink_uri_handler_init):
20627         * gst/elements/gstfilesink.h:
20628         * gst/elements/gstfilesrc.c: (_do_init), (gst_file_src_base_init),
20629         (gst_file_src_class_init), (gst_file_src_init),
20630         (gst_file_src_finalize), (gst_file_src_set_location),
20631         (gst_file_src_set_property), (gst_file_src_get_property),
20632         (gst_file_src_map_region), (gst_file_src_map_small_region),
20633         (gst_file_src_create_mmap), (gst_file_src_create_read),
20634         (gst_file_src_create), (gst_file_src_is_seekable),
20635         (gst_file_src_get_size), (gst_file_src_start), (gst_file_src_stop),
20636         (gst_file_src_uri_get_type), (gst_file_src_uri_get_protocols),
20637         (gst_file_src_uri_get_uri), (gst_file_src_uri_set_uri),
20638         (gst_file_src_uri_handler_init):
20639         * gst/elements/gstfilesrc.h:
20640           more autistic cleanliness in functions/names/defines
20641
20642 2005-07-13  Andy Wingo  <wingo@pobox.com>
20643
20644         * gst/base/gstbasesrc.c (gst_base_src_start): Post an error if the
20645         source couldn't negotiate.
20646
20647         * gst/parse/grammar.y: Revert 1.54->1.55, so we now do filtered
20648         connections again.
20649
20650         * gst/gstutils.h:
20651         * gst/gstutils.c (gst_element_link_pads_filtered): New old
20652         function. I am channeling Hades. Put your boots on suckers!!!
20653
20654 2005-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
20655
20656         * testsuite/caps/Makefile.am:
20657         * testsuite/caps/value_compare.c:
20658         * testsuite/caps/value_intersect.c:
20659         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
20660           move two testsuite apps over to the check dir
20661
20662 2005-07-12  Wim Taymans  <wim@fluendo.com>
20663
20664         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
20665         Added more debug info in the negotiate process.
20666
20667         * gst/gstmessage.h:
20668         Prepare for segment playback.
20669
20670         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps):
20671         Better debugging.
20672
20673         * gst/gstutils.c:
20674         Some more docs.
20675
20676         * tools/gst-launch.c: (main):
20677         NULL pipeline on errors.
20678
20679 2005-07-12  Andy Wingo  <wingo@pobox.com>
20680
20681         * gst/gstbuffer.c (_gst_buffer_copy): Copy the buffer whether or
20682         not it comes from a malloc region. Make sure our copy gets freed.
20683
20684 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
20685
20686         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
20687         * check/gst/gstmessage.c: (GST_START_TEST):
20688         * check/gst/gststructure.c: (GST_START_TEST),
20689         (gst_structure_suite), (main):
20690           more testing
20691         * gst/gstelement.c: (gst_element_message_full):
20692           clean up GError and debug string now that they get copied
20693         * gst/gstmessage.c: (gst_message_new_error),
20694         (gst_message_new_warning), (gst_message_parse_error),
20695         (gst_message_parse_warning):
20696           use GST_TYPE_G_ERROR for structure_new, and take copies of
20697           arguments, so that we don't mess up refcounting
20698
20699 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
20700
20701         * check/Makefile.am:
20702           add per-test valgrind targets
20703         * check/gst-libs/gdp.c: (GST_START_TEST),
20704         (gst_data_protocol_suite), (main):
20705           clean up
20706
20707 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
20708
20709         * check/Makefile.am:
20710           instate more valgrindable tests
20711         * check/elements/gstfakesrc.c: (chain_func), (event_func),
20712         (GST_START_TEST), (fakesrc_suite):
20713         * check/gst/gstpad.c: (GST_START_TEST):
20714         * check/gst/gststructure.c: (GST_START_TEST):
20715           fix test leaks
20716         * docs/gst/tmpl/gstminiobject.sgml:
20717         * gst/gstpad.c: (gst_pad_finalize):
20718           fix the static mutex leak
20719
20720 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
20721
20722         * check/Makefile.am:
20723           add two more tests for valgrinding
20724         * check/gst/gstvalue.c: (GST_START_TEST):
20725           test refcount of deserialized buffer, found a leak
20726         * docs/gst/gstreamer-docs.sgml:
20727         * docs/gst/gstreamer-sections.txt:
20728         * docs/gst/gstreamer.types:
20729         * docs/gst/tmpl/gstminiobject.sgml:
20730           add miniobject to docs
20731         * gst/gstminiobject.c:
20732           add some docs
20733         * gst/gstvalue.c: (gst_value_deserialize_buffer),
20734         (gst_string_unwrap):
20735           fix a hard-to-find invalid write for one of the tests
20736           fix a leak for deserialized buffers
20737
20738 2005-07-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
20739
20740         * docs/pwg/advanced-events.xml:
20741         * docs/pwg/advanced-request.xml:
20742         * docs/pwg/advanced-scheduling.xml:
20743         * docs/pwg/appendix-porting.xml:
20744         * docs/pwg/building-boiler.xml:
20745         * docs/pwg/intro-preface.xml:
20746         * docs/pwg/other-ntoone.xml:
20747           Rewrite scheduling-chapter for scheduling model in 0.9. Add lots
20748           of example code and explanation for pad activation, loop() and
20749           getrange() functions and a bit more. Remove old comments pointing
20750           to loop-functions.
20751         * examples/pwg/Makefile.am:
20752           Add loop/getrange examples.
20753
20754 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
20755
20756         * configure.ac:
20757           check for valgrind binary + some fixes
20758         * check/gst.supp:
20759           valgrind suppressions for the tests
20760         * check/Makefile.am:
20761           add a valgrind: target that valgrinds the unit tests
20762         * check/gst/gst.c: (GST_START_TEST), (gst_suite):
20763         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
20764         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
20765         * check/gst/gstghostpad.c:
20766           added some cleanup
20767         * check/gst/gstdata.c:
20768           removed
20769         * check/gst/gstminiobject.c: (GST_START_TEST), (thread_ref),
20770         (thread_unref), (gst_mini_object_suite), (main):
20771           added
20772         * gst/gst.c: (gst_deinit):
20773         * gst/gst.h:
20774           add a method to clean up.
20775         * gst/gstsystemclock.c: (gst_system_clock_dispose),
20776         (gst_system_clock_obtain):
20777           allow for disposing the system clock.
20778         * tools/gst-launch.c: (main):
20779           deinit
20780
20781 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
20782
20783         * docs/gst/tmpl/gstbasesrc.sgml:
20784         * docs/gst/tmpl/gstfakesrc.sgml:
20785         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
20786         (gst_base_src_init), (gst_base_src_set_property),
20787         (gst_base_src_get_property), (gst_base_src_get_range),
20788         (gst_base_src_start):
20789         * gst/base/gstbasesrc.h:
20790           add num-buffers property
20791         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
20792         (gst_fakesrc_init), (gst_fakesrc_set_property),
20793         (gst_fakesrc_get_property), (gst_fakesrc_create),
20794         (gst_fakesrc_start):
20795           remove num-buffers property
20796
20797 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
20798
20799         * docs/gst/gstreamer-sections.txt:
20800         * docs/gst/tmpl/gstbasesink.sgml:
20801         * docs/gst/tmpl/gstbasesrc.sgml:
20802         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
20803         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
20804         (gst_base_sink_finalize), (gst_base_sink_set_clock),
20805         (gst_base_sink_set_property), (gst_base_sink_get_property),
20806         (gst_base_sink_handle_object), (gst_base_sink_event),
20807         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
20808         (gst_base_sink_handle_buffer), (gst_base_sink_chain),
20809         (gst_base_sink_loop), (gst_base_sink_deactivate),
20810         (gst_base_sink_activate_push), (gst_base_sink_activate_pull),
20811         (gst_base_sink_change_state):
20812         * gst/base/gstbasesink.h:
20813         * gst/base/gstbasesrc.h:
20814         * gst/elements/gstfakesink.c: (gst_fakesink_get_times):
20815         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
20816         (gst_filesink_init):
20817           more macro splitting
20818
20819 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
20820
20821         * gst/gstelement.c: (gst_element_get_bus):
20822           add debug
20823         * tools/gst-launch.c: (check_intr), (event_loop):
20824           fix bus leaks
20825
20826 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
20827
20828         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
20829           fix a caps leak
20830
20831 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
20832
20833         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
20834         (gst_base_src_finalize):
20835           add finalize method and clean up properly
20836         * gst/gstpipeline.c: (gst_pipeline_dispose):
20837           add debug
20838
20839 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
20840
20841         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST),
20842         (gst_bin_suite):
20843           add more things to check
20844         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
20845         * gst/gstelement.c:
20846           more debug
20847
20848 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
20849
20850         * check/elements/gstfakesrc.c: (chain_func), (event_func),
20851         (GST_START_TEST), (fakesrc_suite):
20852         * check/gst-libs/gdp.c: (GST_START_TEST):
20853         * check/gst/gst.c: (GST_START_TEST):
20854         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
20855         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
20856         * check/gst/gstbus.c: (GST_START_TEST):
20857         * check/gst/gstcaps.c: (GST_START_TEST):
20858         * check/gst/gstdata.c: (GST_START_TEST):
20859         * check/gst/gstelement.c: (GST_START_TEST):
20860         * check/gst/gstghostpad.c: (GST_START_TEST):
20861         * check/gst/gstiterator.c: (GST_START_TEST):
20862         * check/gst/gstmessage.c: (GST_START_TEST):
20863         * check/gst/gstobject.c: (GST_START_TEST):
20864         * check/gst/gstpad.c: (GST_START_TEST):
20865         * check/gst/gststructure.c: (GST_START_TEST):
20866         * check/gst/gstsystemclock.c: (GST_START_TEST),
20867         (gst_systemclock_suite):
20868         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
20869         * check/gst/gstvalue.c: (GST_START_TEST):
20870         * check/pipelines/cleanup.c: (GST_START_TEST):
20871         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
20872         * check/states/sinks.c: (GST_START_TEST):
20873         * check/gstcheck.c: (gst_check_init):
20874         * check/gstcheck.h:
20875           add debugging category
20876           use GST_START_TEST now, so we add a debug line
20877
20878 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
20879
20880         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite):
20881           add test for state change message on a bin
20882         * check/gst/gstelement.c: (START_TEST), (gst_element_suite):
20883           add another test
20884         * gst/gstbin.c: (gst_bin_init):
20885         * gst/gstbus.c: (gst_bus_init), (gst_bus_post):
20886         * gst/gstelement.c: (gst_element_post_message),
20887         (gst_element_set_state):
20888         * gst/gstelementfactory.c: (gst_element_factory_create):
20889         * gst/gstmessage.c: (gst_message_new):
20890         * gst/gstscheduler.c:
20891           various debugging additions and cleanups
20892
20893 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
20894
20895         * check/Makefile.am:
20896         * check/gst/gstelement.c: (START_TEST), (gst_element_suite),
20897         (main):
20898           adding tests for elements
20899         * gst/gstelement.c: (gst_element_dispose):
20900
20901 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
20902
20903         * gst/registries/gstlibxmlregistry.c: (load_feature):
20904           plug more leaks.  A simple gst_init() now is leakfree, yay.
20905
20906 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
20907
20908         * gst/registries/gstlibxmlregistry.c: (read_string), (load_paths),
20909         (gst_xml_registry_load):
20910           plug another memleak
20911
20912 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
20913
20914         * configure.ac:
20915           use GST_SET_ERROR_CFLAGS
20916         * docs/faq/cvs.xml:
20917           change to ERROR_CFLAGS
20918
20919 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
20920
20921         * configure.ac:
20922           make GST_ERROR_CFLAGS overridable and re-enable Werror
20923         * docs/faq/cvs.xml:
20924           add a note about error CFLAGS
20925         * docs/gst/tmpl/gstfakesrc.sgml:
20926         * gst/elements/gstfakesrc.c:
20927           comment out some unused code
20928         * gst/gst.c: (split_and_iterate):
20929         * gst/registries/gstlibxmlregistry.c: (load_pad_template),
20930         (load_feature):
20931           plug some memleaks
20932
20933 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
20934
20935         * common/Makefile.am:
20936         * common/gtk-doc.mak:
20937         * docs/gst/Makefile.am:
20938           factor out gtk-doc.mak
20939
20940 2005-07-07  Wim Taymans  <wim@fluendo.com>
20941
20942         * gst/schedulers/threadscheduler.c: (gst_thread_scheduler_func),
20943         (gst_thread_scheduler_dispose):
20944         Unlock the STREAM_LOCK completely.
20945
20946 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
20947
20948         * check/Makefile.am:
20949         * check/elements/.cvsignore:
20950         * check/elements/gstfakesrc.c: (chain_func), (event_func),
20951         (START_TEST), (fakesrc_suite), (main):
20952         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
20953         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
20954         (gst_fakesrc_create), (gst_fakesrc_start):
20955         * gst/elements/gstfakesrc.h:
20956           adding a first element test
20957
20958 2005-07-07  Andy Wingo  <wingo@pobox.com>
20959
20960         * gst/gstbus.c (gst_bus_have_pending): Remove intensely irritating
20961         debug message.
20962
20963 2005-07-07  Wim Taymans  <wim@fluendo.com>
20964
20965         * gst/gstquery.c:
20966         * gst/gstquery.h:
20967         Remove old types
20968
20969 2005-07-07  Wim Taymans  <wim@fluendo.com>
20970
20971         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
20972         (gst_base_src_default_negotiate), (gst_base_src_negotiate):
20973         Allow subclasses to implement their own negotiation.
20974
20975 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
20976
20977         * docs/design/part-gstbin.txt:
20978         * docs/design/part-gstpipeline.txt:
20979           Update design notes to reflect the movement of
20980           responsibility for bus handling from GstPipeline to
20981           GstBin
20982
20983 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
20984
20985         * configure.ac:
20986           Remove unnecessary queue2/3/4 examples.
20987
20988 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
20989
20990         * examples/Makefile.am:
20991         * examples/helloworld/helloworld.c: (event_loop), (main):
20992         * examples/queue/queue.c: (event_loop), (main):
20993         * examples/queue2/queue2.c: (main):
20994           Update a couple of the examples to work again.
20995
20996         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
20997         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_event):
20998          Spelling corrections and extra debug.
20999         
21000         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init), (is_eos),
21001         (gst_bin_add_func), (bin_element_is_sink), (gst_bin_get_state),
21002         (gst_bin_change_state), (gst_bin_dispose), (bin_bus_handler):
21003         * gst/gstbin.h:
21004         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
21005         (gst_pipeline_change_state):
21006         * gst/gstpipeline.h:
21007           Move the bus handler for children to the GstBin, and create a
21008           separate bus for receiving messages from children to the one the
21009           bus sends 'upwards' on.
21010
21011 2005-07-06  Wim Taymans  <wim@fluendo.com>
21012
21013         * gst/base/README:
21014         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
21015         (gst_base_sink_handle_object), (gst_base_sink_loop),
21016         (gst_base_sink_change_state):
21017         * gst/base/gstbasesink.h:
21018         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
21019         (gst_base_src_init), (gst_base_src_setcaps),
21020         (gst_base_src_getcaps), (gst_base_src_loop),
21021         (gst_base_src_default_negotiate), (gst_base_src_negotiate),
21022         (gst_base_src_start), (gst_base_src_change_state):
21023         * gst/base/gstbasesrc.h:
21024         Make basesrc negotiate.
21025         Handle the case where preroll fails in basesink.
21026         Update README.
21027
21028 2005-07-06  Wim Taymans  <wim@fluendo.com>
21029
21030         * gst/gstpad.c: (gst_pad_fixate_caps), (gst_pad_accept_caps):
21031         Implement the fixate function.
21032         Clean up acceptcaps.
21033
21034 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
21035
21036         * docs/pwg/building-filterfactory.xml:
21037         * docs/pwg/pwg.xml:
21038           Remove never-written filter-factory chapter; I'll add the various
21039           base classes to part 4 ("other element types") later on.
21040
21041 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
21042
21043         * docs/pwg/advanced-negotiation.xml:
21044         * docs/pwg/building-boiler.xml:
21045         * docs/pwg/building-pads.xml:
21046         * docs/pwg/pwg.xml:
21047         * examples/pwg/Makefile.am:
21048           Add a chapter on caps negotiation, simplify the original code
21049           samples a bit w.r.t. caps negotiation, add link to the advanced
21050           section. Add a bunch of examples showing different use cases of
21051           different types of caps negotiation. Upstream renegotiation isn't
21052           fully documented yet since nobody knows how that works.
21053
21054 2005-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
21055
21056         * check/gst/gstpad.c:
21057         * check/gstcheck.c:
21058         * gst/gstpad.c: (gst_pad_get_internal_links_default):
21059           if pad has no parent, return NULL as list of internal links
21060
21061 2005-07-05  Andy Wingo  <wingo@pobox.com>
21062
21063         * gst/elements/gstfilesrc.c:
21064         * gst/elements/gstfakesrc.c: 
21065         * gst/base/gstpushsrc.c:
21066         * gst/base/gstbasesrc.h: 
21067         * gst/base/gstbasesrc.c: s/BASESRC/BASE_SRC/g.
21068         
21069 2005-07-05  Stefan Kost  <ensonic@users.sf.net>
21070
21071         * Makefile.am:
21072           better report generation target (lcov needs a patch)
21073
21074 2005-07-05  Andy Wingo  <wingo@pobox.com>
21075
21076         * gst/elements, testsuite: Null if we got it...
21077
21078 2005-07-05  Wim Taymans  <wim@fluendo.com>
21079
21080         * configure.ac:
21081         * libs/gst/dataprotocol/Makefile.am:
21082         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_validate_packet):
21083         * libs/gst/dataprotocol/dataprotocol.h:
21084         * pkgconfig/Makefile.am:
21085         * pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in:
21086         * pkgconfig/gstreamer-dataprotocol.pc.in:
21087         Ported dataprotol to 0.9. 
21088         Added pkgconfig files.
21089
21090 2005-07-05  Andy Wingo  <wingo@pobox.com>
21091
21092         * gst/base/gstbasetransform.c (gst_base_transform_setcaps):
21093         Default to returning TRUE for the case when tranform_caps returns
21094         a fixed caps, like for identity or volume.
21095
21096         * check/gst/gstbus.c (pound_bus_with_messages): 
21097         * check/gst/gstmessage.c (START_TEST): 
21098         * check/pipelines/simple_launch_lines.c (got_handoff): Application
21099         message API change.
21100
21101         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): More
21102         logic weaks here: always run transform_caps, trying passthrough
21103         operation only if the original caps intersects with the transform.
21104
21105         * gst/gstpad.c (gst_pad_link_check_compatible_unlocked): Debug
21106         source and sink caps.
21107
21108         * gst/base/gstbasetransform.c (gst_base_transform_getcaps):
21109         Intersect the peer caps with the pad template before going into
21110         transform_caps.
21111         (gst_base_transform_transform_caps): More debugging.
21112
21113         * gst/gstmessage.h (gst_message_new_application): Take a GstObject
21114         src argument.
21115
21116 2005-07-04  Edward Hervey  <edward@fluendo.com>
21117
21118         * gst/gstutils.c:
21119         * gst/gstutils.h:
21120         (gst_pad_add_*_probe): now returns the signal id for better wrapping
21121         in bindings.
21122
21123 2005-07-04  Andy Wingo  <wingo@pobox.com>
21124
21125         * check/gst/gstpad.c: Only set explicit caps on pads.
21126
21127 2005-07-01  Andy Wingo  <wingo@pobox.com>
21128
21129         * tests/network-clock.scm: Commentary update.
21130
21131         * gst/elements/gstidentity.c (PROP_DUPLICATE): Gone daddy gone.
21132         Didn't really make sense, not implementable with basetransform,
21133         etc.
21134         (gst_identity_transform): Unref inbuf via make_writable. Feeble
21135         attempt at implementing the sync property, needs an unlock method.
21136
21137         * gst/base/gstbasetransform.c (gst_base_transform_transform_caps):
21138         New func, by default returns the same caps (the identity
21139         transformation).
21140         (gst_base_transform_getcaps): Uses transform_caps to return
21141         something sensible.
21142         (gst_base_transform_setcaps): Complicated logic to get caps on
21143         both pads, even if they are different, and to call set_caps once
21144         for every time both pads get their caps set.
21145         (gst_base_transform_handle_buffer): Give the ref to the transform
21146         function. Allows in-place modification of the buffer.
21147
21148         * gst/base/gstbasetransform.h (transform_caps): New class method.
21149         Given caps on one side, what can I do on the other.
21150         (set_caps): Take two caps, one for each side of the element.
21151
21152         * gst/gstpad.h:
21153         * gst/gstpad.c (gst_pad_fixate_caps): Change prototype to modify
21154         caps in place. This is safe because we can check the mutability of
21155         the caps, and a good idea because fixate functions are just called
21156         as a matter of last resort. (Not actually implemented.)
21157         (gst_pad_set_caps): If the caps we're setting is actually the same
21158         as the existing pad caps, just update the pointer without calling
21159         setcaps. Assert that caps is either NULL or fixed, as per the
21160         docs.
21161
21162         * gst/gstghostpad.c: Update for fixate changes.
21163
21164 2005-07-02  Andy Wingo  <wingo@pobox.com>
21165
21166         * gst/gstcaps.c:
21167         * gst/gstcaps.h (gst_static_caps_get): Not const return, having
21168         two refcounts makes it immutable, which is enough. Doc more.
21169
21170 2005-07-02  Jan Schmidt  <thaytan@mad.scientist.com>
21171
21172         * gst/gstpad.c: (gst_pad_emit_have_data_signal):
21173           Put the mini_object into GValue as a mini_object,
21174           not a gpointer, since that's how we declared
21175           the signal.
21176
21177 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
21178
21179         * examples/pwg/Makefile.am:
21180           Fix buildbot again.
21181
21182 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
21183
21184         * docs/pwg/building-testapp.xml:
21185           Add extra check.
21186         * examples/pwg/Makefile.am:
21187           Fix buildbot.
21188
21189 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
21190
21191         * configure.ac:
21192         * examples/Makefile.am:
21193         * examples/pwg/Makefile.am:
21194         * examples/pwg/extract.pl:
21195           Enable building the PWG examples.
21196         * docs/pwg/advanced-interfaces.xml:
21197           Add URI interface stub.
21198         * docs/pwg/advanced-types.xml:
21199         * docs/pwg/other-autoplugger.xml:
21200         * docs/pwg/appendix-porting.xml:
21201         * docs/pwg/pwg.xml:
21202           Add porting guide (mostly stubs), remove autoplugging (see ADM).
21203         * docs/pwg/building-boiler.xml:
21204         * docs/pwg/building-chainfn.xml:
21205         * docs/pwg/building-pads.xml:
21206         * docs/pwg/building-props.xml:
21207         * docs/pwg/building-state.xml:
21208         * docs/pwg/building-testapp.xml:
21209           Update the building-*.xml parts for 0.9 changes. All examples
21210           code blocks compile in examples/pwg/*.
21211
21212 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
21213
21214         * docs/manual/advanced-autoplugging.xml:
21215         * docs/manual/appendix-checklist.xml:
21216         * docs/manual/appendix-integration.xml:
21217         * docs/manual/highlevel-components.xml:
21218           Fix playbin/decodebin examples, update docs a bit, mention bus
21219           instead of signals in various places, mention kmplayer and
21220           kaffeine since they have a working GStreamer backend in the KDE
21221           section.
21222
21223 2005-06-30  Wim Taymans  <wim@fluendo.com>
21224
21225         * CHANGES-0.9:
21226         * docs/design/draft-ghostpads.txt:
21227         * docs/design/draft-push-pull.txt:
21228         * docs/design/draft-query.txt:
21229         * docs/design/part-TODO.txt:
21230         * docs/design/part-query.txt:
21231         Added CHANGES-0.9 doc, updated status of other docs.
21232         
21233         * gst/gstquery.h:
21234         Remove "hmm" macro
21235
21236 2005-06-30  Wim Taymans  <wim@fluendo.com>
21237
21238         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
21239         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
21240         (gst_base_sink_change_state):
21241         * gst/base/gstbasesink.h:
21242         Some tweaks, only EOS and a buffer complete a preroll.
21243
21244 2005-06-30  Andy Wingo  <wingo@pobox.com>
21245
21246         * gst/gstghostpad.c (gst_ghost_pad_do_activate_push): Proxy
21247         activate_push down to the internal pad as well.
21248
21249 2005-06-30  Torsten Schoenfeld  <kaffeetisch@gmx.de>
21250
21251         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
21252
21253         * gst/gsttaginterface.c:
21254           Some documentation fixes (#307394 and #307397).
21255
21256 2005-06-30  Antoine Tremblay  <hexa00@gmail.com>
21257
21258         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
21259
21260         * gst/gstvalue.c: (gst_value_intersect_list):
21261           Fix memleak (#309125).
21262
21263 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
21264
21265         * docs/manual/advanced-dataaccess.xml:
21266           Fix fakesrc example to compile; doesn't work, bug somewhere...?
21267         * docs/manual/basics-pads.xml:
21268           Add reference for filtered caps to above chapter.
21269
21270 2005-06-30  Wim Taymans  <wim@fluendo.com>
21271
21272         * gst/gstbin.c: (clear_queue), (remove_all_from_queue),
21273         (gst_bin_change_state):
21274         Probes are gone.
21275         Lame attempt at making the state change function a bit
21276         more readable.
21277
21278 2005-06-30  Wim Taymans  <wim@fluendo.com>
21279
21280         * docs/design/part-clocks.txt:
21281         * docs/design/part-element-sink.txt:
21282         * docs/design/part-events.txt:
21283         * docs/design/part-preroll.txt:
21284         * docs/design/part-states.txt:
21285         Some more tweeks and additions to the docs.
21286
21287 2005-06-30  Wim Taymans  <wim@fluendo.com>
21288
21289         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
21290         (default_have_data), (gst_pad_class_init), (gst_pad_init),
21291         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
21292         (gst_pad_check_pull_range), (gst_pad_get_range),
21293         (gst_pad_pull_range), (gst_pad_push_event), (gst_pad_send_event):
21294         * gst/gstpad.h:
21295         * gst/gstutils.c: (gst_atomic_int_set), (gst_pad_add_data_probe),
21296         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
21297         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
21298         (gst_pad_remove_buffer_probe):
21299         Removed atomic operations, use existing LOCK.
21300         Move exception handling out of main code path.
21301
21302 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
21303
21304         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
21305         (silly_return_true_function), (gst_pad_class_init),
21306         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
21307         (gst_pad_get_range), (gst_pad_pull_range), (gst_pad_push_event),
21308         (gst_pad_send_event):
21309           Fix accumulator, add default value by using _emitv() instead
21310           of _emit() for signal emission.
21311
21312 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
21313
21314         * docs/manual/advanced-dataaccess.xml:
21315         * examples/manual/Makefile.am:
21316           Add probe example.
21317         * gst/gstpad.c: (_gst_do_pass_data_accumulator):
21318           Make work (??).
21319
21320 2005-06-29  Tim-Philipp Müller  <tim at centricular dot net>
21321
21322         * gst/elements/gstfilesink.c: (gst_filesink_render):
21323           Simplify code so that we don't have to handle short
21324           writes and return GST_FLOW_ERROR if an error occured.
21325
21326 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
21327
21328         * docs/gst/gstreamer-docs.sgml:
21329           Remove probes more.
21330
21331 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
21332
21333         * docs/gst/gstreamer-sections.txt:
21334         * docs/gst/tmpl/gstpad.sgml:
21335         * docs/gst/tmpl/gstprobe.sgml:
21336         * gst/Makefile.am:
21337         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
21338         (gst_pad_class_init), (gst_pad_init), (gst_pad_chain),
21339         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
21340         (gst_pad_push_event), (gst_pad_send_event):
21341         * gst/gstpad.h:
21342         * gst/gstutils.c: (gst_pad_add_data_probe),
21343         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
21344         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
21345         (gst_pad_remove_buffer_probe):
21346         * gst/gstutils.h:
21347           Remove old probes, add new g-signal-based probes and some utility
21348           functions.
21349
21350 2005-06-29  Edward Hervey  <edward@fluendo.com>
21351
21352         * gst/gstelementfactory.c:
21353         * gst/gstutils.h:
21354         * gst/gstutils.c:
21355         Moved gst_element_factory_can_[sink|src]_caps() to gstutils and added
21356         the definition to the header file.
21357
21358 2005-06-29  Andy Wingo  <wingo@pobox.com>
21359
21360         * docs/gst/Makefile.am (scan-build.stamp): Totally only check
21361         plugins from the source directory.
21362
21363 2005-06-29  Wim Taymans  <wim@fluendo.com>
21364
21365         * docs/gst/tmpl/gstbuffer.sgml:
21366         * docs/gst/tmpl/gstclock.sgml:
21367         Some fixings for blantently wrong text.
21368
21369 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
21370
21371         * check/Makefile.am:
21372         * gst/gst.c: (add_path_func), (init_pre):
21373         * gst/gstregistry.c: (gst_registry_add_path):
21374           add A GST_PLUGIN_PATH_ONLY env var; if it is set, it will
21375           only scan the GST_PLUGIN_PATH locations, and not add
21376           system locations
21377
21378 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
21379
21380         * docs/gst/gstreamer-sections.txt:
21381         * docs/gst/tmpl/gstbasesrc.sgml:
21382         * gst/gstelement.c:
21383         * gst/gstelement.h:
21384         * gst/gstevent.c:
21385         * gst/gstutils.c:
21386           doc fixes
21387
21388 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
21389
21390         * docs/manual/advanced-autoplugging.xml:
21391           Fix autoplugging example.
21392
21393 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
21394
21395         * docs/manual/advanced-autoplugging.xml:
21396         * docs/manual/mime-world.fig:
21397           Try to get autoplugging working, fix type detection. Fix text
21398           in hello-world image.
21399
21400 2005-06-29  Wim Taymans  <wim@fluendo.com>
21401
21402         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
21403         (gst_base_sink_change_state):
21404         Small debug line.
21405
21406         * gst/gstclock.h:
21407         map SIGNAL and BROADCAST to the right function.
21408
21409         * gst/gstobject.h:
21410         Remove redundant braces.
21411
21412         * gst/gstpad.c: (gst_pad_set_caps):
21413         Don't call setcaps function when reseting caps to NULL.
21414
21415         * gst/gstsystemclock.c: (gst_system_clock_dispose),
21416         (gst_system_clock_async_thread), (gst_system_clock_id_wait_async),
21417         (gst_system_clock_id_unschedule):
21418         Use BROADCAST as this is what we do.
21419
21420 2005-06-29  Wim Taymans  <wim@fluendo.com>
21421
21422         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
21423         We are actually prerolling before commiting the state
21424         change. 
21425
21426 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
21427
21428         * docs/manual/advanced-clocks.xml:
21429         * docs/manual/advanced-interfaces.xml:
21430         * docs/manual/advanced-metadata.xml:
21431         * docs/manual/advanced-position.xml:
21432         * docs/manual/advanced-schedulers.xml:
21433         * docs/manual/advanced-threads.xml:
21434         * docs/manual/appendix-porting.xml:
21435         * docs/manual/basics-bins.xml:
21436         * docs/manual/basics-bus.xml:
21437         * docs/manual/basics-elements.xml:
21438         * docs/manual/basics-helloworld.xml:
21439         * docs/manual/basics-pads.xml:
21440         * docs/manual/highlevel-components.xml:
21441         * docs/manual/manual.xml:
21442         * docs/manual/thread.fig:
21443           Update (until threads/scheduling) Application Development Manual;
21444           remove GstThread, add GstBus, add simple porting checklist, add
21445           documentation for tag writing, clocks, make all examples until this
21446           part compile and run.
21447         * examples/manual/Makefile.am:
21448           Update from changes to Application Development Manual; add bus
21449           example, remove thread example.
21450
21451 2005-06-28  Wim Taymans  <wim@fluendo.com>
21452
21453         * gst/gstbus.c: (gst_bus_post), (gst_bus_have_pending),
21454         (gst_bus_set_flushing), (gst_bus_pop), (gst_bus_peek),
21455         (gst_bus_source_dispatch):
21456         Add debugging messages.
21457         Make internal methods static.
21458         Handle the case where the bus is flushed in the handler.
21459         
21460         * gst/gstelement.c: (gst_element_get_bus):
21461         Fix refcount in _get_bus();
21462
21463         * gst/gstpipeline.c: (gst_pipeline_change_state),
21464         (gst_pipeline_get_clock_func):
21465         Clock refcounting fixes.
21466         Handle the case where preroll timed out more gracefully.
21467         
21468         * gst/gstsystemclock.c: (gst_system_clock_dispose):
21469         Clean up the internal thread in dispose. This is needed
21470         for subclasses that actually get disposed.
21471         
21472         * gst/schedulers/threadscheduler.c:
21473         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
21474         (gst_thread_scheduler_dispose):
21475         Free thread pool in dispose.
21476
21477 2005-06-28  Andy Wingo  <wingo@pobox.com>
21478
21479         * tests/network-clock-utils.scm (debug, print-event): New utils.
21480
21481         * tests/network-clock.scm (*debug*, *with-graph*): New parameters.
21482         (*packet-loss*): Unified loss probability.
21483         (network-time): Report out-of-band events.
21484
21485         * tests/plot-data: Add support for out-of-band events. Hack it
21486         into this script instead of passing it down the pipe; should fix
21487         this later.
21488
21489 2005-06-28  Wim Taymans  <wim@fluendo.com>
21490
21491         * docs/gst/gstreamer.types:
21492         * docs/gst/tmpl/gstbasesrc.sgml:
21493         * docs/gst/tmpl/gstpad.sgml:
21494         Docs fixes.
21495
21496 2005-06-28  Wim Taymans  <wim@fluendo.com>
21497
21498         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
21499         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_acceptcaps),
21500         (gst_proxy_pad_do_fixatecaps):
21501         Correctly proxy the check_pull_range function.
21502
21503 2005-06-28  Andy Wingo  <wingo@pobox.com>
21504
21505         * tests/network-clock.scm: Removed need for slib.
21506         
21507 2005-06-28  Wim Taymans  <wim@fluendo.com>
21508
21509         * gst/base/gstbasesink.c: (gst_basesink_set_pad_functions),
21510         (gst_basesink_preroll_queue_flush):
21511         * gst/base/gstbasesrc.c: (gst_basesrc_set_dataflow_funcs):
21512         * gst/elements/gsttee.c: (gst_tee_update_pad_functions):
21513         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
21514         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
21515         (gst_proxy_pad_set_property):
21516         * gst/gstpad.c:
21517         * gst/gstpad.h:
21518         * gst/gstqueue.c: (gst_queue_init):
21519         The deprecated pad loop function is removed now.
21520
21521 2005-06-28  Andy Wingo  <wingo@pobox.com>
21522
21523         * tests/network-clock.scm (*timeout*, *send-loss*, *recv-loss*):
21524         New parameters, simulate network packet loss.
21525
21526         * tests/network-clock-utils.scm: Initialize the RNG.
21527
21528 2005-06-28  Wim Taymans  <wim@fluendo.com>
21529
21530         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_flush),
21531         (gst_basesink_event), (gst_basesink_deactivate):
21532         Flushing the preroll queue always needs to unlock the waiters.
21533
21534 2005-06-28  Edward Hervey  <edward@fluendo.com>
21535
21536         * gst/gstpipeline.c: (gst_pipeline_send_event): 
21537         Wheen a seek was successful on a pipeline, set the stream_time to the
21538         seek offset in order to have a synchronized stream_time.
21539
21540 2005-06-28  Wim Taymans  <wim@fluendo.com>
21541
21542         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
21543         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
21544         (gst_proxy_pad_do_getcaps), (gst_proxy_pad_do_acceptcaps),
21545         (gst_proxy_pad_do_fixatecaps):
21546         Call wrapper function instead of just calling the function
21547         pointers. This takes care of any locking and whatmore.
21548
21549 2005-06-28  Wim Taymans  <wim@fluendo.com>
21550
21551         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push),
21552         (gst_pad_pull_range):
21553         * gst/gstpad.h:
21554         CONNECTED -> LINKED.
21555
21556 2005-06-28  Andy Wingo  <wingo@pobox.com>
21557
21558         * *.c: Don't cast to GST_OBJECT when reffing or unreffing. Large
21559         source-munging commit!!!
21560
21561         * gst/gstobject.c (gst_object_unref, gst_object_ref) 
21562         (gst_object_sink): Take gpointer arguments, not GstObject --
21563         avoids casts. Like GLib.
21564
21565         * gst/gstghostpad.c (gst_proxy_pad_do_activate): Don't proxy
21566         activate.
21567
21568 2005-06-27  Andy Wingo  <wingo@pobox.com>
21569
21570         * gst/base/gsttypefindhelper.c (gst_type_find_helper): Unref any
21571         remaining buffer.
21572
21573         * gst/gsttrace.c (gst_alloc_trace_list_sorted): New helper,
21574         returns a sorted copy of the trace list.
21575         (gst_alloc_trace_print_live): New API, only prints traces with
21576         live objects. Sort the list.
21577         (gst_alloc_trace_print_all): Sort the list.
21578         (gst_alloc_trace_print): Align columns.
21579
21580         * gst/elements/gstttypefindelement.c:
21581         * gst/elements/gsttee.c:
21582         * gst/base/gstbasesrc.c:
21583         * gst/base/gstbasesink.c:
21584         * gst/base/gstbasetransform.c:
21585         * gst/gstqueue.c: Adapt for pad activation changes.
21586
21587         * gst/gstpipeline.c (gst_pipeline_init): Unref after parenting
21588         sched.
21589         (gst_pipeline_dispose): Drop ref on sched.
21590
21591         * gst/gstpad.c (gst_pad_init): Set the default activate func.
21592         (gst_pad_activate_default): Push mode by default.
21593         (pre_activate_switch, post_activate_switch): New stubs, things to
21594         do before and after switching activation modes on pads.
21595         (gst_pad_set_active): Take a boolean and not a mode, dispatch to
21596         the pad's activate function to choose which mode to activate.
21597         Shortcut on deactivation and call the right function directly.
21598         (gst_pad_activate_pull): New API, (de)activates a pad in pull
21599         mode.
21600         (gst_pad_activate_push): New API, same for push mode.
21601         (gst_pad_set_activate_function) 
21602         (gst_pad_set_activatepull_function) 
21603         (gst_pad_set_activatepush_function): Setters for new API.
21604
21605         * gst/gstminiobject.c (gst_mini_object_new, gst_mini_object_free):
21606         Trace all miniobjects.
21607         (gst_mini_object_make_writable): Unref the arg if we copy, like
21608         gst_caps_make_writable.
21609
21610         * gst/gstmessage.c (_gst_message_initialize): No trace init.
21611
21612         * gst/gstghostpad.c (gst_proxy_pad_do_activate) 
21613         (gst_proxy_pad_do_activatepull, gst_proxy_pad_do_activatepush):
21614         Adapt for new pad API.
21615
21616         * gst/gstevent.c (_gst_event_initialize): Don't initialize trace.
21617
21618         * gst/gstelement.h:
21619         * gst/gstelement.c (gst_element_iterate_src_pads) 
21620         (gst_element_iterate_sink_pads): New API functions.
21621         
21622         * gst/gstelement.c (iterator_fold_with_resync): New utility,
21623         should fold into gstiterator.c in some form.
21624         (gst_element_pads_activate): Simplified via use of fold and
21625         delegation of decisions to gstpad->activate.
21626
21627         * gst/gstbus.c (gst_bus_source_finalize): Set the bus to NULL,
21628         help in debugging.
21629
21630         * gst/gstbuffer.c (_gst_buffer_initialize): Ref the buffer type
21631         class once in init, like gstmessage. Didn't run into this issue
21632         but it seems correct. Don't initialize a trace, gstminiobject does
21633         that.
21634
21635         * check/pipelines/simple_launch_lines.c (test_stop_from_app): New
21636         test, runs fakesrc ! fakesink, stopping on ::handoff via a message
21637         to the bus.
21638         (assert_live_count): New util function, uses alloc traces to check
21639         cleanup.
21640
21641         * check/gst/gstghostpad.c (test_ghost_pads): More refcount checks.
21642         To be modified when unlink drops the internal pad.
21643
21644 2005-06-27  Wim Taymans  <wim@fluendo.com>
21645
21646         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_iterate_state_order),
21647         (gst_bin_change_state):
21648         Cleanup the get_state() function a little, make sure it
21649         iterates the same set of elements.
21650         Added stub iterate_state_order().
21651
21652 2005-06-27  Thomas Vander Stichele  <thomas at apestaart dot org>
21653
21654         * docs/gst/gstreamer-docs.sgml:
21655         * docs/gst/gstreamer-sections.txt:
21656         * docs/gst/gstreamer.types:
21657         * docs/gst/tmpl/gstbasesink.sgml:
21658         * docs/gst/tmpl/gstbasesrc.sgml:
21659         * docs/gst/tmpl/gstbasetransform.sgml:
21660         * docs/gst/tmpl/gstelement.sgml:
21661         * docs/gst/tmpl/gstiterator.sgml:
21662         * gst/base/gstbasesrc.c:
21663         * gst/base/gstbasesrc.h:
21664         * gst/base/gstbasetransform.h:
21665         * gst/gstelement.c:
21666         * gst/gstiterator.h:
21667           adding basetransform and iterator docs
21668
21669 2005-06-27  Andy Wingo  <wingo@pobox.com>
21670
21671         * docs/design/part-activation.txt: Notes on how activation should
21672         work -- not quite implemented yet.
21673
21674 2005-06-25  Wim Taymans  <wim@fluendo.com>
21675
21676         * gst/gstghostpad.c: (gst_proxy_pad_do_chain):
21677         At least get the chain function correct, needs more
21678         fixing.
21679
21680 2005-06-25  Wim Taymans  <wim@fluendo.com>
21681
21682         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
21683         (gst_basesink_handle_object), (gst_basesink_event),
21684         (gst_basesink_do_sync), (gst_basesink_handle_event),
21685         (gst_basesink_change_state):
21686         * gst/gsttask.h:
21687         Right, two problems here: ghostpads don't take locks and
21688         glib _rec_mutex_lock_full() with depth==0 still locks.
21689         Catch illegal locking and g_warn them.
21690
21691 2005-06-25  Wim Taymans  <wim@fluendo.com>
21692
21693         * check/states/sinks.c: (START_TEST), (gst_object_suite):
21694         Have to check for completion now...
21695
21696 2005-06-25  Wim Taymans  <wim@fluendo.com>
21697
21698         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
21699         (gst_basesink_handle_object), (gst_basesink_event),
21700         (gst_basesink_do_sync), (gst_basesink_handle_event),
21701         (gst_basesink_change_state):
21702         * gst/gstpad.h:
21703         Unlock STREAM_LOCK whatever the recursion was.
21704
21705 2005-06-25  Wim Taymans  <wim@fluendo.com>
21706
21707         * gst/base/gstbasesink.c: (gst_basesink_set_property),
21708         (gst_basesink_preroll_queue_empty),
21709         (gst_basesink_preroll_queue_flush), (gst_basesink_handle_object),
21710         (gst_basesink_event), (gst_basesink_do_sync),
21711         (gst_basesink_handle_event), (gst_basesink_handle_buffer),
21712         (gst_basesink_chain), (gst_basesink_loop), (gst_basesink_activate),
21713         (gst_basesink_change_state):
21714         Reworked the base sink, handle event and buffer serialisation
21715         correctly and removed possible deadlock.
21716         Handle EOS correctly.
21717
21718 2005-06-25  Wim Taymans  <wim@fluendo.com>
21719
21720         * gst/gstpipeline.c: (is_eos), (pipeline_bus_handler),
21721         (gst_pipeline_change_state):
21722         * tools/gst-launch.c: (check_intr), (event_loop), (main):
21723         Allow elements to post EOS in the state change function.
21724         Fix up -launch, make it exit the poll loop when the
21725         pipeline actually changed state.
21726         Fix up warning parsing in -launch.
21727
21728 2005-06-25  Wim Taymans  <wim@fluendo.com>
21729
21730         * gst/elements/gsttee.c: (gst_tee_chain), (gst_tee_loop),
21731         (gst_tee_sink_activate):
21732         Core takes STREAM_LOCK for us now.
21733
21734 2005-06-25  Wim Taymans  <wim@fluendo.com>
21735
21736         * gst/gstelement.c: (gst_element_get_state_func),
21737         (gst_element_set_state):
21738         * gst/gstelement.h:
21739         * gst/gstmessage.c: (gst_message_parse_error),
21740         (gst_message_parse_warning):
21741         Keep track of current target state while performing a state
21742         change so that subclasses can do something interesting.
21743         Fix parsing of warning/error messages when GError is NULL.
21744
21745 2005-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
21746
21747         * docs/gst/Makefile.am:
21748         * docs/gst/gstreamer-docs.sgml:
21749         * docs/gst/gstreamer-sections.txt:
21750         * docs/gst/gstreamer.types:
21751         * docs/gst/tmpl/gstbasesink.sgml:
21752         * docs/gst/tmpl/gstbasesrc.sgml:
21753         * docs/gst/tmpl/gstbin.sgml:
21754         * docs/gst/tmpl/gstcompat.sgml:
21755         * docs/gst/tmpl/gstfakesink.sgml:
21756         * docs/gst/tmpl/gstfakesrc.sgml:
21757         * docs/gst/tmpl/gstfilesink.sgml:
21758         * docs/gst/tmpl/gstfilesrc.sgml:
21759         * docs/gst/tmpl/gstindex.sgml:
21760         * docs/manual/appendix-quotes.xml:
21761         * gst/base/gstbasesrc.h:
21762         * gst/elements/gstfakesrc.h:
21763         * gst/gstmessage.h:
21764           start pulling in base classes and elements in our docs
21765
21766 2005-06-24  Stefan Kost  <ensonic@users.sf.net>
21767
21768         * docs/gst/Makefile.am:
21769         * docs/libs/Makefile.am:
21770           fixed make distcheck with gtk-doc 1.3
21771
21772 2005-06-23  Wim Taymans  <wim@fluendo.com>
21773
21774         * gst/gstelement.c: (gst_element_get_state_func),
21775         (gst_element_set_state), (gst_element_change_state):
21776         When the state did not change, also report NO_PREROLL
21777         when it matters.
21778
21779 2005-06-23  Wim Taymans  <wim@fluendo.com>
21780
21781         * gst/gstpad.c: (gst_pad_event_default):
21782         * gst/gstqueue.c: (gst_queue_loop):
21783         No unsafe task pausing please.
21784
21785 2005-06-23  Wim Taymans  <wim@fluendo.com>
21786
21787         * gst/schedulers/threadscheduler.c:
21788         (gst_thread_scheduler_task_start),
21789         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_func):
21790         Ref the task before pushing it on the threadpool. This
21791         makes sure that we have a ref when the threadfunction is
21792         actually called.
21793
21794 2005-06-23  Andy Wingo  <wingo@pobox.com>
21795
21796         * gst/base/gstbasesrc.c (gst_basesrc_get_range): Check if the
21797         offset is greater than the file's size.
21798
21799         * gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK) 
21800         (GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass)
21801         * gst/gstobject.c (gst_object_class_init): Make the class lock
21802         recursive. Wim won't let me drop deep_notify. Decodebin works
21803         again, whoopdy doo.
21804
21805         * gst/gstghostpad.c (on_int_notify): Catches notify::caps on the
21806         internal pad, and hacks accordingly. Doesn't do it on the target
21807         pad because we change its caps. Probably catches all cases of
21808         interest tho.
21809         (gst_ghost_pad_set_property): Connect to notify::caps as
21810         appropritate.
21811
21812         * tests/network-clock.scm (plot-simulation): Pipe data to the
21813         elite python skript.
21814
21815         * tests/network-clock-utils.scm (define-parameter): New macro,
21816         defines a parameter that can be set via the command line.
21817         (set-parameter!, parse-parameter-arguments): Command line args
21818         parser.
21819
21820         * tests/plot-data: Simple matplotlib-based plotter, takes input on
21821         stdin.
21822
21823 2005-06-23  Jan Schmidt  <thaytan@mad.scientist.com>
21824
21825         * gst/elements/gsttypefindelement.c:
21826         (gst_type_find_element_handle_event):
21827           Don't restart typefinding on a discont.
21828         * gst/gstelement.c: (gst_element_set_state):
21829           Debug spelling fix.
21830         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_send_event):
21831           Allow changing mode of an active pad.
21832           Debug output fixes.
21833         * gst/registries/gstlibxmlregistry.c: (load_feature):
21834           Don't cast a static pad template to a normal pad template.
21835
21836 2005-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
21837
21838         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
21839         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
21840           remove gst_strtoll completely, since it didn't actually do
21841           anything more than what g_ascii_strtoull already does.
21842           check for range errors when deserializing
21843           do a cast for the unsigned cases; but further fixing needs
21844           a decision on what the interpretation of "(int)" and
21845           deserialization should be for values that fall outside the
21846           type's boundaries (ie, refuse, or interpret as casting)
21847
21848 2005-06-23  Wim Taymans  <wim@fluendo.com>
21849
21850         * check/Makefile.am:
21851         * check/states/sinks.c: (START_TEST), (gst_object_suite), (main):
21852         * docs/design/part-live-source.txt:
21853         * docs/design/part-states.txt:
21854         * gst/base/gstbasesrc.c: (gst_basesrc_init),
21855         (gst_basesrc_set_live), (gst_basesrc_is_live),
21856         (gst_basesrc_get_range), (gst_basesrc_activate),
21857         (gst_basesrc_change_state):
21858         * gst/base/gstbasesrc.h:
21859         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
21860         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
21861         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_change_state):
21862         * gst/gstelement.c: (gst_element_get_state_func),
21863         (gst_element_set_state):
21864         * gst/gstelement.h:
21865         * gst/gsttypes.h:
21866         * tools/gst-launch.c: (event_loop), (main):
21867         Added support for live sources and other elements that
21868         cannot do preroll.
21869         Updated design docs, added live-source design doc.
21870         Implemented live source functionality in basesrc
21871         Fix error condition in _bin_get_state()
21872         Implement live source handling in -launch.
21873         Added check for live sources.
21874         Fixed case in GstBin where elements were changed state
21875         multiple times.
21876
21877
21878 2005-06-23  Andy Wingo  <wingo@pobox.com>
21879
21880         * check/gst/gstpad.c (test_get_allowed_caps, test_refcount): Fix
21881         borken refcounting.
21882
21883         * gst/gstpad.c (gst_pad_set_caps): Remove needless refs,
21884         gst_caps_replace takes care of this for us.
21885
21886         * gst/gstghostpad.c (gst_proxy_pad_do_setcaps): Call the full
21887         gst_pad_set_caps on the target, not just its setcaps() function.
21888
21889         * tests/network-clock.scm: 
21890         * tests/network-clock-utils.scm: A network clock simulator.
21891         Something of an algorithmic testbed before doing something in C.
21892
21893 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
21894
21895         * check/Makefile.am:
21896         * check/gst/capslist.h:
21897           copy over from 0.8, and add two with bitmasks specified with
21898           (int) 0xFF...
21899         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
21900           add test to parse everything from capslist.h
21901         * check/gst/gststructure.c: (START_TEST), (gst_value_suite),
21902         (main):
21903           add test for structure deserialization
21904         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
21905           add tests for deserialization of strings to int types
21906         * gst/gststructure.c: (gst_structure_nth_field_name):
21907         * gst/gststructure.h:
21908           add a way to get the name of a field referenced by index
21909         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
21910           instead of checking if the resulting long long lies between
21911           min and max, we check if the long long would fit into
21912           a number of bytes for the final type.
21913           This fixes cases where a string represents 2^32 - 1, which
21914           when cast to int would be the (valid) -1, but is bigger than
21915           G_MAXINT
21916
21917 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
21918
21919         * gst/parse/grammar.y:
21920           add a log line for type deserialization
21921
21922 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
21923
21924         * check/gst/gstvalue.c: (START_TEST):
21925         * gst/gstvalue.c: (gst_value_deserialize):
21926           return long long, not int, so gint64 deserialization actually
21927           works.  Is there any flag that makes the compiler check this ?
21928           Fixes #308559
21929
21930 2005-06-22  Wim Taymans  <wim@fluendo.com>
21931
21932         * gst/gstbuffer.h:
21933         Added convenience macros for setting buffers in GValue.
21934
21935 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
21936
21937         * check/gst/.cvsignore:
21938         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
21939           add a test deserializing int64, and comment part out because
21940           it fails, yay !
21941
21942 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
21943
21944         * check/Makefile.am:
21945         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite), (main):
21946         * testsuite/Makefile.am:
21947         * testsuite/caps/Makefile.am:
21948         * testsuite/caps/value_serialize.c:
21949         * testsuite/test_gst_init.c:
21950           move a value_serialize test over
21951
21952 2005-06-20  Wim Taymans  <wim@fluendo.com>
21953
21954         * gst/gstpad.c:
21955         Small doc updates.
21956         
21957         * gst/gstvalue.c: (gst_value_compare_buffer),
21958         (gst_value_serialize_buffer), (gst_value_deserialize_buffer),
21959         (gst_value_compare_flags), (gst_value_serialize_flags),
21960         (gst_value_deserialize_flags), (_gst_value_initialize):
21961         Fix serialisation of buffers, they are not boxed types anymore
21962
21963 2005-06-20  Wim Taymans  <wim@fluendo.com>
21964
21965         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
21966         Testcase to show error in buffer-on-caps serialisation.
21967
21968 2005-06-20  Andy Wingo  <wingo@pobox.com>
21969
21970         * docs/random/wingo/porting-plugins-to-0.9: A pitiful document I
21971         will be adding to later.
21972
21973         * gst/gstsystemclock.c (gst_system_clock_init): Unlock the clock
21974         if its socks fill with rocks.
21975         (gst_system_clock_obtain): Set the name on object construction.
21976         Avoid double-checked locking.
21977
21978 2005-06-20  Tim-Philipp Müller  <tim at centricular dot net>
21979
21980         * gst/gsturi.c: (gst_element_make_from_uri):
21981           Fix potential endless loop.
21982
21983 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
21984
21985         * check/Makefile.am:
21986           add gsttag
21987         * check/gst/gsttag.c: (check_tags), (START_TEST), (gst_tag_suite),
21988         (main):
21989           move over from testsuite dir and clean up
21990         * configure.ac:
21991         * gst/gsttag.c:
21992         * testsuite/Makefile.am:
21993         * testsuite/tags/.cvsignore:
21994         * testsuite/tags/Makefile.am:
21995         * testsuite/tags/merge.c:
21996           remove testsuite/tags
21997
21998 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
21999
22000         * docs/gst/gstreamer-sections.txt:
22001         * docs/gst/tmpl/gstenumtypes.sgml:
22002         * win32/gstenumtypes.c:
22003           clean up documentation build a little
22004
22005 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
22006
22007         * check/gstcheck.h:
22008           add macros for checking refcounts on objects and caps
22009         * check/gst/gstpad.c: (START_TEST), (gst_pad_suite):
22010           add some more unit tests
22011         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
22012         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_allowed_caps):
22013           fix leaked refcounts (I hope :)) so unittest works
22014         * gst/gstpad.h:
22015           whitespace removal
22016
22017 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
22018
22019         * configure.ac: back to HEAD
22020
22021 === release 0.9.1 ===
22022
22023 2005-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
22024
22025         * NEWS:
22026         * RELEASE:
22027           updated
22028
22029 2005-06-17  Andy Wingo  <wingo@pobox.com>
22030
22031         * gst/base/gstbasesink.c (gst_basesink_chain): Remove bogus
22032         assert; it's always possible that the pad gets deactivated in
22033         between the checks in gstpad.c and the implementation. Rely on
22034         finish_preroll() to return a FLUSHING or similar instead of on the
22035         assert.
22036         
22037         * gst/base/gstbasesink.c (gst_basesink_event): Only wait for the
22038         clock and post an EOS message if we come out of finish_preroll in
22039         the playing state.
22040
22041 2005-06-16  David Schleef  <ds@schleef.org>
22042
22043         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
22044         (gst_capsfilter_set_property): Allow NULL as possible value
22045         for filter_caps property, indicating GST_CAPS_ANY.
22046
22047 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
22048
22049         * gst/elements/gstfakesrc.c: (gst_fakesrc_create):
22050           fix debug output
22051         * gst/schedulers/Makefile.am:
22052           use libgst prefix
22053         * gstreamer.spec.in:
22054           fix spec for it
22055
22056 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
22057
22058         * gstreamer.spec.in:
22059           clean up
22060
22061 2005-06-08  Andy Wingo  <wingo@pobox.com>
22062
22063         * gst/gstutils.c: RPAD fixes all around.
22064         (gst_element_link_pads): Refcounting fixes.
22065
22066         * tools/gst-inspect.c:
22067         * tools/gst-xmlinspect.c:
22068         * parse/grammar.y:
22069         * gst/base/gsttypefindhelper.c:
22070         * gst/base/gstbasesink.c:
22071         * gst/gstqueue.c: RPAD fixes.
22072
22073         * gst/gstghostpad.h:
22074         * gst/gstghostpad.c: New ghost pad implementation as full proxy
22075         pads. The tricky thing is they provide both source and sink
22076         interfaces, since they proxy the internal pad for the external
22077         pad, and vice versa. Implement with lower-level ProxyPad objects,
22078         with the interior proxy pad as a child of the exterior ghost pad.
22079         Should write a doc on this.
22080         
22081         * gst/gstpad.h: s/RPAD/PAD/, s/RealPad/Pad/.
22082         (gst_pad_set_name, gst_pad_set_parent): Macros removed, use
22083         gst_object API.
22084         
22085         * gst/gstpad.c: Big changes. No more stub base GstPad, now all
22086         pads are real pads. No ghost pads in this file. Not documenting
22087         the myriad s/RPAD/PAD/ and REALIZE fixes.
22088         (gst_pad_class_init): Add properties for "direction" and
22089         "template". Both are construct-only, so they can't change during
22090         the life of the pad. Fixes properly deriving from GstPad.
22091         (gst_pad_custom_new, gst_pad_custom_new_from_template): Gone. For
22092         derived objects, just set properties when creating the objects via
22093         g_object_new.
22094         (gst_pad_get_parent): Implement as a function, return NULL if the
22095         parent is not an element.
22096         (gst_pad_get_real_parent, gst_pad_add_ghost_pad)
22097         (gst_pad_remove_ghost_pad, gst_pad_realize): Removed.
22098         
22099         * gst/gstobject.c (gst_object_class_init): Make name a construct
22100         property. Don't set it in the object init.
22101
22102         * gst/gstelement.c (gst_element_add_pad): Don't allow adding pads
22103         with UNKNOWN direction.
22104         (gst_element_add_ghost_pad): Remove non-orthogonal API. Replace
22105         with gst_element_add_pad (e, gst_ghost_pad_new (name, pad)).
22106         (gst_element_remove_pad): Remove ghost-pad special cases.
22107         (gst_element_pads_activate): Remove rpad cruft.
22108
22109         * gst/gstbin.c (gst_bin_change_state): Use gst_pad_get_parent to
22110         catch the pad's-parent-not-an-element case.
22111
22112         * gst/gst.h: Include gstghostpad.h.
22113
22114         * gst/gst.c (init_post): No more real, ghost pads.
22115
22116         * gst/Makefile.am: Add gstghostpad.[ch].
22117
22118         * check/Makefile.am:
22119         * check/gst/gstbin.c:
22120         * check/gst/gstghostpad.c (test_ghost_pads): Check that linking
22121         into a bin creates ghost pads, and that the refcounts are right.
22122         Partly moved from gstbin.c.
22123
22124 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
22125
22126         * check/gst-libs/.cvsignore:
22127         * check/gst/.cvsignore:
22128         * check/pipelines/.cvsignore:
22129           ignore more
22130         * check/pipelines/cleanup.c: (setup_pipeline), (run_pipeline),
22131         (START_TEST), (cleanup_suite), (main):
22132           add some tests related to cleanup after running pipelines
22133
22134 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
22135
22136         * check/gst/gstbuffer.c: (START_TEST), (gst_test_suite), (main):
22137           add a testsuite for GstBuffer
22138
22139 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
22140
22141         * gst/gstminiobject.h:
22142           add defines for accessing the refcount
22143
22144 2005-06-03  Stefan Kost  <ensonic@users.sf.net>
22145
22146         * Makefile.am: added support for html unit test coverage reports
22147
22148 2005-06-03  Jan Schmidt  <thaytan@mad.scientist.com>
22149
22150         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
22151           Free existing caps if the capsfilter changes. Add a FIXME about
22152           setting those caps on the pads.
22153
22154         * gst/gstutils.c: (gst_element_get_compatible_pad), (ghost_up):
22155           Before adding a ghost pad to a parent bin, check that there isn't
22156           already one for the element on the bin. Prevents infinite recursion
22157           when using decodebin in parse pipelines. Andy says he'll rewrite the
22158           way this works anyway, so ignore the hack.
22159
22160 2005-06-02  Andy Wingo  <wingo@pobox.com>
22161
22162         * gst/elements/gsttypefindelement.c (do_pull_typefind): Query the
22163         file size, pass it on to the type find helper.
22164
22165         * gst/base/gstbasesrc.c (gst_basesrc_do_seek): Set the
22166         segment_start and segment_end properly according to the seek
22167         method. Segment_end is still a bit flaky because offset can be
22168         negative for CUR and END cases, but it takes -1 as an "unset"
22169         value.
22170
22171 2005-06-02  Wim Taymans  <wim@fluendo.com>
22172
22173         * gst/base/gstbasesink.c: (gst_basesink_pad_buffer_alloc),
22174         (gst_base_sink_buffer_alloc), (gst_basesink_preroll_queue_push),
22175         (gst_basesink_activate):
22176         * gst/base/gstbasesink.h:
22177         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
22178         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
22179         (gst_pad_query), (gst_pad_start_task):
22180         * gst/gstpad.h:
22181         * gst/gstqueue.c: (gst_queue_bufferalloc),
22182         (gst_queue_handle_sink_event), (gst_queue_chain):
22183         Bufferalloc: return GstFlowReturn to more accuratly report
22184         why allocation failed.
22185
22186 2005-06-02  Wim Taymans  <wim@fluendo.com>
22187
22188         * gst/gstpipeline.c: (gst_pipeline_send_event):
22189         Take snapshot of state without blocking.
22190
22191 2005-06-02  Wim Taymans  <wim@fluendo.com>
22192
22193         * docs/design/part-TODO.txt:
22194         * docs/design/part-caps.txt:
22195         * docs/design/part-clocks.txt:
22196         * docs/design/part-negotiation.txt:
22197         * docs/design/part-preroll.txt:
22198         Small doc updates 
22199
22200 2005-05-30  Wim Taymans  <wim@fluendo.com>
22201
22202         * gst/elements/gstidentity.c: (gst_identity_event),
22203         (gst_identity_transform), (gst_identity_get_property):
22204         Protect last_message property as it is accessed from
22205         multiple threads.
22206
22207 2005-05-30  Wim Taymans  <wim@fluendo.com>
22208
22209         * gst/gstelement.c: (gst_element_init),
22210         (gst_element_pads_activate), (gst_element_change_state):
22211         Slicker pad activation code.
22212
22213 2005-05-30  Wim Taymans  <wim@fluendo.com>
22214
22215         * gst/Makefile.am:
22216         * gst/gstelement.h:
22217         * gst/gstelementfactory.h:
22218         * gst/gsttypes.h:
22219         Move elementfactory methods to separate .h file.
22220
22221 2005-05-30  Wim Taymans  <wim@fluendo.com>
22222
22223         * docs/design/part-overview.txt:
22224         * gst/gstsystemclock.h:
22225         Small typo fixes, doc updates.
22226
22227 2005-05-30  Wim Taymans  <wim@fluendo.com>
22228
22229         * gst/gst.c: (gst_init_get_popt_table), (init_post),
22230         (init_popt_callback):
22231         Remove cpu-opt flag.
22232
22233 2005-05-30  Wim Taymans  <wim@fluendo.com>
22234
22235         * gst/gstbuffer.c: (gst_subbuffer_finalize),
22236         (gst_buffer_create_sub), (gst_buffer_is_span_fast):
22237         * gst/gstbuffer.h:
22238         Avoid typechecking in places where not needed.
22239         Added accessor for malloc_data.
22240
22241 2005-05-30  Wim Taymans  <wim@fluendo.com>
22242
22243         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_set_active),
22244         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_accept_caps),
22245         (gst_pad_configure_sink), (gst_pad_configure_src),
22246         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_send_event),
22247         (gst_pad_start_task):
22248         Propagate errors from _set_caps() in configure_src/sink
22249         functions instead of returning TRUE.
22250         FLUSH events can travel up and downstream
22251
22252
22253 2005-05-30  Wim Taymans  <wim@fluendo.com>
22254
22255         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
22256         (gst_basesink_activate):
22257         Handle EOS in preroll.
22258
22259 2005-05-30  Wim Taymans  <wim@fluendo.com>
22260
22261         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
22262         (gst_queue_loop), (gst_queue_handle_src_event):
22263         Remove old pieces of code
22264         Flushing the queue in an upstream event is a very bad idea.
22265
22266 2005-05-26  Andy Wingo  <wingo@pobox.com>
22267
22268         * gst/gstminiobject.c (gst_value_mini_object_collect): Use
22269         gst_value_set_mini_object so as to add a ref on the object (which
22270         will be removed when the value is unset).
22271
22272         * gst/elements/gstfakesink.c (gst_fakesink_class_init): Fix signal
22273         arg type in ::handoff.
22274
22275         * gst/gstelement.c (gst_element_change_state): Also deactivate
22276         pads in READY->NULL, just in case the element didn't make it to
22277         PAUSED. Wingo tested, Wim approved.
22278
22279 2005-05-26  Wim Taymans  <wim@fluendo.com>
22280
22281         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
22282         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
22283         (gst_pad_query), (gst_pad_send_event), (gst_pad_start_task):
22284         A flushing pad cannot be used to alloc_buffer from.
22285
22286 2005-05-26  Wim Taymans  <wim@fluendo.com>
22287
22288         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
22289         (gst_bus_pop), (gst_bus_source_prepare), (gst_bus_source_check),
22290         (gst_bus_source_dispatch), (gst_bus_source_finalize),
22291         (gst_bus_create_watch), (gst_bus_add_watch_full):
22292         * gst/gstbus.h:
22293         Implement a real GSource and use g_main_context_wakeup() to
22294         signal new messages instead of the socketpair.
22295
22296 2005-05-25  Wim Taymans  <wim@fluendo.com>
22297
22298         * gst/gstbin.c: (bin_element_is_sink), (has_ancestor),
22299         (bin_element_is_semi_sink), (append_child), (gst_bin_change_state):
22300         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
22301         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
22302         (gst_pad_send_event), (gst_pad_start_task):
22303         * gst/gstqueue.c: (gst_queue_init), (gst_queue_locked_flush),
22304         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
22305         (gst_queue_sink_activate), (gst_queue_src_activate),
22306         (gst_queue_change_state):
22307         * gst/gstqueue.h:
22308         Fix state changes for non sinks. We now change sinks, then elements
22309         with unconnected srcpads, then the rest.
22310         More efficient queue unlocking in flush and state changes.
22311         Set the pad activate mode even if it does not have an activate
22312         function.
22313
22314 2005-05-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
22315
22316         * gst/base/gstbasesrc.c: (gst_basesrc_activate):
22317           Don't go in pull mode for non-seekable sources.
22318         * gst/elements/gsttypefindelement.h:
22319         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
22320         (gst_type_find_element_dispose), (gst_type_find_handle_src_query),
22321         (free_entry), (stop_typefinding),
22322         (gst_type_find_element_handle_event), (find_peek),
22323         (gst_type_find_element_chain), (do_pull_typefind),
22324         (gst_type_find_element_change_state):
22325           Allow typefinding (w/o seeking) in push-mode, simplified version
22326           of what was in 0.8.
22327         * gst/gstutils.c: (gst_buffer_join):
22328         * gst/gstutils.h:
22329           gst_buffer_join() from 0.8.
22330
22331 2005-05-25  Wim Taymans  <wim@fluendo.com>
22332
22333         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
22334         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
22335         (gst_pad_send_event), (gst_pad_start_task):
22336         Disable attempt at mode switching until it is figured out.
22337
22338 2005-05-25  Wim Taymans  <wim@fluendo.com>
22339
22340         * gst/base/gstadapter.c: (gst_adapter_peek), (gst_adapter_flush):
22341         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
22342         (gst_basesink_finish_preroll), (gst_basesink_chain),
22343         (gst_basesink_loop), (gst_basesink_activate),
22344         (gst_basesink_change_state):
22345         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek),
22346         (gst_basesrc_get_range), (gst_basesrc_loop),
22347         (gst_basesrc_activate):
22348         * gst/elements/gsttee.c: (gst_tee_sink_activate):
22349         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
22350         (gst_real_pad_init), (gst_real_pad_set_property),
22351         (gst_real_pad_get_property), (gst_pad_set_active),
22352         (gst_pad_is_active), (gst_pad_get_query_types), (gst_pad_unlink),
22353         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_real_parent),
22354         (gst_real_pad_get_caps_unlocked), (gst_pad_peer_get_caps),
22355         (gst_pad_accept_caps), (gst_pad_get_peer), (gst_pad_realize),
22356         (gst_pad_event_default_dispatch), (gst_pad_event_default),
22357         (gst_pad_dispatcher), (gst_pad_query), (gst_real_pad_dispose),
22358         (gst_pad_save_thyself), (handle_pad_block), (gst_pad_chain),
22359         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
22360         (gst_pad_send_event), (gst_pad_start_task), (gst_pad_pause_task),
22361         (gst_pad_stop_task):
22362         * gst/gstpad.h:
22363         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
22364         (gst_queue_loop), (gst_queue_src_activate):
22365         * gst/gsttask.c: (gst_task_init), (gst_task_set_lock),
22366         (gst_task_get_state):
22367         * gst/gsttask.h:
22368         * gst/schedulers/threadscheduler.c:
22369         (gst_thread_scheduler_task_start), (gst_thread_scheduler_func):
22370         Implement gst_pad_pause/start/stop_task(), take STREAM lock
22371         in task function.
22372         Remove ACTIVE pad flag, use FLUSHING everywhere
22373         Added _pad_chain(), _pad_get_range() to call chain/getrange 
22374         functions.
22375         Add locks around IS_FLUSHING when reading.
22376         Take STREAM lock in chain(), get_range() functions so plugins
22377         don't need to take it anymore.
22378         
22379
22380
22381 2005-05-25  Wim Taymans  <wim@fluendo.com>
22382
22383         * tools/gst-launch.c: (event_loop):
22384         Unref message after using its contents instead of
22385         before.
22386
22387 2005-05-24  Wim Taymans  <wim@fluendo.com>
22388
22389         * docs/design/draft-ghostpads.txt:
22390         * docs/design/draft-push-pull.txt:
22391         * docs/design/draft-query.txt:
22392         * docs/design/part-overview.txt:
22393         Docs updates, added general overview doc.
22394
22395 2005-05-21  David Schleef  <ds@schleef.org>
22396
22397         * docs/gst/tmpl/old/GstBin.sgml:
22398         * docs/gst/tmpl/old/GstBuffer.sgml:
22399         * docs/gst/tmpl/old/GstCaps.sgml:
22400         * docs/gst/tmpl/old/GstClock.sgml:
22401         * docs/gst/tmpl/old/GstCompat.sgml:
22402         * docs/gst/tmpl/old/GstData.sgml:
22403         * docs/gst/tmpl/old/GstElement.sgml:
22404         * docs/gst/tmpl/old/GstEvent.sgml:
22405         * docs/gst/tmpl/old/GstIndex.sgml:
22406         * docs/gst/tmpl/old/GstStructure.sgml:
22407         * docs/gst/tmpl/old/GstTag.sgml:
22408         * docs/gst/tmpl/old/cothreads.sgml:
22409         * docs/gst/tmpl/old/cothreads_compat.sgml:
22410         * docs/gst/tmpl/old/gettext.sgml:
22411         * docs/gst/tmpl/old/gobject2gtk.sgml:
22412         * docs/gst/tmpl/old/grammar.tab.sgml:
22413         * docs/gst/tmpl/old/gst-i18n-app.sgml:
22414         * docs/gst/tmpl/old/gst-i18n-lib.sgml:
22415         * docs/gst/tmpl/old/gst_private.sgml:
22416         * docs/gst/tmpl/old/gstaggregator.sgml:
22417         * docs/gst/tmpl/old/gstarch.sgml:
22418         * docs/gst/tmpl/old/gstatomic_impl.sgml:
22419         * docs/gst/tmpl/old/gstbufferstore.sgml:
22420         * docs/gst/tmpl/old/gstdata_private.sgml:
22421         * docs/gst/tmpl/old/gstdisksink.sgml:
22422         * docs/gst/tmpl/old/gstdisksrc.sgml:
22423         * docs/gst/tmpl/old/gstelementfactory.sgml:
22424         * docs/gst/tmpl/old/gstextratypes.sgml:
22425         * docs/gst/tmpl/old/gstfakesink.sgml:
22426         * docs/gst/tmpl/old/gstfakesrc.sgml:
22427         * docs/gst/tmpl/old/gstfdsink.sgml:
22428         * docs/gst/tmpl/old/gstfdsrc.sgml:
22429         * docs/gst/tmpl/old/gstfilesink.sgml:
22430         * docs/gst/tmpl/old/gstfilesrc.sgml:
22431         * docs/gst/tmpl/old/gsthttpsrc.sgml:
22432         * docs/gst/tmpl/old/gstidentity.sgml:
22433         * docs/gst/tmpl/old/gstindexfactory.sgml:
22434         * docs/gst/tmpl/old/gstmarshal.sgml:
22435         * docs/gst/tmpl/old/gstmd5sink.sgml:
22436         * docs/gst/tmpl/old/gstmultidisksrc.sgml:
22437         * docs/gst/tmpl/old/gstmultifilesrc.sgml:
22438         * docs/gst/tmpl/old/gstpadtemplate.sgml:
22439         * docs/gst/tmpl/old/gstpipefilter.sgml:
22440         * docs/gst/tmpl/old/gstschedulerfactory.sgml:
22441         * docs/gst/tmpl/old/gstsearchfuncs.sgml:
22442         * docs/gst/tmpl/old/gstshaper.sgml:
22443         * docs/gst/tmpl/old/gstspider.sgml:
22444         * docs/gst/tmpl/old/gstspideridentity.sgml:
22445         * docs/gst/tmpl/old/gststatistics.sgml:
22446         * docs/gst/tmpl/old/gsttee.sgml:
22447         * docs/gst/tmpl/old/gsttimecache.sgml:
22448         * docs/gst/tmpl/old/gsttypefindfactory.sgml:
22449         * docs/gst/tmpl/old/gstxmlregistry.sgml:
22450         * docs/gst/tmpl/old/gthread-cothreads.sgml:
22451         * docs/gst/tmpl/old/types.sgml:
22452           I didn't intend to add these or check them in.
22453
22454 2005-05-19  David Schleef  <ds@schleef.org>
22455
22456         * configure.ac: Use -no-common everywhere.  In a sane world, it
22457           would be the default in libtool, because without it, you can't
22458           build DLLs on Windows.
22459         * docs/gst/gstreamer-docs.sgml: Remove GstCpu, GstData, GstThread
22460         * docs/gst/gstreamer-sections.txt:
22461         * docs/gst/tmpl/gstcpu.sgml:
22462         * docs/gst/tmpl/gstdata.sgml:
22463         * docs/gst/tmpl/gstthread.sgml:
22464
22465 2005-05-19  David Schleef  <ds@schleef.org>
22466
22467         * gst/gstminiobject.c: (gst_value_set_mini_object),
22468         (gst_value_take_mini_object), (gst_value_get_mini_object):
22469         * gst/gstminiobject.h: Add GValue set/get functions.
22470
22471 2005-05-19  Wim Taymans  <wim@fluendo.com>
22472
22473         * gst/gstbuffer.c: (gst_buffer_init), (gst_subbuffer_get_type),
22474         (gst_subbuffer_class_init), (gst_subbuffer_finalize),
22475         (gst_subbuffer_init), (gst_buffer_is_span_fast):
22476         * gst/gstbuffer.h:
22477         * gst/gstbus.c: (gst_bus_post):
22478         * gst/gstelement.c: (gst_element_get_random_pad):
22479         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize):
22480         Make subbufer unref the parent in finalize.
22481         some more debugging info.
22482
22483
22484 2005-05-19  Wim Taymans  <wim@fluendo.com>
22485
22486         * gst/base/gstbasesink.c: (gst_basesink_class_init),
22487         (gst_basesink_init), (gst_basesink_finalize),
22488         (gst_basesink_activate), (gst_basesink_change_state):
22489         Don't free preroll queue too early.
22490
22491 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
22492
22493         * gst/Makefile.am:
22494         * gst/ROADMAP:
22495           Hi, I'm outdated. Please shoot me.
22496
22497 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
22498
22499         * gst/gstpipeline.c: (gst_pipeline_send_event):
22500           Do not access variables after they have been deleted.
22501
22502 2005-05-19  Wim Taymans  <wim@fluendo.com>
22503
22504         * tools/gst-inspect.c: (print_plugin_features):
22505         A plugin feature does unfortunatly not use the
22506         object name yet...
22507
22508 2005-05-18  Wim Taymans  <wim@fluendo.com>
22509
22510         * gst/gstbuffer.c: (gst_buffer_is_span_fast), (gst_buffer_span):
22511         Port _span() functions to new subbuffers.
22512
22513 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
22514
22515         * gst/gstbin.c: (gst_bin_add_func):
22516           Fix clock settery in bins when adding kids after the clock has
22517           been selected.
22518
22519 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
22520
22521         * gst/elements/gstidentity.c: (gst_identity_class_init):
22522           Workaround until signals support GstMiniObject.
22523
22524 2005-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
22525
22526         * gst/gstbuffer.c:
22527         Oops, fix a typo GST_TYPE_BUFFER -> GST_TYPE_SUBBUFFER.
22528
22529 2005-05-18  Wim Taymans  <wim@fluendo.com>
22530
22531         * gst/base/Makefile.am:
22532         * gst/base/gstadapter.c: (gst_adapter_base_init),
22533         (gst_adapter_class_init), (gst_adapter_init),
22534         (gst_adapter_dispose), (gst_adapter_finalize), (gst_adapter_new),
22535         (gst_adapter_clear), (gst_adapter_push), (gst_adapter_peek),
22536         (gst_adapter_flush), (gst_adapter_available),
22537         (gst_adapter_available_fast):
22538         * gst/base/gstadapter.h:
22539         Ported and added adapter to the base classes.
22540
22541 2005-05-17  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
22542
22543         * gst/gst.c:
22544         * gst/gstmessage.c:
22545           Make sure the class is reffed/unreffed once before threads can be
22546           used.  Fixes #304551.
22547
22548 2005-05-17  Wim Taymans  <wim@fluendo.com>
22549
22550         * gst/base/gstbasesink.c: (gst_basesink_finish_preroll),
22551         (gst_basesink_chain_unlocked), (gst_basesink_activate):
22552         * gst/gstminiobject.c: (gst_mini_object_get_type),
22553         (gst_mini_object_free):
22554         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query),
22555         (gst_pad_push), (gst_pad_push_event):
22556         * gst/gstqueue.c: (gst_queue_change_state):
22557         Don't queue buffers in basesink when we are flushing.
22558         Unref buffer when flushing in basesink.
22559         Flush queue when going to READY
22560         Unref buffer when _push() returns an error.
22561         Don't free MiniObject instance when refcount is incremented
22562         in _finalize() so that we can recover objects.
22563
22564 2005-05-17  Thomas Vander Stichele  <thomas at apestaart dot org>
22565
22566         * docs/manual/advanced-schedulers.xml:
22567         * docs/manual/appendix-checklist.xml:
22568         * docs/pwg/advanced-clock.xml:
22569         * docs/pwg/advanced-interfaces.xml:
22570         * docs/pwg/advanced-request.xml:
22571         * docs/pwg/advanced-types.xml:
22572         * docs/pwg/intro-preface.xml:
22573         * examples/plugins/example.c: (gst_example_get_type),
22574         (gst_example_class_init), (gst_example_chain),
22575         (gst_example_set_property), (gst_example_get_property),
22576         (gst_example_change_state), (plugin_init):
22577         * examples/plugins/example.h:
22578           small doc fixes
22579
22580 2005-05-17  Wim Taymans  <wim@fluendo.com>
22581
22582         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps),
22583         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_push):
22584         * gst/gstqueue.c: (gst_queue_change_state):
22585         Clear queue when going to READY.
22586         Remove IN_SETCAPS flag too.
22587
22588 2005-05-17  Tim-Philipp Müller  <tim at centricular dot net>
22589
22590         * gst/base/gstbasesrc.c: (gst_basesrc_change_state):
22591           Remove implicit cast from gboolean to GstElementStateReturn;
22592           make sure we still return failure in paused => ready case if
22593           the parent class fails to change state and our own stop 
22594           vfunc succeeds.
22595
22596 2005-05-17  Wim Taymans  <wim@fluendo.com>
22597
22598         * tools/gst-launch.c: (event_loop):
22599         Message was unreffed too soon.
22600
22601 2005-05-16  Andy Wingo  <wingo@pobox.com>
22602
22603         * gst/gstbin.c (sink_iterator_filter): Err... um...
22604
22605         * check/gst/gstbin.c (test_ghost_pads): New test for the
22606         ghosting-if-elements-not-in-same-bin behavior.
22607
22608 2005-05-16  David Schleef  <ds@schleef.org>
22609
22610         * gst/gstminiobject.c: Use g_atomic_int_get() instead of
22611         accessing refcount directly.
22612
22613 2005-05-15  David Schleef  <ds@schleef.org>
22614
22615         * check/Makefile.am: remove GstData checks
22616         * check/gst-libs/gdp.c: (START_TEST): fix for API changes
22617         * gst/Makefile.am: add miniobject, remove data
22618         * gst/gst.h: add miniobject, remove data
22619         * gst/gstdata.c: remove
22620         * gst/gstdata.h: remove
22621         * gst/gstdata_private.h: remove
22622         * gst/gsttypes.h: remove GstEvent and GstMessage
22623         * gst/gstelement.c: (gst_element_post_message): fix for API changes
22624         * gst/gstmarshal.list: change BOXED -> OBJECT
22625
22626         Implement GstMiniObject.
22627         * gst/gstminiobject.c:
22628         * gst/gstminiobject.h:
22629
22630         Modify to be subclasses of GstMiniObject.
22631         * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
22632         (gst_buffer_class_init), (gst_buffer_finalize), (_gst_buffer_copy),
22633         (gst_buffer_init), (gst_buffer_new), (gst_buffer_new_and_alloc),
22634         (gst_subbuffer_get_type), (gst_subbuffer_init),
22635         (gst_buffer_create_sub), (gst_buffer_is_span_fast),
22636         (gst_buffer_span):
22637         * gst/gstbuffer.h:
22638         * gst/gstevent.c: (_gst_event_initialize), (gst_event_get_type),
22639         (gst_event_class_init), (gst_event_init), (gst_event_finalize),
22640         (_gst_event_copy), (gst_event_new):
22641         * gst/gstevent.h:
22642         * gst/gstmessage.c: (_gst_message_initialize),
22643         (gst_message_get_type), (gst_message_class_init),
22644         (gst_message_init), (gst_message_finalize), (_gst_message_copy),
22645         (gst_message_new), (gst_message_new_error),
22646         (gst_message_new_warning), (gst_message_new_tag),
22647         (gst_message_new_state_changed), (gst_message_new_application):
22648         * gst/gstmessage.h:
22649         * gst/gstprobe.c: (gst_probe_perform),
22650         (gst_probe_dispatcher_dispatch):
22651         * gst/gstprobe.h:
22652         * gst/gstquery.c: (_gst_query_initialize), (gst_query_get_type),
22653         (gst_query_class_init), (gst_query_finalize), (gst_query_init),
22654         (_gst_query_copy), (gst_query_new):
22655
22656         Update elements for GstData -> GstMiniObject changes
22657         * gst/gstquery.h:
22658         * gst/gstqueue.c: (gst_queue_finalize), (gst_queue_locked_flush),
22659         (gst_queue_chain), (gst_queue_loop):
22660         * gst/elements/gstbufferstore.c:
22661         (gst_buffer_store_add_buffer_func),
22662         (gst_buffer_store_cleared_func), (gst_buffer_store_get_buffer):
22663         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
22664         (gst_fakesink_render):
22665         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
22666         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_get_type),
22667         (gst_mmap_buffer_class_init), (gst_mmap_buffer_init),
22668         (gst_mmap_buffer_finalize), (gst_filesrc_map_region),
22669         (gst_filesrc_create_read):
22670         * gst/elements/gstidentity.c: (gst_identity_class_init):
22671         * gst/elements/gsttypefindelement.c:
22672         (gst_type_find_element_src_event), (free_entry_buffers),
22673         (gst_type_find_element_handle_event):
22674         * libs/gst/dataprotocol/dataprotocol.c:
22675         (gst_dp_header_from_buffer):
22676         * libs/gst/dataprotocol/dataprotocol.h:
22677         * libs/gst/dataprotocol/dp-private.h:
22678
22679 2005-05-15  David Schleef  <ds@schleef.org>
22680
22681         * gst/elements/gstelements.c: Don't include headers that were
22682         just removed.
22683
22684 2005-05-15  David Schleef  <ds@schleef.org>
22685
22686         * gst/elements/Makefile.am: Remove some elements that don't
22687         need to be in the core (or even exist at all).
22688         * gst/elements/gstaggregator.c:
22689         * gst/elements/gstaggregator.h:
22690         * gst/elements/gstmd5sink.c:
22691         * gst/elements/gstmd5sink.h:
22692         * gst/elements/gstmultifilesrc.c:
22693         * gst/elements/gstmultifilesrc.h:
22694         * gst/elements/gstpipefilter.c:
22695         * gst/elements/gstpipefilter.h:
22696         * gst/elements/gstshaper.c:
22697         * gst/elements/gstshaper.h:
22698         * gst/elements/gststatistics.c:
22699         * gst/elements/gststatistics.h:
22700         * po/POTFILES.in: Remove above files.
22701
22702 2005-05-14  Andy Wingo  <wingo@pobox.com>
22703
22704         * gst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter
22705         so as to get the refs right.
22706         (sink_iterator_filter): New function, wraps bin_element_is_sink,
22707         unreffing objects that don't pass the filter.
22708
22709         * gst/gstpipeline.c (gst_pipeline_init): Drop ref on bus after
22710         gst_element_set_bus.
22711         (gst_pipeline_dispose): Set the bus on the pipeline to NULL. In
22712         normal cases, this will destroy the bus.
22713
22714         * gst/gstutils.c (prepare_link_maybe_ghosting): Drop ref on root
22715         object.
22716
22717         * gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin
22718         has no sinks.
22719
22720 2005-05-13  Andy Wingo  <wingo@pobox.com>
22721
22722         * gst/gstutils.c (gst_element_link_pads): Instead of calling
22723         gst_pad_link, call pad_link_maybe_ghosting,
22724         (pad_link_maybe_ghosting): Links pads, making sure that the
22725         elements being linked are in the same bin.
22726         (find_common_root, object_has_ancestor, ghost_up, remove_pad):
22727         Helpers for pad_link_maybe_ghosting.
22728
22729 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
22730
22731         * configure.ac:
22732           Require GLib >= 2.4.0 (for the g_atomic_* funcs)
22733
22734 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
22735
22736         * docs/design/part-element-source.txt:
22737           Mention GstPushSrc
22738
22739 2005-05-12  Wim Taymans  <wim@fluendo.com>
22740
22741         * gst/base/gstbasesink.c: (gst_basesink_init),
22742         (gst_basesink_activate):
22743         * gst/base/gstbasesrc.c: (gst_basesrc_unlock),
22744         (gst_basesrc_is_seekable):
22745         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
22746         (bin_element_is_sink), (gst_bin_change_state):
22747         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
22748         * gst/gstelement.h:
22749         Identify sinks by their flag to avoid overly complicated
22750         checks (fow now).
22751         Do state changes even for elements not reachable from the
22752         sinks.
22753         BaseSink is a sink now :)
22754         Some more debugging info in the basesrc.
22755
22756
22757 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
22758
22759         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_query):
22760           Implement _query on a bin, similar to _send_event.
22761
22762 2005-05-12  Tim-Philipp Müller  <tim at centricular dot net>
22763
22764         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek):
22765           Discont event offset format should be GST_FORMAT_BYTES,
22766           not GST_FORMAT_TIME.
22767
22768 2005-05-12  Wim Taymans  <wim@fluendo.com>
22769
22770         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_get_state):
22771         Same fix as Ronald's but without the signal. 
22772
22773 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
22774
22775         * gst/gstutils.c: (gst_element_query_position):
22776           No, an element is not a pad.
22777
22778 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
22779
22780         * gst/gstbin.c: (gst_bin_add_func), (cb_parent_unset),
22781         (gst_bin_get_state):
22782           If a child is removed from a bin while we remove the child from
22783           the bin and while we're retrieving its state, signal this to the
22784           get_state function so we abort the wait (instead of waiting for
22785           a timeout) and can immediately re-iterate over all other elements.
22786
22787 2005-05-12  Wim Taymans  <wim@fluendo.com>
22788
22789         * gst/base/Makefile.am:
22790         * gst/base/gstbasesrc.c: (gst_basesrc_is_seekable),
22791         (gst_basesrc_start):
22792         * gst/base/gstbasesrc.h:
22793         * gst/base/gstpushsrc.c: (gst_pushsrc_get_type),
22794         (gst_pushsrc_base_init), (gst_pushsrc_class_init),
22795         (gst_pushsrc_init), (gst_pushsrc_create):
22796         * gst/base/gstpushsrc.h:
22797         Added is_seekable to BaseSrc
22798         Added simple PushSrc.
22799
22800 2005-05-11  Wim Taymans  <wim@fluendo.com>
22801
22802         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
22803         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
22804         (gst_element_link_pads), (gst_element_query_position),
22805         (gst_element_query_convert), (intersect_caps_func),
22806         (gst_pad_query_position), (gst_pad_query_convert):
22807         Fix refcounting in utils function.
22808         No point in trying to activate a pad when it's added, it could
22809         be added from the state change function and then we deadlock, the
22810         element has to decide what to do.
22811
22812 2005-05-10  Andy Wingo  <wingo@pobox.com>
22813
22814         * gst/elements/gstfakesink.c (gst_fakesink_render): Er, emit with
22815         *all* the arguments.
22816
22817         * gst/base/gstbasetransform.c (gst_base_transform_event): Grab the
22818         stream lock if it's a FLUSH_DONE; normal flushes don't get the
22819         lock (according to the docs -- if this is wrong change the docs).
22820
22821         * gst/gstpipeline.c (gst_pipeline_change_state): Set the bus to
22822         flush messages in the NULL state.
22823
22824         * gst/gstbus.c (gst_bus_post): If a bus is flushing, unref the
22825         message immediately and return.
22826         (gst_bus_set_flushing): New function. If a bus is flushing, it
22827         flushes out any queued messages and immediately unrefs new
22828         messages. This is so when an element goes to NULL, all of the
22829         unhandled messages coming from it can be freed, and their
22830         references to the element dropped. In other words: message source
22831         ref considered harmful :P
22832
22833         * gst/gstbin.c (gst_bin_change_state): Unref peer element when
22834         we're finished with it.
22835
22836         * gst/gstmessage.c (gst_message_new_state_changed): 
22837
22838 2005-05-10  Wim Taymans  <wim@fluendo.com>
22839
22840         * gst/gstvalue.c: (gst_value_compare_flags),
22841         (gst_value_serialize_flags), (gst_value_deserialize_flags),
22842         (_gst_value_initialize):
22843         Added flags serialize/deserialize/compare code.
22844
22845 2005-05-09  Andy Wingo  <wingo@pobox.com>
22846
22847         * gst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps):
22848         Intersect the peer's caps with our caps.
22849
22850 2005-05-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
22851
22852         * gst/base/gsttypefindhelper.c: (helper_find_peek):
22853         * gst/elements/gsttypefindelement.c: (find_peek):
22854           Handle negative offsets better. Fixes decodebin.
22855
22856 2005-05-09  Wim Taymans  <wim@fluendo.com>
22857
22858         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps),
22859         (gst_base_transform_event):
22860         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query):
22861         Implement accept_caps.
22862         Fix silly lock/unlock mismatch in base class.
22863
22864 2005-05-09  Wim Taymans  <wim@fluendo.com>
22865
22866         * docs/design/draft-push-pull.txt:
22867         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_query):
22868         * gst/elements/gstfilesink.c: (gst_filesink_init),
22869         (gst_filesink_query):
22870         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
22871         (gst_type_find_handle_src_query), (find_element_get_length):
22872         * gst/gstelement.c: (gst_element_seek), (gst_element_query):
22873         * gst/gstelement.h:
22874         * gst/gstmessage.c:
22875         * gst/gstmessage.h:
22876         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_get_query_types),
22877         (gst_real_pad_get_caps_unlocked),
22878         (gst_pad_get_internal_links_default), (gst_pad_get_internal_links),
22879         (gst_pad_event_default_dispatch), (gst_pad_event_default),
22880         (gst_pad_dispatcher), (gst_pad_query), (gst_pad_query_default),
22881         (gst_real_pad_dispose), (gst_real_pad_finalize),
22882         (gst_pad_load_and_link), (gst_pad_save_thyself),
22883         (gst_ghost_pad_save_thyself), (handle_pad_block), (gst_pad_push),
22884         (gst_pad_check_pull_range), (gst_pad_pull_range),
22885         (gst_pad_template_get_type), (gst_pad_template_class_init),
22886         (gst_pad_template_init), (gst_pad_template_dispose),
22887         (name_is_valid), (gst_static_pad_template_get),
22888         (gst_pad_template_new), (gst_static_pad_template_get_caps),
22889         (gst_pad_template_get_caps), (gst_pad_set_element_private),
22890         (gst_pad_get_element_private), (gst_pad_start_task),
22891         (gst_pad_pause_task), (gst_pad_stop_task),
22892         (gst_ghost_pad_get_type), (gst_ghost_pad_class_init),
22893         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
22894         (gst_ghost_pad_set_property), (gst_ghost_pad_get_property),
22895         (gst_ghost_pad_new):
22896         * gst/gstpad.h:
22897         * gst/gstquery.c: (_gst_query_initialize), (gst_query_new),
22898         (gst_query_new_position), (gst_query_set_position),
22899         (gst_query_parse_position), (gst_query_new_convert),
22900         (gst_query_set_convert), (gst_query_parse_convert):
22901         * gst/gstquery.h:
22902         * gst/gstqueryutils.c:
22903         * gst/gstqueryutils.h:
22904         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
22905         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
22906         (gst_queue_handle_src_query):
22907         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
22908         (gst_element_query_position), (gst_element_query_convert),
22909         (intersect_caps_func), (gst_pad_query_position),
22910         (gst_pad_query_convert):
22911         * gst/gstutils.h:
22912         * tools/gst-inspect.c: (print_pad_info):
22913         * tools/gst-xmlinspect.c: (print_element_info):
22914         Remove old query functions. Ported old code.
22915         Added position/convert helper functions to gstutils.
22916         Reordered gstpad.c code, grouping relevant things.
22917         Remove gst_message_new(), always need to speficy a specific
22918         message.
22919
22920
22921 2005-05-09  Andy Wingo  <wingo@pobox.com>
22922
22923         * gst/gstiterator.h: Add some includes.
22924
22925         * gst/gstqueryutils.h: Include more headers.
22926
22927         * gst/gstpad.h:
22928         * gst/gstpad.c (gst_pad_query_position): New routine, replaces
22929         some uses of gst_pad_query.
22930
22931         * gst/gstqueryutils.c: Build fixes. Make parse functions ignore
22932         NULL out parameters.
22933         (gst_query_new_position): New proc, allocates a new position
22934         query.
22935
22936         * gst/Makefile.am (libgstreamer_@GST_MAJORMINOR@_la_SOURCES): Add
22937         gstqueryutils.c to the build.
22938
22939         * gst/gststructure.c (gst_structure_set_valist): Implement with
22940         the generic G_VALUE_COLLECT.
22941         
22942 2005-05-08  Edward Hervey  <bilboed@bilboed.com>
22943
22944         * gst/Makefile.am: (gst_headers):
22945         Added gstqueryutils.h to the list of headers to install, that was
22946         a 'nachty' move wingo :)
22947
22948 2005-05-06  Andy Wingo  <wingo@pobox.com>
22949
22950         * gst/gstquery.h
22951         * gst/gstquery.c (_gst_query_initialize): Extend GstQuery from
22952         GstData, init a memchunk.
22953         (standard_definitions): Add a few query types, deprecate a few.
22954         (gst_query_get_type): New proc.
22955         (_gst_query_copy, _gst_query_free, gst_query_new): GstData
22956         implementation.
22957         (gst_query_new_application, gst_query_get_structure): New public
22958         procs.
22959
22960         * docs/design/draft-query.txt: Removed LINKS from the query types,
22961         because all the rest can be dispatched to other pads -- seemed
22962         ugly to have a query that couldn't be dispatched. internal_links
22963         is fine as a pad method.
22964
22965         * gst/gstpad.h: Add query2 as a pad method, add the new functions
22966         in gstpad.c, but maintain binary compatibility for the moment.
22967         Will fix before 0.9 is out.
22968
22969         * gst/gstqueryutils.c: 
22970         * gst/gstqueryutils.h: New files, implement 3 methods for each
22971         query type: parse_query, parse_response, and set. Probably need an
22972         allocator as well.
22973
22974         * gst/gst.h: Add gstquery.h and gstqueryutils.h to the list.
22975
22976         * gst/elements/gstfilesink.c (gst_filesink_query2):
22977         * gst/base/gstbasesrc.c (gst_basesrc_query2): Replace old query,
22978         query_types, and formats methods.
22979
22980         * gst/gstpad.c (gst_pad_query2, gst_pad_query2_default)
22981         (gst_pad_set_query2_function): New functions.
22982         (gst_real_pad_init): Set query2_default as the default query2
22983         function. Basically just dispatches to internally linked pads.
22984
22985         Needs review!
22986         
22987         * gst/gstdata_private.h (_GST_DATA_INIT): Set data->refcount to 1
22988         without using the atomic operations. Only one thread can possibly
22989         be accessing the data at this point. Changed so as to avoid
22990         gst_atomic operations.
22991
22992 2005-05-06  Wim Taymans  <wim@fluendo.com>
22993
22994         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push):
22995         Also set caps if we use the fallback buffer alloc.
22996
22997 2005-05-06  Tim-Philipp Müller  <tim at centricular dot net>
22998
22999         * docs/gst/Makefile.am:
23000         * docs/gst/gstreamer-docs.sgml:
23001         * docs/gst/gstreamer-sections.txt:
23002         * docs/gst/tmpl/gstatomic.sgml:
23003         * docs/gst/tmpl/gstmemchunk.sgml:
23004         * testsuite/elements/struct_i386.h:
23005         * win32/GStreamer.vcproj:
23006         * win32/Makefile:
23007           Purge GstAtomic stuff from docs and win32 makefiles as well
23008
23009 2005-05-06  Wim Taymans  <wim@fluendo.com>
23010
23011         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps):
23012         * gst/elements/gstcapsfilter.c: (gst_capsfilter_getcaps):
23013         * gst/gstpad.c: (gst_pad_peer_get_caps):
23014         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
23015         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
23016         (gst_queue_src_activate), (gst_queue_change_state):
23017         * gst/gstqueue.h:
23018         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
23019         (intersect_caps_func):
23020         Fix gst_pad_peer_get_caps(), make it return NULL if no peer.
23021         Always take QUEUE_LOCK after STREAM_LOCK or we might deadlock.
23022         Some fixes for the peer_get_caps() change.
23023
23024 2005-05-06  Wim Taymans  <wim@fluendo.com>
23025
23026         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
23027         (gst_basesink_handle_buffer), (gst_basesink_chain_unlocked),
23028         (gst_basesink_activate):
23029         Actually do something with error codes returned from the push
23030         functions.
23031
23032 2005-05-06  Wim Taymans  <wim@fluendo.com>
23033
23034         * docs/design/part-element-sink.txt:
23035         * docs/design/part-element-source.txt:
23036         * gst/base/gstbasesink.c: (gst_basesink_class_init),
23037         (gst_basesink_event), (gst_basesink_activate):
23038         * gst/base/gstbasesink.h:
23039         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_unlock),
23040         (gst_basesrc_activate):
23041         * gst/base/gstbasesrc.h:
23042         * gst/gstelement.c: (gst_element_pads_activate):
23043         Some more documentation.
23044         Fixed scheduling decision in _pads_activate().
23045
23046 2005-05-05  Andy Wingo  <wingo@pobox.com>
23047
23048         * check/pipelines/simple_launch_lines.c (test_2_elements): "Fix"
23049         the test suite.
23050
23051 2005-05-05  Wim Taymans  <wim@fluendo.com>
23052
23053         * gst/base/Makefile.am:
23054         * gst/base/gstbasesink.h:
23055         * gst/base/gstbasesrc.c: (gst_basesrc_init),
23056         (gst_basesrc_set_dataflow_funcs), (gst_basesrc_query):
23057         * gst/base/gstcollectpads.c: (gst_collectpads_get_type),
23058         (gst_collectpads_class_init), (gst_collectpads_init),
23059         (gst_collectpads_finalize), (gst_collectpads_new),
23060         (gst_collectpads_set_function), (gst_collectpads_add_pad),
23061         (find_pad), (gst_collectpads_remove_pad),
23062         (gst_collectpads_is_active), (gst_collectpads_collect),
23063         (gst_collectpads_collect_range), (gst_collectpads_start),
23064         (gst_collectpads_stop), (gst_collectpads_peek),
23065         (gst_collectpads_pop), (gst_collectpads_available),
23066         (gst_collectpads_read), (gst_collectpads_flush),
23067         (gst_collectpads_chain):
23068         * gst/base/gstcollectpads.h:
23069         * gst/elements/Makefile.am:
23070         * gst/elements/gstelements.c:
23071         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
23072         (gst_fakesink_get_times), (gst_fakesink_event),
23073         (gst_fakesink_preroll), (gst_fakesink_render):
23074         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
23075         (gst_filesink_init), (gst_filesink_set_location),
23076         (gst_filesink_open_file), (gst_filesink_close_file),
23077         (gst_filesink_pad_query), (gst_filesink_event),
23078         (gst_filesink_render), (gst_filesink_change_state):
23079         * gst/elements/gstfilesink.h:
23080         Added object to help in making collect pad based elements.
23081         Ported filesink.
23082         Make event function in sink baseclass return gboolean.
23083
23084 2005-05-05  Wim Taymans  <wim@fluendo.com>
23085
23086         * gst/gstbin.c: (gst_bin_send_event), (compare_name),
23087         (gst_bin_get_by_name):
23088         * gst/gstbuffer.h:
23089         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_class_init),
23090         (gst_clock_finalize):
23091         * gst/gstdata.c: (gst_data_replace):
23092         * gst/gstdata.h:
23093         * gst/gstelement.c: (gst_element_request_pad),
23094         (gst_element_pads_activate):
23095         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
23096         (gst_object_unref):
23097         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
23098         (gst_pad_set_checkgetrange_function),
23099         (gst_pad_link_check_compatible_unlocked), (gst_pad_set_caps),
23100         (gst_pad_check_pull_range), (gst_pad_pull_range),
23101         (gst_static_pad_template_get_caps), (gst_pad_start_task),
23102         (gst_pad_pause_task), (gst_pad_stop_task):
23103         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
23104         (gst_element_request_pad), (gst_pad_proxy_getcaps):
23105         Fix name lookup in GstBin.
23106         Added _data_replace() function and _buffer_replace()
23107         Use finalize method to clean up clock.
23108         Fix refcounting on request pads.
23109         Fix pad schedule mode error.
23110         Some more object refcounting debug info,
23111
23112
23113 2005-05-04  Andy Wingo <wingo@pobox.com>
23114
23115         * check/Makefile.am:
23116         * docs/gst/tmpl/gstatomic.sgml:
23117         * docs/gst/tmpl/gstplugin.sgml:
23118         * gst/base/gstbasesink.c: (gst_basesink_activate):
23119         * gst/base/gstbasesrc.c: (gst_basesrc_class_init),
23120         (gst_basesrc_init), (gst_basesrc_set_dataflow_funcs),
23121         (gst_basesrc_query), (gst_basesrc_set_property),
23122         (gst_basesrc_get_property), (gst_basesrc_check_get_range),
23123         (gst_basesrc_activate):
23124         * gst/base/gstbasesrc.h:
23125         * gst/base/gstbasetransform.c: (gst_base_transform_sink_activate),
23126         (gst_base_transform_src_activate):
23127         * gst/elements/gstelements.c:
23128         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
23129         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
23130         * gst/elements/gsttee.c: (gst_tee_sink_activate):
23131         * gst/elements/gsttypefindelement.c: (find_element_get_length),
23132         (gst_type_find_element_checkgetrange),
23133         (gst_type_find_element_activate):
23134         * gst/gstbin.c: (gst_bin_save_thyself), (gst_bin_restore_thyself):
23135         * gst/gstcaps.c: (gst_caps_do_simplify), (gst_caps_save_thyself),
23136         (gst_caps_load_thyself):
23137         * gst/gstelement.c: (gst_element_pads_activate),
23138         (gst_element_save_thyself), (gst_element_restore_thyself):
23139         * gst/gstpad.c: (gst_pad_load_and_link), (gst_pad_save_thyself),
23140         (gst_ghost_pad_save_thyself), (gst_pad_check_pull_range):
23141         * gst/gstpad.h:
23142         * gst/gstxml.c: (gst_xml_write), (gst_xml_parse_doc),
23143         (gst_xml_parse_file), (gst_xml_parse_memory),
23144         (gst_xml_get_element), (gst_xml_make_element):
23145         * gst/indexers/gstfileindex.c: (gst_file_index_load),
23146         (_file_index_id_save_xml), (gst_file_index_commit):
23147         * gst/registries/gstlibxmlregistry.c: (read_string), (read_uint),
23148         (read_enum), (load_pad_template), (load_feature), (load_plugin),
23149         (load_paths):
23150         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps),
23151         (gst_dp_packet_from_event), (gst_dp_caps_from_packet):
23152         * tools/gst-complete.c: (main):
23153         * tools/gst-compprep.c: (main):
23154         * tools/gst-inspect.c: (print_element_properties_info):
23155         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
23156         * tools/gst-xmlinspect.c: (print_element_properties):
23157         GCC 4 fixen.
23158         
23159 2005-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
23160
23161         * gst/gstplugin.c: (gst_plugin_check_module),
23162         (gst_plugin_check_file), (gst_plugin_load_file):
23163             apply patch from #172526 to make register work on MacOSX
23164
23165 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
23166
23167         * docs/gst/tmpl/gstconfig.sgml:
23168         * gst/gstconfig.h.in:
23169           move documentation for some symbols.  Add doc for GST_PTR_FORMAT
23170         * testsuite/debug/printf_extension.c: (main):
23171           Do not use GST_PTR_FORMAT on pointers to types with
23172           sizeof < sizeof(gpointer).  Fixes test on 64-bit
23173         * testsuite/elements/property.h:
23174           use correct printf format
23175
23176 2005-05-02  Wim Taymans  <wim@fluendo.com>
23177
23178         * docs/design/draft-push-pull.txt:
23179         * docs/design/draft-query.txt:
23180         * gst/base/gstbasesrc.c: (gst_basesrc_get_range_unlocked),
23181         (gst_basesrc_start):
23182         Added draft for new query API.
23183         Added draft for better selecting scheduling methods.
23184         Make basesrc ignore length if the subclass does not support
23185         it.
23186
23187 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
23188
23189         * gst/Makefile.am:
23190           possible fixes for automake-1.5 - _LIBADD is reserved
23191
23192 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
23193
23194         * docs/faq/Makefile.am:
23195         * docs/manual/Makefile.am:
23196         * docs/manuals.mak:
23197         * docs/pwg/Makefile.am:
23198         * gst/Makefile.am:
23199           possible fixes for automake-1.5
23200
23201 2005-04-28  Wim Taymans  <wim@fluendo.com>
23202
23203         * gst/base/gstbasesink.c: (gst_basesink_base_init),
23204         (gst_basesink_pad_getcaps), (gst_basesink_init),
23205         (gst_basesink_do_sync):
23206         * gst/gstclock.c: (gst_clock_entry_new):
23207         * gst/gstevent.c: (gst_event_discont_get_value):
23208         * gst/gstpipeline.c: (pipeline_bus_handler),
23209         (gst_pipeline_change_state):
23210         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
23211         Better debugging of clocking info.
23212         Allow NULL values when getting discont values.
23213
23214 2005-04-27  Wim Taymans  <wim@fluendo.com>
23215
23216         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
23217         * check/gst/gstpad.c: (gst_pad_suite):
23218         Increase timeout for checks.
23219
23220 2005-04-27  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
23221
23222         * check/Makefile.am:
23223           fix the broken rule for cleanup.  Apparently this rule is
23224           only needed on FC2, so maybe this warrants further autotool
23225           inspection.
23226
23227 2005-04-26  Wim Taymans  <wim@fluendo.com>
23228
23229         * gst/gsttrashstack.h:
23230         Ooohh. a nasty one! After having a failed pop() from the stack,
23231         it's possible that the stack is empty. In that case, don't
23232         follow the NULL pointer.
23233
23234 2005-04-25  Wim Taymans  <wim@fluendo.com>
23235
23236         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
23237         (gst_pad_set_checkgetrange_function),
23238         (gst_pad_link_check_compatible_unlocked), (gst_pad_link_prepare),
23239         (gst_pad_check_pull_range), (gst_pad_pull_range),
23240         (gst_static_pad_template_get_caps), (gst_pad_start_task),
23241         (gst_pad_pause_task), (gst_pad_stop_task):
23242         * gst/gstplugin.c: (gst_plugin_load):
23243         * gst/gstplugin.h:
23244         Remove gst_library_load as it does more harm than good with
23245         the new g_module flags.
23246         Revert bogus caps template check in pad linking, pad caps
23247         are important when linking not the template, which is more
23248         general than the current caps.
23249
23250 2005-04-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
23251
23252         * gst/autoplug/.cvsignore:
23253         * gst/autoplug/Makefile.am:
23254         * gst/autoplug/gstsearchfuncs.c:
23255         * gst/autoplug/gstsearchfuncs.h:
23256         * gst/autoplug/gstspider.c:
23257         * gst/autoplug/gstspider.h:
23258         * gst/autoplug/gstspideridentity.c:
23259         * gst/autoplug/gstspideridentity.h:
23260         * gst/autoplug/spidertest.c:
23261           Die, spider, die.
23262
23263 2005-04-25  Wim Taymans  <wim@fluendo.com>
23264
23265         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
23266         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
23267         (gst_pad_pull_range), (gst_static_pad_template_get_caps),
23268         (gst_pad_start_task), (gst_pad_pause_task), (gst_pad_stop_task):
23269         * gst/gstpad.h:
23270         Added stubs for unimplemented functions. 
23271
23272 2005-04-24  David Schleef  <ds@schleef.org>
23273
23274         * gst/gstpad.h: Disable some unimplemented functions.  Wim,
23275         please fix.
23276
23277 2005-04-24  David Schleef  <ds@schleef.org>
23278
23279         Convert everything from GstAtomicInt to g_atomic_int_*, and
23280         remove gstatomic.
23281         * gst/Makefile.am:
23282         * gst/gstatomic.c:
23283         * gst/gstatomic.h:
23284         * gst/gstatomic_impl.h:
23285         * gst/gstbuffer.c:
23286         * gst/gstcaps.c:
23287         * gst/gstcaps.h:
23288         * gst/gstclock.c:
23289         * gst/gstclock.h:
23290         * gst/gstdata.c:
23291         * gst/gstdata.h:
23292         * gst/gstdata_private.h:
23293         * gst/gstevent.c:
23294         * gst/gstinfo.c:
23295         * gst/gstinfo.h:
23296         * gst/gstmessage.c:
23297         * gst/gstobject.c:
23298         * gst/gstobject.h:
23299         * gst/gststructure.c:
23300         * gst/gststructure.h:
23301         * gst/gstutils.c: Add gst_atomic_int_set() compaitibility function.
23302         * gst/gstutils.h:
23303
23304 2005-04-24  David Schleef  <ds@schleef.org>
23305
23306         * check/gst/gstpad.c: (START_TEST): Oh yeah, it's always nice to
23307         make the regressions tests work.  Remove some code that is no
23308         longer true.
23309         * gst/gstpad.c: (gst_pad_link_check_templates_compatible_unlocked):
23310         Disable warning for pads without templates.
23311
23312 2005-04-24  David Schleef  <ds@schleef.org>
23313
23314         * gst/gstpad.c: Remove handling of filtered caps.  Fix/merge
23315         functions that handle filtered links.
23316         * gst/gstpad.h: Remove 'appfilter' field and prototypes of
23317         removed functions.
23318         * gst/gstutils.c: Fix/remove utility functions that handle
23319         filtered caps.
23320         * gst/gstutils.h:
23321         * gst/gstvalue.c: Add serialization/deserialization of caps
23322         * gst/parse/grammar.y: Ignore filtered caps when linking.  This
23323         requires fixing so that the filter caps notation creates
23324         a capsfilter element and sets the filter_caps property.  I
23325         think everyone probably wants to keep the shorthand notation.
23326         * docs/gst/tmpl/gstelement.sgml: updates for API changes.
23327         * docs/gst/tmpl/gstpad.sgml:
23328
23329         * gst/elements/gstelements.c: Register capsfilter element.
23330         * gst/Makefile.am: fix spacing
23331         * docs/random/ds/0.9-suggested-changes: random
23332
23333 2005-04-23  David Schleef  <ds@schleef.org>
23334
23335         * gst/elements/Makefile.am:
23336         * gst/elements/gstcapsfilter.c: New element that acts like an
23337         identity, but filters caps.  Will eventually replace filtered
23338         caps in pad linking.
23339         * gst/gstutils.c: (gst_element_create_all_pads): New function
23340         to create all the ALWAYS pads that are registered with an
23341         element class.  This functionality should eventually be
23342         merged in with GstElement initialization.
23343         * gst/gstutils.h:
23344         * testsuite/trigger/README: part of trigger test code that should
23345         have been checked in a long time ago.
23346
23347 2005-04-23  David Schleef  <ds@schleef.org>
23348
23349         * gst/Makefile.am: Remove as-libtool stuff.  It's likely not
23350         needed with new versions of libtool (nobody will confirm this),
23351         and hard to carry around.
23352         * gst/autoplug/Makefile.am:
23353         * gst/base/Makefile.am:
23354         * gst/elements/Makefile.am:
23355         * gst/indexers/Makefile.am:
23356         * gst/schedulers/Makefile.am:
23357         * libs/gst/bytestream/Makefile.am:
23358         * libs/gst/control/Makefile.am:
23359         * libs/gst/dataprotocol/Makefile.am:
23360         * libs/gst/getbits/Makefile.am:
23361
23362 2005-04-21  Wim Taymans  <wim@fluendo.com>
23363
23364         * docs/design/draft-push-pull.txt:
23365         * docs/design/part-MT-refcounting.txt:
23366         * docs/design/part-TODO.txt:
23367         * docs/design/part-caps.txt:
23368         * docs/design/part-events.txt:
23369         * docs/design/part-gstbus.txt:
23370         * docs/design/part-gstpipeline.txt:
23371         * docs/design/part-messages.txt:
23372         * docs/design/part-push-pull.txt:
23373         * docs/design/part-query.txt:
23374         Some more docs.
23375
23376 2005-04-21  Wim Taymans  <wim@fluendo.com>
23377
23378         * gst/gstmessage.c: (_gst_message_copy), (_gst_message_free),
23379         (gst_message_new), (gst_message_new_error),
23380         (gst_message_new_warning), (gst_message_new_tag),
23381         (gst_message_new_state_changed), (gst_message_new_application),
23382         (gst_message_get_structure):
23383         * gst/gstmessage.h:
23384         * gst/gststructure.c: (gst_structure_set_parent_refcount),
23385         (gst_structure_copy_conditional):
23386         Use parent refcount in GstMessage to ensure GstStructure
23387         consistency.
23388         Cleaned up headers a bit.
23389         
23390
23391 2005-04-20  Wim Taymans  <wim@fluendo.com>
23392
23393         * gst/base/gstbasesink.c: (gst_basesink_base_init),
23394         (gst_basesink_pad_getcaps), (gst_basesink_init),
23395         (gst_basesink_chain_unlocked):
23396         * gst/base/gsttypefindhelper.c: (helper_find_suggest),
23397         (gst_type_find_helper):
23398         * gst/elements/gsttypefindelement.c:
23399         (gst_type_find_element_have_type), (gst_type_find_element_init),
23400         (stop_typefinding), (gst_type_find_element_handle_event),
23401         (find_suggest), (gst_type_find_element_chain),
23402         (gst_type_find_element_checkgetrange),
23403         (gst_type_find_element_getrange), (do_typefind),
23404         (gst_type_find_element_activate):
23405         * gst/gstbuffer.c: (_gst_buffer_sub_free),
23406         (gst_buffer_default_free), (gst_buffer_default_copy),
23407         (gst_buffer_set_caps):
23408         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref),
23409         (gst_caps_replace):
23410         * gst/gstmessage.c: (gst_message_new),
23411         (gst_message_new_state_changed):
23412         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
23413         (gst_pad_set_checkgetrange_function),
23414         (gst_pad_link_prepare_filtered), (gst_pad_relink_filtered),
23415         (gst_pad_set_caps), (gst_pad_check_pull_range),
23416         (gst_pad_pull_range), (gst_static_pad_template_get_caps):
23417         * gst/gstpad.h:
23418         * gst/gsttypefind.c: (gst_type_find_register):
23419         Make gst_caps_replace() work like other _replace() functions.
23420         Use _caps_replace() where possible.
23421         Make sure _message_new() initialises its field.
23422         Add gst_static_pad_template_get_caps()
23423
23424
23425 2005-04-18  Andy Wingo  <wingo@pobox.com>
23426
23427         * gst/gstelement.c (gst_element_pads_activate): Check pull_range
23428         on the peer, not the pad. I think that was a typo. Pass an extra
23429         arg to see if random access is possible. Activate the pads as
23430         PULL_RANGE if possible.
23431
23432         * gst/elements/gstfakesrc.c: s/ARG_/PROP_/.
23433
23434         * gst/base/gstbasesrc.c (gst_basesrc_set_property) 
23435         (gst_basesrc_get_property): BLOCKSIZE is a ULONG. Rename ARG_...
23436         to PROP_....
23437
23438 2005-04-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
23439
23440         * docs/faq/using.xml:
23441           Add note on gstreamer-properties (#154996).
23442
23443 2005-04-13  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
23444
23445         * docs/random/bbb/optional-properties:
23446           Some analysis on optional properties.
23447
23448 2005-04-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
23449
23450         * docs/gst/tmpl/gstelementfactory.sgml:
23451         * gst/gstelement.h:
23452         * gst/gstelementfactory.c: (gst_element_factory_init),
23453         (gst_element_factory_cleanup), (gst_element_register),
23454         (__gst_element_factory_add_static_pad_template),
23455         (gst_element_factory_get_static_pad_templates),
23456         (gst_element_factory_can_src_caps),
23457         (gst_element_factory_can_sink_caps):
23458         * gst/registries/Makefile.am:
23459         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_get_type),
23460         (gst_xml_registry_class_init), (gst_xml_registry_init),
23461         (gst_xml_registry_new), (gst_xml_registry_set_property),
23462         (gst_xml_registry_get_property), (get_time), (make_dir),
23463         (gst_xml_registry_get_perms_func),
23464         (plugin_times_older_than_recurse), (plugin_times_older_than),
23465         (gst_xml_registry_open_func), (gst_xml_registry_load_func),
23466         (gst_xml_registry_save_func), (gst_xml_registry_close_func),
23467         (add_to_char_array), (read_string), (read_uint), (read_enum),
23468         (load_pad_template), (load_feature), (load_plugin), (load_paths),
23469         (gst_xml_registry_load), (gst_xml_registry_load_plugin),
23470         (gst_xml_registry_save_caps), (gst_xml_registry_save_pad_template),
23471         (gst_xml_registry_save_feature), (gst_xml_registry_save_plugin),
23472         (gst_xml_registry_save), (gst_xml_registry_rebuild_recurse),
23473         (gst_xml_registry_rebuild):
23474         * gst/registries/gstlibxmlregistry.h:
23475         * tools/gst-compprep.c: (main):
23476         * tools/gst-inspect.c: (print_pad_templates_info):
23477         * tools/gst-xmlinspect.c: (print_element_info):
23478           Use libxml2 for registry parsing, use staticpadtemplates in
23479           elementfactories. Makes gst_init() +/- 10x faster.
23480
23481 2005-04-12  Wim Taymans  <wim@fluendo.com>
23482
23483         * gst/base/Makefile.am:
23484         * gst/base/gstbasesink.c: (gst_basesink_base_init),
23485         (gst_basesink_pad_getcaps), (gst_basesink_init),
23486         (gst_basesink_event), (gst_basesink_change_state):
23487         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
23488         (gst_basesrc_init), (gst_basesrc_query),
23489         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
23490         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
23491         (gst_basesrc_check_get_range), (gst_basesrc_loop),
23492         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
23493         (gst_basesrc_stop), (gst_basesrc_activate),
23494         (gst_basesrc_change_state):
23495         * gst/base/gsttypefindhelper.c: (helper_find_peek),
23496         (helper_find_suggest), (gst_type_find_helper):
23497         * gst/base/gsttypefindhelper.h:
23498         * gst/elements/Makefile.am:
23499         * gst/elements/gstelements.c:
23500         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
23501         (gst_fakesink_get_times), (gst_fakesink_event),
23502         (gst_fakesink_preroll), (gst_fakesink_render):
23503         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
23504         (gst_fakesrc_init), (gst_fakesrc_event_handler),
23505         (gst_fakesrc_get_property), (gst_fakesrc_create),
23506         (gst_fakesrc_start), (gst_fakesrc_stop):
23507         * gst/elements/gstfakesrc.h:
23508         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init),
23509         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
23510         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
23511         (gst_filesrc_create_read), (gst_filesrc_create),
23512         (gst_filesrc_is_seekable), (gst_filesrc_get_size),
23513         (gst_filesrc_start):
23514         * gst/elements/gsttypefindelement.c:
23515         (gst_type_find_element_have_type), (gst_type_find_element_init),
23516         (start_typefinding), (stop_typefinding), (push_buffer_store),
23517         (gst_type_find_element_handle_event),
23518         (gst_type_find_element_chain),
23519         (gst_type_find_element_checkgetrange),
23520         (gst_type_find_element_getrange), (do_typefind),
23521         (gst_type_find_element_activate),
23522         (gst_type_find_element_change_state):
23523         * gst/elements/gsttypefindelement.h:
23524         * gst/gstpipeline.c: (pipeline_bus_handler):
23525         Added typefind helper.
23526         Small preroll fix in the base sink.
23527         Disable typefind code in basesrc.
23528         Crude port of typefindelement.
23529         Fakesrc cleanups.
23530
23531
23532 2005-04-11  Wim Taymans  <wim@fluendo.com>
23533
23534         * check/gst/gstbus.c: (gstbus_suite):
23535         * check/gst/gstdata.c: (thread_ref), (gst_data_suite):
23536         * check/gstcheck.h:
23537           Fix up the timeout so that the test does not fail.
23538
23539 2005-04-06  Wim Taymans  <wim@fluendo.com>
23540
23541         * gst/base/README:
23542         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
23543         (gst_basesrc_init), (gst_basesrc_get_formats), (gst_basesrc_query),
23544         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
23545         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
23546         (gst_basesrc_check_get_range), (gst_basesrc_loop),
23547         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
23548         (gst_basesrc_stop), (gst_basesrc_activate),
23549         (gst_basesrc_change_state), (basesrc_find_peek),
23550         (basesrc_find_suggest), (gst_basesrc_type_find):
23551         * gst/base/gstbasesrc.h:
23552         * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
23553         (gst_filesrc_class_init), (gst_filesrc_init),
23554         (gst_filesrc_finalize), (gst_filesrc_set_location),
23555         (gst_filesrc_set_property), (gst_filesrc_get_property),
23556         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
23557         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
23558         (gst_filesrc_create_read), (gst_filesrc_create),
23559         (gst_filesrc_get_size), (gst_filesrc_start), (gst_filesrc_stop):
23560         * gst/elements/gstfilesrc.h:
23561         * gst/gstelement.c: (gst_element_get_state_func),
23562         (gst_element_lost_state), (gst_element_pads_activate):
23563         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
23564         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
23565         (gst_pad_pull_range):
23566         * gst/gstpad.h:
23567         More work on the generic source base class, implement seeking,
23568         query.
23569         Make filesrc extend the base source class.
23570         Added gst_pad_set_checkgetrange_function to GstPad.
23571
23572 2005-04-06  Andy Wingo  <wingo@pobox.com>
23573
23574         * pkgconfig/gstreamer-base.pc.in:
23575         * pkgconfig/gstreamer-base-uninstalled.pc.in: New files.
23576
23577         * pkgconfig/Makefile.am:
23578         * configure.ac (AC_OUTPUT): Add gstreamer-base pkgconfig files.
23579
23580 2005-04-04  Wim Taymans  <wim@fluendo.com>
23581
23582         * gst/base/Makefile.am:
23583         * gst/base/README:
23584         * gst/base/gstbasesink.c: (gst_basesink_base_init),
23585         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
23586         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
23587         (gst_basesink_do_sync), (gst_basesink_chain_unlocked):
23588         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
23589         (gst_basesrc_base_init), (gst_basesrc_class_init),
23590         (gst_basesrc_init), (gst_basesrc_get_formats),
23591         (gst_basesrc_get_query_types), (gst_basesrc_query),
23592         (gst_basesrc_get_event_mask), (gst_basesrc_event_handler),
23593         (gst_basesrc_set_property), (gst_basesrc_get_property),
23594         (gst_basesrc_get_range_unlocked), (gst_basesrc_get_range),
23595         (gst_basesrc_loop), (gst_basesrc_activate),
23596         (gst_basesrc_change_state):
23597         * gst/base/gstbasesrc.h:
23598         * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
23599         (gst_fakesrc_class_init), (gst_fakesrc_init),
23600         (gst_fakesrc_event_handler), (gst_fakesrc_set_property),
23601         (gst_fakesrc_get_property), (gst_fakesrc_create):
23602         * gst/elements/gstfakesrc.h:
23603         * gst/elements/gstfilesrc.c: (gst_filesrc_getrange),
23604         (gst_filesrc_open_file), (gst_filesrc_loop),
23605         (gst_filesrc_activate), (filesrc_find_peek),
23606         (gst_filesrc_type_find):
23607         Made base source class, make fakesrc extend it.
23608         Add comments to basesink class.
23609         Some filesrc cleanup.
23610
23611 2005-03-31  David Schleef  <ds@schleef.org>
23612
23613         * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
23614         Switch to using G_MODULE_BIND_LOCAL, which means plugins are now
23615         expected to link against libgstreamer.
23616         * gst/base/Makefile.am: link against libgstreamer
23617         * gst/elements/Makefile.am: same
23618
23619 2005-03-31  Andy Wingo  <wingo@pobox.com>
23620
23621         * tests/instantiate/Makefile.am:
23622         * tests/instantiate/caps.c: Add test to test speed of caps copy
23623         and free.
23624
23625         * tests/memchunk/gmemchunktest.c (main): Use alloc only on the
23626         GMemChunk to be fair.
23627
23628         * gst/gsttrashstack.h: Remove warning about using the fallback
23629         trash stack implementation, it's still faster than malloc.
23630
23631 2005-03-30  Andy Wingo  <wingo@pobox.com>
23632
23633         * tests/complexity.c: Add a copyright.
23634
23635 2005-03-31  Wim Taymans  <wim@fluendo.com>
23636
23637         * gst/base/gstbasetransform.c: (gst_base_transform_base_init),
23638         (gst_base_transform_class_init), (gst_base_transform_init),
23639         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
23640         (gst_base_transform_get_property),
23641         (gst_base_transform_sink_activate),
23642         (gst_base_transform_src_activate),
23643         (gst_base_transform_change_state):
23644         * gst/base/gstbasetransform.h:
23645         * gst/elements/gstidentity.c: (gst_identity_class_init),
23646         (gst_identity_event), (gst_identity_check_perfect),
23647         (gst_identity_transform), (gst_identity_start),
23648         (gst_identity_stop):
23649         Added start/stop methods to transform base class so subclasses 
23650         don't need to deal with state changes even.
23651
23652 2005-03-31  Wim Taymans  <wim@fluendo.com>
23653
23654         * gst/gstevent.c: (gst_event_new_discontinuous_valist),
23655         (gst_event_new_discontinuous), (gst_event_discont_get_value):
23656         * gst/gstevent.h:
23657         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
23658         (gst_pad_pull_range):
23659         Added rate to the discont event to prepare for variable speed
23660         and reverse playback.
23661
23662 2005-03-29  David Schleef  <ds@schleef.org>
23663
23664         * configure.ac:
23665         * testsuite/trigger/Makefile.am:
23666         * testsuite/trigger/trigger.c: A little example program to show
23667         how trigger-based elements can work.
23668
23669 2005-03-29  Wim Taymans  <wim@fluendo.com>
23670
23671         * gst/base/Makefile.am:
23672         * gst/base/README:
23673         * gst/base/gstbasesink.c: (gst_basesink_get_type),
23674         (gst_basesink_base_init), (gst_basesink_class_init),
23675         (gst_basesink_pad_getcaps), (gst_basesink_init),
23676         (gst_basesink_activate), (gst_basesink_change_state):
23677         * gst/base/gstbasesink.h:
23678         * gst/base/gstbasetransform.c: (gst_base_transform_get_type),
23679         (gst_base_transform_base_init), (gst_base_transform_finalize),
23680         (gst_base_transform_class_init), (gst_base_transform_init),
23681         (gst_base_transform_proxy_getcaps), (gst_base_transform_setcaps),
23682         (gst_base_transform_event), (gst_base_transform_getrange),
23683         (gst_base_transform_chain), (gst_base_transform_handle_buffer),
23684         (gst_base_transform_set_property),
23685         (gst_base_transform_get_property),
23686         (gst_base_transform_sink_activate),
23687         (gst_base_transform_src_activate),
23688         (gst_base_transform_change_state):
23689         * gst/base/gstbasetransform.h:
23690         * gst/elements/gstidentity.c: (gst_identity_finalize),
23691         (gst_identity_class_init), (gst_identity_init),
23692         (gst_identity_event), (gst_identity_check_perfect),
23693         (gst_identity_transform), (gst_identity_set_property),
23694         (gst_identity_get_property), (gst_identity_change_state):
23695         * gst/elements/gstidentity.h:
23696         * gst/gstelement.c: (gst_element_get_state_func),
23697         (gst_element_lost_state), (gst_element_pads_activate):
23698         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
23699         (gst_pad_check_pull_range), (gst_pad_pull_range):
23700         * gst/gstpad.h:
23701         Simplify pad activation.
23702         Added function to check if pull_range can be performed.
23703         Error out when pulling inactive or flushing pads.
23704         Removed const from refcounted types as it does not make sense.
23705         Simplify pad templates in basesink
23706         Added base class for simple 1-to-1 transforms.
23707         Make identity subclass the base transform.
23708
23709 2005-03-29  Andy Wingo  <wingo@pobox.com>
23710
23711         * docs/libs/gstreamer-libs-overrides.txt: 
23712         * docs/gst/gstreamer-overrides.txt: Add these files to CVS. Now I
23713         really don't understand what's going on, but like whatever. I want
23714         green buildbot!
23715
23716         * docs/gst/Makefile.am:
23717         * docs/libs/Makefile.am: Dist the overrides files.
23718
23719         * check/Makefile.am (clean-local): Remove .libs directories.
23720
23721         * gst/elements/Makefile.am (EXTRA_DIST): Add all the attic
23722         elements to EXTRA_DIST, so po/ files are happy.
23723
23724         * po/POTFILES.in: Er, remove it here.
23725
23726         * po/POTFILES: Remove gstspider.c.
23727
23728         * configure.ac (AC_OUTPUT): Add missing testsuite makefiles.
23729
23730         * docs/libs/gstreamer-libs-docs.sgml: 
23731         * docs/libs/gstreamer-libs-sections.txt: Remove the section on
23732         bytestream.
23733
23734         * tests/complexity.c (main): Set the length of the preroll queue
23735         on the sinks to prevent a lockup.
23736
23737         * libs/gst/dataprotocol/Makefile.am: 
23738         * libs/gst/dataprotocol/dataprotocol-test.c: Remove test, it's
23739         the same as the one in check/gst-libs/gdp.c.
23740
23741         * po/, docs/gst/: Commit automatic changes to docs and po files.
23742
23743         * gst/elements/Makefile.am (libgstelements_la_LDFLAGS): Link to
23744         the versioned libgstbase.
23745
23746         * check/Makefile.am: Depend on an unversioned gst-register, seems
23747         to make autoconf happier.
23748
23749         * gst/base/Makefile.am: Make libgstbase a versioned lib.
23750
23751 2005-03-28  Wim Taymans  <wim@fluendo.com>
23752
23753         * configure.ac:
23754         * docs/design/part-gstelement.txt:
23755         * docs/design/part-negotiation.txt:
23756         * docs/design/part-preroll.txt:
23757         * docs/design/part-scheduling.txt:
23758         * docs/design/part-states.txt:
23759         * gst/Makefile.am:
23760         * gst/base/Makefile.am:
23761         * gst/base/README:
23762         * gst/base/gstbasesink.c: (gst_basesink_get_template),
23763         (gst_basesink_base_init), (gst_basesink_class_init),
23764         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
23765         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
23766         (gst_basesink_set_pad_functions),
23767         (gst_basesink_set_all_pad_functions), (gst_basesink_set_clock),
23768         (gst_basesink_set_property), (gst_basesink_get_property),
23769         (gst_base_sink_get_template), (gst_base_sink_get_caps),
23770         (gst_base_sink_set_caps), (gst_base_sink_buffer_alloc),
23771         (gst_basesink_preroll_queue_push),
23772         (gst_basesink_preroll_queue_empty),
23773         (gst_basesink_preroll_queue_flush), (gst_basesink_finish_preroll),
23774         (gst_basesink_event), (gst_basesink_get_times),
23775         (gst_basesink_do_sync), (gst_basesink_handle_buffer),
23776         (gst_basesink_chain_unlocked), (gst_basesink_chain),
23777         (gst_basesink_loop), (gst_basesink_activate),
23778         (gst_basesink_change_state):
23779         * gst/base/gstbasesink.h:
23780         * gst/elements/Makefile.am:
23781         * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
23782         (gst_fakesink_class_init), (gst_fakesink_init),
23783         (gst_fakesink_set_property), (gst_fakesink_get_property),
23784         (gst_fakesink_get_times), (gst_fakesink_event),
23785         (gst_fakesink_preroll), (gst_fakesink_render),
23786         (gst_fakesink_change_state):
23787         * gst/elements/gstfakesink.h:
23788         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
23789         (gst_bin_get_state), (gst_bin_change_state), (gst_bin_send_event):
23790         * gst/gstelement.c: (gst_element_add_pad),
23791         (gst_element_get_state_func), (gst_element_abort_state),
23792         (gst_element_commit_state), (gst_element_lost_state),
23793         (gst_element_set_state), (gst_element_pads_activate):
23794         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_event_default):
23795         * gst/gstpipeline.c: (gst_pipeline_send_event),
23796         (gst_pipeline_change_state):
23797         Added state change code.
23798         Added/updated docs.
23799         Added sink base class, make fakesink extend the base class.
23800         Small cleanups in GstPipeline.
23801
23802 2005-03-26  David Schleef  <ds@schleef.org>
23803
23804         * gst/Makefile.am: remove gstcpu.[ch].  The gst_cpu functionality
23805         is broken and should be implemented in a different library.
23806         * gst/gst.c: (init_post): don't call _gst_cpu_initialize()
23807         * gst/gst.h: remove gstcpu.h
23808         * gst/gstcpu.c: remove
23809         * gst/gstcpu.h: remove
23810         * gst/Makefile.am.future: Remove this file.  It's ancient.
23811
23812 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
23813
23814         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
23815         (gst_bin_send_event):
23816           Add default event/set_manager handlers. The set_manager handler
23817           takes care that the manager is distributed over kids that were
23818           already in the bin before the manager was set. The event handler
23819           is a utility virtual function that sends the event over all sinks,
23820           so that gst_element_send_event (bin, event); has the expected
23821           behaviour.
23822         * gst/gstpad.c: (gst_pad_event_default):
23823           Re-install default event handling for discontinuities, so that
23824           seeking works without requiring hacks in applications or extra
23825           code in sinks.
23826         * gst/gstpipeline.c: (gst_pipeline_class_init),
23827         (gst_pipeline_send_event):
23828           Half hack, half utility: set a pipeline to PAUSED for seek events,
23829           since that is the only way we can guarantee a/v sync. Means that
23830           you can do gst_element_seek (pipeline, method, pos); on a pipeline
23831           and it "just works".
23832
23833 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
23834
23835         * gst/gstpipeline.c: (gst_pipeline_use_clock):
23836           Lock/unlock mismatch.
23837
23838 2005-03-25  Thomas Vander Stichele  <thomas at apestaart dot org>
23839
23840         * docs/faq/gst-uninstalled:
23841           add gst-plugins-base
23842         * docs/gst/Makefile.am:
23843           don't error out until docs are fixed
23844         * docs/gst/gstreamer.types:
23845           remove thread
23846
23847 2005-03-22  Wim Taymans  <wim@fluendo.com>
23848
23849         * check/Makefile.am:
23850         * check/gst/gstmessage.c: (START_TEST), (gst_data_suite), (main):
23851         * gst/gststructure.c: (gst_structure_set_valist),
23852         (gst_structure_copy_conditional):
23853         Activated more tests.
23854         Added message test.
23855         Added G_TYPE_POINTER to GstStructure.
23856         
23857
23858 2005-03-22  Wim Taymans  <wim@fluendo.com>
23859
23860         * docs/design/part-TODO.txt:
23861         * docs/design/part-events.txt:
23862         * docs/design/part-gstbin.txt:
23863         * docs/design/part-gstbus.txt:
23864         * docs/design/part-gstpipeline.txt:
23865         * docs/design/part-messages.txt:
23866         * gst/gstbus.c:
23867         * gst/gstmessage.c:
23868         Docs updates
23869
23870 2005-03-21  Wim Taymans  <wim@fluendo.com>
23871
23872         * gst/gstbus.c: (gst_bus_post):
23873         Fix copy-and-paste error.
23874
23875 2005-03-21  Wim Taymans  <wim@fluendo.com>
23876
23877         * check/Makefile.am:
23878         * gst/Makefile.am:
23879         * gst/elements/Makefile.am:
23880         * gst/elements/gstelements.c:
23881         * gst/elements/gstfakesink.c: (gst_fakesink_init),
23882         (gst_fakesink_event), (gst_fakesink_chain):
23883         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
23884         (gst_fakesrc_init), (gst_fakesrc_get_event_mask),
23885         (gst_fakesrc_event_handler), (gst_fakesrc_set_pad_functions),
23886         (gst_fakesrc_set_all_pad_functions), (gst_fakesrc_request_new_pad),
23887         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
23888         (gst_fakesrc_get_range_unlocked), (gst_fakesrc_get_range),
23889         (gst_fakesrc_loop), (gst_fakesrc_activate),
23890         (gst_fakesrc_change_state):
23891         * gst/elements/gstfakesrc.h:
23892         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
23893         (gst_filesrc_get_read), (gst_filesrc_getrange), (gst_filesrc_get),
23894         (gst_filesrc_open_file), (gst_filesrc_loop),
23895         (gst_filesrc_activate), (gst_filesrc_change_state),
23896         (filesrc_find_peek), (filesrc_find_suggest),
23897         (gst_filesrc_type_find):
23898         * gst/elements/gstidentity.c: (gst_identity_finalize),
23899         (gst_identity_class_init), (gst_identity_init),
23900         (gst_identity_proxy_getcaps), (identity_queue_push),
23901         (identity_queue_pop), (identity_queue_flush), (gst_identity_event),
23902         (gst_identity_getrange), (gst_identity_chain),
23903         (gst_identity_sink_loop), (gst_identity_src_loop),
23904         (gst_identity_handle_buffer), (gst_identity_set_dataflow_funcs),
23905         (gst_identity_set_property), (gst_identity_get_property),
23906         (gst_identity_change_state):
23907         * gst/elements/gstidentity.h:
23908         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
23909         (gst_tee_update_pad_functions), (gst_tee_request_new_pad),
23910         (gst_tee_set_property), (gst_tee_get_property), (gst_tee_do_push),
23911         (gst_tee_handle_buffer), (gst_tee_chain), (gst_tee_loop),
23912         (gst_tee_sink_activate):
23913         * gst/elements/gsttee.h:
23914         * gst/gst.c: (gst_register_core_elements), (init_post):
23915         * gst/gst.h:
23916         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_bus),
23917         (gst_bin_set_scheduler), (gst_bin_add_func), (gst_bin_add),
23918         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_get_state),
23919         (gst_bin_change_state):
23920         * gst/gstbin.h:
23921         * gst/gstbus.c: (gst_bus_get_type), (gst_bus_class_init),
23922         (gst_bus_init), (gst_bus_dispose), (gst_bus_set_property),
23923         (gst_bus_get_property), (gst_bus_new), (gst_bus_post),
23924         (gst_bus_have_pending), (gst_bus_pop), (gst_bus_peek),
23925         (gst_bus_set_sync_handler), (gst_bus_create_watch),
23926         (bus_watch_callback), (bus_watch_destroy),
23927         (gst_bus_add_watch_full), (gst_bus_add_watch), (poll_handler),
23928         (poll_timeout), (gst_bus_poll):
23929         * gst/gstbus.h:
23930         * gst/gstcaps.h:
23931         * gst/gstdata.h:
23932         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
23933         (gst_element_post_message), (gst_element_message_full),
23934         (gst_element_get_state_func), (gst_element_get_state),
23935         (gst_element_abort_state), (gst_element_commit_state),
23936         (gst_element_lost_state), (gst_element_set_state),
23937         (gst_element_pads_activate), (gst_element_change_state),
23938         (gst_element_dispose), (gst_element_set_manager_func),
23939         (gst_element_set_bus_func), (gst_element_set_scheduler_func),
23940         (gst_element_set_manager), (gst_element_get_manager),
23941         (gst_element_set_bus), (gst_element_get_bus),
23942         (gst_element_set_scheduler), (gst_element_get_scheduler):
23943         * gst/gstelement.h:
23944         * gst/gstevent.c: (gst_event_new_segment_seek),
23945         (gst_event_new_flush):
23946         * gst/gstevent.h:
23947         * gst/gstmessage.c: (_gst_message_initialize), (_gst_message_copy),
23948         (_gst_message_free), (gst_message_get_type), (gst_message_new),
23949         (gst_message_new_eos), (gst_message_new_error),
23950         (gst_message_new_warning), (gst_message_new_tag),
23951         (gst_message_new_state_changed), (gst_message_new_application),
23952         (gst_message_get_structure), (gst_message_parse_tag),
23953         (gst_message_parse_state_changed), (gst_message_parse_error),
23954         (gst_message_parse_warning):
23955         * gst/gstmessage.h:
23956         * gst/gstpad.c: (gst_real_pad_class_init), (gst_real_pad_init),
23957         (gst_real_pad_set_property), (gst_pad_set_active),
23958         (gst_pad_is_active), (gst_pad_set_blocked_async),
23959         (gst_pad_set_blocked), (gst_pad_is_blocked),
23960         (gst_pad_set_activate_function), (gst_pad_set_loop_function),
23961         (gst_pad_set_getrange_function), (gst_pad_set_acceptcaps_function),
23962         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
23963         (gst_pad_unlink), (gst_pad_link_prepare_filtered),
23964         (gst_pad_link_filtered), (gst_pad_relink_filtered),
23965         (gst_real_pad_get_caps_unlocked), (gst_pad_get_caps),
23966         (gst_pad_peer_get_caps), (gst_pad_fixate_caps),
23967         (gst_pad_accept_caps), (gst_pad_peer_accept_caps),
23968         (gst_pad_set_caps), (gst_pad_configure_sink),
23969         (gst_pad_configure_src), (gst_pad_get_negotiated_caps),
23970         (gst_pad_get_filter_caps), (gst_pad_alloc_buffer),
23971         (gst_real_pad_dispose), (gst_real_pad_finalize),
23972         (handle_pad_block), (gst_pad_push), (gst_pad_pull_range),
23973         (gst_pad_event_default_dispatch), (gst_pad_event_default),
23974         (gst_pad_push_event), (gst_pad_send_event), (gst_pad_get_formats):
23975         * gst/gstpad.h:
23976         * gst/gstpipeline.c: (gst_pipeline_init), (is_eos),
23977         (pipeline_bus_handler), (gst_pipeline_change_state),
23978         (gst_pipeline_get_scheduler), (gst_pipeline_get_bus):
23979         * gst/gstpipeline.h:
23980         * gst/gstprobe.h:
23981         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
23982         (gst_queue_finalize), (gst_queue_getcaps), (gst_queue_link_sink),
23983         (gst_queue_link_src), (gst_queue_bufferalloc),
23984         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
23985         (gst_queue_is_empty), (gst_queue_is_filled), (gst_queue_chain),
23986         (gst_queue_loop), (gst_queue_handle_src_event),
23987         (gst_queue_handle_src_query), (gst_queue_src_activate),
23988         (gst_queue_change_state):
23989         * gst/gstqueue.h:
23990         * gst/gstscheduler.c: (gst_scheduler_init),
23991         (gst_scheduler_dispose), (gst_scheduler_create_task),
23992         (gst_scheduler_factory_create):
23993         * gst/gstscheduler.h:
23994         * gst/gststructure.c: (gst_structure_get_type),
23995         (gst_structure_copy_conditional):
23996         * gst/gststructure.h:
23997         * gst/gsttaginterface.h:
23998         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
23999         (gst_task_init), (gst_task_dispose), (gst_task_create),
24000         (gst_task_get_state), (gst_task_start), (gst_task_stop),
24001         (gst_task_pause):
24002         * gst/gsttask.h:
24003         * gst/gstthread.c:
24004         * gst/gstthread.h:
24005         * gst/gsttypes.h:
24006         * gst/schedulers/Makefile.am:
24007         * gst/schedulers/cothreads_compat.h:
24008         * gst/schedulers/entryscheduler.c:
24009         * gst/schedulers/faircothreads.c:
24010         * gst/schedulers/faircothreads.h:
24011         * gst/schedulers/fairscheduler.c:
24012         * gst/schedulers/gstbasicscheduler.c:
24013         * gst/schedulers/gstoptimalscheduler.c:
24014         * gst/schedulers/gthread-cothreads.h:
24015         * gst/schedulers/threadscheduler.c:
24016         (gst_thread_scheduler_task_get_type),
24017         (gst_thread_scheduler_task_class_init),
24018         (gst_thread_scheduler_task_init),
24019         (gst_thread_scheduler_task_start),
24020         (gst_thread_scheduler_task_stop),
24021         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_get_type),
24022         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
24023         (gst_thread_scheduler_init), (gst_thread_scheduler_create_task),
24024         (gst_thread_scheduler_setup), (gst_thread_scheduler_reset),
24025         (plugin_init):
24026         * libs/gst/Makefile.am:
24027         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf):
24028         * libs/gst/bytestream/filepad.c: (gst_file_pad_init),
24029         (gst_file_pad_parent_set):
24030         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
24031         (gst_dp_event_from_packet):
24032         * tests/complexity.c: (main):
24033         * tests/mass_elements.c: (main):
24034         * testsuite/states/locked.c: (message_received), (main):
24035         * testsuite/states/parent.c: (main):
24036         * tools/gst-inspect.c: (print_element_flag_info),
24037         (print_implementation_info), (print_pad_info):
24038         * tools/gst-launch.c: (check_intr), (play_handler), (event_loop),
24039         (main):
24040         * tools/gst-md5sum.c: (event_loop), (main):
24041         * tools/gst-typefind.c: (main):
24042         * tools/gst-xmlinspect.c: (print_element_info):
24043         Next big merge.
24044         Added GstBus for mainloop integration.
24045         Added GstMessage for sending notifications on the bus.
24046         Added GstTask as an abstraction for pipeline entry points.
24047         Removed GstThread.
24048         Removed Schedulers.
24049         Simplified GstQueue for multithreaded core.
24050         Made _link threadsafe, removed old capsnego.
24051         Added STREAM_LOCK and PREROLL_LOCK in GstPad.
24052         Added pad blocking functions.
24053         Reworked scheduling functions in GstPad to prepare for
24054         scheduling updates soon.
24055         Moved events out of data stream.
24056         Simplified GstEvent types.
24057         Added return values to push/pull.
24058         Removed clocking from GstElement.
24059         Added prototypes for state change function for next merge.
24060         Removed iterate from bins and state change management.
24061         Fixed some elements, disabled others for now.
24062         Fixed -inspect and -launch.
24063         Added check for GstBus.
24064
24065 2005-03-10  Wim Taymans  <wim@fluendo.com>
24066
24067         * docs/design/part-MT-refcounting.txt:
24068         * docs/design/part-clocks.txt:
24069         * docs/design/part-gstelement.txt:
24070         * docs/design/part-gstobject.txt:
24071         * docs/design/part-standards.txt:
24072         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
24073         (gst_bin_remove_func), (gst_bin_remove):
24074         * gst/gstbin.h:
24075         * gst/gstbuffer.c:
24076         * gst/gstcaps.h:
24077         * testsuite/clock/clock1.c: (main):
24078         * testsuite/clock/clock2.c: (gst_clock_debug), (element_wait),
24079         (main):
24080         * testsuite/dlopen/loadgst.c: (do_test):
24081         * testsuite/refcounting/bin.c: (add_remove_test1),
24082         (add_remove_test2), (main):
24083         * testsuite/refcounting/element.c: (main):
24084         * testsuite/refcounting/element_pad.c: (main):
24085         * testsuite/refcounting/pad.c: (main):
24086         * tools/gst-launch.c: (sigint_handler_sighandler):
24087         * tools/gst-typefind.c: (main):
24088         Doc updates.
24089         Added doc about clock.
24090         removed gst_bin_iterate_recurse_up(), marked methods
24091         for removal.
24092         Fix more testsuites.
24093
24094 2005-03-09  Wim Taymans  <wim@fluendo.com>
24095
24096         * gst/gstpad.c: (gst_pad_get_direction),
24097         (_gst_pad_default_fixate_foreach), (gst_pad_collectv),
24098         (gst_pad_collect_valist):
24099         * testsuite/bins/interface.c: (main):
24100         * testsuite/caps/audioscale.c: (test_caps):
24101         * testsuite/caps/caps.c: (test1), (test2), (test3):
24102         * testsuite/caps/deserialize.c: (main):
24103         * testsuite/caps/enumcaps.c: (main):
24104         * testsuite/caps/filtercaps.c: (main):
24105         * testsuite/caps/intersect2.c: (main):
24106         * testsuite/caps/random.c: (main):
24107         * testsuite/caps/renegotiate.c: (my_fixate), (main):
24108         * testsuite/caps/sets.c: (check_caps):
24109         * testsuite/caps/simplify.c: (check_caps), (main):
24110         * testsuite/caps/subtract.c: (check_caps):
24111         Fix _pad_get_direction wrt ghostpads.
24112         Fix caps testsuite.
24113
24114 2005-03-09  Wim Taymans  <wim@fluendo.com>
24115
24116         * check/Makefile.am:
24117         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite), (main):
24118         * check/gst/gstsystemclock.c: (START_TEST), (gst_clock_debug),
24119         (ok_callback), (error_callback), (gst_systemclock_suite), (main):
24120         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func),
24121         (gst_bin_set_clock_func), (gst_bin_get_clock_func),
24122         (gst_bin_add_func), (gst_bin_add), (gst_bin_remove_func),
24123         (gst_bin_remove), (gst_bin_iterate_recurse_up),
24124         (bin_element_is_sink), (gst_bin_iterate_sinks),
24125         (gst_bin_iterate_all_by_interface):
24126         * gst/gstbin.h:
24127         * gst/gstelement.c: (gst_element_init), (gst_element_error_full),
24128         (gst_element_change_state), (gst_element_dispose),
24129         (gst_element_finalize), (gst_element_set_loop_function):
24130         * gst/gstelement.h:
24131         * gst/gstiterator.c: (find_custom_fold_func):
24132         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
24133         (gst_pad_collectv), (gst_pad_collect_valist),
24134         (gst_pad_template_new):
24135         * gst/gstpipeline.c: (gst_pipeline_class_init),
24136         (gst_pipeline_dispose), (gst_pipeline_set_property),
24137         (gst_pipeline_get_property), (gst_pipeline_get_clock_func),
24138         (gst_pipeline_get_clock), (gst_pipeline_use_clock),
24139         (gst_pipeline_set_clock), (gst_pipeline_auto_clock):
24140         * gst/gstutils.h:
24141         * gst/schedulers/entryscheduler.c:
24142         * gst/schedulers/gstbasicscheduler.c:
24143         (gst_basic_scheduler_cothreaded_chain),
24144         (gst_basic_scheduler_chain_add_element):
24145         * testsuite/bins/interface.c: (main):
24146         Added GstBin test.
24147         Added GstSystemClock test.
24148         Implemented clock distribution code in GstBin.
24149         Implemented iterate sinks method for future use.
24150         Rearranged gstelement.h
24151         Fix GstIterator comparison bug.
24152         Moved some code to GstPipeline, mostly clocking related.
24153
24154 2005-03-09  Wim Taymans  <wim@fluendo.com>
24155
24156         * configure.ac:
24157         * gst/gst_private.h:
24158         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
24159         (gst_bin_remove_func), (gst_bin_remove),
24160         (gst_bin_get_by_name_recurse_up):
24161         * gst/gstclock.c: (gst_clock_id_ref), (gst_clock_id_unref),
24162         (gst_clock_id_compare_func), (gst_clock_id_wait),
24163         (gst_clock_id_wait_async), (gst_clock_init),
24164         (gst_clock_adjust_unlocked), (gst_clock_get_time):
24165         * gst/gstelement.h:
24166         * gst/gstinfo.c: (_gst_debug_init):
24167         * gst/gstobject.h:
24168         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
24169         (gst_pad_collectv), (gst_pad_collect_valist), (gst_pad_query):
24170         * gst/gstpad.h:
24171         Bump version number, we're now 0.9.0
24172         Add future debugging category.
24173         Fix NULL _unref() in _get_by_name_recurse_up
24174         Rearrange gstpad.h.
24175         Update some docs.
24176
24177 2005-03-08  Wim Taymans  <wim@fluendo.com>
24178
24179         * gst/elements/gstaggregator.c: (gst_aggregator_class_init):
24180         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
24181         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
24182         * gst/elements/gstfdsink.c: (gst_fdsink_class_init):
24183         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init):
24184         * gst/elements/gstfilesink.c: (gst_filesink_class_init):
24185         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init):
24186         * gst/elements/gstidentity.c: (gst_identity_class_init):
24187         * gst/elements/gstmd5sink.c: (gst_md5sink_class_init):
24188         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
24189         * gst/elements/gstshaper.c: (gst_shaper_class_init):
24190         * gst/elements/gststatistics.c: (gst_statistics_class_init):
24191         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_getcaps),
24192         (gst_tee_link):
24193         * gst/gstelement.c: (gst_element_class_init),
24194         (gst_element_base_class_init), (gst_element_init),
24195         (gst_element_get_random_pad), (gst_element_wait_state_change),
24196         (gst_element_change_state), (gst_element_dispose),
24197         (gst_element_finalize), (gst_element_set_loop_function):
24198         * gst/gstelement.h:
24199         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_link_src):
24200         * gst/gstthread.c: (gst_thread_class_init),
24201         (gst_thread_release_children_locks), (gst_thread_change_state):
24202         * gst/schedulers/gstbasicscheduler.c:
24203         (gst_basic_scheduler_loopfunc_wrapper),
24204         (gst_basic_scheduler_chain_wrapper),
24205         (gst_basic_scheduler_src_wrapper),
24206         (gst_basic_scheduler_remove_element):
24207         * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
24208         Remove threadsafe properties. Fix elements because GObject
24209         complains when installing a property before declaring a
24210         set/get_property handler.
24211         Rearrange gstelement.h file, use STATE macros for state locks.
24212         Free mutexes in the finalize method instead of dispose.
24213
24214 2005-03-08  Wim Taymans  <wim@fluendo.com>
24215
24216         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
24217         * gst/gstthread.c: (gst_thread_release_children_locks):
24218         Added parentage check.
24219         Fix build og GstThread again.
24220
24221 2005-03-08  Wim Taymans  <wim@fluendo.com>
24222
24223         * docs/design/part-MT-refcounting.txt:
24224         * docs/design/part-conventions.txt:
24225         * docs/design/part-gstobject.txt:
24226         * docs/design/part-relations.txt:
24227         * docs/design/part-standards.txt:
24228         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
24229         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_iterate_recurse),
24230         (gst_bin_get_by_name), (gst_bin_get_by_interface),
24231         (gst_bin_iterate_all_by_interface):
24232         * gst/gstbuffer.h:
24233         * gst/gstclock.h:
24234         * gst/gstelement.c: (gst_element_class_init),
24235         (gst_element_change_state), (gst_element_set_loop_function):
24236         * gst/gstelement.h:
24237         * gst/gstiterator.c:
24238         * gst/gstobject.c: (gst_object_class_init), (gst_object_ref),
24239         (gst_object_unref), (gst_object_sink), (gst_object_dispose),
24240         (gst_object_dispatch_properties_changed), (gst_object_set_name),
24241         (gst_object_set_parent), (gst_object_unparent),
24242         (gst_object_check_uniqueness):
24243         * gst/gstobject.h:
24244         Docs updates, clean up some headers.
24245
24246 2005-03-07  Wim Taymans  <wim@fluendo.com>
24247
24248         * check/.cvsignore:
24249         * check/Makefile.am:
24250         * check/gst-libs/.cvsignore:
24251         * check/gst-libs/gdp.c: (START_TEST), (gst_object_suite), (main):
24252         * check/gst/.cvsignore:
24253         * check/gst/gstbus.c: (pound_bus_with_messages), (pull_messages),
24254         (START_TEST), (gstbus_suite), (main):
24255         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite), (main):
24256         * check/gst/gstdata.c: (START_TEST), (thread_ref), (thread_unref),
24257         (gst_data_suite), (main):
24258         * check/gst/gstiterator.c: (make_list_of_ints), (START_TEST),
24259         (add_fold_func), (gstiterator_suite), (main):
24260         * check/gst/gstobject.c: (gst_fake_object_get_type), (START_TEST),
24261         (thread_name_object), (thread_name_object_default),
24262         (gst_object_name_compare), (gst_object_suite), (main):
24263         * check/gst/gstpad.c: (START_TEST), (thread_link_unlink),
24264         (gst_pad_suite), (main):
24265         * check/gstcheck.c: (gst_check_log_message_func),
24266         (gst_check_log_critical_func), (gst_check_init):
24267         * check/gstcheck.h:
24268         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
24269         (run_pipeline), (START_TEST), (simple_launch_lines_suite), (main):
24270         Added checks.
24271
24272 2005-03-07  Wim Taymans  <wim@fluendo.com>
24273
24274         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
24275         (gst_list_iterator_next), (gst_list_iterator_resync),
24276         (gst_list_iterator_free), (gst_iterator_new_list),
24277         (gst_iterator_pop), (gst_iterator_next), (gst_iterator_resync),
24278         (gst_iterator_free), (gst_iterator_push), (filter_next),
24279         (filter_resync), (filter_uninit), (filter_free),
24280         (gst_iterator_filter), (gst_iterator_fold), (foreach_fold_func),
24281         (gst_iterator_foreach), (find_custom_fold_func),
24282         (gst_iterator_find_custom):
24283         * gst/gstiterator.h:
24284         Added missing files.
24285
24286 2005-03-07  Wim Taymans  <wim@fluendo.com>
24287
24288         * Makefile.am:
24289         * configure.ac:
24290         * docs/design/part-MT-refcounting.txt:
24291         * docs/design/part-conventions.txt:
24292         * docs/design/part-gstobject.txt:
24293         * docs/design/part-relations.txt:
24294         * examples/mixer/mixer.c: (main):
24295         * examples/thread/thread.c: (eos), (main):
24296         * gst/Makefile.am:
24297         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
24298         * gst/autoplug/gstspider.c: (gst_spider_identity_plug),
24299         (gst_spider_plug_from_srcpad):
24300         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps),
24301         (gst_spider_identity_change_state),
24302         (gst_spider_identity_sink_loop_type_finding):
24303         * gst/elements/gstfakesrc.c: (gst_fakesrc_loop):
24304         * gst/elements/gstidentity.c: (gst_identity_init):
24305         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_getcaps),
24306         (gst_tee_link), (gst_tee_request_new_pad), (gst_tee_chain):
24307         * gst/elements/gsttypefindelement.c: (free_entry):
24308         * gst/gst.c:
24309         * gst/gst.h:
24310         * gst/gstbin.c: (gst_bin_init), (gst_bin_get_clock_func),
24311         (gst_bin_set_clock_func), (gst_bin_auto_clock),
24312         (gst_bin_set_index), (gst_bin_set_element_sched),
24313         (gst_bin_unset_element_sched), (gst_bin_add_func), (gst_bin_add),
24314         (gst_bin_remove_func), (gst_bin_remove), (iterate_child),
24315         (gst_bin_iterate_elements), (iterate_child_recurse),
24316         (gst_bin_iterate_recurse), (gst_bin_dispose), (compare_name),
24317         (gst_bin_get_by_name), (gst_bin_get_by_name_recurse_up),
24318         (compare_interface), (gst_bin_get_by_interface),
24319         (gst_bin_iterate_all_by_interface), (gst_bin_iterate_func):
24320         * gst/gstbin.h:
24321         * gst/gstbuffer.c: (gst_buffer_get_type), (_gst_buffer_sub_free),
24322         (gst_buffer_default_free), (gst_buffer_default_copy),
24323         (gst_buffer_new), (gst_buffer_get_caps), (gst_buffer_set_caps),
24324         (gst_buffer_create_sub):
24325         * gst/gstbuffer.h:
24326         * gst/gstcaps.c: (gst_caps_get_type), (gst_caps_new_empty),
24327         (_gst_caps_free), (gst_caps_make_writable), (gst_caps_ref),
24328         (gst_caps_unref), (gst_static_caps_get),
24329         (gst_caps_remove_and_get_structure), (gst_caps_append),
24330         (gst_caps_append_structure), (gst_caps_remove_structure),
24331         (gst_caps_copy_nth), (gst_caps_set_simple),
24332         (gst_caps_set_simple_valist), (gst_caps_is_fixed_foreach),
24333         (gst_structure_is_equal_foreach), (gst_caps_is_subset),
24334         (gst_caps_structure_intersect_field), (gst_caps_intersect),
24335         (gst_caps_structure_subtract_field), (gst_caps_subtract),
24336         (gst_caps_normalize_foreach), (gst_caps_compare_structures),
24337         (gst_caps_structure_figure_out_union),
24338         (gst_caps_switch_structures), (gst_caps_do_simplify),
24339         (gst_caps_replace), (gst_caps_from_string),
24340         (gst_caps_copy_conditional):
24341         * gst/gstcaps.h:
24342         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_ref),
24343         (_gst_clock_id_free), (gst_clock_id_unref),
24344         (gst_clock_id_compare_func), (gst_clock_id_wait),
24345         (gst_clock_id_wait_async), (gst_clock_class_init),
24346         (gst_clock_init), (gst_clock_dispose), (gst_clock_adjust_unlocked),
24347         (gst_clock_get_time), (gst_clock_set_time_adjust),
24348         (gst_clock_set_property), (gst_clock_get_property):
24349         * gst/gstclock.h:
24350         * gst/gstcompat.h:
24351         * gst/gstcpu.c: (_gst_cpu_initialize_i386), (gst_cpu_get_flags):
24352         * gst/gstdata.c: (gst_data_is_writable), (gst_data_copy_on_write):
24353         * gst/gstdata.h:
24354         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
24355         (gst_element_requires_clock), (gst_element_provides_clock),
24356         (gst_element_set_clock), (gst_element_clock_wait),
24357         (gst_element_wait), (gst_element_set_time_delay),
24358         (gst_element_is_indexable), (gst_element_add_pad),
24359         (gst_element_add_ghost_pad), (gst_element_remove_pad),
24360         (pad_compare_name), (gst_element_get_static_pad),
24361         (gst_element_request_pad), (gst_element_get_request_pad),
24362         (gst_element_get_pad), (iterate_pad), (gst_element_iterate_pads),
24363         (gst_element_class_get_pad_template_list),
24364         (gst_element_class_get_pad_template), (gst_element_error_func),
24365         (gst_element_get_random_pad), (gst_element_get_event_masks),
24366         (gst_element_send_event), (gst_element_seek),
24367         (gst_element_get_query_types), (gst_element_query),
24368         (gst_element_get_formats), (gst_element_convert),
24369         (gst_element_is_locked_state), (gst_element_set_locked_state),
24370         (gst_element_sync_state_with_parent), (gst_element_change_state),
24371         (gst_element_finalize), (gst_element_yield),
24372         (gst_element_interrupt), (gst_element_set_scheduler),
24373         (gst_element_get_scheduler), (gst_element_set_loop_function):
24374         * gst/gstelement.h:
24375         * gst/gstevent.h:
24376         * gst/gstformat.c: (_gst_format_initialize), (gst_format_register),
24377         (gst_format_get_by_nick), (gst_format_get_details),
24378         (gst_format_iterate_definitions):
24379         * gst/gstformat.h:
24380         * gst/gstindex.c: (gst_index_gtype_resolver):
24381         * gst/gstinfo.c:
24382         * gst/gstinfo.h:
24383         * gst/gstmemchunk.c: (gst_mem_chunk_alloc), (gst_mem_chunk_alloc0),
24384         (gst_mem_chunk_free):
24385         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
24386         (gst_object_ref), (gst_object_unref), (gst_object_sink),
24387         (gst_object_replace), (gst_object_dispose), (gst_object_finalize),
24388         (gst_object_dispatch_properties_changed),
24389         (gst_object_set_name_default), (gst_object_set_name),
24390         (gst_object_get_name), (gst_object_set_name_prefix),
24391         (gst_object_get_name_prefix), (gst_object_set_parent),
24392         (gst_object_get_parent), (gst_object_unparent),
24393         (gst_object_check_uniqueness), (gst_object_save_thyself),
24394         (gst_object_restore_thyself), (gst_object_real_restore_thyself),
24395         (gst_object_set_property), (gst_object_get_property),
24396         (gst_object_get_path_string):
24397         * gst/gstobject.h:
24398         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
24399         (gst_real_pad_init), (gst_real_pad_get_property),
24400         (gst_pad_custom_new), (gst_pad_get_direction),
24401         (gst_pad_set_active), (gst_pad_is_active),
24402         (gst_pad_set_event_function), (gst_pad_is_linked),
24403         (gst_pad_link_free), (gst_pad_link_intersect),
24404         (gst_pad_link_fixate), (gst_pad_set_caps),
24405         (gst_pad_try_set_caps_nonfixed), (gst_pad_set_pad_template),
24406         (gst_pad_get_real_parent), (gst_pad_add_ghost_pad),
24407         (gst_pad_remove_ghost_pad), (_gst_pad_default_fixate_foreach),
24408         (gst_pad_link_unnegotiate), (gst_pad_proxy_fixate),
24409         (gst_pad_get_caps), (gst_pad_peer_get_caps),
24410         (gst_pad_get_pad_template_caps), (gst_pad_get_peer),
24411         (gst_pad_realize), (gst_pad_get_allowed_caps),
24412         (gst_real_pad_dispose), (gst_real_pad_finalize),
24413         (gst_pad_collectv), (gst_pad_collect_valist),
24414         (gst_pad_template_dispose), (gst_pad_template_new),
24415         (gst_pad_get_internal_links):
24416         * gst/gstpad.h:
24417         * gst/gstpipeline.c: (gst_pipeline_dispose),
24418         (gst_pipeline_change_state):
24419         * gst/gstpipeline.h:
24420         * gst/gstplugin.c:
24421         * gst/gstpluginfeature.c: (gst_plugin_feature_get_name),
24422         (gst_plugin_feature_set_rank), (gst_plugin_feature_get_rank):
24423         * gst/gstpluginfeature.h:
24424         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
24425         * gst/gstquery.c: (_gst_query_type_initialize),
24426         (gst_query_type_register), (gst_query_type_get_by_nick),
24427         (gst_query_type_get_details), (gst_query_type_iterate_definitions):
24428         * gst/gstquery.h:
24429         * gst/gstqueue.c: (gst_queue_link_sink), (gst_queue_link_src):
24430         * gst/gstscheduler.c: (gst_scheduler_add_element),
24431         (gst_scheduler_factory_create):
24432         * gst/gststructure.c: (gst_structure_set_parent_refcount),
24433         (gst_structure_free), (gst_structure_set_name),
24434         (gst_structure_id_set_value), (gst_structure_set_value),
24435         (gst_structure_set_valist), (gst_structure_remove_field),
24436         (gst_structure_remove_fields),
24437         (gst_structure_remove_fields_valist),
24438         (gst_structure_remove_all_fields), (gst_structure_foreach),
24439         (gst_structure_map_in_place),
24440         (gst_caps_structure_fixate_field_nearest_int),
24441         (gst_caps_structure_fixate_field_nearest_double):
24442         * gst/gststructure.h:
24443         * gst/gstsystemclock.c: (gst_system_clock_class_init),
24444         (gst_system_clock_init), (gst_system_clock_dispose),
24445         (gst_system_clock_async_thread),
24446         (gst_system_clock_id_wait_unlocked), (gst_system_clock_id_wait),
24447         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
24448         * gst/gstsystemclock.h:
24449         * gst/gsttag.c: (gst_tag_list_add_value_internal),
24450         (gst_tag_list_copy_foreach), (structure_foreach_wrapper):
24451         * gst/gsttaginterface.c:
24452         * gst/gstthread.c: (gst_thread_dispose),
24453         (gst_thread_release_children_locks), (gst_thread_change_state),
24454         (gst_thread_main_loop):
24455         * gst/gsttrashstack.h:
24456         * gst/gsttypefind.c: (gst_type_find_factory_dispose):
24457         * gst/gsttypes.h:
24458         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
24459         (gst_element_request_pad), (gst_element_get_pad_from_template),
24460         (gst_element_request_compatible_pad),
24461         (gst_element_get_compatible_pad_filtered),
24462         (gst_element_get_compatible_pad), (gst_element_state_get_name),
24463         (gst_element_link_pads_filtered), (gst_element_link_filtered),
24464         (gst_element_link_many), (gst_element_link),
24465         (gst_element_link_pads), (gst_element_unlink_pads),
24466         (gst_element_unlink_many), (gst_element_unlink),
24467         (gst_pad_can_link_filtered), (gst_pad_can_link),
24468         (gst_pad_use_fixed_caps), (gst_pad_get_fixed_caps_func),
24469         (gst_object_default_error), (gst_bin_add_many),
24470         (gst_bin_remove_many), (gst_element_populate_std_props),
24471         (gst_element_class_install_std_props), (gst_buffer_merge),
24472         (gst_buffer_stamp), (intersect_caps_func), (gst_pad_proxy_getcaps),
24473         (link_fold_func), (gst_pad_proxy_setcaps):
24474         * gst/gstutils.h:
24475         * gst/gstvalue.c: (gst_value_deserialize_string):
24476         * gst/parse/grammar.y:
24477         * gst/schedulers/gstbasicscheduler.c:
24478         (gst_basic_scheduler_cothreaded_chain),
24479         (gst_basic_scheduler_chain_recursive_add),
24480         (gst_basic_scheduler_pad_link):
24481         * gst/schedulers/gstoptimalscheduler.c:
24482         (get_group_schedule_function),
24483         (gst_opt_scheduler_state_transition),
24484         (gst_opt_scheduler_add_element), (element_get_reachables_func):
24485         * libs/gst/bytestream/bytestream.c:
24486         * libs/gst/dataprotocol/dataprotocol.c:
24487         (gst_dp_header_from_buffer):
24488         * po/nb.po:
24489         * po/ru.po:
24490         * tests/threadstate/threadstate2.c: (eos):
24491         * tools/gst-compprep.c: (main):
24492         * tools/gst-inspect.c: (print_field), (print_element_flag_info),
24493         (print_pad_info), (print_children_info):
24494         * tools/gst-launch.c: (idle_func), (main):
24495         * tools/gst-md5sum.c: (idle_func), (main):
24496         * tools/gst-xmlinspect.c: (print_element_info):
24497         First THREADED backport attempt, focusing on adding locks and
24498         making sure the API is threadsafe. Needs more work. More docs
24499         follow this week.
24500
24501 2005-02-24  Andy Wingo  <wingo@pobox.com>
24502
24503         * tests/bench-complexity.scm:
24504         * tests/complexity.gnuplot: New files, good for running complexity
24505         benchmarks.
24506
24507         * tests/Makefile.am:
24508         * tests/complexity.c: New test, sets up N elements, at each level
24509         teeing into M streams per element. Eeeenteresting.
24510
24511         * tests/mass_elements.gnuplot: gnuplot file for the mass_elements
24512         benchmark. Run as gnuplot mass_elements.gnuplot > foo.ps, after
24513         running bench-mass_elements.scm.
24514
24515         * tests/bench-mass_elements.scm: New script, runs mass_elements
24516         for various numbers of identities, outputting the results to a
24517         file. Requires guile 1.6. Just for testing.
24518
24519 2005-02-23  Thomas Vander Stichele  <thomas at apestaart dot org>
24520
24521         * gst/schedulers/fairscheduler.c:
24522           compile with debug disabled
24523
24524 2005-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
24525
24526         * configure.ac:
24527           hunting season on 0.9 is now OPEN